From 753e93caf1320be9317a2148fb8b1a6065134551 Mon Sep 17 00:00:00 2001 From: Konstantin Baierer <unixprog@gmail.com> Date: Mon, 21 Oct 2019 20:35:04 +0200 Subject: [PATCH] update project list item view to show ocrd-tool validation --- webapp/dist/build.js | 2072 +++++++++++++++++++++++++++- webapp/src/OcrdProjectListItem.vue | 7 +- 2 files changed, 2036 insertions(+), 43 deletions(-) diff --git a/webapp/dist/build.js b/webapp/dist/build.js index 7c8826a..a0c062c 100644 --- a/webapp/dist/build.js +++ b/webapp/dist/build.js @@ -1,41 +1,2031 @@ -!function(t){function e(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var r={};e.m=t,e.c=r,e.d=function(t,r,o){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist/",e(e.s=223)}([function(t,e,r){"use strict";var o=r(50);e.a=o.default},function(t,e,r){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}r.d(e,"n",function(){return c}),r.d(e,"g",function(){return u}),r.d(e,"o",function(){return d}),r.d(e,"f",function(){return p}),r.d(e,"b",function(){return f}),r.d(e,"m",function(){return b}),r.d(e,"h",function(){return m}),r.d(e,"c",function(){return h}),r.d(e,"d",function(){return g}),r.d(e,"e",function(){return v}),r.d(e,"l",function(){return y}),r.d(e,"k",function(){return w});var n=r(7),i=r(8),a=r(17);r.d(e,"a",function(){return n.d}),r.d(e,"i",function(){return i.h}),r.d(e,"j",function(){return i.i});var s=function(t){return o(t)},l=function(t){return Object.prototype.toString.call(t).slice(8,-1)},c=function(t){return void 0===t},u=function(t){return null===t},d=function(t){return c(t)||u(t)},p=function(t){return"function"===s(t)},f=function(t){return"boolean"===s(t)},b=function(t){return"string"===s(t)},m=function(t){return"number"===s(t)},h=function(t){return t instanceof Date},g=function(t){return t instanceof Event},v=function(t){return t instanceof a.a},y=function(t){return"RegExp"===l(t)},w=function(t){return!d(t)&&p(t.then)&&p(t.catch)}},function(t,e,r){"use strict";function o(t,e){return e?e.toUpperCase():""}function n(t){for(var e,r={},n=0,i=t.split(s.styleList);n<i.length;n++){var a=i[n].split(s.styleProp),l=a[0],c=a[1];(l=l.trim())&&("string"==typeof c&&(c=c.trim()),r[(e=l,e.replace(s.kebab,o))]=c)}return r}function i(){for(var t,e,r={},o=arguments.length;o--;)for(var i=0,s=Object.keys(arguments[o]);i<s.length;i++)switch(t=s[i]){case"class":case"style":case"directives":if(Array.isArray(r[t])||(r[t]=[]),"style"===t){var l=void 0;l=Array.isArray(arguments[o].style)?arguments[o].style:[arguments[o].style];for(var c=0;c<l.length;c++){var u=l[c];"string"==typeof u&&(l[c]=n(u))}arguments[o].style=l}r[t]=r[t].concat(arguments[o][t]);break;case"staticClass":if(!arguments[o][t])break;void 0===r[t]&&(r[t]=""),r[t]&&(r[t]+=" "),r[t]+=arguments[o][t].trim();break;case"on":case"nativeOn":r[t]||(r[t]={});for(var d=0,p=Object.keys(arguments[o][t]||{});d<p.length;d++)e=p[d],r[t][e]?r[t][e]=[].concat(r[t][e],arguments[o][t][e]):r[t][e]=arguments[o][t][e];break;case"attrs":case"props":case"domProps":case"scopedSlots":case"staticStyle":case"hook":case"transition":r[t]||(r[t]={}),r[t]=a({},arguments[o][t],r[t]);break;case"slot":case"key":case"ref":case"tag":case"show":case"keepAlive":default:r[t]||(r[t]=arguments[o][t])}return r}r.d(e,"a",function(){return i});var a=function(){return(a=Object.assign||function(t){for(var e,r=1,o=arguments.length;r<o;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)},s={kebab:/-(\w)/g,styleProp:/:(.*)/,styleList:/;(?![^(]*\))/g}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d}),r.d(e,"b",function(){return p});var a=r(0),s=r(13),l=r(247),c=r(10),u=function(){var t=!1,e=["Multiple instances of Vue detected!","You may need to set up an alias for Vue in your bundler config.","See: https://bootstrap-vue.js.org/docs#using-module-bundlers"].join("\n");return function(r){t||a.a===r||c.k||Object(s.a)(e),t=!0}}(),d=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.components,r=t.directives,o=t.plugins,n=function t(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.installed||(t.installed=!0,u(n),Object(l.a)(i,n),m(n,e),g(n,r),f(n,o))};return n.installed=!1,n},p=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{install:d(t)})},f=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var r in e)r&&e[r]&&t.use(e[r])},b=function(t,e,r){t&&e&&r&&t.component(e,r)},m=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var r in e)b(t,r,e[r])},h=function(t,e,r){t&&e&&r&&t.directive(e.replace(/^VB/,"B"),r)},g=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var r in e)h(t,r,e[r])}},function(t,e,r){"use strict";r.d(e,"c",function(){return u}),r.d(e,"a",function(){return d}),r.d(e,"b",function(){return b});var o=r(0),n=r(51),i=r(33),a=r(52),s=r(99),l=o.a.prototype,c=function(t){return l.$bvConfig?l.$bvConfig.getConfigValue(t):Object(n.a)(Object(i.a)(s.a,t))},u=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e?c("".concat(t,".").concat(e)):c(t)||{}},d=function(){return c("breakpoints")},p=Object(a.a)(function(){return d()}),f=function(){return Object(n.a)(p())},b=Object(a.a)(function(){var t=f();return t[0]="",t})},function(t,e,r){"use strict";var o=r(18),n=r(7);e.a={methods:{hasNormalizedSlot:function(t){return Object(o.a)(t,this.$scopedSlots,this.$slots)},normalizeSlot:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Object(o.b)(t,e,this.$scopedSlots,this.$slots);return r?Object(n.b)(r):r}}}},function(t,e,r){"use strict";r.d(e,"w",function(){return d}),r.d(e,"a",function(){return p}),r.d(e,"f",function(){return b}),r.d(e,"e",function(){return m}),r.d(e,"o",function(){return h}),r.d(e,"p",function(){return g}),r.d(e,"n",function(){return v}),r.d(e,"t",function(){return y}),r.d(e,"y",function(){return w}),r.d(e,"x",function(){return x}),r.d(e,"q",function(){return O}),r.d(e,"c",function(){return k}),r.d(e,"d",function(){return j}),r.d(e,"i",function(){return S}),r.d(e,"b",function(){return _}),r.d(e,"v",function(){return T}),r.d(e,"m",function(){return P}),r.d(e,"z",function(){return C}),r.d(e,"u",function(){return $}),r.d(e,"g",function(){return B}),r.d(e,"l",function(){return E}),r.d(e,"h",function(){return D}),r.d(e,"j",function(){return A}),r.d(e,"k",function(){return I}),r.d(e,"r",function(){return z}),r.d(e,"s",function(){return F});var o=r(7),n=r(10),i=r(1),a=n.i?window:{},s=n.b?document:{},l="undefined"!=typeof Element?Element.prototype:{},c=l.matches||l.msMatchesSelector||l.webkitMatchesSelector,u=l.closest||function(t){var e=this;do{if(O(e,t))return e;e=e.parentElement||e.parentNode}while(!Object(i.g)(e)&&e.nodeType===Node.ELEMENT_NODE);return null},d=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.msRequestAnimationFrame||a.oRequestAnimationFrame||function(t){return setTimeout(t,16)},p=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver||null,f=function(t){return n.e?Object(i.i)(t)?t:{useCapture:Boolean(t||!1)}:Boolean(Object(i.i)(t)?t.useCapture:t)},b=function(t,e,r,o){t&&t.addEventListener&&t.addEventListener(e,r,f(o))},m=function(t,e,r,o){t&&t.removeEventListener&&t.removeEventListener(e,r,f(o))},h=function(t){return Boolean(t&&t.nodeType===Node.ELEMENT_NODE)},g=function(t){if(!h(t)||!j(s.body,t))return!1;if("none"===t.style.display)return!1;var e=D(t);return Boolean(e&&e.height>0&&e.width>0)},v=function(t){return!h(t)||t.disabled||Boolean(B(t,"disabled"))||P(t,"disabled")},y=function(t){return h(t)&&t.offsetHeight},w=function(t,e){return Object(o.c)((h(e)?e:s).querySelectorAll(t))},x=function(t,e){return(h(e)?e:s).querySelector(t)||null},O=function(t,e){return!!h(t)&&c.call(t,e)},k=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!h(e))return null;var o=u.call(e,t);return r?o:o===e?null:o},j=function(t,e){return!(!t||!Object(i.f)(t.contains))&&t.contains(e)},S=function(t){return s.getElementById(/^#/.test(t)?t.slice(1):t)||null},_=function(t,e){e&&h(t)&&t.classList&&t.classList.add(e)},T=function(t,e){e&&h(t)&&t.classList&&t.classList.remove(e)},P=function(t,e){return!!(e&&h(t)&&t.classList)&&t.classList.contains(e)},C=function(t,e,r){e&&h(t)&&t.setAttribute(e,r)},$=function(t,e){e&&h(t)&&t.removeAttribute(e)},B=function(t,e){return e&&h(t)?t.getAttribute(e):null},E=function(t,e){return e&&h(t)?t.hasAttribute(e):null},D=function(t){return h(t)?t.getBoundingClientRect():null},A=function(t){return n.i&&h(t)?a.getComputedStyle(t):{}},I=function(){return n.i&&a.getSelection?a.getSelection():null},z=function(t){var e={top:0,left:0};if(!h(t)||0===t.getClientRects().length)return e;var r=D(t);if(r){var o=t.ownerDocument.defaultView;e.top=r.top+o.pageYOffset,e.left=r.left+o.pageXOffset}return e},F=function(t){var e={top:0,left:0};if(!h(t))return e;var r={top:0,left:0},o=A(t);if("fixed"===o.position)e=D(t)||e;else{e=z(t);for(var n=t.ownerDocument,i=t.offsetParent||n.documentElement;i&&(i===n.body||i===n.documentElement)&&"static"===A(i).position;)i=i.parentNode;if(i&&i!==t&&i.nodeType===Node.ELEMENT_NODE){r=z(i);var a=A(i);r.top+=parseFloat(a.borderTopWidth),r.left+=parseFloat(a.borderLeftWidth)}}return{top:e.top-r.top-parseFloat(o.marginTop),left:e.left-r.left-parseFloat(o.marginLeft)}}},function(t,e,r){"use strict";r.d(e,"c",function(){return o}),r.d(e,"d",function(){return n}),r.d(e,"a",function(){return i}),r.d(e,"b",function(){return a});var o=Array.from,n=Array.isArray,i=function(t,e){return-1!==t.indexOf(e)},a=function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return Array.prototype.concat.apply([],e)}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}r.d(e,"a",function(){return l}),r.d(e,"f",function(){return c}),r.d(e,"j",function(){return u}),r.d(e,"d",function(){return d}),r.d(e,"e",function(){return p}),r.d(e,"b",function(){return b}),r.d(e,"g",function(){return m}),r.d(e,"m",function(){return h}),r.d(e,"h",function(){return g}),r.d(e,"i",function(){return v}),r.d(e,"k",function(){return y}),r.d(e,"l",function(){return w}),r.d(e,"c",function(){return x});var s=r(7),l=Object.assign,c=Object.getOwnPropertyNames,u=Object.keys,d=Object.defineProperties,p=Object.defineProperty,f=Object.freeze,b=(Object.getOwnPropertyDescriptor,Object.getOwnPropertySymbols,Object.getPrototypeOf,Object.create),m=(Object.isFrozen,Object.is,function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}),h=function(t){return Object.prototype.toString.call(t)},g=function(t){return null!==t&&"object"===a(t)},v=function(t){return"[object Object]"===Object.prototype.toString.call(t)},y=function(t,e){return u(t).filter(function(t){return-1===e.indexOf(t)}).reduce(function(e,r){return n({},e,i({},r,t[r]))},{})},w=function(){return{enumerable:!0,configurable:!1,writable:!1}},x=function t(e){return u(e).forEach(function(r){var o=e[r];e[r]=o&&(v(o)||Object(s.d)(o))?t(o):o}),f(e)}},function(t,e,r){"use strict";e.a={props:{id:{type:String,default:null}},data:function(){return{localId_:null}},computed:{safeId:function(){var t=this.id||this.localId_;return function(e){return t?(e=String(e||"").replace(/\s+/g,"_"),e?t+"_"+e:t):null}}},mounted:function(){var t=this;this.$nextTick(function(){t.localId_="__BVID__".concat(t._uid)})}}},function(t,e,r){"use strict";(function(t){r.d(e,"i",function(){return o}),r.d(e,"b",function(){return n}),r.d(e,"g",function(){return a}),r.d(e,"d",function(){return s}),r.d(e,"j",function(){return l}),r.d(e,"k",function(){return u}),r.d(e,"e",function(){return d}),r.d(e,"h",function(){return p}),r.d(e,"f",function(){return f}),r.d(e,"c",function(){return b}),r.d(e,"a",function(){return h});var o="undefined"!=typeof window,n="undefined"!=typeof document,i="undefined"!=typeof navigator,a="undefined"!=typeof Promise,s="undefined"!=typeof MutationObserver||"undefined"!=typeof WebKitMutationObserver||"undefined"!=typeof MozMutationObserver,l=o&&n&&i,c=l?window.navigator.userAgent.toLowerCase():"",u=c.indexOf("jsdom")>0,d=(/msie|trident/.test(c),function(){var t=!1;if(l)try{var e={get passive(){t=!0}};window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){t=!1}return t}()),p=l&&("ontouchstart"in document.documentElement||navigator.maxTouchPoints>0),f=l&&Boolean(window.PointerEvent||window.MSPointerEvent),b=l&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype,m=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=void 0!==t&&t?Object({NODE_ENV:"production"})||{}:{};return e?o[e]||r:o},h=function(){return m("BOOTSTRAP_VUE_NO_WARN")}}).call(e,r(93))},function(t,e,r){"use strict";r.d(e,"b",function(){return n}),r.d(e,"a",function(){return i});var o=/(<([^>]+)>)/gi,n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return String(t).replace(o,"")},i=function(t,e){return t?{innerHTML:t}:e?{textContent:e}:{}}},function(t,e,r){"use strict";var o=r(8),n=r(1),i=function(t,e){if(t.length!==e.length)return!1;for(var r=!0,o=0;r&&o<t.length;o++)r=a(t[o],e[o]);return r},a=function t(e,r){if(e===r)return!0;var a=Object(n.c)(e),s=Object(n.c)(r);if(a||s)return!(!a||!s)&&e.getTime()===r.getTime();if(a=Object(n.a)(e),s=Object(n.a)(r),a||s)return!(!a||!s)&&i(e,r);if(a=Object(n.i)(e),s=Object(n.i)(r),a||s){if(!a||!s)return!1;if(Object(o.j)(e).length!==Object(o.j)(r).length)return!1;for(var l in e){var c=e.hasOwnProperty(l),u=r.hasOwnProperty(l);if(c&&!u||!c&&u||!t(e[l],r[l]))return!1}}return String(e)===String(r)};e.a=a},function(t,e,r){"use strict";r.d(e,"b",function(){return n}),r.d(e,"e",function(){return i}),r.d(e,"d",function(){return a}),r.d(e,"c",function(){return s});var o=r(10),n=function(t){Object(o.a)()||console.warn("[BootstrapVue warn]: ".concat(t))},i=function(t){return!o.j&&(n("".concat(t,": Can not be called during SSR.")),!0)},a=function(t){return!o.g&&(n("".concat(t,": Requires Promise support.")),!0)},s=function(t){return!o.d&&(n("".concat(t,": Requires MutationObserver support.")),!0)};e.a=n},function(t,e,r){"use strict";function o(t){return a(t)||i(t)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function i(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function a(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function l(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(r,!0).forEach(function(e){c(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return m}),r.d(e,"a",function(){return h});var u=r(0),d=r(5),p=r(7),f=r(1),b=r(105),m=function(){return{href:{type:String,default:null},rel:{type:String,default:null},target:{type:String,default:"_self"},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},to:{type:[String,Object],default:null},append:{type:Boolean,default:!1},replace:{type:Boolean,default:!1},event:{type:[String,Array],default:"click"},activeClass:{type:String},exact:{type:Boolean,default:!1},exactActiveClass:{type:String},routerTag:{type:String,default:"a"},noPrefetch:{type:Boolean,default:!1}}},h=(m(),u.a.extend({name:"BLink",mixins:[d.a],inheritAttrs:!1,props:m(),computed:{computedTag:function(){return Object(b.c)({to:this.to,disabled:this.disabled},this)},isRouterLink:function(){return Object(b.d)(this.computedTag)},computedRel:function(){return Object(b.b)({target:this.target,rel:this.rel})},computedHref:function(){return Object(b.a)({to:this.to,href:this.href},this.computedTag)},computedProps:function(){return this.isRouterLink?l({},this.$props,{tag:this.routerTag}):{}}},methods:{onClick:function(t){var e=arguments,r=Object(f.d)(t),n=this.isRouterLink,i=this.$listeners.click;r&&this.disabled?(t.stopPropagation(),t.stopImmediatePropagation()):(n&&t.currentTarget.__vue__&&t.currentTarget.__vue__.$emit("click",t),Object(p.b)(i).filter(function(t){return Object(f.f)(t)}).forEach(function(t){t.apply(void 0,o(e))}),this.$root.$emit("clicked::link",t)),r&&(this.disabled||!n&&"#"===this.computedHref)&&t.preventDefault()},focus:function(){this.$el&&this.$el.focus&&this.$el.focus()},blur:function(){this.$el&&this.$el.blur&&this.$el.blur()}},render:function(t){var e=this.computedTag,r=this.computedRel,o=this.computedHref,n=this.isRouterLink,i={class:{active:this.active,disabled:this.disabled},attrs:l({},this.$attrs,{rel:r,target:this.target,tabindex:this.disabled?"-1":Object(f.n)(this.$attrs.tabindex)?null:this.$attrs.tabindex,"aria-disabled":this.disabled?"true":null}),props:this.computedProps};return i[n?"nativeOn":"on"]=l({},this.$listeners,{click:this.onClick}),o?i.attrs.href=o:delete i.props.href,t(e,i,this.normalizeSlot("default"))}}))},function(t,e,r){"use strict";var o=r(104),n=r(1),i=r(8),a=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.a;return(Object(n.a)(t)?t.slice():Object(i.j)(t)).reduce(function(t,o){return t[r(o)]=e[o],t},{})};e.a=a},function(t,e,r){"use strict";var o=r(1);e.a={props:{state:{type:Boolean,default:null}},computed:{computedState:function(){return Object(o.b)(this.state)?this.state:null},stateClass:function(){var t=this.computedState;return!0===t?"is-valid":!1===t?"is-invalid":null}}}},function(t,e,r){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?a(t):e}function a(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&p(t,e)}function l(t){var e="function"==typeof Map?new Map:void 0;return(l=function(t){function r(){return u(t,arguments,f(this).constructor)}if(null===t||!d(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),p(r,t)})(t)}function c(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}function u(t,e,r){return u=c()?Reflect.construct:function(t,e,r){var o=[null];o.push.apply(o,e);var n=Function.bind.apply(t,o),i=new n;return r&&p(i,r.prototype),i},u.apply(null,arguments)}function d(t){return-1!==Function.toString.call(t).indexOf("[native code]")}function p(t,e){return(p=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}r.d(e,"b",function(){return g}),r.d(e,"c",function(){return v}),r.d(e,"a",function(){return y});var b=r(10),m=b.i?window:{},h=b.i?m.Element:function(t){function e(){return n(this,e),i(this,f(e).apply(this,arguments))}return s(e,t),e}(l(Object)),g=b.i?m.HTMLElement:function(t){function e(){return n(this,e),i(this,f(e).apply(this,arguments))}return s(e,t),e}(h),v=b.i?m.SVGElement:function(t){function e(){return n(this,e),i(this,f(e).apply(this,arguments))}return s(e,t),e}(h),y=b.i?m.File:function(t){function e(){return n(this,e),i(this,f(e).apply(this,arguments))}return s(e,t),e}(l(Object))},function(t,e,r){"use strict";r.d(e,"a",function(){return i}),r.d(e,"b",function(){return a});var o=r(7),n=r(1),i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t=Object(o.b)(t).filter(Boolean),t.some(function(t){return e[t]||r[t]})},a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};t=Object(o.b)(t).filter(Boolean);for(var a,s=0;s<t.length&&!a;s++){var l=t[s];a=r[l]||i[l]}return Object(n.f)(a)?a(e):a}},function(t,e,r){"use strict";var o={SPACE:32,ENTER:13,ESC:27,LEFT:37,UP:38,RIGHT:39,DOWN:40,PAGEUP:33,PAGEDOWN:34,HOME:36,END:35,TAB:9,SHIFT:16,CTRL:17,BACKSPACE:8,ALT:18,PAUSE:19,BREAK:19,INSERT:45,INS:45,DELETE:46};e.a=o},function(t,e,r){"use strict";var o=r(6);e.a={props:{name:{type:String},id:{type:String},disabled:{type:Boolean},required:{type:Boolean,default:!1},form:{type:String,default:null},autofocus:{type:Boolean,default:!1}},mounted:function(){this.handleAutofocus()},activated:function(){this.handleAutofocus()},methods:{handleAutofocus:function(){var t=this;this.$nextTick(function(){Object(o.w)(function(){var e=t.$el;t.autofocus&&Object(o.p)(e)&&(Object(o.q)(e,"input, textarea, select")||(e=Object(o.x)("input, textarea, select",e)),e&&e.focus&&e.focus())})})}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={variant:{type:String,default:null}},c=a.a.extend({name:"BTr",mixins:[s.a],inheritAttrs:!1,provide:function(){return{bvTableTr:this}},inject:{bvTableRowGroup:{defaut:function(){return{}}}},props:l,computed:{inTbody:function(){return this.bvTableRowGroup.isTbody},inThead:function(){return this.bvTableRowGroup.isThead},inTfoot:function(){return this.bvTableRowGroup.isTfoot},isDark:function(){return this.bvTableRowGroup.isDark},isStacked:function(){return this.bvTableRowGroup.isStacked},isResponsive:function(){return this.bvTableRowGroup.isResponsive},isStickyHeader:function(){return this.bvTableRowGroup.isStickyHeader},tableVariant:function(){return this.bvTableRowGroup.tableVariant},headVariant:function(){return this.bvTableRowGroup.headVariant},trClasses:function(){return[this.variant?"".concat(this.isDark?"bg":"table","-").concat(this.variant):null]},trAttrs:function(){return n({role:"row"},this.$attrs)}},render:function(t){return t("tr",{class:this.trClasses,attrs:this.trAttrs,on:this.$listeners},this.normalizeSlot("default",{}))}})},function(t,e){function r(t,e){var r=t[1]||"",n=t[3];if(!n)return r;if(e&&"function"==typeof btoa){var i=o(n);return[r].concat(n.sources.map(function(t){return"/*# sourceURL="+n.sourceRoot+t+" */"})).concat([i]).join("\n")}return[r].join("\n")}function o(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var o=r(e,t);return e[2]?"@media "+e[2]+"{"+o+"}":o}).join("")},e.i=function(t,r){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},n=0;n<this.length;n++){var i=this[n][0];"number"==typeof i&&(o[i]=!0)}for(n=0;n<t.length;n++){var a=t[n];"number"==typeof a[0]&&o[a[0]]||(r&&!a[2]?a[2]=r:r&&(a[2]="("+a[2]+") and ("+r+")"),e.push(a))}},e}},function(t,e,r){function o(t){for(var e=0;e<t.length;e++){var r=t[e],o=u[r.id];if(o){o.refs++;for(var n=0;n<o.parts.length;n++)o.parts[n](r.parts[n]);for(;n<r.parts.length;n++)o.parts.push(i(r.parts[n]));o.parts.length>r.parts.length&&(o.parts.length=r.parts.length)}else{for(var a=[],n=0;n<r.parts.length;n++)a.push(i(r.parts[n]));u[r.id]={id:r.id,refs:1,parts:a}}}}function n(){var t=document.createElement("style");return t.type="text/css",d.appendChild(t),t}function i(t){var e,r,o=document.querySelector("style["+g+'~="'+t.id+'"]');if(o){if(b)return m;o.parentNode.removeChild(o)}if(v){var i=f++;o=p||(p=n()),e=a.bind(null,o,i,!1),r=a.bind(null,o,i,!0)}else o=n(),e=s.bind(null,o),r=function(){o.parentNode.removeChild(o)};return e(t),function(o){if(o){if(o.css===t.css&&o.media===t.media&&o.sourceMap===t.sourceMap)return;e(t=o)}else r()}}function a(t,e,r,o){var n=r?"":o.css;if(t.styleSheet)t.styleSheet.cssText=y(e,n);else{var i=document.createTextNode(n),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function s(t,e){var r=e.css,o=e.media,n=e.sourceMap;if(o&&t.setAttribute("media",o),h.ssrId&&t.setAttribute(g,e.id),n&&(r+="\n/*# sourceURL="+n.sources[0]+" */",r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var l="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!l)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var c=r(229),u={},d=l&&(document.head||document.getElementsByTagName("head")[0]),p=null,f=0,b=!1,m=function(){},h=null,g="data-vue-ssr-id",v="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,r,n){b=r,h=n||{};var i=c(t,e);return o(i),function(e){for(var r=[],n=0;n<i.length;n++){var a=i[n],s=u[a.id];s.refs--,r.push(s)}e?(i=c(t,e),o(i)):i=[];for(var n=0;n<r.length;n++){var s=r[n];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete u[s.id]}}}};var y=function(){var t=[];return function(e,r){return t[e]=r,t.filter(Boolean).join("\n")}}()},function(t,e,r){"use strict";var o=r(4);e.a={props:{size:{type:String,default:function(){return Object(o.c)("formControls","size")}}},computed:{sizeFormClass:function(){return[this.size?"form-control-".concat(this.size):null]},sizeBtnClass:function(){return[this.size?"btn-".concat(this.size):null]}}}},function(t,e){var r;r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict";var o=r(1),n=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Object(o.o)(t)?"":Object(o.a)(t)||Object(o.j)(t)&&t.toString===Object.prototype.toString?JSON.stringify(t,null,e):String(t)};e.a=n},function(t,e,r){"use strict";e.a={methods:{listenOnRoot:function(t,e){var r=this;return this.$root.$on(t,e),this.$on("hook:beforeDestroy",function(){r.$root.$off(t,e)}),this},listenOnRootOnce:function(t,e){var r=this;return this.$root.$once(t,e),this.$on("hook:beforeDestroy",function(){r.$root.$off(t,e)}),this},emitOnRoot:function(t){for(var e,r=arguments.length,o=new Array(r>1?r-1:0),n=1;n<r;n++)o[n-1]=arguments[n];return(e=this.$root).$emit.apply(e,[t].concat(o)),this}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return b});var a=r(0),s=r(26),l=r(1),c=r(5),u=/^\d+$/,d=function(t){return t=parseInt(t,10),u.test(String(t))&&t>0?t:null},p=function(t){return Object(l.o)(t)||d(t)>0},f={variant:{type:String,default:null},colspan:{type:[Number,String],default:null,validator:p},rowspan:{type:[Number,String],default:null,validator:p},stackedHeading:{type:String,default:null},stickyColumn:{type:Boolean,default:!1}},b=a.a.extend({name:"BTableCell",mixins:[c.a],inheritAttrs:!1,inject:{bvTableTr:{default:function(){return{}}}},props:f,computed:{tag:function(){return"td"},inTbody:function(){return this.bvTableTr.inTbody},inThead:function(){return this.bvTableTr.inThead},inTfoot:function(){return this.bvTableTr.inTfoot},isDark:function(){return this.bvTableTr.isDark},isStacked:function(){return this.bvTableTr.isStacked},isStackedCell:function(){return this.inTbody&&this.isStacked},isResponsive:function(){return this.bvTableTr.isResponsive},isStickyHeader:function(){return this.bvTableTr.isStickyHeader},isStickyColumn:function(){return!this.isStacked&&(this.isResponsive||this.isStickyHeader)&&this.stickyColumn},rowVariant:function(){return this.bvTableTr.variant},headVariant:function(){return this.bvTableTr.headVariant},footVariant:function(){return this.bvTableTr.footVariant},tableVariant:function(){return this.bvTableTr.tableVariant},computedColspan:function(){return d(this.colspan)},computedRowspan:function(){return d(this.rowspan)},cellClasses:function(){var t=this.variant;return(!t&&this.isStickyHeader&&!this.headVariant||!t&&this.isStickyColumn)&&(t=this.rowVariant||this.tableVariant||"b-table-default"),[t?"".concat(this.isDark?"bg":"table","-").concat(t):null,this.isStickyColumn?"b-table-sticky-column":null]},cellAttrs:function(){var t=this.inThead||this.inTfoot,e=this.computedColspan,r=this.computedRowspan,o="cell",i=null;return t?(o="columnheader",i=e>0?"colspan":"col"):"th"===this.tag&&(o="rowheader",i=r>0?"rowgroup":"row"),n({colspan:e,rowspan:r,role:o,scope:i},this.$attrs,{"data-label":this.isStackedCell&&!Object(l.o)(this.stackedHeading)?Object(s.a)(this.stackedHeading):null})}},render:function(t){var e=[this.normalizeSlot("default")];return t(this.tag,{class:this.cellClasses,attrs:this.cellAttrs,on:this.$listeners},[this.isStackedCell?t("div",[e]):e])}})},function(t,e){t.exports=function(t,e,r,o,n,i){var a,s=t=t||{},l=typeof t.default;"object"!==l&&"function"!==l||(a=t,s=t.default);var c="function"==typeof s?s.options:s;e&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0),r&&(c.functional=!0),n&&(c._scopeId=n);var u;if(i?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},c._ssrRegister=u):o&&(u=o),u){var d=c.functional,p=d?c.render:c.beforeCreate;d?(c._injectStyles=u,c.render=function(t,e){return u.call(e),p(t,e)}):c.beforeCreate=p?[].concat(p,u):[u]}return{esModule:a,exports:s,options:c}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var a=r(0),s=r(2),l=r(1),c={name:"",enterClass:"",enterActiveClass:"",enterToClass:"show",leaveClass:"show",leaveActiveClass:"",leaveToClass:""},u=n({},c,{enterActiveClass:"fade",leaveActiveClass:"fade"}),d=a.a.extend({name:"BVTransition",functional:!0,props:{noFade:{type:Boolean,default:!1},appear:{type:Boolean,default:!1},mode:{type:String},transProps:{type:Object,default:null}},render:function(t,e){var r=e.children,o=e.data,i=(e.listeners,e.props),a=i.transProps;return Object(l.j)(a)||(a=i.noFade?c:u,i.appear&&(a=n({},a,{appear:!0,appearClass:a.enterClass,appearActiveClass:a.enterActiveClass,appearToClass:a.enterToClass}))),a=n({mode:i.mode},a,{css:!0}),t("transition",Object(s.a)(o,{props:a}),r)}});e.b=d},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var n=r(0),i=r(2),a=r(4),s=r(1),l=r(18),c="BButtonClose",u={disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:function(){return Object(a.c)(c,"ariaLabel")}},textVariant:{type:String,default:function(){return Object(a.c)(c,"textVariant")}}},d=n.a.extend({name:c,functional:!0,props:u,render:function(t,e){var r=e.props,n=e.data,a=(e.listeners,e.slots),c=e.scopedSlots,u=a(),d=c||{},p={staticClass:"close",class:o({},"text-".concat(r.textVariant),r.textVariant),attrs:{type:"button",disabled:r.disabled,"aria-label":r.ariaLabel?String(r.ariaLabel):null},on:{click:function(t){r.disabled&&Object(s.d)(t)&&(t.stopPropagation(),t.preventDefault())}}};return Object(l.a)("default",d,u)||(p.domProps={innerHTML:"×"}),t("button",Object(i.a)(n,p),Object(l.b)("default",{},d,u))}})},function(t,e,r){"use strict";var o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t?t.$options._scopeId||e:e};e.a=o},function(t,e,r){"use strict";var o=r(1),n=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!(e=Object(o.a)(e)?e.join("."):e)||!Object(o.i)(t))return r;if(e in t)return t[e];e=String(e).replace(/\[(\d+)]/g,".$1");var n=e.split(".").filter(Boolean);return 0===n.length?r:n.every(function(e){return Object(o.i)(t)&&e in t&&null!=(t=t[e])})?t:r};e.a=n},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return T});var i=r(0),a=r(2),s=r(15),l=r(7),c=r(4),u=r(6),d=r(1),p=r(8),f=r(14),b="BButton",m={block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{type:String,default:function(){return Object(c.c)(b,"size")}},variant:{type:String,default:function(){return Object(c.c)(b,"variant")}},type:{type:String,default:"button"},tag:{type:String,default:"button"},pill:{type:Boolean,default:!1},squared:{type:Boolean,default:!1},pressed:{type:Boolean,default:null}},h=Object(f.b)();delete h.href.default,delete h.to.default;var g=Object(p.j)(h),v=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},h,{},m),y=function(t){"focusin"===t.type?Object(u.b)(t.target,"focus"):"focusout"===t.type&&Object(u.v)(t.target,"focus")},w=function(t){return Boolean(t.href||t.to||t.tag&&"a"===String(t.tag).toLowerCase())},x=function(t){return Object(d.b)(t.pressed)},O=function(t){return!w(t)&&(!t.tag||"button"===String(t.tag).toLowerCase())},k=function(t){return!w(t)&&!O(t)},j=function(t){var e;return["btn-".concat(t.variant||Object(c.c)(b,"variant")),(e={},n(e,"btn-".concat(t.size),Boolean(t.size)),n(e,"btn-block",t.block),n(e,"rounded-pill",t.pill),n(e,"rounded-0",t.squared&&!t.pill),n(e,"disabled",t.disabled),n(e,"active",t.pressed),e)]},S=function(t){return w(t)?Object(s.a)(g,t):null},_=function(t,e){var r=O(t),o=w(t),n=x(t),i=k(t),a=e.attrs&&e.attrs.role?e.attrs.role:null,s=e.attrs?e.attrs.tabindex:null;return i&&(s="0"),{type:r&&!o?t.type:null,disabled:r?t.disabled:null,role:i?"button":a,"aria-disabled":i?String(t.disabled):null,"aria-pressed":n?String(t.pressed):null,autocomplete:n?"off":null,tabindex:t.disabled&&!r?"-1":s}},T=i.a.extend({name:b,functional:!0,props:v,render:function(t,e){var r=e.props,o=e.data,n=e.listeners,i=e.children,s=x(r),c=w(r),u={click:function(t){r.disabled&&Object(d.d)(t)?(t.stopPropagation(),t.preventDefault()):s&&n&&n["update:pressed"]&&Object(l.b)(n["update:pressed"]).forEach(function(t){Object(d.f)(t)&&t(!r.pressed)})}};s&&(u.focusin=y,u.focusout=y);var p={staticClass:"btn",class:j(r),props:S(r),attrs:_(r,o),on:u};return t(c?f.a:r.tag,Object(a.a)(o,p),i)}})},function(t,e,r){"use strict";var o=r(54),n=function(t,e){return t+Object(o.a)(e)};e.a=n},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(104),s=r(1),l=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.a;if(Object(s.a)(t))return t.map(e);var r={};for(var o in t)t.hasOwnProperty(o)&&(r[e(o)]=Object(s.i)(t[o])?n({},t[o]):t[o]);return r};e.a=l},function(t,e,r){"use strict";e.a={props:{tag:{type:String,default:"div"},bgVariant:{type:String,default:null},borderVariant:{type:String,default:null},textVariant:{type:String,default:null}}}},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var n=r(0),i=r(2),a=r(4),s=r(1),l='<svg width="%{w}" height="%{h}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 %{w} %{h}" preserveAspectRatio="none"><rect width="100%" height="100%" style="fill:%{f};"></rect></svg>',c={src:{type:String,default:null},alt:{type:String,default:null},width:{type:[Number,String],default:null},height:{type:[Number,String],default:null},block:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},fluidGrow:{type:Boolean,default:!1},rounded:{type:[Boolean,String],default:!1},thumbnail:{type:Boolean,default:!1},left:{type:Boolean,default:!1},right:{type:Boolean,default:!1},center:{type:Boolean,default:!1},blank:{type:Boolean,default:!1},blankColor:{type:String,default:function(){return Object(a.c)("BImg","blankColor")}}},u=function(t,e,r){return"data:image/svg+xml;charset=UTF-8,".concat(encodeURIComponent(l.replace("%{w}",String(t)).replace("%{h}",String(e)).replace("%{f}",r)))},d=n.a.extend({name:"BImg",functional:!0,props:c,render:function(t,e){var r,n=e.props,a=e.data,l=n.src,c=parseInt(n.width,10)?parseInt(n.width,10):null,d=parseInt(n.height,10)?parseInt(n.height,10):null,p=null,f=n.block;return n.blank&&(!d&&Boolean(c)?d=c:!c&&Boolean(d)&&(c=d),c||d||(c=1,d=1),l=u(c,d,n.blankColor||"transparent")),n.left?p="float-left":n.right?p="float-right":n.center&&(p="mx-auto",f=!0),t("img",Object(i.a)(a,{attrs:{src:l,alt:n.alt,width:c?String(c):null,height:d?String(d):null},class:(r={"img-thumbnail":n.thumbnail,"img-fluid":n.fluid||n.fluidGrow,"w-100":n.fluidGrow,rounded:""===n.rounded||!0===n.rounded},o(r,"rounded-".concat(n.rounded),Object(s.m)(n.rounded)&&""!==n.rounded),o(r,p,Boolean(p)),o(r,"d-block",f),r)}))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(6),s=r(13),l=function(t,e,r){if(t=t?t.$el||t:null,!Object(a.o)(t))return null;if(Object(s.c)("observeDom"))return null;var o=new a.a(function(t){for(var r=!1,o=0;o<t.length&&!r;o++){var n=t[o],i=n.type,a=n.target;"characterData"===i&&a.nodeType===Node.TEXT_NODE?r=!0:"attributes"===i?r=!0:"childList"===i&&(n.addedNodes.length>0||n.removedNodes.length>0)&&(r=!0)}r&&e()});return o.observe(t,n({childList:!0,subtree:!0},r)),o};e.a=l},function(t,e,r){"use strict";r.d(e,"a",function(){return p});var o=r(64),n=r(126),i=r(127),a=r(128),s=r(129),l=r(130),c=r(131),u=r(132),d=r(3),p=Object(d.b)({components:{BDropdown:o.a,BDd:o.a,BDropdownItem:n.a,BDdItem:n.a,BDropdownItemButton:i.a,BDropdownItemBtn:i.a,BDdItemButton:i.a,BDdItemBtn:i.a,BDropdownHeader:a.a,BDdHeader:a.a,BDropdownDivider:s.a,BDdDivider:s.a,BDropdownForm:l.a,BDdForm:l.a,BDropdownText:c.a,BDdText:c.a,BDropdownGroup:u.a,BDdGroup:u.a}})},function(t,e,r){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function i(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}r.d(e,"a",function(){return s});var a=r(8),s=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o(this,t),!e)throw new TypeError("Failed to construct '".concat(this.constructor.name,"'. 1 argument required, ").concat(arguments.length," given."));Object(a.a)(this,t.Defaults,this.constructor.Defaults,r,{type:e}),Object(a.d)(this,{type:Object(a.l)(),cancelable:Object(a.l)(),nativeEvent:Object(a.l)(),target:Object(a.l)(),relatedTarget:Object(a.l)(),vueTarget:Object(a.l)(),componentId:Object(a.l)()});var n=!1;this.preventDefault=function(){this.cancelable&&(n=!0)},Object(a.e)(this,"defaultPrevented",{enumerable:!0,get:function(){return n}})}return i(t,null,[{key:"Defaults",get:function(){return{type:"",cancelable:!0,nativeEvent:null,target:null,relatedTarget:null,vueTarget:null,componentId:null}}}]),t}()},function(t,e,r){"use strict";r.d(e,"b",function(){return i}),r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={id:{type:String,default:null},inline:{type:Boolean,default:!1},novalidate:{type:Boolean,default:!1},validated:{type:Boolean,default:!1}},a=o.a.extend({name:"BForm",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t("form",Object(n.a)(o,{class:{"form-inline":r.inline,"was-validated":r.validated},attrs:{id:r.id,novalidate:r.novalidate}}),i)}})},function(t,e,r){"use strict";var o=r(11),n=r(1),i=r(8);e.a={props:{options:{type:[Array,Object],default:function(){return[]}},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},htmlField:{type:String,default:"html"},disabledField:{type:String,default:"disabled"}},computed:{formOptions:function(){var t=this.options,e=this.valueField,r=this.textField,a=this.htmlField,s=this.disabledField;return Object(n.a)(t)?t.map(function(t){if(Object(n.j)(t)){var i=t[e],l=String(t[r]);return{value:Object(n.n)(i)?l:i,text:Object(o.b)(l),html:t[a],disabled:Boolean(t[s])}}return{value:t,text:Object(o.b)(String(t)),disabled:!1}}):Object(i.j)(t).map(function(i){var l=t[i]||{};if(Object(n.j)(l)){var c=l[e],u=l[r];return{value:Object(n.n)(c)?i:c,text:Object(n.n)(u)?Object(o.b)(String(i)):Object(o.b)(String(u)),html:l[a],disabled:Boolean(l[s])}}return{value:i,text:Object(o.b)(String(l)),disabled:!1}})}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"}},a=o.a.extend({name:"BFormRow",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{staticClass:"form-row"}),i)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return l}),r.d(e,"a",function(){return c});var i=r(0),a=r(2),s=r(46),l={id:{type:String,default:null},tag:{type:String,default:"div"},isText:{type:Boolean,default:!1}},c=i.a.extend({name:"BInputGroupAddon",functional:!0,props:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},l,{append:{type:Boolean,default:!1}}),render:function(t,e){var r=e.props,o=e.data,n=e.children;return t(r.tag,Object(a.a)(o,{class:{"input-group-append":r.append,"input-group-prepend":!r.append},attrs:{id:r.id}}),r.isText?[t(s.a,n)]:n)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"}},a=o.a.extend({name:"BInputGroupText",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{staticClass:"input-group-text"}),i)}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return a}),r.d(e,"a",function(){return l});var n=r(0),i=r(2),a={tag:{type:String,default:"ul"},fill:{type:Boolean,default:!1},justified:{type:Boolean,default:!1},align:{type:String,default:null},tabs:{type:Boolean,default:!1},pills:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},small:{type:Boolean,default:!1},cardHeader:{type:Boolean,default:!1}},s=function(t){return t="left"===t?"start":"right"===t?"end":t,"justify-content-".concat(t)},l=n.a.extend({name:"BNav",functional:!0,props:a,render:function(t,e){var r,n=e.props,a=e.data,l=e.children;return t(n.tag,Object(i.a)(a,{staticClass:"nav",class:(r={"nav-tabs":n.tabs,"nav-pills":n.pills&&!n.tabs,"card-header-tabs":!n.vertical&&n.cardHeader&&n.tabs,"card-header-pills":!n.vertical&&n.cardHeader&&n.pills&&!n.tabs,"flex-column":n.vertical,"nav-fill":!n.vertical&&n.fill,"nav-justified":!n.vertical&&n.justified},o(r,s(n.align),!n.vertical&&n.align),o(r,"small",n.small),r)}),l)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={footVariant:{type:String,default:null}},c=a.a.extend({name:"BTfoot",mixins:[s.a],inheritAttrs:!1,provide:function(){return{bvTableRowGroup:this}},inject:{bvTable:{default:function(){return{}}}},props:l,computed:{isTfoot:function(){return!0},isDark:function(){return this.bvTable.dark},isStacked:function(){return this.bvTable.isStacked},isResponsive:function(){return this.bvTable.isResponsive},isStickyHeader:function(){return!1},tableVariant:function(){return this.bvTable.tableVariant},tfootClasses:function(){return[this.footVariant?"thead-".concat(this.footVariant):null]},tfootAttrs:function(){return n({role:"rowgroup"},this.$attrs)}},render:function(t){return t("tfoot",{class:this.tfootClasses,attrs:this.tfootAttrs,on:this.$listeners},this.normalizeSlot("default",{}))}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(0),n=r(28),i=o.a.extend({name:"BTh",extends:n.a,computed:{tag:function(){return"th"}}})},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t,r){function o(t){return void 0===t||null===t}function n(t){return void 0!==t&&null!==t}function i(t){return!0===t}function a(t){return!1===t}function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function l(t){return null!==t&&"object"==typeof t}function c(t){return"[object Object]"===Si.call(t)}function u(t){return"[object RegExp]"===Si.call(t)}function d(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function p(t){return n(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function f(t){return null==t?"":Array.isArray(t)||c(t)&&t.toString===Si?JSON.stringify(t,null,2):String(t)}function b(t){var e=parseFloat(t);return isNaN(e)?t:e}function m(t,e){for(var r=Object.create(null),o=t.split(","),n=0;n<o.length;n++)r[o[n]]=!0;return e?function(t){return r[t.toLowerCase()]}:function(t){return r[t]}}function h(t,e){if(t.length){var r=t.indexOf(e);if(r>-1)return t.splice(r,1)}}function g(t,e){return Pi.call(t,e)}function v(t){var e=Object.create(null);return function(r){return e[r]||(e[r]=t(r))}}function y(t,e){function r(r){var o=arguments.length;return o?o>1?t.apply(e,arguments):t.call(e,r):t.call(e)}return r._length=t.length,r}function w(t,e){return t.bind(e)}function x(t,e){e=e||0;for(var r=t.length-e,o=new Array(r);r--;)o[r]=t[r+e];return o}function O(t,e){for(var r in e)t[r]=e[r];return t}function k(t){for(var e={},r=0;r<t.length;r++)t[r]&&O(e,t[r]);return e}function j(t,e,r){}function S(t,e){if(t===e)return!0;var r=l(t),o=l(e);if(!r||!o)return!r&&!o&&String(t)===String(e);try{var n=Array.isArray(t),i=Array.isArray(e);if(n&&i)return t.length===e.length&&t.every(function(t,r){return S(t,e[r])});if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(n||i)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every(function(r){return S(t[r],e[r])})}catch(t){return!1}}function _(t,e){for(var r=0;r<t.length;r++)if(S(t[r],e))return r;return-1}function T(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function P(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function C(t,e,r,o){Object.defineProperty(t,e,{value:r,enumerable:!!o,writable:!0,configurable:!0})}function $(t){if(!Vi.test(t)){var e=t.split(".");return function(t){for(var r=0;r<e.length;r++){if(!t)return;t=t[e[r]]}return t}}}function B(t){return"function"==typeof t&&/native code/.test(t.toString())}function E(t){ua.push(t),ca.target=t}function D(){ua.pop(),ca.target=ua[ua.length-1]}function A(t){return new da(void 0,void 0,void 0,String(t))}function I(t){var e=new da(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}function z(t){ga=t}function F(t,e){t.__proto__=e}function N(t,e,r){for(var o=0,n=r.length;o<n;o++){var i=r[o];C(t,i,e[i])}}function R(t,e){if(l(t)&&!(t instanceof da)){var r;return g(t,"__ob__")&&t.__ob__ instanceof va?r=t.__ob__:ga&&!na()&&(Array.isArray(t)||c(t))&&Object.isExtensible(t)&&!t._isVue&&(r=new va(t)),e&&r&&r.vmCount++,r}}function L(t,e,r,o,n){var i=new ca,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,l=a&&a.set;s&&!l||2!==arguments.length||(r=t[e]);var c=!n&&R(r);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):r;return ca.target&&(i.depend(),c&&(c.dep.depend(),Array.isArray(e)&&H(e))),e},set:function(e){var o=s?s.call(t):r;e===o||e!==e&&o!==o||s&&!l||(l?l.call(t,e):r=e,c=!n&&R(e),i.notify())}})}}function M(t,e,r){if(Array.isArray(t)&&d(e))return t.length=Math.max(t.length,e),t.splice(e,1,r),r;if(e in t&&!(e in Object.prototype))return t[e]=r,r;var o=t.__ob__;return t._isVue||o&&o.vmCount?r:o?(L(o.value,e,r),o.dep.notify(),r):(t[e]=r,r)}function V(t,e){if(Array.isArray(t)&&d(e))return void t.splice(e,1);var r=t.__ob__;t._isVue||r&&r.vmCount||g(t,e)&&(delete t[e],r&&r.dep.notify())}function H(t){for(var e=void 0,r=0,o=t.length;r<o;r++)e=t[r],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&H(e)}function G(t,e){if(!e)return t;for(var r,o,n,i=aa?Reflect.ownKeys(e):Object.keys(e),a=0;a<i.length;a++)"__ob__"!==(r=i[a])&&(o=t[r],n=e[r],g(t,r)?o!==n&&c(o)&&c(n)&&G(o,n):M(t,r,n));return t}function U(t,e,r){return r?function(){var o="function"==typeof e?e.call(r,r):e,n="function"==typeof t?t.call(r,r):t;return o?G(o,n):n}:e?t?function(){return G("function"==typeof e?e.call(this,this):e,"function"==typeof t?t.call(this,this):t)}:e:t}function W(t,e){var r=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return r?q(r):r}function q(t){for(var e=[],r=0;r<t.length;r++)-1===e.indexOf(t[r])&&e.push(t[r]);return e}function K(t,e,r,o){var n=Object.create(t||null);return e?O(n,e):n}function Z(t,e){var r=t.props;if(r){var o,n,i,a={};if(Array.isArray(r))for(o=r.length;o--;)"string"==typeof(n=r[o])&&(i=$i(n),a[i]={type:null});else if(c(r))for(var s in r)n=r[s],i=$i(s),a[i]=c(n)?n:{type:n};t.props=a}}function X(t,e){var r=t.inject;if(r){var o=t.inject={};if(Array.isArray(r))for(var n=0;n<r.length;n++)o[r[n]]={from:r[n]};else if(c(r))for(var i in r){var a=r[i];o[i]=c(a)?O({from:i},a):{from:a}}}}function J(t){var e=t.directives;if(e)for(var r in e){var o=e[r];"function"==typeof o&&(e[r]={bind:o,update:o})}}function Y(t,e,r){function o(o){var n=ya[o]||xa;s[o]=n(t[o],e[o],r,o)}if("function"==typeof e&&(e=e.options),Z(e,r),X(e,r),J(e),!e._base&&(e.extends&&(t=Y(t,e.extends,r)),e.mixins))for(var n=0,i=e.mixins.length;n<i;n++)t=Y(t,e.mixins[n],r);var a,s={};for(a in t)o(a);for(a in e)g(t,a)||o(a);return s}function Q(t,e,r,o){if("string"==typeof r){var n=t[e];if(g(n,r))return n[r];var i=$i(r);if(g(n,i))return n[i];var a=Bi(i);if(g(n,a))return n[a];return n[r]||n[i]||n[a]}}function tt(t,e,r,o){var n=e[t],i=!g(r,t),a=r[t],s=nt(Boolean,n.type);if(s>-1)if(i&&!g(n,"default"))a=!1;else if(""===a||a===Di(t)){var l=nt(String,n.type);(l<0||s<l)&&(a=!0)}if(void 0===a){a=et(o,n,t);var c=ga;z(!0),R(a),z(c)}return a}function et(t,e,r){if(g(e,"default")){var o=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[r]&&void 0!==t._props[r]?t._props[r]:"function"==typeof o&&"Function"!==rt(e.type)?o.call(t):o}}function rt(t){var e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:""}function ot(t,e){return rt(t)===rt(e)}function nt(t,e){if(!Array.isArray(e))return ot(e,t)?0:-1;for(var r=0,o=e.length;r<o;r++)if(ot(e[r],t))return r;return-1}function it(t,e,r){E();try{if(e)for(var o=e;o=o.$parent;){var n=o.$options.errorCaptured;if(n)for(var i=0;i<n.length;i++)try{var a=!1===n[i].call(o,t,e,r);if(a)return}catch(t){st(t,o,"errorCaptured hook")}}st(t,e,r)}finally{D()}}function at(t,e,r,o,n){var i;try{i=r?t.apply(e,r):t.call(e),i&&!i._isVue&&p(i)&&!i._handled&&(i.catch(function(t){return it(t,o,n+" (Promise/async)")}),i._handled=!0)}catch(t){it(t,o,n)}return i}function st(t,e,r){if(Li.errorHandler)try{return Li.errorHandler.call(null,t,e,r)}catch(e){e!==t&<(e,null,"config.errorHandler")}lt(t,e,r)}function lt(t,e,r){if(!Gi&&!Ui||"undefined"==typeof console)throw t;console.error(t)}function ct(){ja=!1;var t=ka.slice(0);ka.length=0;for(var e=0;e<t.length;e++)t[e]()}function ut(t,e){var r;if(ka.push(function(){if(t)try{t.call(e)}catch(t){it(t,e,"nextTick")}else r&&r(e)}),ja||(ja=!0,wa()),!t&&"undefined"!=typeof Promise)return new Promise(function(t){r=t})}function dt(t){pt(t,Ca),Ca.clear()}function pt(t,e){var r,o,n=Array.isArray(t);if(!(!n&&!l(t)||Object.isFrozen(t)||t instanceof da)){if(t.__ob__){var i=t.__ob__.dep.id;if(e.has(i))return;e.add(i)}if(n)for(r=t.length;r--;)pt(t[r],e);else for(o=Object.keys(t),r=o.length;r--;)pt(t[o[r]],e)}}function ft(t,e){function r(){var t=arguments,o=r.fns;if(!Array.isArray(o))return at(o,null,arguments,e,"v-on handler");for(var n=o.slice(),i=0;i<n.length;i++)at(n[i],null,t,e,"v-on handler")}return r.fns=t,r}function bt(t,e,r,n,a,s){var l,c,u,d;for(l in t)c=t[l],u=e[l],d=$a(l),o(c)||(o(u)?(o(c.fns)&&(c=t[l]=ft(c,s)),i(d.once)&&(c=t[l]=a(d.name,c,d.capture)),r(d.name,c,d.capture,d.passive,d.params)):c!==u&&(u.fns=c,t[l]=u));for(l in e)o(t[l])&&(d=$a(l),n(d.name,e[l],d.capture))}function mt(t,e,r){function a(){r.apply(this,arguments),h(s.fns,a)}t instanceof da&&(t=t.data.hook||(t.data.hook={}));var s,l=t[e];o(l)?s=ft([a]):n(l.fns)&&i(l.merged)?(s=l,s.fns.push(a)):s=ft([l,a]),s.merged=!0,t[e]=s}function ht(t,e,r){var i=e.options.props;if(!o(i)){var a={},s=t.attrs,l=t.props;if(n(s)||n(l))for(var c in i){var u=Di(c);gt(a,l,c,u,!0)||gt(a,s,c,u,!1)}return a}}function gt(t,e,r,o,i){if(n(e)){if(g(e,r))return t[r]=e[r],i||delete e[r],!0;if(g(e,o))return t[r]=e[o],i||delete e[o],!0}return!1}function vt(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function yt(t){return s(t)?[A(t)]:Array.isArray(t)?xt(t):void 0}function wt(t){return n(t)&&n(t.text)&&a(t.isComment)}function xt(t,e){var r,a,l,c,u=[];for(r=0;r<t.length;r++)a=t[r],o(a)||"boolean"==typeof a||(l=u.length-1,c=u[l],Array.isArray(a)?a.length>0&&(a=xt(a,(e||"")+"_"+r),wt(a[0])&&wt(c)&&(u[l]=A(c.text+a[0].text),a.shift()),u.push.apply(u,a)):s(a)?wt(c)?u[l]=A(c.text+a):""!==a&&u.push(A(a)):wt(a)&&wt(c)?u[l]=A(c.text+a.text):(i(t._isVList)&&n(a.tag)&&o(a.key)&&n(e)&&(a.key="__vlist"+e+"_"+r+"__"),u.push(a)));return u}function Ot(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}function kt(t){var e=jt(t.$options.inject,t);e&&(z(!1),Object.keys(e).forEach(function(r){L(t,r,e[r])}),z(!0))}function jt(t,e){if(t){for(var r=Object.create(null),o=aa?Reflect.ownKeys(t):Object.keys(t),n=0;n<o.length;n++){var i=o[n];if("__ob__"!==i){for(var a=t[i].from,s=e;s;){if(s._provided&&g(s._provided,a)){r[i]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[i]){var l=t[i].default;r[i]="function"==typeof l?l.call(e):l}}}return r}}function St(t,e){if(!t||!t.length)return{};for(var r={},o=0,n=t.length;o<n;o++){var i=t[o],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(r.default||(r.default=[])).push(i);else{var s=a.slot,l=r[s]||(r[s]=[]);"template"===i.tag?l.push.apply(l,i.children||[]):l.push(i)}}for(var c in r)r[c].every(_t)&&delete r[c];return r}function _t(t){return t.isComment&&!t.asyncFactory||" "===t.text}function Tt(t,e,r){var o,n=Object.keys(e).length>0,i=t?!!t.$stable:!n,a=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(i&&r&&r!==ji&&a===r.$key&&!n&&!r.$hasNormal)return r;o={};for(var s in t)t[s]&&"$"!==s[0]&&(o[s]=Pt(e,s,t[s]))}else o={};for(var l in e)l in o||(o[l]=Ct(e,l));return t&&Object.isExtensible(t)&&(t._normalized=o),C(o,"$stable",i),C(o,"$key",a),C(o,"$hasNormal",n),o}function Pt(t,e,r){var o=function(){var t=arguments.length?r.apply(null,arguments):r({});return t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:yt(t),t&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return r.proxy&&Object.defineProperty(t,e,{get:o,enumerable:!0,configurable:!0}),o}function Ct(t,e){return function(){return t[e]}}function $t(t,e){var r,o,i,a,s;if(Array.isArray(t)||"string"==typeof t)for(r=new Array(t.length),o=0,i=t.length;o<i;o++)r[o]=e(t[o],o);else if("number"==typeof t)for(r=new Array(t),o=0;o<t;o++)r[o]=e(o+1,o);else if(l(t))if(aa&&t[Symbol.iterator]){r=[];for(var c=t[Symbol.iterator](),u=c.next();!u.done;)r.push(e(u.value,r.length)),u=c.next()}else for(a=Object.keys(t),r=new Array(a.length),o=0,i=a.length;o<i;o++)s=a[o],r[o]=e(t[s],s,o);return n(r)||(r=[]),r._isVList=!0,r}function Bt(t,e,r,o){var n,i=this.$scopedSlots[t];i?(r=r||{},o&&(r=O(O({},o),r)),n=i(r)||e):n=this.$slots[t]||e;var a=r&&r.slot;return a?this.$createElement("template",{slot:a},n):n}function Et(t){return Q(this.$options,"filters",t,!0)||zi}function Dt(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function At(t,e,r,o,n){var i=Li.keyCodes[e]||r;return n&&o&&!Li.keyCodes[e]?Dt(n,o):i?Dt(i,t):o?Di(o)!==e:void 0}function It(t,e,r,o,n){if(r)if(l(r)){Array.isArray(r)&&(r=k(r));var i;for(var a in r)!function(a){if("class"===a||"style"===a||Ti(a))i=t;else{var s=t.attrs&&t.attrs.type;i=o||Li.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var l=$i(a),c=Di(a);if(!(l in i||c in i)&&(i[a]=r[a],n)){(t.on||(t.on={}))["update:"+a]=function(t){r[a]=t}}}(a)}else;return t}function zt(t,e){var r=this._staticTrees||(this._staticTrees=[]),o=r[t];return o&&!e?o:(o=r[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),Nt(o,"__static__"+t,!1),o)}function Ft(t,e,r){return Nt(t,"__once__"+e+(r?"_"+r:""),!0),t}function Nt(t,e,r){if(Array.isArray(t))for(var o=0;o<t.length;o++)t[o]&&"string"!=typeof t[o]&&Rt(t[o],e+"_"+o,r);else Rt(t,e,r)}function Rt(t,e,r){t.isStatic=!0,t.key=e,t.isOnce=r}function Lt(t,e){if(e)if(c(e)){var r=t.on=t.on?O({},t.on):{};for(var o in e){var n=r[o],i=e[o];r[o]=n?[].concat(n,i):i}}else;return t}function Mt(t,e,r,o){e=e||{$stable:!r};for(var n=0;n<t.length;n++){var i=t[n];Array.isArray(i)?Mt(i,e,r):i&&(i.proxy&&(i.fn.proxy=!0),e[i.key]=i.fn)}return o&&(e.$key=o),e}function Vt(t,e){for(var r=0;r<e.length;r+=2){var o=e[r];"string"==typeof o&&o&&(t[e[r]]=e[r+1])}return t}function Ht(t,e){return"string"==typeof t?e+t:t}function Gt(t){t._o=Ft,t._n=b,t._s=f,t._l=$t,t._t=Bt,t._q=S,t._i=_,t._m=zt,t._f=Et,t._k=At,t._b=It,t._v=A,t._e=fa,t._u=Mt,t._g=Lt,t._d=Vt,t._p=Ht}function Ut(t,e,r,o,n){var a,s=this,l=n.options;g(o,"_uid")?(a=Object.create(o),a._original=o):(a=o,o=o._original);var c=i(l._compiled),u=!c;this.data=t,this.props=e,this.children=r,this.parent=o,this.listeners=t.on||ji,this.injections=jt(l.inject,o),this.slots=function(){return s.$slots||Tt(t.scopedSlots,s.$slots=St(r,o)),s.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Tt(t.scopedSlots,this.slots())}}),c&&(this.$options=l,this.$slots=this.slots(),this.$scopedSlots=Tt(t.scopedSlots,this.$slots)),l._scopeId?this._c=function(t,e,r,n){var i=te(a,t,e,r,n,u);return i&&!Array.isArray(i)&&(i.fnScopeId=l._scopeId,i.fnContext=o),i}:this._c=function(t,e,r,o){return te(a,t,e,r,o,u)}}function Wt(t,e,r,o,i){var a=t.options,s={},l=a.props;if(n(l))for(var c in l)s[c]=tt(c,l,e||ji);else n(r.attrs)&&Kt(s,r.attrs),n(r.props)&&Kt(s,r.props);var u=new Ut(r,s,i,o,t),d=a.render.call(null,u._c,u);if(d instanceof da)return qt(d,r,u.parent,a,u);if(Array.isArray(d)){for(var p=yt(d)||[],f=new Array(p.length),b=0;b<p.length;b++)f[b]=qt(p[b],r,u.parent,a,u);return f}}function qt(t,e,r,o,n){var i=I(t);return i.fnContext=r,i.fnOptions=o,e.slot&&((i.data||(i.data={})).slot=e.slot),i}function Kt(t,e){for(var r in e)t[$i(r)]=e[r]}function Zt(t,e,r,a,s){if(!o(t)){var c=r.$options._base;if(l(t)&&(t=c.extend(t)),"function"==typeof t){var u;if(o(t.cid)&&(u=t,void 0===(t=se(u,c))))return ae(u,e,r,a,s);e=e||{},Ve(t),n(e.model)&&Qt(t.options,e);var d=ht(e,t,s);if(i(t.options.functional))return Wt(t,d,e,r,a);var p=e.on;if(e.on=e.nativeOn,i(t.options.abstract)){var f=e.slot;e={},f&&(e.slot=f)}Jt(e);var b=t.options.name||s;return new da("vue-component-"+t.cid+(b?"-"+b:""),e,void 0,void 0,void 0,r,{Ctor:t,propsData:d,listeners:p,tag:s,children:a},u)}}}function Xt(t,e){var r={_isComponent:!0,_parentVnode:t,parent:e},o=t.data.inlineTemplate;return n(o)&&(r.render=o.render,r.staticRenderFns=o.staticRenderFns),new t.componentOptions.Ctor(r)}function Jt(t){for(var e=t.hook||(t.hook={}),r=0;r<Da.length;r++){var o=Da[r],n=e[o],i=Ea[o];n===i||n&&n._merged||(e[o]=n?Yt(i,n):i)}}function Yt(t,e){var r=function(r,o){t(r,o),e(r,o)};return r._merged=!0,r}function Qt(t,e){var r=t.model&&t.model.prop||"value",o=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[r]=e.model.value;var i=e.on||(e.on={}),a=i[o],s=e.model.callback;n(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(i[o]=[s].concat(a)):i[o]=s}function te(t,e,r,o,n,a){return(Array.isArray(r)||s(r))&&(n=o,o=r,r=void 0),i(a)&&(n=Ia),ee(t,e,r,o,n)}function ee(t,e,r,o,i){if(n(r)&&n(r.__ob__))return fa();if(n(r)&&n(r.is)&&(e=r.is),!e)return fa();Array.isArray(o)&&"function"==typeof o[0]&&(r=r||{},r.scopedSlots={default:o[0]},o.length=0),i===Ia?o=yt(o):i===Aa&&(o=vt(o));var a,s;if("string"==typeof e){var l;s=t.$vnode&&t.$vnode.ns||Li.getTagNamespace(e),a=Li.isReservedTag(e)?new da(Li.parsePlatformTagName(e),r,o,void 0,void 0,t):r&&r.pre||!n(l=Q(t.$options,"components",e))?new da(e,r,o,void 0,void 0,t):Zt(l,r,t,o,e)}else a=Zt(e,r,t,o);return Array.isArray(a)?a:n(a)?(n(s)&&re(a,s),n(r)&&oe(r),a):fa()}function re(t,e,r){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,r=!0),n(t.children))for(var a=0,s=t.children.length;a<s;a++){var l=t.children[a];n(l.tag)&&(o(l.ns)||i(r)&&"svg"!==l.tag)&&re(l,e,r)}}function oe(t){l(t.style)&&dt(t.style),l(t.class)&&dt(t.class)}function ne(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$vnode=e._parentVnode,o=r&&r.context;t.$slots=St(e._renderChildren,o),t.$scopedSlots=ji,t._c=function(e,r,o,n){return te(t,e,r,o,n,!1)},t.$createElement=function(e,r,o,n){return te(t,e,r,o,n,!0)};var n=r&&r.data;L(t,"$attrs",n&&n.attrs||ji,null,!0),L(t,"$listeners",e._parentListeners||ji,null,!0)}function ie(t,e){return(t.__esModule||aa&&"Module"===t[Symbol.toStringTag])&&(t=t.default),l(t)?e.extend(t):t}function ae(t,e,r,o,n){var i=fa();return i.asyncFactory=t,i.asyncMeta={data:e,context:r,children:o,tag:n},i}function se(t,e){if(i(t.error)&&n(t.errorComp))return t.errorComp;if(n(t.resolved))return t.resolved;var r=za;if(r&&n(t.owners)&&-1===t.owners.indexOf(r)&&t.owners.push(r),i(t.loading)&&n(t.loadingComp))return t.loadingComp;if(r&&!n(t.owners)){var a=t.owners=[r],s=!0,c=null,u=null;r.$on("hook:destroyed",function(){return h(a,r)});var d=function(t){for(var e=0,r=a.length;e<r;e++)a[e].$forceUpdate();t&&(a.length=0,null!==c&&(clearTimeout(c),c=null),null!==u&&(clearTimeout(u),u=null))},f=T(function(r){t.resolved=ie(r,e),s?a.length=0:d(!0)}),b=T(function(e){n(t.errorComp)&&(t.error=!0,d(!0))}),m=t(f,b);return l(m)&&(p(m)?o(t.resolved)&&m.then(f,b):p(m.component)&&(m.component.then(f,b),n(m.error)&&(t.errorComp=ie(m.error,e)),n(m.loading)&&(t.loadingComp=ie(m.loading,e),0===m.delay?t.loading=!0:c=setTimeout(function(){c=null,o(t.resolved)&&o(t.error)&&(t.loading=!0,d(!1))},m.delay||200)),n(m.timeout)&&(u=setTimeout(function(){u=null,o(t.resolved)&&b(null)},m.timeout)))),s=!1,t.loading?t.loadingComp:t.resolved}}function le(t){return t.isComment&&t.asyncFactory}function ce(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var r=t[e];if(n(r)&&(n(r.componentOptions)||le(r)))return r}}function ue(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&be(t,e)}function de(t,e){Ba.$on(t,e)}function pe(t,e){Ba.$off(t,e)}function fe(t,e){var r=Ba;return function o(){null!==e.apply(null,arguments)&&r.$off(t,o)}}function be(t,e,r){Ba=t,bt(e,r||{},de,pe,fe,t),Ba=void 0}function me(t){var e=Fa;return Fa=t,function(){Fa=e}}function he(t){var e=t.$options,r=e.parent;if(r&&!e.abstract){for(;r.$options.abstract&&r.$parent;)r=r.$parent;r.$children.push(t)}t.$parent=r,t.$root=r?r.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function ge(t,e,r){t.$el=e,t.$options.render||(t.$options.render=fa),Oe(t,"beforeMount");var o;return o=function(){t._update(t._render(),r)},new Ka(t,o,j,{before:function(){t._isMounted&&!t._isDestroyed&&Oe(t,"beforeUpdate")}},!0),r=!1,null==t.$vnode&&(t._isMounted=!0,Oe(t,"mounted")),t}function ve(t,e,r,o,n){var i=o.data.scopedSlots,a=t.$scopedSlots,s=!!(i&&!i.$stable||a!==ji&&!a.$stable||i&&t.$scopedSlots.$key!==i.$key),l=!!(n||t.$options._renderChildren||s);if(t.$options._parentVnode=o,t.$vnode=o,t._vnode&&(t._vnode.parent=o),t.$options._renderChildren=n,t.$attrs=o.data.attrs||ji,t.$listeners=r||ji,e&&t.$options.props){z(!1);for(var c=t._props,u=t.$options._propKeys||[],d=0;d<u.length;d++){var p=u[d],f=t.$options.props;c[p]=tt(p,f,e,t)}z(!0),t.$options.propsData=e}r=r||ji;var b=t.$options._parentListeners;t.$options._parentListeners=r,be(t,r,b),l&&(t.$slots=St(n,o.context),t.$forceUpdate())}function ye(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function we(t,e){if(e){if(t._directInactive=!1,ye(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var r=0;r<t.$children.length;r++)we(t.$children[r]);Oe(t,"activated")}}function xe(t,e){if(!(e&&(t._directInactive=!0,ye(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)xe(t.$children[r]);Oe(t,"deactivated")}}function Oe(t,e){E();var r=t.$options[e],o=e+" hook";if(r)for(var n=0,i=r.length;n<i;n++)at(r[n],t,null,t,o);t._hasHookEvent&&t.$emit("hook:"+e),D()}function ke(){Ha=Na.length=Ra.length=0,La={},Ma=Va=!1}function je(){Ga=Ua(),Va=!0;var t,e;for(Na.sort(function(t,e){return t.id-e.id}),Ha=0;Ha<Na.length;Ha++)t=Na[Ha],t.before&&t.before(),e=t.id,La[e]=null,t.run();var r=Ra.slice(),o=Na.slice();ke(),Te(r),Se(o),ia&&Li.devtools&&ia.emit("flush")}function Se(t){for(var e=t.length;e--;){var r=t[e],o=r.vm;o._watcher===r&&o._isMounted&&!o._isDestroyed&&Oe(o,"updated")}}function _e(t){t._inactive=!1,Ra.push(t)}function Te(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,we(t[e],!0)}function Pe(t){var e=t.id;if(null==La[e]){if(La[e]=!0,Va){for(var r=Na.length-1;r>Ha&&Na[r].id>t.id;)r--;Na.splice(r+1,0,t)}else Na.push(t);Ma||(Ma=!0,ut(je))}}function Ce(t,e,r){Za.get=function(){return this[e][r]},Za.set=function(t){this[e][r]=t},Object.defineProperty(t,r,Za)}function $e(t){t._watchers=[];var e=t.$options;e.props&&Be(t,e.props),e.methods&&Ne(t,e.methods),e.data?Ee(t):R(t._data={},!0),e.computed&&Ae(t,e.computed),e.watch&&e.watch!==Qi&&Re(t,e.watch)}function Be(t,e){var r=t.$options.propsData||{},o=t._props={},n=t.$options._propKeys=[],i=!t.$parent;i||z(!1);for(var a in e)!function(i){n.push(i);var a=tt(i,e,r,t);L(o,i,a),i in t||Ce(t,"_props",i)}(a);z(!0)}function Ee(t){var e=t.$options.data;e=t._data="function"==typeof e?De(e,t):e||{},c(e)||(e={});for(var r=Object.keys(e),o=t.$options.props,n=(t.$options.methods,r.length);n--;){var i=r[n];o&&g(o,i)||P(i)||Ce(t,"_data",i)}R(e,!0)}function De(t,e){E();try{return t.call(e,e)}catch(t){return it(t,e,"data()"),{}}finally{D()}}function Ae(t,e){var r=t._computedWatchers=Object.create(null),o=na();for(var n in e){var i=e[n],a="function"==typeof i?i:i.get;o||(r[n]=new Ka(t,a||j,j,Xa)),n in t||Ie(t,n,i)}}function Ie(t,e,r){var o=!na();"function"==typeof r?(Za.get=o?ze(e):Fe(r),Za.set=j):(Za.get=r.get?o&&!1!==r.cache?ze(e):Fe(r.get):j,Za.set=r.set||j),Object.defineProperty(t,e,Za)}function ze(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),ca.target&&e.depend(),e.value}}function Fe(t){return function(){return t.call(this,this)}}function Ne(t,e){t.$options.props;for(var r in e)t[r]="function"!=typeof e[r]?j:Ai(e[r],t)}function Re(t,e){for(var r in e){var o=e[r];if(Array.isArray(o))for(var n=0;n<o.length;n++)Le(t,r,o[n]);else Le(t,r,o)}}function Le(t,e,r,o){return c(r)&&(o=r,r=r.handler),"string"==typeof r&&(r=t[r]),t.$watch(e,r,o)}function Me(t,e){var r=t.$options=Object.create(t.constructor.options),o=e._parentVnode;r.parent=e.parent,r._parentVnode=o;var n=o.componentOptions;r.propsData=n.propsData,r._parentListeners=n.listeners,r._renderChildren=n.children,r._componentTag=n.tag,e.render&&(r.render=e.render,r.staticRenderFns=e.staticRenderFns)}function Ve(t){var e=t.options;if(t.super){var r=Ve(t.super);if(r!==t.superOptions){t.superOptions=r;var o=He(t);o&&O(t.extendOptions,o),e=t.options=Y(r,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function He(t){var e,r=t.options,o=t.sealedOptions;for(var n in r)r[n]!==o[n]&&(e||(e={}),e[n]=r[n]);return e}function Ge(t){this._init(t)}function Ue(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var r=x(arguments,1);return r.unshift(this),"function"==typeof t.install?t.install.apply(t,r):"function"==typeof t&&t.apply(null,r),e.push(t),this}}function We(t){t.mixin=function(t){return this.options=Y(this.options,t),this}}function qe(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var r=this,o=r.cid,n=t._Ctor||(t._Ctor={});if(n[o])return n[o];var i=t.name||r.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(r.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Y(r.options,t),a.super=r,a.options.props&&Ke(a),a.options.computed&&Ze(a),a.extend=r.extend,a.mixin=r.mixin,a.use=r.use,Ni.forEach(function(t){a[t]=r[t]}),i&&(a.options.components[i]=a),a.superOptions=r.options,a.extendOptions=t,a.sealedOptions=O({},a.options),n[o]=a,a}}function Ke(t){var e=t.options.props;for(var r in e)Ce(t.prototype,"_props",r)}function Ze(t){var e=t.options.computed;for(var r in e)Ie(t.prototype,r,e[r])}function Xe(t){Ni.forEach(function(e){t[e]=function(t,r){return r?("component"===e&&c(r)&&(r.name=r.name||t,r=this.options._base.extend(r)),"directive"===e&&"function"==typeof r&&(r={bind:r,update:r}),this.options[e+"s"][t]=r,r):this.options[e+"s"][t]}})}function Je(t){return t&&(t.Ctor.options.name||t.tag)}function Ye(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!u(t)&&t.test(e)}function Qe(t,e){var r=t.cache,o=t.keys,n=t._vnode;for(var i in r){var a=r[i];if(a){var s=Je(a.componentOptions);s&&!e(s)&&tr(r,i,o,n)}}}function tr(t,e,r,o){var n=t[e];!n||o&&n.tag===o.tag||n.componentInstance.$destroy(),t[e]=null,h(r,e)}function er(t){for(var e=t.data,r=t,o=t;n(o.componentInstance);)(o=o.componentInstance._vnode)&&o.data&&(e=rr(o.data,e));for(;n(r=r.parent);)r&&r.data&&(e=rr(e,r.data));return or(e.staticClass,e.class)}function rr(t,e){return{staticClass:nr(t.staticClass,e.staticClass),class:n(t.class)?[t.class,e.class]:e.class}}function or(t,e){return n(t)||n(e)?nr(t,ir(e)):""}function nr(t,e){return t?e?t+" "+e:t:e||""}function ir(t){return Array.isArray(t)?ar(t):l(t)?sr(t):"string"==typeof t?t:""}function ar(t){for(var e,r="",o=0,i=t.length;o<i;o++)n(e=ir(t[o]))&&""!==e&&(r&&(r+=" "),r+=e);return r}function sr(t){var e="";for(var r in t)t[r]&&(e&&(e+=" "),e+=r);return e}function lr(t){return js(t)?"svg":"math"===t?"math":void 0}function cr(t){if(!Gi)return!0;if(_s(t))return!1;if(t=t.toLowerCase(),null!=Ts[t])return Ts[t];var e=document.createElement(t);return t.indexOf("-")>-1?Ts[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ts[t]=/HTMLUnknownElement/.test(e.toString())}function ur(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function dr(t,e){var r=document.createElement(t);return"select"!==t?r:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&r.setAttribute("multiple","multiple"),r)}function pr(t,e){return document.createElementNS(Os[t],e)}function fr(t){return document.createTextNode(t)}function br(t){return document.createComment(t)}function mr(t,e,r){t.insertBefore(e,r)}function hr(t,e){t.removeChild(e)}function gr(t,e){t.appendChild(e)}function vr(t){return t.parentNode}function yr(t){return t.nextSibling}function wr(t){return t.tagName}function xr(t,e){t.textContent=e}function Or(t,e){t.setAttribute(e,"")}function kr(t,e){var r=t.data.ref;if(n(r)){var o=t.context,i=t.componentInstance||t.elm,a=o.$refs;e?Array.isArray(a[r])?h(a[r],i):a[r]===i&&(a[r]=void 0):t.data.refInFor?Array.isArray(a[r])?a[r].indexOf(i)<0&&a[r].push(i):a[r]=[i]:a[r]=i}}function jr(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&n(t.data)===n(e.data)&&Sr(t,e)||i(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&o(e.asyncFactory.error))}function Sr(t,e){if("input"!==t.tag)return!0;var r,o=n(r=t.data)&&n(r=r.attrs)&&r.type,i=n(r=e.data)&&n(r=r.attrs)&&r.type;return o===i||Ps(o)&&Ps(i)}function _r(t,e,r){var o,i,a={};for(o=e;o<=r;++o)i=t[o].key,n(i)&&(a[i]=o);return a}function Tr(t,e){(t.data.directives||e.data.directives)&&Pr(t,e)}function Pr(t,e){var r,o,n,i=t===Bs,a=e===Bs,s=Cr(t.data.directives,t.context),l=Cr(e.data.directives,e.context),c=[],u=[];for(r in l)o=s[r],n=l[r],o?(n.oldValue=o.value,n.oldArg=o.arg,Br(n,"update",e,t),n.def&&n.def.componentUpdated&&u.push(n)):(Br(n,"bind",e,t),n.def&&n.def.inserted&&c.push(n));if(c.length){var d=function(){for(var r=0;r<c.length;r++)Br(c[r],"inserted",e,t)};i?mt(e,"insert",d):d()}if(u.length&&mt(e,"postpatch",function(){for(var r=0;r<u.length;r++)Br(u[r],"componentUpdated",e,t)}),!i)for(r in s)l[r]||Br(s[r],"unbind",t,t,a)}function Cr(t,e){var r=Object.create(null);if(!t)return r;var o,n;for(o=0;o<t.length;o++)n=t[o],n.modifiers||(n.modifiers=As),r[$r(n)]=n,n.def=Q(e.$options,"directives",n.name,!0);return r}function $r(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function Br(t,e,r,o,n){var i=t.def&&t.def[e];if(i)try{i(r.elm,t,r,o,n)}catch(o){it(o,r.context,"directive "+t.name+" "+e+" hook")}}function Er(t,e){var r=e.componentOptions;if(!(n(r)&&!1===r.Ctor.options.inheritAttrs||o(t.data.attrs)&&o(e.data.attrs))){var i,a,s=e.elm,l=t.data.attrs||{},c=e.data.attrs||{};n(c.__ob__)&&(c=e.data.attrs=O({},c));for(i in c)a=c[i],l[i]!==a&&Dr(s,i,a);(Ki||Xi)&&c.value!==l.value&&Dr(s,"value",c.value);for(i in l)o(c[i])&&(ys(i)?s.removeAttributeNS(vs,ws(i)):bs(i)||s.removeAttribute(i))}}function Dr(t,e,r){t.tagName.indexOf("-")>-1?Ar(t,e,r):gs(e)?xs(r)?t.removeAttribute(e):(r="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,r)):bs(e)?t.setAttribute(e,hs(e,r)):ys(e)?xs(r)?t.removeAttributeNS(vs,ws(e)):t.setAttributeNS(vs,e,r):Ar(t,e,r)}function Ar(t,e,r){if(xs(r))t.removeAttribute(e);else{if(Ki&&!Zi&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==r&&!t.__ieph){var o=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",o)};t.addEventListener("input",o),t.__ieph=!0}t.setAttribute(e,r)}}function Ir(t,e){var r=e.elm,i=e.data,a=t.data;if(!(o(i.staticClass)&&o(i.class)&&(o(a)||o(a.staticClass)&&o(a.class)))){var s=er(e),l=r._transitionClasses;n(l)&&(s=nr(s,ir(l))),s!==r._prevClass&&(r.setAttribute("class",s),r._prevClass=s)}}function zr(t){function e(){(a||(a=[])).push(t.slice(b,n).trim()),b=n+1}var r,o,n,i,a,s=!1,l=!1,c=!1,u=!1,d=0,p=0,f=0,b=0;for(n=0;n<t.length;n++)if(o=r,r=t.charCodeAt(n),s)39===r&&92!==o&&(s=!1);else if(l)34===r&&92!==o&&(l=!1);else if(c)96===r&&92!==o&&(c=!1);else if(u)47===r&&92!==o&&(u=!1);else if(124!==r||124===t.charCodeAt(n+1)||124===t.charCodeAt(n-1)||d||p||f){switch(r){case 34:l=!0;break;case 39:s=!0;break;case 96:c=!0;break;case 40:f++;break;case 41:f--;break;case 91:p++;break;case 93:p--;break;case 123:d++;break;case 125:d--}if(47===r){for(var m=n-1,h=void 0;m>=0&&" "===(h=t.charAt(m));m--);h&&Ns.test(h)||(u=!0)}}else void 0===i?(b=n+1,i=t.slice(0,n).trim()):e();if(void 0===i?i=t.slice(0,n).trim():0!==b&&e(),a)for(n=0;n<a.length;n++)i=Fr(i,a[n]);return i}function Fr(t,e){var r=e.indexOf("(");if(r<0)return'_f("'+e+'")('+t+")";var o=e.slice(0,r),n=e.slice(r+1);return'_f("'+o+'")('+t+(")"!==n?","+n:n)}function Nr(t,e){console.error("[Vue compiler]: "+t)}function Rr(t,e){return t?t.map(function(t){return t[e]}).filter(function(t){return t}):[]}function Lr(t,e,r,o,n){(t.props||(t.props=[])).push(Xr({name:e,value:r,dynamic:n},o)),t.plain=!1}function Mr(t,e,r,o,n){(n?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(Xr({name:e,value:r,dynamic:n},o)),t.plain=!1}function Vr(t,e,r,o){t.attrsMap[e]=r,t.attrsList.push(Xr({name:e,value:r},o))}function Hr(t,e,r,o,n,i,a,s){(t.directives||(t.directives=[])).push(Xr({name:e,rawName:r,value:o,arg:n,isDynamicArg:i,modifiers:a},s)),t.plain=!1}function Gr(t,e,r){return r?"_p("+e+',"'+t+'")':t+e}function Ur(t,e,r,o,n,i,a,s){o=o||ji,o.right?s?e="("+e+")==='click'?'contextmenu':("+e+")":"click"===e&&(e="contextmenu",delete o.right):o.middle&&(s?e="("+e+")==='click'?'mouseup':("+e+")":"click"===e&&(e="mouseup")),o.capture&&(delete o.capture,e=Gr("!",e,s)),o.once&&(delete o.once,e=Gr("~",e,s)),o.passive&&(delete o.passive,e=Gr("&",e,s));var l;o.native?(delete o.native,l=t.nativeEvents||(t.nativeEvents={})):l=t.events||(t.events={});var c=Xr({value:r.trim(),dynamic:s},a);o!==ji&&(c.modifiers=o);var u=l[e];Array.isArray(u)?n?u.unshift(c):u.push(c):l[e]=u?n?[c,u]:[u,c]:c,t.plain=!1}function Wr(t,e){return t.rawAttrsMap[":"+e]||t.rawAttrsMap["v-bind:"+e]||t.rawAttrsMap[e]}function qr(t,e,r){var o=Kr(t,":"+e)||Kr(t,"v-bind:"+e);if(null!=o)return zr(o);if(!1!==r){var n=Kr(t,e);if(null!=n)return JSON.stringify(n)}}function Kr(t,e,r){var o;if(null!=(o=t.attrsMap[e]))for(var n=t.attrsList,i=0,a=n.length;i<a;i++)if(n[i].name===e){n.splice(i,1);break}return r&&delete t.attrsMap[e],o}function Zr(t,e){for(var r=t.attrsList,o=0,n=r.length;o<n;o++){var i=r[o];if(e.test(i.name))return r.splice(o,1),i}}function Xr(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function Jr(t,e,r){var o=r||{},n=o.number,i=o.trim,a="$$v";i&&(a="(typeof $$v === 'string'? $$v.trim(): $$v)"),n&&(a="_n("+a+")");var s=Yr(e,a);t.model={value:"("+e+")",expression:JSON.stringify(e),callback:"function ($$v) {"+s+"}"}}function Yr(t,e){var r=Qr(t);return null===r.key?t+"="+e:"$set("+r.exp+", "+r.key+", "+e+")"}function Qr(t){if(t=t.trim(),es=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<es-1)return ns=t.lastIndexOf("."),ns>-1?{exp:t.slice(0,ns),key:'"'+t.slice(ns+1)+'"'}:{exp:t,key:null};for(rs=t,ns=is=as=0;!eo();)os=to(),ro(os)?no(os):91===os&&oo(os);return{exp:t.slice(0,is),key:t.slice(is+1,as)}}function to(){return rs.charCodeAt(++ns)}function eo(){return ns>=es}function ro(t){return 34===t||39===t}function oo(t){var e=1;for(is=ns;!eo();)if(t=to(),ro(t))no(t);else if(91===t&&e++,93===t&&e--,0===e){as=ns;break}}function no(t){for(var e=t;!eo()&&(t=to())!==e;);}function io(t,e,r){ss=r;var o=e.value,n=e.modifiers,i=t.tag,a=t.attrsMap.type;if(t.component)return Jr(t,o,n),!1;if("select"===i)lo(t,o,n);else if("input"===i&&"checkbox"===a)ao(t,o,n);else if("input"===i&&"radio"===a)so(t,o,n);else if("input"===i||"textarea"===i)co(t,o,n);else if(!Li.isReservedTag(i))return Jr(t,o,n),!1;return!0}function ao(t,e,r){var o=r&&r.number,n=qr(t,"value")||"null",i=qr(t,"true-value")||"true",a=qr(t,"false-value")||"false";Lr(t,"checked","Array.isArray("+e+")?_i("+e+","+n+")>-1"+("true"===i?":("+e+")":":_q("+e+","+i+")")),Ur(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+i+"):("+a+");if(Array.isArray($$a)){var $$v="+(o?"_n("+n+")":n)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Yr(e,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Yr(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Yr(e,"$$c")+"}",null,!0)}function so(t,e,r){var o=r&&r.number,n=qr(t,"value")||"null";n=o?"_n("+n+")":n,Lr(t,"checked","_q("+e+","+n+")"),Ur(t,"change",Yr(e,n),null,!0)}function lo(t,e,r){var o=r&&r.number,n='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(o?"_n(val)":"val")+"})",i="var $$selectedVal = "+n+";";i=i+" "+Yr(e,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),Ur(t,"change",i,null,!0)}function co(t,e,r){var o=t.attrsMap.type,n=r||{},i=n.lazy,a=n.number,s=n.trim,l=!i&&"range"!==o,c=i?"change":"range"===o?Rs:"input",u="$event.target.value";s&&(u="$event.target.value.trim()"),a&&(u="_n("+u+")");var d=Yr(e,u);l&&(d="if($event.target.composing)return;"+d),Lr(t,"value","("+e+")"),Ur(t,c,d,null,!0),(s||a)&&Ur(t,"blur","$forceUpdate()")}function uo(t){if(n(t[Rs])){var e=Ki?"change":"input";t[e]=[].concat(t[Rs],t[e]||[]),delete t[Rs]}n(t[Ls])&&(t.change=[].concat(t[Ls],t.change||[]),delete t[Ls])}function po(t,e,r){var o=ls;return function n(){null!==e.apply(null,arguments)&&bo(t,n,r,o)}}function fo(t,e,r,o){if(Ms){var n=Ga,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=n||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}ls.addEventListener(t,e,ta?{capture:r,passive:o}:r)}function bo(t,e,r,o){(o||ls).removeEventListener(t,e._wrapper||e,r)}function mo(t,e){if(!o(t.data.on)||!o(e.data.on)){var r=e.data.on||{},n=t.data.on||{};ls=e.elm,uo(r),bt(r,n,fo,bo,po,e.context),ls=void 0}}function ho(t,e){if(!o(t.data.domProps)||!o(e.data.domProps)){var r,i,a=e.elm,s=t.data.domProps||{},l=e.data.domProps||{};n(l.__ob__)&&(l=e.data.domProps=O({},l));for(r in s)r in l||(a[r]="");for(r in l){if(i=l[r],"textContent"===r||"innerHTML"===r){if(e.children&&(e.children.length=0),i===s[r])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===r&&"PROGRESS"!==a.tagName){a._value=i;var c=o(i)?"":String(i);go(a,c)&&(a.value=c)}else if("innerHTML"===r&&js(a.tagName)&&o(a.innerHTML)){cs=cs||document.createElement("div"),cs.innerHTML="<svg>"+i+"</svg>";for(var u=cs.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;u.firstChild;)a.appendChild(u.firstChild)}else if(i!==s[r])try{a[r]=i}catch(t){}}}}function go(t,e){return!t.composing&&("OPTION"===t.tagName||vo(t,e)||yo(t,e))}function vo(t,e){var r=!0;try{r=document.activeElement!==t}catch(t){}return r&&t.value!==e}function yo(t,e){var r=t.value,o=t._vModifiers;if(n(o)){if(o.number)return b(r)!==b(e);if(o.trim)return r.trim()!==e.trim()}return r!==e}function wo(t){var e=xo(t.style);return t.staticStyle?O(t.staticStyle,e):e}function xo(t){return Array.isArray(t)?k(t):"string"==typeof t?Gs(t):t}function Oo(t,e){var r,o={};if(e)for(var n=t;n.componentInstance;)(n=n.componentInstance._vnode)&&n.data&&(r=wo(n.data))&&O(o,r);(r=wo(t.data))&&O(o,r);for(var i=t;i=i.parent;)i.data&&(r=wo(i.data))&&O(o,r);return o}function ko(t,e){var r=e.data,i=t.data;if(!(o(r.staticStyle)&&o(r.style)&&o(i.staticStyle)&&o(i.style))){var a,s,l=e.elm,c=i.staticStyle,u=i.normalizedStyle||i.style||{},d=c||u,p=xo(e.data.style)||{};e.data.normalizedStyle=n(p.__ob__)?O({},p):p;var f=Oo(e,!0);for(s in d)o(f[s])&&qs(l,s,"");for(s in f)(a=f[s])!==d[s]&&qs(l,s,null==a?"":a)}}function jo(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Js).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var r=" "+(t.getAttribute("class")||"")+" ";r.indexOf(" "+e+" ")<0&&t.setAttribute("class",(r+e).trim())}}function So(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Js).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var r=" "+(t.getAttribute("class")||"")+" ",o=" "+e+" ";r.indexOf(o)>=0;)r=r.replace(o," ");r=r.trim(),r?t.setAttribute("class",r):t.removeAttribute("class")}}function _o(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&O(e,Ys(t.name||"v")),O(e,t),e}return"string"==typeof t?Ys(t):void 0}}function To(t){al(function(){al(t)})}function Po(t,e){var r=t._transitionClasses||(t._transitionClasses=[]);r.indexOf(e)<0&&(r.push(e),jo(t,e))}function Co(t,e){t._transitionClasses&&h(t._transitionClasses,e),So(t,e)}function $o(t,e,r){var o=Bo(t,e),n=o.type,i=o.timeout,a=o.propCount;if(!n)return r();var s=n===tl?ol:il,l=0,c=function(){t.removeEventListener(s,u),r()},u=function(e){e.target===t&&++l>=a&&c()};setTimeout(function(){l<a&&c()},i+1),t.addEventListener(s,u)}function Bo(t,e){var r,o=window.getComputedStyle(t),n=(o[rl+"Delay"]||"").split(", "),i=(o[rl+"Duration"]||"").split(", "),a=Eo(n,i),s=(o[nl+"Delay"]||"").split(", "),l=(o[nl+"Duration"]||"").split(", "),c=Eo(s,l),u=0,d=0;return e===tl?a>0&&(r=tl,u=a,d=i.length):e===el?c>0&&(r=el,u=c,d=l.length):(u=Math.max(a,c),r=u>0?a>c?tl:el:null,d=r?r===tl?i.length:l.length:0),{type:r,timeout:u,propCount:d,hasTransform:r===tl&&sl.test(o[rl+"Property"])}}function Eo(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map(function(e,r){return Do(e)+Do(t[r])}))}function Do(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Ao(t,e){var r=t.elm;n(r._leaveCb)&&(r._leaveCb.cancelled=!0,r._leaveCb());var i=_o(t.data.transition);if(!o(i)&&!n(r._enterCb)&&1===r.nodeType){for(var a=i.css,s=i.type,c=i.enterClass,u=i.enterToClass,d=i.enterActiveClass,p=i.appearClass,f=i.appearToClass,m=i.appearActiveClass,h=i.beforeEnter,g=i.enter,v=i.afterEnter,y=i.enterCancelled,w=i.beforeAppear,x=i.appear,O=i.afterAppear,k=i.appearCancelled,j=i.duration,S=Fa,_=Fa.$vnode;_&&_.parent;)S=_.context,_=_.parent;var P=!S._isMounted||!t.isRootInsert;if(!P||x||""===x){var C=P&&p?p:c,$=P&&m?m:d,B=P&&f?f:u,E=P?w||h:h,D=P&&"function"==typeof x?x:g,A=P?O||v:v,I=P?k||y:y,z=b(l(j)?j.enter:j),F=!1!==a&&!Zi,N=Fo(D),R=r._enterCb=T(function(){F&&(Co(r,B),Co(r,$)),R.cancelled?(F&&Co(r,C),I&&I(r)):A&&A(r),r._enterCb=null});t.data.show||mt(t,"insert",function(){var e=r.parentNode,o=e&&e._pending&&e._pending[t.key];o&&o.tag===t.tag&&o.elm._leaveCb&&o.elm._leaveCb(),D&&D(r,R)}),E&&E(r),F&&(Po(r,C),Po(r,$),To(function(){Co(r,C),R.cancelled||(Po(r,B),N||(zo(z)?setTimeout(R,z):$o(r,s,R)))})),t.data.show&&(e&&e(),D&&D(r,R)),F||N||R()}}}function Io(t,e){function r(){k.cancelled||(!t.data.show&&i.parentNode&&((i.parentNode._pending||(i.parentNode._pending={}))[t.key]=t),f&&f(i),w&&(Po(i,u),Po(i,p),To(function(){Co(i,u),k.cancelled||(Po(i,d),x||(zo(O)?setTimeout(k,O):$o(i,c,k)))})),m&&m(i,k),w||x||k())}var i=t.elm;n(i._enterCb)&&(i._enterCb.cancelled=!0,i._enterCb());var a=_o(t.data.transition);if(o(a)||1!==i.nodeType)return e();if(!n(i._leaveCb)){var s=a.css,c=a.type,u=a.leaveClass,d=a.leaveToClass,p=a.leaveActiveClass,f=a.beforeLeave,m=a.leave,h=a.afterLeave,g=a.leaveCancelled,v=a.delayLeave,y=a.duration,w=!1!==s&&!Zi,x=Fo(m),O=b(l(y)?y.leave:y),k=i._leaveCb=T(function(){i.parentNode&&i.parentNode._pending&&(i.parentNode._pending[t.key]=null),w&&(Co(i,d),Co(i,p)),k.cancelled?(w&&Co(i,u),g&&g(i)):(e(),h&&h(i)),i._leaveCb=null});v?v(r):r()}}function zo(t){return"number"==typeof t&&!isNaN(t)}function Fo(t){if(o(t))return!1;var e=t.fns;return n(e)?Fo(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function No(t,e){!0!==e.data.show&&Ao(e)}function Ro(t,e,r){Lo(t,e,r),(Ki||Xi)&&setTimeout(function(){Lo(t,e,r)},0)}function Lo(t,e,r){var o=e.value,n=t.multiple;if(!n||Array.isArray(o)){for(var i,a,s=0,l=t.options.length;s<l;s++)if(a=t.options[s],n)i=_(o,Vo(a))>-1,a.selected!==i&&(a.selected=i);else if(S(Vo(a),o))return void(t.selectedIndex!==s&&(t.selectedIndex=s));n||(t.selectedIndex=-1)}}function Mo(t,e){return e.every(function(e){return!S(e,t)})}function Vo(t){return"_value"in t?t._value:t.value}function Ho(t){t.target.composing=!0}function Go(t){t.target.composing&&(t.target.composing=!1,Uo(t.target,"input"))}function Uo(t,e){var r=document.createEvent("HTMLEvents");r.initEvent(e,!0,!0),t.dispatchEvent(r)}function Wo(t){return!t.componentInstance||t.data&&t.data.transition?t:Wo(t.componentInstance._vnode)}function qo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?qo(ce(e.children)):t}function Ko(t){var e={},r=t.$options;for(var o in r.propsData)e[o]=t[o];var n=r._parentListeners;for(var i in n)e[$i(i)]=n[i];return e}function Zo(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Xo(t){for(;t=t.parent;)if(t.data.transition)return!0}function Jo(t,e){return e.key===t.key&&e.tag===t.tag}function Yo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Qo(t){t.data.newPos=t.elm.getBoundingClientRect()}function tn(t){var e=t.data.pos,r=t.data.newPos,o=e.left-r.left,n=e.top-r.top;if(o||n){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate("+o+"px,"+n+"px)",i.transitionDuration="0s"}}function en(t,e){var r=e?Fl(e):Il;if(r.test(t)){for(var o,n,i,a=[],s=[],l=r.lastIndex=0;o=r.exec(t);){n=o.index,n>l&&(s.push(i=t.slice(l,n)),a.push(JSON.stringify(i)));var c=zr(o[1].trim());a.push("_s("+c+")"),s.push({"@binding":c}),l=n+o[0].length}return l<t.length&&(s.push(i=t.slice(l)),a.push(JSON.stringify(i))),{expression:a.join("+"),tokens:s}}}function rn(t,e){var r=(e.warn,Kr(t,"class"));r&&(t.staticClass=JSON.stringify(r));var o=qr(t,"class",!1);o&&(t.classBinding=o)}function on(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}function nn(t,e){var r=(e.warn,Kr(t,"style"));if(r){t.staticStyle=JSON.stringify(Gs(r))}var o=qr(t,"style",!1);o&&(t.styleBinding=o)}function an(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}function sn(t,e){var r=e?nc:oc;return t.replace(r,function(t){return rc[t]})}function ln(t,e){function r(e){u+=e,t=t.substring(e)}function o(t,r,o){var n,s;if(null==r&&(r=u),null==o&&(o=u),t)for(s=t.toLowerCase(),n=a.length-1;n>=0&&a[n].lowerCasedTag!==s;n--);else n=0;if(n>=0){for(var l=a.length-1;l>=n;l--)e.end&&e.end(a[l].tag,r,o);a.length=n,i=n&&a[n-1].tag}else"br"===s?e.start&&e.start(t,[],!0,r,o):"p"===s&&(e.start&&e.start(t,[],!1,r,o),e.end&&e.end(t,r,o))}for(var n,i,a=[],s=e.expectHTML,l=e.isUnaryTag||Ii,c=e.canBeLeftOpenTag||Ii,u=0;t;){if(n=t,i&&tc(i)){var d=0,p=i.toLowerCase(),f=ec[p]||(ec[p]=new RegExp("([\\s\\S]*?)(</"+p+"[^>]*>)","i")),b=t.replace(f,function(t,r,o){return d=o.length,tc(p)||"noscript"===p||(r=r.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),ac(p,r)&&(r=r.slice(1)),e.chars&&e.chars(r),""});u+=t.length-b.length,t=b,o(p,u-d,u)}else{var m=t.indexOf("<");if(0===m){if(Yl.test(t)){var h=t.indexOf("--\x3e");if(h>=0){e.shouldKeepComment&&e.comment(t.substring(4,h),u,u+h+3),r(h+3);continue}}if(Ql.test(t)){var g=t.indexOf("]>");if(g>=0){r(g+2);continue}}var v=t.match(Jl);if(v){r(v[0].length);continue}var y=t.match(Xl);if(y){var w=u;r(y[0].length),o(y[1],w,u);continue}var x=function(){var e=t.match(Kl);if(e){var o={tagName:e[1],attrs:[],start:u};r(e[0].length);for(var n,i;!(n=t.match(Zl))&&(i=t.match(Ul)||t.match(Gl));)i.start=u,r(i[0].length),i.end=u,o.attrs.push(i);if(n)return o.unarySlash=n[1],r(n[0].length),o.end=u,o}}();if(x){!function(t){var r=t.tagName,n=t.unarySlash;s&&("p"===i&&Hl(r)&&o(i),c(r)&&i===r&&o(r));for(var u=l(r)||!!n,d=t.attrs.length,p=new Array(d),f=0;f<d;f++){var b=t.attrs[f],m=b[3]||b[4]||b[5]||"",h="a"===r&&"href"===b[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;p[f]={name:b[1],value:sn(m,h)}}u||(a.push({tag:r,lowerCasedTag:r.toLowerCase(),attrs:p,start:t.start,end:t.end}),i=r),e.start&&e.start(r,p,u,t.start,t.end)}(x),ac(x.tagName,t)&&r(1);continue}}var O=void 0,k=void 0,j=void 0;if(m>=0){for(k=t.slice(m);!(Xl.test(k)||Kl.test(k)||Yl.test(k)||Ql.test(k)||(j=k.indexOf("<",1))<0);)m+=j,k=t.slice(m);O=t.substring(0,m)}m<0&&(O=t),O&&r(O.length),e.chars&&O&&e.chars(O,u-O.length,u)}if(t===n){e.chars&&e.chars(t);break}}o()}function cn(t,e,r){return{type:1,tag:t,attrsList:e,attrsMap:$n(e),rawAttrsMap:{},parent:r,children:[]}}function un(t,e){function r(t){if(o(t),u||t.processed||(t=fn(t,e)),s.length||t===i||i.if&&(t.elseif||t.else)&&xn(i,{exp:t.elseif,block:t}),a&&!t.forbidden)if(t.elseif||t.else)yn(t,a);else{if(t.slotScope){var r=t.slotTarget||'"default"';(a.scopedSlots||(a.scopedSlots={}))[r]=t}a.children.push(t),t.parent=a}t.children=t.children.filter(function(t){return!t.slotScope}),o(t),t.pre&&(u=!1),Pl(t.tag)&&(d=!1);for(var n=0;n<Tl.length;n++)Tl[n](t,e)}function o(t){if(!d)for(var e;(e=t.children[t.children.length-1])&&3===e.type&&" "===e.text;)t.children.pop()}kl=e.warn||Nr,Pl=e.isPreTag||Ii,Cl=e.mustUseProp||Ii,$l=e.getTagNamespace||Ii;var n=e.isReservedTag||Ii;Bl=function(t){return!!t.component||!n(t.tag)},Sl=Rr(e.modules,"transformNode"),_l=Rr(e.modules,"preTransformNode"),Tl=Rr(e.modules,"postTransformNode"),jl=e.delimiters;var i,a,s=[],l=!1!==e.preserveWhitespace,c=e.whitespace,u=!1,d=!1;return ln(t,{warn:kl,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,o,n,l,c){var p=a&&a.ns||$l(t);Ki&&"svg"===p&&(o=Dn(o));var f=cn(t,o,a);p&&(f.ns=p),En(f)&&!na()&&(f.forbidden=!0);for(var b=0;b<_l.length;b++)f=_l[b](f,e)||f;u||(dn(f),f.pre&&(u=!0)),Pl(f.tag)&&(d=!0),u?pn(f):f.processed||(hn(f),vn(f),On(f)),i||(i=f),n?r(f):(a=f,s.push(f))},end:function(t,e,o){var n=s[s.length-1];s.length-=1,a=s[s.length-1],r(n)},chars:function(t,e,r){if(a&&(!Ki||"textarea"!==a.tag||a.attrsMap.placeholder!==t)){var o=a.children;if(t=d||t.trim()?Bn(a)?t:yc(t):o.length?c?"condense"===c&&gc.test(t)?"":" ":l?" ":"":""){d||"condense"!==c||(t=t.replace(vc," "));var n,i;!u&&" "!==t&&(n=en(t,jl))?i={type:2,expression:n.expression,tokens:n.tokens,text:t}:" "===t&&o.length&&" "===o[o.length-1].text||(i={type:3,text:t}),i&&o.push(i)}}},comment:function(t,e,r){if(a){var o={type:3,text:t,isComment:!0};a.children.push(o)}}}),i}function dn(t){null!=Kr(t,"v-pre")&&(t.pre=!0)}function pn(t){var e=t.attrsList,r=e.length;if(r)for(var o=t.attrs=new Array(r),n=0;n<r;n++)o[n]={name:e[n].name,value:JSON.stringify(e[n].value)},null!=e[n].start&&(o[n].start=e[n].start,o[n].end=e[n].end);else t.pre||(t.plain=!0)}function fn(t,e){bn(t),t.plain=!t.key&&!t.scopedSlots&&!t.attrsList.length,mn(t),kn(t),Sn(t),_n(t);for(var r=0;r<Sl.length;r++)t=Sl[r](t,e)||t;return Tn(t),t}function bn(t){var e=qr(t,"key");if(e){t.key=e}}function mn(t){var e=qr(t,"ref");e&&(t.ref=e,t.refInFor=Pn(t))}function hn(t){var e;if(e=Kr(t,"v-for")){var r=gn(e);r&&O(t,r)}}function gn(t){var e=t.match(cc);if(e){var r={};r.for=e[2].trim();var o=e[1].trim().replace(dc,""),n=o.match(uc);return n?(r.alias=o.replace(uc,"").trim(),r.iterator1=n[1].trim(),n[2]&&(r.iterator2=n[2].trim())):r.alias=o,r}}function vn(t){var e=Kr(t,"v-if");if(e)t.if=e,xn(t,{exp:e,block:t});else{null!=Kr(t,"v-else")&&(t.else=!0);var r=Kr(t,"v-else-if");r&&(t.elseif=r)}}function yn(t,e){var r=wn(e.children);r&&r.if&&xn(r,{exp:t.elseif,block:t})}function wn(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}function xn(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function On(t){null!=Kr(t,"v-once")&&(t.once=!0)}function kn(t){var e;"template"===t.tag?(e=Kr(t,"scope"),t.slotScope=e||Kr(t,"slot-scope")):(e=Kr(t,"slot-scope"))&&(t.slotScope=e);var r=qr(t,"slot");if(r&&(t.slotTarget='""'===r?'"default"':r,t.slotTargetDynamic=!(!t.attrsMap[":slot"]&&!t.attrsMap["v-bind:slot"]),"template"===t.tag||t.slotScope||Mr(t,"slot",r,Wr(t,"slot"))),"template"===t.tag){var o=Zr(t,hc);if(o){var n=jn(o),i=n.name,a=n.dynamic;t.slotTarget=i,t.slotTargetDynamic=a,t.slotScope=o.value||wc}}else{var s=Zr(t,hc);if(s){var l=t.scopedSlots||(t.scopedSlots={}),c=jn(s),u=c.name,d=c.dynamic,p=l[u]=cn("template",[],t);p.slotTarget=u,p.slotTargetDynamic=d,p.children=t.children.filter(function(t){if(!t.slotScope)return t.parent=p,!0}),p.slotScope=s.value||wc,t.children=[],t.plain=!1}}}function jn(t){var e=t.name.replace(hc,"");return e||"#"!==t.name[0]&&(e="default"),pc.test(e)?{name:e.slice(1,-1),dynamic:!0}:{name:'"'+e+'"',dynamic:!1}}function Sn(t){"slot"===t.tag&&(t.slotName=qr(t,"name"))}function _n(t){var e;(e=qr(t,"is"))&&(t.component=e),null!=Kr(t,"inline-template")&&(t.inlineTemplate=!0)}function Tn(t){var e,r,o,n,i,a,s,l,c=t.attrsList;for(e=0,r=c.length;e<r;e++)if(o=n=c[e].name,i=c[e].value,lc.test(o))if(t.hasBindings=!0,a=Cn(o.replace(lc,"")),a&&(o=o.replace(mc,"")),bc.test(o))o=o.replace(bc,""),i=zr(i),l=pc.test(o),l&&(o=o.slice(1,-1)),a&&(a.prop&&!l&&"innerHtml"===(o=$i(o))&&(o="innerHTML"),a.camel&&!l&&(o=$i(o)),a.sync&&(s=Yr(i,"$event"),l?Ur(t,'"update:"+('+o+")",s,null,!1,kl,c[e],!0):(Ur(t,"update:"+$i(o),s,null,!1,kl,c[e]),Di(o)!==$i(o)&&Ur(t,"update:"+Di(o),s,null,!1,kl,c[e])))),a&&a.prop||!t.component&&Cl(t.tag,t.attrsMap.type,o)?Lr(t,o,i,c[e],l):Mr(t,o,i,c[e],l);else if(sc.test(o))o=o.replace(sc,""),l=pc.test(o),l&&(o=o.slice(1,-1)),Ur(t,o,i,a,!1,kl,c[e],l);else{o=o.replace(lc,"");var u=o.match(fc),d=u&&u[1];l=!1,d&&(o=o.slice(0,-(d.length+1)),pc.test(d)&&(d=d.slice(1,-1),l=!0)),Hr(t,o,n,i,d,l,a,c[e])}else{Mr(t,o,JSON.stringify(i),c[e]),!t.component&&"muted"===o&&Cl(t.tag,t.attrsMap.type,o)&&Lr(t,o,"true",c[e])}}function Pn(t){for(var e=t;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}function Cn(t){var e=t.match(mc);if(e){var r={};return e.forEach(function(t){r[t.slice(1)]=!0}),r}}function $n(t){for(var e={},r=0,o=t.length;r<o;r++)e[t[r].name]=t[r].value;return e}function Bn(t){return"script"===t.tag||"style"===t.tag}function En(t){return"style"===t.tag||"script"===t.tag&&(!t.attrsMap.type||"text/javascript"===t.attrsMap.type)}function Dn(t){for(var e=[],r=0;r<t.length;r++){var o=t[r];xc.test(o.name)||(o.name=o.name.replace(Oc,""),e.push(o))}return e}function An(t,e){if("input"===t.tag){var r=t.attrsMap;if(!r["v-model"])return;var o;if((r[":type"]||r["v-bind:type"])&&(o=qr(t,"type")),r.type||o||!r["v-bind"]||(o="("+r["v-bind"]+").type"),o){var n=Kr(t,"v-if",!0),i=n?"&&("+n+")":"",a=null!=Kr(t,"v-else",!0),s=Kr(t,"v-else-if",!0),l=In(t);hn(l),Vr(l,"type","checkbox"),fn(l,e),l.processed=!0,l.if="("+o+")==='checkbox'"+i,xn(l,{exp:l.if,block:l});var c=In(t);Kr(c,"v-for",!0),Vr(c,"type","radio"),fn(c,e),xn(l,{exp:"("+o+")==='radio'"+i,block:c});var u=In(t);return Kr(u,"v-for",!0),Vr(u,":type",o),fn(u,e),xn(l,{exp:n,block:u}),a?l.else=!0:s&&(l.elseif=s),l}}}function In(t){return cn(t.tag,t.attrsList.slice(),t.parent)}function zn(t,e){e.value&&Lr(t,"textContent","_s("+e.value+")",e)}function Fn(t,e){e.value&&Lr(t,"innerHTML","_s("+e.value+")",e)}function Nn(t,e){t&&(El=Tc(e.staticKeys||""),Dl=e.isReservedTag||Ii,Ln(t),Mn(t,!1))}function Rn(t){return m("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}function Ln(t){if(t.static=Vn(t),1===t.type){if(!Dl(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var e=0,r=t.children.length;e<r;e++){var o=t.children[e];Ln(o),o.static||(t.static=!1)}if(t.ifConditions)for(var n=1,i=t.ifConditions.length;n<i;n++){var a=t.ifConditions[n].block;Ln(a),a.static||(t.static=!1)}}}function Mn(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var r=0,o=t.children.length;r<o;r++)Mn(t.children[r],e||!!t.for);if(t.ifConditions)for(var n=1,i=t.ifConditions.length;n<i;n++)Mn(t.ifConditions[n].block,e)}}function Vn(t){return 2!==t.type&&(3===t.type||!(!t.pre&&(t.hasBindings||t.if||t.for||_i(t.tag)||!Dl(t.tag)||Hn(t)||!Object.keys(t).every(El))))}function Hn(t){for(;t.parent;){if(t=t.parent,"template"!==t.tag)return!1;if(t.for)return!0}return!1}function Gn(t,e){var r=e?"nativeOn:":"on:",o="",n="";for(var i in t){var a=Un(t[i]);t[i]&&t[i].dynamic?n+=i+","+a+",":o+='"'+i+'":'+a+","}return o="{"+o.slice(0,-1)+"}",n?r+"_d("+o+",["+n.slice(0,-1)+"])":r+o}function Un(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map(function(t){return Un(t)}).join(",")+"]";var e=$c.test(t.value),r=Pc.test(t.value),o=$c.test(t.value.replace(Cc,""));if(t.modifiers){var n="",i="",a=[];for(var s in t.modifiers)if(Ac[s])i+=Ac[s],Bc[s]&&a.push(s);else if("exact"===s){var l=t.modifiers;i+=Dc(["ctrl","shift","alt","meta"].filter(function(t){return!l[t]}).map(function(t){return"$event."+t+"Key"}).join("||"))}else a.push(s);a.length&&(n+=Wn(a)),i&&(n+=i);return"function($event){"+n+(e?"return "+t.value+"($event)":r?"return ("+t.value+")($event)":o?"return "+t.value:t.value)+"}"}return e||r?t.value:"function($event){"+(o?"return "+t.value:t.value)+"}"}function Wn(t){return"if(!$event.type.indexOf('key')&&"+t.map(qn).join("&&")+")return null;"}function qn(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var r=Bc[t],o=Ec[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(r)+",$event.key,"+JSON.stringify(o)+")"}function Kn(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}}function Zn(t,e){t.wrapData=function(r){return"_b("+r+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}}function Xn(t,e){var r=new zc(e);return{render:"with(this){return "+(t?Jn(t,r):'_c("div")')+"}",staticRenderFns:r.staticRenderFns}}function Jn(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return Yn(t,e);if(t.once&&!t.onceProcessed)return Qn(t,e);if(t.for&&!t.forProcessed)return ri(t,e);if(t.if&&!t.ifProcessed)return ti(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return hi(t,e);var r;if(t.component)r=gi(t.component,t,e);else{var o;(!t.plain||t.pre&&e.maybeComponent(t))&&(o=oi(t,e));var n=t.inlineTemplate?null:ui(t,e,!0);r="_c('"+t.tag+"'"+(o?","+o:"")+(n?","+n:"")+")"}for(var i=0;i<e.transforms.length;i++)r=e.transforms[i](t,r);return r}return ui(t,e)||"void 0"}function Yn(t,e){t.staticProcessed=!0;var r=e.pre;return t.pre&&(e.pre=t.pre),e.staticRenderFns.push("with(this){return "+Jn(t,e)+"}"),e.pre=r,"_m("+(e.staticRenderFns.length-1)+(t.staticInFor?",true":"")+")"}function Qn(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return ti(t,e);if(t.staticInFor){for(var r="",o=t.parent;o;){if(o.for){r=o.key;break}o=o.parent}return r?"_o("+Jn(t,e)+","+e.onceId+++","+r+")":Jn(t,e)}return Yn(t,e)}function ti(t,e,r,o){return t.ifProcessed=!0,ei(t.ifConditions.slice(),e,r,o)}function ei(t,e,r,o){function n(t){return r?r(t,e):t.once?Qn(t,e):Jn(t,e)}if(!t.length)return o||"_e()";var i=t.shift();return i.exp?"("+i.exp+")?"+n(i.block)+":"+ei(t,e,r,o):""+n(i.block)}function ri(t,e,r,o){var n=t.for,i=t.alias,a=t.iterator1?","+t.iterator1:"",s=t.iterator2?","+t.iterator2:"";return t.forProcessed=!0,(o||"_l")+"(("+n+"),function("+i+a+s+"){return "+(r||Jn)(t,e)+"})"}function oi(t,e){var r="{",o=ni(t,e);o&&(r+=o+","),t.key&&(r+="key:"+t.key+","),t.ref&&(r+="ref:"+t.ref+","),t.refInFor&&(r+="refInFor:true,"),t.pre&&(r+="pre:true,"),t.component&&(r+='tag:"'+t.tag+'",');for(var n=0;n<e.dataGenFns.length;n++)r+=e.dataGenFns[n](t);if(t.attrs&&(r+="attrs:"+vi(t.attrs)+","),t.props&&(r+="domProps:"+vi(t.props)+","),t.events&&(r+=Gn(t.events,!1)+","),t.nativeEvents&&(r+=Gn(t.nativeEvents,!0)+","),t.slotTarget&&!t.slotScope&&(r+="slot:"+t.slotTarget+","),t.scopedSlots&&(r+=ai(t,t.scopedSlots,e)+","),t.model&&(r+="model:{value:"+t.model.value+",callback:"+t.model.callback+",expression:"+t.model.expression+"},"),t.inlineTemplate){var i=ii(t,e);i&&(r+=i+",")}return r=r.replace(/,$/,"")+"}",t.dynamicAttrs&&(r="_b("+r+',"'+t.tag+'",'+vi(t.dynamicAttrs)+")"),t.wrapData&&(r=t.wrapData(r)),t.wrapListeners&&(r=t.wrapListeners(r)),r}function ni(t,e){var r=t.directives;if(r){var o,n,i,a,s="directives:[",l=!1;for(o=0,n=r.length;o<n;o++){i=r[o],a=!0;var c=e.directives[i.name];c&&(a=!!c(t,i,e.warn)),a&&(l=!0,s+='{name:"'+i.name+'",rawName:"'+i.rawName+'"'+(i.value?",value:("+i.value+"),expression:"+JSON.stringify(i.value):"")+(i.arg?",arg:"+(i.isDynamicArg?i.arg:'"'+i.arg+'"'):"")+(i.modifiers?",modifiers:"+JSON.stringify(i.modifiers):"")+"},")}return l?s.slice(0,-1)+"]":void 0}}function ii(t,e){var r=t.children[0];if(r&&1===r.type){var o=Xn(r,e.options);return"inlineTemplate:{render:function(){"+o.render+"},staticRenderFns:["+o.staticRenderFns.map(function(t){return"function(){"+t+"}"}).join(",")+"]}"}}function ai(t,e,r){var o=t.for||Object.keys(e).some(function(t){var r=e[t];return r.slotTargetDynamic||r.if||r.for||li(r)}),n=!!t.if;if(!o)for(var i=t.parent;i;){if(i.slotScope&&i.slotScope!==wc||i.for){o=!0;break}i.if&&(n=!0),i=i.parent}var a=Object.keys(e).map(function(t){return ci(e[t],r)}).join(",");return"scopedSlots:_u(["+a+"]"+(o?",null,true":"")+(!o&&n?",null,false,"+si(a):"")+")"}function si(t){for(var e=5381,r=t.length;r;)e=33*e^t.charCodeAt(--r);return e>>>0}function li(t){return 1===t.type&&("slot"===t.tag||t.children.some(li))}function ci(t,e){var r=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!r)return ti(t,e,ci,"null");if(t.for&&!t.forProcessed)return ri(t,e,ci);var o=t.slotScope===wc?"":String(t.slotScope),n="function("+o+"){return "+("template"===t.tag?t.if&&r?"("+t.if+")?"+(ui(t,e)||"undefined")+":undefined":ui(t,e)||"undefined":Jn(t,e))+"}",i=o?"":",proxy:true";return"{key:"+(t.slotTarget||'"default"')+",fn:"+n+i+"}"}function ui(t,e,r,o,n){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=r?e.maybeComponent(a)?",1":",0":"";return""+(o||Jn)(a,e)+s}var l=r?di(i,e.maybeComponent):0,c=n||fi;return"["+i.map(function(t){return c(t,e)}).join(",")+"]"+(l?","+l:"")}}function di(t,e){for(var r=0,o=0;o<t.length;o++){var n=t[o];if(1===n.type){if(pi(n)||n.ifConditions&&n.ifConditions.some(function(t){return pi(t.block)})){r=2;break}(e(n)||n.ifConditions&&n.ifConditions.some(function(t){return e(t.block)}))&&(r=1)}}return r}function pi(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function fi(t,e){return 1===t.type?Jn(t,e):3===t.type&&t.isComment?mi(t):bi(t)}function bi(t){return"_v("+(2===t.type?t.expression:yi(JSON.stringify(t.text)))+")"}function mi(t){return"_e("+JSON.stringify(t.text)+")"}function hi(t,e){var r=t.slotName||'"default"',o=ui(t,e),n="_t("+r+(o?","+o:""),i=t.attrs||t.dynamicAttrs?vi((t.attrs||[]).concat(t.dynamicAttrs||[]).map(function(t){return{name:$i(t.name),value:t.value,dynamic:t.dynamic}})):null,a=t.attrsMap["v-bind"];return!i&&!a||o||(n+=",null"),i&&(n+=","+i),a&&(n+=(i?"":",null")+","+a),n+")"}function gi(t,e,r){var o=e.inlineTemplate?null:ui(e,r,!0);return"_c("+t+","+oi(e,r)+(o?","+o:"")+")"}function vi(t){for(var e="",r="",o=0;o<t.length;o++){var n=t[o],i=yi(n.value);n.dynamic?r+=n.name+","+i+",":e+='"'+n.name+'":'+i+","}return e="{"+e.slice(0,-1)+"}",r?"_d("+e+",["+r.slice(0,-1)+"])":e}function yi(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function wi(t,e){try{return new Function(t)}catch(r){return e.push({err:r,code:t}),j}}function xi(t){var e=Object.create(null);return function(r,o,n){o=O({},o);o.warn;delete o.warn;var i=o.delimiters?String(o.delimiters)+r:r;if(e[i])return e[i];var a=t(r,o),s={},l=[];return s.render=wi(a.render,l),s.staticRenderFns=a.staticRenderFns.map(function(t){return wi(t,l)}),e[i]=s}}function Oi(t){return Al=Al||document.createElement("div"),Al.innerHTML=t?'<a href="\n"/>':'<div a="\n"/>',Al.innerHTML.indexOf(" ")>0}function ki(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}/*! - * Vue.js v2.6.10 - * (c) 2014-2019 Evan You - * Released under the MIT License. - */ -var ji=Object.freeze({}),Si=Object.prototype.toString,_i=m("slot,component",!0),Ti=m("key,ref,slot,slot-scope,is"),Pi=Object.prototype.hasOwnProperty,Ci=/-(\w)/g,$i=v(function(t){return t.replace(Ci,function(t,e){return e?e.toUpperCase():""})}),Bi=v(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Ei=/\B([A-Z])/g,Di=v(function(t){return t.replace(Ei,"-$1").toLowerCase()}),Ai=Function.prototype.bind?w:y,Ii=function(t,e,r){return!1},zi=function(t){return t},Fi="data-server-rendered",Ni=["component","directive","filter"],Ri=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],Li={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Ii,isReservedAttr:Ii,isUnknownElement:Ii,getTagNamespace:j,parsePlatformTagName:zi,mustUseProp:Ii,async:!0,_lifecycleHooks:Ri},Mi=/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/,Vi=new RegExp("[^"+Mi.source+".$_\\d]"),Hi="__proto__"in{},Gi="undefined"!=typeof window,Ui="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Wi=Ui&&WXEnvironment.platform.toLowerCase(),qi=Gi&&window.navigator.userAgent.toLowerCase(),Ki=qi&&/msie|trident/.test(qi),Zi=qi&&qi.indexOf("msie 9.0")>0,Xi=qi&&qi.indexOf("edge/")>0,Ji=(qi&&qi.indexOf("android"),qi&&/iphone|ipad|ipod|ios/.test(qi)||"ios"===Wi),Yi=(qi&&/chrome\/\d+/.test(qi),qi&&/phantomjs/.test(qi),qi&&qi.match(/firefox\/(\d+)/)),Qi={}.watch,ta=!1;if(Gi)try{var ea={};Object.defineProperty(ea,"passive",{get:function(){ta=!0}}),window.addEventListener("test-passive",null,ea)}catch(t){}var ra,oa,na=function(){return void 0===ra&&(ra=!Gi&&!Ui&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),ra},ia=Gi&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,aa="undefined"!=typeof Symbol&&B(Symbol)&&"undefined"!=typeof Reflect&&B(Reflect.ownKeys);oa="undefined"!=typeof Set&&B(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var sa=j,la=0,ca=function(){this.id=la++,this.subs=[]};ca.prototype.addSub=function(t){this.subs.push(t)},ca.prototype.removeSub=function(t){h(this.subs,t)},ca.prototype.depend=function(){ca.target&&ca.target.addDep(this)},ca.prototype.notify=function(){for(var t=this.subs.slice(),e=0,r=t.length;e<r;e++)t[e].update()},ca.target=null;var ua=[],da=function(t,e,r,o,n,i,a,s){this.tag=t,this.data=e,this.children=r,this.text=o,this.elm=n,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},pa={child:{configurable:!0}};pa.child.get=function(){return this.componentInstance},Object.defineProperties(da.prototype,pa);var fa=function(t){void 0===t&&(t="");var e=new da;return e.text=t,e.isComment=!0,e},ba=Array.prototype,ma=Object.create(ba);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=ba[t];C(ma,t,function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var n,i=e.apply(this,r),a=this.__ob__;switch(t){case"push":case"unshift":n=r;break;case"splice":n=r.slice(2)}return n&&a.observeArray(n),a.dep.notify(),i})});var ha=Object.getOwnPropertyNames(ma),ga=!0,va=function(t){this.value=t,this.dep=new ca,this.vmCount=0,C(t,"__ob__",this),Array.isArray(t)?(Hi?F(t,ma):N(t,ma,ha),this.observeArray(t)):this.walk(t)};va.prototype.walk=function(t){for(var e=Object.keys(t),r=0;r<e.length;r++)L(t,e[r])},va.prototype.observeArray=function(t){for(var e=0,r=t.length;e<r;e++)R(t[e])};var ya=Li.optionMergeStrategies;ya.data=function(t,e,r){return r?U(t,e,r):e&&"function"!=typeof e?t:U(t,e)},Ri.forEach(function(t){ya[t]=W}),Ni.forEach(function(t){ya[t+"s"]=K}),ya.watch=function(t,e,r,o){if(t===Qi&&(t=void 0),e===Qi&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var n={};O(n,t);for(var i in e){var a=n[i],s=e[i];a&&!Array.isArray(a)&&(a=[a]),n[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return n},ya.props=ya.methods=ya.inject=ya.computed=function(t,e,r,o){if(!t)return e;var n=Object.create(null);return O(n,t),e&&O(n,e),n},ya.provide=U;var wa,xa=function(t,e){return void 0===e?t:e},Oa=!1,ka=[],ja=!1;if("undefined"!=typeof Promise&&B(Promise)){var Sa=Promise.resolve();wa=function(){Sa.then(ct),Ji&&setTimeout(j)},Oa=!0}else if(Ki||"undefined"==typeof MutationObserver||!B(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())wa=void 0!==r&&B(r)?function(){r(ct)}:function(){setTimeout(ct,0)};else{var _a=1,Ta=new MutationObserver(ct),Pa=document.createTextNode(String(_a));Ta.observe(Pa,{characterData:!0}),wa=function(){_a=(_a+1)%2,Pa.data=String(_a)},Oa=!0}var Ca=new oa,$a=v(function(t){var e="&"===t.charAt(0);t=e?t.slice(1):t;var r="~"===t.charAt(0);t=r?t.slice(1):t;var o="!"===t.charAt(0);return t=o?t.slice(1):t,{name:t,once:r,capture:o,passive:e}});Gt(Ut.prototype);var Ba,Ea={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var r=t;Ea.prepatch(r,r)}else{(t.componentInstance=Xt(t,Fa)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var r=e.componentOptions;ve(e.componentInstance=t.componentInstance,r.propsData,r.listeners,e,r.children)},insert:function(t){var e=t.context,r=t.componentInstance;r._isMounted||(r._isMounted=!0,Oe(r,"mounted")),t.data.keepAlive&&(e._isMounted?_e(r):we(r,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?xe(e,!0):e.$destroy())}},Da=Object.keys(Ea),Aa=1,Ia=2,za=null,Fa=null,Na=[],Ra=[],La={},Ma=!1,Va=!1,Ha=0,Ga=0,Ua=Date.now;if(Gi&&!Ki){var Wa=window.performance;Wa&&"function"==typeof Wa.now&&Ua()>document.createEvent("Event").timeStamp&&(Ua=function(){return Wa.now()})}var qa=0,Ka=function(t,e,r,o,n){this.vm=t,n&&(t._watcher=this),t._watchers.push(this),o?(this.deep=!!o.deep,this.user=!!o.user,this.lazy=!!o.lazy,this.sync=!!o.sync,this.before=o.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++qa,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new oa,this.newDepIds=new oa,this.expression="","function"==typeof e?this.getter=e:(this.getter=$(e),this.getter||(this.getter=j)),this.value=this.lazy?void 0:this.get()};Ka.prototype.get=function(){E(this);var t,e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;it(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&dt(t),D(),this.cleanupDeps()}return t},Ka.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Ka.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Ka.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Pe(this)},Ka.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||l(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){it(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Ka.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Ka.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Ka.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Za={enumerable:!0,configurable:!0,get:j,set:j},Xa={lazy:!0},Ja=0;!function(t){t.prototype._init=function(t){var e=this;e._uid=Ja++,e._isVue=!0,t&&t._isComponent?Me(e,t):e.$options=Y(Ve(e.constructor),t||{},e),e._renderProxy=e,e._self=e,he(e),ue(e),ne(e),Oe(e,"beforeCreate"),kt(e),$e(e),Ot(e),Oe(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(Ge),function(t){var e={};e.get=function(){return this._data};var r={};r.get=function(){return this._props},Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",r),t.prototype.$set=M,t.prototype.$delete=V,t.prototype.$watch=function(t,e,r){var o=this;if(c(e))return Le(o,t,e,r);r=r||{},r.user=!0;var n=new Ka(o,t,e,r);if(r.immediate)try{e.call(o,n.value)}catch(t){it(t,o,'callback for immediate watcher "'+n.expression+'"')}return function(){n.teardown()}}}(Ge),function(t){var e=/^hook:/;t.prototype.$on=function(t,r){var o=this;if(Array.isArray(t))for(var n=0,i=t.length;n<i;n++)o.$on(t[n],r);else(o._events[t]||(o._events[t]=[])).push(r),e.test(t)&&(o._hasHookEvent=!0);return o},t.prototype.$once=function(t,e){function r(){o.$off(t,r),e.apply(o,arguments)}var o=this;return r.fn=e,o.$on(t,r),o},t.prototype.$off=function(t,e){var r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var o=0,n=t.length;o<n;o++)r.$off(t[o],e);return r}var i=r._events[t];if(!i)return r;if(!e)return r._events[t]=null,r;for(var a,s=i.length;s--;)if((a=i[s])===e||a.fn===e){i.splice(s,1);break}return r},t.prototype.$emit=function(t){var e=this,r=e._events[t];if(r){r=r.length>1?x(r):r;for(var o=x(arguments,1),n='event handler for "'+t+'"',i=0,a=r.length;i<a;i++)at(r[i],e,o,e,n)}return e}}(Ge),function(t){t.prototype._update=function(t,e){var r=this,o=r.$el,n=r._vnode,i=me(r);r._vnode=t,r.$el=n?r.__patch__(n,t):r.__patch__(r.$el,t,e,!1),i(),o&&(o.__vue__=null),r.$el&&(r.$el.__vue__=r),r.$vnode&&r.$parent&&r.$vnode===r.$parent._vnode&&(r.$parent.$el=r.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Oe(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||h(e.$children,t),t._watcher&&t._watcher.teardown();for(var r=t._watchers.length;r--;)t._watchers[r].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Oe(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Ge),function(t){Gt(t.prototype),t.prototype.$nextTick=function(t){return ut(t,this)},t.prototype._render=function(){var t=this,e=t.$options,r=e.render,o=e._parentVnode;o&&(t.$scopedSlots=Tt(o.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode=o;var n;try{za=t,n=r.call(t._renderProxy,t.$createElement)}catch(e){it(e,t,"render"),n=t._vnode}finally{za=null}return Array.isArray(n)&&1===n.length&&(n=n[0]),n instanceof da||(n=fa()),n.parent=o,n}}(Ge);var Ya=[String,RegExp,Array],Qa={name:"keep-alive",abstract:!0,props:{include:Ya,exclude:Ya,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)tr(this.cache,t,this.keys)},mounted:function(){var t=this;this.$watch("include",function(e){Qe(t,function(t){return Ye(e,t)})}),this.$watch("exclude",function(e){Qe(t,function(t){return!Ye(e,t)})})},render:function(){var t=this.$slots.default,e=ce(t),r=e&&e.componentOptions;if(r){var o=Je(r),n=this,i=n.include,a=n.exclude;if(i&&(!o||!Ye(i,o))||a&&o&&Ye(a,o))return e;var s=this,l=s.cache,c=s.keys,u=null==e.key?r.Ctor.cid+(r.tag?"::"+r.tag:""):e.key;l[u]?(e.componentInstance=l[u].componentInstance,h(c,u),c.push(u)):(l[u]=e,c.push(u),this.max&&c.length>parseInt(this.max)&&tr(l,c[0],c,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},ts={KeepAlive:Qa};!function(t){var e={};e.get=function(){return Li},Object.defineProperty(t,"config",e),t.util={warn:sa,extend:O,mergeOptions:Y,defineReactive:L},t.set=M,t.delete=V,t.nextTick=ut,t.observable=function(t){return R(t),t},t.options=Object.create(null),Ni.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,O(t.options.components,ts),Ue(t),We(t),qe(t),Xe(t)}(Ge),Object.defineProperty(Ge.prototype,"$isServer",{get:na}),Object.defineProperty(Ge.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Ge,"FunctionalRenderContext",{value:Ut}),Ge.version="2.6.10";var es,rs,os,ns,is,as,ss,ls,cs,us,ds=m("style,class"),ps=m("input,textarea,option,select,progress"),fs=function(t,e,r){return"value"===r&&ps(t)&&"button"!==e||"selected"===r&&"option"===t||"checked"===r&&"input"===t||"muted"===r&&"video"===t},bs=m("contenteditable,draggable,spellcheck"),ms=m("events,caret,typing,plaintext-only"),hs=function(t,e){return xs(e)||"false"===e?"false":"contenteditable"===t&&ms(e)?e:"true"},gs=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),vs="http://www.w3.org/1999/xlink",ys=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},ws=function(t){return ys(t)?t.slice(6,t.length):""},xs=function(t){return null==t||!1===t},Os={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},ks=m("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),js=m("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Ss=function(t){return"pre"===t},_s=function(t){return ks(t)||js(t)},Ts=Object.create(null),Ps=m("text,number,password,search,email,tel,url"),Cs=Object.freeze({createElement:dr,createElementNS:pr,createTextNode:fr,createComment:br,insertBefore:mr,removeChild:hr,appendChild:gr,parentNode:vr,nextSibling:yr,tagName:wr,setTextContent:xr,setStyleScope:Or}),$s={create:function(t,e){kr(e)},update:function(t,e){t.data.ref!==e.data.ref&&(kr(t,!0),kr(e))},destroy:function(t){kr(t,!0)}},Bs=new da("",{},[]),Es=["create","activate","update","remove","destroy"],Ds={create:Tr,update:Tr,destroy:function(t){Tr(t,Bs)}},As=Object.create(null),Is=[$s,Ds],zs={create:Er,update:Er},Fs={create:Ir,update:Ir},Ns=/[\w).+\-_$\]]/,Rs="__r",Ls="__c",Ms=Oa&&!(Yi&&Number(Yi[1])<=53),Vs={create:mo,update:mo},Hs={create:ho,update:ho},Gs=v(function(t){var e={},r=/;(?![^(]*\))/g,o=/:(.+)/;return t.split(r).forEach(function(t){if(t){var r=t.split(o);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}),Us=/^--/,Ws=/\s*!important$/,qs=function(t,e,r){if(Us.test(e))t.style.setProperty(e,r);else if(Ws.test(r))t.style.setProperty(Di(e),r.replace(Ws,""),"important");else{var o=Zs(e);if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++)t.style[o]=r[n];else t.style[o]=r}},Ks=["Webkit","Moz","ms"],Zs=v(function(t){if(us=us||document.createElement("div").style,"filter"!==(t=$i(t))&&t in us)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<Ks.length;r++){var o=Ks[r]+e;if(o in us)return o}}),Xs={create:ko,update:ko},Js=/\s+/,Ys=v(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),Qs=Gi&&!Zi,tl="transition",el="animation",rl="transition",ol="transitionend",nl="animation",il="animationend";Qs&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(rl="WebkitTransition",ol="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(nl="WebkitAnimation",il="webkitAnimationEnd"));var al=Gi?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()},sl=/\b(transform|all)(,|$)/,ll=Gi?{create:No,activate:No,remove:function(t,e){!0!==t.data.show?Io(t,e):e()}}:{},cl=[zs,Fs,Vs,Hs,Xs,ll],ul=cl.concat(Is),dl=function(t){function e(t){return new da(B.tagName(t).toLowerCase(),{},[],void 0,t)}function r(t,e){function r(){0==--r.listeners&&a(t)}return r.listeners=e,r}function a(t){var e=B.parentNode(t);n(e)&&B.removeChild(e,t)}function l(t,e,r,o,a,s,l){if(n(t.elm)&&n(s)&&(t=s[l]=I(t)),t.isRootInsert=!a,!c(t,e,r,o)){var u=t.data,d=t.children,b=t.tag;n(b)?(t.elm=t.ns?B.createElementNS(t.ns,b):B.createElement(b,t),g(t),f(t,d,e),n(u)&&h(t,e),p(r,t.elm,o)):i(t.isComment)?(t.elm=B.createComment(t.text),p(r,t.elm,o)):(t.elm=B.createTextNode(t.text),p(r,t.elm,o))}}function c(t,e,r,o){var a=t.data;if(n(a)){var s=n(t.componentInstance)&&a.keepAlive;if(n(a=a.hook)&&n(a=a.init)&&a(t,!1),n(t.componentInstance))return u(t,e),p(r,t.elm,o),i(s)&&d(t,e,r,o),!0}}function u(t,e){n(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,b(t)?(h(t,e),g(t)):(kr(t),e.push(t))}function d(t,e,r,o){for(var i,a=t;a.componentInstance;)if(a=a.componentInstance._vnode,n(i=a.data)&&n(i=i.transition)){for(i=0;i<C.activate.length;++i)C.activate[i](Bs,a);e.push(a);break}p(r,t.elm,o)}function p(t,e,r){n(t)&&(n(r)?B.parentNode(r)===t&&B.insertBefore(t,e,r):B.appendChild(t,e))}function f(t,e,r){if(Array.isArray(e))for(var o=0;o<e.length;++o)l(e[o],r,t.elm,null,!0,e,o);else s(t.text)&&B.appendChild(t.elm,B.createTextNode(String(t.text)))}function b(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return n(t.tag)}function h(t,e){for(var r=0;r<C.create.length;++r)C.create[r](Bs,t);T=t.data.hook,n(T)&&(n(T.create)&&T.create(Bs,t),n(T.insert)&&e.push(t))}function g(t){var e;if(n(e=t.fnScopeId))B.setStyleScope(t.elm,e);else for(var r=t;r;)n(e=r.context)&&n(e=e.$options._scopeId)&&B.setStyleScope(t.elm,e),r=r.parent;n(e=Fa)&&e!==t.context&&e!==t.fnContext&&n(e=e.$options._scopeId)&&B.setStyleScope(t.elm,e)}function v(t,e,r,o,n,i){for(;o<=n;++o)l(r[o],i,t,e,!1,r,o)}function y(t){var e,r,o=t.data;if(n(o))for(n(e=o.hook)&&n(e=e.destroy)&&e(t),e=0;e<C.destroy.length;++e)C.destroy[e](t);if(n(e=t.children))for(r=0;r<t.children.length;++r)y(t.children[r])}function w(t,e,r,o){for(;r<=o;++r){var i=e[r];n(i)&&(n(i.tag)?(x(i),y(i)):a(i.elm))}}function x(t,e){if(n(e)||n(t.data)){var o,i=C.remove.length+1;for(n(e)?e.listeners+=i:e=r(t.elm,i),n(o=t.componentInstance)&&n(o=o._vnode)&&n(o.data)&&x(o,e),o=0;o<C.remove.length;++o)C.remove[o](t,e);n(o=t.data.hook)&&n(o=o.remove)?o(t,e):e()}else a(t.elm)}function O(t,e,r,i,a){for(var s,c,u,d,p=0,f=0,b=e.length-1,m=e[0],h=e[b],g=r.length-1,y=r[0],x=r[g],O=!a;p<=b&&f<=g;)o(m)?m=e[++p]:o(h)?h=e[--b]:jr(m,y)?(j(m,y,i,r,f),m=e[++p],y=r[++f]):jr(h,x)?(j(h,x,i,r,g),h=e[--b],x=r[--g]):jr(m,x)?(j(m,x,i,r,g),O&&B.insertBefore(t,m.elm,B.nextSibling(h.elm)),m=e[++p],x=r[--g]):jr(h,y)?(j(h,y,i,r,f),O&&B.insertBefore(t,h.elm,m.elm),h=e[--b],y=r[++f]):(o(s)&&(s=_r(e,p,b)),c=n(y.key)?s[y.key]:k(y,e,p,b),o(c)?l(y,i,t,m.elm,!1,r,f):(u=e[c],jr(u,y)?(j(u,y,i,r,f),e[c]=void 0,O&&B.insertBefore(t,u.elm,m.elm)):l(y,i,t,m.elm,!1,r,f)),y=r[++f]);p>b?(d=o(r[g+1])?null:r[g+1].elm,v(t,d,r,f,g,i)):f>g&&w(t,e,p,b)}function k(t,e,r,o){for(var i=r;i<o;i++){var a=e[i];if(n(a)&&jr(t,a))return i}}function j(t,e,r,a,s,l){if(t!==e){n(e.elm)&&n(a)&&(e=a[s]=I(e));var c=e.elm=t.elm;if(i(t.isAsyncPlaceholder))return void(n(e.asyncFactory.resolved)?_(t.elm,e,r):e.isAsyncPlaceholder=!0);if(i(e.isStatic)&&i(t.isStatic)&&e.key===t.key&&(i(e.isCloned)||i(e.isOnce)))return void(e.componentInstance=t.componentInstance);var u,d=e.data;n(d)&&n(u=d.hook)&&n(u=u.prepatch)&&u(t,e);var p=t.children,f=e.children;if(n(d)&&b(e)){for(u=0;u<C.update.length;++u)C.update[u](t,e);n(u=d.hook)&&n(u=u.update)&&u(t,e)}o(e.text)?n(p)&&n(f)?p!==f&&O(c,p,f,r,l):n(f)?(n(t.text)&&B.setTextContent(c,""),v(c,null,f,0,f.length-1,r)):n(p)?w(c,p,0,p.length-1):n(t.text)&&B.setTextContent(c,""):t.text!==e.text&&B.setTextContent(c,e.text),n(d)&&n(u=d.hook)&&n(u=u.postpatch)&&u(t,e)}}function S(t,e,r){if(i(r)&&n(t.parent))t.parent.data.pendingInsert=e;else for(var o=0;o<e.length;++o)e[o].data.hook.insert(e[o])}function _(t,e,r,o){var a,s=e.tag,l=e.data,c=e.children;if(o=o||l&&l.pre,e.elm=t,i(e.isComment)&&n(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(n(l)&&(n(a=l.hook)&&n(a=a.init)&&a(e,!0),n(a=e.componentInstance)))return u(e,r),!0;if(n(s)){if(n(c))if(t.hasChildNodes())if(n(a=l)&&n(a=a.domProps)&&n(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var d=!0,p=t.firstChild,b=0;b<c.length;b++){if(!p||!_(p,c[b],r,o)){d=!1;break}p=p.nextSibling}if(!d||p)return!1}else f(e,c,r);if(n(l)){var m=!1;for(var g in l)if(!E(g)){m=!0,h(e,r);break}!m&&l.class&&dt(l.class)}}else t.data!==e.text&&(t.data=e.text);return!0}var T,P,C={},$=t.modules,B=t.nodeOps;for(T=0;T<Es.length;++T)for(C[Es[T]]=[],P=0;P<$.length;++P)n($[P][Es[T]])&&C[Es[T]].push($[P][Es[T]]);var E=m("attrs,class,staticClass,staticStyle,key");return function(t,r,a,s){if(o(r))return void(n(t)&&y(t));var c=!1,u=[];if(o(t))c=!0,l(r,u);else{var d=n(t.nodeType);if(!d&&jr(t,r))j(t,r,u,null,null,s);else{if(d){if(1===t.nodeType&&t.hasAttribute(Fi)&&(t.removeAttribute(Fi),a=!0),i(a)&&_(t,r,u))return S(r,u,!0),t;t=e(t)}var p=t.elm,f=B.parentNode(p);if(l(r,u,p._leaveCb?null:f,B.nextSibling(p)),n(r.parent))for(var m=r.parent,h=b(r);m;){for(var g=0;g<C.destroy.length;++g)C.destroy[g](m);if(m.elm=r.elm,h){for(var v=0;v<C.create.length;++v)C.create[v](Bs,m);var x=m.data.hook.insert;if(x.merged)for(var O=1;O<x.fns.length;O++)x.fns[O]()}else kr(m);m=m.parent}n(f)?w(f,[t],0,0):n(t.tag)&&y(t)}}return S(r,u,c),r.elm}}({nodeOps:Cs,modules:ul});Zi&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&Uo(t,"input")});var pl={inserted:function(t,e,r,o){"select"===r.tag?(o.elm&&!o.elm._vOptions?mt(r,"postpatch",function(){pl.componentUpdated(t,e,r)}):Ro(t,e,r.context),t._vOptions=[].map.call(t.options,Vo)):("textarea"===r.tag||Ps(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Ho),t.addEventListener("compositionend",Go),t.addEventListener("change",Go),Zi&&(t.vmodel=!0)))},componentUpdated:function(t,e,r){if("select"===r.tag){Ro(t,e,r.context);var o=t._vOptions,n=t._vOptions=[].map.call(t.options,Vo);if(n.some(function(t,e){return!S(t,o[e])})){(t.multiple?e.value.some(function(t){return Mo(t,n)}):e.value!==e.oldValue&&Mo(e.value,n))&&Uo(t,"change")}}}},fl={bind:function(t,e,r){var o=e.value;r=Wo(r);var n=r.data&&r.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;o&&n?(r.data.show=!0,Ao(r,function(){t.style.display=i})):t.style.display=o?i:"none"},update:function(t,e,r){var o=e.value;!o!=!e.oldValue&&(r=Wo(r),r.data&&r.data.transition?(r.data.show=!0,o?Ao(r,function(){t.style.display=t.__vOriginalDisplay}):Io(r,function(){t.style.display="none"})):t.style.display=o?t.__vOriginalDisplay:"none")},unbind:function(t,e,r,o,n){n||(t.style.display=t.__vOriginalDisplay)}},bl={model:pl,show:fl},ml={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},hl=function(t){return t.tag||le(t)},gl=function(t){return"show"===t.name},vl={name:"transition",props:ml,abstract:!0,render:function(t){var e=this,r=this.$slots.default;if(r&&(r=r.filter(hl),r.length)){var o=this.mode,n=r[0];if(Xo(this.$vnode))return n;var i=qo(n);if(!i)return n;if(this._leaving)return Zo(t,n);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:s(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var l=(i.data||(i.data={})).transition=Ko(this),c=this._vnode,u=qo(c);if(i.data.directives&&i.data.directives.some(gl)&&(i.data.show=!0),u&&u.data&&!Jo(i,u)&&!le(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var d=u.data.transition=O({},l);if("out-in"===o)return this._leaving=!0,mt(d,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),Zo(t,n);if("in-out"===o){if(le(i))return c;var p,f=function(){p()};mt(l,"afterEnter",f),mt(l,"enterCancelled",f),mt(d,"delayLeave",function(t){p=t})}}return n}}},yl=O({tag:String,moveClass:String},ml);delete yl.mode;var wl={props:yl,beforeMount:function(){var t=this,e=this._update;this._update=function(r,o){var n=me(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,n(),e.call(t,r,o)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",r=Object.create(null),o=this.prevChildren=this.children,n=this.$slots.default||[],i=this.children=[],a=Ko(this),s=0;s<n.length;s++){var l=n[s];if(l.tag)if(null!=l.key&&0!==String(l.key).indexOf("__vlist"))i.push(l),r[l.key]=l,(l.data||(l.data={})).transition=a;else;}if(o){for(var c=[],u=[],d=0;d<o.length;d++){var p=o[d];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),r[p.key]?c.push(p):u.push(p)}this.kept=t(e,null,c),this.removed=u}return t(e,null,i)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(Yo),t.forEach(Qo),t.forEach(tn),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var r=t.elm,o=r.style;Po(r,e),o.transform=o.WebkitTransform=o.transitionDuration="",r.addEventListener(ol,r._moveCb=function t(o){o&&o.target!==r||o&&!/transform$/.test(o.propertyName)||(r.removeEventListener(ol,t),r._moveCb=null,Co(r,e))})}}))},methods:{hasMove:function(t,e){if(!Qs)return!1;if(this._hasMove)return this._hasMove;var r=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){So(r,t)}),jo(r,e),r.style.display="none",this.$el.appendChild(r);var o=Bo(r);return this.$el.removeChild(r),this._hasMove=o.hasTransform}}},xl={Transition:vl,TransitionGroup:wl};Ge.config.mustUseProp=fs,Ge.config.isReservedTag=_s,Ge.config.isReservedAttr=ds,Ge.config.getTagNamespace=lr,Ge.config.isUnknownElement=cr,O(Ge.options.directives,bl),O(Ge.options.components,xl),Ge.prototype.__patch__=Gi?dl:j,Ge.prototype.$mount=function(t,e){return t=t&&Gi?ur(t):void 0,ge(this,t,e)},Gi&&setTimeout(function(){Li.devtools&&ia&&ia.emit("init",Ge)},0);var Ol,kl,jl,Sl,_l,Tl,Pl,Cl,$l,Bl,El,Dl,Al,Il=/\{\{((?:.|\r?\n)+?)\}\}/g,zl=/[-.*+?^${}()|[\]\/\\]/g,Fl=v(function(t){var e=t[0].replace(zl,"\\$&"),r=t[1].replace(zl,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+r,"g")}),Nl={staticKeys:["staticClass"],transformNode:rn,genData:on},Rl={staticKeys:["staticStyle"],transformNode:nn,genData:an},Ll={decode:function(t){return Ol=Ol||document.createElement("div"),Ol.innerHTML=t,Ol.textContent}},Ml=m("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Vl=m("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Hl=m("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Gl=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Ul=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Wl="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+Mi.source+"]*",ql="((?:"+Wl+"\\:)?"+Wl+")",Kl=new RegExp("^<"+ql),Zl=/^\s*(\/?)>/,Xl=new RegExp("^<\\/"+ql+"[^>]*>"),Jl=/^<!DOCTYPE [^>]+>/i,Yl=/^<!\--/,Ql=/^<!\[/,tc=m("script,style,textarea",!0),ec={},rc={"<":"<",">":">",""":'"',"&":"&"," ":"\n","	":"\t","'":"'"},oc=/&(?:lt|gt|quot|amp|#39);/g,nc=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,ic=m("pre,textarea",!0),ac=function(t,e){return t&&ic(t)&&"\n"===e[0]},sc=/^@|^v-on:/,lc=/^v-|^@|^:/,cc=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,uc=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,dc=/^\(|\)$/g,pc=/^\[.*\]$/,fc=/:(.*)$/,bc=/^:|^\.|^v-bind:/,mc=/\.[^.\]]+(?=[^\]]*$)/g,hc=/^v-slot(:|$)|^#/,gc=/[\r\n]/,vc=/\s+/g,yc=v(Ll.decode),wc="_empty_",xc=/^xmlns:NS\d+/,Oc=/^NS\d+:/,kc={preTransformNode:An},jc=[Nl,Rl,kc],Sc={model:io,text:zn,html:Fn},_c={expectHTML:!0,modules:jc,directives:Sc,isPreTag:Ss,isUnaryTag:Ml,mustUseProp:fs,canBeLeftOpenTag:Vl,isReservedTag:_s,getTagNamespace:lr,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")}(jc)},Tc=v(Rn),Pc=/^([\w$_]+|\([^)]*?\))\s*=>|^function\s*(?:[\w$]+)?\s*\(/,Cc=/\([^)]*?\);*$/,$c=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Bc={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ec={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Dc=function(t){return"if("+t+")return null;"},Ac={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Dc("$event.target !== $event.currentTarget"),ctrl:Dc("!$event.ctrlKey"),shift:Dc("!$event.shiftKey"),alt:Dc("!$event.altKey"),meta:Dc("!$event.metaKey"),left:Dc("'button' in $event && $event.button !== 0"),middle:Dc("'button' in $event && $event.button !== 1"),right:Dc("'button' in $event && $event.button !== 2")},Ic={on:Kn,bind:Zn,cloak:j},zc=function(t){this.options=t,this.warn=t.warn||Nr,this.transforms=Rr(t.modules,"transformCode"),this.dataGenFns=Rr(t.modules,"genData"),this.directives=O(O({},Ic),t.directives);var e=t.isReservedTag||Ii;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1},Fc=(new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)"),function(t){return function(e){function r(r,o){var n=Object.create(e),i=[],a=[],s=function(t,e,r){(r?a:i).push(t)};if(o){o.modules&&(n.modules=(e.modules||[]).concat(o.modules)),o.directives&&(n.directives=O(Object.create(e.directives||null),o.directives));for(var l in o)"modules"!==l&&"directives"!==l&&(n[l]=o[l])}n.warn=s;var c=t(r.trim(),n);return c.errors=i,c.tips=a,c}return{compile:r,compileToFunctions:xi(r)}}}(function(t,e){var r=un(t.trim(),e);!1!==e.optimize&&Nn(r,e);var o=Xn(r,e);return{ast:r,render:o.render,staticRenderFns:o.staticRenderFns}})),Nc=Fc(_c),Rc=(Nc.compile,Nc.compileToFunctions),Lc=!!Gi&&Oi(!1),Mc=!!Gi&&Oi(!0),Vc=v(function(t){var e=ur(t);return e&&e.innerHTML}),Hc=Ge.prototype.$mount;Ge.prototype.$mount=function(t,e){if((t=t&&ur(t))===document.body||t===document.documentElement)return this;var r=this.$options;if(!r.render){var o=r.template;if(o)if("string"==typeof o)"#"===o.charAt(0)&&(o=Vc(o));else{if(!o.nodeType)return this;o=o.innerHTML}else t&&(o=ki(t));if(o){var n=Rc(o,{outputSourceRange:!1,shouldDecodeNewlines:Lc,shouldDecodeNewlinesForHref:Mc,delimiters:r.delimiters,comments:r.comments},this),i=n.render,a=n.staticRenderFns;r.render=i,r.staticRenderFns=a}}return Hc.call(this,t,e)},Ge.compile=Rc,e.default=Ge}.call(e,r(25),r(224).setImmediate)},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t){return c(t)||l(t)||s()}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function l(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function c(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}var u=r(1),d=r(8),p=function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return Object(u.a)(e)?e.reduce(function(e,r){return[].concat(a(e),[t(r,r)])},[]):Object(u.j)(e)?Object(d.j)(e).reduce(function(r,o){return n({},r,i({},o,t(e[o],e[o])))},{}):r};e.a=p},function(t,e,r){"use strict";var o=r(8),n=function(t){var e=Object(o.b)(null);return function(){for(var r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];var i=JSON.stringify(o);return e[i]=e[i]||t.apply(null,o)}};e.a=n},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i=r(108),a=o.a.extend({name:"BBreadcrumbItem",functional:!0,props:i.b,render:function(t,e){var r=e.props,o=e.data,a=e.children;return t("li",Object(n.a)(o,{staticClass:"breadcrumb-item",class:{active:r.active}}),[t(i.a,{props:r},a)])}})},function(t,e,r){"use strict";var o=r(1),n=function(t){return Object(o.m)(t)||(t=String(t)),t=t.trim(),t.charAt(0).toUpperCase()+t.slice(1)};e.a=n},function(t,e,r){"use strict";function o(t){return a(t)||i(t)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function i(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function a(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return g}),r.d(e,"a",function(){return v});var c=r(0),u=r(2),d=r(35),p=r(36),f=r(15),b=r(37),m=r(56),h=r(57),g=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(r,!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},Object(p.a)(b.a.props,d.a.bind(null,"body")),{bodyClass:{type:[String,Object,Array],default:null}},m.b,{},h.b,{overlay:{type:Boolean,default:!1}}),v=c.a.extend({name:"BCardBody",functional:!0,props:g,render:function(t,e){var r,n=e.props,i=e.data,a=e.children,s=t(),c=t(),d=a||[t()];return n.title&&(s=t(m.a,{props:Object(f.a)(m.b,n)})),n.subTitle&&(c=t(h.a,{props:Object(f.a)(h.b,n),class:["mb-2"]})),t(n.bodyTag,Object(u.a)(i,{staticClass:"card-body",class:[(r={"card-img-overlay":n.overlay},l(r,"bg-".concat(n.bodyBgVariant),Boolean(n.bodyBgVariant)),l(r,"border-".concat(n.bodyBorderVariant),Boolean(n.bodyBorderVariant)),l(r,"text-".concat(n.bodyTextVariant),Boolean(n.bodyTextVariant)),r),n.bodyClass||{}]}),[s,c].concat(o(d)))}})},function(t,e,r){"use strict";r.d(e,"b",function(){return i}),r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={title:{type:String,default:""},titleTag:{type:String,default:"h4"}},a=o.a.extend({name:"BCardTitle",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.titleTag,Object(n.a)(o,{staticClass:"card-title"}),i||r.title)}})},function(t,e,r){"use strict";r.d(e,"b",function(){return s}),r.d(e,"a",function(){return l});var o=r(0),n=r(2),i=r(4),a="BCardSubTitle",s={subTitle:{type:String,default:""},subTitleTag:{type:String,default:"h6"},subTitleTextVariant:{type:String,default:function(){return Object(i.c)(a,"subTitleTextVariant")}}},l=o.a.extend({name:a,functional:!0,props:s,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.subTitleTag,Object(n.a)(o,{staticClass:"card-subtitle",class:[r.subTitleTextVariant?"text-".concat(r.subTitleTextVariant):null]}),i||r.subTitle)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return d}),r.d(e,"a",function(){return p});var i=r(0),a=r(2),s=r(35),l=r(36),c=r(11),u=r(37),d=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},Object(l.a)(u.a.props,s.a.bind(null,"header")),{header:{type:String,default:null},headerHtml:{type:String,default:null},headerClass:{type:[String,Object,Array],default:null}}),p=i.a.extend({name:"BCardHeader",functional:!0,props:d,render:function(t,e){var r,o=e.props,i=e.data,s=e.children;return t(o.headerTag,Object(a.a)(i,{staticClass:"card-header",class:[o.headerClass,(r={},n(r,"bg-".concat(o.headerBgVariant),Boolean(o.headerBgVariant)),n(r,"border-".concat(o.headerBorderVariant),Boolean(o.headerBorderVariant)),n(r,"text-".concat(o.headerTextVariant),Boolean(o.headerTextVariant)),r)]}),s||[t("div",{domProps:Object(c.a)(o.headerHtml,o.header)})])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return d}),r.d(e,"a",function(){return p});var i=r(0),a=r(2),s=r(35),l=r(36),c=r(11),u=r(37),d=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},Object(l.a)(u.a.props,s.a.bind(null,"footer")),{footer:{type:String,default:null},footerHtml:{type:String,default:null},footerClass:{type:[String,Object,Array],default:null}}),p=i.a.extend({name:"BCardFooter",functional:!0,props:d,render:function(t,e){var r,o=e.props,i=e.data,s=e.children;return t(o.footerTag,Object(a.a)(i,{staticClass:"card-footer",class:[o.footerClass,(r={},n(r,"bg-".concat(o.footerBgVariant),Boolean(o.footerBgVariant)),n(r,"border-".concat(o.footerBorderVariant),Boolean(o.footerBorderVariant)),n(r,"text-".concat(o.footerTextVariant),Boolean(o.footerTextVariant)),r)]}),s||[t("div",{domProps:Object(c.a)(o.footerHtml,o.footer)})])}})},function(t,e,r){"use strict";r.d(e,"b",function(){return i}),r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={src:{type:String,default:null,required:!0},alt:{type:String,default:null},top:{type:Boolean,default:!1},bottom:{type:Boolean,default:!1},start:{type:Boolean,default:!1},left:{type:Boolean,default:!1},end:{type:Boolean,default:!1},right:{type:Boolean,default:!1},height:{type:[Number,String],default:null},width:{type:[Number,String],default:null}},a=o.a.extend({name:"BCardImg",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i="card-img";return r.top?i+="-top":r.right||r.end?i+="-right":r.bottom?i+="-bottom":(r.left||r.start)&&(i+="-left"),t("img",Object(n.a)(o,{class:[i],attrs:{src:r.src,alt:r.alt,height:r.height,width:r.width}}))}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return c}),r.d(e,"a",function(){return u});var n=r(0),i=r(4),a=r(10),s=r(117),l=r(38),c={src:{type:String,default:null,required:!0},alt:{type:String,default:null},width:{type:[Number,String],default:null},height:{type:[Number,String],default:null},blankSrc:{type:String,default:null},blankColor:{type:String,default:function(){return Object(i.c)("BImgLazy","blankColor")}},blankWidth:{type:[Number,String],default:null},blankHeight:{type:[Number,String],default:null},show:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},fluidGrow:{type:Boolean,default:!1},block:{type:Boolean,default:!1},thumbnail:{type:Boolean,default:!1},rounded:{type:[Boolean,String],default:!1},left:{type:Boolean,default:!1},right:{type:Boolean,default:!1},center:{type:Boolean,default:!1},offset:{type:[Number,String],default:360}},u=n.a.extend({name:"BImgLazy",directives:{bVisible:s.a},props:c,data:function(){return{isShown:this.show}},computed:{computedSrc:function(){return!this.blankSrc||this.isShown?this.src:this.blankSrc},computedBlank:function(){return!(this.isShown||this.blankSrc)},computedWidth:function(){return this.isShown?this.width:this.blankWidth||this.width},computedHeight:function(){return this.isShown?this.height:this.blankHeight||this.height}},watch:{show:function(t,e){if(t!==e){var r=!a.c||t;this.isShown=r,r!==t&&this.$nextTick(this.updateShowProp)}},isShown:function(t,e){t!==e&&this.updateShowProp()}},mounted:function(){this.isShown=!a.c||this.show},methods:{updateShowProp:function(){this.$emit("update:show",this.isShown)},doShow:function(t){!t&&null!==t||this.isShown||(this.isShown=!0)}},render:function(t){var e=[];if(!this.isShown){var r;e.push({name:"b-visible",value:this.doShow,modifiers:(r={},o(r,"".concat(parseInt(this.offset,10)||0),!0),o(r,"once",!0),r)})}return t(l.a,{directives:e,props:{src:this.computedSrc,blank:this.computedBlank,width:this.computedWidth,height:this.computedHeight,alt:this.alt,blankColor:this.blankColor,fluid:this.fluid,fluidGrow:this.fluidGrow,block:this.block,thumbnail:this.thumbnail,rounded:this.rounded,left:this.left,right:this.right,center:this.center}})}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(123),n=r(63),i=r(3),a=Object(i.b)({components:{BCollapse:o.a},directives:{VBToggle:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return p});var o=r(12),n=r(6),i=r(10),a=r(252),s={click:!0},l="__BV_toggle__",c=function(t,e){t[e]=null,delete t[e]},u=function(t){var e=t.targets,r=t.vnode;e.forEach(function(t){r.context.$root.$emit("bv::toggle::collapse",t)})},d=function(t,e,r){if(i.j){if(!Object(o.a)(Object(a.b)(e),t.__BV_toggle_TARGETS__)){Object(a.c)(r,e,s);var l=Object(a.a)(r,e,s,u);t.__BV_toggle_TARGETS__=l,t.__BV_toggle_CONTROLS__=l.join(" "),Object(n.z)(t,"aria-controls",t.__BV_toggle_CONTROLS__),l.forEach(function(t){r.context.$root.$emit("bv::request::collapse::state",t)})}!0===t.__BV_toggle_STATE__?(Object(n.b)(t,"collapsed"),Object(n.z)(t,"aria-expanded","true")):!1===t.__BV_toggle_STATE__&&(Object(n.v)(t,"collapsed"),Object(n.z)(t,"aria-expanded","false")),Object(n.z)(t,"aria-controls",t.__BV_toggle_CONTROLS__)}},p={bind:function(t,e,r){var o=Object(a.a)(r,e,s,u);if(i.j&&r.context&&o.length>0){t.__BV_toggle_TARGETS__=o,t.__BV_toggle_CONTROLS__=o.join(" "),t.__BV_toggle_STATE__=!1,Object(n.z)(t,"aria-controls",t.__BV_toggle_CONTROLS__),Object(n.z)(t,"aria-expanded","false"),"BUTTON"===t.tagName||Object(n.l)(t,"role")||Object(n.z)(t,"role","button");var c=function(e,r){-1!==(t.__BV_toggle_TARGETS__||[]).indexOf(e)&&(Object(n.z)(t,"aria-expanded",r?"true":"false"),t.__BV_toggle_STATE__=r,r?Object(n.v)(t,"collapsed"):Object(n.b)(t,"collapsed"))};t[l]=c,r.context.$root.$on("bv::collapse::state",t[l]),r.context.$root.$on("bv::collapse::sync::state",t[l])}},componentUpdated:d,updated:d,unbind:function(t,e,r){Object(a.c)(r,e,s),t[l]&&(r.context.$root.$off("bv::collapse::state",t[l]),r.context.$root.$off("bv::collapse::sync::state",t[l])),c(t,l),c(t,"__BV_toggle_STATE__"),c(t,"__BV_toggle_CONTROLS__"),c(t,"__BV_toggle_TARGETS__"),Object(n.v)(t,"collapsed"),Object(n.u)(t,"aria-expanded"),Object(n.u)(t,"aria-controls"),Object(n.u)(t,"role")}}},function(t,e,r){"use strict";r.d(e,"b",function(){return f}),r.d(e,"a",function(){return b});var o=r(0),n=r(7),i=r(11),a=r(4),s=r(17),l=r(9),c=r(124),u=r(5),d=r(34),p="BDropdown",f={toggleText:{type:String,default:function(){return Object(a.c)(p,"toggleText")}},size:{type:String,default:function(){return Object(a.c)(p,"size")}},variant:{type:String,default:function(){return Object(a.c)(p,"variant")}},menuClass:{type:[String,Array],default:null},toggleTag:{type:String,default:"button"},toggleClass:{type:[String,Array],default:null},noCaret:{type:Boolean,default:!1},split:{type:Boolean,default:!1},splitHref:{type:String},splitTo:{type:[String,Object]},splitVariant:{type:String,default:function(){return Object(a.c)(p,"splitVariant")}},splitButtonType:{type:String,default:"button",validator:function(t){return Object(n.a)(["button","submit","reset"],t)}},role:{type:String,default:"menu"},boundary:{type:[String,s.b],default:"scrollParent"}},b=o.a.extend({name:p,mixins:[l.a,c.a,u.a],props:f,computed:{dropdownClasses:function(){return[this.directionClass,{show:this.visible,"position-static":"scrollParent"!==this.boundary||!this.boundary}]},menuClasses:function(){return[this.menuClass,{"dropdown-menu-right":this.right,show:this.visible}]},toggleClasses:function(){return[this.toggleClass,{"dropdown-toggle-split":this.split,"dropdown-toggle-no-caret":this.noCaret&&!this.split}]}},render:function(t){var e=t(),r=this.normalizeSlot("button-content")||this.html||Object(i.b)(this.text);if(this.split){var o={disabled:this.disabled,variant:this.splitVariant||this.variant,size:this.size};this.splitTo?o.to=this.splitTo:this.splitHref?o.href=this.splitHref:this.splitButtonType&&(o.type=this.splitButtonType),e=t(d.a,{ref:"button",props:o,attrs:{id:this.safeId("_BV_button_")},on:{click:this.click}},[r])}var n=t(d.a,{ref:"toggle",staticClass:"dropdown-toggle",class:this.toggleClasses,props:{variant:this.variant,size:this.size,disabled:this.disabled,tag:this.toggleTag},attrs:{id:this.safeId("_BV_toggle_"),"aria-haspopup":"true","aria-expanded":this.visible?"true":"false"},on:{click:this.toggle,keydown:this.toggle}},[this.split?t("span",{class:["sr-only"]},[this.toggleText]):r]),a=t("ul",{ref:"menu",staticClass:"dropdown-menu",class:this.menuClasses,attrs:{role:this.role,tabindex:"-1","aria-labelledby":this.safeId(this.split?"_BV_button_":"_BV_toggle_")},on:{keydown:this.onKeydown}},!this.lazy||this.visible?this.normalizeSlot("default",{hide:this.hide}):[t()]);return t("div",{staticClass:"dropdown btn-group b-dropdown",class:this.dropdownClasses,attrs:{id:this.safeId()}},[e,n,a])}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(4),s={id:{type:String,default:null},tag:{type:String,default:"small"},textVariant:{type:String,default:function(){return Object(a.c)("BFormText","textVariant")}},inline:{type:Boolean,default:!1}},l=n.a.extend({name:"BFormText",functional:!0,props:s,render:function(t,e){var r=e.props,n=e.data,a=e.children;return t(r.tag,Object(i.a)(n,{class:o({"form-text":!r.inline},"text-".concat(r.textVariant),Boolean(r.textVariant)),attrs:{id:r.id}}),a)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={id:{type:String,default:null},tag:{type:String,default:"div"},tooltip:{type:Boolean,default:!1},forceShow:{type:Boolean,default:!1},state:{type:Boolean,default:null},ariaLive:{type:String,default:null},role:{type:String,default:null}},a=o.a.extend({name:"BFormInvalidFeedback",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children,a=!0===r.forceShow||!1===r.state;return t(r.tag,Object(n.a)(o,{class:{"invalid-feedback":!r.tooltip,"invalid-tooltip":r.tooltip,"d-block":a},attrs:{id:r.id,role:r.role,"aria-live":r.ariaLive,"aria-atomic":r.ariaLive?"true":null}}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={id:{type:String,default:null},tag:{type:String,default:"div"},tooltip:{type:Boolean,default:!1},forceShow:{type:Boolean,default:!1},state:{type:Boolean,default:null},ariaLive:{type:String,default:null},role:{type:String,default:null}},a=o.a.extend({name:"BFormValidFeedback",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children,a=!0===r.forceShow||!0===r.state;return t(r.tag,Object(n.a)(o,{class:{"valid-feedback":!r.tooltip,"valid-tooltip":r.tooltip,"d-block":a},attrs:{id:r.id,role:r.role,"aria-live":r.ariaLive,"aria-atomic":r.ariaLive?"true":null}}),i)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return y});var a=r(2),s=r(52),l=r(253),c=r(7),u=r(1),d=r(8),p=r(4),f=function(){return{type:[Boolean,String,Number],default:!1}},b=function(){return{type:[String,Number],default:null}},m=function(t,e,r){var o=t;if(!Object(u.n)(r)&&!Object(u.g)(r)&&!1!==r)return e&&(o+="-".concat(e)),"col"!==t||""!==r&&!0!==r?(o+="-".concat(r),o.toLowerCase()):o.toLowerCase()},h=Object(s.a)(m),g=Object(d.b)(null),v=function(){var t=Object(p.b)().filter(Boolean),e=t.reduce(function(t,e){return e&&(t[e]=f()),t},Object(d.b)(null)),r=t.reduce(function(t,e){return t[Object(l.a)(e,"offset")]=b(),t},Object(d.b)(null)),o=t.reduce(function(t,e){return t[Object(l.a)(e,"order")]=b(),t},Object(d.b)(null));return g=Object(d.a)(Object(d.b)(null),{col:Object(d.j)(e),offset:Object(d.j)(r),order:Object(d.j)(o)}),n({col:{type:Boolean,default:!1},cols:b()},e,{offset:b()},r,{order:b()},o,{alignSelf:{type:String,default:null,validator:function(t){return Object(c.a)(["auto","start","end","center","baseline","stretch"],t)}},tag:{type:String,default:"div"}})},y={name:"BCol",functional:!0,get props(){return delete this.props,this.props=v()},render:function(t,e){var r,o=e.props,n=e.data,s=e.children,l=[];for(var c in g)for(var u=g[c],d=0;d<u.length;d++){var p=h(c,u[d].replace(c,""),o[u[d]]);p&&l.push(p)}var f=l.some(function(t){return/^col-/.test(t)});return l.push((r={col:o.col||!f&&!o.cols},i(r,"col-".concat(o.cols),o.cols),i(r,"offset-".concat(o.offset),o.offset),i(r,"order-".concat(o.order),o.order),i(r,"align-self-".concat(o.alignSelf),o.alignSelf),r)),t(o.tag,Object(a.a)(n,{class:l}),s)}}},function(t,e,r){"use strict";r.d(e,"a",function(){return p});var o=r(0),n=r(12),i=r(254),a=r(1),s=r(20),l=r(140),c=r(24),u=r(16),d=r(9),p=o.a.extend({name:"BFormCheckbox",mixins:[l.a,d.a,s.a,c.a,u.a],inject:{bvGroup:{from:"bvCheckGroup",default:!1}},props:{value:{default:!0},uncheckedValue:{default:!1},indeterminate:{type:Boolean,default:!1},switch:{type:Boolean,default:!1},checked:{default:null}},computed:{isChecked:function(){var t=this.computedLocalChecked,e=this.value;return Object(a.a)(t)?Object(i.a)(t,e)>-1:Object(n.a)(t,e)},isRadio:function(){return!1},isCheck:function(){return!0}},watch:{computedLocalChecked:function(t,e){this.$emit("input",t),this.$refs&&this.$refs.input&&this.$emit("update:indeterminate",this.$refs.input.indeterminate)},indeterminate:function(t,e){this.setIndeterminate(t)}},mounted:function(){this.setIndeterminate(this.indeterminate)},methods:{handleChange:function(t){var e=t.target,r=e.checked,o=e.indeterminate,n=this.computedLocalChecked,s=this.value,l=Object(a.a)(n),c=l?null:this.uncheckedValue;if(l){var u=Object(i.a)(n,s);r&&u<0?n=n.concat(s):!r&&u>-1&&(n=n.slice(0,u).concat(n.slice(u+1)))}else n=r?s:c;this.computedLocalChecked=n,this.$emit("change",r?s:c),this.isGroup&&this.bvGroup.$emit("change",n),this.$emit("update:indeterminate",o)},setIndeterminate:function(t){Object(a.a)(this.computedLocalChecked)&&(t=!1),this.$refs&&this.$refs.input&&(this.$refs.input.indeterminate=t,this.$emit("update:indeterminate",t))}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(9),i=r(20),a=r(16),s=r(24),l=r(140),c=r(12),u=o.a.extend({name:"BFormRadio",mixins:[n.a,l.a,i.a,s.a,a.a],inject:{bvGroup:{from:"bvRadioGroup",default:!1}},props:{checked:{default:null}},computed:{isChecked:function(){return Object(c.a)(this.value,this.computedLocalChecked)},isRadio:function(){return!0},isCheck:function(){return!1}},watch:{computedLocalChecked:function(t,e){this.$emit("input",this.computedLocalChecked)}},methods:{handleChange:function(t){var e=t.target.checked,r=this.value;this.computedLocalChecked=r,this.$emit("change",e?r:null),this.isGroup&&this.bvGroup.$emit("change",e?r:null)}}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l=r(45),c=a.a.extend({name:"BInputGroupPrepend",functional:!0,props:l.b,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(l.a,Object(s.a)(o,{props:n({},r,{append:!1})}),i)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l=r(45),c=a.a.extend({name:"BInputGroupAppend",functional:!0,props:l.b,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(l.a,Object(s.a)(o,{props:n({},r,{append:!0})}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"},fluid:{type:Boolean,default:!1}},a=o.a.extend({name:"BContainer",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{class:{container:!r.fluid,"container-fluid":r.fluid}}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"}},a=o.a.extend({name:"BMediaBody",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{staticClass:"media-body"}),i)}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return s});var n=r(0),i=r(2),a={tag:{type:String,default:"div"},verticalAlign:{type:String,default:"top"}},s=n.a.extend({name:"BMediaAside",functional:!0,props:a,render:function(t,e){var r=e.props,n=e.data,a=e.children,s="top"===r.verticalAlign?"start":"bottom"===r.verticalAlign?"end":r.verticalAlign;return t(r.tag,Object(i.a)(n,{staticClass:"d-flex",class:o({},"align-self-".concat(s),s)}),a)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return B}),r.d(e,"a",function(){return E});var a=r(0),s=r(30),l=r(19),c=r(39),u=r(7),d=r(4),p=r(6),f=r(10),b=r(11),m=r(1),h=r(17),g=r(255),v=r(9),y=r(27),w=r(5),x=r(77),O=r(34),k=r(31),j=r(256),S=r(257),_="BModal",T={subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["style","class"]},P={passive:!0,capture:!1},C=["button","[href]:not(.disabled)","input","select","textarea","[tabindex]","[contenteditable]"].map(function(t){return"".concat(t,":not(:disabled):not([disabled])")}).join(", "),$=function(t){if(t&&Object(p.p)(t)&&t.focus)try{t.focus()}catch(t){}return document.activeElement===t},B={size:{type:String,default:function(){return Object(d.c)(_,"size")}},centered:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},buttonSize:{type:String,default:""},noStacking:{type:Boolean,default:!1},noFade:{type:Boolean,default:!1},noCloseOnBackdrop:{type:Boolean,default:!1},noCloseOnEsc:{type:Boolean,default:!1},noEnforceFocus:{type:Boolean,default:!1},title:{type:String,default:""},titleHtml:{type:String},titleTag:{type:String,default:function(){return Object(d.c)(_,"titleTag")}},titleClass:{type:[String,Array,Object],default:null},titleSrOnly:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},headerBgVariant:{type:String,default:function(){return Object(d.c)(_,"headerBgVariant")}},headerBorderVariant:{type:String,default:function(){return Object(d.c)(_,"headerBorderVariant")}},headerTextVariant:{type:String,default:function(){return Object(d.c)(_,"headerTextVariant")}},headerCloseVariant:{type:String,default:function(){return Object(d.c)(_,"headerCloseVariant")}},headerClass:{type:[String,Array,Object],default:null},bodyBgVariant:{type:String,default:function(){return Object(d.c)(_,"bodyBgVariant")}},bodyTextVariant:{type:String,default:function(){return Object(d.c)(_,"bodyTextVariant")}},modalClass:{type:[String,Array,Object],default:null},dialogClass:{type:[String,Array,Object],default:null},contentClass:{type:[String,Array,Object],default:null},bodyClass:{type:[String,Array,Object],default:null},footerBgVariant:{type:String,default:function(){return Object(d.c)(_,"footerBgVariant")}},footerBorderVariant:{type:String,default:function(){return Object(d.c)(_,"footerBorderVariant")}},footerTextVariant:{type:String,default:function(){return Object(d.c)(_,"footerTextVariant")}},footerClass:{type:[String,Array,Object],default:null},hideHeader:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},hideHeaderClose:{type:Boolean,default:!1},hideBackdrop:{type:Boolean,default:!1},okOnly:{type:Boolean,default:!1},okDisabled:{type:Boolean,default:!1},cancelDisabled:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},returnFocus:{type:[h.b,String,Object],default:null},headerCloseLabel:{type:String,default:function(){return Object(d.c)(_,"headerCloseLabel")}},cancelTitle:{type:String,default:function(){return Object(d.c)(_,"cancelTitle")}},cancelTitleHtml:{type:String},okTitle:{type:String,default:function(){return Object(d.c)(_,"okTitle")}},okTitleHtml:{type:String},cancelVariant:{type:String,default:function(){return Object(d.c)(_,"cancelVariant")}},okVariant:{type:String,default:function(){return Object(d.c)(_,"okVariant")}},lazy:{type:Boolean,default:!1},busy:{type:Boolean,default:!1},static:{type:Boolean,default:!1},autoFocusButton:{type:String,default:null,validator:function(t){return Object(m.o)(t)||Object(u.a)(["ok","cancel","close"],t)}}},E=a.a.extend({name:_,mixins:[v.a,y.a,w.a,x.a],inheritAttrs:!1,model:{prop:"visible",event:"change"},props:B,data:function(){return{isHidden:!0,isVisible:!1,isTransitioning:!1,isShow:!1,isBlock:!1,isOpening:!1,isClosing:!1,ignoreBackdropClick:!1,isModalOverflowing:!1,return_focus:this.returnFocus||null,scrollbarWidth:0,zIndex:j.a.getBaseZIndex(),isTop:!0,isBodyOverflowing:!1}},computed:{modalClasses:function(){return[{fade:!this.noFade,show:this.isShow},this.modalClass]},modalStyles:function(){var t="".concat(this.scrollbarWidth,"px");return{paddingLeft:!this.isBodyOverflowing&&this.isModalOverflowing?t:"",paddingRight:this.isBodyOverflowing&&!this.isModalOverflowing?t:"",display:this.isBlock?"block":"none"}},dialogClasses:function(){var t;return[(t={},i(t,"modal-".concat(this.size),Boolean(this.size)),i(t,"modal-dialog-centered",this.centered),i(t,"modal-dialog-scrollable",this.scrollable),t),this.dialogClass]},headerClasses:function(){var t;return[(t={},i(t,"bg-".concat(this.headerBgVariant),Boolean(this.headerBgVariant)),i(t,"text-".concat(this.headerTextVariant),Boolean(this.headerTextVariant)),i(t,"border-".concat(this.headerBorderVariant),Boolean(this.headerBorderVariant)),t),this.headerClass]},titleClasses:function(){return[{"sr-only":this.titleSrOnly},this.titleClass]},bodyClasses:function(){var t;return[(t={},i(t,"bg-".concat(this.bodyBgVariant),Boolean(this.bodyBgVariant)),i(t,"text-".concat(this.bodyTextVariant),Boolean(this.bodyTextVariant)),t),this.bodyClass]},footerClasses:function(){var t;return[(t={},i(t,"bg-".concat(this.footerBgVariant),Boolean(this.footerBgVariant)),i(t,"text-".concat(this.footerTextVariant),Boolean(this.footerTextVariant)),i(t,"border-".concat(this.footerBorderVariant),Boolean(this.footerBorderVariant)),t),this.footerClass]},modalOuterStyle:function(){return{position:"absolute",zIndex:this.zIndex}},slotScope:function(){return{ok:this.onOk,cancel:this.onCancel,close:this.onClose,hide:this.hide,visible:this.isVisible}}},watch:{visible:function(t,e){t!==e&&this[t?"show":"hide"]()}},created:function(){this._observer=null},mounted:function(){this.zIndex=j.a.getBaseZIndex(),this.listenOnRoot("bv::show::modal",this.showHandler),this.listenOnRoot("bv::hide::modal",this.hideHandler),this.listenOnRoot("bv::toggle::modal",this.toggleHandler),this.listenOnRoot("bv::modal::show",this.modalListener),!0===this.visible&&this.$nextTick(this.show)},beforeDestroy:function(){this._observer&&(this._observer.disconnect(),this._observer=null),this.setEnforceFocus(!1),this.setResizeEvent(!1),this.isVisible&&(this.isVisible=!1,this.isShow=!1,this.isTransitioning=!1)},methods:{updateModel:function(t){t!==this.visible&&this.$emit("change",t)},buildEvent:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new S.a(t,n({cancelable:!1,target:this.$refs.modal||this.$el||null,relatedTarget:null,trigger:null},e,{vueTarget:this,componentId:this.safeId()}))},show:function(){if(!this.isVisible&&!this.isOpening){if(this.isClosing)return void this.$once("hidden",this.show);this.isOpening=!0,this.return_focus=this.return_focus||this.getActiveElement();var t=this.buildEvent("show",{cancelable:!0});if(this.emitEvent(t),t.defaultPrevented||this.isVisible)return this.isOpening=!1,void this.updateModel(!1);this.doShow()}},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(this.isVisible&&!this.isClosing){this.isClosing=!0;var e=this.buildEvent("hide",{cancelable:"FORCE"!==t,trigger:t||null});if("ok"===t?this.$emit("ok",e):"cancel"===t?this.$emit("cancel",e):"headerclose"===t&&this.$emit("close",e),this.emitEvent(e),e.defaultPrevented||!this.isVisible)return this.isClosing=!1,void this.updateModel(!0);this._observer&&(this._observer.disconnect(),this._observer=null),this.isVisible=!1,this.updateModel(!1)}},toggle:function(t){t&&(this.return_focus=t),this.isVisible?this.hide("toggle"):this.show()},getActiveElement:function(){if(f.j){var t=document.activeElement;if(t&&t!==document.body&&t.focus)return t}return null},getTabables:function(){return Object(p.y)(C,this.$refs.content).filter(p.p).filter(function(t){return t.tabIndex>-1&&!t.disabled})},doShow:function(){var t=this;if(j.a.modalsAreOpen&&this.noStacking)return void this.listenOnRootOnce("bv::modal::hidden",this.doShow);j.a.registerModal(this),this.isHidden=!1,this.$nextTick(function(){t.isVisible=!0,t.isOpening=!1,t.updateModel(!0),t.$nextTick(function(){t._observer=Object(c.a)(t.$refs.content,t.checkModalOverflow.bind(t),T)})})},onBeforeEnter:function(){this.isTransitioning=!0,this.setResizeEvent(!0)},onEnter:function(){this.isBlock=!0},onAfterEnter:function(){var t=this;this.checkModalOverflow(),this.isShow=!0,this.isTransitioning=!1,Object(p.w)(function(){t.emitEvent(t.buildEvent("shown")),t.setEnforceFocus(!0),t.$nextTick(function(){t.focusFirst()})})},onBeforeLeave:function(){this.isTransitioning=!0,this.setResizeEvent(!1),this.setEnforceFocus(!1)},onLeave:function(){this.isShow=!1},onAfterLeave:function(){var t=this;this.isBlock=!1,this.isTransitioning=!1,this.isModalOverflowing=!1,this.isHidden=!0,this.$nextTick(function(){t.isClosing=!1,j.a.unregisterModal(t),t.returnFocusTo(),t.emitEvent(t.buildEvent("hidden"))})},emitEvent:function(t){var e=t.type;this.emitOnRoot("bv::modal::".concat(e),t,t.componentId),this.$emit(e,t)},onDialogMousedown:function(){var t=this,e=this.$refs.modal,r=function r(o){Object(p.e)(e,"mouseup",r,P),o.target===e&&(t.ignoreBackdropClick=!0)};Object(p.f)(e,"mouseup",r,P)},onClickOut:function(t){if(this.ignoreBackdropClick)return void(this.ignoreBackdropClick=!1);this.isVisible&&!this.noCloseOnBackdrop&&Object(p.d)(document.body,t.target)&&(Object(p.d)(this.$refs.content,t.target)||this.hide("backdrop"))},onOk:function(){this.hide("ok")},onCancel:function(){this.hide("cancel")},onClose:function(){this.hide("headerclose")},onEsc:function(t){t.keyCode===l.a.ESC&&this.isVisible&&!this.noCloseOnEsc&&this.hide("esc")},focusHandler:function(t){var e=this.$refs.content,r=t.target;if(!this.noEnforceFocus&&this.isTop&&this.isVisible&&e&&document!==r&&!Object(p.d)(e,r)){var o=this.getTabables();if(this.$refs.bottomTrap&&r===this.$refs.bottomTrap){if($(o[0]))return}else if(this.$refs.topTrap&&r===this.$refs.topTrap&&$(o[o.length-1]))return;e.focus({preventScroll:!0})}},setEnforceFocus:function(t){(t?p.f:p.e)(document,"focusin",this.focusHandler,P)},setResizeEvent:function(t){var e=t?p.f:p.e;e(window,"resize",this.checkModalOverflow,P),e(window,"orientationchange",this.checkModalOverflow,P)},showHandler:function(t,e){t===this.safeId()&&(this.return_focus=e||this.getActiveElement(),this.show())},hideHandler:function(t){t===this.safeId()&&this.hide("event")},toggleHandler:function(t,e){t===this.safeId()&&this.toggle(e)},modalListener:function(t){this.noStacking&&t.vueTarget!==this&&this.hide()},focusFirst:function(){var t=this;f.j&&Object(p.w)(function(){var e=t.$refs.modal,r=t.$refs.content,o=t.getActiveElement();if(e&&r&&(!o||!Object(p.d)(r,o))){var n=t.$refs["ok-button"],i=t.$refs["cancel-button"],a=t.$refs["close-button"],s=t.autoFocusButton,l="ok"===s&&n?n.$el||n:"cancel"===s&&i?i.$el||i:"close"===s&&a?a.$el||a:r;$(l),l===r&&t.$nextTick(function(){e.scrollTop=0})}})},returnFocusTo:function(){var t=this.returnFocus||this.return_focus||null;this.return_focus=null,this.$nextTick(function(){(t=Object(m.m)(t)?Object(p.x)(t):t)&&(t=t.$el||t,$(t))})},checkModalOverflow:function(){if(this.isVisible){var t=this.$refs.modal;this.isModalOverflowing=t.scrollHeight>document.documentElement.clientHeight}},makeModal:function(t){var e=t();if(!this.hideHeader){var r=this.normalizeSlot("modal-header",this.slotScope);if(!r){var o=t();this.hideHeaderClose||(o=t(k.a,{ref:"close-button",props:{disabled:this.isTransitioning,ariaLabel:this.headerCloseLabel,textVariant:this.headerCloseVariant||this.headerTextVariant},on:{click:this.onClose}},[this.normalizeSlot("modal-header-close")]));var i=!this.hasNormalizedSlot("modal-title")&&this.titleHtml?{innerHTML:this.titleHtml}:{};r=[t(this.titleTag,{staticClass:"modal-title",class:this.titleClasses,attrs:{id:this.safeId("__BV_modal_title_")},domProps:i},[this.normalizeSlot("modal-title",this.slotScope)||Object(b.b)(this.title)]),o]}e=t("header",{ref:"header",staticClass:"modal-header",class:this.headerClasses,attrs:{id:this.safeId("__BV_modal_header_")}},[r])}var a=t("div",{ref:"body",staticClass:"modal-body",class:this.bodyClasses,attrs:{id:this.safeId("__BV_modal_body_")}},this.normalizeSlot("default",this.slotScope)),l=t();if(!this.hideFooter){var c=this.normalizeSlot("modal-footer",this.slotScope);if(!c){var u=t();if(!this.okOnly){var d=this.cancelTitleHtml?{innerHTML:this.cancelTitleHtml}:null;u=t(O.a,{ref:"cancel-button",props:{variant:this.cancelVariant,size:this.buttonSize,disabled:this.cancelDisabled||this.busy||this.isTransitioning},on:{click:this.onCancel}},[this.normalizeSlot("modal-cancel")||(d?t("span",{domProps:d}):Object(b.b)(this.cancelTitle))])}var p=this.okTitleHtml?{innerHTML:this.okTitleHtml}:null;c=[u,t(O.a,{ref:"ok-button",props:{variant:this.okVariant,size:this.buttonSize,disabled:this.okDisabled||this.busy||this.isTransitioning},on:{click:this.onOk}},[this.normalizeSlot("modal-ok")||(p?t("span",{domProps:p}):Object(b.b)(this.okTitle))])]}l=t("footer",{ref:"footer",staticClass:"modal-footer",class:this.footerClasses,attrs:{id:this.safeId("__BV_modal_footer_")}},[c])}var f=t("div",{ref:"content",staticClass:"modal-content",class:this.contentClass,attrs:{role:"document",id:this.safeId("__BV_modal_content_"),tabindex:"-1"}},[e,a,l]),m=t(),h=t();this.isVisible&&!this.noEnforceFocus&&(m=t("span",{ref:"topTrap",attrs:{tabindex:"0"}}),h=t("span",{ref:"bottomTrap",attrs:{tabindex:"0"}}));var g=t("div",{ref:"dialog",staticClass:"modal-dialog",class:this.dialogClasses,on:{mousedown:this.onDialogMousedown}},[m,f,h]),v=t("div",{ref:"modal",staticClass:"modal",class:this.modalClasses,style:this.modalStyles,directives:[{name:"show",rawName:"v-show",value:this.isVisible,expression:"isVisible"}],attrs:{id:this.safeId(),role:"dialog","aria-hidden":this.isVisible?null:"true","aria-modal":this.isVisible?"true":null,"aria-label":this.ariaLabel,"aria-labelledby":this.hideHeader||this.ariaLabel||!(this.hasNormalizedSlot("modal-title")||this.titleHtml||this.title)?null:this.safeId("__BV_modal_title_"),"aria-describedby":this.safeId("__BV_modal_body_")},on:{keydown:this.onEsc,click:this.onClickOut}},[g]);v=t("transition",{props:{enterClass:"",enterToClass:"",enterActiveClass:"",leaveClass:"",leaveActiveClass:"",leaveToClass:""},on:{beforeEnter:this.onBeforeEnter,enter:this.onEnter,afterEnter:this.onAfterEnter,beforeLeave:this.onBeforeLeave,leave:this.onLeave,afterLeave:this.onAfterLeave}},[v]);var y=t();!this.hideBackdrop&&this.isVisible&&(y=t("div",{staticClass:"modal-backdrop",attrs:{id:this.safeId("__BV_modal_backdrop_")}},[this.normalizeSlot("modal-backdrop")])),y=t(s.b,{props:{noFade:this.noFade}},[y]);var w=this.static?{}:this.scopedStyleAttrs;return t("div",{key:"modal-outer-".concat(this._uid),style:this.modalOuterStyle,attrs:n({},w,{},this.$attrs,{id:this.safeId("__BV_modal_outer_")})},[v,y])}},render:function(t){return this.static?this.lazy&&this.isHidden?t():this.makeModal(t):this.isHidden?t():t(g.a,{},[this.makeModal(t)])}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var n=r(32);e.a={computed:{scopedStyleAttrs:function(){var t=Object(n.a)(this.$parent);return t?o({},t,""):{}}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return m});var o=r(6),n=r(1),i=r(8),a="__bv_modal_directive__",s={passive:!0},l=function(t){var e=t.modifiers,r=void 0===e?{}:e,o=t.arg,a=t.value;return Object(n.m)(a)?a:Object(n.m)(o)?o:Object(i.j)(r).reverse()[0]},c=function(t){return t&&Object(o.q)(t,".dropdown-menu > li, li.nav-item")?Object(o.x)("a, button",t)||t:t},u=function(t){t&&"BUTTON"!==t.tagName&&!Object(o.l)(t,"role")&&Object(o.z)(t,"role","button")},d=function(t,e,r){var n=l(e),i=c(t);if(n&&i){var d=function(t){var e=t.currentTarget;if(!Object(o.n)(e)){var i=t.type;("click"===i||"keydown"===i&&32===t.keyCode)&&r.context.$root.$emit("bv::show::modal",n,e)}};t[a]=d,u(i),Object(o.f)(i,"click",d,s),"BUTTON"!==i.tagName&&"button"===Object(o.g)(i,"role")&&Object(o.f)(i,"keydown",d,s)}},p=function(t){var e=c(t),r=t?t[a]:null;e&&r&&(Object(o.e)(e,"click",r,s),Object(o.e)(e,"keydown",r,s)),delete t[a]},f=function(t,e,r){p(t),d(t,e,r)},b=function(){},m={inserted:f,updated:b,componentUpdated:f,unbind:p}},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(47),n=r(172),i=r(173),a=r(174),s=r(175),l=r(40),c=r(3),u=Object(c.b)({components:{BNav:o.a,BNavItem:n.a,BNavText:i.a,BNavForm:a.a,BNavItemDropdown:s.a,BNavItemDd:s.a,BNavDropdown:s.a,BNavDd:s.a},plugins:{DropdownPlugin:l.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(32),i=r(7),a=r(4),s=r(1),l=r(17),c=r(81),u="BTooltip",d=o.a.extend({name:u,props:{title:{type:String},target:{type:[String,l.b,l.c,Function,Object],required:!0},triggers:{type:[String,Array],default:"hover focus"},placement:{type:String,default:"top"},fallbackPlacement:{type:[String,Array],default:"flip",validator:function(t){return Object(i.d)(t)&&t.every(function(t){return Object(s.m)(t)})||Object(i.a)(["flip","clockwise","counterclockwise"],t)}},variant:{type:String,default:function(){return Object(a.c)(u,"variant")}},customClass:{type:String,default:function(){return Object(a.c)(u,"customClass")}},delay:{type:[Number,Object,String],default:function(){return Object(a.c)(u,"delay")}},boundary:{type:[String,l.b,Object],default:function(){return Object(a.c)(u,"boundary")}},boundaryPadding:{type:[Number,String],default:function(){return Object(a.c)(u,"boundaryPadding")}},offset:{type:[Number,String],default:0},noFade:{type:Boolean,default:!1},container:{type:[String,l.b,Object]},show:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{localShow:this.show,localTitle:"",localContent:""}},computed:{templateData:function(){return{title:this.localTitle,content:this.localContent,target:this.target,triggers:this.triggers,placement:this.placement,fallbackPlacement:this.fallbackPlacement,variant:this.variant,customClass:this.customClass,container:this.container,boundary:this.boundary,boundaryPadding:this.boundaryPadding,delay:this.delay,offset:this.offset,noFade:this.noFade,disabled:this.disabled,id:this.id}},templateTitleContent:function(){return{title:this.title,content:this.content}}},watch:{show:function(t,e){t!==e&&t!==this.localShow&&this.$_bv_toolpop&&(t?this.$_bv_toolpop.show():this.$_bv_toolpop.forceHide())},disabled:function(t,e){t?this.doDisable():this.doEnable()},localShow:function(t,e){this.$emit("update:show",t)},templateData:function(t,e){var r=this;this.$nextTick(function(){r.$_bv_toolpop&&r.$_bv_toolpop.updateData(r.templateData)})},templateTitleContent:function(t,e){this.$nextTick(this.updateContent)}},created:function(){this.$_bv_toolpop=null},updated:function(){this.$nextTick(this.updateContent)},beforeDestroy:function(){this.$off("open",this.doOpen),this.$off("close",this.doClose),this.$off("disable",this.doDisable),this.$off("enable",this.doEnable),this.$_bv_toolpop&&this.$_bv_toolpop.$destroy(),this.$_bv_toolpop=null},mounted:function(){var t=this;this.$nextTick(function(){var e=t.getComponent();t.updateContent();var r=Object(n.a)(t)||Object(n.a)(t.$parent),o=t.$_bv_toolpop=new e({parent:t,_scopeId:r||void 0});o.updateData(t.templateData),o.$on("show",t.onShow),o.$on("shown",t.onShown),o.$on("hide",t.onHide),o.$on("hidden",t.onHidden),o.$on("disabled",t.onDisabled),o.$on("enabled",t.onEnabled),t.disabled&&t.doDisable(),t.$on("open",t.doOpen),t.$on("close",t.doClose),t.$on("disable",t.doDisable),t.$on("enable",t.doEnable),t.localShow&&t.$_bv_toolpop&&t.$_bv_toolpop.show()})},methods:{getComponent:function(){return c.a},updateContent:function(){this.setTitle(this.$scopedSlots.default||this.title)},setTitle:function(t){t=Object(s.o)(t)?"":t,this.localTitle!==t&&(this.localTitle=t)},setContent:function(t){t=Object(s.o)(t)?"":t,this.localContent!==t&&(this.localContent=t)},onShow:function(t){this.$emit("show",t),t&&(this.localShow=!t.defaultPrevented)},onShown:function(t){this.localShow=!0,this.$emit("shown",t)},onHide:function(t){this.$emit("hide",t)},onHidden:function(t){this.$emit("hidden",t),this.localShow=!1},onDisabled:function(t){t&&"disabled"===t.type&&(this.$emit("update:disabled",!0),this.$emit("disabled",t))},onEnabled:function(t){t&&"enabled"===t.type&&(this.$emit("update:disabled",!1),this.$emit("enabled",t))},doOpen:function(){!this.localShow&&this.$_bv_toolpop&&this.$_bv_toolpop.show()},doClose:function(){this.localShow&&this.$_bv_toolpop&&this.$_bv_toolpop.hide()},doDisable:function(t){this.$_bv_toolpop&&this.$_bv_toolpop.disable()},doEnable:function(){this.$_bv_toolpop&&this.$_bv_toolpop.enable()}},render:function(t){return t()}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return v});var a=r(0),s=r(32),l=r(12),c=r(7),u=r(6),d=r(1),p=r(8),f=r(13),b=r(41),m=r(189),h={passive:!0,capture:!1},g={title:"",content:"",variant:null,customClass:null,triggers:"",placement:"auto",fallbackPlacement:"flip",target:null,container:null,noFade:!1,boundary:"scrollParent",boundaryPadding:5,offset:0,delay:0,arrowPadding:6,disabled:!1,id:null,html:!1},v=a.a.extend({name:"BVTooltip",props:{},data:function(){return n({},g,{activeTrigger:{hover:!1,click:!1,focus:!1},localShow:!1})},computed:{templateType:function(){return"tooltip"},computedId:function(){return this.id||"__bv_".concat(this.templateType,"_").concat(this._uid,"__")},computedDelay:function(){var t={show:0,hide:0};return Object(d.j)(this.delay)?(t.show=Math.max(parseInt(this.delay.show,10)||0,0),t.hide=Math.max(parseInt(this.delay.hide,10)||0,0)):(Object(d.h)(this.delay)||Object(d.m)(this.delay))&&(t.show=t.hide=Math.max(parseInt(this.delay,10)||0,0)),t},computedTriggers:function(){return Object(c.b)(this.triggers).filter(Boolean).join(" ").trim().toLowerCase().split(/\s+/).sort()},isWithActiveTrigger:function(){for(var t in this.activeTrigger)if(this.activeTrigger[t])return!0;return!1},computedTemplateData:function(){return{title:this.title,content:this.content,variant:this.variant,customClass:this.customClass,noFade:this.noFade}}},watch:{computedTriggers:function(t,e){var r=this;Object(l.a)(t,e)||this.$nextTick(function(){r.unListen(),e.forEach(function(e){Object(c.a)(t,e)||r.activeTrigger[e]&&(r.activeTrigger[e]=!1)}),r.listen()})},computedTemplateData:function(){this.handleTemplateUpdate()},disabled:function(t){t?this.disable():this.enable()}},created:function(){var t=this;this.$_tip=null,this.$_hoverTimeout=null,this.$_hoverState="",this.$_visibleInterval=null,this.$_enabled=!this.disabled,this.$_noop=function(){},this.$parent&&this.$parent.$once("hook:beforeDestroy",this.$destroy),this.$nextTick(function(){var e=t.getTarget();e&&Object(u.d)(document.body,e)?(t.scopeId=Object(s.a)(t.$parent),t.listen()):Object(f.b)("".concat(t.templateType," unable to find target element in document"))})},updated:function(){this.$nextTick(this.handleTemplateUpdate)},deactivated:function(){this.forceHide()},beforeDestroy:function(){this.unListen(),this.setWhileOpenListeners(!1),clearTimeout(this.$_hoverTimeout),this.$_hoverTimeout=null,this.destroyTemplate(),this.restoreTitle()},methods:{getTemplate:function(){return m.a},updateData:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=!1;Object(p.j)(g).forEach(function(o){Object(d.n)(e[o])||t[o]===e[o]||(t[o]=e[o],"title"===o&&(r=!0))}),r&&this.localShow&&this.fixTitle()},createTemplateAndShow:function(){var t=this.getContainer(),e=this.getTemplate(),r=this.$_tip=new e({parent:this,propsData:{id:this.computedId,html:this.html,placement:this.placement,fallbackPlacement:this.fallbackPlacement,target:this.getPlacementTarget(),boundary:this.getBoundary(),offset:parseInt(this.offset,10)||0,arrowPadding:parseInt(this.arrowPadding,10)||0,boundaryPadding:parseInt(this.boundaryPadding,10)||0}});this.handleTemplateUpdate(),r.$once("show",this.onTemplateShow),r.$once("shown",this.onTemplateShown),r.$once("hide",this.onTemplateHide),r.$once("hidden",this.onTemplateHidden),r.$once("hook:destroyed",this.destroyTemplate),r.$on("focusin",this.handleEvent),r.$on("focusout",this.handleEvent),r.$on("mouseenter",this.handleEvent),r.$on("mouseleave",this.handleEvent),r.$mount(t.appendChild(document.createElement("div")))},hideTemplate:function(){this.$_tip&&this.$_tip.hide()},destroyTemplate:function(){this.setWhileOpenListeners(!1),clearTimeout(this.$_hoverTimeout),this.$_hoverTimout=null,this.$_hoverState="",this.clearActiveTriggers(),this.localPlacementTarget=null;try{this.$_tip&&this.$_tip.$destroy()}catch(t){}this.$_tip=null,this.localShow=!1},getTemplateElement:function(){return this.$_tip?this.$_tip.$el:null},handleTemplateUpdate:function(){var t=this,e=this.$_tip;if(e){["title","content","variant","customClass","noFade"].forEach(function(r){e[r]!==t[r]&&(e[r]=t[r])})}},show:function(){var t=this.getTarget();if(t&&Object(u.d)(document.body,t)&&Object(u.p)(t)&&!this.dropdownOpen()&&(!Object(d.o)(this.title)&&""!==this.title||!Object(d.o)(this.content)&&""!==this.content)&&!this.$_tip&&!this.localShow){this.localShow=!0;var e=this.buildEvent("show",{cancelable:!0});if(this.emitEvent(e),e.defaultPrevented)return this.destroyTemplate(),void(this.localShow=!1);this.fixTitle(),this.addAriaDescribedby(),this.createTemplateAndShow()}},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.getTemplateElement()||!this.localShow)return void this.restoreTitle();var e=this.buildEvent("hide",{cancelable:!t});this.emitEvent(e),e.defaultPrevented||(this.hideTemplate(),this.clearActiveTriggers(),this.$_hoverState="")},forceHide:function(){this.getTemplateElement()&&this.localShow&&(this.setWhileOpenListeners(!1),clearTimeout(this.hoverTimeout),this.$_hoverTimeout=null,this.$_hoverState="",this.clearActiveTriggers(),this.$_tip&&(this.$_tip.noFade=!0),this.hide(!0))},enable:function(){this.$_enabled=!0,this.emitEvent(this.buildEvent("enabled",{}))},disable:function(){this.$_enabled=!1,this.emitEvent(this.buildEvent("disabled",{}))},onTemplateShow:function(){this.setWhileOpenListeners(!0)},onTemplateShown:function(){var t=this.$_hoverState;this.$_hoverState="","out"===t&&this.leave(null),this.emitEvent(this.buildEvent("shown",{}))},onTemplateHide:function(){this.setWhileOpenListeners(!1)},onTemplateHidden:function(){this.removeAriaDescribedby(),this.restoreTitle(),this.destroyTemplate(),this.emitEvent(this.buildEvent("hidden",{}))},getTarget:function(){var t=this.target?this.target.$el||this.target:null;return t=Object(d.m)(t)?Object(u.i)(t.replace(/^#/,"")):t,t=Object(d.f)(t)?t():t,Object(u.o)(t)?t:null},getPlacementTarget:function(){return this.getTarget()},getTargetId:function(){var t=this.getTarget();return t&&t.id?t.id:null},getContainer:function(){var t=!!this.container&&(this.container.$el||this.container),e=document.body,r=this.getTarget();return!1===t?Object(u.c)(".modal-content",r)||e:Object(d.m)(t)?Object(u.i)(t.replace(/^#/,""))||e:e},getBoundary:function(){return this.boundary?this.boundary.$el||this.boundary:"scrollParent"},isInModal:function(){var t=this.getTarget();return t&&Object(u.c)(".modal-content",t)},isDropdown:function(){var t=this.getTarget();return t&&Object(u.m)(t,"dropdown")},dropdownOpen:function(){var t=this.getTarget();return this.isDropdown()&&t&&Object(u.x)(".dropdown-menu.show",t)},clearActiveTriggers:function(){for(var t in this.activeTrigger)this.activeTrigger[t]=!1},addAriaDescribedby:function(){var t=this.getTarget(),e=Object(u.g)(t,"aria-describedby")||"";e=e.split(/\s+/).concat(this.computedId).join(" ").trim(),Object(u.z)(t,"aria-describedby",e)},removeAriaDescribedby:function(){var t=this,e=this.getTarget(),r=Object(u.g)(e,"aria-describedby")||"";r=r.split(/\s+/).filter(function(e){return e!==t.computedId}).join(" ").trim(),r?Object(u.z)(e,"aria-describedby",r):Object(u.u)(e,"aria-describedby")},fixTitle:function(){var t=this.getTarget();t&&Object(u.g)(t,"title")&&(Object(u.z)(t,"data-original-title",Object(u.g)(t,"title")||""),Object(u.z)(t,"title",""))},restoreTitle:function(){var t=this.getTarget();t&&Object(u.l)(t,"data-original-title")&&(Object(u.z)(t,"title",Object(u.g)(t,"data-original-title")||""),Object(u.u)(t,"data-original-title"))},buildEvent:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new b.a(t,n({cancelable:!1,target:this.getTarget(),relatedTarget:this.getTemplateElement()||null,componentId:this.computedId,vueTarget:this},e))},emitEvent:function(t){var e=t.type,r=this.$root;r&&r.$emit&&r.$emit("bv::".concat(this.templateType,"::").concat(e),t),this.$emit(e,t)},listen:function(){var t=this,e=this.getTarget();e&&(this.setRootListener(!0),this.computedTriggers.forEach(function(r){"click"===r?Object(u.f)(e,"click",t.handleEvent,h):"focus"===r?(Object(u.f)(e,"focusin",t.handleEvent,h),Object(u.f)(e,"focusout",t.handleEvent,h)):"blur"===r?Object(u.f)(e,"focusout",t.handleEvent,h):"hover"===r&&(Object(u.f)(e,"mouseenter",t.handleEvent,h),Object(u.f)(e,"mouseleave",t.handleEvent,h))},this))},unListen:function(){var t=this,e=["click","focusin","focusout","mouseenter","mouseleave"],r=this.getTarget();this.setRootListener(!1),e.forEach(function(e){r&&Object(u.e)(r,e,t.handleEvent,h)},this)},setRootListener:function(t){var e=this.$root;if(e){var r=t?"$on":"$off",o=this.templateType;e[r]("bv::hide::".concat(o),this.doHide),e[r]("bv::show::".concat(o),this.doShow),e[r]("bv::disable::".concat(o),this.doDisable),e[r]("bv::enable::".concat(o),this.doEnable)}},setWhileOpenListeners:function(t){this.setModalListener(t),this.setDropdownListener(t),this.visibleCheck(t),this.setOnTouchStartListener(t)},visibleCheck:function(t){var e=this;clearInterval(this.$_visibleInterval),this.$_visibleInterval=null;var r=this.getTarget(),o=this.getTemplateElement();t&&(this.visibleInterval=setInterval(function(){!o||!e.localShow||r.parentNode&&Object(u.p)(r)||e.forceHide()},100))},setModalListener:function(t){this.isInModal()&&this.$root[t?"$on":"$off"]("bv::modal::hidden",this.forceHide)},setOnTouchStartListener:function(t){var e=this;if("ontouchstart"in document.documentElement){var r=t?u.f:u.e;Object(c.c)(document.body.children).forEach(function(t){r(t,"mouseover",e.$_noop)})}},setDropdownListener:function(t){var e=this.getTarget();e&&this.$root&&this.isDropdown&&e.__vue__&&e.__vue__[t?"$on":"$off"]("shown",this.forceHide)},handleEvent:function(t){var e=this.getTarget();if(e&&!Object(u.n)(e)&&this.$_enabled&&!this.dropdownOpen()){var r=t.type,o=this.computedTriggers;if("click"===r&&Object(c.a)(o,"click"))this.click(t);else if("mouseenter"===r&&Object(c.a)(o,"hover"))this.enter(t);else if("focusin"===r&&Object(c.a)(o,"focus"))this.enter(t);else if("focusout"===r&&(Object(c.a)(o,"focus")||Object(c.a)(o,"blur"))||"mouseleave"===r&&Object(c.a)(o,"hover")){var n=this.getTemplateElement(),i=t.target,a=t.relatedTarget;if(n&&Object(u.d)(n,i)&&Object(u.d)(e,a)||n&&Object(u.d)(e,i)&&Object(u.d)(n,a)||n&&Object(u.d)(n,i)&&Object(u.d)(n,a)||Object(u.d)(e,i)&&Object(u.d)(e,a))return;this.leave(t)}}},doHide:function(t){t&&this.getTargetId()!==t&&this.computedId!==t||this.forceHide()},doShow:function(t){t&&this.getTargetId()!==t&&this.computedId!==t||this.show()},doDisable:function(t){t&&this.getTargetId()!==t&&this.computedId!==t||this.disable()},doEnable:function(t){t&&this.getTargetId()!==t&&this.computedId!==t||this.enable()},click:function(t){this.$_enabled&&!this.dropdownOpen()&&(this.activeTrigger.click=!this.activeTrigger.click,this.isWithActiveTrigger?this.enter(null):this.leave(null))},toggle:function(){this.$_enabled&&!this.dropdownOpen()&&(this.localShow?this.leave(null):this.enter(null))},enter:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(e&&(this.activeTrigger["focusin"===e.type?"focus":"hover"]=!0),this.localShow||"in"===this.$_hoverState)return void(this.$_hoverState="in");clearTimeout(this.hoverTimeout),this.$_hoverState="in",this.computedDelay.show?(this.fixTitle(),this.hoverTimeout=setTimeout(function(){"in"===t.$_hoverState?t.show():t.localShow||t.restoreTitle()},this.computedDelay.show)):this.show()},leave:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;e&&(this.activeTrigger["focusout"===e.type?"focus":"hover"]=!1,"focusout"===e.type&&Object(c.a)(this.computedTriggers,"blur")&&(this.activeTrigger.click=!1,this.activeTrigger.hover=!1)),this.isWithActiveTrigger||(clearTimeout(this.hoverTimeout),this.$_hoverState="out",this.computedDelay.hide?this.$hoverTimeout=setTimeout(function(){"out"===t.$_hoverState&&t.hide()},this.computedDelay.hide):this.hide())}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(191),n=r(3),i=Object(n.b)({directives:{VBPopover:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(0),n=r(4),i=r(11),a=r(1),s=r(5),l=o.a.extend({name:"BProgressBar",mixins:[s.a],inject:{bvProgress:{default:function(){return{}}}},props:{value:{type:Number,default:0},label:{type:String,default:null},labelHtml:{type:String},max:{type:Number,default:null},precision:{type:Number,default:null},variant:{type:String,default:function(){return Object(n.c)("BProgressBar","variant")}},striped:{type:Boolean,default:null},animated:{type:Boolean,default:null},showProgress:{type:Boolean,default:null},showValue:{type:Boolean,default:null}},computed:{progressBarClasses:function(){return[this.computedVariant?"bg-".concat(this.computedVariant):"",this.computedStriped||this.computedAnimated?"progress-bar-striped":"",this.computedAnimated?"progress-bar-animated":""]},progressBarStyles:function(){return{width:this.value/this.computedMax*100+"%"}},computedProgress:function(){var t=Math.pow(10,this.computedPrecision);return Math.round(100*t*this.value/this.computedMax)/t},computedMax:function(){return Object(a.h)(this.max)?this.max:this.bvProgress.max||100},computedVariant:function(){return this.variant||this.bvProgress.variant},computedPrecision:function(){return Object(a.h)(this.precision)?this.precision:this.bvProgress.precision||0},computedStriped:function(){return Object(a.b)(this.striped)?this.striped:this.bvProgress.striped||!1},computedAnimated:function(){return Object(a.b)(this.animated)?this.animated:this.bvProgress.animated||!1},computedShowProgress:function(){return Object(a.b)(this.showProgress)?this.showProgress:this.bvProgress.showProgress||!1},computedShowValue:function(){return Object(a.b)(this.showValue)?this.showValue:this.bvProgress.showValue||!1}},render:function(t){var e=t();return this.hasNormalizedSlot("default")?e=this.normalizeSlot("default"):this.label||this.labelHtml?e=t("span",{domProps:Object(i.a)(this.labelHtml,this.label)}):this.computedShowProgress?e=this.computedProgress.toFixed(this.computedPrecision):this.computedShowValue&&(e=this.value.toFixed(this.computedPrecision)),t("div",{staticClass:"progress-bar",class:this.progressBarClasses,style:this.progressBarStyles,attrs:{role:"progressbar","aria-valuemin":"0","aria-valuemax":this.computedMax.toString(),"aria-valuenow":this.value.toFixed(this.computedPrecision)}},[e])}})},function(t,e,r){"use strict";var o=function(t){return t.replace(/_/g," ").replace(/([a-z])([A-Z])/g,function(t,e,r){return e+" "+r}).replace(/(\s|^)(\w)/g,function(t,e,r){return e+r.toUpperCase()})};e.a=o},function(t,e,r){"use strict";r.d(e,"b",function(){return o}),r.d(e,"a",function(){return n});var o={_rowVariant:!0,_cellVariants:!0,_showDetails:!0},n=["a","a *","button","button *","input:not(.disabled):not([disabled])","select:not(.disabled):not([disabled])","textarea:not(.disabled):not([disabled])",'[role="link"]','[role="link"] *','[role="button"]','[role="button"] *',"[tabindex]:not(.disabled):not([disabled])"].join(",")},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}e.a={props:{stacked:{type:[Boolean,String],default:!1}},computed:{isStacked:function(){return""===this.stacked||this.stacked},isStackedAlways:function(){return!0===this.isStacked},stackedTableClasses:function(){return o({"b-table-stacked":this.isStackedAlways},"b-table-stacked-".concat(this.stacked),!this.isStackedAlways&&this.isStacked)}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={headVariant:{type:String,default:null}},c=a.a.extend({name:"BThead",mixins:[s.a],inheritAttrs:!1,provide:function(){return{bvTableRowGroup:this}},inject:{bvTable:{default:function(){return{}}}},props:l,computed:{isThead:function(){return!0},isDark:function(){return this.bvTable.dark},isStacked:function(){return this.bvTable.isStacked},isResponsive:function(){return this.bvTable.isResponsive},isStickyHeader:function(){return!this.isStacked&&this.bvTable.stickyHeader},tableVariant:function(){return this.bvTable.tableVariant},theadClasses:function(){return[this.headVariant?"thead-".concat(this.headVariant):null]},theadAttrs:function(){return n({role:"rowgroup"},this.$attrs)}},render:function(t){return t("thead",{class:this.theadClasses,attrs:this.theadAttrs,on:this.$listeners},this.normalizeSlot("default",{}))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return l}),r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={tbodyTransitionProps:{type:Object},tbodyTransitionHandlers:{type:Object}},c=a.a.extend({name:"BTbody",mixins:[s.a],inheritAttrs:!1,provide:function(){return{bvTableRowGroup:this}},inject:{bvTable:{default:function(){return{}}}},props:l,computed:{isTbody:function(){return!0},isDark:function(){return this.bvTable.dark},isStacked:function(){return this.bvTable.isStacked},isResponsive:function(){return this.bvTable.isResponsive},isStickyHeader:function(){return!1},tableVariant:function(){return this.bvTable.tableVariant},isTransitionGroup:function(){return this.tbodyTransitionProps||this.tbodyTransitionHandlers},tbodyAttrs:function(){return n({role:"rowgroup"},this.$attrs)},tbodyProps:function(){return this.tbodyTransitionProps?n({},this.tbodyTransitionProps,{tag:"tbody"}):{}},tbodyListeners:function(){var t=this.tbodyTransitionHandlers||{};return n({},this.$listeners,{},t)}},render:function(t){return t(this.isTransitionGroup?"transition-group":"tbody",{props:this.tbodyProps,attrs:this.tbodyAttrs,on:this.tbodyListeners},this.normalizeSlot("default",{}))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(1);e.a={inheritAttrs:!1,provide:function(){return{bvTable:this}},props:{striped:{type:Boolean,default:!1},bordered:{type:Boolean,default:!1},borderless:{type:Boolean,default:!1},outlined:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},hover:{type:Boolean,default:!1},small:{type:Boolean,default:!1},fixed:{type:Boolean,default:!1},responsive:{type:[Boolean,String],default:!1},stickyHeader:{type:[Boolean,String],default:!1},noBorderCollapse:{type:Boolean,default:!1},captionTop:{type:Boolean,default:!1},tableVariant:{type:String,default:null},tableClass:{type:[String,Array,Object],default:null}},computed:{isResponsive:function(){var t=""===this.responsive||this.responsive;return!this.isStacked&&t},isStickyHeader:function(){var t=""===this.stickyHeader||this.stickyHeader;return!this.isStacked&&t},wrapperClasses:function(){return[this.isStickyHeader?"b-table-sticky-header":"",!0===this.isResponsive?"table-responsive":this.isResponsive?"table-responsive-".concat(this.responsive):""].filter(Boolean)},wrapperStyles:function(){return this.isStickyHeader&&!Object(a.b)(this.isStickyHeader)?{maxHeight:this.isStickyHeader}:{}},tableClasses:function(){var t=this.isTableSimple?this.hover:this.hover&&this.computedItems.length>0&&!this.computedBusy;return[this.tableClass,{"table-striped":this.striped,"table-hover":t,"table-dark":this.dark,"table-bordered":this.bordered,"table-borderless":this.borderless,"table-sm":this.small,border:this.outlined,"b-table-fixed":this.fixed,"b-table-caption-top":this.captionTop,"b-table-no-border-collapse":this.noBorderCollapse},this.tableVariant?"".concat(this.dark?"bg":"table","-").concat(this.tableVariant):"",this.stackedTableClasses,this.selectableTableClasses]},tableAttrs:function(){var t=[(this.$attrs||{})["aria-describedby"],this.captionId].filter(Boolean).join(" ")||null,e=this.computedItems,r=this.filteredItems,o=this.computedFields,i=this.selectableTableAttrs||{},a=this.isTableSimple?{}:{"aria-busy":this.computedBusy?"true":"false","aria-colcount":String(o.length),"aria-describedby":t};return n({"aria-rowcount":e&&r&&r.length>e.length?String(r.length):null},this.$attrs,{id:this.safeId(),role:"table"},a,{},i)}},render:function(t){var e=[];this.isTableSimple?e.push(this.normalizeSlot("default",{})):(e.push(this.renderCaption?this.renderCaption():null),e.push(this.renderColgroup?this.renderColgroup():null),e.push(this.renderThead?this.renderThead():null),e.push(this.renderTbody?this.renderTbody():null),e.push(this.renderTfoot?this.renderTfoot():null));var r=t("table",{key:"b-table",staticClass:"table b-table",class:this.tableClasses,attrs:this.tableAttrs},e.filter(Boolean));return this.wrapperClasses.length>0?t("div",{key:"wrap",class:this.wrapperClasses,style:this.wrapperStyles},[r]):r}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return x}),r.d(e,"a",function(){return O});var a=r(0),s=r(216),l=(r.n(s),r(30)),c=r(41),u=r(4),d=r(6),p=r(9),f=r(27),b=r(5),m=r(77),h=r(91),g=r(31),v=r(14),y="BToast",w={passive:!0,capture:!1},x={id:{type:String,default:null},title:{type:String,default:null},toaster:{type:String,default:function(){return Object(u.c)(y,"toaster")}},visible:{type:Boolean,default:!1},variant:{type:String,default:function(){return Object(u.c)(y,"variant")}},isStatus:{type:Boolean,default:!1},appendToast:{type:Boolean,default:!1},noAutoHide:{type:Boolean,default:!1},autoHideDelay:{type:[Number,String],default:function(){return Object(u.c)(y,"autoHideDelay")}},noCloseButton:{type:Boolean,default:!1},noFade:{type:Boolean,default:!1},noHoverPause:{type:Boolean,default:!1},solid:{type:Boolean,default:!1},toastClass:{type:[String,Object,Array],default:function(){return Object(u.c)(y,"toastClass")}},headerClass:{type:[String,Object,Array],default:function(){return Object(u.c)(y,"headerClass")}},bodyClass:{type:[String,Object,Array],default:function(){return Object(u.c)(y,"bodyClass")}},href:{type:String,default:null},to:{type:[String,Object],default:null},static:{type:Boolean,default:!1}},O=a.a.extend({name:y,mixins:[p.a,f.a,b.a,m.a],inheritAttrs:!1,model:{prop:"visible",event:"change"},props:x,data:function(){return{isMounted:!1,doRender:!1,localShow:!1,isTransitioning:!1,isHiding:!1,order:0,timer:null,dismissStarted:0,resumeDismiss:0}},computed:{bToastClasses:function(){return i({"b-toast-solid":this.solid,"b-toast-append":this.appendToast,"b-toast-prepend":!this.appendToast},"b-toast-".concat(this.variant),this.variant)},slotScope:function(){return{hide:this.hide}},computedDuration:function(){return Math.max(parseInt(this.autoHideDelay,10)||0,1e3)},computedToaster:function(){return String(this.toaster)},transitionHandlers:function(){return{beforeEnter:this.onBeforeEnter,afterEnter:this.onAfterEnter,beforeLeave:this.onBeforeLeave,afterLeave:this.onAfterLeave}}},watch:{visible:function(t){t?this.show():this.hide()},localShow:function(t){t!==this.visible&&this.$emit("change",t)},toaster:function(t){var e=this;this.$nextTick(function(){return e.ensureToaster})},static:function(t){t&&this.localShow&&this.ensureToaster()}},mounted:function(){var t=this;this.isMounted=!0,this.$nextTick(function(){t.visible&&Object(d.w)(function(){t.show()})}),this.listenOnRoot("bv::show::toast",function(e){e===t.safeId()&&t.show()}),this.listenOnRoot("bv::hide::toast",function(e){e&&e!==t.safeId()||t.hide()}),this.listenOnRoot("bv::toaster::destroyed",function(e){e===t.computedToaster&&t.hide()})},beforeDestroy:function(){this.clearDismissTimer()},methods:{show:function(){var t=this;if(!this.localShow){this.ensureToaster();var e=this.buildEvent("show");this.emitEvent(e),this.dismissStarted=this.resumeDismiss=0,this.order=Date.now()*(this.appendToast?1:-1),this.isHiding=!1,this.doRender=!0,this.$nextTick(function(){Object(d.w)(function(){t.localShow=!0})})}},hide:function(){var t=this;if(this.localShow){var e=this.buildEvent("hide");this.emitEvent(e),this.setHoverHandler(!1),this.dismissStarted=this.resumeDismiss=0,this.clearDismissTimer(),this.isHiding=!0,Object(d.w)(function(){t.localShow=!1})}},buildEvent:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new c.a(t,n({cancelable:!1,target:this.$el||null,relatedTarget:null},e,{vueTarget:this,componentId:this.safeId()}))},emitEvent:function(t){var e=t.type;this.$root.$emit("bv::toast:".concat(e),t),this.$emit(e,t)},ensureToaster:function(){if(!this.static&&!s.Wormhole.hasTarget(this.computedToaster)){var t=document.createElement("div");document.body.appendChild(t);new h.a({parent:this.$root,propsData:{name:this.computedToaster}}).$mount(t)}},startDismissTimer:function(){this.clearDismissTimer(),this.noAutoHide||(this.timer=setTimeout(this.hide,this.resumeDismiss||this.computedDuration),this.dismissStarted=Date.now(),this.resumeDismiss=0)},clearDismissTimer:function(){clearTimeout(this.timer),this.timer=null},setHoverHandler:function(t){var e=t?d.f:d.e,r=this.$refs["b-toast"];e(r,"mouseenter",this.onPause,w),e(r,"mouseleave",this.onUnPause,w)},onPause:function(t){if(!this.noAutoHide&&!this.noHoverPause&&this.timer&&!this.resumeDismiss){var e=Date.now()-this.dismissStarted;e>0&&(this.clearDismissTimer(),this.resumeDismiss=Math.max(this.computedDuration-e,1e3))}},onUnPause:function(t){if(this.noAutoHide||this.noHoverPause||!this.resumeDismiss)return void(this.resumeDismiss=this.dismissStarted=0);this.startDismissTimer()},onLinkClick:function(){var t=this;this.$nextTick(function(){Object(d.w)(function(){t.hide()})})},onBeforeEnter:function(){this.isTransitioning=!0},onAfterEnter:function(){this.isTransitioning=!1;var t=this.buildEvent("shown");this.emitEvent(t),this.startDismissTimer(),this.setHoverHandler(!0)},onBeforeLeave:function(){this.isTransitioning=!0},onAfterLeave:function(){this.isTransitioning=!1,this.order=0,this.resumeDismiss=this.dismissStarted=0;var t=this.buildEvent("hidden");this.emitEvent(t),this.doRender=!1},makeToast:function(t){var e=this,r=[],o=this.normalizeSlot("toast-title",this.slotScope);o?r.push(o):this.title&&r.push(t("strong",{staticClass:"mr-2"},this.title)),this.noCloseButton||r.push(t(g.a,{staticClass:"ml-auto mb-1",on:{click:function(t){e.hide()}}}));var i=t();r.length>0&&(i=t("header",{staticClass:"toast-header",class:this.headerClass},r));var a=this.href||this.to,s=t(a?v.a:"div",{staticClass:"toast-body",class:this.bodyClass,props:a?{to:this.to,href:this.href}:{},on:a?{click:this.onLinkClick}:{}},[this.normalizeSlot("default",this.slotScope)||t()]);return t("div",{key:"toast-".concat(this._uid),ref:"toast",staticClass:"toast",class:this.toastClass,attrs:n({},this.$attrs,{tabindex:"0",id:this.safeId()})},[i,s])}},render:function(t){if(!this.doRender||!this.isMounted)return t();var e="b-toast-".concat(this._uid),r=this.static?{}:this.scopedStyleAttrs;return t(s.Portal,{props:{name:e,to:this.computedToaster,order:this.order,slim:!0,disabled:this.static}},[t("div",{key:e,ref:"b-toast",staticClass:"b-toast",class:this.bToastClasses,attrs:n({},r,{id:this.safeId("_toast_outer"),role:this.isHiding?null:this.isStatus?"status":"alert","aria-live":this.isHiding?null:this.isStatus?"polite":"assertive","aria-atomic":this.isHiding?null:"true"})},[t(l.b,{props:{noFade:this.noFade},on:this.transitionHandlers},[this.localShow?this.makeToast(t):t()])])])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(216),i=(r.n(n),r(13)),a=r(4),s=r(6),l="BToaster",c={name:{type:String,required:!0},ariaLive:{type:String,default:function(){return Object(a.c)(l,"ariaLive")}},ariaAtomic:{type:String,default:function(){return Object(a.c)(l,"ariaAtomic")}},role:{type:String,default:function(){return Object(a.c)(l,"role")}}},u=o.a.extend({data:function(){return{name:"b-toaster"}},methods:{onAfterEnter:function(t){var e=this;Object(s.w)(function(){Object(s.v)(t,"".concat(e.name,"-enter-to"))})}},render:function(t){return t("transition-group",{props:{tag:"div",name:this.name},on:{afterEnter:this.onAfterEnter}},this.$slots.default)}}),d=o.a.extend({name:l,props:c,data:function(){return{doRender:!1,dead:!1,staticName:this.name}},beforeMount:function(){var t=this;this.staticName=this.name,n.Wormhole.hasTarget(this.staticName)?(Object(i.a)("b-toaster: A <portal-target> with name '".concat(this.name,"' already exists in the document.")),this.dead=!0):(this.doRender=!0,this.$once("hook:beforeDestroy",function(){t.$root.$emit("bv::toaster::destroyed",t.staticName)}))},destroyed:function(){this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)},render:function(t){var e=t("div",{class:["d-none",{"b-dead-toaster":this.dead}]});if(this.doRender){var r=t(n.PortalTarget,{staticClass:"b-toaster-slot",props:{name:this.staticName,multiple:!0,tag:"div",slim:!1,transition:u}});e=t("div",{staticClass:"b-toaster",class:[this.staticName],attrs:{id:this.staticName,role:this.role||null,"aria-live":this.ariaLive,"aria-atomic":this.ariaAtomic}},[r])}return e}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(218),n=r(3),i=Object(n.b)({directives:{VBTooltip:o.a}})},function(t,e){function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function n(t){if(u===setTimeout)return setTimeout(t,0);if((u===r||!u)&&setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function i(t){if(d===clearTimeout)return clearTimeout(t);if((d===o||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(t);try{return d(t)}catch(e){try{return d.call(null,t)}catch(e){return d.call(this,t)}}}function a(){m&&f&&(m=!1,f.length?b=f.concat(b):h=-1,b.length&&s())}function s(){if(!m){var t=n(a);m=!0;for(var e=b.length;e;){for(f=b,b=[];++h<e;)f&&f[h].run();h=-1,e=b.length}f=null,m=!1,i(t)}}function l(t,e){this.fun=t,this.array=e}function c(){}var u,d,p=t.exports={};!function(){try{u="function"==typeof setTimeout?setTimeout:r}catch(t){u=r}try{d="function"==typeof clearTimeout?clearTimeout:o}catch(t){d=o}}();var f,b=[],m=!1,h=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];b.push(new l(t,e)),1!==b.length||m||n(s)},l.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(t){return[]},p.binding=function(t){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(t){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(t,e,r){"use strict";function o(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}return Array.from(t)}var n=r(230),i=r(234);e.a={components:{OcrdProcessorList:n.a,OcrdProjectList:i.a},data:function(){return{repos_raw:[],category_filter:[],step_filter:[]}},computed:{repos:function(){return this.repos_raw},steps:function(){return this.all_processors.reduce(function(t,e){return t.push.apply(t,o(e.steps.filter(function(e){return-1==t.indexOf(e)}))),t},[])},categories:function(){return this.all_processors.reduce(function(t,e){return t.push.apply(t,o(e.categories.filter(function(e){return-1==t.indexOf(e)}))),t},[])},all_processors:function(){return this.repos_raw.reduce(function(t,e){return e.ocrd_tool&&t.push.apply(t,o(Object.values(e.ocrd_tool.tools).map(function(t){return t.part_of=e.org_plus_name,t}))),t},[])},processors:function(){var t=this;return this.all_processors.filter(function(e){var r=!0,o=!1,n=void 0;try{for(var i,a=t.step_filter[Symbol.iterator]();!(r=(i=a.next()).done);r=!0){var s=i.value;if(-1==e.steps.indexOf(s))return!1}}catch(t){o=!0,n=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw n}}var l=!0,c=!1,u=void 0;try{for(var d,p=t.category_filter[Symbol.iterator]();!(l=(d=p.next()).done);l=!0){var f=d.value;if(-1==e.categories.indexOf(f))return!1}}catch(t){c=!0,u=t}finally{try{!l&&p.return&&p.return()}finally{if(c)throw u}}return!0})}},mounted:function(){this.fetchRepoData()},methods:{fetchRepoData:function(){var t=this;fetch("repos.json").then(function(t){return t.json()}).then(function(e){var r;t.repos_raw.splice(0,t.repos_raw.length),(r=t.repos_raw).push.apply(r,o(e))})},toggleStepFilter:function(t){t in this.step_filter?this.step_filter=this.step_filter.splice(this.step_filter.indexOf(t),1):this.step_filter.push(t)}}}},function(t,e,r){"use strict";var o=r(231);e.a={components:{OcrdProcessorListItem:o.a},props:{processors:{required:!0},steps:{required:!0},step_filter:{require:!0},categories:{required:!0},category_filter:{require:!0}}}},function(t,e,r){"use strict";e.a={props:{processor:{required:!0}}}},function(t,e,r){"use strict";var o=r(237);e.a={components:{OcrdProjectListItem:o.a},props:{repos:{required:!0}}}},function(t,e,r){"use strict";var o=r(240),n=r.n(o),i=r(241);e.a={components:{VueCodeHighlight:i.a},props:{repo:{required:!0}},computed:{cleanId:function(){return this.repo.org_plus_name.replace(/[^A-Za-z0-9]/g,"-")},compiledReadme:function(){var t=this.repo.files["README.md"];return t||(t="`# NO README`"),n()(t)}}}},function(t,e,r){"use strict";var o=r(8);e.a=Object(o.c)({breakpoints:["xs","sm","md","lg","xl"],formControls:{size:null},BAlert:{dismissLabel:"Close",variant:"info"},BBadge:{variant:"secondary"},BButton:{size:null,variant:"secondary"},BButtonClose:{textVariant:null,ariaLabel:"Close"},BCardSubTitle:{subTitleTextVariant:"muted"},BCarousel:{labelPrev:"Previous Slide",labelNext:"Next Slide",labelGotoSlide:"Goto Slide",labelIndicators:"Select a slide to display"},BDropdown:{toggleText:"Toggle Dropdown",size:null,variant:"secondary",splitVariant:null},BFormFile:{browseText:"Browse",placeholder:"No file chosen",dropPlaceholder:"Drop files here"},BFormText:{textVariant:"muted"},BImg:{blankColor:"transparent"},BImgLazy:{blankColor:"transparent"},BInputGroup:{size:null},BJumbotron:{bgVariant:null,borderVariant:null,textVariant:null},BListGroupItem:{variant:null},BModal:{titleTag:"h5",size:"md",headerBgVariant:null,headerBorderVariant:null,headerTextVariant:null,headerCloseVariant:null,bodyBgVariant:null,bodyTextVariant:null,footerBgVariant:null,footerBorderVariant:null,footerTextVariant:null,cancelTitle:"Cancel",cancelVariant:"secondary",okTitle:"OK",okVariant:"primary",headerCloseLabel:"Close"},BNavbar:{variant:null},BNavbarToggle:{label:"Toggle navigation"},BPagination:{size:null},BPaginationNav:{size:null},BPopover:{boundary:"scrollParent",boundaryPadding:5,customClass:null,delay:50,variant:null},BProgress:{variant:null},BProgressBar:{variant:null},BSpinner:{variant:null},BTable:{selectedVariant:"primary",headVariant:null,footVariant:null},BToast:{toaster:"b-toaster-top-right",autoHideDelay:5e3,variant:null,toastClass:null,headerClass:null,bodyClass:null},BToaster:{ariaLive:null,ariaAtomic:null,role:null},BTooltip:{boundary:"scrollParent",boundaryPadding:5,customClass:null,delay:50,variant:null}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(101),n=r(3),i=Object(n.b)({components:{BAlert:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return b});var n=r(0),i=r(4),a=r(6),s=r(1),l=r(30),c=r(5),u=r(31),d=function(t){return""===t||Object(s.b)(t)?0:(t=parseInt(t,10),t>0?t:0)},p=function(t){return""===t||!0===t||!(parseInt(t,10)<1)&&Boolean(t)},f=function(t){return!isNaN(parseInt(t,10))},b=n.a.extend({name:"BAlert",mixins:[c.a],model:{prop:"show",event:"input"},props:{variant:{type:String,default:function(){return Object(i.c)("BAlert","variant")}},dismissible:{type:Boolean,default:!1},dismissLabel:{type:String,default:function(){return Object(i.c)("BAlert","dismissLabel")}},show:{type:[Boolean,Number,String],default:!1},fade:{type:Boolean,default:!1}},data:function(){return{countDownTimerId:null,countDown:0,localShow:p(this.show)}},watch:{show:function(t){this.countDown=d(t),this.localShow=p(t)},countDown:function(t){var e=this;this.clearTimer(),f(this.show)&&(this.$emit("dismiss-count-down",t),this.show!==t&&this.$emit("input",t),t>0?(this.localShow=!0,this.countDownTimerId=setTimeout(function(){e.countDown--},1e3)):this.$nextTick(function(){Object(a.w)(function(){e.localShow=!1})}))},localShow:function(t){t||!this.dismissible&&!f(this.show)||this.$emit("dismissed"),f(this.show)||this.show===t||this.$emit("input",t)}},created:function(){this.countDown=d(this.show),this.localShow=p(this.show)},mounted:function(){this.countDown=d(this.show),this.localShow=p(this.show)},beforeDestroy:function(){this.clearTimer()},methods:{dismiss:function(){this.clearTimer(),this.countDown=0,this.localShow=!1},clearTimer:function(){this.countDownTimerId&&(clearInterval(this.countDownTimerId),this.countDownTimerId=null)}},render:function(t){var e;if(this.localShow){var r=t();this.dismissible&&(r=t(u.a,{attrs:{"aria-label":this.dismissLabel},on:{click:this.dismiss}},[this.normalizeSlot("dismiss")])),e=t("div",{key:this._uid,staticClass:"alert",class:o({"alert-dismissible":this.dismissible},"alert-".concat(this.variant),this.variant),attrs:{role:"alert","aria-live":"polite","aria-atomic":!0}},[r,this.normalizeSlot("default")]),e=[e]}return t(l.b,{props:{noFade:!this.fade}},e)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(103),n=r(3),i=Object(n.b)({components:{BBadge:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return p});var i=r(0),a=r(2),s=r(4),l=r(15),c=r(14),u=Object(c.b)();delete u.href.default,delete u.to.default;var d=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},u,{tag:{type:String,default:"span"},variant:{type:String,default:function(){return Object(s.c)("BBadge","variant")}},pill:{type:Boolean,default:!1}}),p=i.a.extend({name:"BBadge",functional:!0,props:d,render:function(t,e){var r=e.props,o=e.data,n=e.children,i=r.href||r.to?c.a:r.tag,s={staticClass:"badge",class:[r.variant?"badge-".concat(r.variant):"badge-secondary",{"badge-pill":Boolean(r.pill),active:r.active,disabled:r.disabled}],props:Object(l.a)(u,r)};return t(i,Object(a.a)(o,s),n)}})},function(t,e,r){"use strict";var o=function(t){return t};e.a=o},function(t,e,r){"use strict";r.d(e,"e",function(){return p}),r.d(e,"d",function(){return f}),r.d(e,"c",function(){return b}),r.d(e,"b",function(){return m}),r.d(e,"a",function(){return h});var o=r(26),n=r(1),i=r(8),a=/%2C/g,s=/[!'()*]/g,l=function(t){return"%"+t.charCodeAt(0).toString(16)},c=function(t){return encodeURIComponent(Object(o.a)(t)).replace(s,l).replace(a,",")},u=decodeURIComponent,d=function(t){if(!Object(n.j)(t))return"";var e=Object(i.j)(t).map(function(e){var r=t[e];return Object(n.n)(r)?"":Object(n.g)(r)?c(e):Object(n.a)(r)?r.reduce(function(t,r){return Object(n.g)(r)?t.push(c(e)):Object(n.n)(r)||t.push(c(e)+"="+c(r)),t},[]).join("&"):c(e)+"="+c(r)}).filter(function(t){return t.length>0}).join("&");return e?"?".concat(e):""},p=function(t){var e={};return(t=Object(o.a)(t).trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var r=t.replace(/\+/g," ").split("="),o=u(r.shift()),i=r.length>0?u(r.join("=")):null;Object(n.n)(e[o])?e[o]=i:Object(n.a)(e[o])?e[o].push(i):e[o]=[e[o],i]}),e):e},f=function(t){return"a"!==Object(o.a)(t).toLowerCase()},b=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.to,r=t.disabled,o=arguments.length>1?arguments[1]:void 0;return o.$router&&e&&!r?o.$nuxt?"nuxt-link":"router-link":"a"},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.target,r=t.rel;return"_blank"===e&&Object(n.g)(r)?"noopener":r||null},h=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.href,r=t.to,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"a",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#",s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/";if(f(i))return null;if(e)return e;if(r){if(Object(n.m)(r))return r||s;if(Object(n.j)(r)&&(r.path||r.query||r.hash)){var l=Object(o.a)(r.path),c=d(r.query),u=Object(o.a)(r.hash);return u=u&&"#"!==u.charAt(0)?"#".concat(u):u,"".concat(l).concat(c).concat(u)||s}}return a}},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(107),n=r(53),i=r(108),a=r(3),s=Object(a.b)({components:{BBreadcrumb:o.a,BBreadcrumbItem:n.a,BBreadcrumbLink:i.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return p});var a=r(0),s=r(2),l=r(26),c=r(1),u=r(53),d={items:{type:Array,default:null}},p=a.a.extend({name:"BBreadcrumb",functional:!0,props:d,render:function(t,e){var r=e.props,o=e.data,i=e.children,a=i;if(Object(c.a)(r.items)){var d=!1;a=r.items.map(function(e,o){Object(c.i)(e)||(e={text:Object(l.a)(e)});var i=e.active;return i&&(d=!0),i||d||(i=o+1===r.items.length),t(u.a,{props:n({},e,{active:i})})})}return t("ol",Object(s.a)(o,{staticClass:"breadcrumb"}),a)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return u}),r.d(e,"a",function(){return d});var i=r(0),a=r(2),s=r(15),l=r(11),c=r(14),u=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},Object(c.b)(),{text:{type:String,default:null},html:{type:String,default:null},ariaCurrent:{type:String,default:"location"}}),d=i.a.extend({name:"BBreadcrumbLink",functional:!0,props:u,render:function(t,e){var r=e.props,o=e.data,n=e.children,i=r.active?"span":c.a,d={props:Object(s.a)(u,r)};return r.active&&(d.attrs={"aria-current":r.ariaCurrent}),n||(d.domProps=Object(l.a)(r.html,r.text)),t(i,Object(a.a)(o,d),n)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(34),n=r(31),i=r(3),a=Object(i.b)({components:{BButton:o.a,BBtn:o.a,BButtonClose:n.a,BBtnClose:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(111),n=r(3),i=Object(n.b)({components:{BButtonGroup:o.a,BBtnGroup:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(4),s={vertical:{type:Boolean,default:!1},size:{type:String,default:function(){return Object(a.c)("BButton","size")}},tag:{type:String,default:"div"},ariaRole:{type:String,default:"group"}},l=n.a.extend({name:"BButtonGroup",functional:!0,props:s,render:function(t,e){var r=e.props,n=e.data,a=e.children;return t(r.tag,Object(i.a)(n,{class:o({"btn-group":!r.vertical,"btn-group-vertical":r.vertical},"btn-group-".concat(r.size),Boolean(r.size)),attrs:{role:r.ariaRole}}),a)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(113),n=r(3),i=Object(n.b)({components:{BButtonToolbar:o.a,BBtnToolbar:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(0),n=r(6),i=r(5),a=r(19),s=[".btn:not(.disabled):not([disabled]):not(.dropdown-item)",".form-control:not(.disabled):not([disabled])","select:not(.disabled):not([disabled])",'input[type="checkbox"]:not(.disabled)','input[type="radio"]:not(.disabled)'].join(","),l=o.a.extend({name:"BButtonToolbar",mixins:[i.a],props:{justify:{type:Boolean,default:!1},keyNav:{type:Boolean,default:!1}},mounted:function(){this.keyNav&&this.getItems()},methods:{onFocusin:function(t){t.target===this.$el&&(t.preventDefault(),t.stopPropagation(),this.focusFirst(t))},stop:function(t){t.preventDefault(),t.stopPropagation()},onKeydown:function(t){if(this.keyNav){var e=t.keyCode,r=t.shiftKey;e===a.a.UP||e===a.a.LEFT?(this.stop(t),r?this.focusFirst(t):this.focusPrev(t)):e!==a.a.DOWN&&e!==a.a.RIGHT||(this.stop(t),r?this.focusLast(t):this.focusNext(t))}},setItemFocus:function(t){t&&t.focus&&t.focus()},focusFirst:function(t){var e=this.getItems();this.setItemFocus(e[0])},focusPrev:function(t){var e=this.getItems(),r=e.indexOf(t.target);r>-1&&(e=e.slice(0,r).reverse(),this.setItemFocus(e[0]))},focusNext:function(t){var e=this.getItems(),r=e.indexOf(t.target);r>-1&&(e=e.slice(r+1),this.setItemFocus(e[0]))},focusLast:function(t){var e=this.getItems().reverse();this.setItemFocus(e[0])},getItems:function(){var t=Object(n.y)(s,this.$el);return t.forEach(function(t){t.tabIndex=-1}),t.filter(function(t){return Object(n.p)(t)})}},render:function(t){return t("div",{staticClass:"btn-toolbar",class:{"justify-content-between":this.justify},attrs:{role:"toolbar",tabindex:this.keyNav?"0":null},on:this.keyNav?{focusin:this.onFocusin,keydown:this.onKeydown}:{}},[this.normalizeSlot("default")])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return b});var o=r(115),n=r(58),i=r(55),a=r(56),s=r(57),l=r(59),c=r(60),u=r(116),d=r(118),p=r(119),f=r(3),b=Object(f.b)({components:{BCard:o.a,BCardHeader:n.a,BCardBody:i.a,BCardTitle:a.a,BCardSubTitle:s.a,BCardFooter:l.a,BCardImg:c.a,BCardImgLazy:u.a,BCardText:d.a,BCardGroup:p.a}})},function(t,e,r){"use strict";function o(t){return a(t)||i(t)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function i(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function a(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return k});var c=r(0),u=r(2),d=r(35),p=r(249),f=r(36),b=r(15),m=r(18),h=r(37),g=r(55),v=r(58),y=r(59),w=r(60),x=Object(f.a)(w.b,d.a.bind(null,"img"));x.imgSrc.required=!1;var O=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(r,!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},g.b,{},v.b,{},y.b,{},x,{},Object(f.a)(h.a.props),{align:{type:String,default:null},noBody:{type:Boolean,default:!1}}),k=c.a.extend({name:"BCard",functional:!0,props:O,render:function(t,e){var r,n=e.props,i=e.data,a=e.slots,s=e.scopedSlots,c=a(),d=s||{},f=t(),h=t(),O=t(),k=t(),j=t();if(n.imgSrc){var S=t(w.a,{props:Object(b.a)(x,n,p.a.bind(null,"img"))});n.imgBottom?j=S:f=S}return(n.header||Object(m.a)("header",d,c))&&(h=t(v.a,{props:Object(b.a)(v.b,n)},Object(m.b)("header",{},d,c))),O=Object(m.b)("default",{},d,c)||[],n.noBody||(O=[t(g.a,{props:Object(b.a)(g.b,n)},o(O))]),(n.footer||Object(m.a)("footer",d,c))&&(k=t(y.a,{props:Object(b.a)(y.b,n)},Object(m.b)("footer",{},d,c))),t(n.tag,Object(u.a)(i,{staticClass:"card",class:(r={"flex-row":n.imgLeft||n.imgStart,"flex-row-reverse":(n.imgRight||n.imgEnd)&&!(n.imgLeft||n.imgStart)},l(r,"text-".concat(n.align),Boolean(n.align)),l(r,"bg-".concat(n.bgVariant),Boolean(n.bgVariant)),l(r,"border-".concat(n.borderVariant),Boolean(n.borderVariant)),l(r,"text-".concat(n.textVariant),Boolean(n.textVariant)),r)}),[f,h].concat(o(O),[k,j]))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return p});var a=r(0),s=r(8),l=r(2),c=r(61),u=Object(s.k)(c.b,["left","right","center","block","rounded","thumbnail","fluid","fluidGrow"]),d=n({},u,{top:{type:Boolean,default:!1},bottom:{type:Boolean,default:!1},start:{type:Boolean,default:!1},left:{type:Boolean,default:!1},end:{type:Boolean,default:!1},right:{type:Boolean,default:!1}}),p=a.a.extend({name:"BCardImgLazy",functional:!0,props:d,render:function(t,e){var r=e.props,o=e.data,i="card-img";r.top?i+="-top":r.right||r.end?i+="-right":r.bottom?i+="-bottom":(r.left||r.start)&&(i+="-left");var a=n({},r,{left:!1,right:!1,center:!1});return t(c.a,Object(l.a)(o,{class:[i],props:a}))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function l(t,e,r){return e&&s(t.prototype,e),r&&s(t,r),t}r.d(e,"a",function(){return y});var c=r(12),u=r(6),d=r(1),p=r(8),f="__bv__visibility_observer",b=function(){function t(e,r,o){a(this,t),this.el=e,this.callback=r.callback,this.margin=r.margin||0,this.once=r.once||!1,this.observer=null,this.visible=void 0,this.doneOnce=!1,this.createObserver(o)}return l(t,[{key:"createObserver",value:function(t){var e=this;if(this.observer&&this.stop(),!this.doneOnce&&Object(d.f)(this.callback)){try{this.observer=new IntersectionObserver(this.handler.bind(this),{root:null,rootMargin:this.margin,threshold:0})}catch(t){return this.doneOnce=!0,this.observer=void 0,void this.callback(null)}t.context.$nextTick(function(){Object(u.w)(function(){e.observer&&e.observer.observe(e.el)})})}}},{key:"handler",value:function(t){var e=t?t[0]:{},r=Boolean(e.isIntersecting||e.intersectionRatio>0);r!==this.visible&&(this.visible=r,this.callback(r),this.once&&this.visible&&(this.doneOnce=!0,this.stop()))}},{key:"stop",value:function(){var t=this.observer;t&&t.disconnect&&t.disconnect(),this.observer=null}}]),t}(),m=function(t){var e=t[f];e&&e.stop&&e.stop(),delete t[f]},h=function(t,e,r){var o=e.value,i=e.modifiers,a={margin:"0px",once:!1,callback:o};Object(p.j)(i).forEach(function(t){/^\d+$/.test(t)?a.margin="".concat(t,"px"):"once"===t.toLowerCase()&&(a.once=!0)}),m(t),t[f]=new b(t,a,r),t[f]._prevModifiers=n({},i)},g=function(t,e,r){var o=e.value,n=e.oldValue,i=e.modifiers;o===n&&t[f]&&Object(c.a)(i,t[f]._prevModifiers)||h(t,{value:o,modifiers:i},r)},v=function(t){m(t)},y={bind:h,componentUpdated:g,unbind:v}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={textTag:{type:String,default:"p"}},a=o.a.extend({name:"BCardText",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.textTag,Object(n.a)(o,{staticClass:"card-text"}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"},deck:{type:Boolean,default:!1},columns:{type:Boolean,default:!1}},a=o.a.extend({name:"BCardGroup",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children,a="card-group";return r.deck?a="card-deck":r.columns&&(a="card-columns"),t(r.tag,Object(n.a)(o,{class:a}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(121),n=r(122),i=r(3),a=Object(i.b)({components:{BCarousel:o.a,BCarouselSlide:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return y});var o=r(0),n=r(19),i=r(251),a=r(39),s=r(4),l=r(6),c=r(10),u=r(1),d=r(9),p=r(5),f="BCarousel",b={next:{dirClass:"carousel-item-left",overlayClass:"carousel-item-next"},prev:{dirClass:"carousel-item-right",overlayClass:"carousel-item-prev"}},m={TOUCH:"touch",PEN:"pen"},h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend oTransitionEnd",transition:"transitionend"},g={passive:!0,capture:!1},v=function(t){for(var e in h)if(!Object(u.n)(t.style[e]))return h[e];return null},y=o.a.extend({name:f,mixins:[d.a,p.a],provide:function(){return{bvCarousel:this}},model:{prop:"value",event:"input"},props:{labelPrev:{type:String,default:function(){return Object(s.c)(f,"labelPrev")}},labelNext:{type:String,default:function(){return Object(s.c)(f,"labelNext")}},labelGotoSlide:{type:String,default:function(){return Object(s.c)(f,"labelGotoSlide")}},labelIndicators:{type:String,default:function(){return Object(s.c)(f,"labelIndicators")}},interval:{type:Number,default:5e3},indicators:{type:Boolean,default:!1},controls:{type:Boolean,default:!1},noAnimation:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},noTouch:{type:Boolean,default:!1},noHoverPause:{type:Boolean,default:!1},imgWidth:{type:[Number,String]},imgHeight:{type:[Number,String]},background:{type:String},value:{type:Number,default:0}},data:function(){return{index:this.value||0,isSliding:!1,transitionEndEvent:null,slides:[],direction:null,isPaused:!(parseInt(this.interval,10)>0),touchStartX:0,touchDeltaX:0}},computed:{numSlides:function(){return this.slides.length}},watch:{value:function(t,e){t!==e&&this.setSlide(parseInt(t,10)||0)},interval:function(t,e){t!==e&&(t?(this.pause(!0),this.start(!1)):this.pause(!1))},isPaused:function(t,e){t!==e&&this.$emit(t?"paused":"unpaused")},index:function(t,e){t===e||this.isSliding||this.doSlide(t,e)}},created:function(){this._intervalId=null,this._animationTimeout=null,this._touchTimeout=null,this.isPaused=!(parseInt(this.interval,10)>0)},mounted:function(){this.transitionEndEvent=v(this.$el)||null,this.updateSlides(),Object(a.a)(this.$refs.inner,this.updateSlides.bind(this),{subtree:!1,childList:!0,attributes:!0,attributeFilter:["id"]})},beforeDestroy:function(){clearTimeout(this._animationTimeout),clearTimeout(this._touchTimeout),clearInterval(this._intervalId),this._intervalId=null,this._animationTimeout=null,this._touchTimeout=null},methods:{setSlide:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!(c.j&&document.visibilityState&&document.hidden)){var o=this.noWrap,n=this.numSlides;if(t=Math.floor(t),0!==n){if(this.isSliding)return void this.$once("sliding-end",function(){return e.setSlide(t,r)});this.direction=r,this.index=t>=n?o?n-1:0:t<0?o?0:n-1:t,o&&this.index!==t&&this.index!==this.value&&this.$emit("input",this.index)}}},prev:function(){this.setSlide(this.index-1,"prev")},next:function(){this.setSlide(this.index+1,"next")},pause:function(t){t||(this.isPaused=!0),this._intervalId&&(clearInterval(this._intervalId),this._intervalId=null)},start:function(t){t||(this.isPaused=!1),this._intervalId&&(clearInterval(this._intervalId),this._intervalId=null),this.interval&&this.numSlides>1&&(this._intervalId=setInterval(this.next,Math.max(1e3,this.interval)))},restart:function(t){this.$el.contains(document.activeElement)||this.start()},doSlide:function(t,e){var r=this,o=Boolean(this.interval),n=this.calcDirection(this.direction,e,t),i=n.overlayClass,a=n.dirClass,s=this.slides[e],c=this.slides[t];if(s&&c){if(this.isSliding=!0,o&&this.pause(!1),this.$emit("sliding-start",t),this.$emit("input",this.index),this.noAnimation)Object(l.b)(c,"active"),Object(l.v)(s,"active"),this.isSliding=!1,this.$nextTick(function(){return r.$emit("sliding-end",t)});else{Object(l.b)(c,i),Object(l.t)(c),Object(l.b)(s,a),Object(l.b)(c,a);var u=!1,d=function e(o){if(!u){if(u=!0,r.transitionEndEvent){r.transitionEndEvent.split(/\s+/).forEach(function(t){return Object(l.e)(s,t,e,g)})}r._animationTimeout=null,Object(l.v)(c,a),Object(l.v)(c,i),Object(l.b)(c,"active"),Object(l.v)(s,"active"),Object(l.v)(s,a),Object(l.v)(s,i),Object(l.z)(s,"aria-current","false"),Object(l.z)(c,"aria-current","true"),Object(l.z)(s,"aria-hidden","true"),Object(l.z)(c,"aria-hidden","false"),r.isSliding=!1,r.direction=null,r.$nextTick(function(){return r.$emit("sliding-end",t)})}};if(this.transitionEndEvent){this.transitionEndEvent.split(/\s+/).forEach(function(t){return Object(l.f)(s,t,d,g)})}this._animationTimeout=setTimeout(d,650)}o&&this.start(!1)}},updateSlides:function(){this.pause(!0),this.slides=Object(l.y)(".carousel-item",this.$refs.inner);var t=this.slides.length,e=Math.max(0,Math.min(Math.floor(this.index),t-1));this.slides.forEach(function(r,o){var n=o+1;o===e?(Object(l.b)(r,"active"),Object(l.z)(r,"aria-current","true")):(Object(l.v)(r,"active"),Object(l.z)(r,"aria-current","false")),Object(l.z)(r,"aria-posinset",String(n)),Object(l.z)(r,"aria-setsize",String(t))}),this.setSlide(e),this.start(this.isPaused)},calcDirection:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return t?b[t]:r>e?b.next:b.prev},handleClick:function(t,e){var r=t.keyCode;"click"!==t.type&&r!==n.a.SPACE&&r!==n.a.ENTER||(t.preventDefault(),t.stopPropagation(),e())},handleSwipe:function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0?this.prev():e<0&&this.next()}},touchStart:function(t){c.f&&m[t.pointerType.toUpperCase()]?this.touchStartX=t.clientX:c.f||(this.touchStartX=t.touches[0].clientX)},touchMove:function(t){t.touches&&t.touches.length>1?this.touchDeltaX=0:this.touchDeltaX=t.touches[0].clientX-this.touchStartX},touchEnd:function(t){c.f&&m[t.pointerType.toUpperCase()]&&(this.touchDeltaX=t.clientX-this.touchStartX),this.handleSwipe(),this.pause(!1),this._touchTimeout&&clearTimeout(this._touchTimeout),this._touchTimeout=setTimeout(this.start,500+Math.max(1e3,this.interval))}},render:function(t){var e=this,r=t("div",{ref:"inner",class:["carousel-inner"],attrs:{id:this.safeId("__BV_inner_"),role:"list"}},[this.normalizeSlot("default")]),o=t();if(this.controls){var a=function(t){e.isSliding?t.preventDefault():e.handleClick(t,e.prev)},s=function(t){e.isSliding?t.preventDefault():e.handleClick(t,e.next)};o=[t("a",{class:["carousel-control-prev"],attrs:{href:"#",role:"button","aria-controls":this.safeId("__BV_inner_"),"aria-disabled":this.isSliding?"true":null},on:{click:a,keydown:a}},[t("span",{class:["carousel-control-prev-icon"],attrs:{"aria-hidden":"true"}}),t("span",{class:["sr-only"]},[this.labelPrev])]),t("a",{class:["carousel-control-next"],attrs:{href:"#",role:"button","aria-controls":this.safeId("__BV_inner_"),"aria-disabled":this.isSliding?"true":null},on:{click:s,keydown:s}},[t("span",{class:["carousel-control-next-icon"],attrs:{"aria-hidden":"true"}}),t("span",{class:["sr-only"]},[this.labelNext])])]}var l=t("ol",{class:["carousel-indicators"],directives:[{name:"show",rawName:"v-show",value:this.indicators,expression:"indicators"}],attrs:{id:this.safeId("__BV_indicators_"),"aria-hidden":this.indicators?"false":"true","aria-label":this.labelIndicators,"aria-owns":this.safeId("__BV_inner_")}},this.slides.map(function(r,o){return t("li",{key:"slide_".concat(o),class:{active:o===e.index},attrs:{role:"button",id:e.safeId("__BV_indicator_".concat(o+1,"_")),tabindex:e.indicators?"0":"-1","aria-current":o===e.index?"true":"false","aria-label":"".concat(e.labelGotoSlide," ").concat(o+1),"aria-describedby":e.slides[o].id||null,"aria-controls":e.safeId("__BV_inner_")},on:{click:function(t){e.handleClick(t,function(){e.setSlide(o)})},keydown:function(t){e.handleClick(t,function(){e.setSlide(o)})}}})})),u={mouseenter:this.noHoverPause?i.a:this.pause,mouseleave:this.noHoverPause?i.a:this.restart,focusin:this.pause,focusout:this.restart,keydown:function(t){if(!/input|textarea/i.test(t.target.tagName)){var r=t.keyCode;r!==n.a.LEFT&&r!==n.a.RIGHT||(t.preventDefault(),t.stopPropagation(),e[r===n.a.LEFT?"prev":"next"]())}}};return!this.noTouch&&c.h&&(c.f?(u["&pointerdown"]=this.touchStart,u["&pointerup"]=this.touchEnd):(u["&touchstart"]=this.touchStart,u["&touchmove"]=this.touchMove,u["&touchend"]=this.touchEnd)),t("div",{staticClass:"carousel",class:{slide:!this.noAnimation,"carousel-fade":!this.noAnimation&&this.fade,"pointer-event":!this.noTouch&&c.h&&c.f},style:{background:this.background},attrs:{role:"region",id:this.safeId(),"aria-busy":this.isSliding?"true":"false"},on:u},[r,o,l])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(9),i=r(5),a=r(10),s=r(11),l=r(38),c={imgSrc:{type:String},imgAlt:{type:String},imgWidth:{type:[Number,String]},imgHeight:{type:[Number,String]},imgBlank:{type:Boolean,default:!1},imgBlankColor:{type:String,default:"transparent"},contentVisibleUp:{type:String},contentTag:{type:String,default:"div"},caption:{type:String},captionHtml:{type:String},captionTag:{type:String,default:"h3"},text:{type:String},textHtml:{type:String},textTag:{type:String,default:"p"},background:{type:String}},u=o.a.extend({name:"BCarouselSlide",mixins:[n.a,i.a],inject:{bvCarousel:{default:function(){return{noTouch:!0}}}},props:c,computed:{contentClasses:function(){return[this.contentVisibleUp?"d-none":"",this.contentVisibleUp?"d-".concat(this.contentVisibleUp,"-block"):""]},computedWidth:function(){return this.imgWidth||this.bvCarousel.imgWidth||null},computedHeight:function(){return this.imgHeight||this.bvCarousel.imgHeight||null}},render:function(t){var e=!this.bvCarousel.noTouch&&a.h,r=this.normalizeSlot("img");r||!this.imgSrc&&!this.imgBlank||(r=t(l.a,{props:{fluidGrow:!0,block:!0,src:this.imgSrc,blank:this.imgBlank,blankColor:this.imgBlankColor,width:this.computedWidth,height:this.computedHeight,alt:this.imgAlt},on:e?{dragstart:function(t){t.preventDefault()}}:{}})),r||(r=t());var o=t(),n=[!(!this.caption&&!this.captionHtml)&&t(this.captionTag,{domProps:Object(s.a)(this.captionHtml,this.caption)}),!(!this.text&&!this.textHtml)&&t(this.textTag,{domProps:Object(s.a)(this.textHtml,this.text)}),this.normalizeSlot("default")||!1];return n.some(Boolean)&&(o=t(this.contentTag,{staticClass:"carousel-caption",class:this.contentClasses},n.map(function(e){return e||t()}))),t("div",{staticClass:"carousel-item",style:{background:this.background||this.bvCarousel.background||null},attrs:{id:this.safeId(),role:"listitem"}},[r,o])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(9),i=r(27),a=r(5),s=r(10),l=r(6),c={passive:!0,capture:!1},u=o.a.extend({name:"BCollapse",mixins:[n.a,i.a,a.a],model:{prop:"visible",event:"input"},props:{isNav:{type:Boolean,default:!1},accordion:{type:String,default:null},visible:{type:Boolean,default:!1},tag:{type:String,default:"div"}},data:function(){return{show:this.visible,transitioning:!1}},computed:{classObject:function(){return{"navbar-collapse":this.isNav,collapse:!this.transitioning,show:this.show&&!this.transitioning}}},watch:{visible:function(t){t!==this.show&&(this.show=t)},show:function(t,e){t!==e&&this.emitState()}},created:function(){this.show=this.visible},mounted:function(){var t=this;this.show=this.visible,this.listenOnRoot("bv::toggle::collapse",this.handleToggleEvt),this.listenOnRoot("bv::collapse::accordion",this.handleAccordionEvt),this.isNav&&(this.setWindowEvents(!0),this.handleResize()),this.$nextTick(function(){t.emitState()}),this.listenOnRoot("bv::request::collapse::state",function(e){e===t.safeId()&&t.$nextTick(t.emitSync)})},updated:function(){this.emitSync()},deactivated:function(){this.isNav&&this.setWindowEvents(!1)},activated:function(){this.isNav&&this.setWindowEvents(!0),this.emitSync()},beforeDestroy:function(){this.show=!1,this.isNav&&s.j&&this.setWindowEvents(!1)},methods:{setWindowEvents:function(t){var e=t?l.f:l.e;e(window,"resize",this.handleResize,c),e(window,"orientationchange",this.handleResize,c)},toggle:function(){this.show=!this.show},onEnter:function(t){t.style.height=0,Object(l.t)(t),t.style.height=t.scrollHeight+"px",this.transitioning=!0,this.$emit("show")},onAfterEnter:function(t){t.style.height=null,this.transitioning=!1,this.$emit("shown")},onLeave:function(t){t.style.height="auto",t.style.display="block",t.style.height=Object(l.h)(t).height+"px",Object(l.t)(t),this.transitioning=!0,t.style.height=0,this.$emit("hide")},onAfterLeave:function(t){t.style.height=null,this.transitioning=!1,this.$emit("hidden")},emitState:function(){this.$emit("input",this.show),this.$root.$emit("bv::collapse::state",this.safeId(),this.show),this.accordion&&this.show&&this.$root.$emit("bv::collapse::accordion",this.safeId(),this.accordion)},emitSync:function(){this.$root.$emit("bv::collapse::sync::state",this.safeId(),this.show)},checkDisplayBlock:function(){var t=Object(l.m)(this.$el,"show");Object(l.v)(this.$el,"show");var e="block"===Object(l.j)(this.$el).display;return t&&Object(l.b)(this.$el,"show"),e},clickHandler:function(t){var e=t.target;this.isNav&&e&&"block"===Object(l.j)(this.$el).display&&(Object(l.q)(e,".nav-link,.dropdown-item")||Object(l.c)(".nav-link,.dropdown-item",e))&&(this.checkDisplayBlock()||(this.show=!1))},handleToggleEvt:function(t){t===this.safeId()&&this.toggle()},handleAccordionEvt:function(t,e){this.accordion&&e===this.accordion&&(t===this.safeId()?this.show||this.toggle():this.show&&this.toggle())},handleResize:function(){this.show="block"===Object(l.j)(this.$el).display}},render:function(t){var e=t(this.tag,{class:this.classObject,directives:[{name:"show",value:this.show}],attrs:{id:this.safeId()},on:{click:this.clickHandler}},[this.normalizeSlot("default")]);return t("transition",{props:{enterClass:"",enterActiveClass:"collapsing",enterToClass:"",leaveClass:"",leaveActiveClass:"collapsing",leaveToClass:""},on:{enter:this.onEnter,afterEnter:this.onAfterEnter,leave:this.onLeave,afterLeave:this.onAfterLeave}},[e])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(125),s=r(19),l=r(13),c=r(41),u=r(6),d=r(1),p=r(9),f=function(t){return(t||[]).filter(u.p)},b="".concat("bv::dropdown::","shown"),m="".concat("bv::dropdown::","hidden"),h={FORM_CHILD:".dropdown form",ITEM_SELECTOR:[".dropdown-item",".b-dropdown-form"].map(function(t){return"".concat(t,":not(.disabled):not([disabled])")}).join(", ")},g={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end",RIGHT:"right-start",RIGHTEND:"right-end",LEFT:"left-start",LEFTEND:"left-end"};e.a={mixins:[p.a],provide:function(){return{bvDropdown:this}},props:{disabled:{type:Boolean,default:!1},text:{type:String,default:""},html:{type:String},dropup:{type:Boolean,default:!1},dropright:{type:Boolean,default:!1},dropleft:{type:Boolean,default:!1},right:{type:Boolean,default:!1},offset:{type:[Number,String],default:0},noFlip:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},popperOpts:{default:function(){}}},data:function(){return{visible:!1,inNavbar:null,visibleChangePrevented:!1}},computed:{toggler:function(){var t=this.$refs.toggle;return t?t.$el||t:null},directionClass:function(){return this.dropup?"dropup":this.dropright?"dropright":this.dropleft?"dropleft":""}},watch:{visible:function(t,e){if(this.visibleChangePrevented)return void(this.visibleChangePrevented=!1);if(t!==e){var r=t?"show":"hide",o=new c.a(r,{cancelable:!0,vueTarget:this,target:this.$refs.menu,relatedTarget:null,componentId:this.safeId?this.safeId():this.id||null});if(this.emitEvent(o),o.defaultPrevented)return this.visibleChangePrevented=!0,this.visible=e,void this.$off("hidden",this.focusToggler);"show"===r?this.showMenu():this.hideMenu()}},disabled:function(t,e){t!==e&&t&&this.visible&&(this.visible=!1)}},created:function(){this._popper=null},deactivated:function(){this.visible=!1,this.whileOpenListen(!1),this.removePopper()},beforeDestroy:function(){this.visible=!1,this.whileOpenListen(!1),this.removePopper()},methods:{emitEvent:function(t){var e=t.type;this.$emit(e,t),this.$root.$emit("".concat("bv::dropdown::").concat(e),t)},showMenu:function(){var t=this;if(!this.disabled){if(Object(d.g)(this.inNavbar)&&this.isNav&&(this.inNavbar=Boolean(Object(u.c)(".navbar",this.$el))),!this.inNavbar)if(void 0===a.a)Object(l.a)("b-dropdown: Popper.js not found. Falling back to CSS positioning.");else{var e=this.dropup&&this.right||this.split?this.$el:this.$refs.toggle;e=e.$el||e,this.createPopper(e)}this.$root.$emit(b,this),this.whileOpenListen(!0),this.$nextTick(function(){t.focusMenu(),t.$emit("shown")})}},hideMenu:function(){this.whileOpenListen(!1),this.$root.$emit(m,this),this.$emit("hidden"),this.removePopper()},createPopper:function(t){this.removePopper(),this._popper=new a.a(t,this.$refs.menu,this.getPopperConfig())},removePopper:function(){this._popper&&this._popper.destroy(),this._popper=null},getPopperConfig:function(){var t=g.BOTTOM;this.dropup?t=this.right?g.TOPEND:g.TOP:this.dropright?t=g.RIGHT:this.dropleft?t=g.LEFT:this.right&&(t=g.BOTTOMEND);var e={placement:t,modifiers:{offset:{offset:this.offset||0},flip:{enabled:!this.noFlip}}};return this.boundary&&(e.modifiers.preventOverflow={boundariesElement:this.boundary}),n({},e,{},this.popperOpts||{})},whileOpenListen:function(t){t?(this.$root.$on(b,this.rootCloseListener),Object(u.f)(this.$el,"focusout",this.onFocusOut,{passive:!0})):(this.$root.$off(b,this.rootCloseListener),Object(u.e)(this.$el,"focusout",this.onFocusOut,{passive:!0}))},rootCloseListener:function(t){t!==this&&(this.visible=!1)},show:function(){var t=this;this.disabled||Object(u.w)(function(){t.visible=!0})},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.disabled||(this.visible=!1,t&&this.$once("hidden",this.focusToggler))},toggle:function(t){t=t||{};var e=t.type,r=t.keyCode;if("click"===e||"keydown"===e&&(r===s.a.ENTER||r===s.a.SPACE||r===s.a.DOWN)){if(this.disabled)return void(this.visible=!1);this.$emit("toggle",t),t.preventDefault(),t.stopPropagation(),this.visible?this.hide(!0):this.show()}},click:function(t){if(this.disabled)return void(this.visible=!1);this.$emit("click",t)},onKeydown:function(t){var e=t.keyCode;e===s.a.ESC?this.onEsc(t):e===s.a.DOWN?this.focusNext(t,!1):e===s.a.UP&&this.focusNext(t,!0)},onEsc:function(t){this.visible&&(this.visible=!1,t.preventDefault(),t.stopPropagation(),this.$once("hidden",this.focusToggler))},onFocusOut:function(t){var e=this,r=t.relatedTarget;if(this.visible&&!Object(u.d)(this.$refs.menu,r)&&!Object(u.d)(this.toggler,r)){var o=function(){e.visible=!1};this.inNavbar?setTimeout(o,100):o()}},focusNext:function(t,e){var r=this;!this.visible||t&&Object(u.c)(h.FORM_CHILD,t.target)||(t.preventDefault(),t.stopPropagation(),this.$nextTick(function(){var o=r.getItems();if(!(o.length<1)){var n=o.indexOf(t.target);e&&n>0?n--:!e&&n<o.length-1&&n++,n<0&&(n=0),r.focusItem(n,o)}}))},focusItem:function(t,e){var r=e.find(function(e,r){return r===t});r&&r.focus&&r.focus()},getItems:function(){return f(Object(u.y)(h.ITEM_SELECTOR,this.$refs.menu))},focusMenu:function(){this.$refs.menu.focus&&this.$refs.menu.focus()},focusToggler:function(){var t=this;this.$nextTick(function(){var e=t.toggler;e&&e.focus&&e.focus()})}}}},function(t,e,r){"use strict";(function(t){function r(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}function o(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},pt))}}function n(t){var e={};return t&&"[object Function]"===e.toString.call(t)}function i(t,e){if(1!==t.nodeType)return[];var r=t.ownerDocument.defaultView,o=r.getComputedStyle(t,null);return e?o[e]:o}function a(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function s(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=i(t),r=e.overflow,o=e.overflowX;return/(auto|scroll|overlay)/.test(r+e.overflowY+o)?t:s(a(t))}function l(t){return t&&t.referenceNode?t.referenceNode:t}function c(t){return 11===t?mt:10===t?ht:mt||ht}function u(t){if(!t)return document.documentElement;for(var e=c(10)?document.body:null,r=t.offsetParent||null;r===e&&t.nextElementSibling;)r=(t=t.nextElementSibling).offsetParent;var o=r&&r.nodeName;return o&&"BODY"!==o&&"HTML"!==o?-1!==["TH","TD","TABLE"].indexOf(r.nodeName)&&"static"===i(r,"position")?u(r):r:t?t.ownerDocument.documentElement:document.documentElement}function d(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||u(t.firstElementChild)===t)}function p(t){return null!==t.parentNode?p(t.parentNode):t}function f(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var r=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,o=r?t:e,n=r?e:t,i=document.createRange();i.setStart(o,0),i.setEnd(n,0);var a=i.commonAncestorContainer;if(t!==a&&e!==a||o.contains(n))return d(a)?a:u(a);var s=p(t);return s.host?f(s.host,e):f(t,p(e).host)}function b(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",r="top"===e?"scrollTop":"scrollLeft",o=t.nodeName;if("BODY"===o||"HTML"===o){var n=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||n)[r]}return t[r]}function m(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=b(e,"top"),n=b(e,"left"),i=r?-1:1;return t.top+=o*i,t.bottom+=o*i,t.left+=n*i,t.right+=n*i,t}function h(t,e){var r="x"===e?"Left":"Top",o="Left"===r?"Right":"Bottom";return parseFloat(t["border"+r+"Width"],10)+parseFloat(t["border"+o+"Width"],10)}function g(t,e,r,o){return Math.max(e["offset"+t],e["scroll"+t],r["client"+t],r["offset"+t],r["scroll"+t],c(10)?parseInt(r["offset"+t])+parseInt(o["margin"+("Height"===t?"Top":"Left")])+parseInt(o["margin"+("Height"===t?"Bottom":"Right")]):0)}function v(t){var e=t.body,r=t.documentElement,o=c(10)&&getComputedStyle(r);return{height:g("Height",e,r,o),width:g("Width",e,r,o)}}function y(t){return wt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function w(t){var e={};try{if(c(10)){e=t.getBoundingClientRect();var r=b(t,"top"),o=b(t,"left");e.top+=r,e.left+=o,e.bottom+=r,e.right+=o}else e=t.getBoundingClientRect()}catch(t){}var n={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},a="HTML"===t.nodeName?v(t.ownerDocument):{},s=a.width||t.clientWidth||n.width,l=a.height||t.clientHeight||n.height,u=t.offsetWidth-s,d=t.offsetHeight-l;if(u||d){var p=i(t);u-=h(p,"x"),d-=h(p,"y"),n.width-=u,n.height-=d}return y(n)}function x(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=c(10),n="HTML"===e.nodeName,a=w(t),l=w(e),u=s(t),d=i(e),p=parseFloat(d.borderTopWidth,10),f=parseFloat(d.borderLeftWidth,10);r&&n&&(l.top=Math.max(l.top,0),l.left=Math.max(l.left,0));var b=y({top:a.top-l.top-p,left:a.left-l.left-f,width:a.width,height:a.height});if(b.marginTop=0,b.marginLeft=0,!o&&n){var h=parseFloat(d.marginTop,10),g=parseFloat(d.marginLeft,10);b.top-=p-h,b.bottom-=p-h,b.left-=f-g,b.right-=f-g,b.marginTop=h,b.marginLeft=g}return(o&&!r?e.contains(u):e===u&&"BODY"!==u.nodeName)&&(b=m(b,e)),b}function O(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=t.ownerDocument.documentElement,o=x(t,r),n=Math.max(r.clientWidth,window.innerWidth||0),i=Math.max(r.clientHeight,window.innerHeight||0),a=e?0:b(r),s=e?0:b(r,"left");return y({top:a-o.top+o.marginTop,left:s-o.left+o.marginLeft,width:n,height:i})}function k(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===i(t,"position"))return!0;var r=a(t);return!!r&&k(r)}function j(t){if(!t||!t.parentElement||c())return document.documentElement;for(var e=t.parentElement;e&&"none"===i(e,"transform");)e=e.parentElement;return e||document.documentElement}function S(t,e,r,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i={top:0,left:0},c=n?j(t):f(t,l(e));if("viewport"===o)i=O(c,n);else{var u=void 0;"scrollParent"===o?(u=s(a(e)),"BODY"===u.nodeName&&(u=t.ownerDocument.documentElement)):u="window"===o?t.ownerDocument.documentElement:o;var d=x(u,c,n);if("HTML"!==u.nodeName||k(c))i=d;else{var p=v(t.ownerDocument),b=p.height,m=p.width;i.top+=d.top-d.marginTop,i.bottom=b+d.top,i.left+=d.left-d.marginLeft,i.right=m+d.left}}r=r||0;var h="number"==typeof r;return i.left+=h?r:r.left||0,i.top+=h?r:r.top||0,i.right-=h?r:r.right||0,i.bottom-=h?r:r.bottom||0,i}function _(t){return t.width*t.height}function T(t,e,r,o,n){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=S(r,o,i,n),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map(function(t){return wt({key:t},s[t],{area:_(s[t])})}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,o=t.height;return e>=r.clientWidth&&o>=r.clientHeight}),u=c.length>0?c[0].key:l[0].key,d=t.split("-")[1];return u+(d?"-"+d:"")}function P(t,e,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return x(r,o?j(e):f(e,l(r)),o)}function C(t){var e=t.ownerDocument.defaultView,r=e.getComputedStyle(t),o=parseFloat(r.marginTop||0)+parseFloat(r.marginBottom||0),n=parseFloat(r.marginLeft||0)+parseFloat(r.marginRight||0);return{width:t.offsetWidth+n,height:t.offsetHeight+o}}function $(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function B(t,e,r){r=r.split("-")[0];var o=C(t),n={width:o.width,height:o.height},i=-1!==["right","left"].indexOf(r),a=i?"top":"left",s=i?"left":"top",l=i?"height":"width",c=i?"width":"height";return n[a]=e[a]+e[l]/2-o[l]/2,n[s]=r===s?e[s]-o[c]:e[$(s)],n}function E(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function D(t,e,r){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===r});var o=E(t,function(t){return t[e]===r});return t.indexOf(o)}function A(t,e,r){return(void 0===r?t:t.slice(0,D(t,"name",r))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var r=t.function||t.fn;t.enabled&&n(r)&&(e.offsets.popper=y(e.offsets.popper),e.offsets.reference=y(e.offsets.reference),e=r(e,t))}),e}function I(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=P(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=T(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=B(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=A(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function z(t,e){return t.some(function(t){var r=t.name;return t.enabled&&r===e})}function F(t){for(var e=[!1,"ms","Webkit","Moz","O"],r=t.charAt(0).toUpperCase()+t.slice(1),o=0;o<e.length;o++){var n=e[o],i=n?""+n+r:t;if(void 0!==document.body.style[i])return i}return null}function N(){return this.state.isDestroyed=!0,z(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[F("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function R(t){var e=t.ownerDocument;return e?e.defaultView:window}function L(t,e,r,o){var n="BODY"===t.nodeName,i=n?t.ownerDocument.defaultView:t;i.addEventListener(e,r,{passive:!0}),n||L(s(i.parentNode),e,r,o),o.push(i)}function M(t,e,r,o){r.updateBound=o,R(t).addEventListener("resize",r.updateBound,{passive:!0});var n=s(t);return L(n,"scroll",r.updateBound,r.scrollParents),r.scrollElement=n,r.eventsEnabled=!0,r}function V(){this.state.eventsEnabled||(this.state=M(this.reference,this.options,this.state,this.scheduleUpdate))}function H(t,e){return R(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e}function G(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=H(this.reference,this.state))}function U(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function W(t,e){Object.keys(e).forEach(function(r){var o="";-1!==["width","height","top","right","bottom","left"].indexOf(r)&&U(e[r])&&(o="px"),t.style[r]=e[r]+o})}function q(t,e){Object.keys(e).forEach(function(r){!1!==e[r]?t.setAttribute(r,e[r]):t.removeAttribute(r)})}function K(t){return W(t.instance.popper,t.styles),q(t.instance.popper,t.attributes),t.arrowElement&&Object.keys(t.arrowStyles).length&&W(t.arrowElement,t.arrowStyles),t}function Z(t,e,r,o,n){var i=P(n,e,t,r.positionFixed),a=T(r.placement,i,e,t,r.modifiers.flip.boundariesElement,r.modifiers.flip.padding);return e.setAttribute("x-placement",a),W(e,{position:r.positionFixed?"fixed":"absolute"}),r}function X(t,e){var r=t.offsets,o=r.popper,n=r.reference,i=Math.round,a=Math.floor,s=function(t){return t},l=i(n.width),c=i(o.width),u=-1!==["left","right"].indexOf(t.placement),d=-1!==t.placement.indexOf("-"),p=l%2==c%2,f=l%2==1&&c%2==1,b=e?u||d||p?i:a:s,m=e?i:s;return{left:b(f&&!d&&e?o.left-1:o.left),top:m(o.top),bottom:m(o.bottom),right:b(o.right)}}function J(t,e){var r=e.x,o=e.y,n=t.offsets.popper,i=E(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==i&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==i?i:e.gpuAcceleration,s=u(t.instance.popper),l=w(s),c={position:n.position},d=X(t,window.devicePixelRatio<2||!xt),p="bottom"===r?"top":"bottom",f="right"===o?"left":"right",b=F("transform"),m=void 0,h=void 0;if(h="bottom"===p?"HTML"===s.nodeName?-s.clientHeight+d.bottom:-l.height+d.bottom:d.top,m="right"===f?"HTML"===s.nodeName?-s.clientWidth+d.right:-l.width+d.right:d.left,a&&b)c[b]="translate3d("+m+"px, "+h+"px, 0)",c[p]=0,c[f]=0,c.willChange="transform";else{var g="bottom"===p?-1:1,v="right"===f?-1:1;c[p]=h*g,c[f]=m*v,c.willChange=p+", "+f}var y={"x-placement":t.placement};return t.attributes=wt({},y,t.attributes),t.styles=wt({},c,t.styles),t.arrowStyles=wt({},t.offsets.arrow,t.arrowStyles),t}function Y(t,e,r){var o=E(t,function(t){return t.name===e}),n=!!o&&t.some(function(t){return t.name===r&&t.enabled&&t.order<o.order});if(!n){var i="`"+e+"`",a="`"+r+"`";console.warn(a+" modifier is required by "+i+" modifier in order to work, be sure to include it before "+i+"!")}return n}function Q(t,e){var r;if(!Y(t.instance.modifiers,"arrow","keepTogether"))return t;var o=e.element;if("string"==typeof o){if(!(o=t.instance.popper.querySelector(o)))return t}else if(!t.instance.popper.contains(o))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var n=t.placement.split("-")[0],a=t.offsets,s=a.popper,l=a.reference,c=-1!==["left","right"].indexOf(n),u=c?"height":"width",d=c?"Top":"Left",p=d.toLowerCase(),f=c?"left":"top",b=c?"bottom":"right",m=C(o)[u];l[b]-m<s[p]&&(t.offsets.popper[p]-=s[p]-(l[b]-m)),l[p]+m>s[b]&&(t.offsets.popper[p]+=l[p]+m-s[b]),t.offsets.popper=y(t.offsets.popper);var h=l[p]+l[u]/2-m/2,g=i(t.instance.popper),v=parseFloat(g["margin"+d],10),w=parseFloat(g["border"+d+"Width"],10),x=h-t.offsets.popper[p]-v-w;return x=Math.max(Math.min(s[u]-m,x),0),t.arrowElement=o,t.offsets.arrow=(r={},yt(r,p,Math.round(x)),yt(r,f,""),r),t}function tt(t){return"end"===t?"start":"start"===t?"end":t}function et(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=kt.indexOf(t),o=kt.slice(r+1).concat(kt.slice(0,r));return e?o.reverse():o}function rt(t,e){if(z(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var r=S(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),o=t.placement.split("-")[0],n=$(o),i=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case jt.FLIP:a=[o,n];break;case jt.CLOCKWISE:a=et(o);break;case jt.COUNTERCLOCKWISE:a=et(o,!0);break;default:a=e.behavior}return a.forEach(function(s,l){if(o!==s||a.length===l+1)return t;o=t.placement.split("-")[0],n=$(o);var c=t.offsets.popper,u=t.offsets.reference,d=Math.floor,p="left"===o&&d(c.right)>d(u.left)||"right"===o&&d(c.left)<d(u.right)||"top"===o&&d(c.bottom)>d(u.top)||"bottom"===o&&d(c.top)<d(u.bottom),f=d(c.left)<d(r.left),b=d(c.right)>d(r.right),m=d(c.top)<d(r.top),h=d(c.bottom)>d(r.bottom),g="left"===o&&f||"right"===o&&b||"top"===o&&m||"bottom"===o&&h,v=-1!==["top","bottom"].indexOf(o),y=!!e.flipVariations&&(v&&"start"===i&&f||v&&"end"===i&&b||!v&&"start"===i&&m||!v&&"end"===i&&h),w=!!e.flipVariationsByContent&&(v&&"start"===i&&b||v&&"end"===i&&f||!v&&"start"===i&&h||!v&&"end"===i&&m),x=y||w;(p||g||x)&&(t.flipped=!0,(p||g)&&(o=a[l+1]),x&&(i=tt(i)),t.placement=o+(i?"-"+i:""),t.offsets.popper=wt({},t.offsets.popper,B(t.instance.popper,t.offsets.reference,t.placement)),t=A(t.instance.modifiers,t,"flip"))}),t}function ot(t){var e=t.offsets,r=e.popper,o=e.reference,n=t.placement.split("-")[0],i=Math.floor,a=-1!==["top","bottom"].indexOf(n),s=a?"right":"bottom",l=a?"left":"top",c=a?"width":"height";return r[s]<i(o[l])&&(t.offsets.popper[l]=i(o[l])-r[c]),r[l]>i(o[s])&&(t.offsets.popper[l]=i(o[s])),t}function nt(t,e,r,o){var n=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),i=+n[1],a=n[2];if(!i)return t;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=r;break;case"%":case"%r":default:s=o}return y(s)[e]/100*i}if("vh"===a||"vw"===a){return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*i}return i}function it(t,e,r,o){var n=[0,0],i=-1!==["right","left"].indexOf(o),a=t.split(/(\+|\-)/).map(function(t){return t.trim()}),s=a.indexOf(E(a,function(t){return-1!==t.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return c=c.map(function(t,o){var n=(1===o?!i:i)?"height":"width",a=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)},[]).map(function(t){return nt(t,n,e,r)})}),c.forEach(function(t,e){t.forEach(function(r,o){U(r)&&(n[e]+=r*("-"===t[o-1]?-1:1))})}),n}function at(t,e){var r=e.offset,o=t.placement,n=t.offsets,i=n.popper,a=n.reference,s=o.split("-")[0],l=void 0;return l=U(+r)?[+r,0]:it(r,i,a,s),"left"===s?(i.top+=l[0],i.left-=l[1]):"right"===s?(i.top+=l[0],i.left+=l[1]):"top"===s?(i.left+=l[0],i.top-=l[1]):"bottom"===s&&(i.left+=l[0],i.top+=l[1]),t.popper=i,t}function st(t,e){var r=e.boundariesElement||u(t.instance.popper);t.instance.reference===r&&(r=u(r));var o=F("transform"),n=t.instance.popper.style,i=n.top,a=n.left,s=n[o];n.top="",n.left="",n[o]="";var l=S(t.instance.popper,t.instance.reference,e.padding,r,t.positionFixed);n.top=i,n.left=a,n[o]=s,e.boundaries=l;var c=e.priority,d=t.offsets.popper,p={primary:function(t){var r=d[t];return d[t]<l[t]&&!e.escapeWithReference&&(r=Math.max(d[t],l[t])),yt({},t,r)},secondary:function(t){var r="right"===t?"left":"top",o=d[r];return d[t]>l[t]&&!e.escapeWithReference&&(o=Math.min(d[r],l[t]-("right"===t?d.width:d.height))),yt({},r,o)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";d=wt({},d,p[e](t))}),t.offsets.popper=d,t}function lt(t){var e=t.placement,r=e.split("-")[0],o=e.split("-")[1];if(o){var n=t.offsets,i=n.reference,a=n.popper,s=-1!==["bottom","top"].indexOf(r),l=s?"left":"top",c=s?"width":"height",u={start:yt({},l,i[l]),end:yt({},l,i[l]+i[c]-a[c])};t.offsets.popper=wt({},a,u[o])}return t}function ct(t){if(!Y(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,r=E(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<r.top||e.left>r.right||e.top>r.bottom||e.right<r.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}function ut(t){var e=t.placement,r=e.split("-")[0],o=t.offsets,n=o.popper,i=o.reference,a=-1!==["left","right"].indexOf(r),s=-1===["top","left"].indexOf(r);return n[a?"left":"top"]=i[r]-(s?n[a?"width":"height"]:0),t.placement=$(e),t.offsets.popper=y(n),t}/**! - * @fileOverview Kickass library to create and place poppers near their reference elements. - * @version 1.16.0 - * @license - * Copyright (c) 2016 Federico Zivolo and contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -var dt="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,pt=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(dt&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}(),ft=dt&&window.Promise,bt=ft?r:o,mt=dt&&!(!window.MSInputMethodContext||!document.documentMode),ht=dt&&/MSIE 10/.test(navigator.userAgent),gt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},vt=function(){function t(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e}}(),yt=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},wt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},xt=dt&&/Firefox/i.test(navigator.userAgent),Ot=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],kt=Ot.slice(3),jt={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"},St={shift:{order:100,enabled:!0,fn:lt},offset:{order:200,enabled:!0,fn:at,offset:0},preventOverflow:{order:300,enabled:!0,fn:st,priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:ot},arrow:{order:500,enabled:!0,fn:Q,element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:rt,behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:ut},hide:{order:800,enabled:!0,fn:ct},computeStyle:{order:850,enabled:!0,fn:J,gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:K,onLoad:Z,gpuAcceleration:void 0}},_t={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:St},Tt=function(){function t(e,r){var o=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};gt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(o.update)},this.update=bt(this.update.bind(this)),this.options=wt({},t.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=r&&r.jquery?r[0]:r,this.options.modifiers={},Object.keys(wt({},t.Defaults.modifiers,i.modifiers)).forEach(function(e){o.options.modifiers[e]=wt({},t.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return wt({name:t},o.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&n(t.onLoad)&&t.onLoad(o.reference,o.popper,o.options,t,o.state)}),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return vt(t,[{key:"update",value:function(){return I.call(this)}},{key:"destroy",value:function(){return N.call(this)}},{key:"enableEventListeners",value:function(){return V.call(this)}},{key:"disableEventListeners",value:function(){return G.call(this)}}]),t}();Tt.Utils=("undefined"!=typeof window?window:t).PopperUtils,Tt.placements=Ot,Tt.Defaults=_t,e.a=Tt}).call(e,r(25))},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var a=r(0),s=r(6),l=r(5),c=r(14),u=Object(c.b)(),d=a.a.extend({name:"BDropdownItem",mixins:[l.a],inheritAttrs:!1,inject:{bvDropdown:{default:null}},props:n({},u,{variant:{type:String,default:null}}),methods:{closeDropdown:function(){var t=this;Object(s.w)(function(){t.bvDropdown&&t.bvDropdown.hide(!0)})},onClick:function(t){this.$emit("click",t),this.closeDropdown()}},render:function(t){return t("li",{attrs:{role:"presentation"}},[t(c.a,{props:this.$props,staticClass:"dropdown-item",class:i({},"text-".concat(this.variant),this.variant&&!(this.active||this.disabled)),attrs:n({},this.$attrs,{role:"menuitem"}),on:{click:this.onClick},ref:"item"},this.normalizeSlot("default"))])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={active:{type:Boolean,default:!1},activeClass:{type:String,default:"active"},disabled:{type:Boolean,default:!1},variant:{type:String,default:null}},c=a.a.extend({name:"BDropdownItemButton",mixins:[s.a],inheritAttrs:!1,inject:{bvDropdown:{default:null}},props:l,methods:{closeDropdown:function(){this.bvDropdown&&this.bvDropdown.hide(!0)},onClick:function(t){this.$emit("click",t),this.closeDropdown()}},render:function(t){var e;return t("li",{attrs:{role:"presentation"}},[t("button",{staticClass:"dropdown-item",class:(e={},i(e,this.activeClass,this.active),i(e,"text-".concat(this.variant),this.variant&&!(this.active||this.disabled)),e),attrs:n({},this.$attrs,{role:"menuitem",type:"button",disabled:this.disabled}),on:{click:this.onClick},ref:"button"},this.normalizeSlot("default"))])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l={id:{type:String,default:null},tag:{type:String,default:"header"},variant:{type:String,default:null}},c=a.a.extend({name:"BDropdownHeader",functional:!0,props:l,render:function(t,e){var r=e.props,o=e.data,a=e.children,l=o.attrs||{};return o.attrs={},t("li",Object(s.a)(o,{attrs:{role:"presentation"}}),[t(r.tag,{staticClass:"dropdown-header",class:i({},"text-".concat(r.variant),r.variant),attrs:n({},l,{id:r.id||null,role:"heading"}),ref:"header"},a)])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l={tag:{type:String,default:"hr"}},c=a.a.extend({name:"BDropdownDivider",functional:!0,props:l,render:function(t,e){var r=e.props,o=e.data,i=o.attrs||{};return o.attrs={},t("li",Object(s.a)(o,{attrs:{role:"presentation"}}),[t(r.tag,{staticClass:"dropdown-divider",attrs:n({},i,{role:"separator","aria-orientation":"horizontal"}),ref:"divider"})])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l=r(42),c=a.a.extend({name:"BDropdownForm",functional:!0,props:n({},l.b,{disabled:{type:Boolean,default:!1}}),render:function(t,e){var r=e.props,o=e.data,i=e.children,a=o.attrs||{},c=o.on||{};return o.attrs={},o.on={},t("li",Object(s.a)(o,{attrs:{role:"presentation"}}),[t(l.a,{ref:"form",staticClass:"b-dropdown-form",class:{disabled:r.disabled},props:r,attrs:n({},a,{disabled:r.disabled,tabindex:r.disabled?null:"-1"}),on:c},i)])}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return a});var n=r(0),i=r(2),a=n.a.extend({name:"BDropdownText",functional:!0,props:{tag:{type:String,default:"p"},variant:{type:String,default:null}},render:function(t,e){var r=e.props,n=e.data,a=e.children,s=n.attrs||{};return n.attrs={},t("li",Object(i.a)(n,{attrs:{role:"presentation"}}),[t(r.tag,{staticClass:"b-dropdown-text",class:o({},"text-".concat(r.variant),r.variant),props:r,attrs:s,ref:"text"},a)])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var a=r(0),s=r(2),l=r(18),c={id:{type:String,default:null},header:{type:String,default:null},headerTag:{type:String,default:"header"},headerVariant:{type:String,default:null},headerClasses:{type:[String,Array,Object],default:null},ariaDescribedby:{type:String,default:null}},u=a.a.extend({name:"BDropdownGroup",functional:!0,props:c,render:function(t,e){var r=e.props,o=e.data,a=e.slots,c=e.scopedSlots,u=a(),d=c||{},p=o.attrs||{};o.attrs={};var f,b=null;(Object(l.a)("header",d,u)||r.header)&&(b=r.id?"_bv_".concat(r.id,"_group_dd_header"):null,f=t(r.headerTag,{staticClass:"dropdown-header",class:[r.headerClasses,i({},"text-".concat(r.variant),r.variant)],attrs:{id:b,role:"heading"}},Object(l.b)("header",{},d,u)||r.header));var m=[b,r.ariaDescribedBy].filter(Boolean).join(" ").trim();return t("li",Object(s.a)(o,{attrs:{role:"presentation"}}),[f||t(),t("ul",{staticClass:"list-unstyled",attrs:n({},p,{id:r.id||null,role:"group","aria-describedby":m||null})},Object(l.b)("default",{},d,u))])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(134),n=r(3),i=Object(n.b)({components:{BEmbed:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(7),s={type:{type:String,default:"iframe",validator:function(t){return Object(a.a)(["iframe","embed","video","object","img","b-img","b-img-lazy"],t)}},tag:{type:String,default:"div"},aspect:{type:String,default:"16by9"}},l=n.a.extend({name:"BEmbed",functional:!0,props:s,render:function(t,e){var r=e.props,n=e.data,a=e.children;return t(r.tag,{ref:n.ref,staticClass:"embed-responsive",class:o({},"embed-responsive-".concat(r.aspect),Boolean(r.aspect))},[t(r.type,Object(i.a)(n,{ref:"",staticClass:"embed-responsive-item"}),a)])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(42),n=r(136),i=r(65),a=r(66),s=r(67),l=r(44),c=r(3),u=Object(c.b)({components:{BForm:o.a,BFormDatalist:n.a,BDatalist:n.a,BFormText:i.a,BFormInvalidFeedback:a.a,BFormFeedback:a.a,BFormValidFeedback:s.a,BFormRow:l.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var a=r(0),s=r(43),l=r(5),c=r(11),u=a.a.extend({name:"BFormDatalist",mixins:[s.a,l.a],props:{id:{type:String,default:null,required:!0}},render:function(t){var e=this.formOptions.map(function(e,r){return t("option",{key:"option_".concat(r,"_opt"),attrs:{disabled:e.disabled},domProps:n({},Object(c.a)(e.html,e.text),{value:e.value})})});return t("datalist",{attrs:{id:this.id}},[e,this.normalizeSlot("default")])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(138),n=r(3),i=Object(n.b)({components:{BFormGroup:o.a,BFormFieldset:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return P});var a=r(52),s=r(54),l=r(7),c=r(4),u=r(6),d=r(10),p=r(1),f=r(8),b=r(16),m=r(9),h=r(5),g=r(68),v=r(44),y=r(65),w=r(66),x=r(67),O=function(t,e){var r=e.normalizeSlot("invalid-feedback")||e.invalidFeedback,o=t();return r&&(o=t(w.a,{props:{id:e.invalidFeedbackId,state:e.computedState,tooltip:e.tooltip,ariaLive:e.feedbackAriaLive,role:e.feedbackAriaLive?"alert":null},attrs:{tabindex:r?"-1":null}},[r])),o},k=function(t,e){var r=e.normalizeSlot("valid-feedback")||e.validFeedback,o=t();return r&&(o=t(x.a,{props:{id:e.validFeedbackId,state:e.computedState,tooltip:e.tooltip,ariaLive:e.feedbackAriaLive,role:e.feedbackAriaLive?"alert":null},attrs:{tabindex:r?"-1":null}},[r])),o},j=function(t,e){var r=e.normalizeSlot("description")||e.description,o=t();return r&&(o=t(y.a,{attrs:{id:e.descriptionId,tabindex:r?"-1":null}},[r])),o},S=function(t,e){var r=e.normalizeSlot("label")||e.label,o=e.labelFor,i=!o,a=e.isHorizontal,s=i?"legend":"label";if(r||a){if(e.labelSrOnly){var l=t();return r&&(l=t(s,{class:"sr-only",attrs:{id:e.labelId,for:o||null}},[r])),t(a?g.a:"div",{props:a?e.labelColProps:{}},[l])}return t(a?g.a:s,{on:i?{click:e.legendClick}:{},props:a?n({tag:s},e.labelColProps):{},attrs:{id:e.labelId,for:o||null,tabindex:i?"-1":null},class:[a||i?"col-form-label":"",!a&&i?"pt-0":"",a||i?"":"d-block",e.labelSize?"col-form-label-".concat(e.labelSize):"",e.labelAlignClasses,e.labelClass]},[r])}return t()},_=Object(a.a)(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return"".concat(arguments.length>1?arguments[1]:void 0).concat(Object(s.a)(t))}),T=function(){var t=Object(c.b)(),e=t.reduce(function(t,e){return t[_(e,"labelCols")]={type:[Number,String,Boolean],default:!e&&null},t},Object(f.b)(null)),r=t.reduce(function(t,e){return t[_(e,"labelAlign")]={type:String,default:null},t},Object(f.b)(null));return n({label:{type:String,default:null},labelFor:{type:String,default:null},labelSize:{type:String,default:null},labelSrOnly:{type:Boolean,default:!1}},e,{},r,{labelClass:{type:[String,Array,Object],default:null},description:{type:String,default:null},invalidFeedback:{type:String,default:null},validFeedback:{type:String,default:null},tooltip:{type:Boolean,default:!1},feedbackAriaLive:{type:String,default:"assertive"},validated:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}})},P={name:"BFormGroup",mixins:[m.a,b.a,h.a],get props(){return delete this.props,this.props=T()},computed:{labelColProps:function(){var t=this,e={};return Object(c.b)().forEach(function(r){var o=t[_(r,"labelCols")];if(o=""===o||(o||!1),Object(p.b)(o)||(o=parseInt(o,10)||0,o=o>0&&o),o){var n=r||(Object(p.b)(o)?"col":"cols");e[n]=o}}),e},labelAlignClasses:function(){var t=this,e=[];return Object(c.b)().forEach(function(r){var o=t[_(r,"labelAlign")]||null;if(o){var n=r?"text-".concat(r,"-").concat(o):"text-".concat(o);e.push(n)}}),e},isHorizontal:function(){return Object(f.j)(this.labelColProps).length>0},labelId:function(){return this.hasNormalizedSlot("label")||this.label?this.safeId("_BV_label_"):null},descriptionId:function(){return this.hasNormalizedSlot("description")||this.description?this.safeId("_BV_description_"):null},hasInvalidFeedback:function(){return!1===this.computedState&&(this.hasNormalizedSlot("invalid-feedback")||this.invalidFeedback)},invalidFeedbackId:function(){return this.hasInvalidFeedback?this.safeId("_BV_feedback_invalid_"):null},hasValidFeedback:function(){return!0===this.computedState&&(this.hasNormalizedSlot("valid-feedback")||this.validFeedback)},validFeedbackId:function(){return this.hasValidFeedback?this.safeId("_BV_feedback_valid_"):null},describedByIds:function(){return[this.descriptionId,this.invalidFeedbackId,this.validFeedbackId].filter(Boolean).join(" ")||null}},watch:{describedByIds:function(t,e){t!==e&&this.setInputDescribedBy(t,e)}},mounted:function(){var t=this;this.$nextTick(function(){t.setInputDescribedBy(t.describedByIds)})},methods:{legendClick:function(t){if(!this.labelFor){if(!/^(input|select|textarea|label|button|a)$/i.test(t.target?t.target.tagName:"")){var e=Object(u.y)("input:not([disabled]),textarea:not([disabled]),select:not([disabled])",this.$refs.content).filter(u.p);e&&1===e.length&&e[0].focus&&e[0].focus()}}},setInputDescribedBy:function(t,e){if(this.labelFor&&d.j){var r=Object(u.x)("#".concat(this.labelFor),this.$refs.content);if(r){var o="aria-describedby",a=(Object(u.g)(r,o)||"").split(/\s+/);t=(t||"").split(/\s+/),e=(e||"").split(/\s+/),a=a.filter(function(t){return!Object(l.a)(e,t)}).concat(t).filter(Boolean),a=Object(f.j)(a.reduce(function(t,e){return n({},t,i({},e,!0))},{})).join(" ").trim(),a?Object(u.z)(r,o,a):Object(u.u)(r,o)}}}},render:function(t){var e=!this.labelFor,r=this.isHorizontal,o=S(t,this),n=t(r?g.a:"div",{ref:"content",attrs:{tabindex:e?"-1":null,role:e?"group":null}},[this.normalizeSlot("default")||t(),O(t,this),k(t,this),j(t,this)]),i={staticClass:"form-group",class:[this.validated?"was-validated":null,this.stateClass],attrs:{id:this.safeId(),disabled:e?this.disabled:null,role:e?null:"group","aria-invalid":!1===this.computedState?"true":null,"aria-labelledby":e&&r?this.labelId:null,"aria-describedby":e?this.describedByIds:null}};return t(e?"fieldset":r?v.a:"div",i,r&&e?[t(v.a,{},[o,n])]:[o,n])}}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(69),n=r(141),i=r(3),a=Object(i.b)({components:{BFormCheckbox:o.a,BCheckbox:o.a,BCheck:o.a,BFormCheckboxGroup:n.a,BCheckboxGroup:n.a,BCheckGroup:n.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(5);e.a={mixins:[a.a],inheritAttrs:!1,model:{prop:"checked",event:"input"},props:{value:{},checked:{},inline:{type:Boolean,default:!1},plain:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonVariant:{type:String,default:null},ariaLabel:{type:String,default:null},ariaLabelledby:{type:String,default:null}},data:function(){return{localChecked:this.isGroup?this.bvGroup.checked:this.checked,hasFocus:!1}},computed:{computedLocalChecked:{get:function(){return this.isGroup?this.bvGroup.localChecked:this.localChecked},set:function(t){this.isGroup?this.bvGroup.localChecked=t:this.localChecked=t}},isGroup:function(){return Boolean(this.bvGroup)},isBtnMode:function(){return this.isGroup?this.bvGroup.buttons:this.button},isPlain:function(){return!this.isBtnMode&&(this.isGroup?this.bvGroup.plain:this.plain)},isCustom:function(){return!this.isBtnMode&&!this.isPlain},isSwitch:function(){return!(this.isBtnMode||this.isRadio||this.isPlain)&&(this.isGroup?this.bvGroup.switches:this.switch)},isInline:function(){return this.isGroup?this.bvGroup.inline:this.inline},isDisabled:function(){return this.isGroup?this.bvGroup.disabled||this.disabled:this.disabled},isRequired:function(){return Boolean(this.getName&&(this.isGroup?this.bvGroup.required:this.required))},getName:function(){return(this.isGroup?this.bvGroup.groupName:this.name)||null},getForm:function(){return(this.isGroup?this.bvGroup.form:this.form)||null},getSize:function(){return(this.isGroup?this.bvGroup.size:this.size)||""},getState:function(){return this.isGroup?this.bvGroup.computedState:this.computedState},getButtonVariant:function(){return this.buttonVariant?this.buttonVariant:this.isGroup&&this.bvGroup.buttonVariant?this.bvGroup.buttonVariant:"secondary"},buttonClasses:function(){var t;return["btn","btn-".concat(this.getButtonVariant),(t={},i(t,"btn-".concat(this.getSize),this.getSize),i(t,"disabled",this.isDisabled),i(t,"active",this.isChecked),i(t,"focus",this.hasFocus),t)]}},watch:{checked:function(t,e){this.computedLocalChecked=t}},methods:{handleFocus:function(t){t.target&&("focus"===t.type?this.hasFocus=!0:"blur"===t.type&&(this.hasFocus=!1))},focus:function(){!this.isDisabled&&this.$refs.input&&this.$refs.input.focus&&this.$refs.input.focus()},blur:function(){!this.isDisabled&&this.$refs.input&&this.$refs.input.blur&&this.$refs.input.blur()}},render:function(t){var e=this.normalizeSlot("default"),r={change:this.handleChange};this.isBtnMode&&(r.focus=r.blur=this.handleFocus);var o=t("input",{ref:"input",key:"input",on:r,class:{"form-check-input":this.isPlain,"custom-control-input":this.isCustom,"is-valid":!0===this.getState&&!this.isBtnMode,"is-invalid":!1===this.getState&&!this.isBtnMode,"position-static":this.isPlain&&!e},directives:[{name:"model",rawName:"v-model",value:this.computedLocalChecked,expression:"computedLocalChecked"}],attrs:n({},this.$attrs,{id:this.safeId(),type:this.isRadio?"radio":"checkbox",name:this.getName,form:this.getForm,disabled:this.isDisabled,required:this.isRequired,autocomplete:"off","aria-required":this.isRequired||null,"aria-label":this.ariaLabel||null,"aria-labelledby":this.ariaLabelledby||null}),domProps:{value:this.value,checked:this.isChecked}});if(this.isBtnMode){var a=t("label",{class:this.buttonClasses},[o,e]);return this.isGroup||(a=t("div",{class:["btn-group-toggle","d-inline-block"]},[a])),a}var s=t();return this.isPlain&&!e||(s=t("label",{class:{"form-check-label":this.isPlain,"custom-control-label":this.isCustom},attrs:{for:this.safeId()}},e)),t("div",{class:i({"form-check":this.isPlain,"form-check-inline":this.isPlain&&this.isInline,"custom-control":this.isCustom,"custom-control-inline":this.isCustom&&this.isInline,"custom-checkbox":this.isCustom&&this.isCheck&&!this.isSwitch,"custom-switch":this.isSwitch,"custom-radio":this.isCustom&&this.isRadio},"b-custom-control-".concat(this.getSize),Boolean(this.getSize&&!this.isBtnMode))},[o,s])}}},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(9),i=r(20),a=r(43),s=r(142),l=r(24),c=r(16),u={switches:{type:Boolean,default:!1},checked:{type:Array,default:null}},d=o.a.extend({name:"BFormCheckboxGroup",mixins:[n.a,i.a,s.a,a.a,l.a,c.a],provide:function(){return{bvCheckGroup:this}},props:u,data:function(){return{localChecked:this.checked||[]}},computed:{isRadioGroup:function(){return!1}}})},function(t,e,r){"use strict";var o=r(11),n=r(5),i=r(69),a=r(70);e.a={mixins:[n.a],model:{prop:"checked",event:"input"},props:{validated:{type:Boolean,default:!1},ariaInvalid:{type:[Boolean,String],default:!1},stacked:{type:Boolean,default:!1},plain:{type:Boolean,default:!1},buttons:{type:Boolean,default:!1},buttonVariant:{type:String,default:"secondary"}},computed:{inline:function(){return!this.stacked},groupName:function(){return this.name||this.safeId()},groupClasses:function(){return this.buttons?["btn-group-toggle",this.inline?"btn-group":"btn-group-vertical",this.size?"btn-group-".concat(this.size):"",this.validated?"was-validated":""]:[this.validated?"was-validated":""]},computedAriaInvalid:function(){var t=this.ariaInvalid;return!0===t||"true"===t||""===t?"true":!1===this.computedState?"true":null}},watch:{checked:function(t,e){this.localChecked=t},localChecked:function(t,e){this.$emit("input",t)}},render:function(t){var e=this,r=this.formOptions.map(function(r,n){var s="_BV_option_".concat(n,"_");return t(e.isRadioGroup?a.a:i.a,{key:s,props:{id:e.safeId(s),value:r.value,disabled:r.disabled||!1}},[t("span",{domProps:Object(o.a)(r.html,r.text)})])});return t("div",{class:this.groupClasses,attrs:{id:this.safeId(),role:this.isRadioGroup?"radiogroup":"group",tabindex:"-1","aria-required":this.required?"true":null,"aria-invalid":this.computedAriaInvalid}},[this.normalizeSlot("first"),r,this.normalizeSlot("default")])}}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(70),n=r(144),i=r(3),a=Object(i.b)({components:{BFormRadio:o.a,BRadio:o.a,BFormRadioGroup:n.a,BRadioGroup:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(9),i=r(20),a=r(43),s=r(142),l=r(24),c=r(16),u={checked:{default:null}},d=o.a.extend({name:"BFormRadioGroup",mixins:[n.a,i.a,s.a,a.a,l.a,c.a],provide:function(){return{bvRadioGroup:this}},props:u,data:function(){return{localChecked:this.checked}},computed:{isRadioGroup:function(){return!0}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(146),n=r(3),i=Object(n.b)({components:{BFormInput:o.a,BInput:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return g});var a=r(0),s=r(9),l=r(20),c=r(24),u=r(16),d=r(147),p=r(148),f=r(149),b=r(7),m=r(6),h=["text","password","email","number","url","tel","search","range","color","date","time","datetime","datetime-local","month","week"],g=a.a.extend({name:"BFormInput",mixins:[s.a,l.a,c.a,u.a,d.a,p.a,f.a],props:{type:{type:String,default:"text",validator:function(t){return Object(b.a)(h,t)}},noWheel:{type:Boolean,default:!1},min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:{type:[String,Number],default:null},list:{type:String,default:null}},computed:{localType:function(){return Object(b.a)(h,this.type)?this.type:"text"}},watch:{noWheel:function(t){this.setWheelStopper(t)}},mounted:function(){this.setWheelStopper(this.noWheel)},deactivated:function(){this.setWheelStopper(!1)},activated:function(){this.setWheelStopper(this.noWheel)},beforeDestroy:function(){this.setWheelStopper(!1)},methods:{setWheelStopper:function(t){var e=this.$el;t?(Object(m.f)(e,"focus",this.onWheelFocus),Object(m.f)(e,"blur",this.onWheelBlur)):(Object(m.e)(e,"focus",this.onWheelFocus),Object(m.e)(e,"blur",this.onWheelBlur),Object(m.e)(document,"wheel",this.stopWheel))},onWheelFocus:function(t){Object(m.f)(document,"wheel",this.stopWheel)},onWheelBlur:function(t){Object(m.e)(document,"wheel",this.stopWheel)},stopWheel:function(t){t.preventDefault(),this.$el.blur()}},render:function(t){var e=this;return t("input",{ref:"input",class:e.computedClass,directives:[{name:"model",rawName:"v-model",value:e.localValue,expression:"localValue"}],attrs:{id:e.safeId(),name:e.name,form:e.form||null,type:e.localType,disabled:e.disabled,placeholder:e.placeholder,required:e.required,autocomplete:e.autocomplete||null,readonly:e.readonly||e.plaintext,min:e.min,max:e.max,step:e.step,list:"password"!==e.localType?e.list:null,"aria-required":e.required?"true":null,"aria-invalid":e.computedAriaInvalid},domProps:{value:e.localValue},on:n({},e.$listeners,{input:e.onInput,change:e.onChange,blur:e.onBlur})})}})},function(t,e,r){"use strict";var o=r(1);e.a={model:{prop:"value",event:"update"},props:{value:{type:[String,Number],default:""},ariaInvalid:{type:[Boolean,String],default:!1},readonly:{type:Boolean,default:!1},plaintext:{type:Boolean,default:!1},autocomplete:{type:String,default:null},placeholder:{type:String,default:null},formatter:{type:Function,default:null},trim:{type:Boolean,default:!1},number:{type:Boolean,default:!1},lazyFormatter:{type:Boolean,value:!1}},data:function(){return{localValue:this.stringifyValue(this.value)}},computed:{computedClass:function(){return[{"custom-range":"range"===this.type,"form-control-plaintext":this.plaintext&&"range"!==this.type&&"color"!==this.type,"form-control":!this.plaintext&&"range"!==this.type||"color"===this.type},this.sizeFormClass,this.stateClass]},computedAriaInvalid:function(){return this.ariaInvalid&&"false"!==this.ariaInvalid?!0===this.ariaInvalid?"true":this.ariaInvalid:!1===this.computedState?"true":null}},watch:{value:function(t){t!==this.localValue&&(this.localValue=this.stringifyValue(t))}},mounted:function(){var t=this.stringifyValue(this.value);t!==this.localValue&&(this.localValue=t)},methods:{stringifyValue:function(t){return Object(o.n)(t)||Object(o.g)(t)?"":String(t)},getFormatted:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=this.stringifyValue(t),this.lazyFormatter&&!r||!Object(o.f)(this.formatter)||(t=this.formatter(t,e)),t},updateValue:function(t){if((t=this.stringifyValue(t))!==this.localValue){if(this.localValue=t,this.number){var e=parseFloat(t);t=isNaN(e)?t:e}else this.trim&&(t=t.trim());this.$emit("update",t)}else this.$refs.input&&t!==this.$refs.input.value&&(this.$refs.input.value=t)},onInput:function(t){if(!t.target.composing){var e=this.getFormatted(t.target.value,t);if(!1===e||t.defaultPrevented)return void t.preventDefault();this.updateValue(e),this.$emit("input",e)}},onChange:function(t){if(!t.target.composing){var e=this.getFormatted(t.target.value,t);if(!1===e||t.defaultPrevented)return void t.preventDefault();this.updateValue(e),this.$emit("change",e)}},onBlur:function(t){if(this.lazyFormatter){var e=this.getFormatted(t.target.value,t,!0);if(!1===e)return;this.updateValue(e)}this.$emit("blur",t)},focus:function(){this.disabled||this.$el.focus()},blur:function(){this.disabled||this.$el.blur()}}}},function(t,e,r){"use strict";e.a={computed:{selectionStart:{cache:!1,get:function(){return this.$refs.input.selectionStart},set:function(t){this.$refs.input.selectionStart=t}},selectionEnd:{cache:!1,get:function(){return this.$refs.input.selectionEnd},set:function(t){this.$refs.input.selectionEnd=t}},selectionDirection:{cache:!1,get:function(){return this.$refs.input.selectionDirection},set:function(t){this.$refs.input.selectionDirection=t}}},methods:{select:function(){var t;(t=this.$refs.input).select.apply(t,arguments)},setSelectionRange:function(){var t;(t=this.$refs.input).setSelectionRange.apply(t,arguments)},setRangeText:function(){var t;(t=this.$refs.input).setRangeText.apply(t,arguments)}}}},function(t,e,r){"use strict";e.a={computed:{validity:{cache:!1,get:function(){return this.$refs.input.validity}},validationMessage:{cache:!1,get:function(){return this.$refs.input.validationMessage}},willValidate:{cache:!1,get:function(){return this.$refs.input.willValidate}}},methods:{setCustomValidity:function(){var t;return(t=this.$refs.input).setCustomValidity.apply(t,arguments)},checkValidity:function(){var t;return(t=this.$refs.input).checkValidity.apply(t,arguments)},reportValidity:function(){var t;return(t=this.$refs.input).reportValidity.apply(t,arguments)}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(151),n=r(3),i=Object(n.b)({components:{BFormTextarea:o.a,BTextarea:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return v});var a=r(0),s=r(117),l=r(9),c=r(20),u=r(24),d=r(16),p=r(147),f=r(148),b=r(149),m=r(27),h=r(6),g=r(1),v=a.a.extend({name:"BFormTextarea",directives:{"b-visible":s.a},mixins:[l.a,m.a,c.a,u.a,d.a,p.a,f.a,b.a],props:{rows:{type:[Number,String],default:2},maxRows:{type:[Number,String],default:null},wrap:{type:String,default:"soft"},noResize:{type:Boolean,default:!1},noAutoShrink:{type:Boolean,default:!1}},data:function(){return{heightInPx:null}},computed:{computedStyle:function(){var t={resize:!this.computedRows||this.noResize?"none":null};return this.computedRows||(t.height=this.heightInPx,t.overflowY="scroll"),t},computedMinRows:function(){return Math.max(parseInt(this.rows,10)||2,2)},computedMaxRows:function(){return Math.max(this.computedMinRows,parseInt(this.maxRows,10)||0)},computedRows:function(){return this.computedMinRows===this.computedMaxRows?this.computedMinRows:null}},watch:{localValue:function(t,e){this.setHeight()}},mounted:function(){this.setHeight()},methods:{visibleCallback:function(t){t&&this.$nextTick(this.setHeight)},setHeight:function(){var t=this;this.$nextTick(function(){Object(h.w)(function(){t.heightInPx=t.computeHeight()})})},computeHeight:function(){if(this.$isServer||!Object(g.g)(this.computedRows))return null;var t=this.$el;if(!Object(h.p)(t))return null;var e=Object(h.j)(t),r=parseFloat(e.lineHeight),o=(parseFloat(e.borderTopWidth)||0)+(parseFloat(e.borderBottomWidth)||0),n=(parseFloat(e.paddingTop)||0)+(parseFloat(e.paddingBottom)||0),i=o+n,a=r*this.computedMinRows+i,s=t.style.height||e.height;t.style.height="auto";var l=t.scrollHeight;t.style.height=s;var c=Math.max((l-n)/r,2),u=Math.min(Math.max(c,this.computedMinRows),this.computedMaxRows),d=Math.max(Math.ceil(u*r+i),a);return this.noAutoShrink&&(parseFloat(s)||0)>d?s:"".concat(d,"px")}},render:function(t){var e=this;return t("textarea",{ref:"input",class:e.computedClass,style:e.computedStyle,directives:[{name:"model",value:e.localValue},{name:"b-visible",value:this.visibleCallback,modifiers:{640:!0}}],attrs:{id:e.safeId(),name:e.name,form:e.form||null,disabled:e.disabled,placeholder:e.placeholder,required:e.required,autocomplete:e.autocomplete||null,readonly:e.readonly||e.plaintext,rows:e.computedRows,wrap:e.wrap||null,"aria-required":e.required?"true":null,"aria-invalid":e.computedAriaInvalid},domProps:{value:e.localValue},on:n({},e.$listeners,{input:e.onInput,change:e.onChange,blur:e.onBlur})})}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(153),n=r(3),i=Object(n.b)({components:{BFormFile:o.a,BFile:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return v});var a=r(0),s=r(7),l=r(4),c=r(1),u=r(17),d=r(13),p=r(154),f=r(20),b=r(16),m=r(9),h=r(5),g="BFormFile",v=a.a.extend({name:g,mixins:[m.a,f.a,b.a,p.a,h.a],inheritAttrs:!1,model:{prop:"value",event:"input"},props:{size:{type:String,default:function(){return Object(l.c)("BFormControl","size")}},value:{type:[u.a,Array],default:null,validator:function(t){return""===t?(Object(d.b)("".concat(g," - setting value/v-model to an empty string for reset is deprecated. Set to 'null' instead")),!0):Object(c.o)(t)||Object(c.e)(t)||Object(s.d)(t)&&(0===t.length||t.every(c.e))}},accept:{type:String,default:""},capture:{type:Boolean,default:!1},placeholder:{type:String,default:function(){return Object(l.c)(g,"placeholder")}},browseText:{type:String,default:function(){return Object(l.c)(g,"browseText")}},dropPlaceholder:{type:String,default:function(){return Object(l.c)(g,"dropPlaceholder")}},multiple:{type:Boolean,default:!1},directory:{type:Boolean,default:!1},noTraverse:{type:Boolean,default:!1},noDrop:{type:Boolean,default:!1},fileNameFormatter:{type:Function,default:null}},data:function(){return{selectedFile:null,dragging:!1,hasFocus:!1}},computed:{selectLabel:function(){if(this.dragging&&this.dropPlaceholder)return this.dropPlaceholder;if(!this.selectedFile||0===this.selectedFile.length)return this.placeholder;var t=Object(s.b)(this.selectedFile).filter(Boolean);return this.hasNormalizedSlot("file-name")?[this.normalizeSlot("file-name",{files:t,names:t.map(function(t){return t.name})})]:Object(c.f)(this.fileNameFormatter)?String(this.fileNameFormatter(t)):t.map(function(t){return t.name}).join(", ")}},watch:{selectedFile:function(t,e){t===e||Object(s.d)(t)&&Object(s.d)(e)&&t.length===e.length&&t.every(function(t,r){return t===e[r]})||(!t&&this.multiple?this.$emit("input",[]):this.$emit("input",t))},value:function(t){(!t||Object(s.d)(t)&&0===t.length)&&this.reset()}},methods:{focusHandler:function(t){this.plain||"focusout"===t.type?this.hasFocus=!1:this.hasFocus=!0},reset:function(){try{this.$refs.input.value=""}catch(t){}this.$refs.input.type="",this.$refs.input.type="file",this.selectedFile=this.multiple?[]:null},onFileChange:function(t){var e=this;this.$emit("change",t);var r=t.dataTransfer&&t.dataTransfer.items;if(r&&!this.noTraverse){for(var o=[],n=0;n<r.length;n++){var i=r[n].webkitGetAsEntry();i&&o.push(this.traverseFileTree(i))}return void Promise.all(o).then(function(t){e.setFiles(Object(s.c)(t))})}this.setFiles(t.target.files||t.dataTransfer.files)},setFiles:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(t)if(this.multiple){for(var e=[],r=0;r<t.length;r++)e.push(t[r]);this.selectedFile=e}else this.selectedFile=t[0]||null;else this.selectedFile=null},onReset:function(){this.selectedFile=this.multiple?[]:null},onDragover:function(t){t.preventDefault(),t.stopPropagation(),!this.noDrop&&this.custom&&(this.dragging=!0,t.dataTransfer.dropEffect="copy")},onDragleave:function(t){t.preventDefault(),t.stopPropagation(),this.dragging=!1},onDrop:function(t){t.preventDefault(),t.stopPropagation(),this.noDrop||(this.dragging=!1,t.dataTransfer.files&&t.dataTransfer.files.length>0&&this.onFileChange(t))},traverseFileTree:function(t,e){var r=this;return new Promise(function(o){e=e||"",t.isFile?t.file(function(t){t.$path=e,o(t)}):t.isDirectory&&t.createReader().readEntries(function(n){for(var i=[],a=0;a<n.length;a++)i.push(r.traverseFileTree(n[a],e+t.name+"/"));Promise.all(i).then(function(t){o(Object(s.c)(t))})})})}},render:function(t){var e=t("input",{ref:"input",class:[{"form-control-file":this.plain,"custom-file-input":this.custom,focus:this.custom&&this.hasFocus},this.stateClass],attrs:n({},this.$attrs,{type:"file",id:this.safeId(),name:this.name,disabled:this.disabled,required:this.required,form:this.form||null,capture:this.capture||null,accept:this.accept||null,multiple:this.multiple,webkitdirectory:this.directory,"aria-required":this.required?"true":null}),on:{change:this.onFileChange,focusin:this.focusHandler,focusout:this.focusHandler,reset:this.onReset}});if(this.plain)return e;var r=t("label",{staticClass:"custom-file-label",class:[this.dragging?"dragging":null],attrs:{for:this.safeId(),"data-browse":this.browseText||null}},this.selectLabel);return t("div",{staticClass:"custom-file b-form-file",class:[this.stateClass,i({},"b-custom-control-".concat(this.size),Boolean(this.size))],attrs:{id:this.safeId("_BV_file_outer_")},on:{dragover:this.onDragover,dragleave:this.onDragleave,drop:this.onDrop}},[e,r])}})},function(t,e,r){"use strict";e.a={props:{plain:{type:Boolean,default:!1}},computed:{custom:function(){return!this.plain}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(156),n=r(3),i=Object(n.b)({components:{BFormSelect:o.a,BSelect:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return h});var a=r(0),s=r(9),l=r(43),c=r(20),u=r(24),d=r(16),p=r(154),f=r(5),b=r(7),m=r(11),h=a.a.extend({name:"BFormSelect",mixins:[s.a,f.a,c.a,u.a,d.a,p.a,l.a],model:{prop:"value",event:"input"},props:{value:{},multiple:{type:Boolean,default:!1},selectSize:{type:Number,default:0},ariaInvalid:{type:[Boolean,String],default:!1}},data:function(){return{localValue:this.value}},computed:{computedSelectSize:function(){return this.plain||0!==this.selectSize?this.selectSize:null},inputClass:function(){return[this.plain?"form-control":"custom-select",this.size&&this.plain?"form-control-".concat(this.size):null,this.size&&!this.plain?"custom-select-".concat(this.size):null,this.stateClass]},computedAriaInvalid:function(){return!0===this.ariaInvalid||"true"===this.ariaInvalid?"true":"is-invalid"===this.stateClass?"true":null}},watch:{value:function(t,e){this.localValue=t},localValue:function(t,e){this.$emit("input",this.localValue)}},methods:{focus:function(){this.$refs.input.focus()},blur:function(){this.$refs.input.blur()}},render:function(t){var e=this,r=this.formOptions.map(function(e,r){return t("option",{key:"option_".concat(r,"_opt"),attrs:{disabled:Boolean(e.disabled)},domProps:n({},Object(m.a)(e.html,e.text),{value:e.value})})});return t("select",{ref:"input",class:this.inputClass,directives:[{name:"model",rawName:"v-model",value:this.localValue,expression:"localValue"}],attrs:{id:this.safeId(),name:this.name,form:this.form||null,multiple:this.multiple||null,size:this.computedSelectSize,disabled:this.disabled,required:this.required,"aria-required":this.required?"true":null,"aria-invalid":this.computedAriaInvalid},on:{change:function(t){var r=t.target,o=Object(b.c)(r.options).filter(function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});e.localValue=r.multiple?o:o[0],e.$nextTick(function(){e.$emit("change",e.localValue)})}}},[this.normalizeSlot("first"),r,this.normalizeSlot("default")])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(38),n=r(61),i=r(3),a=Object(i.b)({components:{BImg:o.a,BImgLazy:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(159),n=r(45),i=r(71),a=r(72),s=r(46),l=r(3),c=Object(l.b)({components:{BInputGroup:o.a,BInputGroupAddon:n.a,BInputGroupPrepend:i.a,BInputGroupAppend:a.a,BInputGroupText:s.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function n(t){return s(t)||a(t)||i()}function i(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function a(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function s(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}r.d(e,"a",function(){return g});var l=r(0),c=r(2),u=r(4),d=r(11),p=r(18),f=r(71),b=r(72),m=r(46),h={id:{type:String},size:{type:String,default:function(){return Object(u.c)("BInputGroup","size")}},prepend:{type:String},prependHtml:{type:String},append:{type:String},appendHtml:{type:String},tag:{type:String,default:"div"}},g=l.a.extend({name:"BInputGroup",functional:!0,props:h,render:function(t,e){var r=e.props,i=e.data,a=e.slots,s=e.scopedSlots,l=a(),u=s||{},h=[];return r.prepend||r.prependHtml||Object(p.a)("prepend",u,l)?h.push(t(f.a,[r.prepend||r.prependHtml?t(m.a,{domProps:Object(d.a)(r.prependHtml,r.prepend)}):t(),Object(p.b)("prepend",{},u,l)||t()])):h.push(t()),Object(p.a)("default",u,l)?h.push.apply(h,n(Object(p.b)("default",{},u,l))):h.push(t()),r.append||r.appendHtml||Object(p.a)("append",u,l)?h.push(t(b.a,[r.append||r.appendHtml?t(m.a,{domProps:Object(d.a)(r.appendHtml,r.append)}):t(),Object(p.b)("append",{},u,l)||t()])):h.push(t()),t(r.tag,Object(c.a)(i,{staticClass:"input-group",class:o({},"input-group-".concat(r.size),Boolean(r.size)),attrs:{id:r.id||null,role:"group"}}),h)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(161),n=r(3),i=Object(n.b)({components:{BJumbotron:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return p});var n=r(0),i=r(2),a=r(4),s=r(11),l=r(18),c=r(73),u="BJumbotron",d={fluid:{type:Boolean,default:!1},containerFluid:{type:Boolean,default:!1},header:{type:String,default:null},headerHtml:{type:String,default:null},headerTag:{type:String,default:"h1"},headerLevel:{type:[Number,String],default:"3"},lead:{type:String,default:null},leadHtml:{type:String,default:null},leadTag:{type:String,default:"p"},tag:{type:String,default:"div"},bgVariant:{type:String,default:function(){return Object(a.c)(u,"bgVariant")}},borderVariant:{type:String,default:function(){return Object(a.c)(u,"borderVariant")}},textVariant:{type:String,default:function(){return Object(a.c)(u,"textVariant")}}},p=n.a.extend({name:u,functional:!0,props:d,render:function(t,e){var r,n=e.props,a=e.data,u=e.slots,d=e.scopedSlots,p=[],f=u(),b=d||{};return(n.header||Object(l.a)("header",b,f)||n.headerHtml)&&p.push(t(n.headerTag,{class:o({},"display-".concat(n.headerLevel),Boolean(n.headerLevel))},Object(l.b)("header",{},b,f)||n.headerHtml||Object(s.b)(n.header))),(n.lead||Object(l.a)("lead",b,f)||n.leadHtml)&&p.push(t(n.leadTag,{staticClass:"lead"},Object(l.b)("lead",{},b,f)||n.leadHtml||Object(s.b)(n.lead))),Object(l.a)("default",b,f)&&p.push(Object(l.b)("default",{},b,f)),n.fluid&&(p=[t(c.a,{props:{fluid:n.containerFluid}},p)]),t(n.tag,Object(i.a)(a,{staticClass:"jumbotron",class:(r={"jumbotron-fluid":n.fluid},o(r,"text-".concat(n.textVariant),Boolean(n.textVariant)),o(r,"bg-".concat(n.bgVariant),Boolean(n.bgVariant)),o(r,"border-".concat(n.borderVariant),Boolean(n.borderVariant)),o(r,"border",Boolean(n.borderVariant)),r)}),p)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(73),n=r(163),i=r(68),a=r(44),s=r(3),l=Object(s.b)({components:{BContainer:o.a,BRow:n.a,BCol:i.a,BFormRow:a.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var n=r(0),i=r(2),a=r(7),s=["start","end","center"],l={tag:{type:String,default:"div"},noGutters:{type:Boolean,default:!1},alignV:{type:String,default:null,validator:function(t){return Object(a.a)(s.concat(["baseline","stretch"]),t)}},alignH:{type:String,default:null,validator:function(t){return Object(a.a)(s.concat(["between","around"]),t)}},alignContent:{type:String,default:null,validator:function(t){return Object(a.a)(s.concat(["between","around","stretch"]),t)}}},c=n.a.extend({name:"BRow",functional:!0,props:l,render:function(t,e){var r,n=e.props,a=e.data,s=e.children;return t(n.tag,Object(i.a)(a,{staticClass:"row",class:(r={"no-gutters":n.noGutters},o(r,"align-items-".concat(n.alignV),n.alignV),o(r,"justify-content-".concat(n.alignH),n.alignH),o(r,"align-content-".concat(n.alignContent),n.alignContent),r)}),s)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(14),n=r(3),i=Object(n.b)({components:{BLink:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(166),n=r(167),i=r(3),a=Object(i.b)({components:{BListGroup:o.a,BListGroupItem:n.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(1),s={tag:{type:String,default:"div"},flush:{type:Boolean,default:!1},horizontal:{type:[Boolean,String],default:!1}},l=n.a.extend({name:"BListGroup",functional:!0,props:s,render:function(t,e){var r=e.props,n=e.data,s=e.children,l=""===r.horizontal||r.horizontal;l=!r.flush&&l;var c={staticClass:"list-group",class:o({"list-group-flush":r.flush,"list-group-horizontal":!0===l},"list-group-horizontal-".concat(l),Object(a.m)(l))};return t(r.tag,Object(i.a)(n,c),s)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return m});var i=r(0),a=r(2),s=r(15),l=r(7),c=r(4),u=r(14),d="BListGroupItem",p=["a","router-link","button","b-link"],f=Object(u.b)();delete f.href.default,delete f.to.default;var b=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({tag:{type:String,default:"div"},action:{type:Boolean,default:null},button:{type:Boolean,default:null},variant:{type:String,default:function(){return Object(c.c)(d,"variant")}}},f),m=i.a.extend({name:d,functional:!0,props:b,render:function(t,e){var r,o=e.props,i=e.data,c=e.children,d=o.button?"button":o.href||o.to?u.a:o.tag,b=Boolean(o.href||o.to||o.action||o.button||Object(l.a)(p,o.tag)),m={},h={};"button"===d?(i.attrs&&i.attrs.type||(m.type="button"),o.disabled&&(m.disabled=!0)):h=Object(s.a)(f,o);var g={attrs:m,props:h,staticClass:"list-group-item",class:(r={},n(r,"list-group-item-".concat(o.variant),Boolean(o.variant)),n(r,"list-group-item-action",b),n(r,"active",o.active),n(r,"disabled",o.disabled),r)};return t(d,Object(a.a)(i,g),c)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(169),n=r(75),i=r(74),a=r(3),s=Object(a.b)({components:{BMedia:o.a,BMediaAside:n.a,BMediaBody:i.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(0),n=r(2),i=r(18),a=r(74),s=r(75),l={tag:{type:String,default:"div"},rightAlign:{type:Boolean,default:!1},verticalAlign:{type:String,default:"top"},noBody:{type:Boolean,default:!1}},c=o.a.extend({name:"BMedia",functional:!0,props:l,render:function(t,e){var r=e.props,o=e.data,l=e.slots,c=e.scopedSlots,u=e.children,d=r.noBody?u:[];if(!r.noBody){var p=l(),f=c||{},b=Object(i.b)("aside",{},f,p),m=Object(i.b)("default",{},f,p);b&&!r.rightAlign&&d.push(t(s.a,{staticClass:"mr-3",props:{verticalAlign:r.verticalAlign}},b)),d.push(t(a.a,{},m)),b&&r.rightAlign&&d.push(t(s.a,{staticClass:"ml-3",props:{verticalAlign:r.verticalAlign}},b))}return t(r.tag,Object(n.a)(o,{staticClass:"media"}),d)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(76),n=r(78),i=r(171),a=r(3),s=Object(a.b)({components:{BModal:o.a},directives:{VBModal:n.a},plugins:{BVModalPlugin:i.a}})},function(t,e,r){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function i(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function s(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(r,!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function u(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function d(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}r.d(e,"a",function(){return j});var p=r(76),f=r(7),b=r(4),m=r(1),h=r(8),g=r(3),v=r(13),y=["id"].concat(function(t){return d(t)||u(t)||c()}(Object(h.j)(Object(h.k)(p.b,["busy","lazy","noStacking","static","visible"])))),w=function(t){},x={msgBoxContent:"default",title:"modal-title",okTitle:"modal-ok",cancelTitle:"modal-cancel"},O=function(t){return y.reduce(function(e,r){return Object(m.n)(t[r])||(e[r]=t[r]),e},{})},k=function(t){var e=t.extend({name:"BMsgBox",extends:p.a,destroyed:function(){this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)},mounted:function(){var t=this,e=function(){var e=t;t.$nextTick(function(){setTimeout(function(){return e.$destroy()},0)})};this.$parent.$once("hook:destroyed",e),this.$once("hidden",e),this.$router&&this.$route&&this.$once("hook:beforeDestroy",this.$watch("$router",e)),this.show()}}),r=function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:w;if(!Object(v.e)("$bvModal")&&!Object(v.d)("$bvModal")){var n=new e({parent:t,propsData:s({},O(Object(b.c)("BModal")||{}),{hideHeaderClose:!0,hideHeader:!(r.title||r.titleHtml)},Object(h.k)(r,Object(h.j)(x)),{lazy:!1,busy:!1,visible:!1,noStacking:!1,noEnforceFocus:!1})});return Object(h.j)(x).forEach(function(t){Object(m.n)(r[t])||(n.$slots[x[t]]=Object(f.b)(r[t]))}),new Promise(function(t,e){var r=!1;n.$once("hook:destroyed",function(){r||e(new Error("BootstrapVue MsgBox destroyed before resolve"))}),n.$on("hide",function(e){if(!e.defaultPrevented){var n=o(e);e.defaultPrevented||(r=!0,t(n))}});var i=document.createElement("div");document.body.appendChild(i),n.$mount(i)})}},n=function(t,e){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;if(e&&!Object(v.d)("$bvModal")&&!Object(v.e)("$bvModal")&&Object(m.f)(n))return r(t,s({},O(o),{msgBoxContent:e}),n)},a=function(){function t(e){o(this,t),Object(h.a)(this,{_vm:e,_root:e.$root}),Object(h.d)(this,{_vm:Object(h.l)(),_root:Object(h.l)()})}return i(t,[{key:"show",value:function(t){if(t&&this._root){for(var e,r=arguments.length,o=new Array(r>1?r-1:0),n=1;n<r;n++)o[n-1]=arguments[n];(e=this._root).$emit.apply(e,["bv::show::modal",t].concat(o))}}},{key:"hide",value:function(t){if(t&&this._root){for(var e,r=arguments.length,o=new Array(r>1?r-1:0),n=1;n<r;n++)o[n-1]=arguments[n];(e=this._root).$emit.apply(e,["bv::hide::modal",t].concat(o))}}},{key:"msgBoxOk",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=s({},e,{okOnly:!0,okDisabled:!1,hideFooter:!1,msgBoxContent:t});return n(this._vm,t,r,function(t){return!0})}},{key:"msgBoxConfirm",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=s({},e,{okOnly:!1,okDisabled:!1,cancelDisabled:!1,hideFooter:!1});return n(this._vm,t,r,function(t){var e=t.trigger;return"ok"===e||"cancel"!==e&&null})}}]),t}();t.mixin({beforeCreate:function(){this._bv__modal=new a(this)}}),t.prototype.hasOwnProperty("$bvModal")||Object(h.e)(t.prototype,"$bvModal",{get:function(){return this&&this._bv__modal||Object(v.b)("'".concat("$bvModal","' must be accessed from a Vue instance 'this' context")),this._bv__modal}})},j=Object(g.b)({plugins:{plugin:k}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var i=r(0),a=r(2),s=r(14),l=Object(s.b)(),c=i.a.extend({name:"BNavItem",functional:!0,props:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},l,{linkAttrs:{type:Object,default:function(){}},linkClasses:{type:[String,Object,Array],default:null}}),render:function(t,e){var r=e.props,o=e.data,n=e.listeners,i=e.children;return delete o.on,t("li",Object(a.a)(o,{staticClass:"nav-item"}),[t(s.a,{staticClass:"nav-link",class:r.linkClasses,attrs:r.linkAttrs,props:r,on:n},i)])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"span"}},a=o.a.extend({name:"BNavText",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{staticClass:"navbar-text"}),i)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var a=r(0),s=r(2),l=r(8),c=r(42),u=Object(l.k)(c.b,["inline"]),d=a.a.extend({name:"BNavForm",functional:!0,props:u,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(c.a,Object(s.a)(o,{props:n({},r,{inline:!0})}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return p});var o=r(0),n=r(64),i=r(9),a=r(124),s=r(5),l=r(15),c=r(11),u=r(14),d=Object(l.a)(["menuClass","toggleClass","noCaret","role"],n.b),p=o.a.extend({name:"BNavItemDropdown",mixins:[i.a,a.a,s.a],props:d,computed:{isNav:function(){return!0},dropdownClasses:function(){return[this.directionClass,{show:this.visible}]},menuClasses:function(){return[this.menuClass,{"dropdown-menu-right":this.right,show:this.visible}]},toggleClasses:function(){return[this.toggleClass,{"dropdown-toggle-no-caret":this.noCaret}]}},render:function(t){var e=t(u.a,{ref:"toggle",staticClass:"nav-link dropdown-toggle",class:this.toggleClasses,props:{href:"#",disabled:this.disabled},attrs:{id:this.safeId("_BV_button_"),"aria-haspopup":"true","aria-expanded":this.visible?"true":"false"},on:{click:this.toggle,keydown:this.toggle}},[this.$slots["button-content"]||this.$slots.text||t("span",{domProps:Object(c.a)(this.html,this.text)})]),r=t("ul",{staticClass:"dropdown-menu",class:this.menuClasses,ref:"menu",attrs:{tabindex:"-1","aria-labelledby":this.safeId("_BV_button_")},on:{keydown:this.onKeydown}},!this.lazy||this.visible?this.normalizeSlot("default",{hide:this.hide}):[t()]);return t("li",{staticClass:"nav-item b-nav-dropdown dropdown",class:this.dropdownClasses,attrs:{id:this.safeId()}},[e,r])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(177),n=r(178),i=r(179),a=r(180),s=r(79),l=r(62),c=r(40),u=r(3),d=Object(u.b)({components:{BNavbar:o.a,BNavbarNav:n.a,BNavbarBrand:i.a,BNavbarToggle:a.a,BNavToggle:a.a},plugins:{NavPlugin:s.a,CollapsePlugin:l.a,DropdownPlugin:c.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var n=r(0),i=r(2),a=r(4),s=r(1),l={tag:{type:String,default:"nav"},type:{type:String,default:"light"},variant:{type:String,default:function(){return Object(a.c)("BNavbar","variant")}},toggleable:{type:[Boolean,String],default:!1},fixed:{type:String},sticky:{type:Boolean,default:!1},print:{type:Boolean,default:!1}},c=n.a.extend({name:"BNavbar",functional:!0,props:l,render:function(t,e){var r,n=e.props,l=e.data,c=e.children,u="",d=Object(a.a)()[0];return n.toggleable&&Object(s.m)(n.toggleable)&&n.toggleable!==d?u="navbar-expand-".concat(n.toggleable):!1===n.toggleable&&(u="navbar-expand"),t(n.tag,Object(i.a)(l,{staticClass:"navbar",class:(r={"d-print":n.print,"sticky-top":n.sticky},o(r,"navbar-".concat(n.type),Boolean(n.type)),o(r,"bg-".concat(n.variant),Boolean(n.variant)),o(r,"fixed-".concat(n.fixed),Boolean(n.fixed)),o(r,"".concat(u),Boolean(u)),r),attrs:{role:"nav"===n.tag?null:"navigation"}}),c)}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var n=r(0),i=r(2),a=r(15),s=r(47),l=Object(a.a)(["tag","fill","justified","align","small"],s.b),c=function(t){return t="left"===t?"start":"right"===t?"end":t,"justify-content-".concat(t)},u=n.a.extend({name:"BNavbarNav",functional:!0,props:l,render:function(t,e){var r,n=e.props,a=e.data,s=e.children;return t(n.tag,Object(i.a)(a,{staticClass:"navbar-nav",class:(r={"nav-fill":n.fill,"nav-justified":n.justified},o(r,c(n.align),n.align),o(r,"small",n.small),r)}),s)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var i=r(0),a=r(2),s=r(15),l=r(14),c=Object(l.b)();c.href.default=void 0,c.to.default=void 0;var u=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},c,{tag:{type:String,default:"div"}}),d=i.a.extend({name:"BNavbarBrand",functional:!0,props:u,render:function(t,e){var r=e.props,o=e.data,n=e.children,i=Boolean(r.to||r.href);return t(i?l.a:r.tag,Object(a.a)(o,{staticClass:"navbar-brand",props:i?Object(s.a)(c,r):{}}),n)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(0),n=r(27),i=r(5),a=r(4),s="BNavbarToggle",l=o.a.extend({name:s,mixins:[n.a,i.a],props:{label:{type:String,default:function(){return Object(a.c)(s,"label")}},target:{type:String,required:!0}},data:function(){return{toggleState:!1}},created:function(){this.listenOnRoot("bv::collapse::state",this.handleStateEvt),this.listenOnRoot("bv::collapse::sync::state",this.handleStateEvt)},methods:{onClick:function(t){this.$emit("click",t),t.defaultPrevented||this.$root.$emit("bv::toggle::collapse",this.target)},handleStateEvt:function(t,e){t===this.target&&(this.toggleState=e)}},render:function(t){return t("button",{class:["navbar-toggler"],attrs:{type:"button","aria-label":this.label,"aria-controls":this.target,"aria-expanded":this.toggleState?"true":"false"},on:{click:this.onClick}},[this.normalizeSlot("default")||t("span",{class:["navbar-toggler-icon"]})])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(182),n=r(3),i=Object(n.b)({components:{BPagination:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(4),i=r(6),a=r(1),s=r(183),l={size:{type:String,default:function(){return Object(n.c)("BPagination","size")}},perPage:{type:[Number,String],default:20},totalRows:{type:[Number,String],default:0},ariaControls:{type:String,default:null}},c=function(t){var e=parseInt(t,10)||20;return e<1?1:e},u=function(t){var e=parseInt(t,10)||0;return e<0?0:e},d=o.a.extend({name:"BPagination",mixins:[s.a],props:l,computed:{numberOfPages:function(){var t=Math.ceil(u(this.totalRows)/c(this.perPage));return t<1?1:t},pageSizeNumberOfPages:function(){return{perPage:c(this.perPage),totalRows:u(this.totalRows),numberOfPages:this.numberOfPages}}},watch:{pageSizeNumberOfPages:function(t,e){Object(a.o)(e)||(t.perPage!==e.perPage&&t.totalRows===e.totalRows?this.currentPage=1:t.numberOfPages!==e.numberOfPages&&this.currentPage>t.numberOfPages&&(this.currentPage=1)),this.localNumberOfPages=t.numberOfPages}},created:function(){var t=this;this.localNumberOfPages=this.numberOfPages;var e=parseInt(this.value,10)||0;e>0?this.currentPage=e:this.$nextTick(function(){t.currentPage=0})},mounted:function(){this.localNumberOfPages=this.numberOfPages},methods:{onClick:function(t,e){var r=this;t>this.numberOfPages?t=this.numberOfPages:t<1&&(t=1),this.currentPage=t,this.$emit("change",this.currentPage),this.$nextTick(function(){var t=e.target;Object(i.p)(t)&&r.$el.contains(t)&&t.focus?t.focus():r.focusCurrent()})},makePage:function(t){return t},linkProps:function(t){return{href:"#"}}}})},function(t,e,r){"use strict";var o=r(19),n=r(184),i=r(26),a=r(13),s=r(1),l=r(6),c=r(5),u=r(14),d=function(t,e){return Object(n.a)(e).map(function(e,r){return{number:t+r,classes:null}})},p=function(t){var e=parseInt(t,10)||1;return e<1?5:e},f=function(t,e){var r=parseInt(t,10)||1;return r>e?e:r<1?1:r},b=function(t){if(t.keyCode===o.a.SPACE)return t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),t.currentTarget.click(),!1},m={disabled:{type:Boolean,default:!1},value:{type:[Number,String],default:null,validator:function(t){var e=parseInt(t,10);return!(!Object(s.g)(t)&&(isNaN(e)||e<1))||(Object(a.a)("pagination: v-model value must be a number greater than 0"),!1)}},limit:{type:[Number,String],default:5,validator:function(t){var e=parseInt(t,10);return!(isNaN(e)||e<1)||(Object(a.a)('pagination: prop "limit" must be a number greater than 0'),!1)}},align:{type:String,default:"left"},hideGotoEndButtons:{type:Boolean,default:!1},ariaLabel:{type:String,default:"Pagination"},labelFirstPage:{type:String,default:"Go to first page"},firstText:{type:String,default:"«"},labelPrevPage:{type:String,default:"Go to previous page"},prevText:{type:String,default:"‹"},labelNextPage:{type:String,default:"Go to next page"},nextText:{type:String,default:"›"},labelLastPage:{type:String,default:"Go to last page"},lastText:{type:String,default:"»"},labelPage:{type:[String,Function],default:"Go to page"},hideEllipsis:{type:Boolean,default:!1},ellipsisText:{type:String,default:"…"}};e.a={mixins:[c.a],model:{prop:"value",event:"input"},props:m,data:function(){var t=parseInt(this.value,10);return{currentPage:t>0?t:-1,localNumberOfPages:1,localLimit:5}},computed:{btnSize:function(){return this.size?"pagination-".concat(this.size):""},alignment:function(){var t=this.align;return"center"===t?"justify-content-center":"end"===t||"right"===t?"justify-content-end":"fill"===t?"text-center":""},computedCurrentPage:function(){return f(this.currentPage,this.localNumberOfPages)},paginationParams:function(){var t=this.limit,e=this.localNumberOfPages,r=this.computedCurrentPage,o=this.hideEllipsis,n=!1,i=!1,a=t,s=1;return e<=t?a=e:r<t-1&&t>3?o||(i=!0,a=t-1):e-r+2<t&&t>3?(o||(a=t-1,n=!0),s=e-a+1):(t>3&&!o&&(a=t-2,n=i=!0),s=r-Math.floor(a/2)),s<1?s=1:s>e-a&&(s=e-a+1),{showFirstDots:n,showLastDots:i,numberOfLinks:a,startNumber:s}},pageList:function(){var t=this.paginationParams,e=t.numberOfLinks,r=t.startNumber,o=this.computedCurrentPage,n=d(r,e);if(n.length>3){var i=o-r,a="bv-d-xs-down-none";if(0===i)for(var s=3;s<n.length;s++)n[s].classes=a;else if(i===n.length-1)for(var l=0;l<n.length-3;l++)n[l].classes=a;else{for(var c=0;c<i-1;c++)n[c].classes=a;for(var u=n.length-1;u>i+1;u--)n[u].classes=a}}return n}},watch:{value:function(t,e){t!==e&&(this.currentPage=f(t,this.localNumberOfPages))},currentPage:function(t,e){t!==e&&this.$emit("input",t>0?t:null)},limit:function(t,e){t!==e&&(this.localLimit=p(t))}},created:function(){var t=this;this.localLimit=p(this.limit),this.$nextTick(function(){t.currentPage=t.currentPage>t.localNumberOfPages?t.localNumberOfPages:t.currentPage})},methods:{getButtons:function(){return Object(l.y)("a.page-link",this.$el).filter(function(t){return Object(l.p)(t)})},setBtnFocus:function(t){t.focus()},focusCurrent:function(){var t=this;this.$nextTick(function(){var e=t.getButtons().find(function(e){return parseInt(Object(l.g)(e,"aria-posinset"),10)===t.computedCurrentPage});e&&e.focus?t.setBtnFocus(e):t.focusFirst()})},focusFirst:function(){var t=this;this.$nextTick(function(){var e=t.getButtons().find(function(t){return!Object(l.n)(t)});e&&e.focus&&e!==document.activeElement&&t.setBtnFocus(e)})},focusLast:function(){var t=this;this.$nextTick(function(){var e=t.getButtons().reverse().find(function(t){return!Object(l.n)(t)});e&&e.focus&&e!==document.activeElement&&t.setBtnFocus(e)})},focusPrev:function(){var t=this;this.$nextTick(function(){var e=t.getButtons(),r=e.indexOf(document.activeElement);r>0&&!Object(l.n)(e[r-1])&&e[r-1].focus&&t.setBtnFocus(e[r-1])})},focusNext:function(){var t=this;this.$nextTick(function(){var e=t.getButtons(),r=e.indexOf(document.activeElement);r<e.length-1&&!Object(l.n)(e[r+1])&&e[r+1].focus&&t.setBtnFocus(e[r+1])})}},render:function(t){var e=this,r=[],n=this.localNumberOfPages,a=this.disabled,l=this.paginationParams,c=l.showFirstDots,d=l.showLastDots,p=this.computedCurrentPage,f="fill"===this.align,m=function(t){return t===p},h=this.currentPage<1,g=function(r,o,s,l,c,d){var p=a||m(c)||h||r<1||r>n,g=r<1?1:r>n?n:r,v={disabled:p,page:g,index:g-1},y=e.normalizeSlot(s,v)||Object(i.a)(l)||t(),w=t(p?"span":u.a,{staticClass:"page-link",props:p?{}:e.linkProps(r),attrs:{role:"menuitem",tabindex:p?null:"-1","aria-label":o,"aria-controls":e.ariaControls||null,"aria-disabled":p?"true":null},on:p?{}:{click:function(t){e.onClick(r,t)},keydown:b}},[y]);return t("li",{key:d,staticClass:"page-item",class:{disabled:p,"flex-fill":f},attrs:{role:"presentation","aria-hidden":p?"true":null}},[w])},v=function(r){return t("li",{key:"ellipsis-".concat(r?"last":"first"),staticClass:"page-item",class:["disabled","bv-d-xs-down-none",f?"flex-fill":""],attrs:{role:"separator"}},[t("span",{staticClass:"page-link"},[e.normalizeSlot("ellipsis-text")||Object(i.a)(e.ellipsisText)||t()])])};r.push(this.hideGotoEndButtons?t():g(1,this.labelFirstPage,"first-text",this.firstText,1,"bookend-goto-first")),r.push(g(p-1,this.labelPrevPage,"prev-text",this.prevText,1,"bookend-goto-prev")),r.push(c?v(!1):t()),this.pageList.forEach(function(o,l){var c=m(o.number)&&!h,d=a?null:c||h&&0===l?"0":"-1",p={role:"menuitemradio","aria-disabled":a?"true":null,"aria-controls":e.ariaControls||null,"aria-label":Object(s.f)(e.labelPage)?e.labelPage(o.number):"".concat(e.labelPage," ").concat(o.number),"aria-checked":c?"true":"false","aria-posinset":o.number,"aria-setsize":n,tabindex:d},g=Object(i.a)(e.makePage(o.number)),v={page:o.number,index:o.number-1,content:g,active:c,disabled:a},y=t(a?"span":u.a,{props:a?{}:e.linkProps(o.number),staticClass:"page-link",attrs:p,on:a?{}:{click:function(t){e.onClick(o.number,t)},keydown:b}},[e.normalizeSlot("page",v)||g]);r.push(t("li",{key:"page-".concat(o.number),staticClass:"page-item",class:[{disabled:a,active:c,"flex-fill":f},o.classes],attrs:{role:"presentation"}},[y]))}),r.push(d?v(!0):t()),r.push(g(p+1,this.labelNextPage,"next-text",this.nextText,n,"bookend-goto-next")),r.push(this.hideGotoEndButtons?t():g(n,this.labelLastPage,"last-text",this.lastText,n,"bookend-goto-last"));var y=t("ul",{ref:"ul",staticClass:"pagination",class:["b-pagination",this.btnSize,this.alignment],attrs:{role:"menubar","aria-disabled":a?"true":"false","aria-label":this.ariaLabel||null},on:{keydown:function(t){var r=t.keyCode,n=t.shiftKey;r===o.a.LEFT?(t.preventDefault(),n?e.focusFirst():e.focusPrev()):r===o.a.RIGHT&&(t.preventDefault(),n?e.focusLast():e.focusNext())}}},r);return this.isNav?t("nav",{attrs:{"aria-disabled":a?"true":null,"aria-hidden":a?"true":"false"}},[y]):y}}},function(t,e,r){"use strict";var o=function(t){return Array.apply(null,{length:t})};e.a=o},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(186),n=r(3),i=Object(n.b)({components:{BPaginationNav:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return h});var o=r(0),n=r(12),i=r(26),a=r(13),s=r(4),l=r(6),c=r(10),u=r(1),d=r(105),p=r(183),f="BPaginationNav",b=function(t){var e=parseInt(t,10)||1;return e<1?1:e},m={size:{type:String,default:function(){return Object(s.c)(f,"size")}},numberOfPages:{type:[Number,String],default:1,validator:function(t){var e=parseInt(t,10);return!(isNaN(e)||e<1)||(Object(a.a)('b-pagination: prop "number-of-pages" must be a number greater than 0'),!1)}},baseUrl:{type:String,default:"/"},useRouter:{type:Boolean,default:!1},linkGen:{type:Function,default:null},pageGen:{type:Function,default:null},pages:{type:Array,default:null},noPageDetect:{type:Boolean,default:!1},activeClass:{type:String},exact:{type:Boolean,default:!1},exactActiveClass:{type:String},noPrefetch:{type:Boolean,default:!1}},h=o.a.extend({name:f,mixins:[p.a],props:m,computed:{isNav:function(){return!0},computedValue:function(){var t=parseInt(this.value,10);return isNaN(t)||t<1?null:t}},watch:{numberOfPages:function(t,e){var r=this;this.$nextTick(function(){r.setNumberOfPages()})},pages:function(t,e){var r=this;this.$nextTick(function(){r.setNumberOfPages()})}},created:function(){this.setNumberOfPages()},mounted:function(){var t=this;this.$router&&this.$watch("$route",function(e,r){t.$nextTick(function(){Object(l.w)(function(){t.guessCurrentPage()})})})},methods:{setNumberOfPages:function(){var t=this;Object(u.a)(this.pages)&&this.pages.length>0?this.localNumberOfPages=this.pages.length:this.localNumberOfPages=b(this.numberOfPages),this.$nextTick(function(){t.guessCurrentPage()})},onClick:function(t,e){var r=this;t!==this.currentPage&&(Object(l.w)(function(){r.currentPage=t,r.$emit("change",t)}),this.$nextTick(function(){try{(e.currentTarget||e.target).blur()}catch(t){}}))},getPageInfo:function(t){if(!Object(u.a)(this.pages)||0===this.pages.length||Object(u.n)(this.pages[t-1])){var e="".concat(this.baseUrl).concat(t);return{link:this.useRouter?{path:e}:e,text:Object(i.a)(t)}}var r=this.pages[t-1];if(Object(u.i)(r)){var o=r.link;return{link:Object(u.i)(o)?o:this.useRouter?{path:o}:o,text:Object(i.a)(r.text||t)}}return{link:Object(i.a)(r),text:Object(i.a)(t)}},makePage:function(t){var e=this.getPageInfo(t);return this.pageGen&&Object(u.f)(this.pageGen)?this.pageGen(t,e):e.text},makeLink:function(t){var e=this.getPageInfo(t);return this.linkGen&&Object(u.f)(this.linkGen)?this.linkGen(t,e):e.link},linkProps:function(t){var e=this.makeLink(t),r={target:this.target||null,rel:this.rel||null,disabled:this.disabled,exact:this.exact,activeClass:this.activeClass,exactActiveClass:this.exactActiveClass,append:this.append,replace:this.replace,noPrefetch:this.noPrefetch};return this.useRouter||Object(u.i)(e)?r.to=e:r.href=e,r},resolveLink:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{t=document.createElement("a"),t.href=Object(d.a)({to:e},"a","/","/"),document.body.appendChild(t);var r=t,o=r.pathname,n=r.hash,i=r.search;return document.body.removeChild(t),{path:o,hash:n,query:Object(d.e)(i)}}catch(e){try{t&&t.parentNode&&t.parentNode.removeChild(t)}catch(t){}return{}}},resolveRoute:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{var e=this.$router.resolve(t,this.$route).route;return{path:e.path,hash:e.hash,query:e.query}}catch(t){return{}}},guessCurrentPage:function(){var t=this.computedValue,e=this.$router,r=this.$route;if(!this.noPageDetect&&!t&&(c.j||!c.j&&e))for(var o=e&&r?{path:r.path,hash:r.hash,query:r.query}:{},i=c.j?window.location||document.location:null,a=i?{path:i.pathname,hash:i.hash,query:Object(d.e)(i.search)}:{},s=1;!t&&s<=this.localNumberOfPages;s++){var l=this.makeLink(s);t=e&&(Object(u.i)(l)||this.useRouter)?Object(n.a)(this.resolveRoute(l),o)?s:null:c.j?Object(n.a)(this.resolveLink(l),a)?s:null:-1}this.currentPage=t>0?t:0}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(188),n=r(82),i=r(3),a=Object(i.b)({components:{BPopover:o.a},plugins:{VBPopoverPlugin:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(0),n=r(4),i=r(17),a=r(80),s=r(190),l="BPopover",c=o.a.extend({name:l,extends:a.a,inheritAttrs:!1,props:{title:{type:String},content:{type:String},triggers:{type:[String,Array],default:"click"},placement:{type:String,default:"right"},variant:{type:String,default:function(){return Object(n.c)(l,"variant")}},customClass:{type:String,default:function(){return Object(n.c)(l,"customClass")}},delay:{type:[Number,Object,String],default:function(){return Object(n.c)(l,"delay")}},boundary:{type:[String,i.b,Object],default:function(){return Object(n.c)(l,"boundary")}},boundaryPadding:{type:[Number,String],default:function(){return Object(n.c)(l,"boundaryPadding")}}},methods:{getComponent:function(){return s.a},updateContent:function(){this.setContent(this.$scopedSlots.default||this.content),this.setTitle(this.$scopedSlots.title||this.title)}}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var a=r(0),s=r(77),l=r(1),c=r(258),u=a.a.extend({name:"BVTooltipTemplate",extends:c.a,mixins:[s.a],props:{id:{type:String,default:null},html:{type:Boolean,default:!1}},data:function(){return{title:"",content:"",variant:null,customClass:null}},computed:{templateType:function(){return"tooltip"},templateClasses:function(){var t;return[(t={},i(t,"b-".concat(this.templateType,"-").concat(this.variant),this.variant),i(t,"bs-".concat(this.templateType,"-").concat(this.attachment),this.attachment),t),this.customClass]},templateAttributes:function(){return n({id:this.id,role:"tooltip",tabindex:"-1"},this.scopedStyleAttrs)},templateListeners:function(){var t=this;return{mouseenter:function(e){t.$emit("mouseenter",e)},mouseleave:function(e){t.$emit("mouseleave",e)},focusin:function(e){t.$emit("focusin",e)},focusout:function(e){t.$emit("focusout",e)}}}},methods:{renderTemplate:function(t){var e=Object(l.f)(this.title)?this.title({}):Object(l.o)(this.title)?t():this.title,r=this.html&&!Object(l.f)(this.title)?{innerHTML:this.title}:{};return t("div",{staticClass:"tooltip b-tooltip",class:this.templateClasses,attrs:this.templateAttributes,on:this.templateListeners},[t("div",{ref:"arrow",staticClass:"arrow"}),t("div",{staticClass:"tooltip-inner",domProps:r},[e])])}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(81),i=r(259),a=o.a.extend({name:"BVPopover",extends:n.a,computed:{templateType:function(){return"popover"}},methods:{getTemplate:function(){return i.a}}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return P});var a=r(32),s=r(12),l=r(7),c=r(4),u=r(10),d=r(1),p=r(8),f=r(190),b="__BV_Popover__",m={focus:!0,hover:!0,click:!0,blur:!0,manual:!0},h=/^html$/i,g=/^nofade$/i,v=/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i,y=/^(window|viewport|scrollParent)$/i,w=/^d\d+$/i,x=/^ds\d+$/i,O=/^dh\d+$/i,k=/^o-?\d+$/i,j=/^v-.+$/i,S=function(t,e){var r="BPopover",o={title:void 0,content:void 0,trigger:"",placement:"right",fallbackPlacement:"flip",container:!1,animation:!0,offset:0,disabled:!1,id:null,html:!1,delay:Object(c.c)(r,"delay"),boundary:String(Object(c.c)(r,"boundary")),boundaryPadding:parseInt(Object(c.c)(r,"boundaryPadding"),10)||0,variant:Object(c.c)(r,"variant"),customClass:Object(c.c)(r,"customClass")};if(Object(d.m)(t.value)||Object(d.h)(t.value)?o.content=t.value:Object(d.f)(t.value)?o.content=t.value:Object(d.j)(t.value)&&(o=n({},o,{},t.value)),t.arg&&(o.container="#".concat(t.arg)),Object(d.n)(o.title)){var i=e.data||{};o.title=i.attrs&&!Object(d.o)(i.attrs.title)?i.attrs.title:void 0}Object(d.j)(o.delay)||(o.delay={show:parseInt(o.delay,10)||0,hide:parseInt(o.delay,10)||0}),Object(p.j)(t.modifiers).forEach(function(t){if(h.test(t))o.html=!0;else if(g.test(t))o.animation=!1;else if(v.test(t))o.placement=t;else if(y.test(t))t="scrollparent"===t?"scrollParent":t,o.boundary=t;else if(w.test(t)){var e=parseInt(t.slice(1),10)||0;o.delay.show=e,o.delay.hide=e}else x.test(t)?o.delay.show=parseInt(t.slice(2),10)||0:O.test(t)?o.delay.hide=parseInt(t.slice(2),10)||0:k.test(t)?o.offset=parseInt(t.slice(1),10)||0:j.test(t)&&(o.variant=t.slice(2)||null)});var a={};return Object(l.b)(o.trigger||"").filter(Boolean).join(" ").trim().toLowerCase().split(/\s+/).forEach(function(t){m[t]&&(a[t]=!0)}),Object(p.j)(t.modifiers).forEach(function(t){t=t.toLowerCase(),m[t]&&(a[t]=!0)}),o.trigger=Object(p.j)(a).join(" "),"blur"===o.trigger&&(o.trigger="focus"),o.trigger||(o.trigger="click"),o},_=function(t,e,r){if(u.j){var o=S(e,r);if(!t[b]){var n=r.context;t[b]=new f.a({parent:n,_scopeId:Object(a.a)(n,void 0)}),t[b].__bv_prev_data__={},t[b].$on("show",function(){var e={};Object(d.f)(o.title)&&(e.title=o.title()),Object(d.f)(o.content)&&(e.content=o.content()),Object(p.j)(e).length>0&&t[b].updateData(e)})}var i={title:o.title,content:o.content,triggers:o.trigger,placement:o.placement,fallbackPlacement:o.fallbackPlacement,variant:o.variant,customClass:o.customClass,container:o.container,boundary:o.boundary,delay:o.delay,offset:o.offset,noFade:!o.animation,id:o.id,disabled:o.disabled,html:o.html},l=t[b].__bv_prev_data__;if(t[b].__bv_prev_data__=i,!Object(s.a)(i,l)){var c={target:t};Object(p.j)(i).forEach(function(t){i[t]!==l[t]&&(c[t]="title"!==t&&"content"!==t||!Object(d.f)(i[t])?i[t]:i[t]())}),t[b].updateData(c)}}},T=function(t){t[b]&&(t[b].$destroy(),t[b]=null),delete t[b]},P={bind:function(t,e,r){_(t,e,r)},componentUpdated:function(t,e,r){r.context.$nextTick(function(){_(t,e,r)})},unbind:function(t){T(t)}}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(193),n=r(83),i=r(3),a=Object(i.b)({components:{BProgress:o.a,BProgressBar:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(0),n=r(4),i=r(5),a=r(83),s=o.a.extend({name:"BProgress",mixins:[i.a],provide:function(){return{bvProgress:this}},props:{variant:{type:String,default:function(){return Object(n.c)("BProgress","variant")}},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1},height:{type:String,default:null},precision:{type:Number,default:0},showProgress:{type:Boolean,default:!1},showValue:{type:Boolean,default:!1},max:{type:Number,default:100},value:{type:Number,default:0}},computed:{progressHeight:function(){return{height:this.height||null}}},render:function(t){var e=this.normalizeSlot("default");return e||(e=t(a.a,{props:{value:this.value,max:this.max,precision:this.precision,variant:this.variant,animated:this.animated,striped:this.striped,showProgress:this.showProgress,showValue:this.showValue}})),t("div",{class:["progress"],style:this.progressHeight},[e])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(195),n=r(3),i=Object(n.b)({components:{BSpinner:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(4),s=r(18),l=n.a.extend({name:"BSpinner",functional:!0,props:{type:{type:String,default:"border"},label:{type:String,default:null},variant:{type:String,default:function(){return Object(a.c)("BSpinner","variant")}},small:{type:Boolean,default:!1},role:{type:String,default:"status"},tag:{type:String,default:"span"}},render:function(t,e){var r,n=e.props,a=e.data,l=e.slots,c=e.scopedSlots,u=l(),d=c||{},p=Object(s.b)("label",{},d,u)||n.label;return p&&(p=t("span",{staticClass:"sr-only"},p)),t(n.tag,Object(i.a)(a,{attrs:{role:p?n.role||"status":null,"aria-hidden":p?null:"true"},class:(r={},o(r,"spinner-".concat(n.type),Boolean(n.type)),o(r,"spinner-".concat(n.type,"-sm"),n.small),o(r,"text-".concat(n.variant),Boolean(n.variant)),r)}),[p||t()])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return m});var o=r(197),n=r(209),i=r(210),a=r(88),s=r(87),l=r(48),c=r(21),u=r(28),d=r(49),p=r(3),f=Object(p.b)({components:{BTableLite:n.a}}),b=Object(p.b)({components:{BTableSimple:i.a,BTbody:a.a,BThead:s.a,BTfoot:l.a,BTr:c.a,BTd:u.a,BTh:d.a}}),m=Object(p.b)({components:{BTable:o.a},plugins:{TableLitePlugin:f,TableSimplePlugin:b}})},function(t,e,r){"use strict";r.d(e,"a",function(){return k});var o=r(0),n=r(9),i=r(5),a=r(198),s=r(86),l=r(261),c=r(263),u=r(265),d=r(202),p=r(203),f=r(204),b=r(207),m=r(208),h=r(267),g=r(268),v=r(269),y=r(270),w=r(271),x=r(272),O=r(89),k=o.a.extend({name:"BTable",mixins:[n.a,i.a,a.a,O.a,s.a,f.a,b.a,m.a,s.a,l.a,c.a,u.a,d.a,p.a,w.a,h.a,g.a,v.a,y.a,x.a]})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(12),s=r(1),l=r(260);e.a={props:{items:{type:Array,default:function(){return[]}},fields:{type:Array,default:null},primaryKey:{type:String,default:null},value:{type:Array,default:function(){return[]}}},data:function(){return{localItems:Object(s.a)(this.items)?this.items.slice():[]}},computed:{computedFields:function(){return Object(l.a)(this.fields,this.localItems)},computedFieldsObj:function(){var t=this.$parent;return this.computedFields.reduce(function(e,r){if(e[r.key]=n({},r),r.formatter){var o=r.formatter;Object(s.m)(o)&&Object(s.f)(t[o])?o=t[o]:Object(s.f)(o)||(o=void 0),e[r.key].formatter=o}return e},{})},computedItems:function(){return(this.paginatedItems||this.sortedItems||this.filteredItems||this.localItems||[]).slice()},context:function(){return{filter:this.localFilter,sortBy:this.localSortBy,sortDesc:this.localSortDesc,perPage:parseInt(this.perPage,10)||0,currentPage:parseInt(this.currentPage,10)||1,apiUrl:this.apiUrl}}},watch:{items:function(t){Object(s.a)(t)?this.localItems=t.slice():(Object(s.n)(t)||Object(s.g)(t))&&(this.localItems=[])},computedItems:function(t){this.$emit("input",t)},context:function(t,e){Object(a.a)(t,e)||this.$emit("context-changed",t)}},mounted:function(){this.$emit("input",this.computedItems)},methods:{getFieldFormatter:function(t){var e=this.computedFieldsObj[t];return e?e.formatter:void 0}}}},function(t,e,r){"use strict";var o=r(8),n=r(7),i=r(1),a=r(85),s=function(t,e,r){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Object(o.j)(t).reduce(function(o,l){if(!a.b[l]&&!(e&&e.length>0&&Object(n.a)(e,l))&&(!(r&&r.length>0)||Object(n.a)(r,l))){var c=s[l]||{},u=t[l],d=c.filterByFormatted,p=Object(i.f)(d)?d:d?c.formatter:null;o[l]=Object(i.f)(p)?p(u,l,t):u}return o},{})};e.a=s},function(t,e,r){"use strict";var o=r(8),n=r(1),i=function t(e){return Object(n.o)(e)?"":Object(n.i)(e)&&!Object(n.c)(e)?Object(o.j)(e).sort().filter(function(t){return!Object(n.o)(t)}).map(function(r){return t(e[r])}).join(" "):String(e)};e.a=i},function(t,e,r){"use strict";var o=function(t,e){return t.map(function(t,e){return[e,t]}).sort(function(t,e){return this(t[1],e[1])||t[0]-e[0]}.bind(e)).map(function(t){return t[1]})};e.a=o},function(t,e,r){"use strict";var o=r(11);e.a={props:{caption:{type:String,default:null},captionHtml:{type:String}},computed:{captionId:function(){return this.isStacked?this.safeId("_caption_"):null}},methods:{renderCaption:function(){var t=this.$createElement,e=this.normalizeSlot("table-caption"),r=t();if(e||this.caption||this.captionHtml){var n={key:"caption",attrs:{id:this.captionId}};e||(n.domProps=Object(o.a)(this.captionHtml,this.caption)),r=t("caption",n,[e])}return r}}}},function(t,e,r){"use strict";e.a={methods:{renderColgroup:function(){var t=this.$createElement,e=this.computedFields,r=t();return this.hasNormalizedSlot("table-colgroup")&&(r=t("colgroup",{key:"colgroup"},[this.normalizeSlot("table-colgroup",{columns:e.length,fields:e})])),r}}}},function(t,e,r){"use strict";function o(t){return a(t)||i(t)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function i(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function a(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function l(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(r,!0).forEach(function(e){c(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var u=r(19),d=r(84),p=r(4),f=r(11),b=r(205),m=r(206),h=r(87),g=r(48),v=r(21),y=r(49);e.a={props:{headVariant:{type:String,default:function(){return Object(p.c)("BTable","headVariant")}},theadClass:{type:[String,Array,Object]},theadTrClass:{type:[String,Array,Object]}},methods:{fieldClasses:function(t){return[t.class?t.class:"",t.thClass?t.thClass:""]},headClicked:function(t,e,r){this.stopIfBusy&&this.stopIfBusy(t)||Object(b.a)(t)||Object(m.a)(this.$el)||(t.stopPropagation(),t.preventDefault(),this.$emit("head-clicked",e.key,e,t,r))},renderThead:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=this.$createElement,n=this.computedFields||[];if(this.isStackedAlways||0===n.length)return r();var i=this.isSelectable?this.selectAllRows:function(){},a=this.isSelectable?this.clearSelected:function(){},s=function(n,s){var c=null;n.label.trim()||n.headerTitle||(c=Object(d.a)(n.key));var p=t.$listeners["head-clicked"]||t.isSortable,b={};p&&(b.click=function(r){t.headClicked(r,n,e)},b.keydown=function(r){var o=r.keyCode;o!==u.a.ENTER&&o!==u.a.SPACE||t.headClicked(r,n,e)});var m=t.isSortable?t.sortTheadThAttrs(n.key,n,e):{},h=t.isSortable?t.sortTheadThClasses(n.key,n,e):null,g={key:n.key,class:[t.fieldClasses(n),h],props:{variant:n.variant,stickyColumn:n.stickyColumn},style:n.thStyle||{},attrs:l({tabindex:p?"0":null,abbr:n.headerAbbr||null,title:n.headerTitle||null,"aria-colindex":String(s+1),"aria-label":c},t.getThValues(null,n.key,n.thAttr,e?"foot":"head",{}),{},m),on:b},v=["head(".concat(n.key,")"),"head(".concat(n.key.toLowerCase(),")"),"head()"];e&&(v=["foot(".concat(n.key,")"),"foot(".concat(n.key.toLowerCase(),")"),"foot()"].concat(o(v)));var w=t.hasNormalizedSlot(v),x=n.label;return w?x=t.normalizeSlot(v,{label:n.label,column:n.key,field:n,isFoot:e,selectAllRows:i,clearSelected:a}):g.domProps=Object(f.a)(n.labelHtml),r(y.a,g,x)},c=n.map(s).filter(function(t){return t}),p=[];if(e)p.push(r(v.a,{class:this.tfootTrClass},c));else{var b={columns:n.length,fields:n,selectAllRows:i,clearSelected:a};p.push(this.normalizeSlot("thead-top",b)||r()),p.push(r(v.a,{class:this.theadTrClass},c))}return r(e?g.a:h.a,{key:e?"bv-tfoot":"bv-thead",class:(e?this.tfootClass:this.theadClass)||null,props:e?{footVariant:this.footVariant||this.headVariant||null}:{headVariant:this.headVariant||null}},p)}}}},function(t,e,r){"use strict";var o=r(6),n=r(85),i=["TD","TH","TR"],a=function(t){if(!t||!t.target)return!1;var e=t.target;if(e.disabled||-1!==i.indexOf(e.tagName))return!1;if(Object(o.c)(".dropdown-menu",e))return!0;var r="LABEL"===e.tagName?e:Object(o.c)("label",e);if(r){var a=Object(o.g)(r,"for"),s=a?Object(o.i)(a):Object(o.x)("input, select, textarea",r);if(s&&!s.disabled)return!0}return Object(o.q)(e,n.a)};e.a=a},function(t,e,r){"use strict";var o=r(6),n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=Object(o.k)();return!!(e&&""!==e.toString().trim()&&e.containsNode&&Object(o.o)(t))&&e.containsNode(t,!0)};e.a=n},function(t,e,r){"use strict";var o=r(4),n=r(48);e.a={props:{footClone:{type:Boolean,default:!1},footVariant:{type:String,default:function(){return Object(o.c)("BTable","footVariant")}},tfootClass:{type:[String,Array,Object],default:null},tfootTrClass:{type:[String,Array,Object],default:null}},methods:{renderTFootCustom:function(){var t=this.$createElement;return this.hasNormalizedSlot("custom-foot")?t(n.a,{key:"bv-tfoot-custom",class:this.tfootClass||null,props:{footVariant:this.footVariant||this.headVariant||null}},this.normalizeSlot("custom-foot",{items:this.computedItems.slice(),fields:this.computedFields.slice(),columns:this.computedFields.length})):t()},renderTfoot:function(){return this.footClone?this.renderThead(!0):this.renderTFootCustom()}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var i=r(19),a=r(7),s=r(6),l=r(88),c=r(205),u=r(206),d=r(266),p=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},l.b,{tbodyClass:{type:[String,Array,Object]}});e.a={mixins:[d.a],props:p,methods:{getTbodyTrs:function(){return(this.$refs.itemRows||[]).map(function(t){return t.$el||t})},getTbodyTrIndex:function(t){if(!Object(s.o)(t))return-1;var e="TR"===t.tagName?t:Object(s.c)("tr",t,!0);return e?this.getTbodyTrs().indexOf(e):-1},emitTbodyRowEvent:function(t,e){if(t&&e&&e.target){var r=this.getTbodyTrIndex(e.target);if(r>-1){var o=this.computedItems[r];this.$emit(t,o,r,e)}}},tbodyRowEvtStopped:function(t){return this.stopIfBusy&&this.stopIfBusy(t)},onTbodyRowKeydown:function(t){var e=t.target;if(!this.tbodyRowEvtStopped(t)&&"TR"===e.tagName&&e===document.activeElement&&0===e.tabIndex){var r=t.keyCode;if(Object(a.a)([i.a.ENTER,i.a.SPACE],r))t.stopPropagation(),t.preventDefault(),this.onTBodyRowClicked(t);else if(Object(a.a)([i.a.UP,i.a.DOWN,i.a.HOME,i.a.END],r)){var o=this.getTbodyTrIndex(e);if(o>-1){t.stopPropagation(),t.preventDefault();var n=this.getTbodyTrs(),s=t.shiftKey;r===i.a.HOME||s&&r===i.a.UP?n[0].focus():r===i.a.END||s&&r===i.a.DOWN?n[n.length-1].focus():r===i.a.UP&&o>0?n[o-1].focus():r===i.a.DOWN&&o<n.length-1&&n[o+1].focus()}}}},onTBodyRowClicked:function(t){this.tbodyRowEvtStopped(t)||Object(c.a)(t)||Object(u.a)(this.$el)||this.emitTbodyRowEvent("row-clicked",t)},onTbodyRowMiddleMouseRowClicked:function(t){this.tbodyRowEvtStopped(t)||2!==t.which||this.emitTbodyRowEvent("row-middle-clicked",t)},onTbodyRowContextmenu:function(t){this.tbodyRowEvtStopped(t)||this.emitTbodyRowEvent("row-contextmenu",t)},onTbodyRowDblClicked:function(t){this.tbodyRowEvtStopped(t)||Object(c.a)(t)||this.emitTbodyRowEvent("row-dblclicked",t)},renderTbody:function(){var t=this,e=this.computedItems,r=this.$createElement,o=this.$listeners["row-clicked"]||this.isSelectable,n=[],i=this.renderBusy?this.renderBusy():null;if(i)n.push(i);else{var a={},s=this.hasNormalizedSlot("cell()")?"cell()":null;this.computedFields.forEach(function(e){var r=e.key,o="cell(".concat(r,")"),n="cell(".concat(r.toLowerCase(),")");a[r]=t.hasNormalizedSlot(o)?o:t.hasNormalizedSlot(n)?n:s}),this.$_bodyFieldSlotNameCache=a,n.push(this.renderTopRow?this.renderTopRow():r()),e.forEach(function(e,r){n.push(t.renderTbodyRow(e,r))}),n.push(this.renderEmpty?this.renderEmpty():r()),n.push(this.renderBottomRow?this.renderBottomRow():r())}var c={auxclick:this.onTbodyRowMiddleMouseRowClicked,contextmenu:this.onTbodyRowContextmenu,dblclick:this.onTbodyRowDblClicked};return o&&(c.click=this.onTBodyRowClicked,c.keydown=this.onTbodyRowKeydown),r(l.a,{ref:"tbody",class:this.tbodyClass||null,props:{tbodyTransitionProps:this.tbodyTransitionProps,tbodyTransitionHandlers:this.tbodyTransitionHandlers},on:c},n)}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return b});var o=r(0),n=r(9),i=r(5),a=r(198),s=r(202),l=r(203),c=r(86),u=r(204),d=r(207),p=r(208),f=r(89),b=o.a.extend({name:"BTableLite",mixins:[n.a,i.a,a.a,f.a,c.a,u.a,d.a,p.a,s.a,l.a]})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(0),n=r(9),i=r(5),a=r(89),s=r(86),l=o.a.extend({name:"BTableSimple",mixins:[n.a,i.a,a.a,s.a],computed:{isTableSimple:function(){return!0}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(212),n=r(213),i=r(3),a=Object(i.b)({components:{BTabs:o.a,BTab:n.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return x});var i=r(0),a=r(19),s=r(12),l=r(39),c=r(201),u=r(7),d=r(6),p=r(1),f=r(8),b=r(9),m=r(5),h=r(14),g=r(47),v=Object(f.k)(g.b,["tabs","isNavBar","cardHeader"]),y=function(t){return!t.disabled},w=i.a.extend({name:"BTabButtonHelper",inject:{bvTabs:{default:function(){return{}}}},props:{tab:{default:null},tabs:{type:Array,default:function(){return[]}},id:{type:String,default:null},controls:{type:String,default:null},tabIndex:{type:Number,default:null},posInSet:{type:Number,default:null},setSize:{type:Number,default:null},noKeyNav:{type:Boolean,default:!1}},methods:{focus:function(){this.$refs&&this.$refs.link&&this.$refs.link.focus&&this.$refs.link.focus()},handleEvt:function(t){var e=function(){t.preventDefault(),t.stopPropagation()};if(!this.tab.disabled){var r=t.type,o=t.keyCode,n=t.shiftKey;"click"===r?(e(),this.$emit("click",t)):"keydown"!==r||this.noKeyNav||o!==a.a.SPACE?"keydown"!==r||this.noKeyNav||(o===a.a.UP||o===a.a.LEFT||o===a.a.HOME?(e(),n||o===a.a.HOME?this.$emit("first",t):this.$emit("prev",t)):o!==a.a.DOWN&&o!==a.a.RIGHT&&o!==a.a.END||(e(),n||o===a.a.END?this.$emit("last",t):this.$emit("next",t))):(e(),this.$emit("click",t))}}},render:function(t){var e=t(h.a,{ref:"link",staticClass:"nav-link",class:[{active:this.tab.localActive&&!this.tab.disabled,disabled:this.tab.disabled},this.tab.titleLinkClass,this.tab.localActive?this.bvTabs.activeNavItemClass:null],props:{disabled:this.tab.disabled},attrs:{role:"tab",id:this.id,tabindex:this.tabIndex,"aria-selected":this.tab.localActive&&!this.tab.disabled?"true":"false","aria-setsize":this.setSize,"aria-posinset":this.posInSet,"aria-controls":this.controls},on:{click:this.handleEvt,keydown:this.handleEvt}},[this.tab.normalizeSlot("title")||this.tab.title]);return t("li",{staticClass:"nav-item",class:[this.tab.titleItemClass],attrs:{role:"presentation"}},[e])}}),x=i.a.extend({name:"BTabs",mixins:[b.a,m.a],provide:function(){return{bvTabs:this}},model:{prop:"value",event:"input"},props:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},v,{tag:{type:String,default:"div"},card:{type:Boolean,default:!1},end:{type:Boolean,default:!1},noFade:{type:Boolean,default:!1},noNavStyle:{type:Boolean,default:!1},noKeyNav:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},contentClass:{type:[String,Array,Object],default:null},navClass:{type:[String,Array,Object],default:null},navWrapperClass:{type:[String,Array,Object],default:null},activeNavItemClass:{type:[String,Array,Object],default:null},activeTabClass:{type:[String,Array,Object],default:null},value:{type:Number,default:null}}),data:function(){var t=parseInt(this.value,10);return t=isNaN(t)?-1:t,{currentTab:t,tabs:[],registeredTabs:[],isMounted:!1}},computed:{fade:function(){return!this.noFade},localNavClass:function(){var t=[];return this.card&&this.vertical&&t.push("card-header","h-100","border-bottom-0","rounded-0"),[].concat(t,[this.navClass])}},watch:{currentTab:function(t,e){var r=-1;this.tabs.forEach(function(e,o){t!==o||e.disabled?e.localActive=!1:(e.localActive=!0,r=o)}),this.$emit("input",r)},value:function(t,e){if(t!==e){t=parseInt(t,10),t=isNaN(t)?-1:t,e=parseInt(e,10)||0;var r=this.tabs;r[t]&&!r[t].disabled?this.currentTab=t:t<e?this.previousTab():this.nextTab()}},registeredTabs:function(t,e){var r=this;this.$nextTick(function(){Object(d.w)(function(){r.updateTabs()})})},tabs:function(t,e){var r=this;Object(s.a)(t.map(function(t){return t._uid}),e.map(function(t){return t._uid}))||this.$nextTick(function(){r.$emit("changed",t.slice(),e.slice())})},isMounted:function(t,e){var r=this;t&&Object(d.w)(function(){r.updateTabs()}),this.setObserver(t)}},created:function(){var t=this,e=parseInt(this.value,10);this.currentTab=isNaN(e)?-1:e,this._bvObserver=null,this.$nextTick(function(){t.updateTabs()})},mounted:function(){var t=this;this.updateTabs(),this.$nextTick(function(){t.isMounted=!0})},deactivated:function(){this.isMounted=!1},activated:function(){var t=this,e=parseInt(this.value,10);this.currentTab=isNaN(e)?-1:e,this.$nextTick(function(){t.updateTabs(),t.isMounted=!0})},beforeDestroy:function(){this.isMounted=!1},destroyed:function(){this.tabs=[]},methods:{registerTab:function(t){var e=this;Object(u.a)(this.registeredTabs,t)||(this.registeredTabs.push(t),t.$once("hook:destroyed",function(){e.unregisterTab(t)}))},unregisterTab:function(t){this.registeredTabs=this.registeredTabs.slice().filter(function(e){return e!==t})},setObserver:function(t){if(t){this.setObserver(!1);var e=this,r=function(){e.$nextTick(function(){Object(d.w)(function(){e.updateTabs()})})};this._bvObserver=Object(l.a)(this.$refs.tabsContainer,r,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["id"]})}else this._bvObserver&&this._bvObserver.disconnect&&this._bvObserver.disconnect(),this._bvObserver=null},getTabs:function(){var t=this.registeredTabs.filter(function(t){return 0===t.$children.filter(function(t){return t._isTab}).length}),e=[];if(this.isMounted&&t.length>0){var r=t.map(function(t){return"#".concat(t.safeId())}).join(", ");e=Object(d.y)(r,this.$el).map(function(t){return t.id}).filter(Boolean)}return Object(c.a)(t,function(t,r){return e.indexOf(t.safeId())-e.indexOf(r.safeId())})},updateTabs:function(){var t=this.getTabs(),e=t.indexOf(t.slice().reverse().find(function(t){return t.localActive&&!t.disabled}));if(e<0){var r=this.currentTab;r>=t.length?e=t.indexOf(t.slice().reverse().find(y)):t[r]&&!t[r].disabled&&(e=r)}e<0&&(e=t.indexOf(t.find(y))),t.forEach(function(t,e){t.localActive=!1}),t[e]&&(t[e].localActive=!0),this.tabs=t,this.currentTab=e},getButtonForTab:function(t){return(this.$refs.buttons||[]).find(function(e){return e.tab===t})},updateButton:function(t){var e=this.getButtonForTab(t);e&&e.$forceUpdate&&e.$forceUpdate()},activateTab:function(t){var e=!1;if(t){var r=this.tabs.indexOf(t);!t.disabled&&r>-1&&(e=!0,this.currentTab=r)}return e||this.$emit("input",this.currentTab),e},deactivateTab:function(t){return!!t&&this.activateTab(this.tabs.filter(function(e){return e!==t}).find(y))},focusButton:function(t){var e=this;this.$nextTick(function(){var r=e.getButtonForTab(t);r&&r.focus&&r.focus()})},emitTabClick:function(t,e){Object(p.d)(e)&&t&&t.$emit&&!t.disabled&&t.$emit("click",e)},clickTab:function(t,e){this.activateTab(t),this.emitTabClick(t,e)},firstTab:function(t){var e=this.tabs.find(y);this.activateTab(e)&&t&&(this.focusButton(e),this.emitTabClick(e,t))},previousTab:function(t){var e=Math.max(this.currentTab,0),r=this.tabs.slice(0,e).reverse().find(y);this.activateTab(r)&&t&&(this.focusButton(r),this.emitTabClick(r,t))},nextTab:function(t){var e=Math.max(this.currentTab,-1),r=this.tabs.slice(e+1).find(y);this.activateTab(r)&&t&&(this.focusButton(r),this.emitTabClick(r,t))},lastTab:function(t){var e=this.tabs.slice().reverse().find(y);this.activateTab(e)&&t&&(this.focusButton(e),this.emitTabClick(e,t))}},render:function(t){var e=this,r=this.tabs,o=r.find(function(t){return t.localActive&&!t.disabled}),n=r.find(function(t){return!t.disabled}),i=r.map(function(i,a){var s=null;return e.noKeyNav||(s=-1,(o===i||!o&&n===i)&&(s=null)),t(w,{key:i._uid||a,ref:"buttons",refInFor:!0,props:{tab:i,tabs:r,id:i.controlledBy||(i.safeId?i.safeId("_BV_tab_button_"):null),controls:i.safeId?i.safeId():null,tabIndex:s,setSize:r.length,posInSet:a+1,noKeyNav:e.noKeyNav},on:{click:function(t){e.clickTab(i,t)},first:e.firstTab,prev:e.previousTab,next:e.nextTab,last:e.lastTab}})}),a=t(g.a,{ref:"nav",class:this.localNavClass,attrs:{role:"tablist",id:this.safeId("_BV_tab_controls_")},props:{fill:this.fill,justified:this.justified,align:this.align,tabs:!this.noNavStyle&&!this.pills,pills:!this.noNavStyle&&this.pills,vertical:this.vertical,small:this.small,cardHeader:this.card&&!this.vertical}},[this.normalizeSlot("tabs-start")||t(),i,this.normalizeSlot("tabs-end")||t()]);a=t("div",{key:"bv-tabs-nav",class:[{"card-header":this.card&&!this.vertical&&!this.end,"card-footer":this.card&&!this.vertical&&this.end,"col-auto":this.vertical},this.navWrapperClass]},[a]);var s=t();r&&0!==r.length||(s=t("div",{key:"bv-empty-tab",class:["tab-pane","active",{"card-body":this.card}]},this.normalizeSlot("empty")));var l=t("div",{ref:"tabsContainer",key:"bv-tabs-container",staticClass:"tab-content",class:[{col:this.vertical},this.contentClass],attrs:{id:this.safeId("_BV_tab_container_")}},Object(u.b)(this.normalizeSlot("default"),s));return t(this.tag,{staticClass:"tabs",class:{row:this.vertical,"no-gutters":this.vertical&&this.card},attrs:{id:this.safeId()}},[this.end?l:t(),[a],this.end?t():l])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(0),n=r(9),i=r(5),a=r(30),s=o.a.extend({name:"BTab",mixins:[n.a,i.a],inject:{bvTabs:{default:function(){return{noKeyNav:!0}}}},props:{active:{type:Boolean,default:!1},tag:{type:String,default:"div"},buttonId:{type:String,default:""},title:{type:String,default:""},titleItemClass:{type:[String,Array,Object],default:null},titleLinkClass:{type:[String,Array,Object],default:null},disabled:{type:Boolean,default:!1},noBody:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1}},data:function(){return{localActive:this.active&&!this.disabled,show:!1}},computed:{tabClasses:function(){return[{active:this.localActive,disabled:this.disabled,"card-body":this.bvTabs.card&&!this.noBody},this.localActive?this.bvTabs.activeTabClass:null]},controlledBy:function(){return this.buttonId||this.safeId("__BV_tab_button__")},computedNoFade:function(){return!this.bvTabs.fade},computedLazy:function(){return this.bvTabs.lazy||this.lazy},_isTab:function(){return!0}},watch:{localActive:function(t,e){this.$emit("update:active",t)},active:function(t,e){t!==e&&(t?this.activate():this.deactivate()||this.$emit("update:active",this.localActive))},disabled:function(t,e){t!==e&&t&&this.localActive&&this.bvTabs.firstTab&&(this.localActive=!1,this.bvTabs.firstTab())}},mounted:function(){this.registerTab(),this.show=this.localActive},updated:function(){this.hasNormalizedSlot("title")&&this.bvTabs.updateButton&&this.bvTabs.updateButton(this)},destroyed:function(){this.unregisterTab()},methods:{registerTab:function(){this.bvTabs.registerTab&&this.bvTabs.registerTab(this)},unregisterTab:function(){this.bvTabs.unregisterTab&&this.bvTabs.unregisterTab(this)},activate:function(){return!(!this.bvTabs.activateTab||this.disabled)&&this.bvTabs.activateTab(this)},deactivate:function(){return!(!this.bvTabs.deactivateTab||!this.localActive)&&this.bvTabs.deactivateTab(this)}},render:function(t){var e=t(this.tag,{ref:"panel",staticClass:"tab-pane",class:this.tabClasses,directives:[{name:"show",rawName:"v-show",value:this.localActive,expression:"localActive"}],attrs:{role:"tabpanel",id:this.safeId(),tabindex:this.localActive&&!this.bvTabs.noKeyNav?"-1":null,"aria-hidden":this.localActive?"false":"true","aria-labelledby":this.controlledBy||null}},[this.localActive||!this.computedLazy?this.normalizeSlot("default"):t()]);return t(a.b,{props:{mode:"out-in",noFade:this.computedNoFade}},[e])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(215),n=r(90),i=r(91),a=r(3),s=Object(a.b)({components:{BToast:n.a,BToaster:i.a},plugins:{BVToastPlugin:o.a}})},function(t,e,r){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function i(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function s(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(r,!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function u(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function d(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}r.d(e,"a",function(){return j});var p=r(7),f=r(4),b=r(6),m=r(1),h=r(8),g=r(3),v=r(13),y=r(90),w=["id"].concat(function(t){return d(t)||u(t)||c()}(Object(h.j)(Object(h.k)(y.b,["static","visible"])))),x={toastContent:"default",title:"toast-title"},O=function(t){return w.reduce(function(e,r){return Object(m.n)(t[r])||(e[r]=t[r]),e},{})},k=function(t){var e=t.extend({name:"BToastPop",extends:y.a,destroyed:function(){this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)},mounted:function(){var t=this,e=function(){t.localShow=!1,t.doRender=!1,t.$nextTick(function(){t.$nextTick(function(){Object(b.w)(function(){t.$destroy()})})})};this.$parent.$once("hook:destroyed",e),this.$once("hidden",e),this.listenOnRoot("bv::toaster::destroyed",function(r){r===t.toaster&&e()})}}),r=function(t,r){if(!Object(v.e)("$bvToast")){var o=new e({parent:r,propsData:s({},O(Object(f.c)("BToast")||{}),{},Object(h.k)(t,Object(h.j)(x)),{static:!1,visible:!0})});Object(h.j)(x).forEach(function(e){var n=t[e];Object(m.n)(n)||("title"===e&&Object(m.m)(n)&&(n=[r.$createElement("strong",{class:"mr-2"},n)]),o.$slots[x[e]]=Object(p.b)(n))});var n=document.createElement("div");document.body.appendChild(n),o.$mount(n)}},n=function(){function t(e){o(this,t),Object(h.a)(this,{_vm:e,_root:e.$root}),Object(h.d)(this,{_vm:Object(h.l)(),_root:Object(h.l)()})}return i(t,[{key:"toast",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t&&!Object(v.e)("$bvToast")&&r(s({},O(e),{toastContent:t}),this._vm)}},{key:"show",value:function(t){t&&this._root.$emit("bv::show::toast",t)}},{key:"hide",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._root.$emit("bv::hide::toast",t)}}]),t}();t.mixin({beforeCreate:function(){this._bv__toast=new n(this)}}),t.prototype.hasOwnProperty("$bvToast")||Object(h.e)(t.prototype,"$bvToast",{get:function(){return this&&this._bv__toast||Object(v.b)("'".concat("$bvToast","' must be accessed from a Vue instance 'this' context")),this._bv__toast}})},j=Object(g.b)({plugins:{plugin:k}})},function(t,e,r){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t){return i(t)||a(t)||s()}function i(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function a(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function l(t){return Array.isArray(t)||"object"===o(t)?Object.freeze(t):t}function c(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.reduce(function(t,r){var o=r.passengers[0],n="function"==typeof o?o(e):r.passengers;return t.concat(n)},[])}function u(t,e){return t.map(function(t,e){return[e,t]}).sort(function(t,r){return e(t[1],r[1])||t[0]-r[0]}).map(function(t){return t[1]})}function d(t,e){return e.reduce(function(e,r){return t.hasOwnProperty(r)&&(e[r]=t[r]),e},{})}function p(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.component(e.portalName||"Portal",x),t.component(e.portalTargetName||"PortalTarget",O),t.component(e.MountingPortalName||"MountingPortal",_)}/*! - * portal-vue © Thorsten Lünborg, 2019 - * - * Version: 2.1.6 - * - * LICENCE: MIT - * - * https://github.com/linusborg/portal-vue - * - */ -Object.defineProperty(e,"__esModule",{value:!0});var f=function(t){return t&&"object"==typeof t&&"default"in t?t.default:t}(r(50)),b="undefined"!=typeof window,m={},h={},g={},v=f.extend({data:function(){return{transports:m,targets:h,sources:g,trackInstances:b}},methods:{open:function(t){if(b){var e=t.to,r=t.from,o=t.passengers,n=t.order,i=void 0===n?1/0:n;if(e&&r&&o){var a={to:e,from:r,passengers:l(o),order:i};-1===Object.keys(this.transports).indexOf(e)&&f.set(this.transports,e,[]);var s=this.$_getTransportIndex(a),c=this.transports[e].slice(0);-1===s?c.push(a):c[s]=a,this.transports[e]=u(c,function(t,e){return t.order-e.order})}}},close:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=t.to,o=t.from;if(r&&(o||!1!==e)&&this.transports[r])if(e)this.transports[r]=[];else{var n=this.$_getTransportIndex(t);if(n>=0){var i=this.transports[r].slice(0);i.splice(n,1),this.transports[r]=i}}},registerTarget:function(t,e,r){b&&(this.trackInstances&&!r&&this.targets[t]&&console.warn("[portal-vue]: Target ".concat(t," already exists")),this.$set(this.targets,t,Object.freeze([e])))},unregisterTarget:function(t){this.$delete(this.targets,t)},registerSource:function(t,e,r){b&&(this.trackInstances&&!r&&this.sources[t]&&console.warn("[portal-vue]: source ".concat(t," already exists")),this.$set(this.sources,t,Object.freeze([e])))},unregisterSource:function(t){this.$delete(this.sources,t)},hasTarget:function(t){return!(!this.targets[t]||!this.targets[t][0])},hasSource:function(t){return!(!this.sources[t]||!this.sources[t][0])},hasContentFor:function(t){return!!this.transports[t]&&!!this.transports[t].length},$_getTransportIndex:function(t){var e=t.to,r=t.from;for(var o in this.transports[e])if(this.transports[e][o].from===r)return+o;return-1}}}),y=new v(m),w=1,x=f.extend({name:"portal",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(w++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var t=this;this.$nextTick(function(){y.registerSource(t.name,t)})},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){y.unregisterSource(this.name),this.clear()},watch:{to:function(t,e){e&&e!==t&&this.clear(e),this.sendUpdate()}},methods:{clear:function(t){var e={from:this.name,to:t||this.to};y.close(e)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(t){return"function"==typeof t?t(this.slotProps):t},sendUpdate:function(){var t=this.normalizeSlots();if(t){var e={from:this.name,to:this.to,passengers:n(t),order:this.order};y.open(e)}else this.clear()}},render:function(t){var e=this.$slots.default||this.$scopedSlots.default||[],r=this.tag;return e&&this.disabled?e.length<=1&&this.slim?this.normalizeOwnChildren(e)[0]:t(r,[this.normalizeOwnChildren(e)]):this.slim?t():t(r,{class:{"v-portal":!0},style:{display:"none"},key:"v-portal-placeholder"})}}),O=f.extend({name:"portalTarget",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},data:function(){return{transports:y.transports,firstRender:!0}},created:function(){var t=this;this.$nextTick(function(){y.registerTarget(t.name,t)})},watch:{ownTransports:function(){this.$emit("change",this.children().length>0)},name:function(t,e){y.unregisterTarget(e),y.registerTarget(t,this)}},mounted:function(){var t=this;this.transition&&this.$nextTick(function(){t.firstRender=!1})},beforeDestroy:function(){y.unregisterTarget(this.name)},computed:{ownTransports:function(){var t=this.transports[this.name]||[];return this.multiple?t:0===t.length?[]:[t[t.length-1]]},passengers:function(){return c(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!==this.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var t=this.slim&&!this.transition;return t&&this.children().length>1&&console.warn("[portal-vue]: PortalTarget with `slim` option received more than one child element."),t}},render:function(t){var e=this.noWrapper(),r=this.children(),o=this.transition||this.tag;return e?r[0]:this.slim&&!o?t():t(o,{props:{tag:this.transition&&this.tag?this.tag:void 0},class:{"vue-portal-target":!0}},r)}}),k=0,j=["disabled","name","order","slim","slotProps","tag","to"],S=["multiple","transition"],_=f.extend({name:"MountingPortal",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return"mounted_"+String(k++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},created:function(){if("undefined"!=typeof document){var t=document.querySelector(this.mountTo);if(!t)return void console.error("[portal-vue]: Mount Point '".concat(this.mountTo,"' not found in document"));var e=this.$props;if(y.targets[e.name])return void(e.bail?console.warn("[portal-vue]: Target ".concat(e.name," is already mounted.\n Aborting because 'bail: true' is set")):this.portalTarget=y.targets[e.name]);var r=e.append;if(r){var o="string"==typeof r?r:"DIV",n=document.createElement(o);t.appendChild(n),t=n}var i=d(this.$props,S);i.slim=this.targetSlim,i.tag=this.targetTag,i.slotProps=this.targetSlotProps,i.name=this.to,this.portalTarget=new O({el:t,parent:this.$parent||this,propsData:i})}},beforeDestroy:function(){var t=this.portalTarget;if(this.append){var e=t.$el;e.parentNode.removeChild(e)}t.$destroy()},render:function(t){if(!this.portalTarget)return console.warn("[portal-vue] Target wasn't mounted"),t();if(!this.$scopedSlots.manual){var e=d(this.$props,j);return t(x,{props:e,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var r=this.$scopedSlots.manual({to:this.to});return Array.isArray(r)&&(r=r[0]),r||t()}}),T={install:p};e.default=T,e.Portal=x,e.PortalTarget=O,e.MountingPortal=_,e.Wormhole=y},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(80),n=r(92),i=r(3),a=Object(i.b)({components:{BTooltip:o.a},plugins:{VBTooltipPlugin:n.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return P});var a=r(32),s=r(12),l=r(7),c=r(4),u=r(10),d=r(1),p=r(8),f=r(81),b="__BV_Tooltip__",m={focus:!0,hover:!0,click:!0,blur:!0,manual:!0},h=/^html$/i,g=/^nofade$/i,v=/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i,y=/^(window|viewport|scrollParent)$/i,w=/^d\d+$/i,x=/^ds\d+$/i,O=/^dh\d+$/i,k=/^o-?\d+$/i,j=/^v-.+$/i,S=function(t,e){var r="BTooltip",o={title:void 0,trigger:"",placement:"top",fallbackPlacement:"flip",container:!1,animation:!0,offset:0,id:null,html:!1,disabled:!1,delay:Object(c.c)(r,"delay"),boundary:String(Object(c.c)(r,"boundary")),boundaryPadding:parseInt(Object(c.c)(r,"boundaryPadding"),10)||0,variant:Object(c.c)(r,"variant"),customClass:Object(c.c)(r,"customClass")};if(Object(d.m)(t.value)||Object(d.h)(t.value)?o.title=t.value:Object(d.f)(t.value)?o.title=t.value:Object(d.j)(t.value)&&(o=n({},o,{},t.value)),Object(d.n)(o.title)){var i=e.data||{};o.title=i.attrs&&!Object(d.o)(i.attrs.title)?i.attrs.title:void 0}Object(d.j)(o.delay)||(o.delay={show:parseInt(o.delay,10)||0,hide:parseInt(o.delay,10)||0}),t.arg&&(o.container="#".concat(t.arg)),Object(p.j)(t.modifiers).forEach(function(t){if(h.test(t))o.html=!0;else if(g.test(t))o.animation=!1;else if(v.test(t))o.placement=t;else if(y.test(t))t="scrollparent"===t?"scrollParent":t,o.boundary=t;else if(w.test(t)){var e=parseInt(t.slice(1),10)||0;o.delay.show=e,o.delay.hide=e}else x.test(t)?o.delay.show=parseInt(t.slice(2),10)||0:O.test(t)?o.delay.hide=parseInt(t.slice(2),10)||0:k.test(t)?o.offset=parseInt(t.slice(1),10)||0:j.test(t)&&(o.variant=t.slice(2)||null)});var a={};return Object(l.b)(o.trigger||"").filter(Boolean).join(" ").trim().toLowerCase().split(/\s+/).forEach(function(t){m[t]&&(a[t]=!0)}),Object(p.j)(t.modifiers).forEach(function(t){t=t.toLowerCase(),m[t]&&(a[t]=!0)}),o.trigger=Object(p.j)(a).join(" "),"blur"===o.trigger&&(o.trigger="focus"),o.trigger||(o.trigger="hover focus"),o},_=function(t,e,r){if(u.j){var o=S(e,r);if(!t[b]){var n=r.context;t[b]=new f.a({parent:n,_scopeId:Object(a.a)(n,void 0)}),t[b].__bv_prev_data__={},t[b].$on("show",function(){Object(d.f)(o.title)&&t[b].updateData({title:o.title()})})}var i={title:o.title,triggers:o.trigger,placement:o.placement,fallbackPlacement:o.fallbackPlacement,variant:o.variant,customClass:o.customClass,container:o.container,boundary:o.boundary,delay:o.delay,offset:o.offset,noFade:!o.animation,id:o.id,disabled:o.disabled,html:o.html},l=t[b].__bv_prev_data__;if(t[b].__bv_prev_data__=i,!Object(s.a)(i,l)){var c={target:t};Object(p.j)(i).forEach(function(t){i[t]!==l[t]&&(c[t]="title"===t&&Object(d.f)(i[t])?i[t]():i[t])}),t[b].updateData(c)}}},T=function(t){t[b]&&(t[b].$destroy(),t[b]=null),delete t[b]},P={bind:function(t,e,r){_(t,e,r)},componentUpdated:function(t,e,r){r.context.$nextTick(function(){_(t,e,r)})},unbind:function(t){T(t)}}},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(78),n=r(3),i=Object(n.b)({directives:{VBModal:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(221),n=r(3),i=Object(n.b)({directives:{VBScrollspy:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(274),n=r(10),i=r(8),a=r(1),s="__BV_ScrollSpy__",l=function(t){var e={};return t.arg&&(e.element="#".concat(t.arg)),Object(i.j)(t.modifiers).forEach(function(t){/^\d+$/.test(t)?e.offset=parseInt(t,10):/^(auto|position|offset)$/.test(t)&&(e.method=t)}),Object(a.m)(t.value)?e.element=t.value:Object(a.h)(t.value)?e.offset=Math.round(t.value):Object(a.i)(t.value)&&Object(i.j)(t.value).filter(function(t){return Boolean(o.a.DefaultType[t])}).forEach(function(r){e[r]=t.value[r]}),e},c=function(t,e,r){if(n.j){var i=l(e);t[s]?t[s].updateConfig(i,r.context.$root):t[s]=new o.a(t,i,r.context.$root)}},u=function(t){t[s]&&(t[s].dispose(),t[s]=null,delete t[s])},d={bind:function(t,e,r){c(t,e,r)},inserted:function(t,e,r){c(t,e,r)},update:function(t,e,r){e.value!==e.oldValue&&c(t,e,r)},componentUpdated:function(t,e,r){e.value!==e.oldValue&&c(t,e,r)},unbind:function(t){u(t)}}},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(63),n=r(3),i=Object(n.b)({directives:{VBToggle:o.a}})},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=r(50),n=r(226),i=r(246),a=r(276),s=(r.n(a),r(278)),l=(r.n(s),r(280)),c=(r.n(l),r(282));r.n(c);o.default.use(i.a),new o.default({el:"#ocrd-kwalitee",render:function(t){return t(n.a)}})},function(t,e,r){(function(t){function o(t,e){this._id=t,this._clearFn=e}var n=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;e.setTimeout=function(){return new o(i.call(setTimeout,n,arguments),clearTimeout)},e.setInterval=function(){return new o(i.call(setInterval,n,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(n,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},r(225),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(e,r(25))},function(t,e,r){(function(t,e){!function(t,r){"use strict";function o(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),r=0;r<e.length;r++)e[r]=arguments[r+1];var o={callback:t,args:e};return c[l]=o,s(l),l++}function n(t){delete c[t]}function i(t){var e=t.callback,o=t.args;switch(o.length){case 0:e();break;case 1:e(o[0]);break;case 2:e(o[0],o[1]);break;case 3:e(o[0],o[1],o[2]);break;default:e.apply(r,o)}}function a(t){if(u)setTimeout(a,0,t);else{var e=c[t];if(e){u=!0;try{i(e)}finally{n(t),u=!1}}}}if(!t.setImmediate){var s,l=1,c={},u=!1,d=t.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(t);p=p&&p.setTimeout?p:t,"[object process]"==={}.toString.call(t.process)?function(){s=function(t){e.nextTick(function(){a(t)})}}():function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?function(){var e="setImmediate$"+Math.random()+"$",r=function(r){r.source===t&&"string"==typeof r.data&&0===r.data.indexOf(e)&&a(+r.data.slice(e.length))};t.addEventListener?t.addEventListener("message",r,!1):t.attachEvent("onmessage",r),s=function(r){t.postMessage(e+r,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){a(t.data)},s=function(e){t.port2.postMessage(e)}}():d&&"onreadystatechange"in d.createElement("script")?function(){var t=d.documentElement;s=function(e){var r=d.createElement("script");r.onreadystatechange=function(){a(e),r.onreadystatechange=null,t.removeChild(r),r=null},t.appendChild(r)}}():function(){s=function(t){setTimeout(a,0,t)}}(),p.setImmediate=o,p.clearImmediate=n}}("undefined"==typeof self?void 0===t?this:t:self)}).call(e,r(25),r(93))},function(t,e,r){"use strict";function o(t){r(227)}var n=r(94),i=r(245),a=r(29),s=o,l=a(n.a,i.a,!1,s,null,null);e.a=l.exports},function(t,e,r){var o=r(228);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("60906c09",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,"",""])},function(t,e){t.exports=function(t,e){for(var r=[],o={},n=0;n<e.length;n++){var i=e[n],a=i[0],s=i[1],l=i[2],c=i[3],u={id:t+":"+n,css:s,media:l,sourceMap:c};o[a]?o[a].parts.push(u):r.push(o[a]={id:a,parts:[u]})}return r}},function(t,e,r){"use strict";var o=r(95),n=r(233),i=r(29),a=i(o.a,n.a,!1,null,null,null);e.a=a.exports},function(t,e,r){"use strict";var o=r(96),n=r(232),i=r(29),a=i(o.a,n.a,!1,null,null,null);e.a=a.exports},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("b-card",{staticClass:"mb-5",attrs:{tag:"article",title:t.processor.executable.replace("ocrd-","")}},[r("b-card-text",[r("b-tabs",[r("b-tab",{attrs:{title:"Description"}},[r("blockquote",[t._v("\n "+t._s(t.processor.description)+"\n ")]),t._v(" "),t._l(t.processor.steps,function(e){return r("b-badge",{attrs:{variant:"info"}},[t._v(t._s(e))])}),t._v(" "),t._l(t.processor.categories,function(e){return r("b-badge",{attrs:{variant:"success"}},[t._v(t._s(e))])}),t._v(" "),r("p",[t._v("\n Part of "),r("a",{attrs:{href:""}},[t._v(t._s(t.processor.part_of))])]),t._v(" "),r("p",[r("a",{attrs:{href:""}},[t._v("Read the Documentation!")])])],2),t._v(" "),r("b-tab",{attrs:{title:"Parameters"}},[r("ul",t._l(t.processor.parameters,function(e,o){return r("li",[r("strong",[t._v(t._s(o))]),t._v(" "+t._s(e)+"\n ")])}),0)])],1)],1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",[r("b-row",[t._v("\n Filter by category:\n "),t._l(t.categories,function(e){return r("b-badge",{attrs:{variant:-1!=t.category_filter.indexOf(e)?"primary":"secondary"},on:{click:function(r){-1!=t.category_filter.indexOf(e)?t.category_filter.splice(t.category_filter.indexOf(e),1):t.category_filter.push(e)}}},[t._v("\n "+t._s(e)+"\n ")])})],2),t._v(" "),r("b-row",[t._v("\n Filter by step:\n "),t._l(t.steps,function(e){return r("b-badge",{attrs:{variant:-1!=t.step_filter.indexOf(e)?"primary":"secondary"},on:{click:function(r){-1!=t.step_filter.indexOf(e)?t.step_filter.splice(t.step_filter.indexOf(e),1):t.step_filter.push(e)}}},[t._v("\n "+t._s(e)+"\n ")])})],2),t._v(" "),r("b-row",t._l(t.processors,function(t){return r("ocrd-processor-list-item",{attrs:{processor:t}})}),1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";function o(t){r(235)}var n=r(97),i=r(244),a=r(29),s=o,l=a(n.a,i.a,!1,s,null,null);e.a=l.exports},function(t,e,r){var o=r(236);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("f556dce2",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,"",""])},function(t,e,r){"use strict";function o(t){r(238)}var n=r(98),i=r(243),a=r(29),s=o,l=a(n.a,i.a,!1,s,null,null);e.a=l.exports},function(t,e,r){var o=r(239);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("4bf4d0be",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,".ocrd-project-list-item{max-width:30rem;max-height:30rem;overflow:auto}",""])},function(t,e,r){(function(e){!function(e){"use strict";function r(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||y.defaults,this.rules=w.normal,this.options.pedantic?this.rules=w.pedantic:this.options.gfm&&(this.rules=w.gfm)}function o(t,e){if(this.options=e||y.defaults,this.links=t,this.rules=x.normal,this.renderer=this.options.renderer||new n,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.pedantic?this.rules=x.pedantic:this.options.gfm&&(this.options.breaks?this.rules=x.breaks:this.rules=x.gfm)}function n(t){this.options=t||y.defaults}function i(){}function a(t){this.tokens=[],this.token=null,this.options=t||y.defaults,this.options.renderer=this.options.renderer||new n,this.renderer=this.options.renderer,this.renderer.options=this.options,this.slugger=new s}function s(){this.seen={}}function l(t,e){if(e){if(l.escapeTest.test(t))return t.replace(l.escapeReplace,function(t){return l.replacements[t]})}else if(l.escapeTestNoEncode.test(t))return t.replace(l.escapeReplaceNoEncode,function(t){return l.replacements[t]});return t}function c(t){return t.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(t,e){return e=e.toLowerCase(),"colon"===e?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}function u(t,e){return t=t.source||t,e=e||"",{replace:function(e,r){return r=r.source||r,r=r.replace(/(^|[^\[])\^/g,"$1"),t=t.replace(e,r),this},getRegex:function(){return new RegExp(t,e)}}}function d(t,e,r){if(t){try{var o=decodeURIComponent(c(r)).replace(/[^\w:]/g,"").toLowerCase()}catch(t){return null}if(0===o.indexOf("javascript:")||0===o.indexOf("vbscript:")||0===o.indexOf("data:"))return null}e&&!k.test(r)&&(r=p(e,r));try{r=encodeURI(r).replace(/%25/g,"%")}catch(t){return null}return r}function p(t,e){return O[" "+t]||(/^[^:]+:\/*[^\/]*$/.test(t)?O[" "+t]=t+"/":O[" "+t]=h(t,"/",!0)),t=O[" "+t],"//"===e.slice(0,2)?t.replace(/:[\s\S]*/,":")+e:"/"===e.charAt(0)?t.replace(/(:\/*[^\/]*)[\s\S]*/,"$1")+e:t+e}function f(){}function b(t){for(var e,r,o=1;o<arguments.length;o++){e=arguments[o];for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t}function m(t,e){var r=t.replace(/\|/g,function(t,e,r){for(var o=!1,n=e;--n>=0&&"\\"===r[n];)o=!o;return o?"|":" |"}),o=r.split(/ \|/),n=0;if(o.length>e)o.splice(e);else for(;o.length<e;)o.push("");for(;n<o.length;n++)o[n]=o[n].trim().replace(/\\\|/g,"|");return o}function h(t,e,r){if(0===t.length)return"";for(var o=0;o<t.length;){var n=t.charAt(t.length-o-1);if(n!==e||r){if(n===e||!r)break;o++}else o++}return t.substr(0,t.length-o)}function g(t,e){if(-1===t.indexOf(e[1]))return-1;for(var r=0,o=0;o<t.length;o++)if("\\"===t[o])o++;else if(t[o]===e[0])r++;else if(t[o]===e[1]&&--r<0)return o;return-1}function v(t){t&&t.sanitize&&!t.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function y(t,e,o){if(void 0===t||null===t)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof t)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected");if(o||"function"==typeof e){o||(o=e,e=null),e=b({},y.defaults,e||{}),v(e);var n,i,s=e.highlight,c=0;try{n=r.lex(t,e)}catch(t){return o(t)}i=n.length;var u=function(t){if(t)return e.highlight=s,o(t);var r;try{r=a.parse(n,e)}catch(e){t=e}return e.highlight=s,t?o(t):o(null,r)};if(!s||s.length<3)return u();if(delete e.highlight,!i)return u();for(;c<n.length;c++)!function(t){"code"!==t.type?--i||u():s(t.text,t.lang,function(e,r){return e?u(e):null==r||r===t.text?--i||u():(t.text=r,t.escaped=!0,void(--i||u()))})}(n[c])}else try{return e&&(e=b({},y.defaults,e)),v(e),a.parse(r.lex(t,e),e)}catch(t){if(t.message+="\nPlease report this to https://github.com/markedjs/marked.",(e||y.defaults).silent)return"<p>An error occurred:</p><pre>"+l(t.message+"",!0)+"</pre>";throw t}}var w={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|<![A-Z][\\s\\S]*?>\\n*|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:f,table:f,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};w._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,w._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,w.def=u(w.def).replace("label",w._label).replace("title",w._title).getRegex(),w.bullet=/(?:[*+-]|\d{1,9}\.)/,w.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,w.item=u(w.item,"gm").replace(/bull/g,w.bullet).getRegex(),w.list=u(w.list).replace(/bull/g,w.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+w.def.source+")").getRegex(),w._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",w._comment=/<!--(?!-?>)[\s\S]*?-->/,w.html=u(w.html,"i").replace("comment",w._comment).replace("tag",w._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),w.paragraph=u(w._paragraph).replace("hr",w.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",w._tag).getRegex(),w.blockquote=u(w.blockquote).replace("paragraph",w.paragraph).getRegex(),w.normal=b({},w),w.gfm=b({},w.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),w.pedantic=b({},w.normal,{html:u("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",w._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:f,paragraph:u(w.normal._paragraph).replace("hr",w.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",w.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),r.rules=w,r.lex=function(t,e){return new r(e).lex(t)},r.prototype.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(t,!0)},r.prototype.token=function(t,e){t=t.replace(/^ +$/gm,"");for(var r,o,n,i,a,s,c,u,d,p,f,b,g,v,y,x;t;)if((n=this.rules.newline.exec(t))&&(t=t.substring(n[0].length),n[0].length>1&&this.tokens.push({type:"space"})),n=this.rules.code.exec(t)){var O=this.tokens[this.tokens.length-1];t=t.substring(n[0].length),O&&"paragraph"===O.type?O.text+="\n"+n[0].trimRight():(n=n[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",codeBlockStyle:"indented",text:this.options.pedantic?n:h(n,"\n")}))}else if(n=this.rules.fences.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"code",lang:n[2]?n[2].trim():n[2],text:n[3]||""});else if(n=this.rules.heading.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"heading",depth:n[1].length,text:n[2]});else if((n=this.rules.nptable.exec(t))&&(s={type:"table",header:m(n[1].replace(/^ *| *\| *$/g,"")),align:n[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:n[3]?n[3].replace(/\n$/,"").split("\n"):[]},s.header.length===s.align.length)){for(t=t.substring(n[0].length),f=0;f<s.align.length;f++)/^ *-+: *$/.test(s.align[f])?s.align[f]="right":/^ *:-+: *$/.test(s.align[f])?s.align[f]="center":/^ *:-+ *$/.test(s.align[f])?s.align[f]="left":s.align[f]=null;for(f=0;f<s.cells.length;f++)s.cells[f]=m(s.cells[f],s.header.length);this.tokens.push(s)}else if(n=this.rules.hr.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"hr"});else if(n=this.rules.blockquote.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"blockquote_start"}),n=n[0].replace(/^ *> ?/gm,""),this.token(n,e),this.tokens.push({type:"blockquote_end"});else if(n=this.rules.list.exec(t)){for(t=t.substring(n[0].length),i=n[2],v=i.length>1,c={type:"list_start",ordered:v,start:v?+i:"",loose:!1},this.tokens.push(c),n=n[0].match(this.rules.item),u=[],r=!1,g=n.length,f=0;f<g;f++)s=n[f],p=s.length,s=s.replace(/^ *([*+-]|\d+\.) */,""),~s.indexOf("\n ")&&(p-=s.length,s=this.options.pedantic?s.replace(/^ {1,4}/gm,""):s.replace(new RegExp("^ {1,"+p+"}","gm"),"")),f!==g-1&&(a=w.bullet.exec(n[f+1])[0],(i.length>1?1===a.length:a.length>1||this.options.smartLists&&a!==i)&&(t=n.slice(f+1).join("\n")+t,f=g-1)),o=r||/\n\n(?!\s*$)/.test(s),f!==g-1&&(r="\n"===s.charAt(s.length-1),o||(o=r)),o&&(c.loose=!0),y=/^\[[ xX]\] /.test(s),x=void 0,y&&(x=" "!==s[1],s=s.replace(/^\[[ xX]\] +/,"")),d={type:"list_item_start",task:y,checked:x,loose:o},u.push(d),this.tokens.push(d),this.token(s,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(g=u.length,f=0;f<g;f++)u[f].loose=!0;this.tokens.push({type:"list_end"})}else if(n=this.rules.html.exec(t))t=t.substring(n[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===n[1]||"script"===n[1]||"style"===n[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):l(n[0]):n[0]});else if(e&&(n=this.rules.def.exec(t)))t=t.substring(n[0].length),n[3]&&(n[3]=n[3].substring(1,n[3].length-1)),b=n[1].toLowerCase().replace(/\s+/g," "),this.tokens.links[b]||(this.tokens.links[b]={href:n[2],title:n[3]});else if((n=this.rules.table.exec(t))&&(s={type:"table",header:m(n[1].replace(/^ *| *\| *$/g,"")),align:n[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:n[3]?n[3].replace(/\n$/,"").split("\n"):[]},s.header.length===s.align.length)){for(t=t.substring(n[0].length),f=0;f<s.align.length;f++)/^ *-+: *$/.test(s.align[f])?s.align[f]="right":/^ *:-+: *$/.test(s.align[f])?s.align[f]="center":/^ *:-+ *$/.test(s.align[f])?s.align[f]="left":s.align[f]=null;for(f=0;f<s.cells.length;f++)s.cells[f]=m(s.cells[f].replace(/^ *\| *| *\| *$/g,""),s.header.length);this.tokens.push(s)}else if(n=this.rules.lheading.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"heading",depth:"="===n[2].charAt(0)?1:2,text:n[1]});else if(e&&(n=this.rules.paragraph.exec(t)))t=t.substring(n[0].length),this.tokens.push({type:"paragraph",text:"\n"===n[1].charAt(n[1].length-1)?n[1].slice(0,-1):n[1]});else if(n=this.rules.text.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"text",text:n[0]});else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0));return this.tokens};var x={escape:/^\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:f,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:f,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n))|(?= {2,}\n))/};x._punctuation="!\"#$%&'()*+,\\-./:;<=>?@\\[^_{|}~",x.em=u(x.em).replace(/punctuation/g,x._punctuation).getRegex(),x._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,x._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,x._email=/[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,x.autolink=u(x.autolink).replace("scheme",x._scheme).replace("email",x._email).getRegex(),x._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,x.tag=u(x.tag).replace("comment",w._comment).replace("attribute",x._attribute).getRegex(),x._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,x._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,x._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,x.link=u(x.link).replace("label",x._label).replace("href",x._href).replace("title",x._title).getRegex(),x.reflink=u(x.reflink).replace("label",x._label).getRegex(),x.normal=b({},x),x.pedantic=b({},x.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:u(/^!?\[(label)\]\((.*?)\)/).replace("label",x._label).getRegex(),reflink:u(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",x._label).getRegex()}),x.gfm=b({},x.normal,{escape:u(x.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?= {2,}\n|[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),x.gfm.url=u(x.gfm.url,"i").replace("email",x.gfm._extended_email).getRegex(),x.breaks=b({},x.gfm,{br:u(x.br).replace("{2,}","*").getRegex(),text:u(x.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),o.rules=x,o.output=function(t,e,r){return new o(e,r).output(t)},o.prototype.output=function(t){for(var e,r,n,i,a,s,c="";t;)if(a=this.rules.escape.exec(t))t=t.substring(a[0].length),c+=l(a[1]);else if(a=this.rules.tag.exec(t))!this.inLink&&/^<a /i.test(a[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(a[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(a[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(a[0])&&(this.inRawBlock=!1),t=t.substring(a[0].length),c+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):l(a[0]):a[0];else if(a=this.rules.link.exec(t)){var u=g(a[2],"()");if(u>-1){var d=4+a[1].length+u;a[2]=a[2].substring(0,u),a[0]=a[0].substring(0,d).trim(),a[3]=""}t=t.substring(a[0].length),this.inLink=!0,n=a[2],this.options.pedantic?(e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n),e?(n=e[1],i=e[3]):i=""):i=a[3]?a[3].slice(1,-1):"",n=n.trim().replace(/^<([\s\S]*)>$/,"$1"),c+=this.outputLink(a,{href:o.escapes(n),title:o.escapes(i)}),this.inLink=!1}else if((a=this.rules.reflink.exec(t))||(a=this.rules.nolink.exec(t))){if(t=t.substring(a[0].length),e=(a[2]||a[1]).replace(/\s+/g," "),!(e=this.links[e.toLowerCase()])||!e.href){c+=a[0].charAt(0),t=a[0].substring(1)+t;continue}this.inLink=!0,c+=this.outputLink(a,e),this.inLink=!1}else if(a=this.rules.strong.exec(t))t=t.substring(a[0].length),c+=this.renderer.strong(this.output(a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.em.exec(t))t=t.substring(a[0].length),c+=this.renderer.em(this.output(a[6]||a[5]||a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.code.exec(t))t=t.substring(a[0].length),c+=this.renderer.codespan(l(a[2].trim(),!0));else if(a=this.rules.br.exec(t))t=t.substring(a[0].length),c+=this.renderer.br();else if(a=this.rules.del.exec(t))t=t.substring(a[0].length),c+=this.renderer.del(this.output(a[1]));else if(a=this.rules.autolink.exec(t))t=t.substring(a[0].length),"@"===a[2]?(r=l(this.mangle(a[1])),n="mailto:"+r):(r=l(a[1]),n=r),c+=this.renderer.link(n,null,r);else if(this.inLink||!(a=this.rules.url.exec(t))){if(a=this.rules.text.exec(t))t=t.substring(a[0].length),this.inRawBlock?c+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):l(a[0]):a[0]):c+=this.renderer.text(l(this.smartypants(a[0])));else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}else{if("@"===a[2])r=l(a[0]),n="mailto:"+r;else{do{s=a[0],a[0]=this.rules._backpedal.exec(a[0])[0]}while(s!==a[0]);r=l(a[0]),n="www."===a[1]?"http://"+r:r}t=t.substring(a[0].length),c+=this.renderer.link(n,null,r)}return c},o.escapes=function(t){return t?t.replace(o.rules._escapes,"$1"):t},o.prototype.outputLink=function(t,e){var r=e.href,o=e.title?l(e.title):null;return"!"!==t[0].charAt(0)?this.renderer.link(r,o,this.output(t[1])):this.renderer.image(r,o,l(t[1]))},o.prototype.smartypants=function(t){return this.options.smartypants?t.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"â€").replace(/\.{3}/g,"…"):t},o.prototype.mangle=function(t){if(!this.options.mangle)return t;for(var e,r="",o=t.length,n=0;n<o;n++)e=t.charCodeAt(n),Math.random()>.5&&(e="x"+e.toString(16)),r+="&#"+e+";";return r},n.prototype.code=function(t,e,r){var o=(e||"").match(/\S*/)[0];if(this.options.highlight){var n=this.options.highlight(t,o);null!=n&&n!==t&&(r=!0,t=n)}return o?'<pre><code class="'+this.options.langPrefix+l(o,!0)+'">'+(r?t:l(t,!0))+"</code></pre>\n":"<pre><code>"+(r?t:l(t,!0))+"</code></pre>"},n.prototype.blockquote=function(t){return"<blockquote>\n"+t+"</blockquote>\n"},n.prototype.html=function(t){return t},n.prototype.heading=function(t,e,r,o){return this.options.headerIds?"<h"+e+' id="'+this.options.headerPrefix+o.slug(r)+'">'+t+"</h"+e+">\n":"<h"+e+">"+t+"</h"+e+">\n"},n.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},n.prototype.list=function(t,e,r){var o=e?"ol":"ul";return"<"+o+(e&&1!==r?' start="'+r+'"':"")+">\n"+t+"</"+o+">\n"},n.prototype.listitem=function(t){return"<li>"+t+"</li>\n"},n.prototype.checkbox=function(t){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},n.prototype.paragraph=function(t){return"<p>"+t+"</p>\n"},n.prototype.table=function(t,e){return e&&(e="<tbody>"+e+"</tbody>"),"<table>\n<thead>\n"+t+"</thead>\n"+e+"</table>\n"},n.prototype.tablerow=function(t){return"<tr>\n"+t+"</tr>\n"},n.prototype.tablecell=function(t,e){var r=e.header?"th":"td";return(e.align?"<"+r+' align="'+e.align+'">':"<"+r+">")+t+"</"+r+">\n"},n.prototype.strong=function(t){return"<strong>"+t+"</strong>"},n.prototype.em=function(t){return"<em>"+t+"</em>"},n.prototype.codespan=function(t){return"<code>"+t+"</code>"},n.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},n.prototype.del=function(t){return"<del>"+t+"</del>"},n.prototype.link=function(t,e,r){if(null===(t=d(this.options.sanitize,this.options.baseUrl,t)))return r;var o='<a href="'+l(t)+'"';return e&&(o+=' title="'+e+'"'),o+=">"+r+"</a>"},n.prototype.image=function(t,e,r){if(null===(t=d(this.options.sanitize,this.options.baseUrl,t)))return r;var o='<img src="'+t+'" alt="'+r+'"';return e&&(o+=' title="'+e+'"'),o+=this.options.xhtml?"/>":">"},n.prototype.text=function(t){return t},i.prototype.strong=i.prototype.em=i.prototype.codespan=i.prototype.del=i.prototype.text=function(t){return t},i.prototype.link=i.prototype.image=function(t,e,r){return""+r},i.prototype.br=function(){return""},a.parse=function(t,e){return new a(e).parse(t)},a.prototype.parse=function(t){this.inline=new o(t.links,this.options),this.inlineText=new o(t.links,b({},this.options,{renderer:new i})),this.tokens=t.reverse();for(var e="";this.next();)e+=this.tok();return e},a.prototype.next=function(){return this.token=this.tokens.pop(),this.token},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var t=this.token.text;"text"===this.peek().type;)t+="\n"+this.next().text;return this.inline.output(t)},a.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,e,r,o,n="",i="";for(r="",t=0;t<this.token.header.length;t++)r+=this.renderer.tablecell(this.inline.output(this.token.header[t]),{header:!0,align:this.token.align[t]});for(n+=this.renderer.tablerow(r),t=0;t<this.token.cells.length;t++){for(e=this.token.cells[t],r="",o=0;o<e.length;o++)r+=this.renderer.tablecell(this.inline.output(e[o]),{header:!1,align:this.token.align[o]});i+=this.renderer.tablerow(r)}return this.renderer.table(n,i);case"blockquote_start":for(i="";"blockquote_end"!==this.next().type;)i+=this.tok();return this.renderer.blockquote(i);case"list_start":i="";for(var a=this.token.ordered,s=this.token.start;"list_end"!==this.next().type;)i+=this.tok();return this.renderer.list(i,a,s);case"list_item_start":i="";var l=this.token.loose,u=this.token.checked,d=this.token.task;for(this.token.task&&(i+=this.renderer.checkbox(u));"list_item_end"!==this.next().type;)i+=l||"text"!==this.token.type?this.tok():this.parseText();return this.renderer.listitem(i,d,u);case"html":return this.renderer.html(this.token.text);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText());default:var p='Token with "'+this.token.type+'" type was not found.';if(!this.options.silent)throw new Error(p);console.log(p)}},s.prototype.slug=function(t){var e=t.toLowerCase().trim().replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(e)){var r=e;do{this.seen[r]++,e=r+"-"+this.seen[r]}while(this.seen.hasOwnProperty(e))}return this.seen[e]=0,e},l.escapeTest=/[&<>"']/,l.escapeReplace=/[&<>"']/g,l.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},l.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,l.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var O={},k=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;f.exec=f,y.options=y.setOptions=function(t){return b(y.defaults,t),y},y.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new n,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},y.defaults=y.getDefaults(),y.Parser=a,y.parser=a.parse,y.Renderer=n,y.TextRenderer=i,y.Lexer=r,y.lexer=r.lex,y.InlineLexer=o,y.inlineLexer=o.output,y.Slugger=s,y.parse=y,t.exports=y}(this||"undefined"!=typeof window&&window)}).call(e,r(25))},function(t,e,r){"use strict";(function(t,o){function n(t){s.highlightAllUnder(t)}function i(t){i.installed||(i.installed=!0,t.directive("highlight",n))}r.d(e,"a",function(){return l});var a={},s=function(){var t=/\blang(?:uage)?-([\w-]+)\b/i,e=0,r=a.Prism={manual:a.Prism&&a.Prism.manual,disableWorkerMessageHandler:a.Prism&&a.Prism.disableWorkerMessageHandler,util:{encode:function(t){return t instanceof o?new o(t.type,r.util.encode(t.content),t.alias):"Array"===r.util.type(t)?t.map(r.util.encode):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).match(/\[object (\w+)\]/)[1]},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++e}),t.__id},clone:function(t,e){var o=r.util.type(t);switch(e=e||{},o){case"Object":if(e[r.util.objId(t)])return e[r.util.objId(t)];var n={};e[r.util.objId(t)]=n;for(var i in t)t.hasOwnProperty(i)&&(n[i]=r.util.clone(t[i],e));return n;case"Array":if(e[r.util.objId(t)])return e[r.util.objId(t)];var n=[];return e[r.util.objId(t)]=n,t.forEach(function(t,o){n[o]=r.util.clone(t,e)}),n}return t}},languages:{extend:function(t,e){var o=r.util.clone(r.languages[t]);for(var n in e)o[n]=e[n];return o},insertBefore:function(t,e,o,n){n=n||r.languages;var i=n[t];if(2==arguments.length){o=arguments[1];for(var a in o)o.hasOwnProperty(a)&&(i[a]=o[a]);return i}var s={};for(var l in i)if(i.hasOwnProperty(l)){if(l==e)for(var a in o)o.hasOwnProperty(a)&&(s[a]=o[a]);s[l]=i[l]}return r.languages.DFS(r.languages,function(e,r){r===n[t]&&e!=t&&(this[e]=s)}),n[t]=s},DFS:function(t,e,o,n){n=n||{};for(var i in t)t.hasOwnProperty(i)&&(e.call(t,i,t[i],o||i),"Object"!==r.util.type(t[i])||n[r.util.objId(t[i])]?"Array"!==r.util.type(t[i])||n[r.util.objId(t[i])]||(n[r.util.objId(t[i])]=!0,r.languages.DFS(t[i],e,i,n)):(n[r.util.objId(t[i])]=!0,r.languages.DFS(t[i],e,null,n)))}},plugins:{},highlightAll:function(t,e){r.highlightAllUnder(document,t,e)},highlightAllUnder:function(t,e,o){var n={callback:o,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",n);for(var i,a=n.elements||t.querySelectorAll(n.selector),s=0;i=a[s++];)r.highlightElement(i,!0===e,n.callback)},highlightElement:function(e,o,n){for(var i,s,l=e;l&&!t.test(l.className);)l=l.parentNode;l&&(i=(l.className.match(t)||[,""])[1].toLowerCase(),s=r.languages[i]),e.className=e.className.replace(t,"").replace(/\s+/g," ")+" language-"+i,e.parentNode&&(l=e.parentNode,/pre/i.test(l.nodeName)&&(l.className=l.className.replace(t,"").replace(/\s+/g," ")+" language-"+i));var c=e.textContent,u={element:e,language:i,grammar:s,code:c};if(r.hooks.run("before-sanity-check",u),!u.code||!u.grammar)return u.code&&(r.hooks.run("before-highlight",u),u.element.textContent=u.code,r.hooks.run("after-highlight",u)),void r.hooks.run("complete",u);if(r.hooks.run("before-highlight",u),o&&a.Worker){var d=new Worker(r.filename);d.onmessage=function(t){u.highlightedCode=t.data,r.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,n&&n.call(u.element),r.hooks.run("after-highlight",u),r.hooks.run("complete",u)},d.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else u.highlightedCode=r.highlight(u.code,u.grammar,u.language),r.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,n&&n.call(e),r.hooks.run("after-highlight",u),r.hooks.run("complete",u)},highlight:function(t,e,n){var i={code:t,grammar:e,language:n};return r.hooks.run("before-tokenize",i),i.tokens=r.tokenize(i.code,i.grammar),r.hooks.run("after-tokenize",i),o.stringify(r.util.encode(i.tokens),i.language)},matchGrammar:function(t,e,o,n,i,a,s){var l=r.Token;for(var c in o)if(o.hasOwnProperty(c)&&o[c]){if(c==s)return;var u=o[c];u="Array"===r.util.type(u)?u:[u];for(var d=0;d<u.length;++d){var p=u[d],f=p.inside,b=!!p.lookbehind,m=!!p.greedy,h=0,g=p.alias;if(m&&!p.pattern.global){var v=p.pattern.toString().match(/[imuy]*$/)[0];p.pattern=RegExp(p.pattern.source,v+"g")}p=p.pattern||p;for(var y=n,w=i;y<e.length;w+=e[y].length,++y){var x=e[y];if(e.length>t.length)return;if(!(x instanceof l)){if(m&&y!=e.length-1){p.lastIndex=w;var O=p.exec(t);if(!O)break;for(var k=O.index+(b?O[1].length:0),j=O.index+O[0].length,S=y,_=w,T=e.length;S<T&&(_<j||!e[S].type&&!e[S-1].greedy);++S)_+=e[S].length,k>=_&&(++y,w=_);if(e[y]instanceof l)continue;P=S-y,x=t.slice(w,_),O.index-=w}else{p.lastIndex=0;var O=p.exec(x),P=1}if(O){b&&(h=O[1]?O[1].length:0);var k=O.index+h,O=O[0].slice(h),j=k+O.length,C=x.slice(0,k),$=x.slice(j),B=[y,P];C&&(++y,w+=C.length,B.push(C));var E=new l(c,f?r.tokenize(O,f):O,g,O,m);if(B.push(E),$&&B.push($),Array.prototype.splice.apply(e,B),1!=P&&r.matchGrammar(t,e,o,y,w,!0,c),a)break}else if(a)break}}}}},tokenize:function(t,e,o){var n=[t],i=e.rest;if(i){for(var a in i)e[a]=i[a];delete e.rest}return r.matchGrammar(t,n,e,0,0,!1),n},hooks:{all:{},add:function(t,e){var o=r.hooks.all;o[t]=o[t]||[],o[t].push(e)},run:function(t,e){var o=r.hooks.all[t];if(o&&o.length)for(var n,i=0;n=o[i++];)n(e)}}},o=r.Token=function(t,e,r,o,n){this.type=t,this.content=e,this.alias=r,this.length=0|(o||"").length,this.greedy=!!n};return o.stringify=function(t,e,n){if("string"==typeof t)return t;if("Array"===r.util.type(t))return t.map(function(r){return o.stringify(r,e,t)}).join("");var i={type:t.type,content:o.stringify(t.content,e,n),tag:"span",classes:["token",t.type],attributes:{},language:e,parent:n};if(t.alias){var a="Array"===r.util.type(t.alias)?t.alias:[t.alias];Array.prototype.push.apply(i.classes,a)}r.hooks.run("wrap",i);var s=Object.keys(i.attributes).map(function(t){return t+'="'+(i.attributes[t]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(s?" "+s:"")+">"+i.content+"</"+i.tag+">"},a.document?a.Prism:a.addEventListener?(r.disableWorkerMessageHandler||a.addEventListener("message",function(t){var e=JSON.parse(t.data),o=e.language,n=e.code,i=e.immediateClose;a.postMessage(r.highlight(n,r.languages[o],o)),i&&a.close()},!1),a.Prism):a.Prism}();void 0!==t&&t.exports&&(t.exports=s),void 0!==o&&(o.Prism=s),s.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:/<!DOCTYPE[\s\S]+?>/i,cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},s.languages.markup.tag.inside["attr-value"].inside.entity=s.languages.markup.entity,s.hooks.add("wrap",function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&/,"&"))}),s.languages.xml=s.languages.markup,s.languages.html=s.languages.markup,s.languages.mathml=s.languages.markup,s.languages.svg=s.languages.markup,s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},s.languages.css.atrule.inside.rest=s.languages.css,s.languages.markup&&(s.languages.insertBefore("markup","tag",{style:{pattern:/(<style[\s\S]*?>)[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:s.languages.css,alias:"language-css",greedy:!0}}),s.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:s.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:s.languages.css}},alias:"language-css"}},s.languages.markup.tag)),s.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},s.languages.javascript=s.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,function:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),s.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[[^\]\r\n]+]|\\.|[^\/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"},constant:/\b[A-Z][A-Z\d_]*\b/}),s.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\${[^}]+}/,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}}}),s.languages.javascript["template-string"].inside.interpolation.inside.rest=s.languages.javascript,s.languages.markup&&s.languages.insertBefore("markup","tag",{script:{pattern:/(<script[\s\S]*?>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:s.languages.javascript,alias:"language-javascript",greedy:!0}}),s.languages.js=s.languages.javascript,function(){if("undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.styleSheet?e.styleSheet.cssText="":e.appendChild(document.createTextNode("")),t.appendChild(e)}}();var l={render:function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{ref:"codeBlock"},[r("pre",{class:t.languageClass},[r("code",[t._t("default")],2)])])},staticRenderFns:[],name:"code-highlight",props:{language:{type:String,default:"javascript"}},computed:{languageClass:function(){return"language-"+this.language}},mounted:function(){s.highlightAllUnder(this.$refs.codeBlock)},beforeUpdate:function(){var t=this.$slots.default[0].text.replace(/^[\r\n\s]*|[\r\n\s]*$/g,"");this.$el.querySelector("code").textContent=t,s.highlightAllUnder(this.$refs.codeBlock)}},c={install:i},u=null;"undefined"!=typeof window?u=window.Vue:void 0!==o&&(u=o.Vue),u&&u.use(c)}).call(e,r(242)(t),r(25))},function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),Object.defineProperty(e,"exports",{enumerable:!0}),e.webpackPolyfill=1}return e}},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("b-card",{staticClass:"mb-5 ocrd-project-list-item",attrs:{title:t.repo.org_plus_name,tag:"article"}},[r("b-tabs",[r("b-tab",{attrs:{title:"README"}},[r("div",{domProps:{innerHTML:t._s(t.compiledReadme)}})]),t._v(" "),r("b-tab",{attrs:{title:"Dockerfile"}},[r("vue-code-highlight",[t._v(t._s(t.repo.files.Dockerfile||"# NO DOCKERFILE"))])],1),t._v(" "),r("b-tab",{attrs:{title:"Git"}},[r("b-card-text",[r("p",[r("a",{attrs:{href:"`https://pypi.org/project/${ repo.python.name }/`"}},[r("img",{attrs:{src:"https://img.shields.io/pypi/v/"+t.repo.python.name+".svg"}})])]),t._v(" "),t.repo.git?r("b-table",{attrs:{items:[t.repo.git]}}):t._e()],1)],1),t._v(" "),r("b-tab",{attrs:{title:"Tools"}},[r("b-card-text",[t.repo.ocrd_tool?r("b-table",{attrs:{items:[t.repo.ocrd_tool]}}):t._e()],1)],1),t._v(" "),r("b-tab",{attrs:{title:"Python"}},[r("b-card-text",[t.repo.python?r("b-table",{attrs:{items:[t.repo.python]}}):t._e()],1)],1)],1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",[r("b-row",t._l(t.repos,function(t){return r("ocrd-project-list-item",{key:t.org_plus_name,attrs:{repo:t}})}),1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("b-container",{attrs:{fluid:""}},[r("b-row",[r("button",{on:{click:t.fetchRepoData}},[t._v("Fetch!")])]),t._v(" "),r("b-tabs",[r("b-tab",{attrs:{title:"Processors"}},[r("ocrd-processor-list",{attrs:{processors:t.processors,steps:t.steps,step_filter:t.step_filter,categories:t.categories,category_filter:t.category_filter}})],1),t._v(" "),r("b-tab",{attrs:{title:"Projects"}},[r("ocrd-project-list",{attrs:{repos:t.repos}})],1)],1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";var o=r(3),n=r(248),i=r(273),a=(r(275),r(171),r(215),r(100),r(101),r(102),r(103),r(106),r(107),r(53),r(109),r(34),r(31),r(110),r(111),r(112),r(113),r(114),r(115),r(55),r(59),r(119),r(58),r(60),r(116),r(57),r(118),r(56),r(120),r(121),r(122),r(62),r(123),r(40),r(64),r(126),r(127),r(129),r(130),r(132),r(128),r(131),r(133),r(134),r(135),r(42),r(136),r(65),r(66),r(67),r(139),r(69),r(141),r(152),r(153),r(137),r(138),r(145),r(146),r(143),r(70),r(144),r(155),r(156),r(150),r(151),r(157),r(38),r(61),r(158),r(159),r(45),r(72),r(71),r(46),r(160),r(161),r(162),r(73),r(163),r(68),r(44),r(164),r(14),r(165),r(166),r(167),r(168),r(169),r(75),r(74),r(170),r(76),r(79),r(47),r(174),r(172),r(175),r(173),r(176),r(177),r(179),r(178),r(180),r(181),r(182),r(185),r(186),r(187),r(188),r(192),r(193),r(83),r(194),r(195),r(196),r(197),r(209),r(210),r(88),r(87),r(48),r(21),r(49),r(28),r(211),r(212),r(213),r(214),r(90),r(91),r(217),r(80),r(219),r(78),r(82),r(191),r(220),r(221),r(222),r(63),r(92),r(218),Object(o.a)({plugins:{componentsPlugin:n.a,directivesPlugin:i.a}})),s={install:a,NAME:"BootstrapVue"};e.a=s},function(t,e,r){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function i(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}r.d(e,"a",function(){return b});var a=r(0),s=r(51),l=r(33),c=r(13),u=r(1),d=r(8),p=r(99),f=function(){function t(){o(this,t),this.$_config={},this.$_cachedBreakpoints=null}return i(t,[{key:"getDefaults",value:function(){return this.defaults}},{key:"setConfig",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Object(u.j)(e)){Object(d.f)(e).forEach(function(r){if(!Object(d.g)(p.a,r))return void Object(c.a)('config: unknown config property "'.concat(r,'"'));var o=e[r];if("breakpoints"===r){var n=e.breakpoints;!Object(u.a)(n)||n.length<2||n.some(function(t){return!Object(u.m)(t)||0===t.length})?Object(c.a)('config: "breakpoints" must be an array of at least 2 breakpoint names'):t.$_config.breakpoints=Object(s.a)(n)}else if(Object(u.j)(o)){var i=Object(d.f)(o);i.forEach(function(e){Object(d.g)(p.a[r],e)?(t.$_config[r]=t.$_config[r]||{},Object(u.n)(o[e])||(t.$_config[r][e]=Object(s.a)(o[e]))):Object(c.a)('config: unknown config property "'.concat(r,".").concat(e,'"'))})}})}}},{key:"resetConfig",value:function(){this.$_config={}}},{key:"getConfig",value:function(){return Object(s.a)(this.$_config)}},{key:"getConfigValue",value:function(t){return Object(s.a)(Object(l.a)(this.$_config,t,Object(l.a)(p.a,t)))}},{key:"defaults",get:function(){return p.a}}],[{key:"Defaults",get:function(){return p.a}}]),t}(),b=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.a;e.prototype.$bvConfig=a.a.prototype.$bvConfig=e.prototype.$bvConfig||a.a.prototype.$bvConfig||new f,e.prototype.$bvConfig.setConfig(t)}},function(t,e,r){"use strict";r.d(e,"a",function(){return V});var o=r(3),n=r(100),i=r(102),a=r(106),s=r(109),l=r(110),c=r(112),u=r(114),d=r(120),p=r(62),f=r(40),b=r(133),m=r(135),h=r(137),g=r(139),v=r(143),y=r(145),w=r(150),x=r(152),O=r(155),k=r(157),j=r(158),S=r(160),_=r(162),T=r(164),P=r(165),C=r(168),$=r(170),B=r(79),E=r(176),D=r(181),A=r(185),I=r(187),z=r(192),F=r(194),N=r(196),R=r(211),L=r(214),M=r(217),V=Object(o.b)({plugins:{AlertPlugin:n.a,BadgePlugin:i.a,BreadcrumbPlugin:a.a,ButtonPlugin:s.a,ButtonGroupPlugin:l.a,ButtonToolbarPlugin:c.a,CardPlugin:u.a,CarouselPlugin:d.a,CollapsePlugin:p.a,DropdownPlugin:f.a,EmbedPlugin:b.a,FormPlugin:m.a,FormGroupPlugin:h.a,FormCheckboxPlugin:g.a,FormRadioPlugin:v.a,FormInputPlugin:y.a,FormTextareaPlugin:w.a,FormFilePlugin:x.a,FormSelectPlugin:O.a,ImagePlugin:k.a,InputGroupPlugin:j.a,JumbotronPlugin:S.a,LayoutPlugin:_.a,LinkPlugin:T.a,ListGroupPlugin:P.a,MediaPlugin:C.a,ModalPlugin:$.a,NavPlugin:B.a,NavbarPlugin:E.a,PaginationPlugin:D.a,PaginationNavPlugin:A.a,PopoverPlugin:I.a,ProgressPlugin:z.a,SpinnerPlugin:F.a,TablePlugin:N.a,TabsPlugin:R.a,ToastPlugin:L.a,TooltipPlugin:M.a}})},function(t,e,r){"use strict";var o=r(250),n=function(t,e){return Object(o.a)(e.replace(t,""))};e.a=n},function(t,e,r){"use strict";var o=function(t){return t=String(t),t.charAt(0).toLowerCase()+t.slice(1)};e.a=o},function(t,e,r){"use strict";var o=function(){};e.a=o},function(t,e,r){"use strict";r.d(e,"a",function(){return l}),r.d(e,"c",function(){return c}),r.d(e,"b",function(){return s});var o=r(8),n=r(6),i={hover:!0,click:!0,focus:!0},a="__BV_boundEventListeners__",s=function(t){var e=Object(o.j)(t.modifiers||{}).filter(function(t){return!i[t]});return t.value&&e.push(t.value),e},l=function(t,e,r,l){var c=s(e),u=function(){l({targets:c,vnode:t})};return Object(o.j)(i).forEach(function(o){if(r[o]||e.modifiers[o]){Object(n.f)(t.elm,o,u);var i=t.elm[a]||{};i[o]=i[o]||[],i[o].push(u),t.elm[a]=i}}),c},c=function(t,e,r){Object(o.j)(i).forEach(function(o){if(r[o]||e.modifiers[o]){var i=t.elm[a]&&t.elm[a][o];i&&(i.forEach(function(e){return Object(n.e)(t.elm,o,e)}),delete t.elm[a][o])}})}},function(t,e,r){"use strict";var o=r(54),n=function(t,e){return e+(t?Object(o.a)(t):"")};e.a=n},function(t,e,r){"use strict";var o=r(12),n=function(t,e){for(var r=0;r<t.length;r++)if(Object(o.a)(t[r],e))return r;return-1};e.a=n},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(7),i=r(6),a=r(10),s=r(1),l=r(17),c=r(5),u=o.a.extend({abstract:!0,name:"BTransporterTargetSingle",props:{nodes:{type:[Array,Function]}},data:function(t){return{updatedNodes:t.nodes}},destroyed:function(){var t=this.$el;t&&t.parentNode&&t.parentNode.removeChild(t)},render:function(t){var e=Object(s.f)(this.updatedNodes)?this.updatedNodes({}):this.updatedNodes;return e=Object(n.b)(e).filter(Boolean),e&&e.length>0&&!e[0].text?e[0]:t()}}),d=o.a.extend({name:"BTransporterSingle",mixins:[c.a],props:{disabled:{type:Boolean,default:!1},container:{type:[String,l.b],default:"body"},tag:{type:String,default:"div"}},watch:{disabled:{immediate:!0,handler:function(t){t?this.unmountTarget():this.$nextTick(this.mountTarget)}}},created:function(){this._bv_defaultFn=null,this._bv_target=null},beforeMount:function(){this.mountTarget()},updated:function(){var t=this;this.$nextTick(function(){t.updateTarget()})},beforeDestroy:function(){this.unmountTarget(),this._bv_defaultFn=null},methods:{getContainer:function(){if(a.j){var t=this.container;return Object(s.m)(t)?Object(i.x)(t):t}return null},mountTarget:function(){if(!this._bv_target){var t=this.getContainer();if(t){var e=document.createElement("div");t.appendChild(e),this._bv_target=new u({el:e,parent:this,propsData:{nodes:Object(n.b)(this.normalizeSlot("default"))}})}}},updateTarget:function(){if(a.j&&this._bv_target){var t=this.$scopedSlots.default;this.disabled||(t&&this._bv_defaultFn!==t?this._bv_target.updatedNodes=t:t||(this._bv_target.updatedNodes=this.$slots.default)),this._bv_defaultFn=t}},unmountTarget:function(){this._bv_target&&(this._bv_target.$destroy(),this._bv_target=null)}},render:function(t){if(this.disabled){var e=Object(n.b)(this.normalizeSlot("default")).filter(Boolean);if(e.length>0&&!e[0].text)return e[0]}return t()}})},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(0),n=r(6),i=r(10),a=r(1),s={FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},l=o.a.extend({data:function(){return{modals:[],baseZIndex:null,scrollbarWidth:null,isBodyOverflowing:!1}},computed:{modalCount:function(){return this.modals.length},modalsAreOpen:function(){return this.modalCount>0}},watch:{modalCount:function(t,e){i.j&&(this.getScrollbarWidth(),t>0&&0===e?(this.checkScrollbar(),this.setScrollbar(),Object(n.b)(document.body,"modal-open")):0===t&&e>0&&(this.resetScrollbar(),Object(n.v)(document.body,"modal-open")),Object(n.z)(document.body,"data-modal-open-count",String(t)))},modals:function(t,e){var r=this;this.checkScrollbar(),Object(n.w)(function(){r.updateModals(t||[])})}},methods:{registerModal:function(t){var e=this;t&&-1===this.modals.indexOf(t)&&(this.modals.push(t),t.$once("hook:beforeDestroy",function(){e.unregisterModal(t)}))},unregisterModal:function(t){var e=this.modals.indexOf(t);e>-1&&(this.modals.splice(e,1),t._isBeingDestroyed||t._isDestroyed||this.resetModal(t))},getBaseZIndex:function(){if(Object(a.g)(this.baseZIndex)&&i.j){var t=document.createElement("div");t.className="modal-backdrop d-none",t.style.display="none",document.body.appendChild(t),this.baseZIndex=parseInt(Object(n.j)(t).zIndex||1040,10),document.body.removeChild(t)}return this.baseZIndex||1040},getScrollbarWidth:function(){if(Object(a.g)(this.scrollbarWidth)&&i.j){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t),this.scrollbarWidth=Object(n.h)(t).width-t.clientWidth,document.body.removeChild(t)}return this.scrollbarWidth||0},updateModals:function(t){var e=this,r=this.getBaseZIndex(),o=this.getScrollbarWidth();t.forEach(function(t,n){t.zIndex=r+n,t.scrollbarWidth=o,t.isTop=n===e.modals.length-1,t.isBodyOverflowing=e.isBodyOverflowing})},resetModal:function(t){t&&(t.zIndex=this.getBaseZIndex(),t.isTop=!0,t.isBodyOverflowing=!1)},checkScrollbar:function(){var t=Object(n.h)(document.body),e=t.left,r=t.right;this.isBodyOverflowing=e+r<window.innerWidth},setScrollbar:function(){var t=document.body;if(t._paddingChangedForModal=t._paddingChangedForModal||[],t._marginChangedForModal=t._marginChangedForModal||[],this.isBodyOverflowing){var e=this.scrollbarWidth;Object(n.y)(s.FIXED_CONTENT).forEach(function(r){var o=r.style.paddingRight,i=Object(n.j)(r).paddingRight||0;Object(n.z)(r,"data-padding-right",o),r.style.paddingRight="".concat(parseFloat(i)+e,"px"),t._paddingChangedForModal.push(r)}),Object(n.y)(s.STICKY_CONTENT).forEach(function(r){var o=r.style.marginRight,i=Object(n.j)(r).marginRight||0;Object(n.z)(r,"data-margin-right",o),r.style.marginRight="".concat(parseFloat(i)-e,"px"),t._marginChangedForModal.push(r)}),Object(n.y)(s.NAVBAR_TOGGLER).forEach(function(r){var o=r.style.marginRight,i=Object(n.j)(r).marginRight||0;Object(n.z)(r,"data-margin-right",o),r.style.marginRight="".concat(parseFloat(i)+e,"px"),t._marginChangedForModal.push(r)});var r=t.style.paddingRight,o=Object(n.j)(t).paddingRight;Object(n.z)(t,"data-padding-right",r),t.style.paddingRight="".concat(parseFloat(o)+e,"px")}},resetScrollbar:function(){var t=document.body;t._paddingChangedForModal&&t._paddingChangedForModal.forEach(function(t){Object(n.l)(t,"data-padding-right")&&(t.style.paddingRight=Object(n.g)(t,"data-padding-right")||"",Object(n.u)(t,"data-padding-right"))}),t._marginChangedForModal&&t._marginChangedForModal.forEach(function(t){Object(n.l)(t,"data-margin-right")&&(t.style.marginRight=Object(n.g)(t,"data-margin-right")||"",Object(n.u)(t,"data-margin-right"))}),t._paddingChangedForModal=null,t._marginChangedForModal=null,Object(n.l)(t,"data-padding-right")&&(t.style.paddingRight=Object(n.g)(t,"data-padding-right")||"",Object(n.u)(t,"data-padding-right"))}}}),c=new l},function(t,e,r){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?n(r,!0).forEach(function(e){a(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):n(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function l(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function c(t,e,r){return e&&l(t.prototype,e),r&&l(t,r),t}function u(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?d(t):e}function d(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t,e,r){return(p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var o=f(t,e);if(o){var n=Object.getOwnPropertyDescriptor(o,e);return n.get?n.get.call(r):n.value}})(t,e,r||t)}function f(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=b(t)););return t}function b(t){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}r.d(e,"a",function(){return y});var g=r(41),v=r(8),y=function(t){function e(t){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(this,e),r=u(this,b(e).call(this,t,o)),Object(v.d)(d(r),{trigger:Object(v.l)()}),r}return m(e,t),c(e,null,[{key:"Defaults",get:function(){return i({},p(b(e),"Defaults",this),{trigger:null})}}]),e}(g.a)},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(125),i=r(6),a=r(17),s=r(30),l={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left",TOPLEFT:"top",TOPRIGHT:"top",RIGHTTOP:"right",RIGHTBOTTOM:"right",BOTTOMLEFT:"bottom",BOTTOMRIGHT:"bottom",LEFTTOP:"left",LEFTBOTTOM:"left"},c={AUTO:0,TOPLEFT:-1,TOP:0,TOPRIGHT:1,RIGHTTOP:-1,RIGHT:0,RIGHTBOTTOM:1,BOTTOMLEFT:-1,BOTTOM:0,BOTTOMRIGHT:1,LEFTTOP:-1,LEFT:0,LEFTBOTTOM:1},u=o.a.extend({name:"BVPopper",props:{target:{type:[a.b,a.c],default:null},placement:{type:String,default:"top"},fallbackPlacement:{type:[String,Array],default:"flip"},offset:{type:Number,default:0},boundary:{type:[String,a.b],default:"scrollParent"},boundaryPadding:{type:Number,default:5},arrowPadding:{type:Number,default:6}},data:function(){return{noFade:!1,localShow:!0,attachment:this.getAttachment(this.placement)}},computed:{templateType:function(){return"unknown"},popperConfig:function(){var t=this,e=this.placement;return{placement:this.getAttachment(e),modifiers:{offset:{offset:this.getOffset(e)},flip:{behavior:this.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{padding:this.boundaryPadding,boundariesElement:this.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t.popperPlacementChange(e)},onUpdate:function(e){t.popperPlacementChange(e)}}}},created:function(){var t=this;this.$_popper=null,this.localShow=!0,this.$on("show",function(e){t.popperCreate(e)}),this.$on("hidden",function(){t.$nextTick(t.$destroy)}),this.$parent.$once("hook:destroyed",this.$destroy)},beforeMount:function(){this.attachment=this.getAttachment(this.placement)},mounted:function(){},updated:function(){this.popperUpdate()},beforeDestroy:function(){this.popperDestroy()},destroyed:function(){var t=this.$el;t&&t.parentNode&&t.parentNode.removeChild(t)},methods:{hide:function(){this.localShow=!1},getAttachment:function(t){return l[String(t).toUpperCase()]||"auto"},getOffset:function(t){if(!this.offset){var e=this.$refs.arrow||Object(i.x)(".arrow",this.$el),r=(parseFloat(Object(i.j)(e).width)||0)+(parseFloat(this.arrowPadding)||0);switch(c[String(t).toUpperCase()]||0){case 1:return"+50%p - ".concat(r,"px");case-1:return"-50%p + ".concat(r,"px");default:return 0}}return this.offset},popperCreate:function(t){this.popperDestroy(),this.$_popper=new n.a(this.target,t,this.popperConfig)},popperDestroy:function(){this.$_popper&&this.$_popper.destroy(),this.$_popper=null},popperUpdate:function(){this.$_popper&&this.$_popper.scheduleUpdate()},popperPlacementChange:function(t){this.attachment=this.getAttachment(t.placement)},renderTemplate:function(t){return t("div")}},render:function(t){var e=this;return t(s.a,{props:{appear:!0,noFade:this.noFade},on:{beforeEnter:function(t){return e.$emit("show",t)},afterEnter:function(t){return e.$emit("shown",t)},beforeLeave:function(t){return e.$emit("hide",t)},afterLeave:function(t){return e.$emit("hidden",t)}}},[this.localShow?this.renderTemplate(t):t()])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(1),i=r(189),a=o.a.extend({name:"BVPopoverTemplate",extends:i.a,computed:{templateType:function(){return"popover"}},methods:{renderTemplate:function(t){var e=Object(n.f)(this.title)?this.title({}):this.title,r=Object(n.f)(this.content)?this.content({}):this.content,o=this.html&&!Object(n.f)(this.title)?{innerHTML:this.title}:{},i=this.html&&!Object(n.f)(this.content)?{innerHTML:this.content}:{};return t("div",{staticClass:"popover b-popover",class:this.templateClasses,attrs:this.templateAttributes,on:this.templateListeners},[t("div",{ref:"arrow",staticClass:"arrow"}),Object(n.o)(e)||""===e?t():t("h3",{staticClass:"popover-header",domProps:o},[e]),Object(n.o)(r)||""===r?t():t("div",{staticClass:"popover-body",domProps:i},[r])])}}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(84),s=r(1),l=r(8),c=r(85),u=function(t,e){var r=null;return Object(s.m)(e)?r={key:t,label:e}:Object(s.f)(e)?r={key:t,formatter:e}:Object(s.i)(e)?(r=n({},e),r.key=r.key||t):!1!==e&&(r={key:t}),r},d=function(t,e){var r=[];if(Object(s.a)(t)&&t.filter(function(t){return t}).forEach(function(t){if(Object(s.m)(t))r.push({key:t,label:Object(a.a)(t)});else if(Object(s.i)(t)&&t.key&&Object(s.m)(t.key))r.push(n({},t));else if(Object(s.i)(t)&&1===Object(l.j)(t).length){var e=Object(l.j)(t)[0],o=u(e,t[e]);o&&r.push(o)}}),0===r.length&&Object(s.a)(e)&&e.length>0){var o=e[0];Object(l.j)(o).forEach(function(t){c.b[t]||r.push({key:t,label:Object(a.a)(t)})})}var i={};return r.filter(function(t){return!i[t.key]&&(i[t.key]=!0,t.label=Object(s.m)(t.label)?t.label:Object(a.a)(t.key),!0)})};e.a=d},function(t,e,r){"use strict";var o=r(51),n=r(12),i=r(7),a=r(1),s=r(262);e.a={props:{filter:{type:[String,RegExp,Object,Array],default:null},filterFunction:{type:Function,default:null},filterIgnoredFields:{type:Array},filterIncludedFields:{type:Array},filterDebounce:{type:[Number,String],default:0,validator:function(t){return/^\d+/.test(String(t))}}},data:function(){return{isFiltered:!1,localFilter:this.filterSanitize(this.filter)}},computed:{computedFilterIgnored:function(){return this.filterIgnoredFields?Object(i.b)(this.filterIgnoredFields).filter(Boolean):null},computedFilterIncluded:function(){return this.filterIncludedFields?Object(i.b)(this.filterIncludedFields).filter(Boolean):null},computedFilterDebounce:function(){return parseInt(this.filterDebounce,10)||0},localFiltering:function(){return!this.hasProvider||!!this.noProviderFiltering},filteredCheck:function(){return{filteredItems:this.filteredItems,localItems:this.localItems,localFilter:this.localFilter}},localFilterFn:function(){return Object(a.f)(this.filterFunction)?this.filterFunction:null},filteredItems:function(){var t=this.localItems||[],e=this.localFilter,r=this.localFiltering?this.filterFnFactory(this.localFilterFn,e)||this.defaultFilterFnFactory(e):null;return r&&t.length>0?t.filter(r):t}},watch:{computedFilterDebounce:function(t,e){!t&&this.$_filterTimer&&(clearTimeout(this.$_filterTimer),this.$_filterTimer=null,this.localFilter=this.filterSanitize(this.filter))},filter:{deep:!0,handler:function(t,e){var r=this,o=this.computedFilterDebounce;clearTimeout(this.$_filterTimer),this.$_filterTimer=null,o&&o>0?this.$_filterTimer=setTimeout(function(){r.localFilter=r.filterSanitize(t)},o):this.localFilter=this.filterSanitize(t)}},filteredCheck:function(t){var e=t.filteredItems,r=(t.localItems,t.localFilter),o=!1;r?Object(n.a)(r,[])||Object(n.a)(r,{})?o=!1:r&&(o=!0):o=!1,o&&this.$emit("filtered",e,e.length),this.isFiltered=o},isFiltered:function(t,e){!1===t&&!0===e&&this.$emit("filtered",this.localItems,this.localItems.length)}},created:function(){var t=this;this.$_filterTimer=null,this.$nextTick(function(){t.isFiltered=Boolean(t.localFilter)})},beforeDestroy:function(){clearTimeout(this.$_filterTimer),this.$_filterTimer=null},methods:{filterSanitize:function(t){return!this.localFiltering||this.localFilterFn||Object(a.m)(t)||Object(a.l)(t)?Object(o.a)(t):""},filterFnFactory:function(t,e){return t&&Object(a.f)(t)&&e&&!Object(n.a)(e,[])&&!Object(n.a)(e,{})?function(r){return t(r,e)}:null},defaultFilterFnFactory:function(t){var e=this;if(!t||!Object(a.m)(t)&&!Object(a.l)(t))return null;var r=t;if(Object(a.m)(r)){var o=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&").replace(/[\s\uFEFF\xA0]+/g,"\\s+");r=new RegExp(".*".concat(o,".*"),"i")}return function(t){return r.lastIndex=0,r.test(Object(s.a)(t,e.computedFilterIgnored,e.computedFilterIncluded,e.computedFieldsObj))}}}}},function(t,e,r){"use strict";var o=r(1),n=r(199),i=r(200),a=function(t,e,r,a){return Object(o.i)(t)?Object(i.a)(Object(n.a)(t,e,r,a)):""};e.a=a},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(201),s=r(84),l=r(7),c=r(1),u=r(264);e.a={props:{sortBy:{type:String,default:""},sortDesc:{type:Boolean,default:!1},sortDirection:{type:String,default:"asc",validator:function(t){return Object(l.a)(["asc","desc","last"],t)}},sortCompare:{type:Function,default:null},sortCompareOptions:{type:Object,default:function(){return{numeric:!0}}},sortCompareLocale:{type:[String,Array]},sortNullLast:{type:Boolean,default:!1},noSortReset:{type:Boolean,default:!1},labelSortAsc:{type:String,default:"Click to sort Ascending"},labelSortDesc:{type:String,default:"Click to sort Descending"},labelSortClear:{type:String,default:"Click to clear sorting"},noLocalSorting:{type:Boolean,default:!1},noFooterSorting:{type:Boolean,default:!1},sortIconLeft:{type:Boolean,default:!1}},data:function(){return{localSortBy:this.sortBy||"",localSortDesc:this.sortDesc||!1}},computed:{localSorting:function(){return this.hasProvider?!!this.noProviderSorting:!this.noLocalSorting},isSortable:function(){return this.computedFields.some(function(t){return t.sortable})},sortedItems:function(){var t=(this.filteredItems||this.localItems||[]).slice(),e=this.localSortBy,r=this.localSortDesc,o=this.sortCompare,i=this.localSorting,s=n({},this.sortCompareOptions,{usage:"sort"}),l=this.sortCompareLocale||void 0,d=this.sortNullLast;if(e&&i){var p=this.computedFieldsObj[e]||{},f=p.sortByFormatted,b=Object(c.f)(f)?f:f?this.getFieldFormatter(e):void 0;return Object(a.a)(t,function(t,n){var i=null;return Object(c.f)(o)&&(i=o(t,n,e,r,b,s,l)),(Object(c.o)(i)||!1===i)&&(i=Object(u.a)(t,n,e,r,b,s,l,d)),(i||0)*(r?-1:1)})}return t}},watch:{isSortable:function(t,e){t?this.isSortable&&this.$on("head-clicked",this.handleSort):this.$off("head-clicked",this.handleSort)},sortDesc:function(t,e){t!==this.localSortDesc&&(this.localSortDesc=t||!1)},sortBy:function(t,e){t!==this.localSortBy&&(this.localSortBy=t||"")},localSortDesc:function(t,e){t!==e&&this.$emit("update:sortDesc",t)},localSortBy:function(t,e){t!==e&&this.$emit("update:sortBy",t)}},created:function(){this.isSortable&&this.$on("head-clicked",this.handleSort)},methods:{handleSort:function(t,e,r,o){var n=this;if(this.isSortable&&(!o||!this.noFooterSorting)){var i=!1,a=function(){var t=e.sortDirection||n.sortDirection;"asc"===t?n.localSortDesc=!1:"desc"===t&&(n.localSortDesc=!0)};e.sortable?(t===this.localSortBy?this.localSortDesc=!this.localSortDesc:(this.localSortBy=t,a()),i=!0):this.localSortBy&&!this.noSortReset&&(this.localSortBy="",a(),i=!0),i&&this.$emit("sort-changed",this.context)}},sortTheadThClasses:function(t,e,r){return{"b-table-sort-icon-left":e.sortable&&this.sortIconLeft&&!(r&&this.noFooterSorting)}},sortTheadThAttrs:function(t,e,r){if(!this.isSortable||r&&this.noFooterSorting)return{};var o=e.sortable,n="";e.label&&e.label.trim()||e.headerTitle||(n=Object(s.a)(t));var i="";if(o)if(this.localSortBy===t)i=this.localSortDesc?this.labelSortAsc:this.labelSortDesc;else{i=this.localSortDesc?this.labelSortDesc:this.labelSortAsc;var a=this.sortDirection||e.sortDirection;"asc"===a?i=this.labelSortAsc:"desc"===a&&(i=this.labelSortDesc)}else this.noSortReset||(i=this.localSortBy?this.labelSortClear:"");n=[n.trim(),i.trim()].filter(Boolean).join(": ");var l=o&&this.localSortBy===t?this.localSortDesc?"descending":"ascending":o?"none":null;return{"aria-label":n||null,"aria-sort":l}}}}},function(t,e,r){"use strict";var o=r(33),n=r(1),i=r(200),a=function(t,e,r,a,s,l,c,u){var d=Object(o.a)(t,r,null),p=Object(o.a)(e,r,null);return Object(n.f)(s)&&(d=s(d,r,t),p=s(p,r,e)),d=Object(n.o)(d)?"":d,p=Object(n.o)(p)?"":p,Object(n.c)(d)&&Object(n.c)(p)||Object(n.h)(d)&&Object(n.h)(p)?d<p?-1:d>p?1:0:u&&""===d&&""!==p?1:u&&""!==d&&""===p?-1:Object(i.a)(d).localeCompare(Object(i.a)(p),c,l)};e.a=a},function(t,e,r){"use strict";e.a={props:{perPage:{type:[Number,String],default:0},currentPage:{type:[Number,String],default:1}},computed:{localPaging:function(){return!this.hasProvider||!!this.noProviderPaging},paginatedItems:function(){var t=this.sortedItems||this.filteredItems||this.localItems||[],e=Math.max(parseInt(this.currentPage,10)||1,1),r=Math.max(parseInt(this.perPage,10)||0,0);return this.localPaging&&r&&(t=t.slice((e-1)*r,e*r)),t}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(33),s=r(26),l=r(1),c=r(21),u=r(28),d=r(49);e.a={props:{tbodyTrClass:{type:[String,Array,Function],default:null}},methods:{getTdValues:function(t,e,r,o){var n=this.$parent;if(r){var i=Object(a.a)(t,e,"");return Object(l.f)(r)?r(i,e,t):Object(l.m)(r)&&Object(l.f)(n[r])?n[r](i,e,t):r}return o},getThValues:function(t,e,r,o,n){var i=this.$parent;if(r){var s=Object(a.a)(t,e,"");return Object(l.f)(r)?r(s,e,t,o):Object(l.m)(r)&&Object(l.f)(i[r])?i[r](s,e,t,o):r}return n},getFormattedValue:function(t,e){var r=e.key,o=this.getFieldFormatter(r),n=Object(a.a)(t,r,null);return Object(l.f)(o)&&(n=o(n,r,t)),Object(l.o)(n)?"":n},toggleDetailsFactory:function(t,e){var r=this;return function(){t&&r.$set(e,"_showDetails",!e._showDetails)}},rowHovered:function(t){this.tbodyRowEvtStopped(t)||this.emitTbodyRowEvent("row-hovered",t)},rowUnhovered:function(t){this.tbodyRowEvtStopped(t)||this.emitTbodyRowEvent("row-unhovered",t)},renderTbodyRowCell:function(t,e,r,o){var i=this.$createElement,c=this.hasNormalizedSlot("row-details"),p=this.getFormattedValue(r,t),f=t.key,b=t.stickyColumn?t.isRowHeader?d.a:u.a:t.isRowHeader?"th":"td",m=r._cellVariants&&r._cellVariants[f]?r._cellVariants[f]:t.variant||null,h={key:"row-".concat(o,"-cell-").concat(e,"-").concat(f),class:[t.class?t.class:"",this.getTdValues(r,f,t.tdClass,"")],props:{},attrs:n({"aria-colindex":String(e+1)},t.isRowHeader?this.getThValues(r,f,t.thAttr,"row",{}):this.getTdValues(r,f,t.tdAttr,{}))};t.stickyColumn?h.props={stackedHeading:this.isStacked?t.label:null,stickyColumn:t.stickyColumn,variant:m}:(h.attrs["data-label"]=this.isStacked&&!Object(l.o)(t.label)?Object(s.a)(t.label):null,h.attrs.role=t.isRowHeader?"rowheader":"cell",h.attrs.scope=t.isRowHeader?"row":null,m&&h.class.push("".concat(this.dark?"bg":"table","-").concat(m)));var g={item:r,index:o,field:t,unformatted:Object(a.a)(r,f,""),value:p,toggleDetails:this.toggleDetailsFactory(c,r),detailsShowing:Boolean(r._showDetails)};this.selectedRows&&(g.rowSelected=this.isRowSelected(o));var v=this.$_bodyFieldSlotNameCache[f],y=v?this.normalizeSlot(v,g):Object(s.a)(p);return this.isStacked&&(y=[i("div",{},[y])]),i(b,h,[y])},renderTbodyRow:function(t,e){var r=this,o=this.$createElement,i=this.computedFields,a=this.striped,d=this.hasNormalizedSlot("row-details"),p=Boolean(t._showDetails&&d),f=this.$listeners["row-clicked"]||this.isSelectable,b=[],m=p?this.safeId("_details_".concat(e,"_")):null,h=i.map(function(o,n){return r.renderTbodyRowCell(o,n,t,e)}),g=null;this.currentPage&&this.perPage&&this.perPage>0&&(g=String((this.currentPage-1)*this.perPage+e+1));var v=this.primaryKey,y=v&&!Object(l.o)(t[v]),w=y?Object(s.a)(t[v]):String(e),x=y?this.safeId("_row_".concat(t[v])):null,O=this.selectableRowClasses?this.selectableRowClasses(e):{},k=this.selectableRowAttrs?this.selectableRowAttrs(e):{};if(b.push(o(c.a,{key:"__b-table-row-".concat(w,"__"),ref:"itemRows",refInFor:!0,class:[Object(l.f)(this.tbodyTrClass)?this.tbodyTrClass(t,"row"):this.tbodyTrClass,O,p?"b-table-has-details":""],props:{variant:t._rowVariant||null},attrs:n({id:x,tabindex:f?"0":null,"data-pk":x?String(t[v]):null,"aria-details":m,"aria-owns":m,"aria-rowindex":g},k),on:{mouseenter:this.rowHovered,mouseleave:this.rowUnhovered}},h)),p){var j={item:t,index:e,fields:i,toggleDetails:this.toggleDetailsFactory(d,t)},S=o(u.a,{props:{colspan:i.length}},[this.normalizeSlot("row-details",j)]);a&&b.push(o("tr",{key:"__b-table-details-stripe__".concat(w),staticClass:"d-none",attrs:{"aria-hidden":"true",role:"presentation"}})),b.push(o(c.a,{key:"__b-table-details__".concat(w),staticClass:"b-table-details",class:[Object(l.f)(this.tbodyTrClass)?this.tbodyTrClass(t,"row-details"):this.tbodyTrClass],props:{variant:t._rowVariant||null},attrs:{id:m,tabindex:"-1"}},[S]))}else d&&(b.push(o()),a&&b.push(o()));return b}}}},function(t,e,r){"use strict";var o=r(11),n=r(1),i=r(21),a=r(28);e.a={props:{showEmpty:{type:Boolean,default:!1},emptyText:{type:String,default:"There are no records to show"},emptyHtml:{type:String},emptyFilteredText:{type:String,default:"There are no records matching your request"},emptyFilteredHtml:{type:String}},methods:{renderEmpty:function(){var t,e=this.$createElement,r=this.computedItems;return!this.showEmpty||r&&0!==r.length||this.computedBusy&&this.hasNormalizedSlot("table-busy")||(t=this.normalizeSlot(this.isFiltered?"emptyfiltered":"empty",{emptyFilteredHtml:this.emptyFilteredHtml,emptyFilteredText:this.emptyFilteredText,emptyHtml:this.emptyHtml,emptyText:this.emptyText,fields:this.computedFields,items:this.computedItems}),t||(t=e("div",{class:["text-center","my-2"],domProps:this.isFiltered?Object(o.a)(this.emptyFilteredHtml,this.emptyFilteredText):Object(o.a)(this.emptyHtml,this.emptyText)})),t=e(a.a,{props:{colspan:this.computedFields.length||null}},[e("div",{attrs:{role:"alert","aria-live":"polite"}},[t])]),t=e(i.a,{key:this.isFiltered?"b-empty-filtered-row":"b-empty-row",staticClass:"b-table-empty-row",class:[Object(n.f)(this.tbodyTrClass)?this.tbodyTrClass(null,"row-empty"):this.tbodyTrClass]},[t])),t||e()}}}},function(t,e,r){"use strict";var o=r(1),n=r(21);e.a={methods:{renderTopRow:function(){var t=this.$createElement;if(!this.hasNormalizedSlot("top-row")||!0===this.stacked||""===this.stacked)return t();var e=this.computedFields;return t(n.a,{key:"b-top-row",staticClass:"b-table-top-row",class:[Object(o.f)(this.tbodyTrClass)?this.tbodyTrClass(null,"row-top"):this.tbodyTrClass]},[this.normalizeSlot("top-row",{columns:e.length,fields:e})])}}}},function(t,e,r){"use strict";var o=r(1),n=r(21);e.a={methods:{renderBottomRow:function(){var t=this.$createElement;if(!this.hasNormalizedSlot("bottom-row")||!0===this.stacked||""===this.stacked)return t();var e=this.computedFields;return t(n.a,{key:"b-bottom-row",staticClass:"b-table-bottom-row",class:[Object(o.f)(this.tbodyTrClass)?this.tbodyTrClass(null,"row-bottom"):this.tbodyTrClass]},this.normalizeSlot("bottom-row",{columns:e.length,fields:e}))}}}},function(t,e,r){"use strict";var o=r(1),n=r(21),i=r(28);e.a={props:{busy:{type:Boolean,default:!1}},data:function(){return{localBusy:!1}},computed:{computedBusy:function(){return this.busy||this.localBusy}},watch:{localBusy:function(t,e){t!==e&&this.$emit("update:busy",t)}},methods:{stopIfBusy:function(t){return!!this.computedBusy&&(t.preventDefault(),t.stopPropagation(),!0)},renderBusy:function(){var t=this.$createElement;return this.computedBusy&&this.hasNormalizedSlot("table-busy")?t(n.a,{key:"table-busy-slot",staticClass:"b-table-busy-slot",class:[Object(o.f)(this.tbodyTrClass)?this.tbodyTrClass(null,"table-busy"):this.tbodyTrClass]},[t(i.a,{props:{colspan:this.computedFields.length||null}},[this.normalizeSlot("table-busy")])]):null}}}},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var n=r(12),i=r(184),a=r(7),s=r(4),l=r(1),c=r(199);e.a={props:{selectable:{type:Boolean,default:!1},selectMode:{type:String,default:"multi",validator:function(t){return Object(a.a)(["range","multi","single"],t)}},selectedVariant:{type:String,default:function(){return Object(s.c)("BTable","selectedVariant")}}},data:function(){return{selectedRows:[],selectedLastRow:-1}},computed:{isSelectable:function(){return this.selectable&&this.selectMode},selectableHasSelection:function(){return this.isSelectable&&this.selectedRows&&this.selectedRows.length>0&&this.selectedRows.some(Boolean)},selectableIsMultiSelect:function(){return this.isSelectable&&Object(a.a)(["range","multi"],this.selectMode)},selectableTableClasses:function(){var t;return t={"b-table-selectable":this.isSelectable},o(t,"b-table-select-".concat(this.selectMode),this.isSelectable),o(t,"b-table-selecting",this.selectableHasSelection),t},selectableTableAttrs:function(){return{"aria-multiselectable":this.isSelectable?this.selectableIsMultiSelect?"true":"false":null}}},watch:{computedItems:function(t,e){var r=!1;if(this.isSelectable&&this.selectedRows.length>0){r=Object(a.d)(t)&&Object(a.d)(e)&&t.length===e.length;for(var o=0;r&&o<t.length;o++)r=Object(n.a)(Object(c.a)(t[o]),Object(c.a)(e[o]))}r||this.clearSelected()},selectable:function(t,e){this.clearSelected(),this.setSelectionHandlers(t)},selectMode:function(t,e){this.clearSelected()},selectedRows:function(t,e){var r=this;if(this.isSelectable&&!Object(n.a)(t,e)){var o=[];t.forEach(function(t,e){t&&o.push(r.computedItems[e])}),this.$emit("row-selected",o)}}},beforeMount:function(){this.isSelectable&&this.setSelectionHandlers(!0)},methods:{selectRow:function(t){if(this.isSelectable&&Object(l.h)(t)&&t>=0&&t<this.computedItems.length&&!this.isRowSelected(t)){var e=this.selectableIsMultiSelect?this.selectedRows.slice():[];e[t]=!0,this.selectedLastClicked=-1,this.selectedRows=e}},unselectRow:function(t){if(this.isSelectable&&Object(l.h)(t)&&this.isRowSelected(t)){var e=this.selectedRows.slice();e[t]=!1,this.selectedLastClicked=-1,this.selectedRows=e}},selectAllRows:function(){var t=this.computedItems.length;this.isSelectable&&t>0&&(this.selectedLastClicked=-1,this.selectedRows=this.selectableIsMultiSelect?Object(i.a)(t).map(function(t){return!0}):[!0])},isRowSelected:function(t){return Boolean(Object(l.h)(t)&&this.selectedRows[t])},clearSelected:function(){this.selectedLastClicked=-1,this.selectedRows=[]},selectableRowClasses:function(t){if(this.isSelectable&&this.isRowSelected(t)){var e=this.selectedVariant;return o({"b-table-row-selected":!0},"".concat(this.dark?"bg":"table","-").concat(e),e)}return{}},selectableRowAttrs:function(t){return{"aria-selected":this.isSelectable?this.isRowSelected(t)?"true":"false":null}},setSelectionHandlers:function(t){var e=t?"$on":"$off";this[e]("row-clicked",this.selectionHandler),this[e]("filtered",this.clearSelected),this[e]("context-changed",this.clearSelected)},selectionHandler:function(t,e,r){if(!this.isSelectable)return void this.clearSelected();var o=this.selectMode,n=this.selectedRows.slice(),i=!n[e];if("single"===o)n=[];else if("range"===o)if(this.selectedLastRow>-1&&r.shiftKey){for(var a=Math.min(this.selectedLastRow,e);a<=Math.max(this.selectedLastRow,e);a++)n[a]=!0;i=!0}else r.ctrlKey||r.metaKey||(n=[],i=!0),this.selectedLastRow=i?e:-1;n[e]=i,this.selectedRows=n}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(12),s=r(13),l=r(1),c=r(27);e.a={mixins:[c.a],props:{items:{type:[Array,Function],default:function(){return[]}},noProviderPaging:{type:Boolean,default:!1},noProviderSorting:{type:Boolean,default:!1},noProviderFiltering:{type:Boolean,default:!1},apiUrl:{type:String,default:""}},computed:{hasProvider:function(){return Object(l.f)(this.items)},providerTriggerContext:function(){var t={apiUrl:this.apiUrl,filter:null,sortBy:null,sortDesc:null,perPage:null,currentPage:null};return this.noProviderFiltering||(t.filter=this.localFilter),this.noProviderSorting||(t.sortBy=this.localSortBy,t.sortDesc=this.localSortDesc),this.noProviderPaging||(t.perPage=this.perPage,t.currentPage=this.currentPage),n({},t)}},watch:{items:function(t,e){(this.hasProvider||Object(l.f)(t))&&this.$nextTick(this._providerUpdate)},providerTriggerContext:function(t,e){Object(a.a)(t,e)||this.$nextTick(this._providerUpdate)}},mounted:function(){var t=this;!this.hasProvider||this.localItems&&0!==this.localItems.length||this._providerUpdate(),this.listenOnRoot("bv::refresh::table",function(e){e!==t.id&&e!==t||t.refresh()})},methods:{refresh:function(){this.$off("refreshed",this.refresh),this.computedBusy?this.localBusy&&this.hasProvider&&this.$on("refreshed",this.refresh):(this.clearSelected(),this.hasProvider?this.$nextTick(this._providerUpdate):this.localItems=Object(l.a)(this.items)?this.items.slice():[])},_providerSetLocal:function(t){this.localItems=Object(l.a)(t)?t.slice():[],this.localBusy=!1,this.$emit("refreshed"),this.id&&this.emitOnRoot("bv::table::refreshed",this.id)},_providerUpdate:function(){var t=this;if(this.hasProvider){if(this.computedBusy)return void this.$nextTick(this.refresh);this.localBusy=!0,this.$nextTick(function(){try{var e=t.items(t.context,t._providerSetLocal);Object(l.k)(e)?e.then(function(e){t._providerSetLocal(e)}):Object(l.a)(e)?t._providerSetLocal(e):2!==t.items.length&&(Object(s.a)("b-table provider function didn't request callback and did not return a promise or data"),t.localBusy=!1)}catch(e){Object(s.a)("b-table provider function error [".concat(e.name,"] ").concat(e.message)),t.localBusy=!1,t.$off("refreshed",t.refresh)}})}}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(3),n=r(219),i=r(82),a=r(220),s=r(222),l=r(92),c=Object(o.b)({plugins:{VBModalPlugin:n.a,VBPopoverPlugin:i.a,VBScrollspyPlugin:a.a,VBTogglePlugin:s.a,VBTooltipPlugin:l.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function l(t,e,r){return e&&s(t.prototype,e),r&&s(t,r),t}var c=r(39),u=r(13),d=r(6),p=r(1),f=r(8),b={element:"body",offset:10,method:"auto",throttle:75},m={element:"(string|element|component)",offset:"number",method:"string",throttle:"number"},h={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},g={ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown, .dropup",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},v={OFFSET:"offset",POSITION:"position"},y=/^.*(#[^#]+)$/,w=["webkitTransitionEnd","transitionend","otransitionend","oTransitionEnd"],x={passive:!0,capture:!1},O=function(t){return Object(f.m)(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()},k=function(t,e,r){for(var o in r)if(Object.prototype.hasOwnProperty.call(r,o)){var n=r[o],i=e[o],a=i&&Object(d.o)(i)?"element":O(i);a=i&&i._isVue?"component":a,new RegExp(n).test(a)||Object(u.a)("".concat(t,': Option "').concat(o,'" provided type "').concat(a,'" but expected type "').concat(n,'"'))}},j=function(){function t(e,r,o){a(this,t),this.$el=e,this.$scroller=null,this.$selector=[g.NAV_LINKS,g.LIST_ITEMS,g.DROPDOWN_ITEMS].join(","),this.$offsets=[],this.$targets=[],this.$activeTarget=null,this.$scrollHeight=0,this.$resizeTimeout=null,this.$obs_scroller=null,this.$obs_targets=null,this.$root=o||null,this.$config=null,this.updateConfig(r)}return l(t,[{key:"updateConfig",value:function(t,e){this.$scroller&&(this.unlisten(),this.$scroller=null);var r=n({},this.constructor.Default,{},t);if(e&&(this.$root=e),k(this.constructor.Name,r,this.constructor.DefaultType),this.$config=r,this.$root){var o=this;this.$root.$nextTick(function(){o.listen()})}else this.listen()}},{key:"dispose",value:function(){this.unlisten(),clearTimeout(this.$resizeTimeout),this.$resizeTimeout=null,this.$el=null,this.$config=null,this.$scroller=null,this.$selector=null,this.$offsets=null,this.$targets=null,this.$activeTarget=null,this.$scrollHeight=null}},{key:"listen",value:function(){var t=this,e=this.getScroller();e&&"BODY"!==e.tagName&&Object(d.f)(e,"scroll",this,x),Object(d.f)(window,"scroll",this,x),Object(d.f)(window,"resize",this,x),Object(d.f)(window,"orientationchange",this,x),w.forEach(function(e){Object(d.f)(window,e,t,x)}),this.setObservers(!0),this.handleEvent("refresh")}},{key:"unlisten",value:function(){var t=this,e=this.getScroller();this.setObservers(!1),e&&"BODY"!==e.tagName&&Object(d.e)(e,"scroll",this,x),Object(d.e)(window,"scroll",this,x),Object(d.e)(window,"resize",this,x),Object(d.e)(window,"orientationchange",this,x),w.forEach(function(e){Object(d.e)(window,e,t,x)})}},{key:"setObservers",value:function(t){var e=this;this.$obs_scroller&&(this.$obs_scroller.disconnect(),this.$obs_scroller=null),this.$obs_targets&&(this.$obs_targets.disconnect(),this.$obs_targets=null),t&&(this.$obs_targets=Object(c.a)(this.$el,function(){e.handleEvent("mutation")},{subtree:!0,childList:!0,attributes:!0,attributeFilter:["href"]}),this.$obs_scroller=Object(c.a)(this.getScroller(),function(){e.handleEvent("mutation")},{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["id","style","class"]}))}},{key:"handleEvent",value:function(t){var e=Object(p.m)(t)?t:t.type,r=this;"scroll"===e?(this.$obs_scroller||this.listen(),this.process()):/(resize|orientationchange|mutation|refresh)/.test(e)&&function(){r.$resizeTimeout||(r.$resizeTimeout=setTimeout(function(){r.refresh(),r.process(),r.$resizeTimeout=null},r.$config.throttle))}()}},{key:"refresh",value:function(){var t=this,e=this.getScroller();if(e){var r=e!==e.window?v.POSITION:v.OFFSET,o="auto"===this.$config.method?r:this.$config.method,n=o===v.POSITION?d.s:d.r,i=o===v.POSITION?this.getScrollTop():0;return this.$offsets=[],this.$targets=[],this.$scrollHeight=this.getScrollHeight(),Object(d.y)(this.$selector,this.$el).map(function(t){return Object(d.g)(t,"href")}).filter(function(t){return t&&y.test(t||"")}).map(function(t){var r=t.replace(y,"$1").trim();if(!r)return null;var o=Object(d.x)(r,e);return o&&Object(d.p)(o)?{offset:parseInt(n(o).top,10)+i,target:r}:null}).filter(Boolean).sort(function(t,e){return t.offset-e.offset}).reduce(function(e,r){return e[r.target]||(t.$offsets.push(r.offset),t.$targets.push(r.target),e[r.target]=!0),e},{}),this}}},{key:"process",value:function(){var t=this.getScrollTop()+this.$config.offset,e=this.getScrollHeight(),r=this.$config.offset+e-this.getOffsetHeight();if(this.$scrollHeight!==e&&this.refresh(),t>=r){var o=this.$targets[this.$targets.length-1];return void(this.$activeTarget!==o&&this.activate(o))}if(this.$activeTarget&&t<this.$offsets[0]&&this.$offsets[0]>0)return this.$activeTarget=null,void this.clear();for(var n=this.$offsets.length;n--;){this.$activeTarget!==this.$targets[n]&&t>=this.$offsets[n]&&(Object(p.n)(this.$offsets[n+1])||t<this.$offsets[n+1])&&this.activate(this.$targets[n])}}},{key:"getScroller",value:function(){if(this.$scroller)return this.$scroller;var t=this.$config.element;return t?(Object(d.o)(t.$el)?t=t.$el:Object(p.m)(t)&&(t=Object(d.x)(t)),t?(this.$scroller="BODY"===t.tagName?window:t,this.$scroller):null):null}},{key:"getScrollTop",value:function(){var t=this.getScroller();return t===window?t.pageYOffset:t.scrollTop}},{key:"getScrollHeight",value:function(){return this.getScroller().scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}},{key:"getOffsetHeight",value:function(){var t=this.getScroller();return t===window?window.innerHeight:Object(d.h)(t).height}},{key:"activate",value:function(t){var e=this;this.$activeTarget=t,this.clear();var r=Object(d.y)(this.$selector.split(",").map(function(e){return"".concat(e,'[href$="').concat(t,'"]')}).join(","),this.$el);r.forEach(function(t){if(Object(d.m)(t,h.DROPDOWN_ITEM)){var r=Object(d.c)(g.DROPDOWN,t);r&&e.setActiveState(Object(d.x)(g.DROPDOWN_TOGGLE,r),!0),e.setActiveState(t,!0)}else{e.setActiveState(t,!0),Object(d.q)(t.parentElement,g.NAV_ITEMS)&&e.setActiveState(t.parentElement,!0);for(var o=t;o;){o=Object(d.c)(g.NAV_LIST_GROUP,o);var n=o?o.previousElementSibling:null;n&&Object(d.q)(n,"".concat(g.NAV_LINKS,", ").concat(g.LIST_ITEMS))&&e.setActiveState(n,!0),n&&Object(d.q)(n,g.NAV_ITEMS)&&(e.setActiveState(Object(d.x)(g.NAV_LINKS,n),!0),e.setActiveState(n,!0))}}}),r&&r.length>0&&this.$root&&this.$root.$emit("bv::scrollspy::activate",t,r)}},{key:"clear",value:function(){var t=this;Object(d.y)("".concat(this.$selector,", ").concat(g.NAV_ITEMS),this.$el).filter(function(t){return Object(d.m)(t,h.ACTIVE)}).forEach(function(e){return t.setActiveState(e,!1)})}},{key:"setActiveState",value:function(t,e){t&&(e?Object(d.b)(t,h.ACTIVE):Object(d.v)(t,h.ACTIVE))}}],[{key:"Name",get:function(){return"v-b-scrollspy"}},{key:"Default",get:function(){return b}},{key:"DefaultType",get:function(){return m}}]),t}();e.a=j},function(t,e,r){"use strict";r(3)},function(t,e,r){var o=r(277);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("17bbcc31",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,"/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex=\"-1\"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:\"\\2014\\A0\"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder,.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{-ms-flex-align:center;-ms-flex-pack:center;justify-content:center}.form-inline .form-group,.form-inline label{display:-ms-flexbox;display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\"}.custom-control-label:after{background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:\"Browse\"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:\"Browse\";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:no-repeat 50%;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#6c757d;content:\"/\"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:-ms-flexbox;display:flex}.progress-bar{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-50px);transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:\"\"}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.857143%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:transparent}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}",""])},function(t,e,r){var o=r(279);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("ae668e66",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,"/*!\n * BootstrapVue Custom CSS (https://bootstrap-vue.js.org)\n */@media (max-width:575.98px){.bv-d-xs-down-none{display:none!important}}@media (max-width:767.98px){.bv-d-sm-down-none{display:none!important}}@media (max-width:991.98px){.bv-d-md-down-none{display:none!important}}@media (max-width:1199.98px){.bv-d-lg-down-none{display:none!important}}.bv-d-xl-down-none{display:none!important}.card-img-left{border-top-left-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-img-right{border-top-right-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.dropdown.dropleft .dropdown-toggle.dropdown-toggle-no-caret:before,.dropdown:not(.dropleft) .dropdown-toggle.dropdown-toggle-no-caret:after{display:none!important}.b-dropdown-form{display:inline-block;padding:.25rem 1.5rem;width:100%;clear:both;font-weight:400}.b-dropdown-form:focus{outline:1px dotted!important;outline:5px auto -webkit-focus-ring-color!important}.b-dropdown-form.disabled,.b-dropdown-form:disabled{outline:0!important;color:#6c757d;pointer-events:none}.b-dropdown-text{display:inline-block;padding:.25rem 1.5rem;margin-bottom:0;width:100%;clear:both;font-weight:lighter}.custom-checkbox.b-custom-control-lg,.input-group-lg .custom-checkbox{font-size:1.25rem;line-height:1.5;padding-left:1.875rem}.custom-checkbox.b-custom-control-lg .custom-control-label:before,.input-group-lg .custom-checkbox .custom-control-label:before{top:.3125rem;left:-1.875rem;width:1.25rem;height:1.25rem;border-radius:.3rem}.custom-checkbox.b-custom-control-lg .custom-control-label:after,.input-group-lg .custom-checkbox .custom-control-label:after{top:.3125rem;left:-1.875rem;width:1.25rem;height:1.25rem;background-size:50% 50%}.custom-checkbox.b-custom-control-sm,.input-group-sm .custom-checkbox{font-size:.875rem;line-height:1.5;padding-left:1.3125rem}.custom-checkbox.b-custom-control-sm .custom-control-label:before,.input-group-sm .custom-checkbox .custom-control-label:before{top:.21875rem;left:-1.3125rem;width:.875rem;height:.875rem;border-radius:.2rem}.custom-checkbox.b-custom-control-sm .custom-control-label:after,.input-group-sm .custom-checkbox .custom-control-label:after{top:.21875rem;left:-1.3125rem;width:.875rem;height:.875rem;background-size:50% 50%}.custom-switch.b-custom-control-lg,.input-group-lg .custom-switch{padding-left:2.8125rem}.custom-switch.b-custom-control-lg .custom-control-label,.input-group-lg .custom-switch .custom-control-label{font-size:1.25rem;line-height:1.5}.custom-switch.b-custom-control-lg .custom-control-label:before,.input-group-lg .custom-switch .custom-control-label:before{top:.3125rem;height:1.25rem;left:-2.8125rem;width:2.1875rem;border-radius:.625rem}.custom-switch.b-custom-control-lg .custom-control-label:after,.input-group-lg .custom-switch .custom-control-label:after{top:calc(.3125rem + 2px);left:calc(-2.8125rem + 2px);width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);border-radius:.625rem;background-size:50% 50%}.custom-switch.b-custom-control-lg .custom-control-input:checked~.custom-control-label:after,.input-group-lg .custom-switch .custom-control-input:checked~.custom-control-label:after{-webkit-transform:translateX(.9375rem);transform:translateX(.9375rem)}.custom-switch.b-custom-control-sm,.input-group-sm .custom-switch{padding-left:1.96875rem}.custom-switch.b-custom-control-sm .custom-control-label,.input-group-sm .custom-switch .custom-control-label{font-size:.875rem;line-height:1.5}.custom-switch.b-custom-control-sm .custom-control-label:before,.input-group-sm .custom-switch .custom-control-label:before{top:.21875rem;left:-1.96875rem;width:1.53125rem;height:.875rem;border-radius:.4375rem}.custom-switch.b-custom-control-sm .custom-control-label:after,.input-group-sm .custom-switch .custom-control-label:after{top:calc(.21875rem + 2px);left:calc(-1.96875rem + 2px);width:calc(.875rem - 4px);height:calc(.875rem - 4px);border-radius:.4375rem;background-size:50% 50%}.custom-switch.b-custom-control-sm .custom-control-input:checked~.custom-control-label:after,.input-group-sm .custom-switch .custom-control-input:checked~.custom-control-label:after{-webkit-transform:translateX(.65625rem);transform:translateX(.65625rem)}.input-group>.input-group-append:last-child>.btn-group:not(:last-child):not(.dropdown-toggle)>.btn,.input-group>.input-group-append:not(:last-child)>.btn-group>.btn,.input-group>.input-group-prepend>.btn-group>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn-group>.btn,.input-group>.input-group-prepend:first-child>.btn-group:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.btn-group>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.b-custom-control-lg.custom-file,.b-custom-control-lg .custom-file-input,.b-custom-control-lg .custom-file-label,.input-group-lg.custom-file,.input-group-lg .custom-file-input,.input-group-lg .custom-file-label{font-size:1.25rem;height:calc(1.5em + 1rem + 2px)}.b-custom-control-lg .custom-file-label,.b-custom-control-lg .custom-file-label:after,.input-group-lg .custom-file-label,.input-group-lg .custom-file-label:after{padding:.5rem 1rem;line-height:1.5}.b-custom-control-lg .custom-file-label,.input-group-lg .custom-file-label{border-radius:.3rem}.b-custom-control-lg .custom-file-label:after,.input-group-lg .custom-file-label:after{font-size:inherit;height:calc(1.5em + 1rem);border-radius:0 .3rem .3rem 0}.b-custom-control-sm.custom-file,.b-custom-control-sm .custom-file-input,.b-custom-control-sm .custom-file-label,.input-group-sm.custom-file,.input-group-sm .custom-file-input,.input-group-sm .custom-file-label{font-size:.875rem;height:calc(1.5em + .5rem + 2px)}.b-custom-control-sm .custom-file-label,.b-custom-control-sm .custom-file-label:after,.input-group-sm .custom-file-label,.input-group-sm .custom-file-label:after{padding:.25rem .5rem;line-height:1.5}.b-custom-control-sm .custom-file-label,.input-group-sm .custom-file-label{border-radius:.2rem}.b-custom-control-sm .custom-file-label:after,.input-group-sm .custom-file-label:after{font-size:inherit;height:calc(1.5em + .5rem);border-radius:0 .2rem .2rem 0}.form-control.is-invalid,.form-control.is-valid,.was-validated .form-control:invalid,.was-validated .form-control:valid{background-position:right calc(.375em + .1875rem) center}input[type=color].form-control{height:calc(1.5em + .75rem + 2px);padding:.125rem .25rem}.input-group-sm input[type=color].form-control,input[type=color].form-control.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.125rem .25rem}.input-group-lg input[type=color].form-control,input[type=color].form-control.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.125rem .25rem}input[type=color].form-control:disabled{background-color:#adb5bd;opacity:.65}.input-group>.custom-range{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-range,.input-group>.custom-range+.custom-file,.input-group>.custom-range+.custom-range,.input-group>.custom-range+.custom-select,.input-group>.custom-range+.form-control,.input-group>.custom-range+.form-control-plaintext,.input-group>.custom-select+.custom-range,.input-group>.form-control+.custom-range,.input-group>.form-control-plaintext+.custom-range{margin-left:-1px}.input-group>.custom-range:focus{z-index:3}.input-group>.custom-range:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-range:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-range{padding:0 .75rem;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;height:calc(1.5em + .75rem + 2px);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group>.custom-range{transition:none}}.input-group>.custom-range:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.input-group>.custom-range:disabled,.input-group>.custom-range[readonly]{background-color:#e9ecef}.input-group-lg>.custom-range{height:calc(1.5em + 1rem + 2px);padding:0 1rem;border-radius:.3rem}.input-group-sm>.custom-range{height:calc(1.5em + .5rem + 2px);padding:0 .5rem;border-radius:.2rem}.input-group .custom-range.is-valid,.was-validated .input-group .custom-range:valid{border-color:#28a745}.input-group .custom-range.is-valid:focus,.was-validated .input-group .custom-range:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-range.is-valid:focus::-webkit-slider-thumb,.was-validated .custom-range:valid:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #9be7ac}.custom-range.is-valid:focus::-moz-range-thumb,.was-validated .custom-range:valid:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #9be7ac}.custom-range.is-valid:focus::-ms-thumb,.was-validated .custom-range:valid:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #9be7ac}.custom-range.is-valid::-webkit-slider-thumb,.was-validated .custom-range:valid::-webkit-slider-thumb{background-color:#28a745;background-image:none}.custom-range.is-valid::-webkit-slider-thumb:active,.was-validated .custom-range:valid::-webkit-slider-thumb:active{background-color:#9be7ac;background-image:none}.custom-range.is-valid::-webkit-slider-runnable-track,.was-validated .custom-range:valid::-webkit-slider-runnable-track{background-color:rgba(40,167,69,.35)}.custom-range.is-valid::-moz-range-thumb,.was-validated .custom-range:valid::-moz-range-thumb{background-color:#28a745;background-image:none}.custom-range.is-valid::-moz-range-thumb:active,.was-validated .custom-range:valid::-moz-range-thumb:active{background-color:#9be7ac;background-image:none}.custom-range.is-valid::-moz-range-track,.was-validated .custom-range:valid::-moz-range-track{background:rgba(40,167,69,.35)}.custom-range.is-valid~.valid-feedback,.custom-range.is-valid~.valid-tooltip,.was-validated .custom-range:valid~.valid-feedback,.was-validated .custom-range:valid~.valid-tooltip{display:block}.custom-range.is-valid::-ms-thumb,.was-validated .custom-range:valid::-ms-thumb{background-color:#28a745;background-image:none}.custom-range.is-valid::-ms-thumb:active,.was-validated .custom-range:valid::-ms-thumb:active{background-color:#9be7ac;background-image:none}.custom-range.is-valid::-ms-track-lower,.custom-range.is-valid::-ms-track-upper,.was-validated .custom-range:valid::-ms-track-lower,.was-validated .custom-range:valid::-ms-track-upper{background:rgba(40,167,69,.35)}.input-group .custom-range.is-invalid,.was-validated .input-group .custom-range:invalid{border-color:#dc3545}.input-group .custom-range.is-invalid:focus,.was-validated .input-group .custom-range:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-range.is-invalid:focus::-webkit-slider-thumb,.was-validated .custom-range:invalid:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #f6cdd1}.custom-range.is-invalid:focus::-moz-range-thumb,.was-validated .custom-range:invalid:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #f6cdd1}.custom-range.is-invalid:focus::-ms-thumb,.was-validated .custom-range:invalid:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #f6cdd1}.custom-range.is-invalid::-webkit-slider-thumb,.was-validated .custom-range:invalid::-webkit-slider-thumb{background-color:#dc3545;background-image:none}.custom-range.is-invalid::-webkit-slider-thumb:active,.was-validated .custom-range:invalid::-webkit-slider-thumb:active{background-color:#f6cdd1;background-image:none}.custom-range.is-invalid::-webkit-slider-runnable-track,.was-validated .custom-range:invalid::-webkit-slider-runnable-track{background-color:rgba(220,53,69,.35)}.custom-range.is-invalid::-moz-range-thumb,.was-validated .custom-range:invalid::-moz-range-thumb{background-color:#dc3545;background-image:none}.custom-range.is-invalid::-moz-range-thumb:active,.was-validated .custom-range:invalid::-moz-range-thumb:active{background-color:#f6cdd1;background-image:none}.custom-range.is-invalid::-moz-range-track,.was-validated .custom-range:invalid::-moz-range-track{background:rgba(220,53,69,.35)}.custom-range.is-invalid~.invalid-feedback,.custom-range.is-invalid~.invalid-tooltip,.was-validated .custom-range:invalid~.invalid-feedback,.was-validated .custom-range:invalid~.invalid-tooltip{display:block}.custom-range.is-invalid::-ms-thumb,.was-validated .custom-range:invalid::-ms-thumb{background-color:#dc3545;background-image:none}.custom-range.is-invalid::-ms-thumb:active,.was-validated .custom-range:invalid::-ms-thumb:active{background-color:#f6cdd1;background-image:none}.custom-range.is-invalid::-ms-track-lower,.custom-range.is-invalid::-ms-track-upper,.was-validated .custom-range:invalid::-ms-track-lower,.was-validated .custom-range:invalid::-ms-track-upper{background:rgba(220,53,69,.35)}.custom-radio.b-custom-control-lg,.input-group-lg .custom-radio{font-size:1.25rem;line-height:1.5;padding-left:1.875rem}.custom-radio.b-custom-control-lg .custom-control-label:before,.input-group-lg .custom-radio .custom-control-label:before{top:.3125rem;left:-1.875rem;width:1.25rem;height:1.25rem;border-radius:50%}.custom-radio.b-custom-control-lg .custom-control-label:after,.input-group-lg .custom-radio .custom-control-label:after{top:.3125rem;left:-1.875rem;width:1.25rem;height:1.25rem;background:no-repeat 50%/50% 50%}.custom-radio.b-custom-control-sm,.input-group-sm .custom-radio{font-size:.875rem;line-height:1.5;padding-left:1.3125rem}.custom-radio.b-custom-control-sm .custom-control-label:before,.input-group-sm .custom-radio .custom-control-label:before{top:.21875rem;left:-1.3125rem;width:.875rem;height:.875rem;border-radius:50%}.custom-radio.b-custom-control-sm .custom-control-label:after,.input-group-sm .custom-radio .custom-control-label:after{top:.21875rem;left:-1.3125rem;width:.875rem;height:.875rem;background:no-repeat 50%/50% 50%}.modal-backdrop{opacity:.5}.popover.b-popover{display:block;opacity:1}.popover.b-popover.fade:not(.show){opacity:0}.popover.b-popover.show{opacity:1}.b-popover-primary.popover{background-color:#cce5ff;border-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-primary.bs-popover-top>.arrow:before{border-top-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-primary.bs-popover-top>.arrow:after{border-top-color:#cce5ff}.b-popover-primary.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-primary.bs-popover-right>.arrow:before{border-right-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-primary.bs-popover-right>.arrow:after{border-right-color:#cce5ff}.b-popover-primary.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-primary.bs-popover-bottom>.arrow:before{border-bottom-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-primary.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-primary.bs-popover-bottom .popover-header:before,.b-popover-primary.bs-popover-bottom>.arrow:after{border-bottom-color:#bdddff}.b-popover-primary.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-primary.bs-popover-left>.arrow:before{border-left-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-primary.bs-popover-left>.arrow:after{border-left-color:#cce5ff}.b-popover-primary .popover-header{color:#212529;background-color:#bdddff;border-bottom-color:#a3d0ff}.b-popover-primary .popover-body{color:#004085}.b-popover-secondary.popover{background-color:#e2e3e5;border-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-secondary.bs-popover-top>.arrow:before{border-top-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-secondary.bs-popover-top>.arrow:after{border-top-color:#e2e3e5}.b-popover-secondary.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-secondary.bs-popover-right>.arrow:before{border-right-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-secondary.bs-popover-right>.arrow:after{border-right-color:#e2e3e5}.b-popover-secondary.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-secondary.bs-popover-bottom>.arrow:before{border-bottom-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-secondary.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-secondary.bs-popover-bottom .popover-header:before,.b-popover-secondary.bs-popover-bottom>.arrow:after{border-bottom-color:#dadbde}.b-popover-secondary.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-secondary.bs-popover-left>.arrow:before{border-left-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-secondary.bs-popover-left>.arrow:after{border-left-color:#e2e3e5}.b-popover-secondary .popover-header{color:#212529;background-color:#dadbde;border-bottom-color:#ccced2}.b-popover-secondary .popover-body{color:#383d41}.b-popover-success.popover{background-color:#d4edda;border-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-success.bs-popover-top>.arrow:before{border-top-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-success.bs-popover-top>.arrow:after{border-top-color:#d4edda}.b-popover-success.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-success.bs-popover-right>.arrow:before{border-right-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-success.bs-popover-right>.arrow:after{border-right-color:#d4edda}.b-popover-success.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-success.bs-popover-bottom>.arrow:before{border-bottom-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-success.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-success.bs-popover-bottom .popover-header:before,.b-popover-success.bs-popover-bottom>.arrow:after{border-bottom-color:#c9e8d1}.b-popover-success.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-success.bs-popover-left>.arrow:before{border-left-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-success.bs-popover-left>.arrow:after{border-left-color:#d4edda}.b-popover-success .popover-header{color:#212529;background-color:#c9e8d1;border-bottom-color:#b7e1c1}.b-popover-success .popover-body{color:#155724}.b-popover-info.popover{background-color:#d1ecf1;border-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-info.bs-popover-top>.arrow:before{border-top-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-info.bs-popover-top>.arrow:after{border-top-color:#d1ecf1}.b-popover-info.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-info.bs-popover-right>.arrow:before{border-right-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-info.bs-popover-right>.arrow:after{border-right-color:#d1ecf1}.b-popover-info.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-info.bs-popover-bottom>.arrow:before{border-bottom-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-info.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-info.bs-popover-bottom .popover-header:before,.b-popover-info.bs-popover-bottom>.arrow:after{border-bottom-color:#c5e7ed}.b-popover-info.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-info.bs-popover-left>.arrow:before{border-left-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-info.bs-popover-left>.arrow:after{border-left-color:#d1ecf1}.b-popover-info .popover-header{color:#212529;background-color:#c5e7ed;border-bottom-color:#b2dfe7}.b-popover-info .popover-body{color:#0c5460}.b-popover-warning.popover{background-color:#fff3cd;border-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-warning.bs-popover-top>.arrow:before{border-top-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-warning.bs-popover-top>.arrow:after{border-top-color:#fff3cd}.b-popover-warning.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-warning.bs-popover-right>.arrow:before{border-right-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-warning.bs-popover-right>.arrow:after{border-right-color:#fff3cd}.b-popover-warning.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-warning.bs-popover-bottom>.arrow:before{border-bottom-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-warning.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-warning.bs-popover-bottom .popover-header:before,.b-popover-warning.bs-popover-bottom>.arrow:after{border-bottom-color:#ffefbe}.b-popover-warning.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-warning.bs-popover-left>.arrow:before{border-left-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-warning.bs-popover-left>.arrow:after{border-left-color:#fff3cd}.b-popover-warning .popover-header{color:#212529;background-color:#ffefbe;border-bottom-color:#ffe9a4}.b-popover-warning .popover-body{color:#856404}.b-popover-danger.popover{background-color:#f8d7da;border-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-danger.bs-popover-top>.arrow:before{border-top-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-danger.bs-popover-top>.arrow:after{border-top-color:#f8d7da}.b-popover-danger.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-danger.bs-popover-right>.arrow:before{border-right-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-danger.bs-popover-right>.arrow:after{border-right-color:#f8d7da}.b-popover-danger.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-danger.bs-popover-bottom>.arrow:before{border-bottom-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-danger.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-danger.bs-popover-bottom .popover-header:before,.b-popover-danger.bs-popover-bottom>.arrow:after{border-bottom-color:#f6cace}.b-popover-danger.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-danger.bs-popover-left>.arrow:before{border-left-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-danger.bs-popover-left>.arrow:after{border-left-color:#f8d7da}.b-popover-danger .popover-header{color:#212529;background-color:#f6cace;border-bottom-color:#f2b4ba}.b-popover-danger .popover-body{color:#721c24}.b-popover-light.popover{background-color:#fefefe;border-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-light.bs-popover-top>.arrow:before{border-top-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-light.bs-popover-top>.arrow:after{border-top-color:#fefefe}.b-popover-light.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-light.bs-popover-right>.arrow:before{border-right-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-light.bs-popover-right>.arrow:after{border-right-color:#fefefe}.b-popover-light.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-light.bs-popover-bottom>.arrow:before{border-bottom-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-light.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-light.bs-popover-bottom .popover-header:before,.b-popover-light.bs-popover-bottom>.arrow:after{border-bottom-color:#f6f6f6}.b-popover-light.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-light.bs-popover-left>.arrow:before{border-left-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-light.bs-popover-left>.arrow:after{border-left-color:#fefefe}.b-popover-light .popover-header{color:#212529;background-color:#f6f6f6;border-bottom-color:#eaeaea}.b-popover-light .popover-body{color:#818182}.b-popover-dark.popover{background-color:#d6d8d9;border-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-dark.bs-popover-top>.arrow:before{border-top-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-dark.bs-popover-top>.arrow:after{border-top-color:#d6d8d9}.b-popover-dark.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-dark.bs-popover-right>.arrow:before{border-right-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-dark.bs-popover-right>.arrow:after{border-right-color:#d6d8d9}.b-popover-dark.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-dark.bs-popover-bottom>.arrow:before{border-bottom-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-dark.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-dark.bs-popover-bottom .popover-header:before,.b-popover-dark.bs-popover-bottom>.arrow:after{border-bottom-color:#ced0d2}.b-popover-dark.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-dark.bs-popover-left>.arrow:before{border-left-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-dark.bs-popover-left>.arrow:after{border-left-color:#d6d8d9}.b-popover-dark .popover-header{color:#212529;background-color:#ced0d2;border-bottom-color:#c1c4c5}.b-popover-dark .popover-body{color:#1b1e21}.table.b-table.b-table-fixed{table-layout:fixed}.table.b-table.b-table-no-border-collapse{border-collapse:separate;border-spacing:0}.table.b-table[aria-busy=true]{opacity:.55}.table.b-table>tbody>tr.b-table-details>td{border-top:none!important}.table.b-table>caption{caption-side:bottom}.table.b-table.b-table-caption-top>caption{caption-side:top!important}.table.b-table>tbody>.table-active,.table.b-table>tbody>.table-active>td,.table.b-table>tbody>.table-active>th{background-color:rgba(0,0,0,.075)}.table.b-table.table-hover>tbody>tr.table-active:hover td,.table.b-table.table-hover>tbody>tr.table-active:hover th{color:#212529;background-image:linear-gradient(rgba(0,0,0,.075),rgba(0,0,0,.075));background-repeat:no-repeat}.table.b-table>tbody>.bg-active,.table.b-table>tbody>.bg-active>td,.table.b-table>tbody>.bg-active>th{background-color:hsla(0,0%,100%,.075)!important}.table.b-table.table-hover.table-dark>tbody>tr.bg-active:hover td,.table.b-table.table-hover.table-dark>tbody>tr.bg-active:hover th{color:#fff;background-image:linear-gradient(hsla(0,0%,100%,.075),hsla(0,0%,100%,.075));background-repeat:no-repeat}.b-table-sticky-header,.table-responsive,[class*=table-responsive-]{margin-bottom:1rem}.b-table-sticky-header>.table,.table-responsive>.table,[class*=table-responsive-]>.table{margin-bottom:0}.b-table-sticky-header{overflow-y:auto;max-height:300px}@media print{.b-table-sticky-header{overflow-y:visible!important;max-height:none!important}}@supports ((position:-webkit-sticky) or (position:sticky)){.b-table-sticky-header>.table.b-table>thead>tr>th{position:-webkit-sticky;position:sticky;top:0;z-index:2}.b-table-sticky-header>.table.b-table>tbody>tr>.b-table-sticky-column,.b-table-sticky-header>.table.b-table>tfoot>tr>.b-table-sticky-column,.b-table-sticky-header>.table.b-table>thead>tr>.b-table-sticky-column,.table-responsive>.table.b-table>tbody>tr>.b-table-sticky-column,.table-responsive>.table.b-table>tfoot>tr>.b-table-sticky-column,.table-responsive>.table.b-table>thead>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>tbody>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>tfoot>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>thead>tr>.b-table-sticky-column{position:-webkit-sticky;position:sticky;left:0}.b-table-sticky-header>.table.b-table>thead>tr>.b-table-sticky-column,.table-responsive>.table.b-table>thead>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>thead>tr>.b-table-sticky-column{z-index:5}.b-table-sticky-header>.table.b-table>tbody>tr>.b-table-sticky-column,.b-table-sticky-header>.table.b-table>tfoot>tr>.b-table-sticky-column,.table-responsive>.table.b-table>tbody>tr>.b-table-sticky-column,.table-responsive>.table.b-table>tfoot>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>tbody>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>tfoot>tr>.b-table-sticky-column{z-index:2}.table.b-table>tbody>tr>.table-b-table-default,.table.b-table>tfoot>tr>.table-b-table-default,.table.b-table>thead>tr>.table-b-table-default{color:#212529;background-color:#fff}.table.b-table.table-dark>tbody>tr>.bg-b-table-default,.table.b-table.table-dark>tfoot>tr>.bg-b-table-default,.table.b-table.table-dark>thead>tr>.bg-b-table-default{color:#fff;background-color:#343a40}.table.b-table.table-striped>tbody>tr:nth-of-type(odd)>.table-b-table-default{background-image:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.05));background-repeat:no-repeat}.table.b-table.table-striped.table-dark>tbody>tr:nth-of-type(odd)>.bg-b-table-default{background-image:linear-gradient(hsla(0,0%,100%,.05),hsla(0,0%,100%,.05));background-repeat:no-repeat}.table.b-table.table-hover>tbody>tr:hover>.table-b-table-default{color:#212529;background-image:linear-gradient(rgba(0,0,0,.075),rgba(0,0,0,.075));background-repeat:no-repeat}.table.b-table.table-hover.table-dark>tbody>tr:hover>.bg-b-table-default{color:#fff;background-image:linear-gradient(hsla(0,0%,100%,.075),hsla(0,0%,100%,.075));background-repeat:no-repeat}}.table.b-table>tfoot>tr>[aria-sort],.table.b-table>thead>tr>[aria-sort]{cursor:pointer;background-image:none;background-repeat:no-repeat;background-size:.65em 1em}.table.b-table>tfoot>tr>[aria-sort]:not(.b-table-sort-icon-left),.table.b-table>thead>tr>[aria-sort]:not(.b-table-sort-icon-left){background-position:right 0.375rem center;padding-right:calc(.75rem + .65em)}.table.b-table>tfoot>tr>[aria-sort].b-table-sort-icon-left,.table.b-table>thead>tr>[aria-sort].b-table-sort-icon-left{background-position:left 0.375rem center;padding-left:calc(.75rem + .65em)}.table.b-table>tfoot>tr>[aria-sort=none],.table.b-table>thead>tr>[aria-sort=none]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath opacity='.3' d='M51 1l25 23 24 22H1l25-22zm0 100l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>[aria-sort=ascending],.table.b-table>thead>tr>[aria-sort=ascending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>[aria-sort=descending],.table.b-table>thead>tr>[aria-sort=descending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table.table-dark>tfoot>tr>[aria-sort=none],.table.b-table.table-dark>thead>tr>[aria-sort=none],.table.b-table>.thead-dark>tr>[aria-sort=none]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' opacity='.3' d='M51 1l25 23 24 22H1l25-22zm0 100l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table.table-dark>tfoot>tr>[aria-sort=ascending],.table.b-table.table-dark>thead>tr>[aria-sort=ascending],.table.b-table>.thead-dark>tr>[aria-sort=ascending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath fill='%23fff' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table.table-dark>tfoot>tr>[aria-sort=descending],.table.b-table.table-dark>thead>tr>[aria-sort=descending],.table.b-table>.thead-dark>tr>[aria-sort=descending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath fill='%23fff' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>.table-dark[aria-sort=none],.table.b-table>thead>tr>.table-dark[aria-sort=none]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' opacity='.3' d='M51 1l25 23 24 22H1l25-22zm0 100l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>.table-dark[aria-sort=ascending],.table.b-table>thead>tr>.table-dark[aria-sort=ascending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath fill='%23fff' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>.table-dark[aria-sort=descending],.table.b-table>thead>tr>.table-dark[aria-sort=descending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath fill='%23fff' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table.table-sm>tfoot>tr>[aria-sort]:not(.b-table-sort-icon-left),.table.b-table.table-sm>thead>tr>[aria-sort]:not(.b-table-sort-icon-left){background-position:right 0.15rem center;padding-right:calc(.3rem + .65em)}.table.b-table.table-sm>tfoot>tr>[aria-sort].b-table-sort-icon-left,.table.b-table.table-sm>thead>tr>[aria-sort].b-table-sort-icon-left{background-position:left 0.15rem center;padding-left:calc(.3rem + .65em)}.table.b-table.b-table-selectable>tbody>tr{cursor:pointer}.table.b-table.b-table-selectable.b-table-selecting.b-table-select-range>tbody>tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media (max-width:575.98px){.table.b-table.b-table-stacked-sm{display:block;width:100%}.table.b-table.b-table-stacked-sm>caption,.table.b-table.b-table-stacked-sm>tbody,.table.b-table.b-table-stacked-sm>tbody>tr,.table.b-table.b-table-stacked-sm>tbody>tr>td,.table.b-table.b-table-stacked-sm>tbody>tr>th{display:block}.table.b-table.b-table-stacked-sm>tfoot,.table.b-table.b-table-stacked-sm>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked-sm>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked-sm>thead,.table.b-table.b-table-stacked-sm>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked-sm>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked-sm>caption{caption-side:top!important}.table.b-table.b-table-stacked-sm>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked-sm>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked-sm>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked-sm>tbody>tr.bottom-row,.table.b-table.b-table-stacked-sm>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked-sm>tbody>tr>:first-child,.table.b-table.b-table-stacked-sm>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked-sm>tbody>tr>[rowspan]+th{border-top-width:3px}}@media (max-width:767.98px){.table.b-table.b-table-stacked-md{display:block;width:100%}.table.b-table.b-table-stacked-md>caption,.table.b-table.b-table-stacked-md>tbody,.table.b-table.b-table-stacked-md>tbody>tr,.table.b-table.b-table-stacked-md>tbody>tr>td,.table.b-table.b-table-stacked-md>tbody>tr>th{display:block}.table.b-table.b-table-stacked-md>tfoot,.table.b-table.b-table-stacked-md>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked-md>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked-md>thead,.table.b-table.b-table-stacked-md>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked-md>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked-md>caption{caption-side:top!important}.table.b-table.b-table-stacked-md>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked-md>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked-md>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked-md>tbody>tr.bottom-row,.table.b-table.b-table-stacked-md>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked-md>tbody>tr>:first-child,.table.b-table.b-table-stacked-md>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked-md>tbody>tr>[rowspan]+th{border-top-width:3px}}@media (max-width:991.98px){.table.b-table.b-table-stacked-lg{display:block;width:100%}.table.b-table.b-table-stacked-lg>caption,.table.b-table.b-table-stacked-lg>tbody,.table.b-table.b-table-stacked-lg>tbody>tr,.table.b-table.b-table-stacked-lg>tbody>tr>td,.table.b-table.b-table-stacked-lg>tbody>tr>th{display:block}.table.b-table.b-table-stacked-lg>tfoot,.table.b-table.b-table-stacked-lg>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked-lg>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked-lg>thead,.table.b-table.b-table-stacked-lg>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked-lg>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked-lg>caption{caption-side:top!important}.table.b-table.b-table-stacked-lg>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked-lg>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked-lg>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked-lg>tbody>tr.bottom-row,.table.b-table.b-table-stacked-lg>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked-lg>tbody>tr>:first-child,.table.b-table.b-table-stacked-lg>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked-lg>tbody>tr>[rowspan]+th{border-top-width:3px}}@media (max-width:1199.98px){.table.b-table.b-table-stacked-xl{display:block;width:100%}.table.b-table.b-table-stacked-xl>caption,.table.b-table.b-table-stacked-xl>tbody,.table.b-table.b-table-stacked-xl>tbody>tr,.table.b-table.b-table-stacked-xl>tbody>tr>td,.table.b-table.b-table-stacked-xl>tbody>tr>th{display:block}.table.b-table.b-table-stacked-xl>tfoot,.table.b-table.b-table-stacked-xl>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked-xl>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked-xl>thead,.table.b-table.b-table-stacked-xl>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked-xl>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked-xl>caption{caption-side:top!important}.table.b-table.b-table-stacked-xl>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked-xl>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked-xl>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked-xl>tbody>tr.bottom-row,.table.b-table.b-table-stacked-xl>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked-xl>tbody>tr>:first-child,.table.b-table.b-table-stacked-xl>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked-xl>tbody>tr>[rowspan]+th{border-top-width:3px}}.table.b-table.b-table-stacked{display:block;width:100%}.table.b-table.b-table-stacked>caption,.table.b-table.b-table-stacked>tbody,.table.b-table.b-table-stacked>tbody>tr,.table.b-table.b-table-stacked>tbody>tr>td,.table.b-table.b-table-stacked>tbody>tr>th{display:block}.table.b-table.b-table-stacked>tfoot,.table.b-table.b-table-stacked>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked>thead,.table.b-table.b-table-stacked>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked>caption{caption-side:top!important}.table.b-table.b-table-stacked>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked>tbody>tr.bottom-row,.table.b-table.b-table-stacked>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked>tbody>tr>:first-child,.table.b-table.b-table-stacked>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked>tbody>tr>[rowspan]+th{border-top-width:3px}.b-toast{display:block;position:relative;max-width:350px;-webkit-backface-visibility:hidden;backface-visibility:hidden;background-clip:padding-box;z-index:1;border-radius:.25rem}.b-toast .toast{background-color:hsla(0,0%,100%,.85)}.b-toast:not(:last-child){margin-bottom:.75rem}.b-toast.b-toast-solid .toast{background-color:#fff}.b-toast .toast{opacity:1}.b-toast .toast.fade:not(.show){opacity:0}.b-toast .toast .toast-body{display:block}.b-toast-primary .toast{background-color:rgba(230,242,255,.85);border-color:rgba(184,218,255,.85);color:#004085}.b-toast-primary .toast .toast-header{color:#004085;background-color:rgba(204,229,255,.85);border-bottom-color:rgba(184,218,255,.85)}.b-toast-primary.b-toast-solid .toast{background-color:#e6f2ff}.b-toast-secondary .toast{background-color:hsla(210,7%,94%,.85);border-color:hsla(216,6%,85%,.85);color:#383d41}.b-toast-secondary .toast .toast-header{color:#383d41;background-color:hsla(220,5%,89%,.85);border-bottom-color:hsla(216,6%,85%,.85)}.b-toast-secondary.b-toast-solid .toast{background-color:#eff0f1}.b-toast-success .toast{background-color:rgba(230,245,233,.85);border-color:rgba(195,230,203,.85);color:#155724}.b-toast-success .toast .toast-header{color:#155724;background-color:rgba(212,237,218,.85);border-bottom-color:rgba(195,230,203,.85)}.b-toast-success.b-toast-solid .toast{background-color:#e6f5e9}.b-toast-info .toast{background-color:rgba(229,244,247,.85);border-color:rgba(190,229,235,.85);color:#0c5460}.b-toast-info .toast .toast-header{color:#0c5460;background-color:rgba(209,236,241,.85);border-bottom-color:rgba(190,229,235,.85)}.b-toast-info.b-toast-solid .toast{background-color:#e5f4f7}.b-toast-warning .toast{background-color:rgba(255,249,231,.85);border-color:rgba(255,238,186,.85);color:#856404}.b-toast-warning .toast .toast-header{color:#856404;background-color:rgba(255,243,205,.85);border-bottom-color:rgba(255,238,186,.85)}.b-toast-warning.b-toast-solid .toast{background-color:#fff9e7}.b-toast-danger .toast{background-color:rgba(252,237,238,.85);border-color:rgba(245,198,203,.85);color:#721c24}.b-toast-danger .toast .toast-header{color:#721c24;background-color:rgba(248,215,218,.85);border-bottom-color:rgba(245,198,203,.85)}.b-toast-danger.b-toast-solid .toast{background-color:#fcedee}.b-toast-light .toast{background-color:hsla(0,0%,100%,.85);border-color:rgba(253,253,254,.85);color:#818182}.b-toast-light .toast .toast-header{color:#818182;background-color:hsla(0,0%,100%,.85);border-bottom-color:rgba(253,253,254,.85)}.b-toast-light.b-toast-solid .toast{background-color:#fff}.b-toast-dark .toast{background-color:hsla(180,4%,89%,.85);border-color:hsla(210,4%,78%,.85);color:#1b1e21}.b-toast-dark .toast .toast-header{color:#1b1e21;background-color:hsla(200,4%,85%,.85);border-bottom-color:hsla(210,4%,78%,.85)}.b-toast-dark.b-toast-solid .toast{background-color:#e3e5e5}.b-toaster{z-index:1100}.b-toaster .b-toaster-slot{position:relative;display:block}.b-toaster .b-toaster-slot:empty{display:none!important}.b-toaster.b-toaster-bottom-center,.b-toaster.b-toaster-bottom-full,.b-toaster.b-toaster-bottom-left,.b-toaster.b-toaster-bottom-right,.b-toaster.b-toaster-top-center,.b-toaster.b-toaster-top-full,.b-toaster.b-toaster-top-left,.b-toaster.b-toaster-top-right{position:fixed;left:.5rem;right:.5rem;margin:0;padding:0;height:0;overflow:visible}.b-toaster.b-toaster-bottom-center .b-toaster-slot,.b-toaster.b-toaster-bottom-full .b-toaster-slot,.b-toaster.b-toaster-bottom-left .b-toaster-slot,.b-toaster.b-toaster-bottom-right .b-toaster-slot,.b-toaster.b-toaster-top-center .b-toaster-slot,.b-toaster.b-toaster-top-full .b-toaster-slot,.b-toaster.b-toaster-top-left .b-toaster-slot,.b-toaster.b-toaster-top-right .b-toaster-slot{position:absolute;max-width:350px;width:100%;left:0;right:0;padding:0;margin:0}.b-toaster.b-toaster-bottom-full .b-toaster-slot,.b-toaster.b-toaster-bottom-full .b-toaster-slot .b-toast,.b-toaster.b-toaster-bottom-full .b-toaster-slot .toast,.b-toaster.b-toaster-top-full .b-toaster-slot,.b-toaster.b-toaster-top-full .b-toaster-slot .b-toast,.b-toaster.b-toaster-top-full .b-toaster-slot .toast{width:100%;max-width:100%}.b-toaster.b-toaster-top-center,.b-toaster.b-toaster-top-full,.b-toaster.b-toaster-top-left,.b-toaster.b-toaster-top-right{top:0}.b-toaster.b-toaster-top-center .b-toaster-slot,.b-toaster.b-toaster-top-full .b-toaster-slot,.b-toaster.b-toaster-top-left .b-toaster-slot,.b-toaster.b-toaster-top-right .b-toaster-slot{top:.5rem}.b-toaster.b-toaster-bottom-center,.b-toaster.b-toaster-bottom-full,.b-toaster.b-toaster-bottom-left,.b-toaster.b-toaster-bottom-right{bottom:0}.b-toaster.b-toaster-bottom-center .b-toaster-slot,.b-toaster.b-toaster-bottom-full .b-toaster-slot,.b-toaster.b-toaster-bottom-left .b-toaster-slot,.b-toaster.b-toaster-bottom-right .b-toaster-slot{bottom:.5rem}.b-toaster.b-toaster-bottom-center .b-toaster-slot,.b-toaster.b-toaster-bottom-right .b-toaster-slot,.b-toaster.b-toaster-top-center .b-toaster-slot,.b-toaster.b-toaster-top-right .b-toaster-slot{margin-left:auto}.b-toaster.b-toaster-bottom-center .b-toaster-slot,.b-toaster.b-toaster-bottom-left .b-toaster-slot,.b-toaster.b-toaster-top-center .b-toaster-slot,.b-toaster.b-toaster-top-left .b-toaster-slot{margin-right:auto}.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-active,.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-move,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-active,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-move,.b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-active,.b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-top-left .b-toast.b-toaster-move,.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-active,.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-top-right .b-toast.b-toaster-move{transition:-webkit-transform .175s;transition:transform .175s;transition:transform .175s,-webkit-transform .175s}.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-active .toast.fade,.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-to .toast.fade,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-active .toast.fade,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-to .toast.fade,.b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-active .toast.fade,.b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-to .toast.fade,.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-active .toast.fade,.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-to .toast.fade{transition-delay:.175s}.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active{position:absolute;transition-delay:.175s}.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active .toast.fade,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active .toast.fade,.b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active .toast.fade,.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active .toast.fade{transition-delay:0s}.tooltip.b-tooltip{display:block;opacity:.9}.tooltip.b-tooltip.fade:not(.show){opacity:0}.tooltip.b-tooltip.show{opacity:.9}.tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-primary.bs-tooltip-top .arrow:before{border-top-color:#007bff}.tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-primary.bs-tooltip-right .arrow:before{border-right-color:#007bff}.tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-primary.bs-tooltip-bottom .arrow:before{border-bottom-color:#007bff}.tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-primary.bs-tooltip-left .arrow:before{border-left-color:#007bff}.tooltip.b-tooltip-primary .tooltip-inner{color:#fff;background-color:#007bff}.tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-secondary.bs-tooltip-top .arrow:before{border-top-color:#6c757d}.tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-secondary.bs-tooltip-right .arrow:before{border-right-color:#6c757d}.tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-secondary.bs-tooltip-bottom .arrow:before{border-bottom-color:#6c757d}.tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-secondary.bs-tooltip-left .arrow:before{border-left-color:#6c757d}.tooltip.b-tooltip-secondary .tooltip-inner{color:#fff;background-color:#6c757d}.tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-success.bs-tooltip-top .arrow:before{border-top-color:#28a745}.tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-success.bs-tooltip-right .arrow:before{border-right-color:#28a745}.tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-success.bs-tooltip-bottom .arrow:before{border-bottom-color:#28a745}.tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-success.bs-tooltip-left .arrow:before{border-left-color:#28a745}.tooltip.b-tooltip-success .tooltip-inner{color:#fff;background-color:#28a745}.tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-info.bs-tooltip-top .arrow:before{border-top-color:#17a2b8}.tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-info.bs-tooltip-right .arrow:before{border-right-color:#17a2b8}.tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-info.bs-tooltip-bottom .arrow:before{border-bottom-color:#17a2b8}.tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-info.bs-tooltip-left .arrow:before{border-left-color:#17a2b8}.tooltip.b-tooltip-info .tooltip-inner{color:#fff;background-color:#17a2b8}.tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-warning.bs-tooltip-top .arrow:before{border-top-color:#ffc107}.tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-warning.bs-tooltip-right .arrow:before{border-right-color:#ffc107}.tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-warning.bs-tooltip-bottom .arrow:before{border-bottom-color:#ffc107}.tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-warning.bs-tooltip-left .arrow:before{border-left-color:#ffc107}.tooltip.b-tooltip-warning .tooltip-inner{color:#212529;background-color:#ffc107}.tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-danger.bs-tooltip-top .arrow:before{border-top-color:#dc3545}.tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-danger.bs-tooltip-right .arrow:before{border-right-color:#dc3545}.tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-danger.bs-tooltip-bottom .arrow:before{border-bottom-color:#dc3545}.tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-danger.bs-tooltip-left .arrow:before{border-left-color:#dc3545}.tooltip.b-tooltip-danger .tooltip-inner{color:#fff;background-color:#dc3545}.tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-light.bs-tooltip-top .arrow:before{border-top-color:#f8f9fa}.tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-light.bs-tooltip-right .arrow:before{border-right-color:#f8f9fa}.tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-light.bs-tooltip-bottom .arrow:before{border-bottom-color:#f8f9fa}.tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-light.bs-tooltip-left .arrow:before{border-left-color:#f8f9fa}.tooltip.b-tooltip-light .tooltip-inner{color:#212529;background-color:#f8f9fa}.tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-dark.bs-tooltip-top .arrow:before{border-top-color:#343a40}.tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-dark.bs-tooltip-right .arrow:before{border-right-color:#343a40}.tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-dark.bs-tooltip-bottom .arrow:before{border-bottom-color:#343a40}.tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-dark.bs-tooltip-left .arrow:before{border-left-color:#343a40}.tooltip.b-tooltip-dark .tooltip-inner{color:#fff;background-color:#343a40}",""])},function(t,e,r){var o=r(281);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("ac0c440e",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,"code[class*=language-],pre[class*=language-]{color:#000;background:none;text-shadow:0 1px #fff;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}",""])},function(t,e,r){var o=r(283);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("011b38f9",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,'code[class*=language-],pre[class*=language-]{color:#000;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{position:relative;margin:.5em 0;overflow:visible;padding:0}pre[class*=language-]>code{position:relative;border-left:10px solid #358ccb;box-shadow:-1px 0 0 0 #358ccb,0 0 0 1px #dfdfdf;background-color:#fdfdfd;background-image:linear-gradient(transparent 50%,rgba(69,142,209,.04) 0);background-size:3em 3em;background-origin:content-box;background-attachment:local}code[class*=language]{max-height:inherit;height:inherit;padding:0 1em;display:block;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdfdfd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:1em}:not(pre)>code[class*=language-]{position:relative;padding:.2em;border-radius:.3em;color:#c92c2c;border:1px solid rgba(0,0,0,.1);display:inline;white-space:normal}pre[class*=language-]:after,pre[class*=language-]:before{content:"";z-index:-2;display:block;position:absolute;bottom:.75em;left:.18em;width:40%;height:20%;max-height:13em;box-shadow:0 13px 8px #979797;-webkit-transform:rotate(-2deg);-moz-transform:rotate(-2deg);-ms-transform:rotate(-2deg);-o-transform:rotate(-2deg);transform:rotate(-2deg)}:not(pre)>code[class*=language-]:after,pre[class*=language-]:after{right:.75em;left:auto;-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7d8b99}.token.punctuation{color:#5f6364}.token.boolean,.token.constant,.token.deleted,.token.function-name,.token.number,.token.property,.token.symbol,.token.tag{color:#c92c2c}.token.attr-name,.token.builtin,.token.char,.token.function,.token.inserted,.token.selector,.token.string{color:#2f9c0a}.token.entity,.token.operator,.token.url,.token.variable{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.class-name,.token.keyword{color:#1990b8}.token.important,.token.regex{color:#e90}.language-css .token.string,.style .token.string{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.important{font-weight:400}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.namespace{opacity:.7}@media screen and (max-width:767px){pre[class*=language-]:after,pre[class*=language-]:before{bottom:14px;box-shadow:none}}.token.cr:before,.token.lf:before,.token.tab:not(:empty):before{color:#e0d7d1}pre[class*=language-].line-numbers.line-numbers{padding-left:0}pre[class*=language-].line-numbers.line-numbers code{padding-left:3.8em}pre[class*=language-].line-numbers.line-numbers .line-numbers-rows{left:0}pre[class*=language-][data-line]{padding-top:0;padding-bottom:0;padding-left:0}pre[data-line] code{position:relative;padding-left:4em}pre .line-highlight{margin-top:0}',""])}]); -//# sourceMappingURL=build.js.map \ No newline at end of file +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 223); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(50);\n//\n// Single point of contact for Vue\n//\n// TODO:\n// Conditionally import Vue if no global Vue\n//\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0_vue__[\"default\"]);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvdnVlLmpzPzkxMTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDc0I7QUFDUCxxR0FBRyIsImZpbGUiOiIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIFNpbmdsZSBwb2ludCBvZiBjb250YWN0IGZvciBWdWVcbi8vXG4vLyBUT0RPOlxuLy8gICBDb25kaXRpb25hbGx5IGltcG9ydCBWdWUgaWYgbm8gZ2xvYmFsIFZ1ZVxuLy9cbmltcG9ydCBWdWUgZnJvbSAndnVlJztcbmV4cG9ydCBkZWZhdWx0IFZ1ZTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy92dWUuanNcbi8vIG1vZHVsZSBpZCA9IDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n"); + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export toType */\n/* unused harmony export toRawType */\n/* unused harmony export toRawTypeLC */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return isUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return isNull; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return isUndefinedOrNull; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return isBoolean; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return isString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return isNumber; });\n/* unused harmony export isPrimitive */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return isDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return isEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return isFile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return isRegExp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return isPromise; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__safe_types__ = __webpack_require__(17);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__array__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_1__object__[\"h\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_1__object__[\"i\"]; });\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\n\n\n // --- Convenience inspection utilities ---\n\nvar toType = function toType(val) {\n return _typeof(val);\n};\nvar toRawType = function toRawType(val) {\n return Object.prototype.toString.call(val).slice(8, -1);\n};\nvar toRawTypeLC = function toRawTypeLC(val) {\n return toRawType(val).toLowerCase();\n};\nvar isUndefined = function isUndefined(val) {\n return val === undefined;\n};\nvar isNull = function isNull(val) {\n return val === null;\n};\nvar isUndefinedOrNull = function isUndefinedOrNull(val) {\n return isUndefined(val) || isNull(val);\n};\nvar isFunction = function isFunction(val) {\n return toType(val) === 'function';\n};\nvar isBoolean = function isBoolean(val) {\n return toType(val) === 'boolean';\n};\nvar isString = function isString(val) {\n return toType(val) === 'string';\n};\nvar isNumber = function isNumber(val) {\n return toType(val) === 'number';\n};\nvar isPrimitive = function isPrimitive(val) {\n return isBoolean(val) || isString(val) || isNumber(val);\n};\nvar isDate = function isDate(val) {\n return val instanceof Date;\n};\nvar isEvent = function isEvent(val) {\n return val instanceof Event;\n};\nvar isFile = function isFile(val) {\n return val instanceof __WEBPACK_IMPORTED_MODULE_2__safe_types__[\"a\" /* File */];\n};\nvar isRegExp = function isRegExp(val) {\n return toRawType(val) === 'RegExp';\n};\nvar isPromise = function isPromise(val) {\n return !isUndefinedOrNull(val) && isFunction(val.then) && isFunction(val.catch);\n}; // Extra convenience named re-exports\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvaW5zcGVjdC5qcz9mMTJjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsdUJBQXVCLDJFQUEyRSxrQ0FBa0MsbUJBQW1CLEdBQUcsRUFBRSxPQUFPLGtDQUFrQyw4SEFBOEgsR0FBRyxFQUFFLHFCQUFxQjs7QUFFM1Q7QUFDaUI7QUFDZjs7QUFFN0I7QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUCx3QkFBd0IseURBQUk7QUFDNUI7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0EsRUFBRSIsImZpbGUiOiIxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4vYXJyYXknO1xuaW1wb3J0IHsgaXNPYmplY3QsIGlzUGxhaW5PYmplY3QgfSBmcm9tICcuL29iamVjdCc7XG5pbXBvcnQgeyBGaWxlIH0gZnJvbSAnLi9zYWZlLXR5cGVzJzsgLy8gLS0tIENvbnZlbmllbmNlIGluc3BlY3Rpb24gdXRpbGl0aWVzIC0tLVxuXG5leHBvcnQgdmFyIHRvVHlwZSA9IGZ1bmN0aW9uIHRvVHlwZSh2YWwpIHtcbiAgcmV0dXJuIF90eXBlb2YodmFsKTtcbn07XG5leHBvcnQgdmFyIHRvUmF3VHlwZSA9IGZ1bmN0aW9uIHRvUmF3VHlwZSh2YWwpIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpLnNsaWNlKDgsIC0xKTtcbn07XG5leHBvcnQgdmFyIHRvUmF3VHlwZUxDID0gZnVuY3Rpb24gdG9SYXdUeXBlTEModmFsKSB7XG4gIHJldHVybiB0b1Jhd1R5cGUodmFsKS50b0xvd2VyQ2FzZSgpO1xufTtcbmV4cG9ydCB2YXIgaXNVbmRlZmluZWQgPSBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWwpIHtcbiAgcmV0dXJuIHZhbCA9PT0gdW5kZWZpbmVkO1xufTtcbmV4cG9ydCB2YXIgaXNOdWxsID0gZnVuY3Rpb24gaXNOdWxsKHZhbCkge1xuICByZXR1cm4gdmFsID09PSBudWxsO1xufTtcbmV4cG9ydCB2YXIgaXNVbmRlZmluZWRPck51bGwgPSBmdW5jdGlvbiBpc1VuZGVmaW5lZE9yTnVsbCh2YWwpIHtcbiAgcmV0dXJuIGlzVW5kZWZpbmVkKHZhbCkgfHwgaXNOdWxsKHZhbCk7XG59O1xuZXhwb3J0IHZhciBpc0Z1bmN0aW9uID0gZnVuY3Rpb24gaXNGdW5jdGlvbih2YWwpIHtcbiAgcmV0dXJuIHRvVHlwZSh2YWwpID09PSAnZnVuY3Rpb24nO1xufTtcbmV4cG9ydCB2YXIgaXNCb29sZWFuID0gZnVuY3Rpb24gaXNCb29sZWFuKHZhbCkge1xuICByZXR1cm4gdG9UeXBlKHZhbCkgPT09ICdib29sZWFuJztcbn07XG5leHBvcnQgdmFyIGlzU3RyaW5nID0gZnVuY3Rpb24gaXNTdHJpbmcodmFsKSB7XG4gIHJldHVybiB0b1R5cGUodmFsKSA9PT0gJ3N0cmluZyc7XG59O1xuZXhwb3J0IHZhciBpc051bWJlciA9IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbCkge1xuICByZXR1cm4gdG9UeXBlKHZhbCkgPT09ICdudW1iZXInO1xufTtcbmV4cG9ydCB2YXIgaXNQcmltaXRpdmUgPSBmdW5jdGlvbiBpc1ByaW1pdGl2ZSh2YWwpIHtcbiAgcmV0dXJuIGlzQm9vbGVhbih2YWwpIHx8IGlzU3RyaW5nKHZhbCkgfHwgaXNOdW1iZXIodmFsKTtcbn07XG5leHBvcnQgdmFyIGlzRGF0ZSA9IGZ1bmN0aW9uIGlzRGF0ZSh2YWwpIHtcbiAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIERhdGU7XG59O1xuZXhwb3J0IHZhciBpc0V2ZW50ID0gZnVuY3Rpb24gaXNFdmVudCh2YWwpIHtcbiAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIEV2ZW50O1xufTtcbmV4cG9ydCB2YXIgaXNGaWxlID0gZnVuY3Rpb24gaXNGaWxlKHZhbCkge1xuICByZXR1cm4gdmFsIGluc3RhbmNlb2YgRmlsZTtcbn07XG5leHBvcnQgdmFyIGlzUmVnRXhwID0gZnVuY3Rpb24gaXNSZWdFeHAodmFsKSB7XG4gIHJldHVybiB0b1Jhd1R5cGUodmFsKSA9PT0gJ1JlZ0V4cCc7XG59O1xuZXhwb3J0IHZhciBpc1Byb21pc2UgPSBmdW5jdGlvbiBpc1Byb21pc2UodmFsKSB7XG4gIHJldHVybiAhaXNVbmRlZmluZWRPck51bGwodmFsKSAmJiBpc0Z1bmN0aW9uKHZhbC50aGVuKSAmJiBpc0Z1bmN0aW9uKHZhbC5jYXRjaCk7XG59OyAvLyBFeHRyYSBjb252ZW5pZW5jZSBuYW1lZCByZS1leHBvcnRzXG5cbmV4cG9ydCB7IGlzQXJyYXksIGlzT2JqZWN0LCBpc1BsYWluT2JqZWN0IH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvaW5zcGVjdC5qc1xuLy8gbW9kdWxlIGlkID0gMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///1\n"); + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return a; });\nvar e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r<s;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},t={kebab:/-(\\w)/g,styleProp:/:(.*)/,styleList:/;(?![^(]*\\))/g};function r(e,t){return t?t.toUpperCase():\"\"}function s(e){for(var s,a={},c=0,o=e.split(t.styleList);c<o.length;c++){var n=o[c].split(t.styleProp),i=n[0],l=n[1];(i=i.trim())&&(\"string\"==typeof l&&(l=l.trim()),a[(s=i,s.replace(t.kebab,r))]=l)}return a}function a(){for(var t,r,a={},c=arguments.length;c--;)for(var o=0,n=Object.keys(arguments[c]);o<n.length;o++)switch(t=n[o]){case\"class\":case\"style\":case\"directives\":if(Array.isArray(a[t])||(a[t]=[]),\"style\"===t){var i=void 0;i=Array.isArray(arguments[c].style)?arguments[c].style:[arguments[c].style];for(var l=0;l<i.length;l++){var y=i[l];\"string\"==typeof y&&(i[l]=s(y))}arguments[c].style=i}a[t]=a[t].concat(arguments[c][t]);break;case\"staticClass\":if(!arguments[c][t])break;void 0===a[t]&&(a[t]=\"\"),a[t]&&(a[t]+=\" \"),a[t]+=arguments[c][t].trim();break;case\"on\":case\"nativeOn\":a[t]||(a[t]={});for(var p=0,f=Object.keys(arguments[c][t]||{});p<f.length;p++)r=f[p],a[t][r]?a[t][r]=[].concat(a[t][r],arguments[c][t][r]):a[t][r]=arguments[c][t][r];break;case\"attrs\":case\"props\":case\"domProps\":case\"scopedSlots\":case\"staticStyle\":case\"hook\":case\"transition\":a[t]||(a[t]={}),a[t]=e({},arguments[c][t],a[t]);break;case\"slot\":case\"key\":case\"ref\":case\"tag\":case\"show\":case\"keepAlive\":default:a[t]||(a[t]=arguments[c][t])}return a}\n//# sourceMappingURL=lib.esm.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZS9kaXN0L2xpYi5lc20uanM/ZDhmNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBLGlCQUFpQixvQ0FBb0MsaUNBQWlDLElBQUksdUZBQXVGLFNBQVMsd0JBQXdCLElBQUksNkNBQTZDLGVBQWUsZ0JBQWdCLDRCQUE0QixjQUFjLGNBQWMsNEJBQTRCLFdBQVcsS0FBSyw0Q0FBNEMsaUZBQWlGLFNBQVMsYUFBYSxnQkFBZ0Isb0JBQW9CLElBQUkseUNBQXlDLFdBQVcsbUJBQW1CLHdGQUF3RixhQUFhLDRFQUE0RSxZQUFZLFdBQVcsS0FBSyxXQUFXLGdDQUFnQyxxQkFBcUIsa0NBQWtDLE1BQU0sNENBQTRDLHdFQUF3RSxNQUFNLHNDQUFzQyxFQUFFLDZDQUE2QyxFQUFFLFdBQVcsNEZBQTRGLE1BQU0scUhBQXFILFdBQVcsdUJBQXVCLE1BQU0seUdBQXlHLFNBQWdDO0FBQ2ppRCIsImZpbGUiOiIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4oZT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQscj0xLHM9YXJndW1lbnRzLmxlbmd0aDtyPHM7cisrKWZvcih2YXIgYSBpbiB0PWFyZ3VtZW50c1tyXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHQ9e2tlYmFiOi8tKFxcdykvZyxzdHlsZVByb3A6LzooLiopLyxzdHlsZUxpc3Q6LzsoPyFbXihdKlxcKSkvZ307ZnVuY3Rpb24gcihlLHQpe3JldHVybiB0P3QudG9VcHBlckNhc2UoKTpcIlwifWZ1bmN0aW9uIHMoZSl7Zm9yKHZhciBzLGE9e30sYz0wLG89ZS5zcGxpdCh0LnN0eWxlTGlzdCk7YzxvLmxlbmd0aDtjKyspe3ZhciBuPW9bY10uc3BsaXQodC5zdHlsZVByb3ApLGk9blswXSxsPW5bMV07KGk9aS50cmltKCkpJiYoXCJzdHJpbmdcIj09dHlwZW9mIGwmJihsPWwudHJpbSgpKSxhWyhzPWkscy5yZXBsYWNlKHQua2ViYWIscikpXT1sKX1yZXR1cm4gYX1mdW5jdGlvbiBhKCl7Zm9yKHZhciB0LHIsYT17fSxjPWFyZ3VtZW50cy5sZW5ndGg7Yy0tOylmb3IodmFyIG89MCxuPU9iamVjdC5rZXlzKGFyZ3VtZW50c1tjXSk7bzxuLmxlbmd0aDtvKyspc3dpdGNoKHQ9bltvXSl7Y2FzZVwiY2xhc3NcIjpjYXNlXCJzdHlsZVwiOmNhc2VcImRpcmVjdGl2ZXNcIjppZihBcnJheS5pc0FycmF5KGFbdF0pfHwoYVt0XT1bXSksXCJzdHlsZVwiPT09dCl7dmFyIGk9dm9pZCAwO2k9QXJyYXkuaXNBcnJheShhcmd1bWVudHNbY10uc3R5bGUpP2FyZ3VtZW50c1tjXS5zdHlsZTpbYXJndW1lbnRzW2NdLnN0eWxlXTtmb3IodmFyIGw9MDtsPGkubGVuZ3RoO2wrKyl7dmFyIHk9aVtsXTtcInN0cmluZ1wiPT10eXBlb2YgeSYmKGlbbF09cyh5KSl9YXJndW1lbnRzW2NdLnN0eWxlPWl9YVt0XT1hW3RdLmNvbmNhdChhcmd1bWVudHNbY11bdF0pO2JyZWFrO2Nhc2VcInN0YXRpY0NsYXNzXCI6aWYoIWFyZ3VtZW50c1tjXVt0XSlicmVhazt2b2lkIDA9PT1hW3RdJiYoYVt0XT1cIlwiKSxhW3RdJiYoYVt0XSs9XCIgXCIpLGFbdF0rPWFyZ3VtZW50c1tjXVt0XS50cmltKCk7YnJlYWs7Y2FzZVwib25cIjpjYXNlXCJuYXRpdmVPblwiOmFbdF18fChhW3RdPXt9KTtmb3IodmFyIHA9MCxmPU9iamVjdC5rZXlzKGFyZ3VtZW50c1tjXVt0XXx8e30pO3A8Zi5sZW5ndGg7cCsrKXI9ZltwXSxhW3RdW3JdP2FbdF1bcl09W10uY29uY2F0KGFbdF1bcl0sYXJndW1lbnRzW2NdW3RdW3JdKTphW3RdW3JdPWFyZ3VtZW50c1tjXVt0XVtyXTticmVhaztjYXNlXCJhdHRyc1wiOmNhc2VcInByb3BzXCI6Y2FzZVwiZG9tUHJvcHNcIjpjYXNlXCJzY29wZWRTbG90c1wiOmNhc2VcInN0YXRpY1N0eWxlXCI6Y2FzZVwiaG9va1wiOmNhc2VcInRyYW5zaXRpb25cIjphW3RdfHwoYVt0XT17fSksYVt0XT1lKHt9LGFyZ3VtZW50c1tjXVt0XSxhW3RdKTticmVhaztjYXNlXCJzbG90XCI6Y2FzZVwia2V5XCI6Y2FzZVwicmVmXCI6Y2FzZVwidGFnXCI6Y2FzZVwic2hvd1wiOmNhc2VcImtlZXBBbGl2ZVwiOmRlZmF1bHQ6YVt0XXx8KGFbdF09YXJndW1lbnRzW2NdW3RdKX1yZXR1cm4gYX1leHBvcnR7YSBhcyBtZXJnZURhdGF9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGliLmVzbS5qcy5tYXBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UvZGlzdC9saWIuZXNtLmpzXG4vLyBtb2R1bGUgaWQgPSAyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///2\n"); + +/***/ }), +/* 3 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export checkMultipleVue */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return installFactory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return pluginFactory; });\n/* unused harmony export registerPlugins */\n/* unused harmony export registerComponent */\n/* unused harmony export registerComponents */\n/* unused harmony export registerDirective */\n/* unused harmony export registerDirectives */\n/* unused harmony export vueUse */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__config_set__ = __webpack_require__(247);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__env__ = __webpack_require__(10);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n/**\n * Checks if there are multiple instances of Vue, and warns (once) about possible issues.\n * @param {object} Vue\n */\n\nvar checkMultipleVue = function () {\n var checkMultipleVueWarned = false;\n var MULTIPLE_VUE_WARNING = ['Multiple instances of Vue detected!', 'You may need to set up an alias for Vue in your bundler config.', 'See: https://bootstrap-vue.js.org/docs#using-module-bundlers'].join('\\n');\n return function (Vue) {\n /* istanbul ignore next */\n if (!checkMultipleVueWarned && __WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */] !== Vue && !__WEBPACK_IMPORTED_MODULE_3__env__[\"k\" /* isJSDOM */]) {\n Object(__WEBPACK_IMPORTED_MODULE_1__warn__[\"a\" /* default */])(MULTIPLE_VUE_WARNING);\n }\n\n checkMultipleVueWarned = true;\n };\n}();\n/**\n * Plugin install factory function.\n * @param {object} { components, directives }\n * @returns {function} plugin install function\n */\n\nvar installFactory = function installFactory() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n components = _ref.components,\n directives = _ref.directives,\n plugins = _ref.plugins;\n\n var install = function install(Vue) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (install.installed) {\n /* istanbul ignore next */\n return;\n }\n\n install.installed = true;\n checkMultipleVue(Vue);\n Object(__WEBPACK_IMPORTED_MODULE_2__config_set__[\"a\" /* setConfig */])(config, Vue);\n registerComponents(Vue, components);\n registerDirectives(Vue, directives);\n registerPlugins(Vue, plugins);\n };\n\n install.installed = false;\n return install;\n};\n/**\n * Plugin object factory function.\n * @param {object} { components, directives, plugins }\n * @returns {object} plugin install object\n */\n\nvar pluginFactory = function pluginFactory() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extend = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _objectSpread({}, extend, {\n install: installFactory(opts)\n });\n};\n/**\n * Load a group of plugins.\n * @param {object} Vue\n * @param {object} Plugin definitions\n */\n\nvar registerPlugins = function registerPlugins(Vue) {\n var plugins = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var plugin in plugins) {\n if (plugin && plugins[plugin]) {\n Vue.use(plugins[plugin]);\n }\n }\n};\n/**\n * Load a component.\n * @param {object} Vue\n * @param {string} Component name\n * @param {object} Component definition\n */\n\nvar registerComponent = function registerComponent(Vue, name, def) {\n if (Vue && name && def) {\n Vue.component(name, def);\n }\n};\n/**\n * Load a group of components.\n * @param {object} Vue\n * @param {object} Object of component definitions\n */\n\nvar registerComponents = function registerComponents(Vue) {\n var components = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var component in components) {\n registerComponent(Vue, component, components[component]);\n }\n};\n/**\n * Load a directive.\n * @param {object} Vue\n * @param {string} Directive name\n * @param {object} Directive definition\n */\n\nvar registerDirective = function registerDirective(Vue, name, def) {\n if (Vue && name && def) {\n // Ensure that any leading V is removed from the\n // name, as Vue adds it automatically\n Vue.directive(name.replace(/^VB/, 'B'), def);\n }\n};\n/**\n * Load a group of directives.\n * @param {object} Vue\n * @param {object} Object of directive definitions\n */\n\nvar registerDirectives = function registerDirectives(Vue) {\n var directives = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var directive in directives) {\n registerDirective(Vue, directive, directives[directive]);\n }\n};\n/**\n * Install plugin if window.Vue available\n * @param {object} Plugin definition\n */\n\nvar vueUse = function vueUse(VuePlugin) {\n /* istanbul ignore next */\n if (__WEBPACK_IMPORTED_MODULE_3__env__[\"i\" /* hasWindowSupport */] && window.Vue) {\n window.Vue.use(VuePlugin);\n }\n /* istanbul ignore next */\n\n\n if (__WEBPACK_IMPORTED_MODULE_3__env__[\"i\" /* hasWindowSupport */] && VuePlugin.NAME) {\n window[VuePlugin.NAME] = VuePlugin;\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvcGx1Z2lucy5qcz9kYjQ0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUVwTDtBQUNEO0FBQ2U7QUFDUztBQUNsRDtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMscURBQU0sYUFBYSxxREFBTztBQUM3RCxNQUFNLDhEQUFJO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsV0FBVyxPQUFPLEVBQUU7QUFDcEIsYUFBYSxTQUFTO0FBQ3RCOztBQUVPO0FBQ1AsbUZBQW1GO0FBQ25GO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJLHNFQUFTO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTyxFQUFFO0FBQ3BCLGFBQWEsT0FBTztBQUNwQjs7QUFFTztBQUNQO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQjs7QUFFTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQjs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEI7O0FBRU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQjs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCOztBQUVPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCOztBQUVPO0FBQ1A7QUFDQSxNQUFNLDhEQUFnQjtBQUN0QjtBQUNBO0FBQ0E7OztBQUdBLE1BQU0sOERBQWdCO0FBQ3RCO0FBQ0E7QUFDQSIsImZpbGUiOiIzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IE91clZ1ZSBmcm9tICcuL3Z1ZSc7XG5pbXBvcnQgd2FybiBmcm9tICcuL3dhcm4nO1xuaW1wb3J0IHsgc2V0Q29uZmlnIH0gZnJvbSAnLi9jb25maWctc2V0JztcbmltcG9ydCB7IGhhc1dpbmRvd1N1cHBvcnQsIGlzSlNET00gfSBmcm9tICcuL2Vudic7XG4vKipcbiAqIENoZWNrcyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIFZ1ZSwgYW5kIHdhcm5zIChvbmNlKSBhYm91dCBwb3NzaWJsZSBpc3N1ZXMuXG4gKiBAcGFyYW0ge29iamVjdH0gVnVlXG4gKi9cblxuZXhwb3J0IHZhciBjaGVja011bHRpcGxlVnVlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgY2hlY2tNdWx0aXBsZVZ1ZVdhcm5lZCA9IGZhbHNlO1xuICB2YXIgTVVMVElQTEVfVlVFX1dBUk5JTkcgPSBbJ011bHRpcGxlIGluc3RhbmNlcyBvZiBWdWUgZGV0ZWN0ZWQhJywgJ1lvdSBtYXkgbmVlZCB0byBzZXQgdXAgYW4gYWxpYXMgZm9yIFZ1ZSBpbiB5b3VyIGJ1bmRsZXIgY29uZmlnLicsICdTZWU6IGh0dHBzOi8vYm9vdHN0cmFwLXZ1ZS5qcy5vcmcvZG9jcyN1c2luZy1tb2R1bGUtYnVuZGxlcnMnXS5qb2luKCdcXG4nKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChWdWUpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICghY2hlY2tNdWx0aXBsZVZ1ZVdhcm5lZCAmJiBPdXJWdWUgIT09IFZ1ZSAmJiAhaXNKU0RPTSkge1xuICAgICAgd2FybihNVUxUSVBMRV9WVUVfV0FSTklORyk7XG4gICAgfVxuXG4gICAgY2hlY2tNdWx0aXBsZVZ1ZVdhcm5lZCA9IHRydWU7XG4gIH07XG59KCk7XG4vKipcbiAqIFBsdWdpbiBpbnN0YWxsIGZhY3RvcnkgZnVuY3Rpb24uXG4gKiBAcGFyYW0ge29iamVjdH0geyBjb21wb25lbnRzLCBkaXJlY3RpdmVzIH1cbiAqIEByZXR1cm5zIHtmdW5jdGlvbn0gcGx1Z2luIGluc3RhbGwgZnVuY3Rpb25cbiAqL1xuXG5leHBvcnQgdmFyIGluc3RhbGxGYWN0b3J5ID0gZnVuY3Rpb24gaW5zdGFsbEZhY3RvcnkoKSB7XG4gIHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fSxcbiAgICAgIGNvbXBvbmVudHMgPSBfcmVmLmNvbXBvbmVudHMsXG4gICAgICBkaXJlY3RpdmVzID0gX3JlZi5kaXJlY3RpdmVzLFxuICAgICAgcGx1Z2lucyA9IF9yZWYucGx1Z2lucztcblxuICB2YXIgaW5zdGFsbCA9IGZ1bmN0aW9uIGluc3RhbGwoVnVlKSB7XG4gICAgdmFyIGNvbmZpZyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG5cbiAgICBpZiAoaW5zdGFsbC5pbnN0YWxsZWQpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaW5zdGFsbC5pbnN0YWxsZWQgPSB0cnVlO1xuICAgIGNoZWNrTXVsdGlwbGVWdWUoVnVlKTtcbiAgICBzZXRDb25maWcoY29uZmlnLCBWdWUpO1xuICAgIHJlZ2lzdGVyQ29tcG9uZW50cyhWdWUsIGNvbXBvbmVudHMpO1xuICAgIHJlZ2lzdGVyRGlyZWN0aXZlcyhWdWUsIGRpcmVjdGl2ZXMpO1xuICAgIHJlZ2lzdGVyUGx1Z2lucyhWdWUsIHBsdWdpbnMpO1xuICB9O1xuXG4gIGluc3RhbGwuaW5zdGFsbGVkID0gZmFsc2U7XG4gIHJldHVybiBpbnN0YWxsO1xufTtcbi8qKlxuICogUGx1Z2luIG9iamVjdCBmYWN0b3J5IGZ1bmN0aW9uLlxuICogQHBhcmFtIHtvYmplY3R9IHsgY29tcG9uZW50cywgZGlyZWN0aXZlcywgcGx1Z2lucyB9XG4gKiBAcmV0dXJucyB7b2JqZWN0fSBwbHVnaW4gaW5zdGFsbCBvYmplY3RcbiAqL1xuXG5leHBvcnQgdmFyIHBsdWdpbkZhY3RvcnkgPSBmdW5jdGlvbiBwbHVnaW5GYWN0b3J5KCkge1xuICB2YXIgb3B0cyA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge307XG4gIHZhciBleHRlbmQgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgZXh0ZW5kLCB7XG4gICAgaW5zdGFsbDogaW5zdGFsbEZhY3Rvcnkob3B0cylcbiAgfSk7XG59O1xuLyoqXG4gKiBMb2FkIGEgZ3JvdXAgb2YgcGx1Z2lucy5cbiAqIEBwYXJhbSB7b2JqZWN0fSBWdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSBQbHVnaW4gZGVmaW5pdGlvbnNcbiAqL1xuXG5leHBvcnQgdmFyIHJlZ2lzdGVyUGx1Z2lucyA9IGZ1bmN0aW9uIHJlZ2lzdGVyUGx1Z2lucyhWdWUpIHtcbiAgdmFyIHBsdWdpbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuXG4gIGZvciAodmFyIHBsdWdpbiBpbiBwbHVnaW5zKSB7XG4gICAgaWYgKHBsdWdpbiAmJiBwbHVnaW5zW3BsdWdpbl0pIHtcbiAgICAgIFZ1ZS51c2UocGx1Z2luc1twbHVnaW5dKTtcbiAgICB9XG4gIH1cbn07XG4vKipcbiAqIExvYWQgYSBjb21wb25lbnQuXG4gKiBAcGFyYW0ge29iamVjdH0gVnVlXG4gKiBAcGFyYW0ge3N0cmluZ30gQ29tcG9uZW50IG5hbWVcbiAqIEBwYXJhbSB7b2JqZWN0fSBDb21wb25lbnQgZGVmaW5pdGlvblxuICovXG5cbmV4cG9ydCB2YXIgcmVnaXN0ZXJDb21wb25lbnQgPSBmdW5jdGlvbiByZWdpc3RlckNvbXBvbmVudChWdWUsIG5hbWUsIGRlZikge1xuICBpZiAoVnVlICYmIG5hbWUgJiYgZGVmKSB7XG4gICAgVnVlLmNvbXBvbmVudChuYW1lLCBkZWYpO1xuICB9XG59O1xuLyoqXG4gKiBMb2FkIGEgZ3JvdXAgb2YgY29tcG9uZW50cy5cbiAqIEBwYXJhbSB7b2JqZWN0fSBWdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSBPYmplY3Qgb2YgY29tcG9uZW50IGRlZmluaXRpb25zXG4gKi9cblxuZXhwb3J0IHZhciByZWdpc3RlckNvbXBvbmVudHMgPSBmdW5jdGlvbiByZWdpc3RlckNvbXBvbmVudHMoVnVlKSB7XG4gIHZhciBjb21wb25lbnRzID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcblxuICBmb3IgKHZhciBjb21wb25lbnQgaW4gY29tcG9uZW50cykge1xuICAgIHJlZ2lzdGVyQ29tcG9uZW50KFZ1ZSwgY29tcG9uZW50LCBjb21wb25lbnRzW2NvbXBvbmVudF0pO1xuICB9XG59O1xuLyoqXG4gKiBMb2FkIGEgZGlyZWN0aXZlLlxuICogQHBhcmFtIHtvYmplY3R9IFZ1ZVxuICogQHBhcmFtIHtzdHJpbmd9IERpcmVjdGl2ZSBuYW1lXG4gKiBAcGFyYW0ge29iamVjdH0gRGlyZWN0aXZlIGRlZmluaXRpb25cbiAqL1xuXG5leHBvcnQgdmFyIHJlZ2lzdGVyRGlyZWN0aXZlID0gZnVuY3Rpb24gcmVnaXN0ZXJEaXJlY3RpdmUoVnVlLCBuYW1lLCBkZWYpIHtcbiAgaWYgKFZ1ZSAmJiBuYW1lICYmIGRlZikge1xuICAgIC8vIEVuc3VyZSB0aGF0IGFueSBsZWFkaW5nIFYgaXMgcmVtb3ZlZCBmcm9tIHRoZVxuICAgIC8vIG5hbWUsIGFzIFZ1ZSBhZGRzIGl0IGF1dG9tYXRpY2FsbHlcbiAgICBWdWUuZGlyZWN0aXZlKG5hbWUucmVwbGFjZSgvXlZCLywgJ0InKSwgZGVmKTtcbiAgfVxufTtcbi8qKlxuICogTG9hZCBhIGdyb3VwIG9mIGRpcmVjdGl2ZXMuXG4gKiBAcGFyYW0ge29iamVjdH0gVnVlXG4gKiBAcGFyYW0ge29iamVjdH0gT2JqZWN0IG9mIGRpcmVjdGl2ZSBkZWZpbml0aW9uc1xuICovXG5cbmV4cG9ydCB2YXIgcmVnaXN0ZXJEaXJlY3RpdmVzID0gZnVuY3Rpb24gcmVnaXN0ZXJEaXJlY3RpdmVzKFZ1ZSkge1xuICB2YXIgZGlyZWN0aXZlcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG5cbiAgZm9yICh2YXIgZGlyZWN0aXZlIGluIGRpcmVjdGl2ZXMpIHtcbiAgICByZWdpc3RlckRpcmVjdGl2ZShWdWUsIGRpcmVjdGl2ZSwgZGlyZWN0aXZlc1tkaXJlY3RpdmVdKTtcbiAgfVxufTtcbi8qKlxuICogSW5zdGFsbCBwbHVnaW4gaWYgd2luZG93LlZ1ZSBhdmFpbGFibGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBQbHVnaW4gZGVmaW5pdGlvblxuICovXG5cbmV4cG9ydCB2YXIgdnVlVXNlID0gZnVuY3Rpb24gdnVlVXNlKFZ1ZVBsdWdpbikge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBpZiAoaGFzV2luZG93U3VwcG9ydCAmJiB3aW5kb3cuVnVlKSB7XG4gICAgd2luZG93LlZ1ZS51c2UoVnVlUGx1Z2luKTtcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG5cbiAgaWYgKGhhc1dpbmRvd1N1cHBvcnQgJiYgVnVlUGx1Z2luLk5BTUUpIHtcbiAgICB3aW5kb3dbVnVlUGx1Z2luLk5BTUVdID0gVnVlUGx1Z2luO1xuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL3BsdWdpbnMuanNcbi8vIG1vZHVsZSBpZCA9IDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///3\n"); + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export getConfig */\n/* unused harmony export getConfigValue */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return getComponentConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return getBreakpoints; });\n/* unused harmony export getBreakpointsCached */\n/* unused harmony export getBreakpointsUp */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return getBreakpointsUpCached; });\n/* unused harmony export getBreakpointsDown */\n/* unused harmony export getBreakpointsDownCached */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__clone_deep__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__get__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__memoize__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__config_defaults__ = __webpack_require__(99);\n\n\n\n\n // --- Constants ---\n\nvar PROP_NAME = '$bvConfig';\nvar VueProto = __WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */].prototype; // --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config\n// value, to prevent mutation of the user config object.\n// Get the current user config. For testing purposes only\n\nvar getConfig = function getConfig() {\n return VueProto[PROP_NAME] ? VueProto[PROP_NAME].getConfig() : {};\n}; // Method to grab a config value based on a dotted/array notation key\n\nvar getConfigValue = function getConfigValue(key) {\n return VueProto[PROP_NAME] ? VueProto[PROP_NAME].getConfigValue(key) : Object(__WEBPACK_IMPORTED_MODULE_1__clone_deep__[\"a\" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_2__get__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_4__config_defaults__[\"a\" /* default */], key));\n}; // Method to grab a config value for a particular component\n\nvar getComponentConfig = function getComponentConfig(cmpName) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n // Return the particular config value for key for if specified,\n // otherwise we return the full config (or an empty object if not found)\n return key ? getConfigValue(\"\".concat(cmpName, \".\").concat(key)) : getConfigValue(cmpName) || {};\n}; // Convenience method for getting all breakpoint names\n\nvar getBreakpoints = function getBreakpoints() {\n return getConfigValue('breakpoints');\n}; // Private function for caching / locking-in breakpoint names\n\nvar _getBreakpointsCached = Object(__WEBPACK_IMPORTED_MODULE_3__memoize__[\"a\" /* default */])(function () {\n return getBreakpoints();\n}); // Convenience method for getting all breakpoint names.\n// Caches the results after first access.\n\n\nvar getBreakpointsCached = function getBreakpointsCached() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__clone_deep__[\"a\" /* default */])(_getBreakpointsCached());\n}; // Convenience method for getting breakpoints with\n// the smallest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\n\nvar getBreakpointsUp = function getBreakpointsUp() {\n var breakpoints = getBreakpoints();\n breakpoints[0] = '';\n return breakpoints;\n}; // Convenience method for getting breakpoints with\n// the smallest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\n// Caches the results after first access.\n\nvar getBreakpointsUpCached = Object(__WEBPACK_IMPORTED_MODULE_3__memoize__[\"a\" /* default */])(function () {\n var breakpoints = getBreakpointsCached();\n breakpoints[0] = '';\n return breakpoints;\n}); // Convenience method for getting breakpoints with\n// the largest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\n\nvar getBreakpointsDown = function getBreakpointsDown() {\n var breakpoints = getBreakpoints();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n}; // Convenience method for getting breakpoints with\n// the largest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\n// Caches the results after first access.\n\n/* istanbul ignore next: we don't use this method anywhere, yet */\n\nvar getBreakpointsDownCached = function getBreakpointsDownCached()\n/* istanbul ignore next */\n{\n var breakpoints = getBreakpointsCached();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvY29uZmlnLmpzPzUwNGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF3QjtBQUNhO0FBQ2I7QUFDUTtBQUNTOztBQUV6QztBQUNBLGVBQWUscURBQUcsV0FBVztBQUM3QjtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBLEVBQUU7O0FBRUs7QUFDUCx5RUFBeUUsb0VBQVMsQ0FBQyw2REFBRyxDQUFDLGlFQUFRO0FBQy9GLEVBQUU7O0FBRUs7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLEVBQUU7O0FBRUYsNEJBQTRCLGlFQUFPO0FBQ25DO0FBQ0EsQ0FBQyxFQUFFO0FBQ0g7OztBQUdPO0FBQ1AsU0FBUyxvRUFBUztBQUNsQixFQUFFO0FBQ0Y7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRU8sNkJBQTZCLGlFQUFPO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBRTtBQUNIO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBOztBQUVBOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4vdnVlJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnLi9jbG9uZS1kZWVwJztcbmltcG9ydCBnZXQgZnJvbSAnLi9nZXQnO1xuaW1wb3J0IG1lbW9pemUgZnJvbSAnLi9tZW1vaXplJztcbmltcG9ydCBERUZBVUxUUyBmcm9tICcuL2NvbmZpZy1kZWZhdWx0cyc7IC8vIC0tLSBDb25zdGFudHMgLS0tXG5cbnZhciBQUk9QX05BTUUgPSAnJGJ2Q29uZmlnJztcbnZhciBWdWVQcm90byA9IFZ1ZS5wcm90b3R5cGU7IC8vIC0tLSBHZXR0ZXIgbWV0aG9kcyAtLS1cbi8vIEFsbCBtZXRob2RzIHJldHVybiBhIGRlZXAgY2xvbmUgKGltbXV0YWJsZSkgY29weSBvZiB0aGUgY29uZmlnXG4vLyB2YWx1ZSwgdG8gcHJldmVudCBtdXRhdGlvbiBvZiB0aGUgdXNlciBjb25maWcgb2JqZWN0LlxuLy8gR2V0IHRoZSBjdXJyZW50IHVzZXIgY29uZmlnLiBGb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5XG5cbmV4cG9ydCB2YXIgZ2V0Q29uZmlnID0gZnVuY3Rpb24gZ2V0Q29uZmlnKCkge1xuICByZXR1cm4gVnVlUHJvdG9bUFJPUF9OQU1FXSA/IFZ1ZVByb3RvW1BST1BfTkFNRV0uZ2V0Q29uZmlnKCkgOiB7fTtcbn07IC8vIE1ldGhvZCB0byBncmFiIGEgY29uZmlnIHZhbHVlIGJhc2VkIG9uIGEgZG90dGVkL2FycmF5IG5vdGF0aW9uIGtleVxuXG5leHBvcnQgdmFyIGdldENvbmZpZ1ZhbHVlID0gZnVuY3Rpb24gZ2V0Q29uZmlnVmFsdWUoa2V5KSB7XG4gIHJldHVybiBWdWVQcm90b1tQUk9QX05BTUVdID8gVnVlUHJvdG9bUFJPUF9OQU1FXS5nZXRDb25maWdWYWx1ZShrZXkpIDogY2xvbmVEZWVwKGdldChERUZBVUxUUywga2V5KSk7XG59OyAvLyBNZXRob2QgdG8gZ3JhYiBhIGNvbmZpZyB2YWx1ZSBmb3IgYSBwYXJ0aWN1bGFyIGNvbXBvbmVudFxuXG5leHBvcnQgdmFyIGdldENvbXBvbmVudENvbmZpZyA9IGZ1bmN0aW9uIGdldENvbXBvbmVudENvbmZpZyhjbXBOYW1lKSB7XG4gIHZhciBrZXkgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IG51bGw7XG4gIC8vIFJldHVybiB0aGUgcGFydGljdWxhciBjb25maWcgdmFsdWUgZm9yIGtleSBmb3IgaWYgc3BlY2lmaWVkLFxuICAvLyBvdGhlcndpc2Ugd2UgcmV0dXJuIHRoZSBmdWxsIGNvbmZpZyAob3IgYW4gZW1wdHkgb2JqZWN0IGlmIG5vdCBmb3VuZClcbiAgcmV0dXJuIGtleSA/IGdldENvbmZpZ1ZhbHVlKFwiXCIuY29uY2F0KGNtcE5hbWUsIFwiLlwiKS5jb25jYXQoa2V5KSkgOiBnZXRDb25maWdWYWx1ZShjbXBOYW1lKSB8fCB7fTtcbn07IC8vIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgZ2V0dGluZyBhbGwgYnJlYWtwb2ludCBuYW1lc1xuXG5leHBvcnQgdmFyIGdldEJyZWFrcG9pbnRzID0gZnVuY3Rpb24gZ2V0QnJlYWtwb2ludHMoKSB7XG4gIHJldHVybiBnZXRDb25maWdWYWx1ZSgnYnJlYWtwb2ludHMnKTtcbn07IC8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGNhY2hpbmcgLyBsb2NraW5nLWluIGJyZWFrcG9pbnQgbmFtZXNcblxudmFyIF9nZXRCcmVha3BvaW50c0NhY2hlZCA9IG1lbW9pemUoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gZ2V0QnJlYWtwb2ludHMoKTtcbn0pOyAvLyBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGdldHRpbmcgYWxsIGJyZWFrcG9pbnQgbmFtZXMuXG4vLyBDYWNoZXMgdGhlIHJlc3VsdHMgYWZ0ZXIgZmlyc3QgYWNjZXNzLlxuXG5cbmV4cG9ydCB2YXIgZ2V0QnJlYWtwb2ludHNDYWNoZWQgPSBmdW5jdGlvbiBnZXRCcmVha3BvaW50c0NhY2hlZCgpIHtcbiAgcmV0dXJuIGNsb25lRGVlcChfZ2V0QnJlYWtwb2ludHNDYWNoZWQoKSk7XG59OyAvLyBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGdldHRpbmcgYnJlYWtwb2ludHMgd2l0aFxuLy8gdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQgc2V0IGFzICcnLlxuLy8gVXNlZnVsIGZvciBjb21wb25lbnRzIHRoYXQgY3JlYXRlIGJyZWFrcG9pbnQgc3BlY2lmaWMgcHJvcHMuXG5cbmV4cG9ydCB2YXIgZ2V0QnJlYWtwb2ludHNVcCA9IGZ1bmN0aW9uIGdldEJyZWFrcG9pbnRzVXAoKSB7XG4gIHZhciBicmVha3BvaW50cyA9IGdldEJyZWFrcG9pbnRzKCk7XG4gIGJyZWFrcG9pbnRzWzBdID0gJyc7XG4gIHJldHVybiBicmVha3BvaW50cztcbn07IC8vIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgZ2V0dGluZyBicmVha3BvaW50cyB3aXRoXG4vLyB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCBzZXQgYXMgJycuXG4vLyBVc2VmdWwgZm9yIGNvbXBvbmVudHMgdGhhdCBjcmVhdGUgYnJlYWtwb2ludCBzcGVjaWZpYyBwcm9wcy5cbi8vIENhY2hlcyB0aGUgcmVzdWx0cyBhZnRlciBmaXJzdCBhY2Nlc3MuXG5cbmV4cG9ydCB2YXIgZ2V0QnJlYWtwb2ludHNVcENhY2hlZCA9IG1lbW9pemUoZnVuY3Rpb24gKCkge1xuICB2YXIgYnJlYWtwb2ludHMgPSBnZXRCcmVha3BvaW50c0NhY2hlZCgpO1xuICBicmVha3BvaW50c1swXSA9ICcnO1xuICByZXR1cm4gYnJlYWtwb2ludHM7XG59KTsgLy8gQ29udmVuaWVuY2UgbWV0aG9kIGZvciBnZXR0aW5nIGJyZWFrcG9pbnRzIHdpdGhcbi8vIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQgc2V0IGFzICcnLlxuLy8gVXNlZnVsIGZvciBjb21wb25lbnRzIHRoYXQgY3JlYXRlIGJyZWFrcG9pbnQgc3BlY2lmaWMgcHJvcHMuXG5cbmV4cG9ydCB2YXIgZ2V0QnJlYWtwb2ludHNEb3duID0gZnVuY3Rpb24gZ2V0QnJlYWtwb2ludHNEb3duKCkge1xuICB2YXIgYnJlYWtwb2ludHMgPSBnZXRCcmVha3BvaW50cygpO1xuICBicmVha3BvaW50c1ticmVha3BvaW50cy5sZW5ndGggLSAxXSA9ICcnO1xuICByZXR1cm4gYnJlYWtwb2ludHM7XG59OyAvLyBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGdldHRpbmcgYnJlYWtwb2ludHMgd2l0aFxuLy8gdGhlIGxhcmdlc3QgYnJlYWtwb2ludCBzZXQgYXMgJycuXG4vLyBVc2VmdWwgZm9yIGNvbXBvbmVudHMgdGhhdCBjcmVhdGUgYnJlYWtwb2ludCBzcGVjaWZpYyBwcm9wcy5cbi8vIENhY2hlcyB0aGUgcmVzdWx0cyBhZnRlciBmaXJzdCBhY2Nlc3MuXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiB3ZSBkb24ndCB1c2UgdGhpcyBtZXRob2QgYW55d2hlcmUsIHlldCAqL1xuXG5leHBvcnQgdmFyIGdldEJyZWFrcG9pbnRzRG93bkNhY2hlZCA9IGZ1bmN0aW9uIGdldEJyZWFrcG9pbnRzRG93bkNhY2hlZCgpXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xue1xuICB2YXIgYnJlYWtwb2ludHMgPSBnZXRCcmVha3BvaW50c0NhY2hlZCgpO1xuICBicmVha3BvaW50c1ticmVha3BvaW50cy5sZW5ndGggLSAxXSA9ICcnO1xuICByZXR1cm4gYnJlYWtwb2ludHM7XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL2NvbmZpZy5qc1xuLy8gbW9kdWxlIGlkID0gNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///4\n"); + +/***/ }), +/* 5 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_normalize_slot__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_array__ = __webpack_require__(7);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n methods: {\n hasNormalizedSlot: function hasNormalizedSlot(names) {\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n // `names` can be a string name or an array of names\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])(names, this.$scopedSlots, this.$slots);\n },\n normalizeSlot: function normalizeSlot(names) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Returns an array of rendered VNodes if slot found.\n // Returns undefined if not found.\n // `names` can be a string name or an array of names\n var vNodes = Object(__WEBPACK_IMPORTED_MODULE_0__utils_normalize_slot__[\"b\" /* normalizeSlot */])(names, scope, this.$scopedSlots, this.$slots);\n\n return vNodes ? Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"b\" /* concat */])(vNodes) : vNodes;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL25vcm1hbGl6ZS1zbG90LmpzPzA2N2IiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFtSDtBQUMzRTtBQUN6QjtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSx3RkFBa0I7QUFDL0IsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG9GQUFjOztBQUVqQyxzQkFBc0Isb0VBQU07QUFDNUI7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiNS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc05vcm1hbGl6ZWRTbG90IGFzIF9oYXNOb3JtYWxpemVkU2xvdCwgbm9ybWFsaXplU2xvdCBhcyBfbm9ybWFsaXplU2xvdCB9IGZyb20gJy4uL3V0aWxzL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJy4uL3V0aWxzL2FycmF5JztcbmV4cG9ydCBkZWZhdWx0IHtcbiAgbWV0aG9kczoge1xuICAgIGhhc05vcm1hbGl6ZWRTbG90OiBmdW5jdGlvbiBoYXNOb3JtYWxpemVkU2xvdChuYW1lcykge1xuICAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBlaXRoZXIgYSAkc2NvcGVkU2xvdCBvciAkc2xvdCBleGlzdHMgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWVcbiAgICAgIC8vIGBuYW1lc2AgY2FuIGJlIGEgc3RyaW5nIG5hbWUgb3IgYW4gYXJyYXkgb2YgbmFtZXNcbiAgICAgIHJldHVybiBfaGFzTm9ybWFsaXplZFNsb3QobmFtZXMsIHRoaXMuJHNjb3BlZFNsb3RzLCB0aGlzLiRzbG90cyk7XG4gICAgfSxcbiAgICBub3JtYWxpemVTbG90OiBmdW5jdGlvbiBub3JtYWxpemVTbG90KG5hbWVzKSB7XG4gICAgICB2YXIgc2NvcGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuXG4gICAgICAvLyBSZXR1cm5zIGFuIGFycmF5IG9mIHJlbmRlcmVkIFZOb2RlcyBpZiBzbG90IGZvdW5kLlxuICAgICAgLy8gUmV0dXJucyB1bmRlZmluZWQgaWYgbm90IGZvdW5kLlxuICAgICAgLy8gYG5hbWVzYCBjYW4gYmUgYSBzdHJpbmcgbmFtZSBvciBhbiBhcnJheSBvZiBuYW1lc1xuICAgICAgdmFyIHZOb2RlcyA9IF9ub3JtYWxpemVTbG90KG5hbWVzLCBzY29wZSwgdGhpcy4kc2NvcGVkU2xvdHMsIHRoaXMuJHNsb3RzKTtcblxuICAgICAgcmV0dXJuIHZOb2RlcyA/IGNvbmNhdCh2Tm9kZXMpIDogdk5vZGVzO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9taXhpbnMvbm9ybWFsaXplLXNsb3QuanNcbi8vIG1vZHVsZSBpZCA9IDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5\n"); + +/***/ }), +/* 6 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export matchesEl */\n/* unused harmony export closestEl */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return requestAF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return MutationObs; });\n/* unused harmony export parseEventOptions */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return eventOn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return eventOff; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return isElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return isVisible; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return isDisabled; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return reflow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return selectAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return select; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return matches; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return closest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return contains; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return getById; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return addClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return removeClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return hasClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return setAttr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return removeAttr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return getAttr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return hasAttr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return getBCR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return getCS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return getSel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return offset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return position; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_inspect__ = __webpack_require__(1);\n\n\n // --- Constants ---\n\nvar w = __WEBPACK_IMPORTED_MODULE_1__env__[\"i\" /* hasWindowSupport */] ? window : {};\nvar d = __WEBPACK_IMPORTED_MODULE_1__env__[\"b\" /* hasDocumentSupport */] ? document : {};\nvar elProto = typeof Element !== 'undefined' ? Element.prototype : {}; // --- Normalization utils ---\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\n/* istanbul ignore next */\n\nvar matchesEl = elProto.matches || elProto.msMatchesSelector || elProto.webkitMatchesSelector; // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n\n/* istanbul ignore next */\n\nvar closestEl = elProto.closest || function (sel)\n/* istanbul ignore next */\n{\n var el = this;\n\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el;\n }\n\n el = el.parentElement || el.parentNode;\n } while (!Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"g\" /* isNull */])(el) && el.nodeType === Node.ELEMENT_NODE);\n\n return null;\n}; // `requestAnimationFrame()` convenience method\n\nvar requestAF = w.requestAnimationFrame || w.webkitRequestAnimationFrame || w.mozRequestAnimationFrame || w.msRequestAnimationFrame || w.oRequestAnimationFrame || // Fallback, but not a true polyfill\n// Only needed for Opera Mini\n\n/* istanbul ignore next */\nfunction (cb) {\n return setTimeout(cb, 16);\n};\nvar MutationObs = w.MutationObserver || w.WebKitMutationObserver || w.MozMutationObserver || null; // --- Utils ---\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\n\nvar parseEventOptions = function parseEventOptions(options) {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (__WEBPACK_IMPORTED_MODULE_1__env__[\"e\" /* hasPassiveEventSupport */]) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"i\" /* isObject */])(options) ? options : {\n useCapture: Boolean(options || false)\n };\n } else {\n // Need to translate to actual Boolean value\n return Boolean(Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"i\" /* isObject */])(options) ? options.useCapture : options);\n }\n}; // Attach an event listener to an element\n\nvar eventOn = function eventOn(el, evtName, handler, options) {\n if (el && el.addEventListener) {\n el.addEventListener(evtName, handler, parseEventOptions(options));\n }\n}; // Remove an event listener from an element\n\nvar eventOff = function eventOff(el, evtName, handler, options) {\n if (el && el.removeEventListener) {\n el.removeEventListener(evtName, handler, parseEventOptions(options));\n }\n}; // Determine if an element is an HTML Element\n\nvar isElement = function isElement(el) {\n return Boolean(el && el.nodeType === Node.ELEMENT_NODE);\n}; // Determine if an HTML element is visible - Faster than CSS check\n\nvar isVisible = function isVisible(el) {\n if (!isElement(el) || !contains(d.body, el)) {\n return false;\n }\n\n if (el.style.display === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n\n /* istanbul ignore next */\n return false;\n } // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n\n\n var bcr = getBCR(el);\n return Boolean(bcr && bcr.height > 0 && bcr.width > 0);\n}; // Determine if an element is disabled\n\nvar isDisabled = function isDisabled(el) {\n return !isElement(el) || el.disabled || Boolean(getAttr(el, 'disabled')) || hasClass(el, 'disabled');\n}; // Cause/wait-for an element to reflow it's content (adjusting it's height/width)\n\nvar reflow = function reflow(el) {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight;\n}; // Select all elements matching selector. Returns `[]` if none found\n\nvar selectAll = function selectAll(selector, root) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__array__[\"c\" /* from */])((isElement(root) ? root : d).querySelectorAll(selector));\n}; // Select a single element, returns `null` if not found\n\nvar select = function select(selector, root) {\n return (isElement(root) ? root : d).querySelector(selector) || null;\n}; // Determine if an element matches a selector\n\nvar matches = function matches(el, selector) {\n if (!isElement(el)) {\n return false;\n }\n\n return matchesEl.call(el, selector);\n}; // Finds closest element matching selector. Returns `null` if not found\n\nvar closest = function closest(selector, root) {\n var includeRoot = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!isElement(root)) {\n return null;\n }\n\n var el = closestEl.call(root, selector); // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n\n return includeRoot ? el : el === root ? null : el;\n}; // Returns true if the parent element contains the child element\n\nvar contains = function contains(parent, child) {\n if (!parent || !Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(parent.contains)) {\n return false;\n }\n\n return parent.contains(child);\n}; // Get an element given an ID\n\nvar getById = function getById(id) {\n return d.getElementById(/^#/.test(id) ? id.slice(1) : id) || null;\n}; // Add a class to an element\n\nvar addClass = function addClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className);\n }\n}; // Remove a class from an element\n\nvar removeClass = function removeClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className);\n }\n}; // Test if an element has a class\n\nvar hasClass = function hasClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className);\n }\n\n return false;\n}; // Set an attribute on an element\n\nvar setAttr = function setAttr(el, attr, val) {\n if (attr && isElement(el)) {\n el.setAttribute(attr, val);\n }\n}; // Remove an attribute from an element\n\nvar removeAttr = function removeAttr(el, attr) {\n if (attr && isElement(el)) {\n el.removeAttribute(attr);\n }\n}; // Get an attribute value from an element\n// Returns `null` if not found\n\nvar getAttr = function getAttr(el, attr) {\n return attr && isElement(el) ? el.getAttribute(attr) : null;\n}; // Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\n\nvar hasAttr = function hasAttr(el, attr) {\n return attr && isElement(el) ? el.hasAttribute(attr) : null;\n}; // Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n\nvar getBCR = function getBCR(el) {\n return isElement(el) ? el.getBoundingClientRect() : null;\n}; // Get computed style object for an element\n\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\n\nvar getCS = function getCS(el) {\n return __WEBPACK_IMPORTED_MODULE_1__env__[\"i\" /* hasWindowSupport */] && isElement(el) ? w.getComputedStyle(el) : {};\n}; // Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\n\nvar getSel = function getSel() {\n return __WEBPACK_IMPORTED_MODULE_1__env__[\"i\" /* hasWindowSupport */] && w.getSelection ? w.getSelection() : null;\n}; // Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\n\nvar offset = function offset(el)\n/* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset;\n }\n\n var bcr = getBCR(el);\n\n if (bcr) {\n var win = el.ownerDocument.defaultView;\n _offset.top = bcr.top + win.pageYOffset;\n _offset.left = bcr.left + win.pageXOffset;\n }\n\n return _offset;\n}; // Return an element's offset with respect to to it's offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\n\nvar position = function position(el)\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el)) {\n return _offset;\n }\n\n var parentOffset = {\n top: 0,\n left: 0\n };\n var elStyles = getCS(el);\n\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset;\n } else {\n _offset = offset(el);\n var doc = el.ownerDocument;\n var offsetParent = el.offsetParent || doc.documentElement;\n\n while (offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && getCS(offsetParent).position === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent);\n var offsetParentStyles = getCS(offsetParent);\n parentOffset.top += parseFloat(offsetParentStyles.borderTopWidth);\n parentOffset.left += parseFloat(offsetParentStyles.borderLeftWidth);\n }\n }\n\n return {\n top: _offset.top - parentOffset.top - parseFloat(elStyles.marginTop),\n left: _offset.left - parentOffset.left - parseFloat(elStyles.marginLeft)\n };\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvZG9tLmpzPzExNjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUE0QztBQUN5QztBQUNyQjs7QUFFaEUsUUFBUSw4REFBZ0I7QUFDeEIsUUFBUSxnRUFBa0I7QUFDMUIsc0VBQXNFO0FBQ3RFOztBQUVBOztBQUVPLDhGQUE4Rjs7QUFFckc7O0FBRU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUcsU0FBUyxzRUFBTTs7QUFFbEI7QUFDQSxFQUFFOztBQUVLO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxrR0FBa0c7QUFDekc7QUFDQTs7QUFFTztBQUNQO0FBQ0EsTUFBTSxvRUFBc0I7QUFDNUIsV0FBVyx3RUFBUTtBQUNuQjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsbUJBQW1CLHdFQUFRO0FBQzNCO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsRUFBRTs7QUFFSztBQUNQOztBQUVBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1AsU0FBUyw0REFBUztBQUNsQixFQUFFOztBQUVLO0FBQ1A7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7QUFFSztBQUNQOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSwwQ0FBMEM7QUFDMUM7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUs7QUFDUCxrQkFBa0IsMEVBQVU7QUFDNUI7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVPO0FBQ1A7QUFDQSxFQUFFO0FBQ0Y7O0FBRU87QUFDUDtBQUNBLEVBQUU7QUFDRjs7QUFFQTs7QUFFTztBQUNQO0FBQ0EsRUFBRTs7QUFFRjs7QUFFTztBQUNQLFNBQVMsOERBQWdCO0FBQ3pCLEVBQUU7QUFDRjs7QUFFQTs7QUFFTztBQUNQLFNBQVMsOERBQWdCO0FBQ3pCLEVBQUU7QUFDRjs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbSBhcyBhcnJheUZyb20gfSBmcm9tICcuL2FycmF5JztcbmltcG9ydCB7IGhhc1dpbmRvd1N1cHBvcnQsIGhhc0RvY3VtZW50U3VwcG9ydCwgaGFzUGFzc2l2ZUV2ZW50U3VwcG9ydCB9IGZyb20gJy4vZW52JztcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzTnVsbCwgaXNPYmplY3QgfSBmcm9tICcuLi91dGlscy9pbnNwZWN0JzsgLy8gLS0tIENvbnN0YW50cyAtLS1cblxudmFyIHcgPSBoYXNXaW5kb3dTdXBwb3J0ID8gd2luZG93IDoge307XG52YXIgZCA9IGhhc0RvY3VtZW50U3VwcG9ydCA/IGRvY3VtZW50IDoge307XG52YXIgZWxQcm90byA9IHR5cGVvZiBFbGVtZW50ICE9PSAndW5kZWZpbmVkJyA/IEVsZW1lbnQucHJvdG90eXBlIDoge307IC8vIC0tLSBOb3JtYWxpemF0aW9uIHV0aWxzIC0tLVxuLy8gU2VlOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudC9tYXRjaGVzI1BvbHlmaWxsXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cbmV4cG9ydCB2YXIgbWF0Y2hlc0VsID0gZWxQcm90by5tYXRjaGVzIHx8IGVsUHJvdG8ubXNNYXRjaGVzU2VsZWN0b3IgfHwgZWxQcm90by53ZWJraXRNYXRjaGVzU2VsZWN0b3I7IC8vIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0VsZW1lbnQvY2xvc2VzdFxuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG5leHBvcnQgdmFyIGNsb3Nlc3RFbCA9IGVsUHJvdG8uY2xvc2VzdCB8fCBmdW5jdGlvbiAoc2VsKVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbntcbiAgdmFyIGVsID0gdGhpcztcblxuICBkbyB7XG4gICAgLy8gVXNlIG91ciBcInBhdGNoZWRcIiBtYXRjaGVzIGZ1bmN0aW9uXG4gICAgaWYgKG1hdGNoZXMoZWwsIHNlbCkpIHtcbiAgICAgIHJldHVybiBlbDtcbiAgICB9XG5cbiAgICBlbCA9IGVsLnBhcmVudEVsZW1lbnQgfHwgZWwucGFyZW50Tm9kZTtcbiAgfSB3aGlsZSAoIWlzTnVsbChlbCkgJiYgZWwubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKTtcblxuICByZXR1cm4gbnVsbDtcbn07IC8vIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKWAgY29udmVuaWVuY2UgbWV0aG9kXG5cbmV4cG9ydCB2YXIgcmVxdWVzdEFGID0gdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgdy5tc1JlcXVlc3RBbmltYXRpb25GcmFtZSB8fCB3Lm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgLy8gRmFsbGJhY2ssIGJ1dCBub3QgYSB0cnVlIHBvbHlmaWxsXG4vLyBPbmx5IG5lZWRlZCBmb3IgT3BlcmEgTWluaVxuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gKGNiKSB7XG4gIHJldHVybiBzZXRUaW1lb3V0KGNiLCAxNik7XG59O1xuZXhwb3J0IHZhciBNdXRhdGlvbk9icyA9IHcuTXV0YXRpb25PYnNlcnZlciB8fCB3LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIgfHwgdy5Nb3pNdXRhdGlvbk9ic2VydmVyIHx8IG51bGw7IC8vIC0tLSBVdGlscyAtLS1cbi8vIE5vcm1hbGl6ZSBldmVudCBvcHRpb25zIGJhc2VkIG9uIHN1cHBvcnQgb2YgcGFzc2l2ZSBvcHRpb25cbi8vIEV4cG9ydGVkIG9ubHkgZm9yIHRlc3RpbmcgcHVycG9zZXNcblxuZXhwb3J0IHZhciBwYXJzZUV2ZW50T3B0aW9ucyA9IGZ1bmN0aW9uIHBhcnNlRXZlbnRPcHRpb25zKG9wdGlvbnMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2U6IGNhbid0IHRlc3QgaW4gSlNET00sIGFzIGl0IHN1cHBvcnRzIHBhc3NpdmUgKi9cbiAgaWYgKGhhc1Bhc3NpdmVFdmVudFN1cHBvcnQpIHtcbiAgICByZXR1cm4gaXNPYmplY3Qob3B0aW9ucykgPyBvcHRpb25zIDoge1xuICAgICAgdXNlQ2FwdHVyZTogQm9vbGVhbihvcHRpb25zIHx8IGZhbHNlKVxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gTmVlZCB0byB0cmFuc2xhdGUgdG8gYWN0dWFsIEJvb2xlYW4gdmFsdWVcbiAgICByZXR1cm4gQm9vbGVhbihpc09iamVjdChvcHRpb25zKSA/IG9wdGlvbnMudXNlQ2FwdHVyZSA6IG9wdGlvbnMpO1xuICB9XG59OyAvLyBBdHRhY2ggYW4gZXZlbnQgbGlzdGVuZXIgdG8gYW4gZWxlbWVudFxuXG5leHBvcnQgdmFyIGV2ZW50T24gPSBmdW5jdGlvbiBldmVudE9uKGVsLCBldnROYW1lLCBoYW5kbGVyLCBvcHRpb25zKSB7XG4gIGlmIChlbCAmJiBlbC5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihldnROYW1lLCBoYW5kbGVyLCBwYXJzZUV2ZW50T3B0aW9ucyhvcHRpb25zKSk7XG4gIH1cbn07IC8vIFJlbW92ZSBhbiBldmVudCBsaXN0ZW5lciBmcm9tIGFuIGVsZW1lbnRcblxuZXhwb3J0IHZhciBldmVudE9mZiA9IGZ1bmN0aW9uIGV2ZW50T2ZmKGVsLCBldnROYW1lLCBoYW5kbGVyLCBvcHRpb25zKSB7XG4gIGlmIChlbCAmJiBlbC5yZW1vdmVFdmVudExpc3RlbmVyKSB7XG4gICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihldnROYW1lLCBoYW5kbGVyLCBwYXJzZUV2ZW50T3B0aW9ucyhvcHRpb25zKSk7XG4gIH1cbn07IC8vIERldGVybWluZSBpZiBhbiBlbGVtZW50IGlzIGFuIEhUTUwgRWxlbWVudFxuXG5leHBvcnQgdmFyIGlzRWxlbWVudCA9IGZ1bmN0aW9uIGlzRWxlbWVudChlbCkge1xuICByZXR1cm4gQm9vbGVhbihlbCAmJiBlbC5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUpO1xufTsgLy8gRGV0ZXJtaW5lIGlmIGFuIEhUTUwgZWxlbWVudCBpcyB2aXNpYmxlIC0gRmFzdGVyIHRoYW4gQ1NTIGNoZWNrXG5cbmV4cG9ydCB2YXIgaXNWaXNpYmxlID0gZnVuY3Rpb24gaXNWaXNpYmxlKGVsKSB7XG4gIGlmICghaXNFbGVtZW50KGVsKSB8fCAhY29udGFpbnMoZC5ib2R5LCBlbCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoZWwuc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnKSB7XG4gICAgLy8gV2UgZG8gdGhpcyBjaGVjayB0byBoZWxwIHdpdGggdnVlLXRlc3QtdXRpbHMgd2hlbiB1c2luZyB2LXNob3dcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIEFsbCBicm93c2VycyBzdXBwb3J0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCBleGNlcHQgSlNET00gYXMgaXQgcmV0dXJucyBhbGwgMCdzIGZvciB2YWx1ZXMgOihcbiAgLy8gU28gYW55IHRlc3RzIHRoYXQgbmVlZCBpc1Zpc2libGUgd2lsbCBmYWlsIGluIEpTRE9NXG4gIC8vIEV4Y2VwdCB3aGVuIHdlIG92ZXJyaWRlIHRoZSBnZXRCQ1IgcHJvdG90eXBlIGluIHNvbWUgdGVzdHNcblxuXG4gIHZhciBiY3IgPSBnZXRCQ1IoZWwpO1xuICByZXR1cm4gQm9vbGVhbihiY3IgJiYgYmNyLmhlaWdodCA+IDAgJiYgYmNyLndpZHRoID4gMCk7XG59OyAvLyBEZXRlcm1pbmUgaWYgYW4gZWxlbWVudCBpcyBkaXNhYmxlZFxuXG5leHBvcnQgdmFyIGlzRGlzYWJsZWQgPSBmdW5jdGlvbiBpc0Rpc2FibGVkKGVsKSB7XG4gIHJldHVybiAhaXNFbGVtZW50KGVsKSB8fCBlbC5kaXNhYmxlZCB8fCBCb29sZWFuKGdldEF0dHIoZWwsICdkaXNhYmxlZCcpKSB8fCBoYXNDbGFzcyhlbCwgJ2Rpc2FibGVkJyk7XG59OyAvLyBDYXVzZS93YWl0LWZvciBhbiBlbGVtZW50IHRvIHJlZmxvdyBpdCdzIGNvbnRlbnQgKGFkanVzdGluZyBpdCdzIGhlaWdodC93aWR0aClcblxuZXhwb3J0IHZhciByZWZsb3cgPSBmdW5jdGlvbiByZWZsb3coZWwpIHtcbiAgLy8gUmVxdWVzdGluZyBhbiBlbGVtZW50cyBvZmZzZXRIaWdodCB3aWxsIHRyaWdnZXIgYSByZWZsb3cgb2YgdGhlIGVsZW1lbnQgY29udGVudFxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiByZWZsb3cgZG9lc24ndCBoYXBwZW4gaW4gSlNET00gKi9cbiAgcmV0dXJuIGlzRWxlbWVudChlbCkgJiYgZWwub2Zmc2V0SGVpZ2h0O1xufTsgLy8gU2VsZWN0IGFsbCBlbGVtZW50cyBtYXRjaGluZyBzZWxlY3Rvci4gUmV0dXJucyBgW11gIGlmIG5vbmUgZm91bmRcblxuZXhwb3J0IHZhciBzZWxlY3RBbGwgPSBmdW5jdGlvbiBzZWxlY3RBbGwoc2VsZWN0b3IsIHJvb3QpIHtcbiAgcmV0dXJuIGFycmF5RnJvbSgoaXNFbGVtZW50KHJvb3QpID8gcm9vdCA6IGQpLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpKTtcbn07IC8vIFNlbGVjdCBhIHNpbmdsZSBlbGVtZW50LCByZXR1cm5zIGBudWxsYCBpZiBub3QgZm91bmRcblxuZXhwb3J0IHZhciBzZWxlY3QgPSBmdW5jdGlvbiBzZWxlY3Qoc2VsZWN0b3IsIHJvb3QpIHtcbiAgcmV0dXJuIChpc0VsZW1lbnQocm9vdCkgPyByb290IDogZCkucXVlcnlTZWxlY3RvcihzZWxlY3RvcikgfHwgbnVsbDtcbn07IC8vIERldGVybWluZSBpZiBhbiBlbGVtZW50IG1hdGNoZXMgYSBzZWxlY3RvclxuXG5leHBvcnQgdmFyIG1hdGNoZXMgPSBmdW5jdGlvbiBtYXRjaGVzKGVsLCBzZWxlY3Rvcikge1xuICBpZiAoIWlzRWxlbWVudChlbCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gbWF0Y2hlc0VsLmNhbGwoZWwsIHNlbGVjdG9yKTtcbn07IC8vIEZpbmRzIGNsb3Nlc3QgZWxlbWVudCBtYXRjaGluZyBzZWxlY3Rvci4gUmV0dXJucyBgbnVsbGAgaWYgbm90IGZvdW5kXG5cbmV4cG9ydCB2YXIgY2xvc2VzdCA9IGZ1bmN0aW9uIGNsb3Nlc3Qoc2VsZWN0b3IsIHJvb3QpIHtcbiAgdmFyIGluY2x1ZGVSb290ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBmYWxzZTtcblxuICBpZiAoIWlzRWxlbWVudChyb290KSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGVsID0gY2xvc2VzdEVsLmNhbGwocm9vdCwgc2VsZWN0b3IpOyAvLyBOYXRpdmUgY2xvc2VzdCBiZWhhdmlvdXIgd2hlbiBgaW5jbHVkZVJvb3RgIGlzIHRydXRoeSxcbiAgLy8gZWxzZSBlbXVsYXRlIGpRdWVyeSBjbG9zZXN0IGFuZCByZXR1cm4gYG51bGxgIGlmIG1hdGNoIGlzXG4gIC8vIHRoZSBwYXNzZWQgaW4gcm9vdCBlbGVtZW50IHdoZW4gYGluY2x1ZGVSb290YCBpcyBmYWxzZXlcblxuICByZXR1cm4gaW5jbHVkZVJvb3QgPyBlbCA6IGVsID09PSByb290ID8gbnVsbCA6IGVsO1xufTsgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBwYXJlbnQgZWxlbWVudCBjb250YWlucyB0aGUgY2hpbGQgZWxlbWVudFxuXG5leHBvcnQgdmFyIGNvbnRhaW5zID0gZnVuY3Rpb24gY29udGFpbnMocGFyZW50LCBjaGlsZCkge1xuICBpZiAoIXBhcmVudCB8fCAhaXNGdW5jdGlvbihwYXJlbnQuY29udGFpbnMpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudC5jb250YWlucyhjaGlsZCk7XG59OyAvLyBHZXQgYW4gZWxlbWVudCBnaXZlbiBhbiBJRFxuXG5leHBvcnQgdmFyIGdldEJ5SWQgPSBmdW5jdGlvbiBnZXRCeUlkKGlkKSB7XG4gIHJldHVybiBkLmdldEVsZW1lbnRCeUlkKC9eIy8udGVzdChpZCkgPyBpZC5zbGljZSgxKSA6IGlkKSB8fCBudWxsO1xufTsgLy8gQWRkIGEgY2xhc3MgdG8gYW4gZWxlbWVudFxuXG5leHBvcnQgdmFyIGFkZENsYXNzID0gZnVuY3Rpb24gYWRkQ2xhc3MoZWwsIGNsYXNzTmFtZSkge1xuICAvLyBXZSBhcmUgY2hlY2tpbmcgZm9yIGBlbC5jbGFzc0xpc3RgIGV4aXN0ZW5jZSBoZXJlIHNpbmNlIElFIDExXG4gIC8vIHJldHVybnMgYHVuZGVmaW5lZGAgZm9yIHNvbWUgZWxlbWVudHMgKGUuZy4gU1ZHIGVsZW1lbnRzKVxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2Jvb3RzdHJhcC12dWUvYm9vdHN0cmFwLXZ1ZS9pc3N1ZXMvMjcxM1xuICBpZiAoY2xhc3NOYW1lICYmIGlzRWxlbWVudChlbCkgJiYgZWwuY2xhc3NMaXN0KSB7XG4gICAgZWwuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICB9XG59OyAvLyBSZW1vdmUgYSBjbGFzcyBmcm9tIGFuIGVsZW1lbnRcblxuZXhwb3J0IHZhciByZW1vdmVDbGFzcyA9IGZ1bmN0aW9uIHJlbW92ZUNsYXNzKGVsLCBjbGFzc05hbWUpIHtcbiAgLy8gV2UgYXJlIGNoZWNraW5nIGZvciBgZWwuY2xhc3NMaXN0YCBleGlzdGVuY2UgaGVyZSBzaW5jZSBJRSAxMVxuICAvLyByZXR1cm5zIGB1bmRlZmluZWRgIGZvciBzb21lIGVsZW1lbnRzIChlLmcuIFNWRyBlbGVtZW50cylcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ib290c3RyYXAtdnVlL2Jvb3RzdHJhcC12dWUvaXNzdWVzLzI3MTNcbiAgaWYgKGNsYXNzTmFtZSAmJiBpc0VsZW1lbnQoZWwpICYmIGVsLmNsYXNzTGlzdCkge1xuICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgfVxufTsgLy8gVGVzdCBpZiBhbiBlbGVtZW50IGhhcyBhIGNsYXNzXG5cbmV4cG9ydCB2YXIgaGFzQ2xhc3MgPSBmdW5jdGlvbiBoYXNDbGFzcyhlbCwgY2xhc3NOYW1lKSB7XG4gIC8vIFdlIGFyZSBjaGVja2luZyBmb3IgYGVsLmNsYXNzTGlzdGAgZXhpc3RlbmNlIGhlcmUgc2luY2UgSUUgMTFcbiAgLy8gcmV0dXJucyBgdW5kZWZpbmVkYCBmb3Igc29tZSBlbGVtZW50cyAoZS5nLiBTVkcgZWxlbWVudHMpXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYm9vdHN0cmFwLXZ1ZS9ib290c3RyYXAtdnVlL2lzc3Vlcy8yNzEzXG4gIGlmIChjbGFzc05hbWUgJiYgaXNFbGVtZW50KGVsKSAmJiBlbC5jbGFzc0xpc3QpIHtcbiAgICByZXR1cm4gZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSk7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59OyAvLyBTZXQgYW4gYXR0cmlidXRlIG9uIGFuIGVsZW1lbnRcblxuZXhwb3J0IHZhciBzZXRBdHRyID0gZnVuY3Rpb24gc2V0QXR0cihlbCwgYXR0ciwgdmFsKSB7XG4gIGlmIChhdHRyICYmIGlzRWxlbWVudChlbCkpIHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUoYXR0ciwgdmFsKTtcbiAgfVxufTsgLy8gUmVtb3ZlIGFuIGF0dHJpYnV0ZSBmcm9tIGFuIGVsZW1lbnRcblxuZXhwb3J0IHZhciByZW1vdmVBdHRyID0gZnVuY3Rpb24gcmVtb3ZlQXR0cihlbCwgYXR0cikge1xuICBpZiAoYXR0ciAmJiBpc0VsZW1lbnQoZWwpKSB7XG4gICAgZWwucmVtb3ZlQXR0cmlidXRlKGF0dHIpO1xuICB9XG59OyAvLyBHZXQgYW4gYXR0cmlidXRlIHZhbHVlIGZyb20gYW4gZWxlbWVudFxuLy8gUmV0dXJucyBgbnVsbGAgaWYgbm90IGZvdW5kXG5cbmV4cG9ydCB2YXIgZ2V0QXR0ciA9IGZ1bmN0aW9uIGdldEF0dHIoZWwsIGF0dHIpIHtcbiAgcmV0dXJuIGF0dHIgJiYgaXNFbGVtZW50KGVsKSA/IGVsLmdldEF0dHJpYnV0ZShhdHRyKSA6IG51bGw7XG59OyAvLyBEZXRlcm1pbmUgaWYgYW4gYXR0cmlidXRlIGV4aXN0cyBvbiBhbiBlbGVtZW50XG4vLyBSZXR1cm5zIGB0cnVlYCBvciBgZmFsc2VgLCBvciBgbnVsbGAgaWYgZWxlbWVudCBub3QgZm91bmRcblxuZXhwb3J0IHZhciBoYXNBdHRyID0gZnVuY3Rpb24gaGFzQXR0cihlbCwgYXR0cikge1xuICByZXR1cm4gYXR0ciAmJiBpc0VsZW1lbnQoZWwpID8gZWwuaGFzQXR0cmlidXRlKGF0dHIpIDogbnVsbDtcbn07IC8vIFJldHVybiB0aGUgQm91bmRpbmcgQ2xpZW50IFJlY3Qgb2YgYW4gZWxlbWVudFxuLy8gUmV0dXJucyBgbnVsbGAgaWYgbm90IGFuIGVsZW1lbnRcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIGRvZXNuJ3Qgd29yayBpbiBKU0RPTSAqL1xuXG5leHBvcnQgdmFyIGdldEJDUiA9IGZ1bmN0aW9uIGdldEJDUihlbCkge1xuICByZXR1cm4gaXNFbGVtZW50KGVsKSA/IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIDogbnVsbDtcbn07IC8vIEdldCBjb21wdXRlZCBzdHlsZSBvYmplY3QgZm9yIGFuIGVsZW1lbnRcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGdldENvbXB1dGVkU3R5bGUoKSBkb2Vzbid0IHdvcmsgaW4gSlNET00gKi9cblxuZXhwb3J0IHZhciBnZXRDUyA9IGZ1bmN0aW9uIGdldENTKGVsKSB7XG4gIHJldHVybiBoYXNXaW5kb3dTdXBwb3J0ICYmIGlzRWxlbWVudChlbCkgPyB3LmdldENvbXB1dGVkU3R5bGUoZWwpIDoge307XG59OyAvLyBSZXR1cm5zIGEgYFNlbGVjdGlvbmAgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcmFuZ2Ugb2YgdGV4dCBzZWxlY3RlZFxuLy8gUmV0dXJucyBgbnVsbGAgaWYgbm8gd2luZG93IHN1cHBvcnQgaXMgZ2l2ZW5cblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGdldFNlbGVjdGlvbigpIGRvZXNuJ3Qgd29yayBpbiBKU0RPTSAqL1xuXG5leHBvcnQgdmFyIGdldFNlbCA9IGZ1bmN0aW9uIGdldFNlbCgpIHtcbiAgcmV0dXJuIGhhc1dpbmRvd1N1cHBvcnQgJiYgdy5nZXRTZWxlY3Rpb24gPyB3LmdldFNlbGVjdGlvbigpIDogbnVsbDtcbn07IC8vIFJldHVybiBhbiBlbGVtZW50J3Mgb2Zmc2V0IHdpdGggcmVzcGVjdCB0byBkb2N1bWVudCBlbGVtZW50XG4vLyBodHRwczovL2oxMXkuaW8vanF1ZXJ5LyN2PWdpdCZmbj1qUXVlcnkuZm4ub2Zmc2V0XG5cbmV4cG9ydCB2YXIgb2Zmc2V0ID0gZnVuY3Rpb24gb2Zmc2V0KGVsKVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCBnZXRDbGllbnRSZWN0cygpIGRvZXNuJ3Qgd29yayBpbiBKU0RPTSAqL1xue1xuICB2YXIgX29mZnNldCA9IHtcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMFxuICB9O1xuXG4gIGlmICghaXNFbGVtZW50KGVsKSB8fCBlbC5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBfb2Zmc2V0O1xuICB9XG5cbiAgdmFyIGJjciA9IGdldEJDUihlbCk7XG5cbiAgaWYgKGJjcikge1xuICAgIHZhciB3aW4gPSBlbC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgIF9vZmZzZXQudG9wID0gYmNyLnRvcCArIHdpbi5wYWdlWU9mZnNldDtcbiAgICBfb2Zmc2V0LmxlZnQgPSBiY3IubGVmdCArIHdpbi5wYWdlWE9mZnNldDtcbiAgfVxuXG4gIHJldHVybiBfb2Zmc2V0O1xufTsgLy8gUmV0dXJuIGFuIGVsZW1lbnQncyBvZmZzZXQgd2l0aCByZXNwZWN0IHRvIHRvIGl0J3Mgb2Zmc2V0UGFyZW50XG4vLyBodHRwczovL2oxMXkuaW8vanF1ZXJ5LyN2PWdpdCZmbj1qUXVlcnkuZm4ucG9zaXRpb25cblxuZXhwb3J0IHZhciBwb3NpdGlvbiA9IGZ1bmN0aW9uIHBvc2l0aW9uKGVsKVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIGRvZXNuJ3Qgd29yayBpbiBKU0RPTSAqL1xue1xuICB2YXIgX29mZnNldCA9IHtcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMFxuICB9O1xuXG4gIGlmICghaXNFbGVtZW50KGVsKSkge1xuICAgIHJldHVybiBfb2Zmc2V0O1xuICB9XG5cbiAgdmFyIHBhcmVudE9mZnNldCA9IHtcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMFxuICB9O1xuICB2YXIgZWxTdHlsZXMgPSBnZXRDUyhlbCk7XG5cbiAgaWYgKGVsU3R5bGVzLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgX29mZnNldCA9IGdldEJDUihlbCkgfHwgX29mZnNldDtcbiAgfSBlbHNlIHtcbiAgICBfb2Zmc2V0ID0gb2Zmc2V0KGVsKTtcbiAgICB2YXIgZG9jID0gZWwub3duZXJEb2N1bWVudDtcbiAgICB2YXIgb2Zmc2V0UGFyZW50ID0gZWwub2Zmc2V0UGFyZW50IHx8IGRvYy5kb2N1bWVudEVsZW1lbnQ7XG5cbiAgICB3aGlsZSAob2Zmc2V0UGFyZW50ICYmIChvZmZzZXRQYXJlbnQgPT09IGRvYy5ib2R5IHx8IG9mZnNldFBhcmVudCA9PT0gZG9jLmRvY3VtZW50RWxlbWVudCkgJiYgZ2V0Q1Mob2Zmc2V0UGFyZW50KS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIG9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudC5wYXJlbnROb2RlO1xuICAgIH1cblxuICAgIGlmIChvZmZzZXRQYXJlbnQgJiYgb2Zmc2V0UGFyZW50ICE9PSBlbCAmJiBvZmZzZXRQYXJlbnQubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7XG4gICAgICBwYXJlbnRPZmZzZXQgPSBvZmZzZXQob2Zmc2V0UGFyZW50KTtcbiAgICAgIHZhciBvZmZzZXRQYXJlbnRTdHlsZXMgPSBnZXRDUyhvZmZzZXRQYXJlbnQpO1xuICAgICAgcGFyZW50T2Zmc2V0LnRvcCArPSBwYXJzZUZsb2F0KG9mZnNldFBhcmVudFN0eWxlcy5ib3JkZXJUb3BXaWR0aCk7XG4gICAgICBwYXJlbnRPZmZzZXQubGVmdCArPSBwYXJzZUZsb2F0KG9mZnNldFBhcmVudFN0eWxlcy5ib3JkZXJMZWZ0V2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdG9wOiBfb2Zmc2V0LnRvcCAtIHBhcmVudE9mZnNldC50b3AgLSBwYXJzZUZsb2F0KGVsU3R5bGVzLm1hcmdpblRvcCksXG4gICAgbGVmdDogX29mZnNldC5sZWZ0IC0gcGFyZW50T2Zmc2V0LmxlZnQgLSBwYXJzZUZsb2F0KGVsU3R5bGVzLm1hcmdpbkxlZnQpXG4gIH07XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL2RvbS5qc1xuLy8gbW9kdWxlIGlkID0gNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///6\n"); + +/***/ }), +/* 7 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return from; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return isArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayIncludes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return concat; });\n// --- Static ---\nvar from = Array.from;\nvar isArray = Array.isArray; // --- Instance ---\n\nvar arrayIncludes = function arrayIncludes(array, value) {\n return array.indexOf(value) !== -1;\n};\nvar concat = function concat() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return Array.prototype.concat.apply([], args);\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvYXJyYXkuanM/ODFhMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ087QUFDQSw0QkFBNEI7O0FBRTVCO0FBQ1A7QUFDQTtBQUNPO0FBQ1AscUVBQXFFLGFBQWE7QUFDbEY7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6IjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0gU3RhdGljIC0tLVxuZXhwb3J0IHZhciBmcm9tID0gQXJyYXkuZnJvbTtcbmV4cG9ydCB2YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7IC8vIC0tLSBJbnN0YW5jZSAtLS1cblxuZXhwb3J0IHZhciBhcnJheUluY2x1ZGVzID0gZnVuY3Rpb24gYXJyYXlJbmNsdWRlcyhhcnJheSwgdmFsdWUpIHtcbiAgcmV0dXJuIGFycmF5LmluZGV4T2YodmFsdWUpICE9PSAtMTtcbn07XG5leHBvcnQgdmFyIGNvbmNhdCA9IGZ1bmN0aW9uIGNvbmNhdCgpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLCBhcmdzKTtcbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvYXJyYXkuanNcbi8vIG1vZHVsZSBpZCA9IDdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7\n"); + +/***/ }), +/* 8 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return getOwnPropertyNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return keys; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return defineProperties; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return defineProperty; });\n/* unused harmony export freeze */\n/* unused harmony export getOwnPropertyDescriptor */\n/* unused harmony export getOwnPropertySymbols */\n/* unused harmony export getPrototypeOf */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return create; });\n/* unused harmony export isFrozen */\n/* unused harmony export is */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return hasOwnProperty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return toString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return isObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return isPlainObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return omit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return readonlyDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return deepFreeze; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__array__ = __webpack_require__(7);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 _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\n // --- Static ---\n\nvar assign = Object.assign;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar keys = Object.keys;\nvar defineProperties = Object.defineProperties;\nvar defineProperty = Object.defineProperty;\nvar freeze = Object.freeze;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar create = Object.create;\nvar isFrozen = Object.isFrozen;\nvar is = Object.is; // --- \"Instance\" ---\n\nvar hasOwnProperty = function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n};\nvar toString = function toString(obj) {\n return Object.prototype.toString.call(obj);\n}; // --- Utilities ---\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 * Note object could be a complex type like array, date, etc.\n */\n\nvar isObject = function isObject(obj) {\n return obj !== null && _typeof(obj) === 'object';\n};\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\n\nvar isPlainObject = function isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}; // @link https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n\nvar omit = function omit(obj, props) {\n return keys(obj).filter(function (key) {\n return props.indexOf(key) === -1;\n }).reduce(function (result, key) {\n return _objectSpread({}, result, _defineProperty({}, key, obj[key]));\n }, {});\n};\nvar readonlyDescriptor = function readonlyDescriptor() {\n return {\n enumerable: true,\n configurable: false,\n writable: false\n };\n};\n/**\n * Deep-freezes and object, making it immutable / read-only.\n * Returns the same object passed-in, but frozen.\n * Freezes inner object/array/values first.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n * Note: this method will not work for property values using Symbol() as a key\n */\n\nvar deepFreeze = function deepFreeze(obj) {\n // Retrieve the property names defined on object/array\n // Note: `keys` will ignore properties that are keyed by a `Symbol()`\n var props = keys(obj); // Iterate over each prop and recursively freeze it\n\n props.forEach(function (prop) {\n var value = obj[prop]; // If value is a plain object or array, we deepFreeze it\n\n obj[prop] = value && (isPlainObject(value) || Object(__WEBPACK_IMPORTED_MODULE_0__array__[\"d\" /* isArray */])(value)) ? deepFreeze(value) : value;\n });\n return freeze(obj);\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvb2JqZWN0LmpzPzVkOTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sdUJBQXVCLDJFQUEyRSxrQ0FBa0MsbUJBQW1CLEdBQUcsRUFBRSxPQUFPLGtDQUFrQyw4SEFBOEgsR0FBRyxFQUFFLHFCQUFxQjs7QUFFM1Q7O0FBRTNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7O0FBRW5CO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsMkJBQTJCLDRCQUE0QjtBQUN2RCxHQUFHLElBQUk7QUFDUDtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0Esd0JBQXdCOztBQUV4QjtBQUNBLDBCQUEwQjs7QUFFMUIsa0RBQWtELCtEQUFPO0FBQ3pELEdBQUc7QUFDSDtBQUNBIiwiZmlsZSI6IjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi9hcnJheSc7IC8vIC0tLSBTdGF0aWMgLS0tXG5cbmV4cG9ydCB2YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcbmV4cG9ydCB2YXIgZ2V0T3duUHJvcGVydHlOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xuZXhwb3J0IHZhciBrZXlzID0gT2JqZWN0LmtleXM7XG5leHBvcnQgdmFyIGRlZmluZVByb3BlcnRpZXMgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcztcbmV4cG9ydCB2YXIgZGVmaW5lUHJvcGVydHkgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG5leHBvcnQgdmFyIGZyZWV6ZSA9IE9iamVjdC5mcmVlemU7XG5leHBvcnQgdmFyIGdldE93blByb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5leHBvcnQgdmFyIGdldE93blByb3BlcnR5U3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG5leHBvcnQgdmFyIGdldFByb3RvdHlwZU9mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xuZXhwb3J0IHZhciBjcmVhdGUgPSBPYmplY3QuY3JlYXRlO1xuZXhwb3J0IHZhciBpc0Zyb3plbiA9IE9iamVjdC5pc0Zyb3plbjtcbmV4cG9ydCB2YXIgaXMgPSBPYmplY3QuaXM7IC8vIC0tLSBcIkluc3RhbmNlXCIgLS0tXG5cbmV4cG9ydCB2YXIgaGFzT3duUHJvcGVydHkgPSBmdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmosIHByb3ApIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApO1xufTtcbmV4cG9ydCB2YXIgdG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyhvYmopIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopO1xufTsgLy8gLS0tIFV0aWxpdGllcyAtLS1cblxuLyoqXG4gKiBRdWljayBvYmplY3QgY2hlY2sgLSB0aGlzIGlzIHByaW1hcmlseSB1c2VkIHRvIHRlbGxcbiAqIE9iamVjdHMgZnJvbSBwcmltaXRpdmUgdmFsdWVzIHdoZW4gd2Uga25vdyB0aGUgdmFsdWVcbiAqIGlzIGEgSlNPTi1jb21wbGlhbnQgdHlwZS5cbiAqIE5vdGUgb2JqZWN0IGNvdWxkIGJlIGEgY29tcGxleCB0eXBlIGxpa2UgYXJyYXksIGRhdGUsIGV0Yy5cbiAqL1xuXG5leHBvcnQgdmFyIGlzT2JqZWN0ID0gZnVuY3Rpb24gaXNPYmplY3Qob2JqKSB7XG4gIHJldHVybiBvYmogIT09IG51bGwgJiYgX3R5cGVvZihvYmopID09PSAnb2JqZWN0Jztcbn07XG4vKipcbiAqIFN0cmljdCBvYmplY3QgdHlwZSBjaGVjay4gT25seSByZXR1cm5zIHRydWVcbiAqIGZvciBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdHMuXG4gKi9cblxuZXhwb3J0IHZhciBpc1BsYWluT2JqZWN0ID0gZnVuY3Rpb24gaXNQbGFpbk9iamVjdChvYmopIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopID09PSAnW29iamVjdCBPYmplY3RdJztcbn07IC8vIEBsaW5rIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2Jpc3VidXMvMmRhOGFmN2U4MDFmZmQ4MTNmYWI3YWMyMjFhYTdhZmNcblxuZXhwb3J0IHZhciBvbWl0ID0gZnVuY3Rpb24gb21pdChvYmosIHByb3BzKSB7XG4gIHJldHVybiBrZXlzKG9iaikuZmlsdGVyKGZ1bmN0aW9uIChrZXkpIHtcbiAgICByZXR1cm4gcHJvcHMuaW5kZXhPZihrZXkpID09PSAtMTtcbiAgfSkucmVkdWNlKGZ1bmN0aW9uIChyZXN1bHQsIGtleSkge1xuICAgIHJldHVybiBfb2JqZWN0U3ByZWFkKHt9LCByZXN1bHQsIF9kZWZpbmVQcm9wZXJ0eSh7fSwga2V5LCBvYmpba2V5XSkpO1xuICB9LCB7fSk7XG59O1xuZXhwb3J0IHZhciByZWFkb25seURlc2NyaXB0b3IgPSBmdW5jdGlvbiByZWFkb25seURlc2NyaXB0b3IoKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgIHdyaXRhYmxlOiBmYWxzZVxuICB9O1xufTtcbi8qKlxuICogRGVlcC1mcmVlemVzIGFuZCBvYmplY3QsIG1ha2luZyBpdCBpbW11dGFibGUgLyByZWFkLW9ubHkuXG4gKiBSZXR1cm5zIHRoZSBzYW1lIG9iamVjdCBwYXNzZWQtaW4sIGJ1dCBmcm96ZW4uXG4gKiBGcmVlemVzIGlubmVyIG9iamVjdC9hcnJheS92YWx1ZXMgZmlyc3QuXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvZnJlZXplXG4gKiBOb3RlOiB0aGlzIG1ldGhvZCB3aWxsIG5vdCB3b3JrIGZvciBwcm9wZXJ0eSB2YWx1ZXMgdXNpbmcgU3ltYm9sKCkgYXMgYSBrZXlcbiAqL1xuXG5leHBvcnQgdmFyIGRlZXBGcmVlemUgPSBmdW5jdGlvbiBkZWVwRnJlZXplKG9iaikge1xuICAvLyBSZXRyaWV2ZSB0aGUgcHJvcGVydHkgbmFtZXMgZGVmaW5lZCBvbiBvYmplY3QvYXJyYXlcbiAgLy8gTm90ZTogYGtleXNgIHdpbGwgaWdub3JlIHByb3BlcnRpZXMgdGhhdCBhcmUga2V5ZWQgYnkgYSBgU3ltYm9sKClgXG4gIHZhciBwcm9wcyA9IGtleXMob2JqKTsgLy8gSXRlcmF0ZSBvdmVyIGVhY2ggcHJvcCBhbmQgcmVjdXJzaXZlbHkgZnJlZXplIGl0XG5cbiAgcHJvcHMuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgIHZhciB2YWx1ZSA9IG9ialtwcm9wXTsgLy8gSWYgdmFsdWUgaXMgYSBwbGFpbiBvYmplY3Qgb3IgYXJyYXksIHdlIGRlZXBGcmVlemUgaXRcblxuICAgIG9ialtwcm9wXSA9IHZhbHVlICYmIChpc1BsYWluT2JqZWN0KHZhbHVlKSB8fCBpc0FycmF5KHZhbHVlKSkgPyBkZWVwRnJlZXplKHZhbHVlKSA6IHZhbHVlO1xuICB9KTtcbiAgcmV0dXJuIGZyZWV6ZShvYmopO1xufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy9vYmplY3QuanNcbi8vIG1vZHVsZSBpZCA9IDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///8\n"); + +/***/ }), +/* 9 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/*\n * SSR Safe Client Side ID attribute generation\n * id's can only be generated client side, after mount.\n * this._uid is not synched between server and client.\n */\n// @vue/component\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n id: {\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n localId_: null\n };\n },\n computed: {\n safeId: function safeId() {\n // Computed property that returns a dynamic function for creating the ID.\n // Reacts to changes in both .id and .localId_ And regens a new function\n var id = this.id || this.localId_; // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method!!!\n // But benefits from Vue's Computed prop caching\n\n var fn = function fn(suffix) {\n if (!id) {\n return null;\n }\n\n suffix = String(suffix || '').replace(/\\s+/g, '_');\n return suffix ? id + '_' + suffix : id;\n };\n\n return fn;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // mounted only occurs client side\n this.$nextTick(function () {\n // Update dom with auto ID after dom loaded to prevent\n // SSR hydration errors.\n _this.localId_ = \"__BVID__\".concat(_this._uid);\n });\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2lkLmpzP2U4NDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2U7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFNTUiBTYWZlIENsaWVudCBTaWRlIElEIGF0dHJpYnV0ZSBnZW5lcmF0aW9uXG4gKiBpZCdzIGNhbiBvbmx5IGJlIGdlbmVyYXRlZCBjbGllbnQgc2lkZSwgYWZ0ZXIgbW91bnQuXG4gKiB0aGlzLl91aWQgaXMgbm90IHN5bmNoZWQgYmV0d2VlbiBzZXJ2ZXIgYW5kIGNsaWVudC5cbiAqL1xuLy8gQHZ1ZS9jb21wb25lbnRcbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBpZDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH1cbiAgfSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxJZF86IG51bGxcbiAgICB9O1xuICB9LFxuICBjb21wdXRlZDoge1xuICAgIHNhZmVJZDogZnVuY3Rpb24gc2FmZUlkKCkge1xuICAgICAgLy8gQ29tcHV0ZWQgcHJvcGVydHkgdGhhdCByZXR1cm5zIGEgZHluYW1pYyBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgdGhlIElELlxuICAgICAgLy8gUmVhY3RzIHRvIGNoYW5nZXMgaW4gYm90aCAuaWQgYW5kIC5sb2NhbElkXyBBbmQgcmVnZW5zIGEgbmV3IGZ1bmN0aW9uXG4gICAgICB2YXIgaWQgPSB0aGlzLmlkIHx8IHRoaXMubG9jYWxJZF87IC8vIFdlIHJldHVybiBhIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBhbiBvcHRpb25hbCBzdWZmaXggc3RyaW5nXG4gICAgICAvLyBTbyB0aGlzIGNvbXB1dGVkIHByb3AgbG9va3MgYW5kIHdvcmtzIGxpa2UgYSBtZXRob2QhISFcbiAgICAgIC8vIEJ1dCBiZW5lZml0cyBmcm9tIFZ1ZSdzIENvbXB1dGVkIHByb3AgY2FjaGluZ1xuXG4gICAgICB2YXIgZm4gPSBmdW5jdGlvbiBmbihzdWZmaXgpIHtcbiAgICAgICAgaWYgKCFpZCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VmZml4ID0gU3RyaW5nKHN1ZmZpeCB8fCAnJykucmVwbGFjZSgvXFxzKy9nLCAnXycpO1xuICAgICAgICByZXR1cm4gc3VmZml4ID8gaWQgKyAnXycgKyBzdWZmaXggOiBpZDtcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBmbjtcbiAgICB9XG4gIH0sXG4gIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIC8vIG1vdW50ZWQgb25seSBvY2N1cnMgY2xpZW50IHNpZGVcbiAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBVcGRhdGUgZG9tIHdpdGggYXV0byBJRCBhZnRlciBkb20gbG9hZGVkIHRvIHByZXZlbnRcbiAgICAgIC8vIFNTUiBoeWRyYXRpb24gZXJyb3JzLlxuICAgICAgX3RoaXMubG9jYWxJZF8gPSBcIl9fQlZJRF9fXCIuY29uY2F0KF90aGlzLl91aWQpO1xuICAgIH0pO1xuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL21peGlucy9pZC5qc1xuLy8gbW9kdWxlIGlkID0gOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///9\n"); + +/***/ }), +/* 10 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return hasWindowSupport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return hasDocumentSupport; });\n/* unused harmony export hasNavigatorSupport */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return hasPromiseSupport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return hasMutationObserverSupport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return isBrowser; });\n/* unused harmony export userAgent */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return isJSDOM; });\n/* unused harmony export isIE */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return hasPassiveEventSupport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return hasTouchSupport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return hasPointerEventSupport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return hasIntersectionObserverSupport; });\n/* unused harmony export getEnv */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return getNoWarn; });\n/**\n * Utilities to get information about the current environment\n */\n// --- Constants ---\nvar hasWindowSupport = typeof window !== 'undefined';\nvar hasDocumentSupport = typeof document !== 'undefined';\nvar hasNavigatorSupport = typeof navigator !== 'undefined';\nvar hasPromiseSupport = typeof Promise !== 'undefined';\nvar hasMutationObserverSupport = typeof MutationObserver !== 'undefined' || typeof WebKitMutationObserver !== 'undefined' || typeof MozMutationObserver !== 'undefined';\nvar isBrowser = hasWindowSupport && hasDocumentSupport && hasNavigatorSupport; // Browser type sniffing\n\nvar userAgent = isBrowser ? window.navigator.userAgent.toLowerCase() : '';\nvar isJSDOM = userAgent.indexOf('jsdom') > 0;\nvar isIE = /msie|trident/.test(userAgent); // Determine if the browser supports the option passive for events\n\nvar hasPassiveEventSupport = function () {\n var passiveEventSupported = false;\n\n if (isBrowser) {\n try {\n var options = {\n get passive() {\n // This function will be called when the browser\n // attempts to access the passive property.\n\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true;\n }\n\n };\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (err) {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false;\n }\n }\n\n return passiveEventSupported;\n}();\nvar hasTouchSupport = isBrowser && ('ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0);\nvar hasPointerEventSupport = isBrowser && Boolean(window.PointerEvent || window.MSPointerEvent);\nvar hasIntersectionObserverSupport = isBrowser && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window && // Edge 15 and UC Browser lack support for `isIntersecting`\n// but we an use intersectionRatio > 0 instead\n// 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n'intersectionRatio' in window.IntersectionObserverEntry.prototype; // --- Getters ---\n\nvar getEnv = function getEnv(key) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var env = typeof process !== 'undefined' && process ? process.env || {} : {};\n\n if (!key) {\n /* istanbul ignore next */\n return env;\n }\n\n return env[key] || fallback;\n};\nvar getNoWarn = function getNoWarn() {\n return getEnv('BOOTSTRAP_VUE_NO_WARN');\n};\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(51)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvZW52LmpzPzhiMWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEVBQThFOztBQUU5RTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQztBQUNNO0FBQ0E7QUFDQTtBQUNQO0FBQ0E7QUFDQSxrRUFBa0U7O0FBRTNEO0FBQ1A7QUFDQSx5RUFBeUU7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDTztBQUNQO0FBQ0EsRSIsImZpbGUiOiIxMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXRpbGl0aWVzIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBlbnZpcm9ubWVudFxuICovXG4vLyAtLS0gQ29uc3RhbnRzIC0tLVxuZXhwb3J0IHZhciBoYXNXaW5kb3dTdXBwb3J0ID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCc7XG5leHBvcnQgdmFyIGhhc0RvY3VtZW50U3VwcG9ydCA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCc7XG5leHBvcnQgdmFyIGhhc05hdmlnYXRvclN1cHBvcnQgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJztcbmV4cG9ydCB2YXIgaGFzUHJvbWlzZVN1cHBvcnQgPSB0eXBlb2YgUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCc7XG5leHBvcnQgdmFyIGhhc011dGF0aW9uT2JzZXJ2ZXJTdXBwb3J0ID0gdHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyICE9PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgTW96TXV0YXRpb25PYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCc7XG5leHBvcnQgdmFyIGlzQnJvd3NlciA9IGhhc1dpbmRvd1N1cHBvcnQgJiYgaGFzRG9jdW1lbnRTdXBwb3J0ICYmIGhhc05hdmlnYXRvclN1cHBvcnQ7IC8vIEJyb3dzZXIgdHlwZSBzbmlmZmluZ1xuXG5leHBvcnQgdmFyIHVzZXJBZ2VudCA9IGlzQnJvd3NlciA/IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkgOiAnJztcbmV4cG9ydCB2YXIgaXNKU0RPTSA9IHVzZXJBZ2VudC5pbmRleE9mKCdqc2RvbScpID4gMDtcbmV4cG9ydCB2YXIgaXNJRSA9IC9tc2llfHRyaWRlbnQvLnRlc3QodXNlckFnZW50KTsgLy8gRGV0ZXJtaW5lIGlmIHRoZSBicm93c2VyIHN1cHBvcnRzIHRoZSBvcHRpb24gcGFzc2l2ZSBmb3IgZXZlbnRzXG5cbmV4cG9ydCB2YXIgaGFzUGFzc2l2ZUV2ZW50U3VwcG9ydCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHBhc3NpdmVFdmVudFN1cHBvcnRlZCA9IGZhbHNlO1xuXG4gIGlmIChpc0Jyb3dzZXIpIHtcbiAgICB0cnkge1xuICAgICAgdmFyIG9wdGlvbnMgPSB7XG4gICAgICAgIGdldCBwYXNzaXZlKCkge1xuICAgICAgICAgIC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGUgYnJvd3NlclxuICAgICAgICAgIC8vIGF0dGVtcHRzIHRvIGFjY2VzcyB0aGUgcGFzc2l2ZSBwcm9wZXJ0eS5cblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiB3aWxsIG5ldmVyIGJlIGNhbGxlZCBpbiBKU0RPTSAqL1xuICAgICAgICAgIHBhc3NpdmVFdmVudFN1cHBvcnRlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgfTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0Jywgb3B0aW9ucywgb3B0aW9ucyk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIG9wdGlvbnMsIG9wdGlvbnMpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IHdpbGwgbmV2ZXIgYmUgY2FsbGVkIGluIEpTRE9NICovXG4gICAgICBwYXNzaXZlRXZlbnRTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGFzc2l2ZUV2ZW50U3VwcG9ydGVkO1xufSgpO1xuZXhwb3J0IHZhciBoYXNUb3VjaFN1cHBvcnQgPSBpc0Jyb3dzZXIgJiYgKCdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAwKTtcbmV4cG9ydCB2YXIgaGFzUG9pbnRlckV2ZW50U3VwcG9ydCA9IGlzQnJvd3NlciAmJiBCb29sZWFuKHdpbmRvdy5Qb2ludGVyRXZlbnQgfHwgd2luZG93Lk1TUG9pbnRlckV2ZW50KTtcbmV4cG9ydCB2YXIgaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXJTdXBwb3J0ID0gaXNCcm93c2VyICYmICdJbnRlcnNlY3Rpb25PYnNlcnZlcicgaW4gd2luZG93ICYmICdJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5JyBpbiB3aW5kb3cgJiYgLy8gRWRnZSAxNSBhbmQgVUMgQnJvd3NlciBsYWNrIHN1cHBvcnQgZm9yIGBpc0ludGVyc2VjdGluZ2Bcbi8vIGJ1dCB3ZSBhbiB1c2UgaW50ZXJzZWN0aW9uUmF0aW8gPiAwIGluc3RlYWRcbi8vICdpc0ludGVyc2VjdGluZycgaW4gd2luZG93LkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkucHJvdG90eXBlICYmXG4naW50ZXJzZWN0aW9uUmF0aW8nIGluIHdpbmRvdy5JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LnByb3RvdHlwZTsgLy8gLS0tIEdldHRlcnMgLS0tXG5cbmV4cG9ydCB2YXIgZ2V0RW52ID0gZnVuY3Rpb24gZ2V0RW52KGtleSkge1xuICB2YXIgZmFsbGJhY2sgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IG51bGw7XG4gIHZhciBlbnYgPSB0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvY2VzcyA/IHByb2Nlc3MuZW52IHx8IHt9IDoge307XG5cbiAgaWYgKCFrZXkpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBlbnY7XG4gIH1cblxuICByZXR1cm4gZW52W2tleV0gfHwgZmFsbGJhY2s7XG59O1xuZXhwb3J0IHZhciBnZXROb1dhcm4gPSBmdW5jdGlvbiBnZXROb1dhcm4oKSB7XG4gIHJldHVybiBnZXRFbnYoJ0JPT1RTVFJBUF9WVUVfTk9fV0FSTicpO1xufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy9lbnYuanNcbi8vIG1vZHVsZSBpZCA9IDEwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///10\n"); + +/***/ }), +/* 11 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return stripTags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return htmlOrText; });\nvar stripTagsRegex = /(<([^>]+)>)/gi; // Removes any thing that looks like an HTML tag from the supplied string\n\nvar stripTags = function stripTags() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return String(text).replace(stripTagsRegex, '');\n}; // Generate a domProps object for either innerHTML, textContent or nothing\n\nvar htmlOrText = function htmlOrText(innerHTML, textContent) {\n return innerHTML ? {\n innerHTML: innerHTML\n } : textContent ? {\n textContent: textContent\n } : {};\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvaHRtbC5qcz9hOWE2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQSxxQ0FBcUM7O0FBRTlCO0FBQ1A7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6IjExLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHN0cmlwVGFnc1JlZ2V4ID0gLyg8KFtePl0rKT4pL2dpOyAvLyBSZW1vdmVzIGFueSB0aGluZyB0aGF0IGxvb2tzIGxpa2UgYW4gSFRNTCB0YWcgZnJvbSB0aGUgc3VwcGxpZWQgc3RyaW5nXG5cbmV4cG9ydCB2YXIgc3RyaXBUYWdzID0gZnVuY3Rpb24gc3RyaXBUYWdzKCkge1xuICB2YXIgdGV4dCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJyc7XG4gIHJldHVybiBTdHJpbmcodGV4dCkucmVwbGFjZShzdHJpcFRhZ3NSZWdleCwgJycpO1xufTsgLy8gR2VuZXJhdGUgYSBkb21Qcm9wcyBvYmplY3QgZm9yIGVpdGhlciBpbm5lckhUTUwsIHRleHRDb250ZW50IG9yIG5vdGhpbmdcblxuZXhwb3J0IHZhciBodG1sT3JUZXh0ID0gZnVuY3Rpb24gaHRtbE9yVGV4dChpbm5lckhUTUwsIHRleHRDb250ZW50KSB7XG4gIHJldHVybiBpbm5lckhUTUwgPyB7XG4gICAgaW5uZXJIVE1MOiBpbm5lckhUTUxcbiAgfSA6IHRleHRDb250ZW50ID8ge1xuICAgIHRleHRDb250ZW50OiB0ZXh0Q29udGVudFxuICB9IDoge307XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL2h0bWwuanNcbi8vIG1vZHVsZSBpZCA9IDExXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///11\n"); + +/***/ }), +/* 12 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__inspect__ = __webpack_require__(1);\n\n // Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\n\nvar compareArrays = function compareArrays(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n var equal = true;\n\n for (var i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n\n return equal;\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 * Returns boolean true or false\n */\n\n\nvar looseEqual = function looseEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n var aValidType = Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"c\" /* isDate */])(a);\n var bValidType = Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"c\" /* isDate */])(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n\n aValidType = Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"a\" /* isArray */])(a);\n bValidType = Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"a\" /* isArray */])(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false;\n }\n\n aValidType = Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"i\" /* isObject */])(a);\n bValidType = Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"i\" /* isObject */])(b);\n\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false;\n }\n\n var aKeysCount = Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"j\" /* keys */])(a).length;\n var bKeysCount = Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"j\" /* keys */])(b).length;\n\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n\n for (var key in a) {\n // eslint-disable-next-line no-prototype-builtins\n var aHasKey = a.hasOwnProperty(key); // eslint-disable-next-line no-prototype-builtins\n\n var bHasKey = b.hasOwnProperty(key);\n\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n\n return String(a) === String(b);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (looseEqual);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvbG9vc2UtZXF1YWwuanM/YmU0ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQWdDO0FBQ3NCO0FBQ3REOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGlCQUFpQix1QkFBdUI7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLGdFQUFNO0FBQ3pCLG1CQUFtQixnRUFBTTs7QUFFekI7QUFDQTtBQUNBOztBQUVBLGVBQWUsaUVBQU87QUFDdEIsZUFBZSxpRUFBTzs7QUFFdEI7QUFDQTtBQUNBOztBQUVBLGVBQWUsa0VBQVE7QUFDdkIsZUFBZSxrRUFBUTs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsNkRBQUk7QUFDekIscUJBQXFCLDZEQUFJOztBQUV6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBDQUEwQzs7QUFFMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVlLG1FQUFVIiwiZmlsZSI6IjEyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsga2V5cyB9IGZyb20gJy4vb2JqZWN0JztcbmltcG9ydCB7IGlzQXJyYXksIGlzRGF0ZSwgaXNPYmplY3QgfSBmcm9tICcuL2luc3BlY3QnOyAvLyBBc3N1bWVzIGJvdGggYSBhbmQgYiBhcmUgYXJyYXlzIVxuLy8gSGFuZGxlcyB3aGVuIGFycmF5cyBhcmUgXCJzcGFyc2VcIiAoYXJyYXkuZXZlcnkoLi4uKSBkb2Vzbid0IGhhbmRsZSBzcGFyc2UpXG5cbnZhciBjb21wYXJlQXJyYXlzID0gZnVuY3Rpb24gY29tcGFyZUFycmF5cyhhLCBiKSB7XG4gIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgZXF1YWwgPSB0cnVlO1xuXG4gIGZvciAodmFyIGkgPSAwOyBlcXVhbCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgIGVxdWFsID0gbG9vc2VFcXVhbChhW2ldLCBiW2ldKTtcbiAgfVxuXG4gIHJldHVybiBlcXVhbDtcbn07XG4vKipcbiAqIENoZWNrIGlmIHR3byB2YWx1ZXMgYXJlIGxvb3NlbHkgZXF1YWwgLSB0aGF0IGlzLFxuICogaWYgdGhleSBhcmUgcGxhaW4gb2JqZWN0cywgZG8gdGhleSBoYXZlIHRoZSBzYW1lIHNoYXBlP1xuICogUmV0dXJucyBib29sZWFuIHRydWUgb3IgZmFsc2VcbiAqL1xuXG5cbnZhciBsb29zZUVxdWFsID0gZnVuY3Rpb24gbG9vc2VFcXVhbChhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YXIgYVZhbGlkVHlwZSA9IGlzRGF0ZShhKTtcbiAgdmFyIGJWYWxpZFR5cGUgPSBpc0RhdGUoYik7XG5cbiAgaWYgKGFWYWxpZFR5cGUgfHwgYlZhbGlkVHlwZSkge1xuICAgIHJldHVybiBhVmFsaWRUeXBlICYmIGJWYWxpZFR5cGUgPyBhLmdldFRpbWUoKSA9PT0gYi5nZXRUaW1lKCkgOiBmYWxzZTtcbiAgfVxuXG4gIGFWYWxpZFR5cGUgPSBpc0FycmF5KGEpO1xuICBiVmFsaWRUeXBlID0gaXNBcnJheShiKTtcblxuICBpZiAoYVZhbGlkVHlwZSB8fCBiVmFsaWRUeXBlKSB7XG4gICAgcmV0dXJuIGFWYWxpZFR5cGUgJiYgYlZhbGlkVHlwZSA/IGNvbXBhcmVBcnJheXMoYSwgYikgOiBmYWxzZTtcbiAgfVxuXG4gIGFWYWxpZFR5cGUgPSBpc09iamVjdChhKTtcbiAgYlZhbGlkVHlwZSA9IGlzT2JqZWN0KGIpO1xuXG4gIGlmIChhVmFsaWRUeXBlIHx8IGJWYWxpZFR5cGUpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWY6IHRoaXMgaWYgd2lsbCBwcm9iYWJseSBuZXZlciBiZSBjYWxsZWQgKi9cbiAgICBpZiAoIWFWYWxpZFR5cGUgfHwgIWJWYWxpZFR5cGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB2YXIgYUtleXNDb3VudCA9IGtleXMoYSkubGVuZ3RoO1xuICAgIHZhciBiS2V5c0NvdW50ID0ga2V5cyhiKS5sZW5ndGg7XG5cbiAgICBpZiAoYUtleXNDb3VudCAhPT0gYktleXNDb3VudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAodmFyIGtleSBpbiBhKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgICB2YXIgYUhhc0tleSA9IGEuaGFzT3duUHJvcGVydHkoa2V5KTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuXG4gICAgICB2YXIgYkhhc0tleSA9IGIuaGFzT3duUHJvcGVydHkoa2V5KTtcblxuICAgICAgaWYgKGFIYXNLZXkgJiYgIWJIYXNLZXkgfHwgIWFIYXNLZXkgJiYgYkhhc0tleSB8fCAhbG9vc2VFcXVhbChhW2tleV0sIGJba2V5XSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTdHJpbmcoYSkgPT09IFN0cmluZyhiKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGxvb3NlRXF1YWw7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvbG9vc2UtZXF1YWwuanNcbi8vIG1vZHVsZSBpZCA9IDEyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///12\n"); + +/***/ }), +/* 13 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return warn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return warnNotClient; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return warnNoPromiseSupport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return warnNoMutationObserverSupport; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__env__ = __webpack_require__(10);\n\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\n\nvar warn = function warn(message)\n/* istanbul ignore next */\n{\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__env__[\"a\" /* getNoWarn */])()) {\n console.warn(\"[BootstrapVue warn]: \".concat(message));\n }\n};\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nvar warnNotClient = function warnNotClient(source) {\n /* istanbul ignore else */\n if (__WEBPACK_IMPORTED_MODULE_0__env__[\"j\" /* isBrowser */]) {\n return false;\n } else {\n warn(\"\".concat(source, \": Can not be called during SSR.\"));\n return true;\n }\n};\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nvar warnNoPromiseSupport = function warnNoPromiseSupport(source) {\n /* istanbul ignore else */\n if (__WEBPACK_IMPORTED_MODULE_0__env__[\"g\" /* hasPromiseSupport */]) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires Promise support.\"));\n return true;\n }\n};\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nvar warnNoMutationObserverSupport = function warnNoMutationObserverSupport(source) {\n /* istanbul ignore else */\n if (__WEBPACK_IMPORTED_MODULE_0__env__[\"d\" /* hasMutationObserverSupport */]) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires MutationObserver support.\"));\n return true;\n }\n}; // Default export\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (warn);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvd2Fybi5qcz9mMjk2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEY7QUFDNUY7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQjs7QUFFTztBQUNQO0FBQ0E7QUFDQSxPQUFPLCtEQUFTO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCOztBQUVPO0FBQ1A7QUFDQSxNQUFNLHVEQUFTO0FBQ2Y7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjs7QUFFTztBQUNQO0FBQ0EsTUFBTSwrREFBaUI7QUFDdkI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjs7QUFFTztBQUNQO0FBQ0EsTUFBTSx3RUFBMEI7QUFDaEM7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFYSw2REFBSSIsImZpbGUiOiIxMy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQnJvd3NlciwgaGFzUHJvbWlzZVN1cHBvcnQsIGhhc011dGF0aW9uT2JzZXJ2ZXJTdXBwb3J0LCBnZXROb1dhcm4gfSBmcm9tICcuL2Vudic7XG4vKipcbiAqIExvZyBhIHdhcm5pbmcgbWVzc2FnZSB0byB0aGUgY29uc29sZSB3aXRoIEJvb3RzdHJhcFZ1ZSBmb3JtYXR0aW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5cbmV4cG9ydCB2YXIgd2FybiA9IGZ1bmN0aW9uIHdhcm4obWVzc2FnZSlcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG57XG4gIGlmICghZ2V0Tm9XYXJuKCkpIHtcbiAgICBjb25zb2xlLndhcm4oXCJbQm9vdHN0cmFwVnVlIHdhcm5dOiBcIi5jb25jYXQobWVzc2FnZSkpO1xuICB9XG59O1xuLyoqXG4gKiBXYXJuIHdoZW4gbm8gUHJvbWlzZSBzdXBwb3J0IGlzIGdpdmVuXG4gKiBAcGFyYW0ge3N0cmluZ30gc291cmNlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gd2FybmVkXG4gKi9cblxuZXhwb3J0IHZhciB3YXJuTm90Q2xpZW50ID0gZnVuY3Rpb24gd2Fybk5vdENsaWVudChzb3VyY2UpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGlzQnJvd3Nlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSBlbHNlIHtcbiAgICB3YXJuKFwiXCIuY29uY2F0KHNvdXJjZSwgXCI6IENhbiBub3QgYmUgY2FsbGVkIGR1cmluZyBTU1IuXCIpKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufTtcbi8qKlxuICogV2FybiB3aGVuIG5vIFByb21pc2Ugc3VwcG9ydCBpcyBnaXZlblxuICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZVxuICogQHJldHVybnMge2Jvb2xlYW59IHdhcm5lZFxuICovXG5cbmV4cG9ydCB2YXIgd2Fybk5vUHJvbWlzZVN1cHBvcnQgPSBmdW5jdGlvbiB3YXJuTm9Qcm9taXNlU3VwcG9ydChzb3VyY2UpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGhhc1Byb21pc2VTdXBwb3J0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2Uge1xuICAgIHdhcm4oXCJcIi5jb25jYXQoc291cmNlLCBcIjogUmVxdWlyZXMgUHJvbWlzZSBzdXBwb3J0LlwiKSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG4vKipcbiAqIFdhcm4gd2hlbiBubyBNdXRhdGlvbk9ic2VydmVyIHN1cHBvcnQgaXMgZ2l2ZW5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2VcbiAqIEByZXR1cm5zIHtib29sZWFufSB3YXJuZWRcbiAqL1xuXG5leHBvcnQgdmFyIHdhcm5Ob011dGF0aW9uT2JzZXJ2ZXJTdXBwb3J0ID0gZnVuY3Rpb24gd2Fybk5vTXV0YXRpb25PYnNlcnZlclN1cHBvcnQoc291cmNlKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlmIChoYXNNdXRhdGlvbk9ic2VydmVyU3VwcG9ydCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSBlbHNlIHtcbiAgICB3YXJuKFwiXCIuY29uY2F0KHNvdXJjZSwgXCI6IFJlcXVpcmVzIE11dGF0aW9uT2JzZXJ2ZXIgc3VwcG9ydC5cIikpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59OyAvLyBEZWZhdWx0IGV4cG9ydFxuXG5leHBvcnQgZGVmYXVsdCB3YXJuO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL3dhcm4uanNcbi8vIG1vZHVsZSBpZCA9IDEzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///13\n"); + +/***/ }), +/* 14 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return propsFactory; });\n/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BLink; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_router__ = __webpack_require__(105);\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n/**\n * The Link component is used in many other BV components.\n * As such, sharing its props makes supporting all its features easier.\n * However, some components need to modify the defaults for their own purpose.\n * Prefer sharing a fresh copy of the props to ensure mutations\n * do not affect other component references to the props.\n *\n * https://github.com/vuejs/vue-router/blob/dev/src/components/link.js\n * @return {{}}\n */\n\nvar propsFactory = function propsFactory() {\n return {\n href: {\n type: String,\n default: null\n },\n rel: {\n type: String,\n default: null\n },\n target: {\n type: String,\n default: '_self'\n },\n active: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n // router-link specific props\n to: {\n type: [String, Object],\n default: null\n },\n append: {\n type: Boolean,\n default: false\n },\n replace: {\n type: Boolean,\n default: false\n },\n event: {\n type: [String, Array],\n default: 'click'\n },\n activeClass: {\n type: String // default: undefined\n\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String // default: undefined\n\n },\n routerTag: {\n type: String,\n default: 'a'\n },\n // nuxt-link specific prop(s)\n noPrefetch: {\n type: Boolean,\n default: false\n }\n };\n};\nvar props = propsFactory(); // @vue/component\n\nvar BLink =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BLink',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n props: propsFactory(),\n computed: {\n computedTag: function computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_router__[\"c\" /* computeTag */])({\n to: this.to,\n disabled: this.disabled\n }, this);\n },\n isRouterLink: function isRouterLink() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_router__[\"d\" /* isRouterLink */])(this.computedTag);\n },\n computedRel: function computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_router__[\"b\" /* computeRel */])({\n target: this.target,\n rel: this.rel\n });\n },\n computedHref: function computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_router__[\"a\" /* computeHref */])({\n to: this.to,\n href: this.href\n }, this.computedTag);\n },\n computedProps: function computedProps() {\n return this.isRouterLink ? _objectSpread({}, this.$props, {\n tag: this.routerTag\n }) : {};\n }\n },\n methods: {\n onClick: function onClick(evt) {\n var _arguments = arguments;\n var evtIsEvent = Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"d\" /* isEvent */])(evt);\n var isRouterLink = this.isRouterLink;\n var suppliedHandler = this.$listeners.click;\n\n if (evtIsEvent && this.disabled) {\n // Stop event from bubbling up\n evt.stopPropagation(); // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing it's thing\n\n evt.stopImmediatePropagation();\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && evt.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an $emit('click', evt) on it's vue instance\n evt.currentTarget.__vue__.$emit('click', evt);\n } // Call the suppliedHandler(s), if any provided\n\n\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"b\" /* concat */])(suppliedHandler).filter(function (h) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"f\" /* isFunction */])(h);\n }).forEach(function (handler) {\n handler.apply(void 0, _toConsumableArray(_arguments));\n }); // Emit the global $root click event\n\n this.$root.$emit('clicked::link', evt);\n } // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n\n\n if (evtIsEvent && (this.disabled || !isRouterLink && this.computedHref === '#')) {\n evt.preventDefault();\n }\n },\n focus: function focus() {\n if (this.$el && this.$el.focus) {\n this.$el.focus();\n }\n },\n blur: function blur() {\n if (this.$el && this.$el.blur) {\n this.$el.blur();\n }\n }\n },\n render: function render(h) {\n var tag = this.computedTag;\n var rel = this.computedRel;\n var href = this.computedHref;\n var isRouterLink = this.isRouterLink;\n var componentData = {\n class: {\n active: this.active,\n disabled: this.disabled\n },\n attrs: _objectSpread({}, this.$attrs, {\n rel: rel,\n target: this.target,\n tabindex: this.disabled ? '-1' : Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"n\" /* isUndefined */])(this.$attrs.tabindex) ? null : this.$attrs.tabindex,\n 'aria-disabled': this.disabled ? 'true' : null\n }),\n props: this.computedProps\n }; // Add the event handlers. We must use `navtiveOn` for\n // `<router-link>`/`<nuxt-link>` instead of `on`\n\n componentData[isRouterLink ? 'nativeOn' : 'on'] = _objectSpread({}, this.$listeners, {\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n }); // If href attribute exists on <router-link> (even undefined or null) it fails working on\n // SSR, so we explicitly add it here if needed (i.e. if computedHref() is truthy)\n\n if (href) {\n componentData.attrs.href = href;\n } else {\n // Ensure the prop HREF does not exist for router links\n delete componentData.props.href;\n }\n\n return h(tag, componentData, this.normalizeSlot('default'));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9saW5rL2xpbmsuanM/ODQ5NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0NBQWtDLGlGQUFpRjs7QUFFbkgsK0JBQStCLHdFQUF3RTs7QUFFdkcsaUNBQWlDLCtIQUErSDs7QUFFaEssa0NBQWtDLDBCQUEwQiw4Q0FBOEMsZ0JBQWdCLE9BQU8sa0JBQWtCLEVBQUUsYUFBYSxFQUFFOztBQUVwSywwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQzJCO0FBQ2xCO0FBQzRCO0FBQ2lDO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTywyQkFBMkI7O0FBRTNCO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVyx1RUFBa0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEseUVBQVU7QUFDdkI7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxhQUFhLDJFQUFhO0FBQzFCLEtBQUs7QUFDTDtBQUNBO0FBQ0EsYUFBYSx5RUFBVTtBQUN2QjtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0EsYUFBYSwwRUFBVztBQUN4QjtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBLGlEQUFpRDtBQUNqRDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsdUVBQU87QUFDOUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOzs7QUFHVCxRQUFRLG9FQUFNO0FBQ2QsaUJBQWlCLDBFQUFVO0FBQzNCLFNBQVM7QUFDVDtBQUNBLFNBQVMsRUFBRTs7QUFFWDtBQUNBLE9BQU87QUFDUDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0EseUNBQXlDLDJFQUFXO0FBQ3BEO0FBQ0EsT0FBTztBQUNQO0FBQ0EsTUFBTTtBQUNOOztBQUVBLHNFQUFzRTtBQUN0RTtBQUNBO0FBQ0E7QUFDQSxLQUFLLEVBQUU7QUFDUDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNC5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF90b0NvbnN1bWFibGVBcnJheShhcnIpIHsgcmV0dXJuIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBfbm9uSXRlcmFibGVTcHJlYWQoKTsgfVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVTcHJlYWQoKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKTsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5KGl0ZXIpIHsgaWYgKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcikgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGl0ZXIpID09PSBcIltvYmplY3QgQXJndW1lbnRzXVwiKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHsgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkoYXJyLmxlbmd0aCk7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfSB9XG5cbmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJy4uLy4uL3V0aWxzL2FycmF5JztcbmltcG9ydCB7IGlzRXZlbnQsIGlzRnVuY3Rpb24sIGlzVW5kZWZpbmVkIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgeyBjb21wdXRlSHJlZiwgY29tcHV0ZVJlbCwgY29tcHV0ZVRhZywgaXNSb3V0ZXJMaW5rIGFzIF9pc1JvdXRlckxpbmsgfSBmcm9tICcuLi8uLi91dGlscy9yb3V0ZXInO1xuLyoqXG4gKiBUaGUgTGluayBjb21wb25lbnQgaXMgdXNlZCBpbiBtYW55IG90aGVyIEJWIGNvbXBvbmVudHMuXG4gKiBBcyBzdWNoLCBzaGFyaW5nIGl0cyBwcm9wcyBtYWtlcyBzdXBwb3J0aW5nIGFsbCBpdHMgZmVhdHVyZXMgZWFzaWVyLlxuICogSG93ZXZlciwgc29tZSBjb21wb25lbnRzIG5lZWQgdG8gbW9kaWZ5IHRoZSBkZWZhdWx0cyBmb3IgdGhlaXIgb3duIHB1cnBvc2UuXG4gKiBQcmVmZXIgc2hhcmluZyBhIGZyZXNoIGNvcHkgb2YgdGhlIHByb3BzIHRvIGVuc3VyZSBtdXRhdGlvbnNcbiAqIGRvIG5vdCBhZmZlY3Qgb3RoZXIgY29tcG9uZW50IHJlZmVyZW5jZXMgdG8gdGhlIHByb3BzLlxuICpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92dWVqcy92dWUtcm91dGVyL2Jsb2IvZGV2L3NyYy9jb21wb25lbnRzL2xpbmsuanNcbiAqIEByZXR1cm4ge3t9fVxuICovXG5cbmV4cG9ydCB2YXIgcHJvcHNGYWN0b3J5ID0gZnVuY3Rpb24gcHJvcHNGYWN0b3J5KCkge1xuICByZXR1cm4ge1xuICAgIGhyZWY6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIHJlbDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgdGFyZ2V0OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnX3NlbGYnXG4gICAgfSxcbiAgICBhY3RpdmU6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgZGlzYWJsZWQ6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgLy8gcm91dGVyLWxpbmsgc3BlY2lmaWMgcHJvcHNcbiAgICB0bzoge1xuICAgICAgdHlwZTogW1N0cmluZywgT2JqZWN0XSxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIGFwcGVuZDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICByZXBsYWNlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGV2ZW50OiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBBcnJheV0sXG4gICAgICBkZWZhdWx0OiAnY2xpY2snXG4gICAgfSxcbiAgICBhY3RpdmVDbGFzczoge1xuICAgICAgdHlwZTogU3RyaW5nIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICBleGFjdDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBleGFjdEFjdGl2ZUNsYXNzOiB7XG4gICAgICB0eXBlOiBTdHJpbmcgLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgICB9LFxuICAgIHJvdXRlclRhZzoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ2EnXG4gICAgfSxcbiAgICAvLyBudXh0LWxpbmsgc3BlY2lmaWMgcHJvcChzKVxuICAgIG5vUHJlZmV0Y2g6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH1cbiAgfTtcbn07XG5leHBvcnQgdmFyIHByb3BzID0gcHJvcHNGYWN0b3J5KCk7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkxpbmsgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCTGluaycsXG4gIG1peGluczogW25vcm1hbGl6ZVNsb3RNaXhpbl0sXG4gIGluaGVyaXRBdHRyczogZmFsc2UsXG4gIHByb3BzOiBwcm9wc0ZhY3RvcnkoKSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBjb21wdXRlZFRhZzogZnVuY3Rpb24gY29tcHV0ZWRUYWcoKSB7XG4gICAgICAvLyBXZSBkb24ndCBwYXNzIGB0aGlzYCBhcyB0aGUgZmlyc3QgYXJnIGFzIHdlIG5lZWQgcmVhY3Rpdml0eSBvZiB0aGUgcHJvcHNcbiAgICAgIHJldHVybiBjb21wdXRlVGFnKHtcbiAgICAgICAgdG86IHRoaXMudG8sXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkXG4gICAgICB9LCB0aGlzKTtcbiAgICB9LFxuICAgIGlzUm91dGVyTGluazogZnVuY3Rpb24gaXNSb3V0ZXJMaW5rKCkge1xuICAgICAgcmV0dXJuIF9pc1JvdXRlckxpbmsodGhpcy5jb21wdXRlZFRhZyk7XG4gICAgfSxcbiAgICBjb21wdXRlZFJlbDogZnVuY3Rpb24gY29tcHV0ZWRSZWwoKSB7XG4gICAgICAvLyBXZSBkb24ndCBwYXNzIGB0aGlzYCBhcyB0aGUgZmlyc3QgYXJnIGFzIHdlIG5lZWQgcmVhY3Rpdml0eSBvZiB0aGUgcHJvcHNcbiAgICAgIHJldHVybiBjb21wdXRlUmVsKHtcbiAgICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldCxcbiAgICAgICAgcmVsOiB0aGlzLnJlbFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBjb21wdXRlZEhyZWY6IGZ1bmN0aW9uIGNvbXB1dGVkSHJlZigpIHtcbiAgICAgIC8vIFdlIGRvbid0IHBhc3MgYHRoaXNgIGFzIHRoZSBmaXJzdCBhcmcgYXMgd2UgbmVlZCByZWFjdGl2aXR5IG9mIHRoZSBwcm9wc1xuICAgICAgcmV0dXJuIGNvbXB1dGVIcmVmKHtcbiAgICAgICAgdG86IHRoaXMudG8sXG4gICAgICAgIGhyZWY6IHRoaXMuaHJlZlxuICAgICAgfSwgdGhpcy5jb21wdXRlZFRhZyk7XG4gICAgfSxcbiAgICBjb21wdXRlZFByb3BzOiBmdW5jdGlvbiBjb21wdXRlZFByb3BzKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNSb3V0ZXJMaW5rID8gX29iamVjdFNwcmVhZCh7fSwgdGhpcy4kcHJvcHMsIHtcbiAgICAgICAgdGFnOiB0aGlzLnJvdXRlclRhZ1xuICAgICAgfSkgOiB7fTtcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKGV2dCkge1xuICAgICAgdmFyIF9hcmd1bWVudHMgPSBhcmd1bWVudHM7XG4gICAgICB2YXIgZXZ0SXNFdmVudCA9IGlzRXZlbnQoZXZ0KTtcbiAgICAgIHZhciBpc1JvdXRlckxpbmsgPSB0aGlzLmlzUm91dGVyTGluaztcbiAgICAgIHZhciBzdXBwbGllZEhhbmRsZXIgPSB0aGlzLiRsaXN0ZW5lcnMuY2xpY2s7XG5cbiAgICAgIGlmIChldnRJc0V2ZW50ICYmIHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgLy8gU3RvcCBldmVudCBmcm9tIGJ1YmJsaW5nIHVwXG4gICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gS2lsbCB0aGUgZXZlbnQgbG9vcCBhdHRhY2hlZCB0byB0aGlzIHNwZWNpZmljIGBFdmVudFRhcmdldGBcbiAgICAgICAgLy8gTmVlZGVkIHRvIHByZXZlbnQgYHZ1ZS1yb3V0ZXJgIGZvciBkb2luZyBpdCdzIHRoaW5nXG5cbiAgICAgICAgZXZ0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGRpZmZpY3VsdCB0byB0ZXN0LCBidXQgd2Uga25vdyBpdCB3b3JrcyAqL1xuICAgICAgICBpZiAoaXNSb3V0ZXJMaW5rICYmIGV2dC5jdXJyZW50VGFyZ2V0Ll9fdnVlX18pIHtcbiAgICAgICAgICAvLyBSb3V0ZXIgbGlua3MgZG8gbm90IGVtaXQgaW5zdGFuY2UgYGNsaWNrYCBldmVudHMsIHNvIHdlXG4gICAgICAgICAgLy8gYWRkIGluIGFuICRlbWl0KCdjbGljaycsIGV2dCkgb24gaXQncyB2dWUgaW5zdGFuY2VcbiAgICAgICAgICBldnQuY3VycmVudFRhcmdldC5fX3Z1ZV9fLiRlbWl0KCdjbGljaycsIGV2dCk7XG4gICAgICAgIH0gLy8gQ2FsbCB0aGUgc3VwcGxpZWRIYW5kbGVyKHMpLCBpZiBhbnkgcHJvdmlkZWRcblxuXG4gICAgICAgIGNvbmNhdChzdXBwbGllZEhhbmRsZXIpLmZpbHRlcihmdW5jdGlvbiAoaCkge1xuICAgICAgICAgIHJldHVybiBpc0Z1bmN0aW9uKGgpO1xuICAgICAgICB9KS5mb3JFYWNoKGZ1bmN0aW9uIChoYW5kbGVyKSB7XG4gICAgICAgICAgaGFuZGxlci5hcHBseSh2b2lkIDAsIF90b0NvbnN1bWFibGVBcnJheShfYXJndW1lbnRzKSk7XG4gICAgICAgIH0pOyAvLyBFbWl0IHRoZSBnbG9iYWwgJHJvb3QgY2xpY2sgZXZlbnRcblxuICAgICAgICB0aGlzLiRyb290LiRlbWl0KCdjbGlja2VkOjpsaW5rJywgZXZ0KTtcbiAgICAgIH0gLy8gU3RvcCBzY3JvbGwtdG8tdG9wIGJlaGF2aW9yIG9yIG5hdmlnYXRpb24gb25cbiAgICAgIC8vIHJlZ3VsYXIgbGlua3Mgd2hlbiBocmVmIGlzIGp1c3QgJyMnXG5cblxuICAgICAgaWYgKGV2dElzRXZlbnQgJiYgKHRoaXMuZGlzYWJsZWQgfHwgIWlzUm91dGVyTGluayAmJiB0aGlzLmNvbXB1dGVkSHJlZiA9PT0gJyMnKSkge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGZvY3VzOiBmdW5jdGlvbiBmb2N1cygpIHtcbiAgICAgIGlmICh0aGlzLiRlbCAmJiB0aGlzLiRlbC5mb2N1cykge1xuICAgICAgICB0aGlzLiRlbC5mb2N1cygpO1xuICAgICAgfVxuICAgIH0sXG4gICAgYmx1cjogZnVuY3Rpb24gYmx1cigpIHtcbiAgICAgIGlmICh0aGlzLiRlbCAmJiB0aGlzLiRlbC5ibHVyKSB7XG4gICAgICAgIHRoaXMuJGVsLmJsdXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICB2YXIgdGFnID0gdGhpcy5jb21wdXRlZFRhZztcbiAgICB2YXIgcmVsID0gdGhpcy5jb21wdXRlZFJlbDtcbiAgICB2YXIgaHJlZiA9IHRoaXMuY29tcHV0ZWRIcmVmO1xuICAgIHZhciBpc1JvdXRlckxpbmsgPSB0aGlzLmlzUm91dGVyTGluaztcbiAgICB2YXIgY29tcG9uZW50RGF0YSA9IHtcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmUsXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkXG4gICAgICB9LFxuICAgICAgYXR0cnM6IF9vYmplY3RTcHJlYWQoe30sIHRoaXMuJGF0dHJzLCB7XG4gICAgICAgIHJlbDogcmVsLFxuICAgICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0LFxuICAgICAgICB0YWJpbmRleDogdGhpcy5kaXNhYmxlZCA/ICctMScgOiBpc1VuZGVmaW5lZCh0aGlzLiRhdHRycy50YWJpbmRleCkgPyBudWxsIDogdGhpcy4kYXR0cnMudGFiaW5kZXgsXG4gICAgICAgICdhcmlhLWRpc2FibGVkJzogdGhpcy5kaXNhYmxlZCA/ICd0cnVlJyA6IG51bGxcbiAgICAgIH0pLFxuICAgICAgcHJvcHM6IHRoaXMuY29tcHV0ZWRQcm9wc1xuICAgIH07IC8vIEFkZCB0aGUgZXZlbnQgaGFuZGxlcnMuIFdlIG11c3QgdXNlIGBuYXZ0aXZlT25gIGZvclxuICAgIC8vIGA8cm91dGVyLWxpbms+YC9gPG51eHQtbGluaz5gIGluc3RlYWQgb2YgYG9uYFxuXG4gICAgY29tcG9uZW50RGF0YVtpc1JvdXRlckxpbmsgPyAnbmF0aXZlT24nIDogJ29uJ10gPSBfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLiRsaXN0ZW5lcnMsIHtcbiAgICAgIC8vIFdlIHdhbnQgdG8gb3ZlcndyaXRlIGFueSBjbGljayBoYW5kbGVyIHNpbmNlIG91ciBjYWxsYmFja1xuICAgICAgLy8gd2lsbCBpbnZva2UgdGhlIHVzZXIgc3VwcGxpZWQgaGFuZGxlcihzKSBpZiBgIXRoaXMuZGlzYWJsZWRgXG4gICAgICBjbGljazogdGhpcy5vbkNsaWNrXG4gICAgfSk7IC8vIElmIGhyZWYgYXR0cmlidXRlIGV4aXN0cyBvbiA8cm91dGVyLWxpbms+IChldmVuIHVuZGVmaW5lZCBvciBudWxsKSBpdCBmYWlscyB3b3JraW5nIG9uXG4gICAgLy8gU1NSLCBzbyB3ZSBleHBsaWNpdGx5IGFkZCBpdCBoZXJlIGlmIG5lZWRlZCAoaS5lLiBpZiBjb21wdXRlZEhyZWYoKSBpcyB0cnV0aHkpXG5cbiAgICBpZiAoaHJlZikge1xuICAgICAgY29tcG9uZW50RGF0YS5hdHRycy5ocmVmID0gaHJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRW5zdXJlIHRoZSBwcm9wIEhSRUYgZG9lcyBub3QgZXhpc3QgZm9yIHJvdXRlciBsaW5rc1xuICAgICAgZGVsZXRlIGNvbXBvbmVudERhdGEucHJvcHMuaHJlZjtcbiAgICB9XG5cbiAgICByZXR1cm4gaCh0YWcsIGNvbXBvbmVudERhdGEsIHRoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcpKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9saW5rL2xpbmsuanNcbi8vIG1vZHVsZSBpZCA9IDE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///14\n"); + +/***/ }), +/* 15 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__identity__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__object__ = __webpack_require__(8);\n\n\n\n/**\n * Given an array of properties or an object of property keys,\n * plucks all the values off the target object, returning a new object\n * that has props that reference the original prop values\n *\n * @param {{}|string[]} keysToPluck\n * @param {{}} objToPluck\n * @param {Function} transformFn\n * @return {{}}\n */\n\nvar pluckProps = function pluckProps(keysToPluck, objToPluck) {\n var transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : __WEBPACK_IMPORTED_MODULE_0__identity__[\"a\" /* default */];\n return (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"a\" /* isArray */])(keysToPluck) ? keysToPluck.slice() : Object(__WEBPACK_IMPORTED_MODULE_2__object__[\"j\" /* keys */])(keysToPluck)).reduce(function (memo, prop) {\n memo[transformFn(prop)] = objToPluck[prop];\n return memo;\n }, {});\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (pluckProps);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvcGx1Y2stcHJvcHMuanM/Y2FhYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDRTtBQUNKO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFVBQVU7QUFDdkIsY0FBYztBQUNkLFdBQVcsU0FBUztBQUNwQjtBQUNBOztBQUVBO0FBQ0Esd0ZBQXdGLDBEQUFRO0FBQ2hHLFVBQVUsaUVBQU8sc0NBQXNDLDZEQUFJO0FBQzNEO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDs7QUFFZSxtRUFBVSIsImZpbGUiOiIxNS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpZGVudGl0eSBmcm9tICcuL2lkZW50aXR5JztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuL2luc3BlY3QnO1xuaW1wb3J0IHsga2V5cyB9IGZyb20gJy4vb2JqZWN0Jztcbi8qKlxuICogR2l2ZW4gYW4gYXJyYXkgb2YgcHJvcGVydGllcyBvciBhbiBvYmplY3Qgb2YgcHJvcGVydHkga2V5cyxcbiAqIHBsdWNrcyBhbGwgdGhlIHZhbHVlcyBvZmYgdGhlIHRhcmdldCBvYmplY3QsIHJldHVybmluZyBhIG5ldyBvYmplY3RcbiAqIHRoYXQgaGFzIHByb3BzIHRoYXQgcmVmZXJlbmNlIHRoZSBvcmlnaW5hbCBwcm9wIHZhbHVlc1xuICpcbiAqIEBwYXJhbSB7e318c3RyaW5nW119IGtleXNUb1BsdWNrXG4gKiBAcGFyYW0ge3t9fSBvYmpUb1BsdWNrXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSB0cmFuc2Zvcm1GblxuICogQHJldHVybiB7e319XG4gKi9cblxudmFyIHBsdWNrUHJvcHMgPSBmdW5jdGlvbiBwbHVja1Byb3BzKGtleXNUb1BsdWNrLCBvYmpUb1BsdWNrKSB7XG4gIHZhciB0cmFuc2Zvcm1GbiA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogaWRlbnRpdHk7XG4gIHJldHVybiAoaXNBcnJheShrZXlzVG9QbHVjaykgPyBrZXlzVG9QbHVjay5zbGljZSgpIDoga2V5cyhrZXlzVG9QbHVjaykpLnJlZHVjZShmdW5jdGlvbiAobWVtbywgcHJvcCkge1xuICAgIG1lbW9bdHJhbnNmb3JtRm4ocHJvcCldID0gb2JqVG9QbHVja1twcm9wXTtcbiAgICByZXR1cm4gbWVtbztcbiAgfSwge30pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgcGx1Y2tQcm9wcztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy9wbHVjay1wcm9wcy5qc1xuLy8gbW9kdWxlIGlkID0gMTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///15\n"); + +/***/ }), +/* 16 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_inspect__ = __webpack_require__(1);\n/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\n // @vue/component\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n state: {\n // Tri-state prop: true, false, null (or undefined)\n type: Boolean,\n default: null\n }\n },\n computed: {\n computedState: function computedState() {\n // If not a boolean, ensure that value is null\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_inspect__[\"b\" /* isBoolean */])(this.state) ? this.state : null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n\n if (state === true) {\n return 'is-valid';\n } else if (state === false) {\n return 'is-invalid';\n }\n\n return null;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tc3RhdGUuanM/Yzk2MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDNkM7O0FBRTlCO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEseUVBQVM7QUFDdEIsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBGb3JtIGNvbnRyb2wgY29udGV4dHVhbCBzdGF0ZSBjbGFzcyBjb21wdXRhdGlvblxuICpcbiAqIFJldHVybmVkIGNsYXNzIGlzIGVpdGhlciAnaXMtdmFsaWQnIG9yICdpcy1pbnZhbGlkJyBiYXNlZCBvbiB0aGUgJ3N0YXRlJyBwcm9wXG4gKiBzdGF0ZSBjYW4gYmUgb25lIG9mIGZpdmUgdmFsdWVzOlxuICogIC0gdHJ1ZSBmb3IgaXMtdmFsaWRcbiAqICAtIGZhbHNlIGZvciBpcy1pbnZhbGlkXG4gKiAgLSBudWxsIGZvciBubyBjb250ZXh0dWFsIHN0YXRlXG4gKi9cbmltcG9ydCB7IGlzQm9vbGVhbiB9IGZyb20gJy4uL3V0aWxzL2luc3BlY3QnOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHByb3BzOiB7XG4gICAgc3RhdGU6IHtcbiAgICAgIC8vIFRyaS1zdGF0ZSBwcm9wOiB0cnVlLCBmYWxzZSwgbnVsbCAob3IgdW5kZWZpbmVkKVxuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgY29tcHV0ZWRTdGF0ZTogZnVuY3Rpb24gY29tcHV0ZWRTdGF0ZSgpIHtcbiAgICAgIC8vIElmIG5vdCBhIGJvb2xlYW4sIGVuc3VyZSB0aGF0IHZhbHVlIGlzIG51bGxcbiAgICAgIHJldHVybiBpc0Jvb2xlYW4odGhpcy5zdGF0ZSkgPyB0aGlzLnN0YXRlIDogbnVsbDtcbiAgICB9LFxuICAgIHN0YXRlQ2xhc3M6IGZ1bmN0aW9uIHN0YXRlQ2xhc3MoKSB7XG4gICAgICB2YXIgc3RhdGUgPSB0aGlzLmNvbXB1dGVkU3RhdGU7XG5cbiAgICAgIGlmIChzdGF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gJ2lzLXZhbGlkJztcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiAnaXMtaW52YWxpZCc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9taXhpbnMvZm9ybS1zdGF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gMTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///16\n"); + +/***/ }), +/* 17 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export Element */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return HTMLElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return SVGElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return File; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__env__ = __webpack_require__(10);\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 _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\n/**\n * SSR safe types\n */\n\nvar w = __WEBPACK_IMPORTED_MODULE_0__env__[\"i\" /* hasWindowSupport */] ? window : {};\nvar Element = __WEBPACK_IMPORTED_MODULE_0__env__[\"i\" /* hasWindowSupport */] ? w.Element :\n/*#__PURE__*/\nfunction (_Object) {\n _inherits(Element, _Object);\n\n function Element() {\n _classCallCheck(this, Element);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Element).apply(this, arguments));\n }\n\n return Element;\n}(_wrapNativeSuper(Object));\nvar HTMLElement = __WEBPACK_IMPORTED_MODULE_0__env__[\"i\" /* hasWindowSupport */] ? w.HTMLElement :\n/*#__PURE__*/\nfunction (_Element) {\n _inherits(HTMLElement, _Element);\n\n function HTMLElement() {\n _classCallCheck(this, HTMLElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(HTMLElement).apply(this, arguments));\n }\n\n return HTMLElement;\n}(Element);\nvar SVGElement = __WEBPACK_IMPORTED_MODULE_0__env__[\"i\" /* hasWindowSupport */] ? w.SVGElement :\n/*#__PURE__*/\nfunction (_Element2) {\n _inherits(SVGElement, _Element2);\n\n function SVGElement() {\n _classCallCheck(this, SVGElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(SVGElement).apply(this, arguments));\n }\n\n return SVGElement;\n}(Element);\nvar File = __WEBPACK_IMPORTED_MODULE_0__env__[\"i\" /* hasWindowSupport */] ? w.File :\n/*#__PURE__*/\nfunction (_Object2) {\n _inherits(File, _Object2);\n\n function File() {\n _classCallCheck(this, File);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(File).apply(this, arguments));\n }\n\n return File;\n}(_wrapNativeSuper(Object));\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvc2FmZS10eXBlcy5qcz80NGE5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx1QkFBdUIsMkVBQTJFLGtDQUFrQyxtQkFBbUIsR0FBRyxFQUFFLE9BQU8sa0NBQWtDLDhIQUE4SCxHQUFHLEVBQUUscUJBQXFCOztBQUU3VixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SixpREFBaUQsMEVBQTBFLGFBQWEsRUFBRSxxQ0FBcUM7O0FBRS9LLHVDQUF1Qyx1QkFBdUIsdUZBQXVGLEVBQUUsYUFBYTs7QUFFcEssMENBQTBDLCtEQUErRCwyRUFBMkUsRUFBRSx5RUFBeUUsZUFBZSxzREFBc0QsRUFBRSxFQUFFLHVEQUF1RDs7QUFFL1gsa0NBQWtDLGdFQUFnRSxzREFBc0QsK0RBQStELG1DQUFtQywyRUFBMkUsRUFBRSxxQ0FBcUMsaURBQWlELDRCQUE0QixFQUFFLHFCQUFxQix3RUFBd0UsRUFBRSxxREFBcUQsZUFBZSx3RUFBd0UsRUFBRSxFQUFFLHdDQUF3QyxHQUFHLGdDQUFnQzs7QUFFcnZCLHFDQUFxQyx3RUFBd0UsMENBQTBDLDhDQUE4QyxNQUFNLHdFQUF3RSxHQUFHLGFBQWEsRUFBRSxZQUFZLGNBQWMsRUFBRTs7QUFFalUsMENBQTBDLGtDQUFrQyxnQ0FBZ0MsRUFBRSxPQUFPLHdEQUF3RCxnQkFBZ0IsdUJBQXVCLGtEQUFrRCxrQ0FBa0MsdURBQXVELGlCQUFpQixHQUFHLEVBQUUsMENBQTBDOztBQUUvWixnQ0FBZ0MsbUVBQW1FOztBQUVuRyxnQ0FBZ0MsNEVBQTRFLGlCQUFpQixVQUFVLEdBQUcsOEJBQThCOztBQUV4Syw2QkFBNkIsZ0dBQWdHLGdEQUFnRCxHQUFHLDJCQUEyQjs7QUFFM007QUFDQTtBQUNBO0FBQ3lDO0FBQ3pDLFFBQVEsOERBQWdCO0FBQ2pCLGNBQWMsOERBQWdCO0FBQ3JDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDO0FBQ00sa0JBQWtCLDhEQUFnQjtBQUN6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQztBQUNNLGlCQUFpQiw4REFBZ0I7QUFDeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLENBQUM7QUFDTSxXQUFXLDhEQUFnQjtBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF93cmFwTmF0aXZlU3VwZXIoQ2xhc3MpIHsgdmFyIF9jYWNoZSA9IHR5cGVvZiBNYXAgPT09IFwiZnVuY3Rpb25cIiA/IG5ldyBNYXAoKSA6IHVuZGVmaW5lZDsgX3dyYXBOYXRpdmVTdXBlciA9IGZ1bmN0aW9uIF93cmFwTmF0aXZlU3VwZXIoQ2xhc3MpIHsgaWYgKENsYXNzID09PSBudWxsIHx8ICFfaXNOYXRpdmVGdW5jdGlvbihDbGFzcykpIHJldHVybiBDbGFzczsgaWYgKHR5cGVvZiBDbGFzcyAhPT0gXCJmdW5jdGlvblwiKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBpZiAodHlwZW9mIF9jYWNoZSAhPT0gXCJ1bmRlZmluZWRcIikgeyBpZiAoX2NhY2hlLmhhcyhDbGFzcykpIHJldHVybiBfY2FjaGUuZ2V0KENsYXNzKTsgX2NhY2hlLnNldChDbGFzcywgV3JhcHBlcik7IH0gZnVuY3Rpb24gV3JhcHBlcigpIHsgcmV0dXJuIF9jb25zdHJ1Y3QoQ2xhc3MsIGFyZ3VtZW50cywgX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yKTsgfSBXcmFwcGVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBXcmFwcGVyLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyByZXR1cm4gX3NldFByb3RvdHlwZU9mKFdyYXBwZXIsIENsYXNzKTsgfTsgcmV0dXJuIF93cmFwTmF0aXZlU3VwZXIoQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIGlzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfY29uc3RydWN0KFBhcmVudCwgYXJncywgQ2xhc3MpIHsgaWYgKGlzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpKSB7IF9jb25zdHJ1Y3QgPSBSZWZsZWN0LmNvbnN0cnVjdDsgfSBlbHNlIHsgX2NvbnN0cnVjdCA9IGZ1bmN0aW9uIF9jb25zdHJ1Y3QoUGFyZW50LCBhcmdzLCBDbGFzcykgeyB2YXIgYSA9IFtudWxsXTsgYS5wdXNoLmFwcGx5KGEsIGFyZ3MpOyB2YXIgQ29uc3RydWN0b3IgPSBGdW5jdGlvbi5iaW5kLmFwcGx5KFBhcmVudCwgYSk7IHZhciBpbnN0YW5jZSA9IG5ldyBDb25zdHJ1Y3RvcigpOyBpZiAoQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihpbnN0YW5jZSwgQ2xhc3MucHJvdG90eXBlKTsgcmV0dXJuIGluc3RhbmNlOyB9OyB9IHJldHVybiBfY29uc3RydWN0LmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlRnVuY3Rpb24oZm4pIHsgcmV0dXJuIEZ1bmN0aW9uLnRvU3RyaW5nLmNhbGwoZm4pLmluZGV4T2YoXCJbbmF0aXZlIGNvZGVdXCIpICE9PSAtMTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbi8qKlxuICogU1NSIHNhZmUgdHlwZXNcbiAqL1xuaW1wb3J0IHsgaGFzV2luZG93U3VwcG9ydCB9IGZyb20gJy4vZW52JztcbnZhciB3ID0gaGFzV2luZG93U3VwcG9ydCA/IHdpbmRvdyA6IHt9O1xuZXhwb3J0IHZhciBFbGVtZW50ID0gaGFzV2luZG93U3VwcG9ydCA/IHcuRWxlbWVudCA6XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX09iamVjdCkge1xuICBfaW5oZXJpdHMoRWxlbWVudCwgX09iamVjdCk7XG5cbiAgZnVuY3Rpb24gRWxlbWVudCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRWxlbWVudCk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEVsZW1lbnQpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgcmV0dXJuIEVsZW1lbnQ7XG59KF93cmFwTmF0aXZlU3VwZXIoT2JqZWN0KSk7XG5leHBvcnQgdmFyIEhUTUxFbGVtZW50ID0gaGFzV2luZG93U3VwcG9ydCA/IHcuSFRNTEVsZW1lbnQgOlxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9FbGVtZW50KSB7XG4gIF9pbmhlcml0cyhIVE1MRWxlbWVudCwgX0VsZW1lbnQpO1xuXG4gIGZ1bmN0aW9uIEhUTUxFbGVtZW50KCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBIVE1MRWxlbWVudCk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEhUTUxFbGVtZW50KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIHJldHVybiBIVE1MRWxlbWVudDtcbn0oRWxlbWVudCk7XG5leHBvcnQgdmFyIFNWR0VsZW1lbnQgPSBoYXNXaW5kb3dTdXBwb3J0ID8gdy5TVkdFbGVtZW50IDpcbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfRWxlbWVudDIpIHtcbiAgX2luaGVyaXRzKFNWR0VsZW1lbnQsIF9FbGVtZW50Mik7XG5cbiAgZnVuY3Rpb24gU1ZHRWxlbWVudCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgU1ZHRWxlbWVudCk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKFNWR0VsZW1lbnQpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgcmV0dXJuIFNWR0VsZW1lbnQ7XG59KEVsZW1lbnQpO1xuZXhwb3J0IHZhciBGaWxlID0gaGFzV2luZG93U3VwcG9ydCA/IHcuRmlsZSA6XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX09iamVjdDIpIHtcbiAgX2luaGVyaXRzKEZpbGUsIF9PYmplY3QyKTtcblxuICBmdW5jdGlvbiBGaWxlKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBGaWxlKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoRmlsZSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICByZXR1cm4gRmlsZTtcbn0oX3dyYXBOYXRpdmVTdXBlcihPYmplY3QpKTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy9zYWZlLXR5cGVzLmpzXG4vLyBtb2R1bGUgaWQgPSAxN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///17\n"); + +/***/ }), +/* 18 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return hasNormalizedSlot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return normalizeSlot; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__inspect__ = __webpack_require__(1);\n\n // Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\n\nvar hasNormalizedSlot = function hasNormalizedSlot(names) {\n var $scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n // Ensure names is an array\n names = Object(__WEBPACK_IMPORTED_MODULE_0__array__[\"b\" /* concat */])(names).filter(Boolean); // Returns true if the either a $scopedSlot or $slot exists with the specified name\n\n return names.some(function (name) {\n return $scopedSlots[name] || $slots[name];\n });\n};\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\n\n\nvar normalizeSlot = function normalizeSlot(names) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var $slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // Ensure names is an array\n names = Object(__WEBPACK_IMPORTED_MODULE_0__array__[\"b\" /* concat */])(names).filter(Boolean);\n var slot;\n\n for (var i = 0; i < names.length && !slot; i++) {\n var name = names[i];\n slot = $scopedSlots[name] || $slots[name];\n } // Note: in Vue 2.6.x, all named slots are also scoped slots\n\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"f\" /* isFunction */])(slot) ? slot(scope) : slot;\n}; // Named exports\n\n\n // Default export (backwards compatibility)\n\n/* unused harmony default export */ var _unused_webpack_default_export = (normalizeSlot);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvbm9ybWFsaXplLXNsb3QuanM/ZDQyOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFpQztBQUNNO0FBQ3ZDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGNBQWM7QUFDekIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhLGdCQUFnQjtBQUM3Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsOERBQU0sd0JBQXdCOztBQUV4QztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsZ0JBQWdCO0FBQzdCOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSw4REFBTTtBQUNoQjs7QUFFQSxpQkFBaUIsMkJBQTJCO0FBQzVDO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSCxTQUFTLG9FQUFVO0FBQ25CLEVBQUU7OztBQUcwQzs7QUFFN0IsdUZBQWEiLCJmaWxlIjoiMTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQgfSBmcm9tICcuL2FycmF5JztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuL2luc3BlY3QnOyAvLyBOb3RlIGZvciBmdW5jdGlvbmFsIGNvbXBvbmVudHM6XG4vLyBJbiBmdW5jdGlvbmFsIGNvbXBvbmVudHMsIGBzbG90c2AgaXMgYSBmdW5jdGlvbiBzbyBpdCBtdXN0IGJlIGNhbGxlZFxuLy8gZmlyc3QgYmVmb3JlIHBhc3NpbmcgdG8gdGhlIGJlbG93IG1ldGhvZHMuIGBzY29wZWRTbG90c2AgaXMgYWx3YXlzIGFuXG4vLyBvYmplY3QgYW5kIG1heSBiZSB1bmRlZmluZWQgKGZvciBWdWUgPCAyLjYueClcblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgZWl0aGVyIHNjb3BlZCBvciB1bnNjb3BlZCBuYW1lZCBzbG90IGV4aXN0c1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nLCBBcnJheX0gbmFtZSBvciBuYW1lW11cbiAqIEBwYXJhbSB7T2JqZWN0fSBzY29wZWRTbG90c1xuICogQHBhcmFtIHtPYmplY3R9IHNsb3RzXG4gKiBAcmV0dXJucyB7QXJyYXl8dW5kZWZpbmVkfSBWTm9kZXNcbiAqL1xuXG52YXIgaGFzTm9ybWFsaXplZFNsb3QgPSBmdW5jdGlvbiBoYXNOb3JtYWxpemVkU2xvdChuYW1lcykge1xuICB2YXIgJHNjb3BlZFNsb3RzID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgdmFyICRzbG90cyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDoge307XG4gIC8vIEVuc3VyZSBuYW1lcyBpcyBhbiBhcnJheVxuICBuYW1lcyA9IGNvbmNhdChuYW1lcykuZmlsdGVyKEJvb2xlYW4pOyAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIGVpdGhlciBhICRzY29wZWRTbG90IG9yICRzbG90IGV4aXN0cyB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZVxuXG4gIHJldHVybiBuYW1lcy5zb21lKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgcmV0dXJuICRzY29wZWRTbG90c1tuYW1lXSB8fCAkc2xvdHNbbmFtZV07XG4gIH0pO1xufTtcbi8qKlxuICogUmV0dXJucyBWTm9kZXMgZm9yIG5hbWVkIHNsb3QgZWl0aGVyIHNjb3BlZCBvciB1bnNjb3BlZFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nLCBBcnJheX0gbmFtZSBvciBuYW1lW11cbiAqIEBwYXJhbSB7U3RyaW5nfSBzY29wZVxuICogQHBhcmFtIHtPYmplY3R9IHNjb3BlZFNsb3RzXG4gKiBAcGFyYW0ge09iamVjdH0gc2xvdHNcbiAqIEByZXR1cm5zIHtBcnJheXx1bmRlZmluZWR9IFZOb2Rlc1xuICovXG5cblxudmFyIG5vcm1hbGl6ZVNsb3QgPSBmdW5jdGlvbiBub3JtYWxpemVTbG90KG5hbWVzKSB7XG4gIHZhciBzY29wZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gIHZhciAkc2NvcGVkU2xvdHMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuICB2YXIgJHNsb3RzID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiB7fTtcbiAgLy8gRW5zdXJlIG5hbWVzIGlzIGFuIGFycmF5XG4gIG5hbWVzID0gY29uY2F0KG5hbWVzKS5maWx0ZXIoQm9vbGVhbik7XG4gIHZhciBzbG90O1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoICYmICFzbG90OyBpKyspIHtcbiAgICB2YXIgbmFtZSA9IG5hbWVzW2ldO1xuICAgIHNsb3QgPSAkc2NvcGVkU2xvdHNbbmFtZV0gfHwgJHNsb3RzW25hbWVdO1xuICB9IC8vIE5vdGU6IGluIFZ1ZSAyLjYueCwgYWxsIG5hbWVkIHNsb3RzIGFyZSBhbHNvIHNjb3BlZCBzbG90c1xuXG5cbiAgcmV0dXJuIGlzRnVuY3Rpb24oc2xvdCkgPyBzbG90KHNjb3BlKSA6IHNsb3Q7XG59OyAvLyBOYW1lZCBleHBvcnRzXG5cblxuZXhwb3J0IHsgaGFzTm9ybWFsaXplZFNsb3QsIG5vcm1hbGl6ZVNsb3QgfTsgLy8gRGVmYXVsdCBleHBvcnQgKGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5KVxuXG5leHBvcnQgZGVmYXVsdCBub3JtYWxpemVTbG90O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL25vcm1hbGl6ZS1zbG90LmpzXG4vLyBtb2R1bGUgaWQgPSAxOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///18\n"); + +/***/ }), +/* 19 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/*\n * Key Codes (events)\n */\nvar KEY_CODES = {\n SPACE: 32,\n ENTER: 13,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n PAGEUP: 33,\n PAGEDOWN: 34,\n HOME: 36,\n END: 35,\n TAB: 9,\n SHIFT: 16,\n CTRL: 17,\n BACKSPACE: 8,\n ALT: 18,\n PAUSE: 19,\n BREAK: 19,\n INSERT: 45,\n INS: 45,\n DELETE: 46\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (KEY_CODES);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMva2V5LWNvZGVzLmpzP2Y2NTUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLGtFQUFTIiwiZmlsZSI6IjE5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEtleSBDb2RlcyAoZXZlbnRzKVxuICovXG52YXIgS0VZX0NPREVTID0ge1xuICBTUEFDRTogMzIsXG4gIEVOVEVSOiAxMyxcbiAgRVNDOiAyNyxcbiAgTEVGVDogMzcsXG4gIFVQOiAzOCxcbiAgUklHSFQ6IDM5LFxuICBET1dOOiA0MCxcbiAgUEFHRVVQOiAzMyxcbiAgUEFHRURPV046IDM0LFxuICBIT01FOiAzNixcbiAgRU5EOiAzNSxcbiAgVEFCOiA5LFxuICBTSElGVDogMTYsXG4gIENUUkw6IDE3LFxuICBCQUNLU1BBQ0U6IDgsXG4gIEFMVDogMTgsXG4gIFBBVVNFOiAxOSxcbiAgQlJFQUs6IDE5LFxuICBJTlNFUlQ6IDQ1LFxuICBJTlM6IDQ1LFxuICBERUxFVEU6IDQ2XG59O1xuZXhwb3J0IGRlZmF1bHQgS0VZX0NPREVTO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL2tleS1jb2Rlcy5qc1xuLy8gbW9kdWxlIGlkID0gMTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///19\n"); + +/***/ }), +/* 20 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_dom__ = __webpack_require__(6);\n\nvar SELECTOR = 'input, textarea, select'; // @vue/component\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n name: {\n type: String // default: undefined\n\n },\n id: {\n type: String // default: undefined\n\n },\n disabled: {\n type: Boolean\n },\n required: {\n type: Boolean,\n default: false\n },\n form: {\n type: String,\n default: null\n },\n autofocus: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n this.handleAutofocus();\n },\n activated: function activated()\n /* istanbul ignore next */\n {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"w\" /* requestAF */])(function () {\n var el = _this.$el;\n\n if (_this.autofocus && Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"p\" /* isVisible */])(el)) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"q\" /* matches */])(el, SELECTOR)) {\n el = Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"x\" /* select */])(SELECTOR, el);\n }\n\n el && el.focus && el.focus();\n }\n });\n });\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0uanM/MzUxYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFxRTtBQUNyRSx5Q0FBeUM7O0FBRTFCO0FBQ2Y7QUFDQTtBQUNBOztBQUVBLEtBQUs7QUFDTDtBQUNBOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLHFFQUFTO0FBQ2pCOztBQUVBLGlDQUFpQyxxRUFBUztBQUMxQyxpQkFBaUIsbUVBQU87QUFDeEIsbUJBQW1CLGtFQUFNO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWF0Y2hlcywgc2VsZWN0LCBpc1Zpc2libGUsIHJlcXVlc3RBRiB9IGZyb20gJy4uL3V0aWxzL2RvbSc7XG52YXIgU0VMRUNUT1IgPSAnaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QnOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHByb3BzOiB7XG4gICAgbmFtZToge1xuICAgICAgdHlwZTogU3RyaW5nIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICBpZDoge1xuICAgICAgdHlwZTogU3RyaW5nIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICBkaXNhYmxlZDoge1xuICAgICAgdHlwZTogQm9vbGVhblxuICAgIH0sXG4gICAgcmVxdWlyZWQ6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgZm9ybToge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgYXV0b2ZvY3VzOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9XG4gIH0sXG4gIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgdGhpcy5oYW5kbGVBdXRvZm9jdXMoKTtcbiAgfSxcbiAgYWN0aXZhdGVkOiBmdW5jdGlvbiBhY3RpdmF0ZWQoKVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICB7XG4gICAgdGhpcy5oYW5kbGVBdXRvZm9jdXMoKTtcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIGhhbmRsZUF1dG9mb2N1czogZnVuY3Rpb24gaGFuZGxlQXV0b2ZvY3VzKCkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHZhciBlbCA9IF90aGlzLiRlbDtcblxuICAgICAgICAgIGlmIChfdGhpcy5hdXRvZm9jdXMgJiYgaXNWaXNpYmxlKGVsKSkge1xuICAgICAgICAgICAgaWYgKCFtYXRjaGVzKGVsLCBTRUxFQ1RPUikpIHtcbiAgICAgICAgICAgICAgZWwgPSBzZWxlY3QoU0VMRUNUT1IsIGVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZWwgJiYgZWwuZm9jdXMgJiYgZWwuZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL21peGlucy9mb3JtLmpzXG4vLyBtb2R1bGUgaWQgPSAyMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///20\n"); + +/***/ }), +/* 21 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTr; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__ = __webpack_require__(5);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\nvar props = {\n variant: {\n type: String,\n default: null\n }\n}; // @vue/component\n\nvar BTr =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTr',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n defaut: function defaut()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: props,\n computed: {\n inTbody: function inTbody() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isTbody;\n },\n inThead: function inThead() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isThead;\n },\n inTfoot: function inTfoot() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isTfoot;\n },\n isDark: function isDark() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isDark;\n },\n isStacked: function isStacked() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isStacked;\n },\n isResponsive: function isResponsive() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isResponsive;\n },\n isStickyHeader: function isStickyHeader() {\n // Sniffed by <b-td> / <b-th>\n // Sticky headers are only supported in thead\n return this.bvTableRowGroup.isStickyHeader;\n },\n tableVariant: function tableVariant() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.tableVariant;\n },\n headVariant: function headVariant() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.headVariant;\n },\n trClasses: function trClasses() {\n return [this.variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(this.variant) : null];\n },\n trAttrs: function trAttrs() {\n return _objectSpread({\n role: 'row'\n }, this.$attrs);\n }\n },\n render: function render(h) {\n return h('tr', {\n class: this.trClasses,\n attrs: this.trAttrs,\n // Pass native listeners to child\n on: this.$listeners\n }, this.normalizeSlot('default', {}));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90ci5qcz9kMWY1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUMyQjtBQUN0RDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsdUVBQWtCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGtDQUFrQztBQUN2QztBQUNBLENBQUMiLCJmaWxlIjoiMjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB2YXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVHIgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCVHInLFxuICBtaXhpbnM6IFtub3JtYWxpemVTbG90TWl4aW5dLFxuICBpbmhlcml0QXR0cnM6IGZhbHNlLFxuICBwcm92aWRlOiBmdW5jdGlvbiBwcm92aWRlKCkge1xuICAgIHJldHVybiB7XG4gICAgICBidlRhYmxlVHI6IHRoaXNcbiAgICB9O1xuICB9LFxuICBpbmplY3Q6IHtcbiAgICBidlRhYmxlUm93R3JvdXA6IHtcbiAgICAgIGRlZmF1dDogZnVuY3Rpb24gZGVmYXV0KClcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHByb3BzOiBwcm9wcyxcbiAgY29tcHV0ZWQ6IHtcbiAgICBpblRib2R5OiBmdW5jdGlvbiBpblRib2R5KCkge1xuICAgICAgLy8gU25pZmZlZCBieSA8Yi10ZD4gLyA8Yi10aD5cbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGVSb3dHcm91cC5pc1Rib2R5O1xuICAgIH0sXG4gICAgaW5UaGVhZDogZnVuY3Rpb24gaW5UaGVhZCgpIHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgPGItdGQ+IC8gPGItdGg+XG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlUm93R3JvdXAuaXNUaGVhZDtcbiAgICB9LFxuICAgIGluVGZvb3Q6IGZ1bmN0aW9uIGluVGZvb3QoKSB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRkPiAvIDxiLXRoPlxuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZVJvd0dyb3VwLmlzVGZvb3Q7XG4gICAgfSxcbiAgICBpc0Rhcms6IGZ1bmN0aW9uIGlzRGFyaygpIHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgPGItdGQ+IC8gPGItdGg+XG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlUm93R3JvdXAuaXNEYXJrO1xuICAgIH0sXG4gICAgaXNTdGFja2VkOiBmdW5jdGlvbiBpc1N0YWNrZWQoKSB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRkPiAvIDxiLXRoPlxuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZVJvd0dyb3VwLmlzU3RhY2tlZDtcbiAgICB9LFxuICAgIGlzUmVzcG9uc2l2ZTogZnVuY3Rpb24gaXNSZXNwb25zaXZlKCkge1xuICAgICAgLy8gU25pZmZlZCBieSA8Yi10ZD4gLyA8Yi10aD5cbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGVSb3dHcm91cC5pc1Jlc3BvbnNpdmU7XG4gICAgfSxcbiAgICBpc1N0aWNreUhlYWRlcjogZnVuY3Rpb24gaXNTdGlja3lIZWFkZXIoKSB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRkPiAvIDxiLXRoPlxuICAgICAgLy8gU3RpY2t5IGhlYWRlcnMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHRoZWFkXG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlUm93R3JvdXAuaXNTdGlja3lIZWFkZXI7XG4gICAgfSxcbiAgICB0YWJsZVZhcmlhbnQ6IGZ1bmN0aW9uIHRhYmxlVmFyaWFudCgpIHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgPGItdGQ+IC8gPGItdGg+XG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlUm93R3JvdXAudGFibGVWYXJpYW50O1xuICAgIH0sXG4gICAgaGVhZFZhcmlhbnQ6IGZ1bmN0aW9uIGhlYWRWYXJpYW50KCkge1xuICAgICAgLy8gU25pZmZlZCBieSA8Yi10ZD4gLyA8Yi10aD5cbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGVSb3dHcm91cC5oZWFkVmFyaWFudDtcbiAgICB9LFxuICAgIHRyQ2xhc3NlczogZnVuY3Rpb24gdHJDbGFzc2VzKCkge1xuICAgICAgcmV0dXJuIFt0aGlzLnZhcmlhbnQgPyBcIlwiLmNvbmNhdCh0aGlzLmlzRGFyayA/ICdiZycgOiAndGFibGUnLCBcIi1cIikuY29uY2F0KHRoaXMudmFyaWFudCkgOiBudWxsXTtcbiAgICB9LFxuICAgIHRyQXR0cnM6IGZ1bmN0aW9uIHRyQXR0cnMoKSB7XG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgICAgIHJvbGU6ICdyb3cnXG4gICAgICB9LCB0aGlzLiRhdHRycyk7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgcmV0dXJuIGgoJ3RyJywge1xuICAgICAgY2xhc3M6IHRoaXMudHJDbGFzc2VzLFxuICAgICAgYXR0cnM6IHRoaXMudHJBdHRycyxcbiAgICAgIC8vIFBhc3MgbmF0aXZlIGxpc3RlbmVycyB0byBjaGlsZFxuICAgICAgb246IHRoaXMuJGxpc3RlbmVyc1xuICAgIH0sIHRoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcsIHt9KSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvdHIuanNcbi8vIG1vZHVsZSBpZCA9IDIxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///21\n"); + +/***/ }), +/* 22 */ +/***/ (function(module, exports) { + +eval("/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanM/MTU5ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLGdCQUFnQjtBQUNuRCxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGlCQUFpQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksb0JBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxjQUFjOztBQUVsRTtBQUNBIiwiZmlsZSI6IjIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgbGlzdCA9IFtdO1xuXG5cdC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblx0bGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuXHRcdHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuXHRcdFx0dmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCk7XG5cdFx0XHRpZihpdGVtWzJdKSB7XG5cdFx0XHRcdHJldHVybiBcIkBtZWRpYSBcIiArIGl0ZW1bMl0gKyBcIntcIiArIGNvbnRlbnQgKyBcIn1cIjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH0pLmpvaW4oXCJcIik7XG5cdH07XG5cblx0Ly8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3Rcblx0bGlzdC5pID0gZnVuY3Rpb24obW9kdWxlcywgbWVkaWFRdWVyeSkge1xuXHRcdGlmKHR5cGVvZiBtb2R1bGVzID09PSBcInN0cmluZ1wiKVxuXHRcdFx0bW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgXCJcIl1dO1xuXHRcdHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cdFx0Zm9yKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpZCA9IHRoaXNbaV1bMF07XG5cdFx0XHRpZih0eXBlb2YgaWQgPT09IFwibnVtYmVyXCIpXG5cdFx0XHRcdGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcblx0XHR9XG5cdFx0Zm9yKGkgPSAwOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBtb2R1bGVzW2ldO1xuXHRcdFx0Ly8gc2tpcCBhbHJlYWR5IGltcG9ydGVkIG1vZHVsZVxuXHRcdFx0Ly8gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgMTAwJSBwZXJmZWN0IGZvciB3ZWlyZCBtZWRpYSBxdWVyeSBjb21iaW5hdGlvbnNcblx0XHRcdC8vICB3aGVuIGEgbW9kdWxlIGlzIGltcG9ydGVkIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50IG1lZGlhIHF1ZXJpZXMuXG5cdFx0XHQvLyAgSSBob3BlIHRoaXMgd2lsbCBuZXZlciBvY2N1ciAoSGV5IHRoaXMgd2F5IHdlIGhhdmUgc21hbGxlciBidW5kbGVzKVxuXHRcdFx0aWYodHlwZW9mIGl0ZW1bMF0gIT09IFwibnVtYmVyXCIgfHwgIWFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcblx0XHRcdFx0aWYobWVkaWFRdWVyeSAmJiAhaXRlbVsyXSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0gPSBtZWRpYVF1ZXJ5O1xuXHRcdFx0XHR9IGVsc2UgaWYobWVkaWFRdWVyeSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0gPSBcIihcIiArIGl0ZW1bMl0gKyBcIikgYW5kIChcIiArIG1lZGlhUXVlcnkgKyBcIilcIjtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaXN0LnB1c2goaXRlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHRyZXR1cm4gbGlzdDtcbn07XG5cbmZ1bmN0aW9uIGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKSB7XG5cdHZhciBjb250ZW50ID0gaXRlbVsxXSB8fCAnJztcblx0dmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXHRpZiAoIWNzc01hcHBpbmcpIHtcblx0XHRyZXR1cm4gY29udGVudDtcblx0fVxuXG5cdGlmICh1c2VTb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgPT09ICdmdW5jdGlvbicpIHtcblx0XHR2YXIgc291cmNlTWFwcGluZyA9IHRvQ29tbWVudChjc3NNYXBwaW5nKTtcblx0XHR2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuXHRcdFx0cmV0dXJuICcvKiMgc291cmNlVVJMPScgKyBjc3NNYXBwaW5nLnNvdXJjZVJvb3QgKyBzb3VyY2UgKyAnICovJ1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbignXFxuJyk7XG5cdH1cblxuXHRyZXR1cm4gW2NvbnRlbnRdLmpvaW4oJ1xcbicpO1xufVxuXG4vLyBBZGFwdGVkIGZyb20gY29udmVydC1zb3VyY2UtbWFwIChNSVQpXG5mdW5jdGlvbiB0b0NvbW1lbnQoc291cmNlTWFwKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuXHR2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKTtcblx0dmFyIGRhdGEgPSAnc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsJyArIGJhc2U2NDtcblxuXHRyZXR1cm4gJy8qIyAnICsgZGF0YSArICcgKi8nO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcbi8vIG1vZHVsZSBpZCA9IDIyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///22\n"); + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\nvar listToStyles = __webpack_require__(229)\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nmodule.exports = function (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzP2FlMzgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsaUJBQWlCO0FBQzNCO0FBQ0E7O0FBRUEsbUJBQW1CLG1CQUFPLENBQUMsR0FBZ0I7O0FBRTNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFtQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxtQkFBbUIsc0JBQXNCO0FBQ3pDO0FBQ0E7QUFDQSx1QkFBdUIsMkJBQTJCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLG1CQUFtQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQiwyQkFBMkI7QUFDaEQ7QUFDQTtBQUNBLFlBQVksdUJBQXVCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjIzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuICBNb2RpZmllZCBieSBFdmFuIFlvdSBAeXl4OTkwODAzXG4qL1xuXG52YXIgaGFzRG9jdW1lbnQgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnXG5cbmlmICh0eXBlb2YgREVCVUcgIT09ICd1bmRlZmluZWQnICYmIERFQlVHKSB7XG4gIGlmICghaGFzRG9jdW1lbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgJ3Z1ZS1zdHlsZS1sb2FkZXIgY2Fubm90IGJlIHVzZWQgaW4gYSBub24tYnJvd3NlciBlbnZpcm9ubWVudC4gJyArXG4gICAgXCJVc2UgeyB0YXJnZXQ6ICdub2RlJyB9IGluIHlvdXIgV2VicGFjayBjb25maWcgdG8gaW5kaWNhdGUgYSBzZXJ2ZXItcmVuZGVyaW5nIGVudmlyb25tZW50LlwiXG4gICkgfVxufVxuXG52YXIgbGlzdFRvU3R5bGVzID0gcmVxdWlyZSgnLi9saXN0VG9TdHlsZXMnKVxuXG4vKlxudHlwZSBTdHlsZU9iamVjdCA9IHtcbiAgaWQ6IG51bWJlcjtcbiAgcGFydHM6IEFycmF5PFN0eWxlT2JqZWN0UGFydD5cbn1cblxudHlwZSBTdHlsZU9iamVjdFBhcnQgPSB7XG4gIGNzczogc3RyaW5nO1xuICBtZWRpYTogc3RyaW5nO1xuICBzb3VyY2VNYXA6ID9zdHJpbmdcbn1cbiovXG5cbnZhciBzdHlsZXNJbkRvbSA9IHsvKlxuICBbaWQ6IG51bWJlcl06IHtcbiAgICBpZDogbnVtYmVyLFxuICAgIHJlZnM6IG51bWJlcixcbiAgICBwYXJ0czogQXJyYXk8KG9iaj86IFN0eWxlT2JqZWN0UGFydCkgPT4gdm9pZD5cbiAgfVxuKi99XG5cbnZhciBoZWFkID0gaGFzRG9jdW1lbnQgJiYgKGRvY3VtZW50LmhlYWQgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSlcbnZhciBzaW5nbGV0b25FbGVtZW50ID0gbnVsbFxudmFyIHNpbmdsZXRvbkNvdW50ZXIgPSAwXG52YXIgaXNQcm9kdWN0aW9uID0gZmFsc2VcbnZhciBub29wID0gZnVuY3Rpb24gKCkge31cbnZhciBvcHRpb25zID0gbnVsbFxudmFyIHNzcklkS2V5ID0gJ2RhdGEtdnVlLXNzci1pZCdcblxuLy8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwgd2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XG4vLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXG52YXIgaXNPbGRJRSA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIC9tc2llIFs2LTldXFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSlcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAocGFyZW50SWQsIGxpc3QsIF9pc1Byb2R1Y3Rpb24sIF9vcHRpb25zKSB7XG4gIGlzUHJvZHVjdGlvbiA9IF9pc1Byb2R1Y3Rpb25cblxuICBvcHRpb25zID0gX29wdGlvbnMgfHwge31cblxuICB2YXIgc3R5bGVzID0gbGlzdFRvU3R5bGVzKHBhcmVudElkLCBsaXN0KVxuICBhZGRTdHlsZXNUb0RvbShzdHlsZXMpXG5cbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZSAobmV3TGlzdCkge1xuICAgIHZhciBtYXlSZW1vdmUgPSBbXVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaXRlbSA9IHN0eWxlc1tpXVxuICAgICAgdmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF1cbiAgICAgIGRvbVN0eWxlLnJlZnMtLVxuICAgICAgbWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUpXG4gICAgfVxuICAgIGlmIChuZXdMaXN0KSB7XG4gICAgICBzdHlsZXMgPSBsaXN0VG9TdHlsZXMocGFyZW50SWQsIG5ld0xpc3QpXG4gICAgICBhZGRTdHlsZXNUb0RvbShzdHlsZXMpXG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlcyA9IFtdXG4gICAgfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVbaV1cbiAgICAgIGlmIChkb21TdHlsZS5yZWZzID09PSAwKSB7XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBkb21TdHlsZS5wYXJ0c1tqXSgpXG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlIHN0eWxlc0luRG9tW2RvbVN0eWxlLmlkXVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRTdHlsZXNUb0RvbSAoc3R5bGVzIC8qIEFycmF5PFN0eWxlT2JqZWN0PiAqLykge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gc3R5bGVzW2ldXG4gICAgdmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF1cbiAgICBpZiAoZG9tU3R5bGUpIHtcbiAgICAgIGRvbVN0eWxlLnJlZnMrK1xuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuICAgICAgICBkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBhcnRzW2pdKVxuICAgICAgfVxuICAgICAgZm9yICg7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGRvbVN0eWxlLnBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSkpXG4gICAgICB9XG4gICAgICBpZiAoZG9tU3R5bGUucGFydHMubGVuZ3RoID4gaXRlbS5wYXJ0cy5sZW5ndGgpIHtcbiAgICAgICAgZG9tU3R5bGUucGFydHMubGVuZ3RoID0gaXRlbS5wYXJ0cy5sZW5ndGhcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHBhcnRzID0gW11cbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuICAgICAgICBwYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0pKVxuICAgICAgfVxuICAgICAgc3R5bGVzSW5Eb21baXRlbS5pZF0gPSB7IGlkOiBpdGVtLmlkLCByZWZzOiAxLCBwYXJ0czogcGFydHMgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTdHlsZUVsZW1lbnQgKCkge1xuICB2YXIgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKVxuICBzdHlsZUVsZW1lbnQudHlwZSA9ICd0ZXh0L2NzcydcbiAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQpXG4gIHJldHVybiBzdHlsZUVsZW1lbnRcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiAvKiBTdHlsZU9iamVjdFBhcnQgKi8pIHtcbiAgdmFyIHVwZGF0ZSwgcmVtb3ZlXG4gIHZhciBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzdHlsZVsnICsgc3NySWRLZXkgKyAnfj1cIicgKyBvYmouaWQgKyAnXCJdJylcblxuICBpZiAoc3R5bGVFbGVtZW50KSB7XG4gICAgaWYgKGlzUHJvZHVjdGlvbikge1xuICAgICAgLy8gaGFzIFNTUiBzdHlsZXMgYW5kIGluIHByb2R1Y3Rpb24gbW9kZS5cbiAgICAgIC8vIHNpbXBseSBkbyBub3RoaW5nLlxuICAgICAgcmV0dXJuIG5vb3BcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaGFzIFNTUiBzdHlsZXMgYnV0IGluIGRldiBtb2RlLlxuICAgICAgLy8gZm9yIHNvbWUgcmVhc29uIENocm9tZSBjYW4ndCBoYW5kbGUgc291cmNlIG1hcCBpbiBzZXJ2ZXItcmVuZGVyZWRcbiAgICAgIC8vIHN0eWxlIHRhZ3MgLSBzb3VyY2UgbWFwcyBpbiA8c3R5bGU+IG9ubHkgd29ya3MgaWYgdGhlIHN0eWxlIHRhZyBpc1xuICAgICAgLy8gY3JlYXRlZCBhbmQgaW5zZXJ0ZWQgZHluYW1pY2FsbHkuIFNvIHdlIHJlbW92ZSB0aGUgc2VydmVyIHJlbmRlcmVkXG4gICAgICAvLyBzdHlsZXMgYW5kIGluamVjdCBuZXcgb25lcy5cbiAgICAgIHN0eWxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudClcbiAgICB9XG4gIH1cblxuICBpZiAoaXNPbGRJRSkge1xuICAgIC8vIHVzZSBzaW5nbGV0b24gbW9kZSBmb3IgSUU5LlxuICAgIHZhciBzdHlsZUluZGV4ID0gc2luZ2xldG9uQ291bnRlcisrXG4gICAgc3R5bGVFbGVtZW50ID0gc2luZ2xldG9uRWxlbWVudCB8fCAoc2luZ2xldG9uRWxlbWVudCA9IGNyZWF0ZVN0eWxlRWxlbWVudCgpKVxuICAgIHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZUVsZW1lbnQsIHN0eWxlSW5kZXgsIGZhbHNlKVxuICAgIHJlbW92ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZUVsZW1lbnQsIHN0eWxlSW5kZXgsIHRydWUpXG4gIH0gZWxzZSB7XG4gICAgLy8gdXNlIG11bHRpLXN0eWxlLXRhZyBtb2RlIGluIGFsbCBvdGhlciBjYXNlc1xuICAgIHN0eWxlRWxlbWVudCA9IGNyZWF0ZVN0eWxlRWxlbWVudCgpXG4gICAgdXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlRWxlbWVudClcbiAgICByZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBzdHlsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQpXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKG9iailcblxuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09iaiAvKiBTdHlsZU9iamVjdFBhcnQgKi8pIHtcbiAgICBpZiAobmV3T2JqKSB7XG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuICAgICAgICAgIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmXG4gICAgICAgICAgbmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHVwZGF0ZShvYmogPSBuZXdPYmopXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZSgpXG4gICAgfVxuICB9XG59XG5cbnZhciByZXBsYWNlVGV4dCA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciB0ZXh0U3RvcmUgPSBbXVxuXG4gIHJldHVybiBmdW5jdGlvbiAoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG4gICAgdGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50XG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJylcbiAgfVxufSkoKVxuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnIChzdHlsZUVsZW1lbnQsIGluZGV4LCByZW1vdmUsIG9iaikge1xuICB2YXIgY3NzID0gcmVtb3ZlID8gJycgOiBvYmouY3NzXG5cbiAgaWYgKHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpXG4gIH0gZWxzZSB7XG4gICAgdmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpXG4gICAgdmFyIGNoaWxkTm9kZXMgPSBzdHlsZUVsZW1lbnQuY2hpbGROb2Rlc1xuICAgIGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGVFbGVtZW50LnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKVxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgc3R5bGVFbGVtZW50Lmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSlcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVFbGVtZW50LmFwcGVuZENoaWxkKGNzc05vZGUpXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcgKHN0eWxlRWxlbWVudCwgb2JqKSB7XG4gIHZhciBjc3MgPSBvYmouY3NzXG4gIHZhciBtZWRpYSA9IG9iai5tZWRpYVxuICB2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcFxuXG4gIGlmIChtZWRpYSkge1xuICAgIHN0eWxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21lZGlhJywgbWVkaWEpXG4gIH1cbiAgaWYgKG9wdGlvbnMuc3NySWQpIHtcbiAgICBzdHlsZUVsZW1lbnQuc2V0QXR0cmlidXRlKHNzcklkS2V5LCBvYmouaWQpXG4gIH1cblxuICBpZiAoc291cmNlTWFwKSB7XG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9kZXZ0b29scy9kb2NzL2phdmFzY3JpcHQtZGVidWdnaW5nXG4gICAgLy8gdGhpcyBtYWtlcyBzb3VyY2UgbWFwcyBpbnNpZGUgc3R5bGUgdGFncyB3b3JrIHByb3Blcmx5IGluIENocm9tZVxuICAgIGNzcyArPSAnXFxuLyojIHNvdXJjZVVSTD0nICsgc291cmNlTWFwLnNvdXJjZXNbMF0gKyAnICovJ1xuICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI2NjAzODc1XG4gICAgY3NzICs9ICdcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LCcgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgJyAqLydcbiAgfVxuXG4gIGlmIChzdHlsZUVsZW1lbnQuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3NcbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAoc3R5bGVFbGVtZW50LmZpcnN0Q2hpbGQpIHtcbiAgICAgIHN0eWxlRWxlbWVudC5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQuZmlyc3RDaGlsZClcbiAgICB9XG4gICAgc3R5bGVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpXG4gIH1cbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1xuLy8gbW9kdWxlIGlkID0gMjNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///23\n"); + +/***/ }), +/* 24 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_config__ = __webpack_require__(4);\n // @vue/component\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n size: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_config__[\"c\" /* getComponentConfig */])('formControls', 'size');\n }\n }\n },\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n },\n sizeBtnClass: function sizeBtnClass()\n /* istanbul ignore next: don't think this is used */\n {\n return [this.size ? \"btn-\".concat(this.size) : null];\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tc2l6ZS5qcz8zOWFmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQXFEOztBQUV0QztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIyNC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL3V0aWxzL2NvbmZpZyc7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBzaXplOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZygnZm9ybUNvbnRyb2xzJywgJ3NpemUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgc2l6ZUZvcm1DbGFzczogZnVuY3Rpb24gc2l6ZUZvcm1DbGFzcygpIHtcbiAgICAgIHJldHVybiBbdGhpcy5zaXplID8gXCJmb3JtLWNvbnRyb2wtXCIuY29uY2F0KHRoaXMuc2l6ZSkgOiBudWxsXTtcbiAgICB9LFxuICAgIHNpemVCdG5DbGFzczogZnVuY3Rpb24gc2l6ZUJ0bkNsYXNzKClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogZG9uJ3QgdGhpbmsgdGhpcyBpcyB1c2VkICovXG4gICAge1xuICAgICAgcmV0dXJuIFt0aGlzLnNpemUgPyBcImJ0bi1cIi5jb25jYXQodGhpcy5zaXplKSA6IG51bGxdO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9taXhpbnMvZm9ybS1zaXplLmpzXG4vLyBtb2R1bGUgaWQgPSAyNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///24\n"); + +/***/ }), +/* 25 */ +/***/ (function(module, exports) { + +eval("var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzPzM2OTgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0Qzs7QUFFNUMiLCJmaWxlIjoiMjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcclxuXHJcbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXHJcbmcgPSAoZnVuY3Rpb24oKSB7XHJcblx0cmV0dXJuIHRoaXM7XHJcbn0pKCk7XHJcblxyXG50cnkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxyXG5cdGcgPSBnIHx8IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSB8fCAoMSxldmFsKShcInRoaXNcIik7XHJcbn0gY2F0Y2goZSkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXHJcblx0aWYodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIilcclxuXHRcdGcgPSB3aW5kb3c7XHJcbn1cclxuXHJcbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cclxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3NcclxuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBnO1xyXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAod2VicGFjaykvYnVpbGRpbi9nbG9iYWwuanNcbi8vIG1vZHVsZSBpZCA9IDI1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///25\n"); + +/***/ }), +/* 26 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__inspect__ = __webpack_require__(1);\n\n/**\n * Convert a value to a string that can be rendered.\n */\n\nvar toString = function toString(val) {\n var spaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n return Object(__WEBPACK_IMPORTED_MODULE_0__inspect__[\"o\" /* isUndefinedOrNull */])(val) ? '' : Object(__WEBPACK_IMPORTED_MODULE_0__inspect__[\"a\" /* isArray */])(val) || Object(__WEBPACK_IMPORTED_MODULE_0__inspect__[\"j\" /* isPlainObject */])(val) && val.toString === Object.prototype.toString ? JSON.stringify(val, null, spaces) : String(val);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (toString);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvdG8tc3RyaW5nLmpzP2JiNjciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBc0U7QUFDdEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTLDJFQUFpQixhQUFhLGlFQUFPLFNBQVMsdUVBQWE7QUFDcEU7O0FBRWUsaUVBQVEiLCJmaWxlIjoiMjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0FycmF5LCBpc1BsYWluT2JqZWN0LCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJy4vaW5zcGVjdCc7XG4vKipcbiAqIENvbnZlcnQgYSB2YWx1ZSB0byBhIHN0cmluZyB0aGF0IGNhbiBiZSByZW5kZXJlZC5cbiAqL1xuXG52YXIgdG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyh2YWwpIHtcbiAgdmFyIHNwYWNlcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogMjtcbiAgcmV0dXJuIGlzVW5kZWZpbmVkT3JOdWxsKHZhbCkgPyAnJyA6IGlzQXJyYXkodmFsKSB8fCBpc1BsYWluT2JqZWN0KHZhbCkgJiYgdmFsLnRvU3RyaW5nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nID8gSlNPTi5zdHJpbmdpZnkodmFsLCBudWxsLCBzcGFjZXMpIDogU3RyaW5nKHZhbCk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB0b1N0cmluZztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy90by1zdHJpbmcuanNcbi8vIG1vZHVsZSBpZCA9IDI2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///26\n"); + +/***/ }), +/* 27 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/**\n * Issue #569: collapse::toggle::state triggered too many times\n * @link https://github.com/bootstrap-vue/bootstrap-vue/issues/569\n */\n// @vue/component\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n methods: {\n /**\n * Safely register event listeners on the root Vue node.\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback.\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n * @chainable\n */\n listenOnRoot: function listenOnRoot(event, callback) {\n var _this = this;\n\n this.$root.$on(event, callback);\n this.$on('hook:beforeDestroy', function () {\n _this.$root.$off(event, callback);\n }); // Return this for easy chaining\n\n return this;\n },\n\n /**\n * Safely register a $once event listener on the root Vue node.\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback.\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n * @chainable\n */\n listenOnRootOnce: function listenOnRootOnce(event, callback) {\n var _this2 = this;\n\n this.$root.$once(event, callback);\n this.$on('hook:beforeDestroy', function () {\n _this2.$root.$off(event, callback);\n }); // Return this for easy chaining\n\n return this;\n },\n\n /**\n * Convenience method for calling vm.$emit on vm.$root.\n * @param {string} event\n * @param {*} args\n * @chainable\n */\n emitOnRoot: function emitOnRoot(event) {\n var _this$$root;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_this$$root = this.$root).$emit.apply(_this$$root, [event].concat(args)); // Return this for easy chaining\n\n\n return this;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2xpc3Rlbi1vbi1yb290LmpzP2E2YTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLEVBQUU7O0FBRVQ7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sRUFBRTs7QUFFVDtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLEVBQUU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNEZBQTRGLGFBQWE7QUFDekc7QUFDQTs7QUFFQSxnRkFBZ0Y7OztBQUdoRjtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjI3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJc3N1ZSAjNTY5OiBjb2xsYXBzZTo6dG9nZ2xlOjpzdGF0ZSB0cmlnZ2VyZWQgdG9vIG1hbnkgdGltZXNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9ib290c3RyYXAtdnVlL2Jvb3RzdHJhcC12dWUvaXNzdWVzLzU2OVxuICovXG4vLyBAdnVlL2NvbXBvbmVudFxuZXhwb3J0IGRlZmF1bHQge1xuICBtZXRob2RzOiB7XG4gICAgLyoqXG4gICAgICogU2FmZWx5IHJlZ2lzdGVyIGV2ZW50IGxpc3RlbmVycyBvbiB0aGUgcm9vdCBWdWUgbm9kZS5cbiAgICAgKiBXaGlsZSBWdWUgYXV0b21hdGljYWxseSByZW1vdmVzIGxpc3RlbmVycyBmb3IgaW5kaXZpZHVhbCBjb21wb25lbnRzLFxuICAgICAqIHdoZW4gYSBjb21wb25lbnQgcmVnaXN0ZXJzIGEgbGlzdGVuZXIgb24gcm9vdCBhbmQgaXMgZGVzdHJveWVkLFxuICAgICAqIHRoaXMgb3JwaGFucyBhIGNhbGxiYWNrIGJlY2F1c2UgdGhlIG5vZGUgaXMgZ29uZSxcbiAgICAgKiBidXQgdGhlIHJvb3QgZG9lcyBub3QgY2xlYXIgdGhlIGNhbGxiYWNrLlxuICAgICAqXG4gICAgICogV2hlbiByZWdpc3RlcmluZyBhICRyb290IGxpc3RlbmVyLCBpdCBhbHNvIHJlZ2lzdGVycyBhIGxpc3RlbmVyIG9uXG4gICAgICogdGhlIGNvbXBvbmVudCdzIGBiZWZvcmVEZXN0cm95YCBob29rIHRvIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZVxuICAgICAqIGV2ZW50IGxpc3RlbmVyIGZyb20gdGhlICRyb290IGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAY2hhaW5hYmxlXG4gICAgICovXG4gICAgbGlzdGVuT25Sb290OiBmdW5jdGlvbiBsaXN0ZW5PblJvb3QoZXZlbnQsIGNhbGxiYWNrKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICB0aGlzLiRyb290LiRvbihldmVudCwgY2FsbGJhY2spO1xuICAgICAgdGhpcy4kb24oJ2hvb2s6YmVmb3JlRGVzdHJveScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgX3RoaXMuJHJvb3QuJG9mZihldmVudCwgY2FsbGJhY2spO1xuICAgICAgfSk7IC8vIFJldHVybiB0aGlzIGZvciBlYXN5IGNoYWluaW5nXG5cbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBTYWZlbHkgcmVnaXN0ZXIgYSAkb25jZSBldmVudCBsaXN0ZW5lciBvbiB0aGUgcm9vdCBWdWUgbm9kZS5cbiAgICAgKiBXaGlsZSBWdWUgYXV0b21hdGljYWxseSByZW1vdmVzIGxpc3RlbmVycyBmb3IgaW5kaXZpZHVhbCBjb21wb25lbnRzLFxuICAgICAqIHdoZW4gYSBjb21wb25lbnQgcmVnaXN0ZXJzIGEgbGlzdGVuZXIgb24gcm9vdCBhbmQgaXMgZGVzdHJveWVkLFxuICAgICAqIHRoaXMgb3JwaGFucyBhIGNhbGxiYWNrIGJlY2F1c2UgdGhlIG5vZGUgaXMgZ29uZSxcbiAgICAgKiBidXQgdGhlIHJvb3QgZG9lcyBub3QgY2xlYXIgdGhlIGNhbGxiYWNrLlxuICAgICAqXG4gICAgICogV2hlbiByZWdpc3RlcmluZyBhICRyb290IGxpc3RlbmVyLCBpdCBhbHNvIHJlZ2lzdGVycyBhIGxpc3RlbmVyIG9uXG4gICAgICogdGhlIGNvbXBvbmVudCdzIGBiZWZvcmVEZXN0cm95YCBob29rIHRvIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZVxuICAgICAqIGV2ZW50IGxpc3RlbmVyIGZyb20gdGhlICRyb290IGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAY2hhaW5hYmxlXG4gICAgICovXG4gICAgbGlzdGVuT25Sb290T25jZTogZnVuY3Rpb24gbGlzdGVuT25Sb290T25jZShldmVudCwgY2FsbGJhY2spIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICB0aGlzLiRyb290LiRvbmNlKGV2ZW50LCBjYWxsYmFjayk7XG4gICAgICB0aGlzLiRvbignaG9vazpiZWZvcmVEZXN0cm95JywgZnVuY3Rpb24gKCkge1xuICAgICAgICBfdGhpczIuJHJvb3QuJG9mZihldmVudCwgY2FsbGJhY2spO1xuICAgICAgfSk7IC8vIFJldHVybiB0aGlzIGZvciBlYXN5IGNoYWluaW5nXG5cbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNhbGxpbmcgdm0uJGVtaXQgb24gdm0uJHJvb3QuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gICAgICogQHBhcmFtIHsqfSBhcmdzXG4gICAgICogQGNoYWluYWJsZVxuICAgICAqL1xuICAgIGVtaXRPblJvb3Q6IGZ1bmN0aW9uIGVtaXRPblJvb3QoZXZlbnQpIHtcbiAgICAgIHZhciBfdGhpcyQkcm9vdDtcblxuICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgIH1cblxuICAgICAgKF90aGlzJCRyb290ID0gdGhpcy4kcm9vdCkuJGVtaXQuYXBwbHkoX3RoaXMkJHJvb3QsIFtldmVudF0uY29uY2F0KGFyZ3MpKTsgLy8gUmV0dXJuIHRoaXMgZm9yIGVhc3kgY2hhaW5pbmdcblxuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2xpc3Rlbi1vbi1yb290LmpzXG4vLyBtb2R1bGUgaWQgPSAyN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///27\n"); + +/***/ }), +/* 28 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTd; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_to_string__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_normalize_slot__ = __webpack_require__(5);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\nvar digitsRx = /^\\d+$/; // Parse a rowspan or colspan into a digit (or null if < 1 or NaN)\n\nvar parseSpan = function parseSpan(val) {\n val = parseInt(val, 10);\n return digitsRx.test(String(val)) && val > 0 ? val : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(val) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"o\" /* isUndefinedOrNull */])(val) || parseSpan(val) > 0;\n};\n\nvar props = {\n variant: {\n type: String,\n default: null\n },\n colspan: {\n type: [Number, String],\n default: null,\n validator: spanValidator\n },\n rowspan: {\n type: [Number, String],\n default: null,\n validator: spanValidator\n },\n stackedHeading: {\n type: String,\n default: null\n },\n stickyColumn: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nvar BTd =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTableCell',\n mixins: [__WEBPACK_IMPORTED_MODULE_3__mixins_normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n inject: {\n bvTableTr: {\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: props,\n computed: {\n tag: function tag() {\n // Overridden by <b-th>\n return 'td';\n },\n inTbody: function inTbody() {\n return this.bvTableTr.inTbody;\n },\n inThead: function inThead() {\n return this.bvTableTr.inThead;\n },\n inTfoot: function inTfoot() {\n return this.bvTableTr.inTfoot;\n },\n isDark: function isDark() {\n return this.bvTableTr.isDark;\n },\n isStacked: function isStacked() {\n return this.bvTableTr.isStacked;\n },\n isStackedCell: function isStackedCell() {\n // We only support stacked-heading in tbody in stacked mode\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\n isStickyHeader: function isStickyHeader() {\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n return this.bvTableTr.isStickyHeader;\n },\n isStickyColumn: function isStickyColumn() {\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n return !this.isStacked && (this.isResponsive || this.isStickyHeader) && this.stickyColumn;\n },\n rowVariant: function rowVariant() {\n return this.bvTableTr.variant;\n },\n headVariant: function headVariant() {\n return this.bvTableTr.headVariant;\n },\n footVariant: function footVariant()\n /* istanbul ignore next: need to add in tests for footer variant */\n {\n return this.bvTableTr.footVariant;\n },\n tableVariant: function tableVariant() {\n return this.bvTableTr.tableVariant;\n },\n computedColspan: function computedColspan() {\n return parseSpan(this.colspan);\n },\n computedRowspan: function computedRowspan() {\n return parseSpan(this.rowspan);\n },\n cellClasses: function cellClasses() {\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n // TODO: need to add handling for footVariant\n var variant = this.variant;\n\n if (!variant && this.isStickyHeader && !this.headVariant || !variant && this.isStickyColumn) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's background-color. Boo!\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, this.isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n var headOrFoot = this.inThead || this.inTfoot; // Make sure col/rowspan's are > 0 or null\n\n var colspan = this.computedColspan;\n var rowspan = this.computedRowspan; // Default role and scope\n\n var role = 'cell';\n var scope = null; // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader';\n scope = colspan > 0 ? 'colspan' : 'col';\n } else if (this.tag === 'th') {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.$attrs, {\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label': this.isStackedCell && !Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"o\" /* isUndefinedOrNull */])(this.stackedHeading) ? Object(__WEBPACK_IMPORTED_MODULE_1__utils_to_string__[\"a\" /* default */])(this.stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var content = [this.normalizeSlot('default')];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.$listeners\n }, [this.isStackedCell ? h('div', [content]) : content]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90ZC5qcz83ZWZjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDVztBQUNXO0FBQ0s7QUFDN0QsdUJBQXVCOztBQUV2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLFNBQVMsaUZBQWlCO0FBQzFCOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxXQUFXLHVFQUFrQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDs7QUFFcEQ7QUFDQSx5Q0FBeUM7O0FBRXpDO0FBQ0EsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLDZDQUE2QyxpRkFBaUIsd0JBQXdCLHlFQUFRO0FBQzlGLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgdG9TdHJpbmcgZnJvbSAnLi4vLi4vdXRpbHMvdG8tc3RyaW5nJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7XG52YXIgZGlnaXRzUnggPSAvXlxcZCskLzsgLy8gUGFyc2UgYSByb3dzcGFuIG9yIGNvbHNwYW4gaW50byBhIGRpZ2l0IChvciBudWxsIGlmIDwgMSBvciBOYU4pXG5cbnZhciBwYXJzZVNwYW4gPSBmdW5jdGlvbiBwYXJzZVNwYW4odmFsKSB7XG4gIHZhbCA9IHBhcnNlSW50KHZhbCwgMTApO1xuICByZXR1cm4gZGlnaXRzUngudGVzdChTdHJpbmcodmFsKSkgJiYgdmFsID4gMCA/IHZhbCA6IG51bGw7XG59O1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblxuXG52YXIgc3BhblZhbGlkYXRvciA9IGZ1bmN0aW9uIHNwYW5WYWxpZGF0b3IodmFsKSB7XG4gIHJldHVybiBpc1VuZGVmaW5lZE9yTnVsbCh2YWwpIHx8IHBhcnNlU3Bhbih2YWwpID4gMDtcbn07XG5cbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIHZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBjb2xzcGFuOiB7XG4gICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICBkZWZhdWx0OiBudWxsLFxuICAgIHZhbGlkYXRvcjogc3BhblZhbGlkYXRvclxuICB9LFxuICByb3dzcGFuOiB7XG4gICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICBkZWZhdWx0OiBudWxsLFxuICAgIHZhbGlkYXRvcjogc3BhblZhbGlkYXRvclxuICB9LFxuICBzdGFja2VkSGVhZGluZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIHN0aWNreUNvbHVtbjoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVGQgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCVGFibGVDZWxsJyxcbiAgbWl4aW5zOiBbbm9ybWFsaXplU2xvdE1peGluXSxcbiAgaW5oZXJpdEF0dHJzOiBmYWxzZSxcbiAgaW5qZWN0OiB7XG4gICAgYnZUYWJsZVRyOiB7XG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBwcm9wczogcHJvcHMsXG4gIGNvbXB1dGVkOiB7XG4gICAgdGFnOiBmdW5jdGlvbiB0YWcoKSB7XG4gICAgICAvLyBPdmVycmlkZGVuIGJ5IDxiLXRoPlxuICAgICAgcmV0dXJuICd0ZCc7XG4gICAgfSxcbiAgICBpblRib2R5OiBmdW5jdGlvbiBpblRib2R5KCkge1xuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZVRyLmluVGJvZHk7XG4gICAgfSxcbiAgICBpblRoZWFkOiBmdW5jdGlvbiBpblRoZWFkKCkge1xuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZVRyLmluVGhlYWQ7XG4gICAgfSxcbiAgICBpblRmb290OiBmdW5jdGlvbiBpblRmb290KCkge1xuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZVRyLmluVGZvb3Q7XG4gICAgfSxcbiAgICBpc0Rhcms6IGZ1bmN0aW9uIGlzRGFyaygpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGVUci5pc0Rhcms7XG4gICAgfSxcbiAgICBpc1N0YWNrZWQ6IGZ1bmN0aW9uIGlzU3RhY2tlZCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGVUci5pc1N0YWNrZWQ7XG4gICAgfSxcbiAgICBpc1N0YWNrZWRDZWxsOiBmdW5jdGlvbiBpc1N0YWNrZWRDZWxsKCkge1xuICAgICAgLy8gV2Ugb25seSBzdXBwb3J0IHN0YWNrZWQtaGVhZGluZyBpbiB0Ym9keSBpbiBzdGFja2VkIG1vZGVcbiAgICAgIHJldHVybiB0aGlzLmluVGJvZHkgJiYgdGhpcy5pc1N0YWNrZWQ7XG4gICAgfSxcbiAgICBpc1Jlc3BvbnNpdmU6IGZ1bmN0aW9uIGlzUmVzcG9uc2l2ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGVUci5pc1Jlc3BvbnNpdmU7XG4gICAgfSxcbiAgICBpc1N0aWNreUhlYWRlcjogZnVuY3Rpb24gaXNTdGlja3lIZWFkZXIoKSB7XG4gICAgICAvLyBOZWVkZWQgdG8gaGFuZGxlIGhlYWRlciBiYWNrZ3JvdW5kIGNsYXNzZXMsIGR1ZSB0byBsYWNrIG9mXG4gICAgICAvLyBiYWNrZ3JvdW5kIGNvbG9yIGluaGVyaXRhbmNlIHdpdGggQm9vdHN0cmFwIHY0IHRhYmxlIENTU1xuICAgICAgLy8gU3RpY2t5IGhlYWRlcnMgb25seSBhcHBseSB0byBjZWxscyBpbiB0YWJsZSBgdGhlYWRgXG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlVHIuaXNTdGlja3lIZWFkZXI7XG4gICAgfSxcbiAgICBpc1N0aWNreUNvbHVtbjogZnVuY3Rpb24gaXNTdGlja3lDb2x1bW4oKSB7XG4gICAgICAvLyBOZWVkZWQgdG8gaGFuZGxlIGhlYWRlciBiYWNrZ3JvdW5kIGNsYXNzZXMsIGR1ZSB0byBsYWNrIG9mXG4gICAgICAvLyBiYWNrZ3JvdW5kIGNvbG9yIGluaGVyaXRhbmNlIHdpdGggQm9vdHN0cmFwIHY0IHRhYmxlIENTU1xuICAgICAgLy8gU3RpY2t5IGNvbHVtbiBjZWxscyBhcmUgb25seSBhdmFpbGFibGUgaW4gcmVzcG9uc2l2ZVxuICAgICAgLy8gbW9kZSAoaG9yaXpvbnRhbCBzY3JvbGxpbmcpIG9yIHdoZW4gc3RpY2t5IGhlYWRlciBtb2RlXG4gICAgICAvLyBBcHBsaWVzIHRvIGNlbGxzIGluIGB0aGVhZGAsIGB0Ym9keWAgYW5kIGB0Zm9vdGBcbiAgICAgIHJldHVybiAhdGhpcy5pc1N0YWNrZWQgJiYgKHRoaXMuaXNSZXNwb25zaXZlIHx8IHRoaXMuaXNTdGlja3lIZWFkZXIpICYmIHRoaXMuc3RpY2t5Q29sdW1uO1xuICAgIH0sXG4gICAgcm93VmFyaWFudDogZnVuY3Rpb24gcm93VmFyaWFudCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGVUci52YXJpYW50O1xuICAgIH0sXG4gICAgaGVhZFZhcmlhbnQ6IGZ1bmN0aW9uIGhlYWRWYXJpYW50KCkge1xuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZVRyLmhlYWRWYXJpYW50O1xuICAgIH0sXG4gICAgZm9vdFZhcmlhbnQ6IGZ1bmN0aW9uIGZvb3RWYXJpYW50KClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbmVlZCB0byBhZGQgaW4gdGVzdHMgZm9yIGZvb3RlciB2YXJpYW50ICovXG4gICAge1xuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZVRyLmZvb3RWYXJpYW50O1xuICAgIH0sXG4gICAgdGFibGVWYXJpYW50OiBmdW5jdGlvbiB0YWJsZVZhcmlhbnQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlVHIudGFibGVWYXJpYW50O1xuICAgIH0sXG4gICAgY29tcHV0ZWRDb2xzcGFuOiBmdW5jdGlvbiBjb21wdXRlZENvbHNwYW4oKSB7XG4gICAgICByZXR1cm4gcGFyc2VTcGFuKHRoaXMuY29sc3Bhbik7XG4gICAgfSxcbiAgICBjb21wdXRlZFJvd3NwYW46IGZ1bmN0aW9uIGNvbXB1dGVkUm93c3BhbigpIHtcbiAgICAgIHJldHVybiBwYXJzZVNwYW4odGhpcy5yb3dzcGFuKTtcbiAgICB9LFxuICAgIGNlbGxDbGFzc2VzOiBmdW5jdGlvbiBjZWxsQ2xhc3NlcygpIHtcbiAgICAgIC8vIFdlIHVzZSBjb21wdXRlZCBwcm9wcyBoZXJlIGZvciBpbXByb3ZlZCBwZXJmb3JtYW5jZSBieSBjYWNoaW5nXG4gICAgICAvLyB0aGUgcmVzdWx0cyBvZiB0aGUgc3RyaW5nIGludGVycG9sYXRpb25cbiAgICAgIC8vIFRPRE86IG5lZWQgdG8gYWRkIGhhbmRsaW5nIGZvciBmb290VmFyaWFudFxuICAgICAgdmFyIHZhcmlhbnQgPSB0aGlzLnZhcmlhbnQ7XG5cbiAgICAgIGlmICghdmFyaWFudCAmJiB0aGlzLmlzU3RpY2t5SGVhZGVyICYmICF0aGlzLmhlYWRWYXJpYW50IHx8ICF2YXJpYW50ICYmIHRoaXMuaXNTdGlja3lDb2x1bW4pIHtcbiAgICAgICAgLy8gTmVlZGVkIGZvciBzdGlja3ktaGVhZGVyIG1vZGUgYXMgQm9vdHN0cmFwIHY0IHRhYmxlIGNlbGxzIGRvXG4gICAgICAgIC8vIG5vdCBpbmhlcml0IHBhcmVudCdzIGJhY2tncm91bmQtY29sb3IuIEJvbyFcbiAgICAgICAgdmFyaWFudCA9IHRoaXMucm93VmFyaWFudCB8fCB0aGlzLnRhYmxlVmFyaWFudCB8fCAnYi10YWJsZS1kZWZhdWx0JztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFt2YXJpYW50ID8gXCJcIi5jb25jYXQodGhpcy5pc0RhcmsgPyAnYmcnIDogJ3RhYmxlJywgXCItXCIpLmNvbmNhdCh2YXJpYW50KSA6IG51bGwsIHRoaXMuaXNTdGlja3lDb2x1bW4gPyAnYi10YWJsZS1zdGlja3ktY29sdW1uJyA6IG51bGxdO1xuICAgIH0sXG4gICAgY2VsbEF0dHJzOiBmdW5jdGlvbiBjZWxsQXR0cnMoKSB7XG4gICAgICAvLyBXZSB1c2UgY29tcHV0ZWQgcHJvcHMgaGVyZSBmb3IgaW1wcm92ZWQgcGVyZm9ybWFuY2UgYnkgY2FjaGluZ1xuICAgICAgLy8gdGhlIHJlc3VsdHMgb2YgdGhlIG9iamVjdCBzcHJlYWQgKE9iamVjdC5hc3NpZ24pXG4gICAgICB2YXIgaGVhZE9yRm9vdCA9IHRoaXMuaW5UaGVhZCB8fCB0aGlzLmluVGZvb3Q7IC8vIE1ha2Ugc3VyZSBjb2wvcm93c3BhbidzIGFyZSA+IDAgb3IgbnVsbFxuXG4gICAgICB2YXIgY29sc3BhbiA9IHRoaXMuY29tcHV0ZWRDb2xzcGFuO1xuICAgICAgdmFyIHJvd3NwYW4gPSB0aGlzLmNvbXB1dGVkUm93c3BhbjsgLy8gRGVmYXVsdCByb2xlIGFuZCBzY29wZVxuXG4gICAgICB2YXIgcm9sZSA9ICdjZWxsJztcbiAgICAgIHZhciBzY29wZSA9IG51bGw7IC8vIENvbXB1dGUgcm9sZSBhbmQgc2NvcGVcbiAgICAgIC8vIFdlIG9ubHkgYWRkIHNjb3BlcyB3aXRoIGFuIGV4cGxpY2l0IHNwYW4gb2YgMSBvciBncmVhdGVyXG5cbiAgICAgIGlmIChoZWFkT3JGb290KSB7XG4gICAgICAgIC8vIEhlYWRlciBvciBmb290ZXIgY2VsbHNcbiAgICAgICAgcm9sZSA9ICdjb2x1bW5oZWFkZXInO1xuICAgICAgICBzY29wZSA9IGNvbHNwYW4gPiAwID8gJ2NvbHNwYW4nIDogJ2NvbCc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudGFnID09PSAndGgnKSB7XG4gICAgICAgIC8vIHRoJ3MgaW4gdGJvZHlcbiAgICAgICAgcm9sZSA9ICdyb3doZWFkZXInO1xuICAgICAgICBzY29wZSA9IHJvd3NwYW4gPiAwID8gJ3Jvd2dyb3VwJyA6ICdyb3cnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgICAgIGNvbHNwYW46IGNvbHNwYW4sXG4gICAgICAgIHJvd3NwYW46IHJvd3NwYW4sXG4gICAgICAgIHJvbGU6IHJvbGUsXG4gICAgICAgIHNjb3BlOiBzY29wZVxuICAgICAgfSwgdGhpcy4kYXR0cnMsIHtcbiAgICAgICAgLy8gQWRkIGluIHRoZSBzdGFja2VkIGNlbGwgbGFiZWwgZGF0YS1hdHRyaWJ1dGUgaWYgaW5cbiAgICAgICAgLy8gc3RhY2tlZCBtb2RlIChpZiBhIHN0YWNrZWQgaGVhZGluZyBsYWJlbCBpcyBwcm92aWRlZClcbiAgICAgICAgJ2RhdGEtbGFiZWwnOiB0aGlzLmlzU3RhY2tlZENlbGwgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKHRoaXMuc3RhY2tlZEhlYWRpbmcpID8gdG9TdHJpbmcodGhpcy5zdGFja2VkSGVhZGluZykgOiBudWxsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICB2YXIgY29udGVudCA9IFt0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKV07XG4gICAgcmV0dXJuIGgodGhpcy50YWcsIHtcbiAgICAgIGNsYXNzOiB0aGlzLmNlbGxDbGFzc2VzLFxuICAgICAgYXR0cnM6IHRoaXMuY2VsbEF0dHJzLFxuICAgICAgLy8gVHJhbnNmZXIgYW55IG5hdGl2ZSBsaXN0ZW5lcnNcbiAgICAgIG9uOiB0aGlzLiRsaXN0ZW5lcnNcbiAgICB9LCBbdGhpcy5pc1N0YWNrZWRDZWxsID8gaCgnZGl2JywgW2NvbnRlbnRdKSA6IGNvbnRlbnRdKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90ZC5qc1xuLy8gbW9kdWxlIGlkID0gMjhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///28\n"); + +/***/ }), +/* 29 */ +/***/ (function(module, exports) { + +eval("/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.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 = 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 = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\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 functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXIuanM/NTU0ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWxzIF9fVlVFX1NTUl9DT05URVhUX18gKi9cblxuLy8gSU1QT1JUQU5UOiBEbyBOT1QgdXNlIEVTMjAxNSBmZWF0dXJlcyBpbiB0aGlzIGZpbGUuXG4vLyBUaGlzIG1vZHVsZSBpcyBhIHJ1bnRpbWUgdXRpbGl0eSBmb3IgY2xlYW5lciBjb21wb25lbnQgbW9kdWxlIG91dHB1dCBhbmQgd2lsbFxuLy8gYmUgaW5jbHVkZWQgaW4gdGhlIGZpbmFsIHdlYnBhY2sgdXNlciBidW5kbGUuXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbm9ybWFsaXplQ29tcG9uZW50IChcbiAgcmF3U2NyaXB0RXhwb3J0cyxcbiAgY29tcGlsZWRUZW1wbGF0ZSxcbiAgZnVuY3Rpb25hbFRlbXBsYXRlLFxuICBpbmplY3RTdHlsZXMsXG4gIHNjb3BlSWQsXG4gIG1vZHVsZUlkZW50aWZpZXIgLyogc2VydmVyIG9ubHkgKi9cbikge1xuICB2YXIgZXNNb2R1bGVcbiAgdmFyIHNjcmlwdEV4cG9ydHMgPSByYXdTY3JpcHRFeHBvcnRzID0gcmF3U2NyaXB0RXhwb3J0cyB8fCB7fVxuXG4gIC8vIEVTNiBtb2R1bGVzIGludGVyb3BcbiAgdmFyIHR5cGUgPSB0eXBlb2YgcmF3U2NyaXB0RXhwb3J0cy5kZWZhdWx0XG4gIGlmICh0eXBlID09PSAnb2JqZWN0JyB8fCB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZXNNb2R1bGUgPSByYXdTY3JpcHRFeHBvcnRzXG4gICAgc2NyaXB0RXhwb3J0cyA9IHJhd1NjcmlwdEV4cG9ydHMuZGVmYXVsdFxuICB9XG5cbiAgLy8gVnVlLmV4dGVuZCBjb25zdHJ1Y3RvciBleHBvcnQgaW50ZXJvcFxuICB2YXIgb3B0aW9ucyA9IHR5cGVvZiBzY3JpcHRFeHBvcnRzID09PSAnZnVuY3Rpb24nXG4gICAgPyBzY3JpcHRFeHBvcnRzLm9wdGlvbnNcbiAgICA6IHNjcmlwdEV4cG9ydHNcblxuICAvLyByZW5kZXIgZnVuY3Rpb25zXG4gIGlmIChjb21waWxlZFRlbXBsYXRlKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSBjb21waWxlZFRlbXBsYXRlLnJlbmRlclxuICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gY29tcGlsZWRUZW1wbGF0ZS5zdGF0aWNSZW5kZXJGbnNcbiAgICBvcHRpb25zLl9jb21waWxlZCA9IHRydWVcbiAgfVxuXG4gIC8vIGZ1bmN0aW9uYWwgdGVtcGxhdGVcbiAgaWYgKGZ1bmN0aW9uYWxUZW1wbGF0ZSkge1xuICAgIG9wdGlvbnMuZnVuY3Rpb25hbCA9IHRydWVcbiAgfVxuXG4gIC8vIHNjb3BlZElkXG4gIGlmIChzY29wZUlkKSB7XG4gICAgb3B0aW9ucy5fc2NvcGVJZCA9IHNjb3BlSWRcbiAgfVxuXG4gIHZhciBob29rXG4gIGlmIChtb2R1bGVJZGVudGlmaWVyKSB7IC8vIHNlcnZlciBidWlsZFxuICAgIGhvb2sgPSBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgLy8gMi4zIGluamVjdGlvblxuICAgICAgY29udGV4dCA9XG4gICAgICAgIGNvbnRleHQgfHwgLy8gY2FjaGVkIGNhbGxcbiAgICAgICAgKHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHQpIHx8IC8vIHN0YXRlZnVsXG4gICAgICAgICh0aGlzLnBhcmVudCAmJiB0aGlzLnBhcmVudC4kdm5vZGUgJiYgdGhpcy5wYXJlbnQuJHZub2RlLnNzckNvbnRleHQpIC8vIGZ1bmN0aW9uYWxcbiAgICAgIC8vIDIuMiB3aXRoIHJ1bkluTmV3Q29udGV4dDogdHJ1ZVxuICAgICAgaWYgKCFjb250ZXh0ICYmIHR5cGVvZiBfX1ZVRV9TU1JfQ09OVEVYVF9fICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjb250ZXh0ID0gX19WVUVfU1NSX0NPTlRFWFRfX1xuICAgICAgfVxuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCBzdHlsZXNcbiAgICAgIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwodGhpcywgY29udGV4dClcbiAgICAgIH1cbiAgICAgIC8vIHJlZ2lzdGVyIGNvbXBvbmVudCBtb2R1bGUgaWRlbnRpZmllciBmb3IgYXN5bmMgY2h1bmsgaW5mZXJyZW5jZVxuICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMpIHtcbiAgICAgICAgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRkKG1vZHVsZUlkZW50aWZpZXIpXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVzZWQgYnkgc3NyIGluIGNhc2UgY29tcG9uZW50IGlzIGNhY2hlZCBhbmQgYmVmb3JlQ3JlYXRlXG4gICAgLy8gbmV2ZXIgZ2V0cyBjYWxsZWRcbiAgICBvcHRpb25zLl9zc3JSZWdpc3RlciA9IGhvb2tcbiAgfSBlbHNlIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICBob29rID0gaW5qZWN0U3R5bGVzXG4gIH1cblxuICBpZiAoaG9vaykge1xuICAgIHZhciBmdW5jdGlvbmFsID0gb3B0aW9ucy5mdW5jdGlvbmFsXG4gICAgdmFyIGV4aXN0aW5nID0gZnVuY3Rpb25hbFxuICAgICAgPyBvcHRpb25zLnJlbmRlclxuICAgICAgOiBvcHRpb25zLmJlZm9yZUNyZWF0ZVxuXG4gICAgaWYgKCFmdW5jdGlvbmFsKSB7XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHJlZ2lzdHJhdGlvbiBhcyBiZWZvcmVDcmVhdGUgaG9va1xuICAgICAgb3B0aW9ucy5iZWZvcmVDcmVhdGUgPSBleGlzdGluZ1xuICAgICAgICA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaylcbiAgICAgICAgOiBbaG9va11cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZm9yIHRlbXBsYXRlLW9ubHkgaG90LXJlbG9hZCBiZWNhdXNlIGluIHRoYXQgY2FzZSB0aGUgcmVuZGVyIGZuIGRvZXNuJ3RcbiAgICAgIC8vIGdvIHRocm91Z2ggdGhlIG5vcm1hbGl6ZXJcbiAgICAgIG9wdGlvbnMuX2luamVjdFN0eWxlcyA9IGhvb2tcbiAgICAgIC8vIHJlZ2lzdGVyIGZvciBmdW5jdGlvYWwgY29tcG9uZW50IGluIHZ1ZSBmaWxlXG4gICAgICBvcHRpb25zLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcldpdGhTdHlsZUluamVjdGlvbiAoaCwgY29udGV4dCkge1xuICAgICAgICBob29rLmNhbGwoY29udGV4dClcbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nKGgsIGNvbnRleHQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlc01vZHVsZTogZXNNb2R1bGUsXG4gICAgZXhwb3J0czogc2NyaXB0RXhwb3J0cyxcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH1cbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyLmpzXG4vLyBtb2R1bGUgaWQgPSAyOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///29\n"); + +/***/ }), +/* 30 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BVTransition; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__inspect__ = __webpack_require__(1);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\n\n\n\nvar NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n};\n\nvar FADE_PROPS = _objectSpread({}, NO_FADE_PROPS, {\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n});\n\nvar BVTransition =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */].extend({\n name: 'BVTransition',\n functional: true,\n props: {\n noFade: {\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n type: Boolean,\n default: false\n },\n appear: {\n // Has no effect if `trans-props` provided\n type: Boolean,\n default: false\n },\n mode: {\n // Can be overridden by user supplied trans-props\n type: String // default: undefined\n\n },\n // For user supplied transitions (if needed)\n transProps: {\n type: Object,\n default: null\n }\n },\n render: function render(h, _ref) {\n var children = _ref.children,\n data = _ref.data,\n listeners = _ref.listeners,\n props = _ref.props;\n var transProps = props.transProps;\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__inspect__[\"j\" /* isPlainObject */])(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS;\n\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = _objectSpread({}, transProps, {\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n });\n }\n }\n\n transProps = _objectSpread({\n mode: props.mode\n }, transProps, {\n // We always need `css` true\n css: true\n });\n return h('transition', // Any transition event listeners will get merged here\n Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n props: transProps\n }), children);\n }\n});\n/* harmony default export */ __webpack_exports__[\"b\"] = (BVTransition);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvYnYtdHJhbnNpdGlvbi5qcz9kOWYyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUUvTTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ3dCO0FBQzhCO0FBQ1o7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0EsQ0FBQzs7QUFFTTtBQUNQO0FBQ0EscURBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUyx1RUFBYTtBQUN0Qjs7QUFFQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsSUFBSSxvRkFBUztBQUNiO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQztBQUNjLHFFQUFZIiwiZmlsZSI6IjMwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuLy8gR2VuZXJpYyBCb290c3RyYXAgdjQgZmFkZSAobm8tZmFkZSkgdHJhbnNpdGlvbiBjb21wb25lbnRcbi8vXG4vLyBBc3N1bWVzIHRoYXQgYHNob3dgIGNsYXNzIGlzIG5vdCByZXF1aXJlZCB3aGVuXG4vLyB0aGUgdHJhbnNpdGlvbiBoYXMgZmluaXNoZWQgdGhlIGVudGVyIHRyYW5zaXRpb25cbi8vIChzaG93IGFuZCBmYWRlIGNsYXNzZXMgYXJlIG9ubHkgYXBwbGllZCBkdXJpbmcgdHJhbnNpdGlvbilcbmltcG9ydCBWdWUgZnJvbSAnLi92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgeyBpc1BsYWluT2JqZWN0IH0gZnJvbSAnLi9pbnNwZWN0JztcbnZhciBOT19GQURFX1BST1BTID0ge1xuICBuYW1lOiAnJyxcbiAgZW50ZXJDbGFzczogJycsXG4gIGVudGVyQWN0aXZlQ2xhc3M6ICcnLFxuICBlbnRlclRvQ2xhc3M6ICdzaG93JyxcbiAgbGVhdmVDbGFzczogJ3Nob3cnLFxuICBsZWF2ZUFjdGl2ZUNsYXNzOiAnJyxcbiAgbGVhdmVUb0NsYXNzOiAnJ1xufTtcblxudmFyIEZBREVfUFJPUFMgPSBfb2JqZWN0U3ByZWFkKHt9LCBOT19GQURFX1BST1BTLCB7XG4gIGVudGVyQWN0aXZlQ2xhc3M6ICdmYWRlJyxcbiAgbGVhdmVBY3RpdmVDbGFzczogJ2ZhZGUnXG59KTtcblxuZXhwb3J0IHZhciBCVlRyYW5zaXRpb24gPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCVlRyYW5zaXRpb24nLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczoge1xuICAgIG5vRmFkZToge1xuICAgICAgLy8gT25seSBhcHBsaWNhYmxlIHRvIHRoZSBidWlsdCBpbiB0cmFuc2l0aW9uXG4gICAgICAvLyBIYXMgbm8gZWZmZWN0IGlmIGB0cmFucy1wcm9wc2AgcHJvdmlkZWRcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgYXBwZWFyOiB7XG4gICAgICAvLyBIYXMgbm8gZWZmZWN0IGlmIGB0cmFucy1wcm9wc2AgcHJvdmlkZWRcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbW9kZToge1xuICAgICAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdXNlciBzdXBwbGllZCB0cmFucy1wcm9wc1xuICAgICAgdHlwZTogU3RyaW5nIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICAvLyBGb3IgdXNlciBzdXBwbGllZCB0cmFuc2l0aW9ucyAoaWYgbmVlZGVkKVxuICAgIHRyYW5zUHJvcHM6IHtcbiAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBsaXN0ZW5lcnMgPSBfcmVmLmxpc3RlbmVycyxcbiAgICAgICAgcHJvcHMgPSBfcmVmLnByb3BzO1xuICAgIHZhciB0cmFuc1Byb3BzID0gcHJvcHMudHJhbnNQcm9wcztcblxuICAgIGlmICghaXNQbGFpbk9iamVjdCh0cmFuc1Byb3BzKSkge1xuICAgICAgdHJhbnNQcm9wcyA9IHByb3BzLm5vRmFkZSA/IE5PX0ZBREVfUFJPUFMgOiBGQURFX1BST1BTO1xuXG4gICAgICBpZiAocHJvcHMuYXBwZWFyKSB7XG4gICAgICAgIC8vIERlZmF1bHQgdGhlIGFwcGVhciBjbGFzc2VzIHRvIGVxdWFsIHRoZSBlbnRlciBjbGFzc2VzXG4gICAgICAgIHRyYW5zUHJvcHMgPSBfb2JqZWN0U3ByZWFkKHt9LCB0cmFuc1Byb3BzLCB7XG4gICAgICAgICAgYXBwZWFyOiB0cnVlLFxuICAgICAgICAgIGFwcGVhckNsYXNzOiB0cmFuc1Byb3BzLmVudGVyQ2xhc3MsXG4gICAgICAgICAgYXBwZWFyQWN0aXZlQ2xhc3M6IHRyYW5zUHJvcHMuZW50ZXJBY3RpdmVDbGFzcyxcbiAgICAgICAgICBhcHBlYXJUb0NsYXNzOiB0cmFuc1Byb3BzLmVudGVyVG9DbGFzc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cmFuc1Byb3BzID0gX29iamVjdFNwcmVhZCh7XG4gICAgICBtb2RlOiBwcm9wcy5tb2RlXG4gICAgfSwgdHJhbnNQcm9wcywge1xuICAgICAgLy8gV2UgYWx3YXlzIG5lZWQgYGNzc2AgdHJ1ZVxuICAgICAgY3NzOiB0cnVlXG4gICAgfSk7XG4gICAgcmV0dXJuIGgoJ3RyYW5zaXRpb24nLCAvLyBBbnkgdHJhbnNpdGlvbiBldmVudCBsaXN0ZW5lcnMgd2lsbCBnZXQgbWVyZ2VkIGhlcmVcbiAgICBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgcHJvcHM6IHRyYW5zUHJvcHNcbiAgICB9KSwgY2hpbGRyZW4pO1xuICB9XG59KTtcbmV4cG9ydCBkZWZhdWx0IEJWVHJhbnNpdGlvbjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy9idi10cmFuc2l0aW9uLmpzXG4vLyBtb2R1bGUgaWQgPSAzMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///30\n"); + +/***/ }), +/* 31 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BButtonClose; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__ = __webpack_require__(18);\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\n\n\n\n\n\nvar NAME = 'BButtonClose';\nvar props = {\n disabled: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'ariaLabel');\n }\n },\n textVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'textVariant');\n }\n }\n}; // @vue/component\n\nvar BButtonClose =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var componentData = {\n staticClass: 'close',\n class: _defineProperty({}, \"text-\".concat(props.textVariant), props.textVariant),\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click: function click(evt) {\n // Ensure click on button HTML content is also disabled\n\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"d\" /* isEvent */])(evt)) {\n evt.stopPropagation();\n evt.preventDefault();\n }\n }\n }\n }; // Careful not to override the default slot with innerHTML\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('default', $scopedSlots, $slots)) {\n componentData.domProps = {\n innerHTML: '×'\n };\n }\n\n return h('button', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, componentData), Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"b\" /* normalizeSlot */])('default', {}, $scopedSlots, $slots));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLWNsb3NlLmpzPzViOWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ0U7QUFDVjtBQUNnQztBQUM5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQyx1RUFBTztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTixTQUFTLHdGQUFpQjtBQUMxQjtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBOztBQUVBLHVCQUF1QixvRkFBUyx1QkFBdUIsb0ZBQWEsY0FBYztBQUNsRjtBQUNBLENBQUMiLCJmaWxlIjoiMzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBpc0V2ZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgeyBoYXNOb3JtYWxpemVkU2xvdCwgbm9ybWFsaXplU2xvdCB9IGZyb20gJy4uLy4uL3V0aWxzL25vcm1hbGl6ZS1zbG90JztcbnZhciBOQU1FID0gJ0JCdXR0b25DbG9zZSc7XG52YXIgcHJvcHMgPSB7XG4gIGRpc2FibGVkOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBhcmlhTGFiZWw6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdhcmlhTGFiZWwnKTtcbiAgICB9XG4gIH0sXG4gIHRleHRWYXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAndGV4dFZhcmlhbnQnKTtcbiAgICB9XG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkJ1dHRvbkNsb3NlID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBsaXN0ZW5lcnMgPSBfcmVmLmxpc3RlbmVycyxcbiAgICAgICAgc2xvdHMgPSBfcmVmLnNsb3RzLFxuICAgICAgICBzY29wZWRTbG90cyA9IF9yZWYuc2NvcGVkU2xvdHM7XG4gICAgdmFyICRzbG90cyA9IHNsb3RzKCk7XG4gICAgdmFyICRzY29wZWRTbG90cyA9IHNjb3BlZFNsb3RzIHx8IHt9O1xuICAgIHZhciBjb21wb25lbnREYXRhID0ge1xuICAgICAgc3RhdGljQ2xhc3M6ICdjbG9zZScsXG4gICAgICBjbGFzczogX2RlZmluZVByb3BlcnR5KHt9LCBcInRleHQtXCIuY29uY2F0KHByb3BzLnRleHRWYXJpYW50KSwgcHJvcHMudGV4dFZhcmlhbnQpLFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIGRpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICAgICAgJ2FyaWEtbGFiZWwnOiBwcm9wcy5hcmlhTGFiZWwgPyBTdHJpbmcocHJvcHMuYXJpYUxhYmVsKSA6IG51bGxcbiAgICAgIH0sXG4gICAgICBvbjoge1xuICAgICAgICBjbGljazogZnVuY3Rpb24gY2xpY2soZXZ0KSB7XG4gICAgICAgICAgLy8gRW5zdXJlIGNsaWNrIG9uIGJ1dHRvbiBIVE1MIGNvbnRlbnQgaXMgYWxzbyBkaXNhYmxlZFxuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmOiBidWcgaW4gSlNET00gc3RpbGwgZW1pdHMgY2xpY2sgb24gaW5uZXIgZWxlbWVudCAqL1xuICAgICAgICAgIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBpc0V2ZW50KGV2dCkpIHtcbiAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07IC8vIENhcmVmdWwgbm90IHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHNsb3Qgd2l0aCBpbm5lckhUTUxcblxuICAgIGlmICghaGFzTm9ybWFsaXplZFNsb3QoJ2RlZmF1bHQnLCAkc2NvcGVkU2xvdHMsICRzbG90cykpIHtcbiAgICAgIGNvbXBvbmVudERhdGEuZG9tUHJvcHMgPSB7XG4gICAgICAgIGlubmVySFRNTDogJyZ0aW1lczsnXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBoKCdidXR0b24nLCBtZXJnZURhdGEoZGF0YSwgY29tcG9uZW50RGF0YSksIG5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnLCB7fSwgJHNjb3BlZFNsb3RzLCAkc2xvdHMpKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLWNsb3NlLmpzXG4vLyBtb2R1bGUgaWQgPSAzMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///31\n"); + +/***/ }), +/* 32 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nvar getScopeId = function getScopeId(vm) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return vm ? vm.$options._scopeId || defaultValue : defaultValue;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (getScopeId);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvZ2V0LXNjb3BlLWlkLmpzP2NlNDEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWUsbUVBQVUiLCJmaWxlIjoiMzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIG1ldGhvZCByZXR1cm5zIGEgY29tcG9uZW50J3Mgc2NvcGVkIHN0eWxlIGF0dHJpYnV0ZSBuYW1lOiBgZGF0YS12LXh4eHh4eHhgXG4vLyBUaGUgYF9zY29wZUlkYCBvcHRpb25zIHByb3BlcnR5IGlzIGFkZGVkIGJ5IHZ1ZS1sb2FkZXIgd2hlbiB1c2luZyBzY29wZWQgc3R5bGVzXG4vLyBhbmQgd2lsbCBiZSBgdW5kZWZpbmVkYCBpZiBubyBzY29wZWQgc3R5bGVzIGFyZSBpbiB1c2VcbnZhciBnZXRTY29wZUlkID0gZnVuY3Rpb24gZ2V0U2NvcGVJZCh2bSkge1xuICB2YXIgZGVmYXVsdFZhbHVlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBudWxsO1xuICByZXR1cm4gdm0gPyB2bS4kb3B0aW9ucy5fc2NvcGVJZCB8fCBkZWZhdWx0VmFsdWUgOiBkZWZhdWx0VmFsdWU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBnZXRTY29wZUlkO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL2dldC1zY29wZS1pZC5qc1xuLy8gbW9kdWxlIGlkID0gMzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///32\n"); + +/***/ }), +/* 33 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__inspect__ = __webpack_require__(1);\n\n/**\n * Get property defined by dot/array notation in string.\n *\n * @link https://gist.github.com/jeneg/9767afdcca45601ea44930ea03e0febf#gistcomment-1935901\n *\n * @param {Object} obj\n * @param {string|Array} path\n * @param {*} defaultValue (optional)\n * @return {*}\n */\n\nvar get = function get(obj, path) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n // Handle array of path values\n path = Object(__WEBPACK_IMPORTED_MODULE_0__inspect__[\"a\" /* isArray */])(path) ? path.join('.') : path; // If no path or no object passed\n\n if (!path || !Object(__WEBPACK_IMPORTED_MODULE_0__inspect__[\"i\" /* isObject */])(obj)) {\n return defaultValue;\n } // Handle edge case where user has dot(s) in top-level item field key\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2762\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n\n\n if (path in obj) {\n return obj[path];\n } // Handle string array notation (numeric indices only)\n\n\n path = String(path).replace(/\\[(\\d+)]/g, '.$1');\n var steps = path.split('.').filter(Boolean); // Handle case where someone passes a string of only dots\n\n if (steps.length === 0) {\n return defaultValue;\n } // Traverse path in object to find result\n // We use `!=` vs `!==` to test for both `null` and `undefined`\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n\n\n return steps.every(function (step) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__inspect__[\"i\" /* isObject */])(obj) && step in obj && (obj = obj[step]) != null;\n }) ? obj : defaultValue;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (get);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvZ2V0LmpzP2Y3NTgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBOEM7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLGFBQWE7QUFDeEIsV0FBVyxFQUFFO0FBQ2IsWUFBWTtBQUNaOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsaUVBQU8sK0JBQStCOztBQUUvQyxnQkFBZ0Isa0VBQVE7QUFDeEI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQSw4Q0FBOEM7O0FBRTlDO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLFdBQVcsa0VBQVE7QUFDbkIsR0FBRztBQUNIOztBQUVlLDREQUFHIiwiZmlsZSI6IjMzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcnJheSwgaXNPYmplY3QgfSBmcm9tICcuL2luc3BlY3QnO1xuLyoqXG4gKiBHZXQgcHJvcGVydHkgZGVmaW5lZCBieSBkb3QvYXJyYXkgbm90YXRpb24gaW4gc3RyaW5nLlxuICpcbiAqIEBsaW5rIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2plbmVnLzk3NjdhZmRjY2E0NTYwMWVhNDQ5MzBlYTAzZTBmZWJmI2dpc3Rjb21tZW50LTE5MzU5MDFcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqXG4gKiBAcGFyYW0ge3N0cmluZ3xBcnJheX0gcGF0aFxuICogQHBhcmFtIHsqfSBkZWZhdWx0VmFsdWUgKG9wdGlvbmFsKVxuICogQHJldHVybiB7Kn1cbiAqL1xuXG52YXIgZ2V0ID0gZnVuY3Rpb24gZ2V0KG9iaiwgcGF0aCkge1xuICB2YXIgZGVmYXVsdFZhbHVlID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuICAvLyBIYW5kbGUgYXJyYXkgb2YgcGF0aCB2YWx1ZXNcbiAgcGF0aCA9IGlzQXJyYXkocGF0aCkgPyBwYXRoLmpvaW4oJy4nKSA6IHBhdGg7IC8vIElmIG5vIHBhdGggb3Igbm8gb2JqZWN0IHBhc3NlZFxuXG4gIGlmICghcGF0aCB8fCAhaXNPYmplY3Qob2JqKSkge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH0gLy8gSGFuZGxlIGVkZ2UgY2FzZSB3aGVyZSB1c2VyIGhhcyBkb3QocykgaW4gdG9wLWxldmVsIGl0ZW0gZmllbGQga2V5XG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYm9vdHN0cmFwLXZ1ZS9ib290c3RyYXAtdnVlL2lzc3Vlcy8yNzYyXG4gIC8vIFN3aXRjaGVkIHRvIGBpbmAgb3BlcmF0b3IgdnMgYGhhc093blByb3BlcnR5YCB0byBoYW5kbGUgb2JqLnByb3RvdHlwZSBnZXR0ZXJzXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ib290c3RyYXAtdnVlL2Jvb3RzdHJhcC12dWUvaXNzdWVzLzM0NjNcblxuXG4gIGlmIChwYXRoIGluIG9iaikge1xuICAgIHJldHVybiBvYmpbcGF0aF07XG4gIH0gLy8gSGFuZGxlIHN0cmluZyBhcnJheSBub3RhdGlvbiAobnVtZXJpYyBpbmRpY2VzIG9ubHkpXG5cblxuICBwYXRoID0gU3RyaW5nKHBhdGgpLnJlcGxhY2UoL1xcWyhcXGQrKV0vZywgJy4kMScpO1xuICB2YXIgc3RlcHMgPSBwYXRoLnNwbGl0KCcuJykuZmlsdGVyKEJvb2xlYW4pOyAvLyBIYW5kbGUgY2FzZSB3aGVyZSBzb21lb25lIHBhc3NlcyBhIHN0cmluZyBvZiBvbmx5IGRvdHNcblxuICBpZiAoc3RlcHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfSAvLyBUcmF2ZXJzZSBwYXRoIGluIG9iamVjdCB0byBmaW5kIHJlc3VsdFxuICAvLyBXZSB1c2UgYCE9YCB2cyBgIT09YCB0byB0ZXN0IGZvciBib3RoIGBudWxsYCBhbmQgYHVuZGVmaW5lZGBcbiAgLy8gU3dpdGNoZWQgdG8gYGluYCBvcGVyYXRvciB2cyBgaGFzT3duUHJvcGVydHlgIHRvIGhhbmRsZSBvYmoucHJvdG90eXBlIGdldHRlcnNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jvb3RzdHJhcC12dWUvYm9vdHN0cmFwLXZ1ZS9pc3N1ZXMvMzQ2M1xuXG5cbiAgcmV0dXJuIHN0ZXBzLmV2ZXJ5KGZ1bmN0aW9uIChzdGVwKSB7XG4gICAgcmV0dXJuIGlzT2JqZWN0KG9iaikgJiYgc3RlcCBpbiBvYmogJiYgKG9iaiA9IG9ialtzdGVwXSkgIT0gbnVsbDtcbiAgfSkgPyBvYmogOiBkZWZhdWx0VmFsdWU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBnZXQ7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvZ2V0LmpzXG4vLyBtb2R1bGUgaWQgPSAzM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///33\n"); + +/***/ }), +/* 34 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BButton; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__link_link__ = __webpack_require__(14);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n // --- Constants --\n\nvar NAME = 'BButton';\nvar btnProps = {\n block: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'size');\n }\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n type: {\n type: String,\n default: 'button'\n },\n tag: {\n type: String,\n default: 'button'\n },\n pill: {\n type: Boolean,\n default: false\n },\n squared: {\n type: Boolean,\n default: false\n },\n pressed: {\n // tri-state prop: true, false or null\n // => on, off, not a toggle\n type: Boolean,\n default: null\n }\n};\nvar linkProps = Object(__WEBPACK_IMPORTED_MODULE_8__link_link__[\"b\" /* propsFactory */])();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nvar linkPropKeys = Object(__WEBPACK_IMPORTED_MODULE_7__utils_object__[\"j\" /* keys */])(linkProps);\nvar props = _objectSpread({}, linkProps, {}, btnProps); // --- Helper methods ---\n// Focus handler for toggle buttons. Needs class of 'focus' when focused.\n\nvar handleFocus = function handleFocus(evt) {\n if (evt.type === 'focusin') {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"b\" /* addClass */])(evt.target, 'focus');\n } else if (evt.type === 'focusout') {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"v\" /* removeClass */])(evt.target, 'focus');\n }\n}; // Is the requested button a link?\n\n\nvar isLink = function isLink(props) {\n // If tag prop is set to `a`, we use a b-link to get proper disabled handling\n return Boolean(props.href || props.to || props.tag && String(props.tag).toLowerCase() === 'a');\n}; // Is the button to be a toggle button?\n\n\nvar isToggle = function isToggle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_6__utils_inspect__[\"b\" /* isBoolean */])(props.pressed);\n}; // Is the button \"really\" a button?\n\n\nvar isButton = function isButton(props) {\n if (isLink(props)) {\n return false;\n } else if (props.tag && String(props.tag).toLowerCase() !== 'button') {\n return false;\n }\n\n return true;\n}; // Is the requested tag not a button or link?\n\n\nvar isNonStandardTag = function isNonStandardTag(props) {\n return !isLink(props) && !isButton(props);\n}; // Compute required classes (non static classes)\n\n\nvar computeClass = function computeClass(props) {\n var _ref;\n\n return [\"btn-\".concat(props.variant || Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant')), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(props.size), Boolean(props.size)), _defineProperty(_ref, 'btn-block', props.block), _defineProperty(_ref, 'rounded-pill', props.pill), _defineProperty(_ref, 'rounded-0', props.squared && !props.pill), _defineProperty(_ref, \"disabled\", props.disabled), _defineProperty(_ref, \"active\", props.pressed), _ref)];\n}; // Compute the link props to pass to b-link (if required)\n\n\nvar computeLinkProps = function computeLinkProps(props) {\n return isLink(props) ? Object(__WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__[\"a\" /* default */])(linkPropKeys, props) : null;\n}; // Compute the attributes for a button\n\n\nvar computeAttrs = function computeAttrs(props, data) {\n var button = isButton(props);\n var link = isLink(props);\n var toggle = isToggle(props);\n var nonStdTag = isNonStandardTag(props);\n var role = data.attrs && data.attrs.role ? data.attrs.role : null;\n var tabindex = data.attrs ? data.attrs.tabindex : null;\n\n if (nonStdTag) {\n tabindex = '0';\n }\n\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA.\n // Don't bork any role provided in data.attrs when isLink or isButton\n role: nonStdTag ? 'button' : role,\n // We set the aria-disabled state for non-standard tags\n 'aria-disabled': nonStdTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // autocomplete off is needed in toggle mode to prevent some browsers from\n // remembering the previous setting when using the back button.\n autocomplete: toggle ? 'off' : null,\n // Tab index is used when the component is not a button.\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a tabindex of '0' to non buttons or non links.\n tabindex: props.disabled && !button ? '-1' : tabindex\n };\n}; // @vue/component\n\n\nvar BButton =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref2) {\n var props = _ref2.props,\n data = _ref2.data,\n listeners = _ref2.listeners,\n children = _ref2.children;\n var toggle = isToggle(props);\n var link = isLink(props);\n var on = {\n click: function click(evt) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && Object(__WEBPACK_IMPORTED_MODULE_6__utils_inspect__[\"d\" /* isEvent */])(evt)) {\n evt.stopPropagation();\n evt.preventDefault();\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send .sync updates to any \"pressed\" prop (if .sync listeners)\n // Concat will normalize the value to an array\n // without double wrapping an array value in an array.\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"b\" /* concat */])(listeners['update:pressed']).forEach(function (fn) {\n if (Object(__WEBPACK_IMPORTED_MODULE_6__utils_inspect__[\"f\" /* isFunction */])(fn)) {\n fn(!props.pressed);\n }\n });\n }\n }\n };\n\n if (toggle) {\n on.focusin = handleFocus;\n on.focusout = handleFocus;\n }\n\n var componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on: on\n };\n return h(link ? __WEBPACK_IMPORTED_MODULE_8__link_link__[\"a\" /* BLink */] : props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, componentData), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmpzPzEwMGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7QUFDTDtBQUNOO0FBQ2E7QUFDQTtBQUNhO0FBQzNCO0FBQzZCOztBQUV2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isd0VBQWdCO0FBQ2hDO0FBQ0E7QUFDQSxtQkFBbUIsbUVBQUk7QUFDaEIsNEJBQTRCLGVBQWUsWUFBWTtBQUM5RDs7QUFFQTtBQUNBO0FBQ0EsSUFBSSxvRUFBUTtBQUNaLEdBQUc7QUFDSCxJQUFJLHVFQUFXO0FBQ2Y7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBLFNBQVMseUVBQVM7QUFDbEIsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTs7QUFFQSx5Q0FBeUMsaUZBQWtCLDhCQUE4QjtBQUN6RixFQUFFOzs7QUFHRjtBQUNBLHlCQUF5QiwyRUFBVTtBQUNuQyxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0s7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsdUVBQU87QUFDckM7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxVQUFVLG9FQUFNO0FBQ2hCLGdCQUFnQiwwRUFBVTtBQUMxQjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix5REFBSyxjQUFjLG9GQUFTO0FBQ2hEO0FBQ0EsQ0FBQyIsImZpbGUiOiIzNC5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuaW1wb3J0IHBsdWNrUHJvcHMgZnJvbSAnLi4vLi4vdXRpbHMvcGx1Y2stcHJvcHMnO1xuaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IGFkZENsYXNzLCByZW1vdmVDbGFzcyB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBpc0Jvb2xlYW4sIGlzRXZlbnQsIGlzRnVuY3Rpb24gfSBmcm9tICcuLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7IGtleXMgfSBmcm9tICcuLi8uLi91dGlscy9vYmplY3QnO1xuaW1wb3J0IHsgQkxpbmssIHByb3BzRmFjdG9yeSBhcyBsaW5rUHJvcHNGYWN0b3J5IH0gZnJvbSAnLi4vbGluay9saW5rJzsgLy8gLS0tIENvbnN0YW50cyAtLVxuXG52YXIgTkFNRSA9ICdCQnV0dG9uJztcbnZhciBidG5Qcm9wcyA9IHtcbiAgYmxvY2s6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGRpc2FibGVkOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBzaXplOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnc2l6ZScpO1xuICAgIH1cbiAgfSxcbiAgdmFyaWFudDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ3ZhcmlhbnQnKTtcbiAgICB9XG4gIH0sXG4gIHR5cGU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2J1dHRvbidcbiAgfSxcbiAgdGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdidXR0b24nXG4gIH0sXG4gIHBpbGw6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIHNxdWFyZWQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIHByZXNzZWQ6IHtcbiAgICAvLyB0cmktc3RhdGUgcHJvcDogdHJ1ZSwgZmFsc2Ugb3IgbnVsbFxuICAgIC8vID0+IG9uLCBvZmYsIG5vdCBhIHRvZ2dsZVxuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9XG59O1xudmFyIGxpbmtQcm9wcyA9IGxpbmtQcm9wc0ZhY3RvcnkoKTtcbmRlbGV0ZSBsaW5rUHJvcHMuaHJlZi5kZWZhdWx0O1xuZGVsZXRlIGxpbmtQcm9wcy50by5kZWZhdWx0O1xudmFyIGxpbmtQcm9wS2V5cyA9IGtleXMobGlua1Byb3BzKTtcbmV4cG9ydCB2YXIgcHJvcHMgPSBfb2JqZWN0U3ByZWFkKHt9LCBsaW5rUHJvcHMsIHt9LCBidG5Qcm9wcyk7IC8vIC0tLSBIZWxwZXIgbWV0aG9kcyAtLS1cbi8vIEZvY3VzIGhhbmRsZXIgZm9yIHRvZ2dsZSBidXR0b25zLiAgTmVlZHMgY2xhc3Mgb2YgJ2ZvY3VzJyB3aGVuIGZvY3VzZWQuXG5cbnZhciBoYW5kbGVGb2N1cyA9IGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGV2dCkge1xuICBpZiAoZXZ0LnR5cGUgPT09ICdmb2N1c2luJykge1xuICAgIGFkZENsYXNzKGV2dC50YXJnZXQsICdmb2N1cycpO1xuICB9IGVsc2UgaWYgKGV2dC50eXBlID09PSAnZm9jdXNvdXQnKSB7XG4gICAgcmVtb3ZlQ2xhc3MoZXZ0LnRhcmdldCwgJ2ZvY3VzJyk7XG4gIH1cbn07IC8vIElzIHRoZSByZXF1ZXN0ZWQgYnV0dG9uIGEgbGluaz9cblxuXG52YXIgaXNMaW5rID0gZnVuY3Rpb24gaXNMaW5rKHByb3BzKSB7XG4gIC8vIElmIHRhZyBwcm9wIGlzIHNldCB0byBgYWAsIHdlIHVzZSBhIGItbGluayB0byBnZXQgcHJvcGVyIGRpc2FibGVkIGhhbmRsaW5nXG4gIHJldHVybiBCb29sZWFuKHByb3BzLmhyZWYgfHwgcHJvcHMudG8gfHwgcHJvcHMudGFnICYmIFN0cmluZyhwcm9wcy50YWcpLnRvTG93ZXJDYXNlKCkgPT09ICdhJyk7XG59OyAvLyBJcyB0aGUgYnV0dG9uIHRvIGJlIGEgdG9nZ2xlIGJ1dHRvbj9cblxuXG52YXIgaXNUb2dnbGUgPSBmdW5jdGlvbiBpc1RvZ2dsZShwcm9wcykge1xuICByZXR1cm4gaXNCb29sZWFuKHByb3BzLnByZXNzZWQpO1xufTsgLy8gSXMgdGhlIGJ1dHRvbiBcInJlYWxseVwiIGEgYnV0dG9uP1xuXG5cbnZhciBpc0J1dHRvbiA9IGZ1bmN0aW9uIGlzQnV0dG9uKHByb3BzKSB7XG4gIGlmIChpc0xpbmsocHJvcHMpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKHByb3BzLnRhZyAmJiBTdHJpbmcocHJvcHMudGFnKS50b0xvd2VyQ2FzZSgpICE9PSAnYnV0dG9uJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTsgLy8gSXMgdGhlIHJlcXVlc3RlZCB0YWcgbm90IGEgYnV0dG9uIG9yIGxpbms/XG5cblxudmFyIGlzTm9uU3RhbmRhcmRUYWcgPSBmdW5jdGlvbiBpc05vblN0YW5kYXJkVGFnKHByb3BzKSB7XG4gIHJldHVybiAhaXNMaW5rKHByb3BzKSAmJiAhaXNCdXR0b24ocHJvcHMpO1xufTsgLy8gQ29tcHV0ZSByZXF1aXJlZCBjbGFzc2VzIChub24gc3RhdGljIGNsYXNzZXMpXG5cblxudmFyIGNvbXB1dGVDbGFzcyA9IGZ1bmN0aW9uIGNvbXB1dGVDbGFzcyhwcm9wcykge1xuICB2YXIgX3JlZjtcblxuICByZXR1cm4gW1wiYnRuLVwiLmNvbmNhdChwcm9wcy52YXJpYW50IHx8IGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAndmFyaWFudCcpKSwgKF9yZWYgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9yZWYsIFwiYnRuLVwiLmNvbmNhdChwcm9wcy5zaXplKSwgQm9vbGVhbihwcm9wcy5zaXplKSksIF9kZWZpbmVQcm9wZXJ0eShfcmVmLCAnYnRuLWJsb2NrJywgcHJvcHMuYmxvY2spLCBfZGVmaW5lUHJvcGVydHkoX3JlZiwgJ3JvdW5kZWQtcGlsbCcsIHByb3BzLnBpbGwpLCBfZGVmaW5lUHJvcGVydHkoX3JlZiwgJ3JvdW5kZWQtMCcsIHByb3BzLnNxdWFyZWQgJiYgIXByb3BzLnBpbGwpLCBfZGVmaW5lUHJvcGVydHkoX3JlZiwgXCJkaXNhYmxlZFwiLCBwcm9wcy5kaXNhYmxlZCksIF9kZWZpbmVQcm9wZXJ0eShfcmVmLCBcImFjdGl2ZVwiLCBwcm9wcy5wcmVzc2VkKSwgX3JlZildO1xufTsgLy8gQ29tcHV0ZSB0aGUgbGluayBwcm9wcyB0byBwYXNzIHRvIGItbGluayAoaWYgcmVxdWlyZWQpXG5cblxudmFyIGNvbXB1dGVMaW5rUHJvcHMgPSBmdW5jdGlvbiBjb21wdXRlTGlua1Byb3BzKHByb3BzKSB7XG4gIHJldHVybiBpc0xpbmsocHJvcHMpID8gcGx1Y2tQcm9wcyhsaW5rUHJvcEtleXMsIHByb3BzKSA6IG51bGw7XG59OyAvLyBDb21wdXRlIHRoZSBhdHRyaWJ1dGVzIGZvciBhIGJ1dHRvblxuXG5cbnZhciBjb21wdXRlQXR0cnMgPSBmdW5jdGlvbiBjb21wdXRlQXR0cnMocHJvcHMsIGRhdGEpIHtcbiAgdmFyIGJ1dHRvbiA9IGlzQnV0dG9uKHByb3BzKTtcbiAgdmFyIGxpbmsgPSBpc0xpbmsocHJvcHMpO1xuICB2YXIgdG9nZ2xlID0gaXNUb2dnbGUocHJvcHMpO1xuICB2YXIgbm9uU3RkVGFnID0gaXNOb25TdGFuZGFyZFRhZyhwcm9wcyk7XG4gIHZhciByb2xlID0gZGF0YS5hdHRycyAmJiBkYXRhLmF0dHJzLnJvbGUgPyBkYXRhLmF0dHJzLnJvbGUgOiBudWxsO1xuICB2YXIgdGFiaW5kZXggPSBkYXRhLmF0dHJzID8gZGF0YS5hdHRycy50YWJpbmRleCA6IG51bGw7XG5cbiAgaWYgKG5vblN0ZFRhZykge1xuICAgIHRhYmluZGV4ID0gJzAnO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBUeXBlIG9ubHkgdXNlZCBmb3IgXCJyZWFsXCIgYnV0dG9uc1xuICAgIHR5cGU6IGJ1dHRvbiAmJiAhbGluayA/IHByb3BzLnR5cGUgOiBudWxsLFxuICAgIC8vIERpc2FibGVkIG9ubHkgc2V0IG9uIFwicmVhbFwiIGJ1dHRvbnNcbiAgICBkaXNhYmxlZDogYnV0dG9uID8gcHJvcHMuZGlzYWJsZWQgOiBudWxsLFxuICAgIC8vIFdlIGFkZCBhIHJvbGUgb2YgYnV0dG9uIHdoZW4gdGhlIHRhZyBpcyBub3QgYSBsaW5rIG9yIGJ1dHRvbiBmb3IgQVJJQS5cbiAgICAvLyBEb24ndCBib3JrIGFueSByb2xlIHByb3ZpZGVkIGluIGRhdGEuYXR0cnMgd2hlbiBpc0xpbmsgb3IgaXNCdXR0b25cbiAgICByb2xlOiBub25TdGRUYWcgPyAnYnV0dG9uJyA6IHJvbGUsXG4gICAgLy8gV2Ugc2V0IHRoZSBhcmlhLWRpc2FibGVkIHN0YXRlIGZvciBub24tc3RhbmRhcmQgdGFnc1xuICAgICdhcmlhLWRpc2FibGVkJzogbm9uU3RkVGFnID8gU3RyaW5nKHByb3BzLmRpc2FibGVkKSA6IG51bGwsXG4gICAgLy8gRm9yIHRvZ2dsZXMsIHdlIG5lZWQgdG8gc2V0IHRoZSBwcmVzc2VkIHN0YXRlIGZvciBBUklBXG4gICAgJ2FyaWEtcHJlc3NlZCc6IHRvZ2dsZSA/IFN0cmluZyhwcm9wcy5wcmVzc2VkKSA6IG51bGwsXG4gICAgLy8gYXV0b2NvbXBsZXRlIG9mZiBpcyBuZWVkZWQgaW4gdG9nZ2xlIG1vZGUgdG8gcHJldmVudCBzb21lIGJyb3dzZXJzIGZyb21cbiAgICAvLyByZW1lbWJlcmluZyB0aGUgcHJldmlvdXMgc2V0dGluZyB3aGVuIHVzaW5nIHRoZSBiYWNrIGJ1dHRvbi5cbiAgICBhdXRvY29tcGxldGU6IHRvZ2dsZSA/ICdvZmYnIDogbnVsbCxcbiAgICAvLyBUYWIgaW5kZXggaXMgdXNlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgbm90IGEgYnV0dG9uLlxuICAgIC8vIExpbmtzIGFyZSB0YWJiYWJsZSwgYnV0IGRvbid0IGFsbG93IGRpc2FibGVkLCB3aGlsZSBub24gYnV0dG9ucyBvciBsaW5rc1xuICAgIC8vIGFyZSBub3QgdGFiYmFibGUsIHNvIHdlIG1pbWljIHRoYXQgZnVuY3Rpb25hbGl0eSBieSBkaXNhYmxpbmcgdGFiYmluZ1xuICAgIC8vIHdoZW4gZGlzYWJsZWQsIGFuZCBhZGRpbmcgYSB0YWJpbmRleCBvZiAnMCcgdG8gbm9uIGJ1dHRvbnMgb3Igbm9uIGxpbmtzLlxuICAgIHRhYmluZGV4OiBwcm9wcy5kaXNhYmxlZCAmJiAhYnV0dG9uID8gJy0xJyA6IHRhYmluZGV4XG4gIH07XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5cbmV4cG9ydCB2YXIgQkJ1dHRvbiA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmMikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYyLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZjIuZGF0YSxcbiAgICAgICAgbGlzdGVuZXJzID0gX3JlZjIubGlzdGVuZXJzLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYyLmNoaWxkcmVuO1xuICAgIHZhciB0b2dnbGUgPSBpc1RvZ2dsZShwcm9wcyk7XG4gICAgdmFyIGxpbmsgPSBpc0xpbmsocHJvcHMpO1xuICAgIHZhciBvbiA9IHtcbiAgICAgIGNsaWNrOiBmdW5jdGlvbiBjbGljayhldnQpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmOiBibGluay9idXR0b24gZGlzYWJsZWQgc2hvdWxkIGhhbmRsZSB0aGlzICovXG4gICAgICAgIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBpc0V2ZW50KGV2dCkpIHtcbiAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodG9nZ2xlICYmIGxpc3RlbmVycyAmJiBsaXN0ZW5lcnNbJ3VwZGF0ZTpwcmVzc2VkJ10pIHtcbiAgICAgICAgICAvLyBTZW5kIC5zeW5jIHVwZGF0ZXMgdG8gYW55IFwicHJlc3NlZFwiIHByb3AgKGlmIC5zeW5jIGxpc3RlbmVycylcbiAgICAgICAgICAvLyBDb25jYXQgd2lsbCBub3JtYWxpemUgdGhlIHZhbHVlIHRvIGFuIGFycmF5XG4gICAgICAgICAgLy8gd2l0aG91dCBkb3VibGUgd3JhcHBpbmcgYW4gYXJyYXkgdmFsdWUgaW4gYW4gYXJyYXkuXG4gICAgICAgICAgY29uY2F0KGxpc3RlbmVyc1sndXBkYXRlOnByZXNzZWQnXSkuZm9yRWFjaChmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKGZuKSkge1xuICAgICAgICAgICAgICBmbighcHJvcHMucHJlc3NlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHRvZ2dsZSkge1xuICAgICAgb24uZm9jdXNpbiA9IGhhbmRsZUZvY3VzO1xuICAgICAgb24uZm9jdXNvdXQgPSBoYW5kbGVGb2N1cztcbiAgICB9XG5cbiAgICB2YXIgY29tcG9uZW50RGF0YSA9IHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnYnRuJyxcbiAgICAgIGNsYXNzOiBjb21wdXRlQ2xhc3MocHJvcHMpLFxuICAgICAgcHJvcHM6IGNvbXB1dGVMaW5rUHJvcHMocHJvcHMpLFxuICAgICAgYXR0cnM6IGNvbXB1dGVBdHRycyhwcm9wcywgZGF0YSksXG4gICAgICBvbjogb25cbiAgICB9O1xuICAgIHJldHVybiBoKGxpbmsgPyBCTGluayA6IHByb3BzLnRhZywgbWVyZ2VEYXRhKGRhdGEsIGNvbXBvbmVudERhdGEpLCBjaGlsZHJlbik7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5qc1xuLy8gbW9kdWxlIGlkID0gMzRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///34\n"); + +/***/ }), +/* 35 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__upper_first__ = __webpack_require__(55);\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\n\nvar prefixPropName = function prefixPropName(prefix, value) {\n return prefix + Object(__WEBPACK_IMPORTED_MODULE_0__upper_first__[\"a\" /* default */])(value);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (prefixPropName);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvcHJlZml4LXByb3AtbmFtZS5qcz9iMTRhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQXVDO0FBQ3ZDO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQjs7QUFFQTtBQUNBLGtCQUFrQixxRUFBVTtBQUM1Qjs7QUFFZSx1RUFBYyIsImZpbGUiOiIzNS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1cHBlckZpcnN0IGZyb20gJy4vdXBwZXItZmlyc3QnO1xuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJlZml4XG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqL1xuXG52YXIgcHJlZml4UHJvcE5hbWUgPSBmdW5jdGlvbiBwcmVmaXhQcm9wTmFtZShwcmVmaXgsIHZhbHVlKSB7XG4gIHJldHVybiBwcmVmaXggKyB1cHBlckZpcnN0KHZhbHVlKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHByZWZpeFByb3BOYW1lO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL3ByZWZpeC1wcm9wLW5hbWUuanNcbi8vIG1vZHVsZSBpZCA9IDM1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///35\n"); + +/***/ }), +/* 36 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__identity__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__inspect__ = __webpack_require__(1);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n/**\n * Copies props from one array/object to a new array/object. Prop values\n * are also cloned as new references to prevent possible mutation of original\n * prop object values. Optionally accepts a function to transform the prop name.\n *\n * @param {[]|{}} props\n * @param {Function} transformFn\n */\n\nvar copyProps = function copyProps(props) {\n var transformFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : __WEBPACK_IMPORTED_MODULE_0__identity__[\"a\" /* default */];\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"a\" /* isArray */])(props)) {\n return props.map(transformFn);\n } // Props as an object.\n\n\n var copied = {};\n\n for (var prop in props) {\n /* istanbul ignore else */\n // eslint-disable-next-line no-prototype-builtins\n if (props.hasOwnProperty(prop)) {\n // If the prop value is an object, do a shallow clone to prevent\n // potential mutations to the original object.\n copied[transformFn(prop)] = Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"i\" /* isObject */])(props[prop]) ? _objectSpread({}, props[prop]) : props[prop];\n }\n }\n\n return copied;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (copyProps);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvY29weS1wcm9wcy5qcz81MGUyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ1k7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQixXQUFXLFNBQVM7QUFDcEI7O0FBRUE7QUFDQSx3RkFBd0YsMERBQVE7O0FBRWhHLE1BQU0saUVBQU87QUFDYjtBQUNBLEdBQUc7OztBQUdIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxrRUFBUSxnQ0FBZ0M7QUFDMUU7QUFDQTs7QUFFQTtBQUNBOztBQUVlLGtFQUFTIiwiZmlsZSI6IjM2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IGlkZW50aXR5IGZyb20gJy4vaWRlbnRpdHknO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNPYmplY3QgfSBmcm9tICcuL2luc3BlY3QnO1xuLyoqXG4gKiBDb3BpZXMgcHJvcHMgZnJvbSBvbmUgYXJyYXkvb2JqZWN0IHRvIGEgbmV3IGFycmF5L29iamVjdC4gUHJvcCB2YWx1ZXNcbiAqIGFyZSBhbHNvIGNsb25lZCBhcyBuZXcgcmVmZXJlbmNlcyB0byBwcmV2ZW50IHBvc3NpYmxlIG11dGF0aW9uIG9mIG9yaWdpbmFsXG4gKiBwcm9wIG9iamVjdCB2YWx1ZXMuIE9wdGlvbmFsbHkgYWNjZXB0cyBhIGZ1bmN0aW9uIHRvIHRyYW5zZm9ybSB0aGUgcHJvcCBuYW1lLlxuICpcbiAqIEBwYXJhbSB7W118e319IHByb3BzXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSB0cmFuc2Zvcm1GblxuICovXG5cbnZhciBjb3B5UHJvcHMgPSBmdW5jdGlvbiBjb3B5UHJvcHMocHJvcHMpIHtcbiAgdmFyIHRyYW5zZm9ybUZuID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBpZGVudGl0eTtcblxuICBpZiAoaXNBcnJheShwcm9wcykpIHtcbiAgICByZXR1cm4gcHJvcHMubWFwKHRyYW5zZm9ybUZuKTtcbiAgfSAvLyBQcm9wcyBhcyBhbiBvYmplY3QuXG5cblxuICB2YXIgY29waWVkID0ge307XG5cbiAgZm9yICh2YXIgcHJvcCBpbiBwcm9wcykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xuICAgICAgLy8gSWYgdGhlIHByb3AgdmFsdWUgaXMgYW4gb2JqZWN0LCBkbyBhIHNoYWxsb3cgY2xvbmUgdG8gcHJldmVudFxuICAgICAgLy8gcG90ZW50aWFsIG11dGF0aW9ucyB0byB0aGUgb3JpZ2luYWwgb2JqZWN0LlxuICAgICAgY29waWVkW3RyYW5zZm9ybUZuKHByb3ApXSA9IGlzT2JqZWN0KHByb3BzW3Byb3BdKSA/IF9vYmplY3RTcHJlYWQoe30sIHByb3BzW3Byb3BdKSA6IHByb3BzW3Byb3BdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb3BpZWQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb3B5UHJvcHM7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvY29weS1wcm9wcy5qc1xuLy8gbW9kdWxlIGlkID0gMzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///36\n"); + +/***/ }), +/* 37 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("// @vue/component\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n bgVariant: {\n type: String,\n default: null\n },\n borderVariant: {\n type: String,\n default: null\n },\n textVariant: {\n type: String,\n default: null\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2NhcmQuanM/ODZhMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIzNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB2dWUvY29tcG9uZW50XG5leHBvcnQgZGVmYXVsdCB7XG4gIHByb3BzOiB7XG4gICAgdGFnOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnZGl2J1xuICAgIH0sXG4gICAgYmdWYXJpYW50OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBib3JkZXJWYXJpYW50OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICB0ZXh0VmFyaWFudDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9taXhpbnMvY2FyZC5qc1xuLy8gbW9kdWxlIGlkID0gMzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///37\n"); + +/***/ }), +/* 38 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BImg; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\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\n\n\n\n // --- Constants --\n\nvar NAME = 'BImg'; // Blank image with fill template\n\nvar BLANK_TEMPLATE = '<svg width=\"%{w}\" height=\"%{h}\" ' + 'xmlns=\"http://www.w3.org/2000/svg\" ' + 'viewBox=\"0 0 %{w} %{h}\" preserveAspectRatio=\"none\">' + '<rect width=\"100%\" height=\"100%\" style=\"fill:%{f};\"></rect>' + '</svg>';\nvar props = {\n src: {\n type: String,\n default: null\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n block: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n // Gives fluid images class `w-100` to make them grow to fit container\n type: Boolean,\n default: false\n },\n rounded: {\n // rounded can be:\n // false: no rounding of corners\n // true: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n type: [Boolean, String],\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n blank: {\n type: Boolean,\n default: false\n },\n blankColor: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'blankColor');\n }\n }\n}; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', String(width)).replace('%{h}', String(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // @vue/component\n\n\nvar BImg =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var src = props.src;\n var width = parseInt(props.width, 10) ? parseInt(props.width, 10) : null;\n var height = parseInt(props.height, 10) ? parseInt(props.height, 10) : null;\n var align = null;\n var block = props.block;\n\n if (props.blank) {\n if (!height && Boolean(width)) {\n height = width;\n } else if (!width && Boolean(height)) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent');\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n attrs: {\n src: src,\n alt: props.alt,\n width: width ? String(width) : null,\n height: height ? String(height) : null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n rounded: props.rounded === '' || props.rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(props.rounded), Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"m\" /* isString */])(props.rounded) && props.rounded !== ''), _defineProperty(_class, align, Boolean(align)), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbWFnZS9pbWcuanM/NDZhZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7QUFDRTtBQUNUOztBQUUvQyxrQkFBa0I7O0FBRWxCLG9DQUFvQyxFQUFFLFlBQVksRUFBRSw4REFBOEQsRUFBRSxHQUFHLEVBQUUsaUZBQWlGLEdBQUc7QUFDdE07QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBLHlEQUF5RCxFQUFFLDZCQUE2QixFQUFFLDhCQUE4QixFQUFFO0FBQzFILDZCQUE2QjtBQUM3QixFQUFFOzs7QUFHSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLG9GQUFTO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sNERBQTRELHdFQUFRO0FBQzNFLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMzguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnOyAvLyAtLS0gQ29uc3RhbnRzIC0tXG5cbnZhciBOQU1FID0gJ0JJbWcnOyAvLyBCbGFuayBpbWFnZSB3aXRoIGZpbGwgdGVtcGxhdGVcblxudmFyIEJMQU5LX1RFTVBMQVRFID0gJzxzdmcgd2lkdGg9XCIle3d9XCIgaGVpZ2h0PVwiJXtofVwiICcgKyAneG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiICcgKyAndmlld0JveD1cIjAgMCAle3d9ICV7aH1cIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPicgKyAnPHJlY3Qgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIHN0eWxlPVwiZmlsbDole2Z9O1wiPjwvcmVjdD4nICsgJzwvc3ZnPic7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICBzcmM6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBhbHQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICB3aWR0aDoge1xuICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBoZWlnaHQ6IHtcbiAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgYmxvY2s6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGZsdWlkOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBmbHVpZEdyb3c6IHtcbiAgICAvLyBHaXZlcyBmbHVpZCBpbWFnZXMgY2xhc3MgYHctMTAwYCB0byBtYWtlIHRoZW0gZ3JvdyB0byBmaXQgY29udGFpbmVyXG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICByb3VuZGVkOiB7XG4gICAgLy8gcm91bmRlZCBjYW4gYmU6XG4gICAgLy8gICBmYWxzZTogbm8gcm91bmRpbmcgb2YgY29ybmVyc1xuICAgIC8vICAgdHJ1ZTogc2xpZ2h0bHkgcm91bmRlZCBjb3JuZXJzXG4gICAgLy8gICAndG9wJzogdG9wIGNvcm5lcnMgcm91bmRlZFxuICAgIC8vICAgJ3JpZ2h0JzogcmlnaHQgY29ybmVycyByb3VuZGVkXG4gICAgLy8gICAnYm90dG9tJzogYm90dG9tIGNvcm5lcnMgcm91bmRlZFxuICAgIC8vICAgJ2xlZnQnOiBsZWZ0IGNvcm5lcnMgcm91bmRlZFxuICAgIC8vICAgJ2NpcmNsZSc6IGNpcmNsZS9vdmFsXG4gICAgLy8gICAnMCc6IGZvcmNlIHJvdW5kaW5nIG9mZlxuICAgIHR5cGU6IFtCb29sZWFuLCBTdHJpbmddLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIHRodW1ibmFpbDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgbGVmdDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgcmlnaHQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGNlbnRlcjoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgYmxhbms6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGJsYW5rQ29sb3I6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdibGFua0NvbG9yJyk7XG4gICAgfVxuICB9XG59OyAvLyAtLS0gSGVscGVyIG1ldGhvZHMgLS0tXG5cbnZhciBtYWtlQmxhbmtJbWdTcmMgPSBmdW5jdGlvbiBtYWtlQmxhbmtJbWdTcmMod2lkdGgsIGhlaWdodCwgY29sb3IpIHtcbiAgdmFyIHNyYyA9IGVuY29kZVVSSUNvbXBvbmVudChCTEFOS19URU1QTEFURS5yZXBsYWNlKCcle3d9JywgU3RyaW5nKHdpZHRoKSkucmVwbGFjZSgnJXtofScsIFN0cmluZyhoZWlnaHQpKS5yZXBsYWNlKCcle2Z9JywgY29sb3IpKTtcbiAgcmV0dXJuIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsXCIuY29uY2F0KHNyYyk7XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5cbmV4cG9ydCB2YXIgQkltZyA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIF9jbGFzcztcblxuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGE7XG4gICAgdmFyIHNyYyA9IHByb3BzLnNyYztcbiAgICB2YXIgd2lkdGggPSBwYXJzZUludChwcm9wcy53aWR0aCwgMTApID8gcGFyc2VJbnQocHJvcHMud2lkdGgsIDEwKSA6IG51bGw7XG4gICAgdmFyIGhlaWdodCA9IHBhcnNlSW50KHByb3BzLmhlaWdodCwgMTApID8gcGFyc2VJbnQocHJvcHMuaGVpZ2h0LCAxMCkgOiBudWxsO1xuICAgIHZhciBhbGlnbiA9IG51bGw7XG4gICAgdmFyIGJsb2NrID0gcHJvcHMuYmxvY2s7XG5cbiAgICBpZiAocHJvcHMuYmxhbmspIHtcbiAgICAgIGlmICghaGVpZ2h0ICYmIEJvb2xlYW4od2lkdGgpKSB7XG4gICAgICAgIGhlaWdodCA9IHdpZHRoO1xuICAgICAgfSBlbHNlIGlmICghd2lkdGggJiYgQm9vbGVhbihoZWlnaHQpKSB7XG4gICAgICAgIHdpZHRoID0gaGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICBpZiAoIXdpZHRoICYmICFoZWlnaHQpIHtcbiAgICAgICAgd2lkdGggPSAxO1xuICAgICAgICBoZWlnaHQgPSAxO1xuICAgICAgfSAvLyBNYWtlIGEgYmxhbmsgU1ZHIGltYWdlXG5cblxuICAgICAgc3JjID0gbWFrZUJsYW5rSW1nU3JjKHdpZHRoLCBoZWlnaHQsIHByb3BzLmJsYW5rQ29sb3IgfHwgJ3RyYW5zcGFyZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmxlZnQpIHtcbiAgICAgIGFsaWduID0gJ2Zsb2F0LWxlZnQnO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucmlnaHQpIHtcbiAgICAgIGFsaWduID0gJ2Zsb2F0LXJpZ2h0JztcbiAgICB9IGVsc2UgaWYgKHByb3BzLmNlbnRlcikge1xuICAgICAgYWxpZ24gPSAnbXgtYXV0byc7XG4gICAgICBibG9jayA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGgoJ2ltZycsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBhdHRyczoge1xuICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgYWx0OiBwcm9wcy5hbHQsXG4gICAgICAgIHdpZHRoOiB3aWR0aCA/IFN0cmluZyh3aWR0aCkgOiBudWxsLFxuICAgICAgICBoZWlnaHQ6IGhlaWdodCA/IFN0cmluZyhoZWlnaHQpIDogbnVsbFxuICAgICAgfSxcbiAgICAgIGNsYXNzOiAoX2NsYXNzID0ge1xuICAgICAgICAnaW1nLXRodW1ibmFpbCc6IHByb3BzLnRodW1ibmFpbCxcbiAgICAgICAgJ2ltZy1mbHVpZCc6IHByb3BzLmZsdWlkIHx8IHByb3BzLmZsdWlkR3JvdyxcbiAgICAgICAgJ3ctMTAwJzogcHJvcHMuZmx1aWRHcm93LFxuICAgICAgICByb3VuZGVkOiBwcm9wcy5yb3VuZGVkID09PSAnJyB8fCBwcm9wcy5yb3VuZGVkID09PSB0cnVlXG4gICAgICB9LCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzLCBcInJvdW5kZWQtXCIuY29uY2F0KHByb3BzLnJvdW5kZWQpLCBpc1N0cmluZyhwcm9wcy5yb3VuZGVkKSAmJiBwcm9wcy5yb3VuZGVkICE9PSAnJyksIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3MsIGFsaWduLCBCb29sZWFuKGFsaWduKSksIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3MsICdkLWJsb2NrJywgYmxvY2spLCBfY2xhc3MpXG4gICAgfSkpO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2ltYWdlL2ltZy5qc1xuLy8gbW9kdWxlIGlkID0gMzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///38\n"); + +/***/ }), +/* 39 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__warn__ = __webpack_require__(13);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [opts={childList: true, subtree: true}] observe options\n * @see http://stackoverflow.com/questions/3219758\n */\n\nvar observeDom = function observeDom(el, callback, opts)\n/* istanbul ignore next: difficult to test in JSDOM */\n{\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null; // Early exit when we have no element\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__dom__[\"o\" /* isElement */])(el)) {\n return null;\n } // Exit and throw a warning when `MutationObserver` isn't available\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__warn__[\"c\" /* warnNoMutationObserverSupport */])('observeDom')) {\n return null;\n } // Define a new observer\n\n\n var obs = new __WEBPACK_IMPORTED_MODULE_0__dom__[\"a\" /* MutationObs */](function (mutations) {\n var changed = false; // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n\n for (var i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n var mutation = mutations[i]; // Mutation type\n\n var type = mutation.type; // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n\n var target = mutation.target; // Detect whether a change happened based on type and target\n\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc)\n // as they don't change layout\n changed = true;\n } else if (type === 'attributes') {\n changed = true;\n } else if (type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true;\n }\n } // We only call the callback if a change that could affect\n // layout/size truely happened\n\n\n if (changed) {\n callback();\n }\n }); // Have the observer observe foo for changes in children, etc\n\n obs.observe(el, _objectSpread({\n childList: true,\n subtree: true\n }, opts)); // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n\n return obs;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (observeDom);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvb2JzZXJ2ZS1kb20uanM/ZGE0ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUVoSztBQUNRO0FBQ3ZEO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsT0FBTyxRQUFRLCtCQUErQjtBQUN6RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDOztBQUVoQzs7QUFFQSxPQUFPLCtEQUFTO0FBQ2hCO0FBQ0EsR0FBRzs7O0FBR0gsTUFBTSxvRkFBNkI7QUFDbkM7QUFDQSxHQUFHOzs7QUFHSCxnQkFBZ0IseURBQVc7QUFDM0Isd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsa0NBQWtDO0FBQ3JEO0FBQ0Esa0NBQWtDOztBQUVsQywrQkFBK0I7O0FBRS9CLG1DQUFtQzs7QUFFbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsRUFBRTs7QUFFTDtBQUNBO0FBQ0E7QUFDQSxHQUFHLFNBQVM7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRWUsbUVBQVUiLCJmaWxlIjoiMzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgeyBNdXRhdGlvbk9icywgaXNFbGVtZW50IH0gZnJvbSAnLi9kb20nO1xuaW1wb3J0IHsgd2Fybk5vTXV0YXRpb25PYnNlcnZlclN1cHBvcnQgfSBmcm9tICcuL3dhcm4nO1xuLyoqXG4gKiBPYnNlcnZlIGEgRE9NIGVsZW1lbnQgY2hhbmdlcywgZmFsbHMgYmFjayB0byBldmVudExpc3RlbmVyIG1vZGVcbiAqIEBwYXJhbSB7RWxlbWVudH0gZWwgVGhlIERPTSBlbGVtZW50IHRvIG9ic2VydmVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCBvbiBjaGFuZ2VcbiAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0cz17Y2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlfV0gb2JzZXJ2ZSBvcHRpb25zXG4gKiBAc2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzIxOTc1OFxuICovXG5cbnZhciBvYnNlcnZlRG9tID0gZnVuY3Rpb24gb2JzZXJ2ZURvbShlbCwgY2FsbGJhY2ssIG9wdHMpXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogZGlmZmljdWx0IHRvIHRlc3QgaW4gSlNET00gKi9cbntcbiAgLy8gSGFuZGxlIGNhc2VzIHdoZXJlIHdlIG1pZ2h0IGJlIHBhc3NlZCBhIFZ1ZSBpbnN0YW5jZVxuICBlbCA9IGVsID8gZWwuJGVsIHx8IGVsIDogbnVsbDsgLy8gRWFybHkgZXhpdCB3aGVuIHdlIGhhdmUgbm8gZWxlbWVudFxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBkaWZmaWN1bHQgdG8gdGVzdCBpbiBKU0RPTSAqL1xuXG4gIGlmICghaXNFbGVtZW50KGVsKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIEV4aXQgYW5kIHRocm93IGEgd2FybmluZyB3aGVuIGBNdXRhdGlvbk9ic2VydmVyYCBpc24ndCBhdmFpbGFibGVcblxuXG4gIGlmICh3YXJuTm9NdXRhdGlvbk9ic2VydmVyU3VwcG9ydCgnb2JzZXJ2ZURvbScpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gRGVmaW5lIGEgbmV3IG9ic2VydmVyXG5cblxuICB2YXIgb2JzID0gbmV3IE11dGF0aW9uT2JzKGZ1bmN0aW9uIChtdXRhdGlvbnMpIHtcbiAgICB2YXIgY2hhbmdlZCA9IGZhbHNlOyAvLyBBIG11dGF0aW9uIGNhbiBjb250YWluIHNldmVyYWwgY2hhbmdlIHJlY29yZHMsIHNvIHdlIGxvb3BcbiAgICAvLyB0aHJvdWdoIHRoZW0gdG8gc2VlIHdoYXQgaGFzIGNoYW5nZWRcbiAgICAvLyBXZSBicmVhayBvdXQgb2YgdGhlIGxvb3AgZWFybHkgaWYgYW55IFwic2lnbmlmaWNhbnRcIiBjaGFuZ2VcbiAgICAvLyBoYXMgYmVlbiBkZXRlY3RlZFxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtdXRhdGlvbnMubGVuZ3RoICYmICFjaGFuZ2VkOyBpKyspIHtcbiAgICAgIC8vIFRoZSBtdXRhdGlvbiByZWNvcmRcbiAgICAgIHZhciBtdXRhdGlvbiA9IG11dGF0aW9uc1tpXTsgLy8gTXV0YXRpb24gdHlwZVxuXG4gICAgICB2YXIgdHlwZSA9IG11dGF0aW9uLnR5cGU7IC8vIERPTSBub2RlIChjb3VsZCBiZSBhbnkgRE9NIG5vZGUgdHlwZSAtIEhUTUxFbGVtZW50LCBUZXh0LCBjb21tZW50LCBldGMuKVxuXG4gICAgICB2YXIgdGFyZ2V0ID0gbXV0YXRpb24udGFyZ2V0OyAvLyBEZXRlY3Qgd2hldGhlciBhIGNoYW5nZSBoYXBwZW5lZCBiYXNlZCBvbiB0eXBlIGFuZCB0YXJnZXRcblxuICAgICAgaWYgKHR5cGUgPT09ICdjaGFyYWN0ZXJEYXRhJyAmJiB0YXJnZXQubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XG4gICAgICAgIC8vIFdlIGlnbm9yZSBub2RlcyB0aGF0IGFyZSBub3QgVEVYVCAoaS5lLiBjb21tZW50cywgZXRjKVxuICAgICAgICAvLyBhcyB0aGV5IGRvbid0IGNoYW5nZSBsYXlvdXRcbiAgICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICBjaGFuZ2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2NoaWxkTGlzdCcgJiYgKG11dGF0aW9uLmFkZGVkTm9kZXMubGVuZ3RoID4gMCB8fCBtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoID4gMCkpIHtcbiAgICAgICAgLy8gVGhpcyBpbmNsdWRlcyBIVE1MRWxlbWVudCBhbmQgdGV4dCBub2RlcyBiZWluZ1xuICAgICAgICAvLyBhZGRlZC9yZW1vdmVkL3JlLWFycmFuZ2VkXG4gICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gLy8gV2Ugb25seSBjYWxsIHRoZSBjYWxsYmFjayBpZiBhIGNoYW5nZSB0aGF0IGNvdWxkIGFmZmVjdFxuICAgIC8vIGxheW91dC9zaXplIHRydWVseSBoYXBwZW5lZFxuXG5cbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgY2FsbGJhY2soKTtcbiAgICB9XG4gIH0pOyAvLyBIYXZlIHRoZSBvYnNlcnZlciBvYnNlcnZlIGZvbyBmb3IgY2hhbmdlcyBpbiBjaGlsZHJlbiwgZXRjXG5cbiAgb2JzLm9ic2VydmUoZWwsIF9vYmplY3RTcHJlYWQoe1xuICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICBzdWJ0cmVlOiB0cnVlXG4gIH0sIG9wdHMpKTsgLy8gV2UgcmV0dXJuIGEgcmVmZXJlbmNlIHRvIHRoZSBvYnNlcnZlciBzbyB0aGF0IGBvYnMuZGlzY29ubmVjdCgpYFxuICAvLyBjYW4gYmUgY2FsbGVkIGlmIG5lY2Vzc2FyeVxuICAvLyBUbyByZWR1Y2Ugb3ZlcmhlYWQgd2hlbiB0aGUgcm9vdCBlbGVtZW50IGlzIGhpZGRlblxuXG4gIHJldHVybiBvYnM7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBvYnNlcnZlRG9tO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL29ic2VydmUtZG9tLmpzXG4vLyBtb2R1bGUgaWQgPSAzOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///39\n"); + +/***/ }), +/* 40 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DropdownPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dropdown__ = __webpack_require__(65);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dropdown_item__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dropdown_item_button__ = __webpack_require__(127);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dropdown_header__ = __webpack_require__(128);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dropdown_divider__ = __webpack_require__(129);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__dropdown_form__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__dropdown_text__ = __webpack_require__(131);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__dropdown_group__ = __webpack_require__(132);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BDropdown */\n/* unused harmony reexport BDropdownItem */\n/* unused harmony reexport BDropdownItemButton */\n/* unused harmony reexport BDropdownHeader */\n/* unused harmony reexport BDropdownDivider */\n/* unused harmony reexport BDropdownForm */\n/* unused harmony reexport BDropdownText */\n/* unused harmony reexport BDropdownGroup */\n\n\n\n\n\n\n\n\n\nvar DropdownPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_8__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BDropdown: __WEBPACK_IMPORTED_MODULE_0__dropdown__[\"a\" /* BDropdown */],\n BDd: __WEBPACK_IMPORTED_MODULE_0__dropdown__[\"a\" /* BDropdown */],\n BDropdownItem: __WEBPACK_IMPORTED_MODULE_1__dropdown_item__[\"a\" /* BDropdownItem */],\n BDdItem: __WEBPACK_IMPORTED_MODULE_1__dropdown_item__[\"a\" /* BDropdownItem */],\n BDropdownItemButton: __WEBPACK_IMPORTED_MODULE_2__dropdown_item_button__[\"a\" /* BDropdownItemButton */],\n BDropdownItemBtn: __WEBPACK_IMPORTED_MODULE_2__dropdown_item_button__[\"a\" /* BDropdownItemButton */],\n BDdItemButton: __WEBPACK_IMPORTED_MODULE_2__dropdown_item_button__[\"a\" /* BDropdownItemButton */],\n BDdItemBtn: __WEBPACK_IMPORTED_MODULE_2__dropdown_item_button__[\"a\" /* BDropdownItemButton */],\n BDropdownHeader: __WEBPACK_IMPORTED_MODULE_3__dropdown_header__[\"a\" /* BDropdownHeader */],\n BDdHeader: __WEBPACK_IMPORTED_MODULE_3__dropdown_header__[\"a\" /* BDropdownHeader */],\n BDropdownDivider: __WEBPACK_IMPORTED_MODULE_4__dropdown_divider__[\"a\" /* BDropdownDivider */],\n BDdDivider: __WEBPACK_IMPORTED_MODULE_4__dropdown_divider__[\"a\" /* BDropdownDivider */],\n BDropdownForm: __WEBPACK_IMPORTED_MODULE_5__dropdown_form__[\"a\" /* BDropdownForm */],\n BDdForm: __WEBPACK_IMPORTED_MODULE_5__dropdown_form__[\"a\" /* BDropdownForm */],\n BDropdownText: __WEBPACK_IMPORTED_MODULE_6__dropdown_text__[\"a\" /* BDropdownText */],\n BDdText: __WEBPACK_IMPORTED_MODULE_6__dropdown_text__[\"a\" /* BDropdownText */],\n BDropdownGroup: __WEBPACK_IMPORTED_MODULE_7__dropdown_group__[\"a\" /* BDropdownGroup */],\n BDdGroup: __WEBPACK_IMPORTED_MODULE_7__dropdown_group__[\"a\" /* BDropdownGroup */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9pbmRleC5qcz8yMzA0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF1QztBQUNTO0FBQ2E7QUFDVDtBQUNFO0FBQ047QUFDQTtBQUNFO0FBQ0U7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxlQUFlLDREQUFTO0FBQ3hCLFNBQVMsNERBQVM7QUFDbEIsbUJBQW1CLHFFQUFhO0FBQ2hDLGFBQWEscUVBQWE7QUFDMUIseUJBQXlCLGtGQUFtQjtBQUM1QyxzQkFBc0Isa0ZBQW1CO0FBQ3pDLG1CQUFtQixrRkFBbUI7QUFDdEMsZ0JBQWdCLGtGQUFtQjtBQUNuQyxxQkFBcUIseUVBQWU7QUFDcEMsZUFBZSx5RUFBZTtBQUM5QixzQkFBc0IsMkVBQWdCO0FBQ3RDLGdCQUFnQiwyRUFBZ0I7QUFDaEMsbUJBQW1CLHFFQUFhO0FBQ2hDLGFBQWEscUVBQWE7QUFDMUIsbUJBQW1CLHFFQUFhO0FBQ2hDLGFBQWEscUVBQWE7QUFDMUIsb0JBQW9CLHVFQUFjO0FBQ2xDLGNBQWMsdUVBQWM7QUFDNUI7QUFDQSxDQUFDIiwiZmlsZSI6IjQwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkRyb3Bkb3duIH0gZnJvbSAnLi9kcm9wZG93bic7XG5pbXBvcnQgeyBCRHJvcGRvd25JdGVtIH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtJztcbmltcG9ydCB7IEJEcm9wZG93bkl0ZW1CdXR0b24gfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0tYnV0dG9uJztcbmltcG9ydCB7IEJEcm9wZG93bkhlYWRlciB9IGZyb20gJy4vZHJvcGRvd24taGVhZGVyJztcbmltcG9ydCB7IEJEcm9wZG93bkRpdmlkZXIgfSBmcm9tICcuL2Ryb3Bkb3duLWRpdmlkZXInO1xuaW1wb3J0IHsgQkRyb3Bkb3duRm9ybSB9IGZyb20gJy4vZHJvcGRvd24tZm9ybSc7XG5pbXBvcnQgeyBCRHJvcGRvd25UZXh0IH0gZnJvbSAnLi9kcm9wZG93bi10ZXh0JztcbmltcG9ydCB7IEJEcm9wZG93bkdyb3VwIH0gZnJvbSAnLi9kcm9wZG93bi1ncm91cCc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgRHJvcGRvd25QbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCRHJvcGRvd246IEJEcm9wZG93bixcbiAgICBCRGQ6IEJEcm9wZG93bixcbiAgICBCRHJvcGRvd25JdGVtOiBCRHJvcGRvd25JdGVtLFxuICAgIEJEZEl0ZW06IEJEcm9wZG93bkl0ZW0sXG4gICAgQkRyb3Bkb3duSXRlbUJ1dHRvbjogQkRyb3Bkb3duSXRlbUJ1dHRvbixcbiAgICBCRHJvcGRvd25JdGVtQnRuOiBCRHJvcGRvd25JdGVtQnV0dG9uLFxuICAgIEJEZEl0ZW1CdXR0b246IEJEcm9wZG93bkl0ZW1CdXR0b24sXG4gICAgQkRkSXRlbUJ0bjogQkRyb3Bkb3duSXRlbUJ1dHRvbixcbiAgICBCRHJvcGRvd25IZWFkZXI6IEJEcm9wZG93bkhlYWRlcixcbiAgICBCRGRIZWFkZXI6IEJEcm9wZG93bkhlYWRlcixcbiAgICBCRHJvcGRvd25EaXZpZGVyOiBCRHJvcGRvd25EaXZpZGVyLFxuICAgIEJEZERpdmlkZXI6IEJEcm9wZG93bkRpdmlkZXIsXG4gICAgQkRyb3Bkb3duRm9ybTogQkRyb3Bkb3duRm9ybSxcbiAgICBCRGRGb3JtOiBCRHJvcGRvd25Gb3JtLFxuICAgIEJEcm9wZG93blRleHQ6IEJEcm9wZG93blRleHQsXG4gICAgQkRkVGV4dDogQkRyb3Bkb3duVGV4dCxcbiAgICBCRHJvcGRvd25Hcm91cDogQkRyb3Bkb3duR3JvdXAsXG4gICAgQkRkR3JvdXA6IEJEcm9wZG93bkdyb3VwXG4gIH1cbn0pO1xuZXhwb3J0IHsgRHJvcGRvd25QbHVnaW4sIEJEcm9wZG93biwgQkRyb3Bkb3duSXRlbSwgQkRyb3Bkb3duSXRlbUJ1dHRvbiwgQkRyb3Bkb3duSGVhZGVyLCBCRHJvcGRvd25EaXZpZGVyLCBCRHJvcGRvd25Gb3JtLCBCRHJvcGRvd25UZXh0LCBCRHJvcGRvd25Hcm91cCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZHJvcGRvd24vaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDQwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///40\n"); + +/***/ }), +/* 41 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BvEvent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__object__ = __webpack_require__(8);\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\n\n\nvar BvEvent =\n/*#__PURE__*/\nfunction () {\n function BvEvent(type) {\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvEvent);\n\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\"Failed to construct '\".concat(this.constructor.name, \"'. 1 argument required, \").concat(arguments.length, \" given.\"));\n } // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n\n\n Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"a\" /* assign */])(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, {\n type: type\n }); // Freeze some props as readonly, but leave them enumerable\n\n Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"d\" /* defineProperties */])(this, {\n type: Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"l\" /* readonlyDescriptor */])(),\n cancelable: Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"l\" /* readonlyDescriptor */])(),\n nativeEvent: Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"l\" /* readonlyDescriptor */])(),\n target: Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"l\" /* readonlyDescriptor */])(),\n relatedTarget: Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"l\" /* readonlyDescriptor */])(),\n vueTarget: Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"l\" /* readonlyDescriptor */])(),\n componentId: Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"l\" /* readonlyDescriptor */])()\n }); // Create a private variable using closure scoping\n\n var defaultPrevented = false; // Recreate preventDefault method. One way setter\n\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true;\n }\n }; // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n\n\n Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"e\" /* defineProperty */])(this, 'defaultPrevented', {\n enumerable: true,\n get: function get() {\n return defaultPrevented;\n }\n });\n }\n\n _createClass(BvEvent, null, [{\n key: \"Defaults\",\n get: function get() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n };\n }\n }]);\n\n return BvEvent;\n}(); // Named Exports\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvYnYtZXZlbnQuY2xhc3MuanM/NDJiOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUEsaURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdkosMkNBQTJDLGdCQUFnQixrQkFBa0IsT0FBTywyQkFBMkIsd0RBQXdELGdDQUFnQyx1REFBdUQsMkRBQTJELEVBQUU7O0FBRTNULDZEQUE2RCxzRUFBc0UsOERBQThELG9CQUFvQjs7QUFFN0g7O0FBRXhGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdBLElBQUksK0RBQU07QUFDVjtBQUNBLEtBQUssRUFBRTs7QUFFUCxJQUFJLHlFQUFnQjtBQUNwQixZQUFZLDJFQUFrQjtBQUM5QixrQkFBa0IsMkVBQWtCO0FBQ3BDLG1CQUFtQiwyRUFBa0I7QUFDckMsY0FBYywyRUFBa0I7QUFDaEMscUJBQXFCLDJFQUFrQjtBQUN2QyxpQkFBaUIsMkVBQWtCO0FBQ25DLG1CQUFtQiwyRUFBa0I7QUFDckMsS0FBSyxFQUFFOztBQUVQLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBLElBQUksdUVBQWM7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQyxHQUFHIiwiZmlsZSI6IjQxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5pbXBvcnQgeyBhc3NpZ24sIGRlZmluZVByb3BlcnR5LCBkZWZpbmVQcm9wZXJ0aWVzLCByZWFkb25seURlc2NyaXB0b3IgfSBmcm9tICcuL29iamVjdCc7XG5cbnZhciBCdkV2ZW50ID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gQnZFdmVudCh0eXBlKSB7XG4gICAgdmFyIGV2ZW50SW5pdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQnZFdmVudCk7XG5cbiAgICAvLyBTdGFydCBieSBlbXVsYXRpbmcgbmF0aXZlIEV2ZW50IGNvbnN0cnVjdG9yXG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkZhaWxlZCB0byBjb25zdHJ1Y3QgJ1wiLmNvbmNhdCh0aGlzLmNvbnN0cnVjdG9yLm5hbWUsIFwiJy4gMSBhcmd1bWVudCByZXF1aXJlZCwgXCIpLmNvbmNhdChhcmd1bWVudHMubGVuZ3RoLCBcIiBnaXZlbi5cIikpO1xuICAgIH0gLy8gTWVyZ2UgZGVmYXVsdHMgZmlyc3QsIHRoZSBldmVudEluaXQsIGFuZCB0aGUgdHlwZSBsYXN0XG4gICAgLy8gc28gaXQgY2FuJ3QgYmUgb3ZlcndyaXR0ZW5cblxuXG4gICAgYXNzaWduKHRoaXMsIEJ2RXZlbnQuRGVmYXVsdHMsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdHMsIGV2ZW50SW5pdCwge1xuICAgICAgdHlwZTogdHlwZVxuICAgIH0pOyAvLyBGcmVlemUgc29tZSBwcm9wcyBhcyByZWFkb25seSwgYnV0IGxlYXZlIHRoZW0gZW51bWVyYWJsZVxuXG4gICAgZGVmaW5lUHJvcGVydGllcyh0aGlzLCB7XG4gICAgICB0eXBlOiByZWFkb25seURlc2NyaXB0b3IoKSxcbiAgICAgIGNhbmNlbGFibGU6IHJlYWRvbmx5RGVzY3JpcHRvcigpLFxuICAgICAgbmF0aXZlRXZlbnQ6IHJlYWRvbmx5RGVzY3JpcHRvcigpLFxuICAgICAgdGFyZ2V0OiByZWFkb25seURlc2NyaXB0b3IoKSxcbiAgICAgIHJlbGF0ZWRUYXJnZXQ6IHJlYWRvbmx5RGVzY3JpcHRvcigpLFxuICAgICAgdnVlVGFyZ2V0OiByZWFkb25seURlc2NyaXB0b3IoKSxcbiAgICAgIGNvbXBvbmVudElkOiByZWFkb25seURlc2NyaXB0b3IoKVxuICAgIH0pOyAvLyBDcmVhdGUgYSBwcml2YXRlIHZhcmlhYmxlIHVzaW5nIGNsb3N1cmUgc2NvcGluZ1xuXG4gICAgdmFyIGRlZmF1bHRQcmV2ZW50ZWQgPSBmYWxzZTsgLy8gUmVjcmVhdGUgcHJldmVudERlZmF1bHQgbWV0aG9kLiBPbmUgd2F5IHNldHRlclxuXG4gICAgdGhpcy5wcmV2ZW50RGVmYXVsdCA9IGZ1bmN0aW9uIHByZXZlbnREZWZhdWx0KCkge1xuICAgICAgaWYgKHRoaXMuY2FuY2VsYWJsZSkge1xuICAgICAgICBkZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9OyAvLyBDcmVhdGUgYGRlZmF1bHRQcmV2ZW50ZWRgIHB1YmxpY2x5IGFjY2Vzc2libGUgcHJvcCB0aGF0XG4gICAgLy8gY2FuIG9ubHkgYmUgYWx0ZXJlZCBieSB0aGUgcHJldmVudERlZmF1bHQgbWV0aG9kXG5cblxuICAgIGRlZmluZVByb3BlcnR5KHRoaXMsICdkZWZhdWx0UHJldmVudGVkJywge1xuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gZGVmYXVsdFByZXZlbnRlZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhCdkV2ZW50LCBudWxsLCBbe1xuICAgIGtleTogXCJEZWZhdWx0c1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJycsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIG5hdGl2ZUV2ZW50OiBudWxsLFxuICAgICAgICB0YXJnZXQ6IG51bGwsXG4gICAgICAgIHJlbGF0ZWRUYXJnZXQ6IG51bGwsXG4gICAgICAgIHZ1ZVRhcmdldDogbnVsbCxcbiAgICAgICAgY29tcG9uZW50SWQ6IG51bGxcbiAgICAgIH07XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEJ2RXZlbnQ7XG59KCk7IC8vIE5hbWVkIEV4cG9ydHNcblxuXG5leHBvcnQgeyBCdkV2ZW50IH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvYnYtZXZlbnQuY2xhc3MuanNcbi8vIG1vZHVsZSBpZCA9IDQxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///41\n"); + +/***/ }), +/* 42 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BForm; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n id: {\n type: String,\n default: null\n },\n inline: {\n type: Boolean,\n default: false\n },\n novalidate: {\n type: Boolean,\n default: false\n },\n validated: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nvar BForm =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BForm',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('form', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtL2Zvcm0uanM/MzJlZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNvQjtBQUMvQztBQUNQO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixvRkFBUztBQUM5QjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjQyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICBpZDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGlubGluZToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgbm92YWxpZGF0ZToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgdmFsaWRhdGVkOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJGb3JtID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkZvcm0nLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgcmV0dXJuIGgoJ2Zvcm0nLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgY2xhc3M6IHtcbiAgICAgICAgJ2Zvcm0taW5saW5lJzogcHJvcHMuaW5saW5lLFxuICAgICAgICAnd2FzLXZhbGlkYXRlZCc6IHByb3BzLnZhbGlkYXRlZFxuICAgICAgfSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiBwcm9wcy5pZCxcbiAgICAgICAgbm92YWxpZGF0ZTogcHJvcHMubm92YWxpZGF0ZVxuICAgICAgfVxuICAgIH0pLCBjaGlsZHJlbik7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZm9ybS9mb3JtLmpzXG4vLyBtb2R1bGUgaWQgPSA0MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///42\n"); + +/***/ }), +/* 43 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_object__ = __webpack_require__(8);\n\n\n // @vue/component\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n options: {\n type: [Array, Object],\n default: function _default() {\n return [];\n }\n },\n valueField: {\n type: String,\n default: 'value'\n },\n textField: {\n type: String,\n default: 'text'\n },\n htmlField: {\n type: String,\n default: 'html'\n },\n disabledField: {\n type: String,\n default: 'disabled'\n }\n },\n computed: {\n formOptions: function formOptions() {\n var options = this.options;\n var valueField = this.valueField;\n var textField = this.textField;\n var htmlField = this.htmlField;\n var disabledField = this.disabledField;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"a\" /* isArray */])(options)) {\n // Normalize flat-ish arrays to Array of Objects\n return options.map(function (option) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"j\" /* isPlainObject */])(option)) {\n var value = option[valueField];\n var text = String(option[textField]);\n return {\n value: Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"n\" /* isUndefined */])(value) ? text : value,\n text: Object(__WEBPACK_IMPORTED_MODULE_0__utils_html__[\"b\" /* stripTags */])(text),\n html: option[htmlField],\n disabled: Boolean(option[disabledField])\n };\n }\n\n return {\n value: option,\n text: Object(__WEBPACK_IMPORTED_MODULE_0__utils_html__[\"b\" /* stripTags */])(String(option)),\n disabled: false\n };\n });\n } else {\n // options is Object\n // Normalize Objects to Array of Objects\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_object__[\"j\" /* keys */])(options).map(function (key) {\n var option = options[key] || {};\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"j\" /* isPlainObject */])(option)) {\n var value = option[valueField];\n var text = option[textField];\n return {\n value: Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"n\" /* isUndefined */])(value) ? key : value,\n text: Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"n\" /* isUndefined */])(text) ? Object(__WEBPACK_IMPORTED_MODULE_0__utils_html__[\"b\" /* stripTags */])(String(key)) : Object(__WEBPACK_IMPORTED_MODULE_0__utils_html__[\"b\" /* stripTags */])(String(text)),\n html: option[htmlField],\n disabled: Boolean(option[disabledField])\n };\n }\n\n return {\n value: key,\n text: Object(__WEBPACK_IMPORTED_MODULE_0__utils_html__[\"b\" /* stripTags */])(String(option)),\n disabled: false\n };\n });\n }\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tb3B0aW9ucy5qcz8xNDAzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUEwQztBQUM2QjtBQUNoQzs7QUFFeEI7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsVUFBVSx1RUFBTztBQUNqQjtBQUNBO0FBQ0EsY0FBYyw2RUFBYTtBQUMzQjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsMkVBQVc7QUFDaEMsb0JBQW9CLHNFQUFTO0FBQzdCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBa0Isc0VBQVM7QUFDM0I7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBLGVBQWUsbUVBQUk7QUFDbkI7O0FBRUEsY0FBYyw2RUFBYTtBQUMzQjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsMkVBQVc7QUFDaEMsb0JBQW9CLDJFQUFXLFNBQVMsc0VBQVMsZ0JBQWdCLHNFQUFTO0FBQzFFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBa0Isc0VBQVM7QUFDM0I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjQzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3RyaXBUYWdzIH0gZnJvbSAnLi4vdXRpbHMvaHRtbCc7XG5pbXBvcnQgeyBpc0FycmF5LCBpc1BsYWluT2JqZWN0LCBpc1VuZGVmaW5lZCB9IGZyb20gJy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsga2V5cyB9IGZyb20gJy4uL3V0aWxzL29iamVjdCc7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBvcHRpb25zOiB7XG4gICAgICB0eXBlOiBbQXJyYXksIE9iamVjdF0sXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsdWVGaWVsZDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ3ZhbHVlJ1xuICAgIH0sXG4gICAgdGV4dEZpZWxkOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAndGV4dCdcbiAgICB9LFxuICAgIGh0bWxGaWVsZDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ2h0bWwnXG4gICAgfSxcbiAgICBkaXNhYmxlZEZpZWxkOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnZGlzYWJsZWQnXG4gICAgfVxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGZvcm1PcHRpb25zOiBmdW5jdGlvbiBmb3JtT3B0aW9ucygpIHtcbiAgICAgIHZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgdmFyIHZhbHVlRmllbGQgPSB0aGlzLnZhbHVlRmllbGQ7XG4gICAgICB2YXIgdGV4dEZpZWxkID0gdGhpcy50ZXh0RmllbGQ7XG4gICAgICB2YXIgaHRtbEZpZWxkID0gdGhpcy5odG1sRmllbGQ7XG4gICAgICB2YXIgZGlzYWJsZWRGaWVsZCA9IHRoaXMuZGlzYWJsZWRGaWVsZDtcblxuICAgICAgaWYgKGlzQXJyYXkob3B0aW9ucykpIHtcbiAgICAgICAgLy8gTm9ybWFsaXplIGZsYXQtaXNoIGFycmF5cyB0byBBcnJheSBvZiBPYmplY3RzXG4gICAgICAgIHJldHVybiBvcHRpb25zLm1hcChmdW5jdGlvbiAob3B0aW9uKSB7XG4gICAgICAgICAgaWYgKGlzUGxhaW5PYmplY3Qob3B0aW9uKSkge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gb3B0aW9uW3ZhbHVlRmllbGRdO1xuICAgICAgICAgICAgdmFyIHRleHQgPSBTdHJpbmcob3B0aW9uW3RleHRGaWVsZF0pO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdmFsdWU6IGlzVW5kZWZpbmVkKHZhbHVlKSA/IHRleHQgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgdGV4dDogc3RyaXBUYWdzKHRleHQpLFxuICAgICAgICAgICAgICBodG1sOiBvcHRpb25baHRtbEZpZWxkXSxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4ob3B0aW9uW2Rpc2FibGVkRmllbGRdKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IG9wdGlvbixcbiAgICAgICAgICAgIHRleHQ6IHN0cmlwVGFncyhTdHJpbmcob3B0aW9uKSksXG4gICAgICAgICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIG9wdGlvbnMgaXMgT2JqZWN0XG4gICAgICAgIC8vIE5vcm1hbGl6ZSBPYmplY3RzIHRvIEFycmF5IG9mIE9iamVjdHNcbiAgICAgICAgcmV0dXJuIGtleXMob3B0aW9ucykubWFwKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICB2YXIgb3B0aW9uID0gb3B0aW9uc1trZXldIHx8IHt9O1xuXG4gICAgICAgICAgaWYgKGlzUGxhaW5PYmplY3Qob3B0aW9uKSkge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gb3B0aW9uW3ZhbHVlRmllbGRdO1xuICAgICAgICAgICAgdmFyIHRleHQgPSBvcHRpb25bdGV4dEZpZWxkXTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBpc1VuZGVmaW5lZCh2YWx1ZSkgPyBrZXkgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgdGV4dDogaXNVbmRlZmluZWQodGV4dCkgPyBzdHJpcFRhZ3MoU3RyaW5nKGtleSkpIDogc3RyaXBUYWdzKFN0cmluZyh0ZXh0KSksXG4gICAgICAgICAgICAgIGh0bWw6IG9wdGlvbltodG1sRmllbGRdLFxuICAgICAgICAgICAgICBkaXNhYmxlZDogQm9vbGVhbihvcHRpb25bZGlzYWJsZWRGaWVsZF0pXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZToga2V5LFxuICAgICAgICAgICAgdGV4dDogc3RyaXBUYWdzKFN0cmluZyhvcHRpb24pKSxcbiAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZVxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9taXhpbnMvZm9ybS1vcHRpb25zLmpzXG4vLyBtb2R1bGUgaWQgPSA0M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///43\n"); + +/***/ }), +/* 44 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormRow; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n }\n}; // @vue/component\n\nvar BFormRow =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormRow',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'form-row'\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9sYXlvdXQvZm9ybS1yb3cuanM/ZDliOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNvQjtBQUMvQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixvRkFBUztBQUNqQztBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiNDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIHRhZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnZGl2J1xuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJGb3JtUm93ID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkZvcm1Sb3cnLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgcmV0dXJuIGgocHJvcHMudGFnLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgc3RhdGljQ2xhc3M6ICdmb3JtLXJvdydcbiAgICB9KSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2xheW91dC9mb3JtLXJvdy5qc1xuLy8gbW9kdWxlIGlkID0gNDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///44\n"); + +/***/ }), +/* 45 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return commonProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BInputGroupAddon; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__input_group_text__ = __webpack_require__(46);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\nvar commonProps = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n isText: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nvar BInputGroupAddon =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BInputGroupAddon',\n functional: true,\n props: _objectSpread({}, commonProps, {\n append: {\n type: Boolean,\n default: false\n }\n }),\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: {\n 'input-group-append': props.append,\n 'input-group-prepend': !props.append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(__WEBPACK_IMPORTED_MODULE_2__input_group_text__[\"a\" /* BInputGroupText */], children)] : children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC1hZGRvbi5qcz9kZDhmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ0Q7QUFDOUM7QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLG9GQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLLHFCQUFxQiwwRUFBZTtBQUN6QztBQUNBLENBQUMiLCJmaWxlIjoiNDUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IEJJbnB1dEdyb3VwVGV4dCB9IGZyb20gJy4vaW5wdXQtZ3JvdXAtdGV4dCc7XG5leHBvcnQgdmFyIGNvbW1vblByb3BzID0ge1xuICBpZDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIHRhZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnZGl2J1xuICB9LFxuICBpc1RleHQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQklucHV0R3JvdXBBZGRvbiA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JJbnB1dEdyb3VwQWRkb24nLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogX29iamVjdFNwcmVhZCh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICBhcHBlbmQ6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH1cbiAgfSksXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgcmV0dXJuIGgocHJvcHMudGFnLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgY2xhc3M6IHtcbiAgICAgICAgJ2lucHV0LWdyb3VwLWFwcGVuZCc6IHByb3BzLmFwcGVuZCxcbiAgICAgICAgJ2lucHV0LWdyb3VwLXByZXBlbmQnOiAhcHJvcHMuYXBwZW5kXG4gICAgICB9LFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgaWQ6IHByb3BzLmlkXG4gICAgICB9XG4gICAgfSksIHByb3BzLmlzVGV4dCA/IFtoKEJJbnB1dEdyb3VwVGV4dCwgY2hpbGRyZW4pXSA6IGNoaWxkcmVuKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC1hZGRvbi5qc1xuLy8gbW9kdWxlIGlkID0gNDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///45\n"); + +/***/ }), +/* 46 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BInputGroupText; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n }\n}; // @vue/component\n\nvar BInputGroupText =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BInputGroupText',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'input-group-text'\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC10ZXh0LmpzP2QxZTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDb0I7QUFDL0M7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isb0ZBQVM7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjQ2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2RpdidcbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCSW5wdXRHcm91cFRleHQgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCSW5wdXRHcm91cFRleHQnLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgcmV0dXJuIGgocHJvcHMudGFnLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgc3RhdGljQ2xhc3M6ICdpbnB1dC1ncm91cC10ZXh0J1xuICAgIH0pLCBjaGlsZHJlbik7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtdGV4dC5qc1xuLy8gbW9kdWxlIGlkID0gNDZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///46\n"); + +/***/ }), +/* 47 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BNav; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\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\n\n // -- Constants --\n\nvar props = {\n tag: {\n type: String,\n default: 'ul'\n },\n fill: {\n type: Boolean,\n default: false\n },\n justified: {\n type: Boolean,\n default: false\n },\n align: {\n type: String,\n default: null\n },\n tabs: {\n type: Boolean,\n default: false\n },\n pills: {\n type: Boolean,\n default: false\n },\n vertical: {\n type: Boolean,\n default: false\n },\n small: {\n type: Boolean,\n default: false\n },\n cardHeader: {\n // Set to true if placing in a card header\n type: Boolean,\n default: false\n }\n}; // -- Utils --\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n // Normalize value\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // @vue/component\n\n\nvar BNav =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BNav',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'nav',\n class: (_class = {\n 'nav-tabs': props.tabs,\n 'nav-pills': props.pills && !props.tabs,\n 'card-header-tabs': !props.vertical && props.cardHeader && props.tabs,\n 'card-header-pills': !props.vertical && props.cardHeader && props.pills && !props.tabs,\n 'flex-column': props.vertical,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(props.align), !props.vertical && props.align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXYvbmF2LmpzPzg4MmEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7O0FBRS9DO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLG9GQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjQ3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7IC8vIC0tIENvbnN0YW50cyAtLVxuXG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ3VsJ1xuICB9LFxuICBmaWxsOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBqdXN0aWZpZWQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGFsaWduOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgdGFiczoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgcGlsbHM6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIHZlcnRpY2FsOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBzbWFsbDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgY2FyZEhlYWRlcjoge1xuICAgIC8vIFNldCB0byB0cnVlIGlmIHBsYWNpbmcgaW4gYSBjYXJkIGhlYWRlclxuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfVxufTsgLy8gLS0gVXRpbHMgLS1cblxudmFyIGNvbXB1dGVKdXN0aWZ5Q29udGVudCA9IGZ1bmN0aW9uIGNvbXB1dGVKdXN0aWZ5Q29udGVudCh2YWx1ZSkge1xuICAvLyBOb3JtYWxpemUgdmFsdWVcbiAgdmFsdWUgPSB2YWx1ZSA9PT0gJ2xlZnQnID8gJ3N0YXJ0JyA6IHZhbHVlID09PSAncmlnaHQnID8gJ2VuZCcgOiB2YWx1ZTtcbiAgcmV0dXJuIFwianVzdGlmeS1jb250ZW50LVwiLmNvbmNhdCh2YWx1ZSk7XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5cbmV4cG9ydCB2YXIgQk5hdiA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JOYXYnLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgX2NsYXNzO1xuXG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHJldHVybiBoKHByb3BzLnRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnbmF2JyxcbiAgICAgIGNsYXNzOiAoX2NsYXNzID0ge1xuICAgICAgICAnbmF2LXRhYnMnOiBwcm9wcy50YWJzLFxuICAgICAgICAnbmF2LXBpbGxzJzogcHJvcHMucGlsbHMgJiYgIXByb3BzLnRhYnMsXG4gICAgICAgICdjYXJkLWhlYWRlci10YWJzJzogIXByb3BzLnZlcnRpY2FsICYmIHByb3BzLmNhcmRIZWFkZXIgJiYgcHJvcHMudGFicyxcbiAgICAgICAgJ2NhcmQtaGVhZGVyLXBpbGxzJzogIXByb3BzLnZlcnRpY2FsICYmIHByb3BzLmNhcmRIZWFkZXIgJiYgcHJvcHMucGlsbHMgJiYgIXByb3BzLnRhYnMsXG4gICAgICAgICdmbGV4LWNvbHVtbic6IHByb3BzLnZlcnRpY2FsLFxuICAgICAgICAnbmF2LWZpbGwnOiAhcHJvcHMudmVydGljYWwgJiYgcHJvcHMuZmlsbCxcbiAgICAgICAgJ25hdi1qdXN0aWZpZWQnOiAhcHJvcHMudmVydGljYWwgJiYgcHJvcHMuanVzdGlmaWVkXG4gICAgICB9LCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzLCBjb21wdXRlSnVzdGlmeUNvbnRlbnQocHJvcHMuYWxpZ24pLCAhcHJvcHMudmVydGljYWwgJiYgcHJvcHMuYWxpZ24pLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzLCBcInNtYWxsXCIsIHByb3BzLnNtYWxsKSwgX2NsYXNzKVxuICAgIH0pLCBjaGlsZHJlbik7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvbmF2L25hdi5qc1xuLy8gbW9kdWxlIGlkID0gNDdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///47\n"); + +/***/ }), +/* 48 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTfoot; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__ = __webpack_require__(5);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\nvar props = {\n footVariant: {\n type: String,\n // supported values: 'lite', 'dark', or null\n default: null\n }\n}; // @vue/component\n\nvar BTfoot =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTfoot',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n bvTable: {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: props,\n computed: {\n isTfoot: function isTfoot() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return true;\n },\n isDark: function isDark()\n /* istanbul ignore next: Not currently sniffed in tests */\n {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.dark;\n },\n isStacked: function isStacked() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isStacked;\n },\n isResponsive: function isResponsive() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isResponsive;\n },\n isStickyHeader: function isStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Sticky headers are only supported in thead\n return false;\n },\n tableVariant: function tableVariant()\n /* istanbul ignore next: Not currently sniffed in tests */\n {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.tableVariant;\n },\n tfootClasses: function tfootClasses() {\n return [this.footVariant ? \"thead-\".concat(this.footVariant) : null];\n },\n tfootAttrs: function tfootAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.$attrs);\n }\n },\n render: function render(h) {\n return h('tfoot', {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.$listeners\n }, this.normalizeSlot('default', {}));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90Zm9vdC5qcz8xZTZiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUMyQjtBQUN0RDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVyx1RUFBa0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGtDQUFrQztBQUN2QztBQUNBLENBQUMiLCJmaWxlIjoiNDguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICBmb290VmFyaWFudDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICAvLyBzdXBwb3J0ZWQgdmFsdWVzOiAnbGl0ZScsICdkYXJrJywgb3IgbnVsbFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVGZvb3QgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCVGZvb3QnLFxuICBtaXhpbnM6IFtub3JtYWxpemVTbG90TWl4aW5dLFxuICBpbmhlcml0QXR0cnM6IGZhbHNlLFxuICBwcm92aWRlOiBmdW5jdGlvbiBwcm92aWRlKCkge1xuICAgIHJldHVybiB7XG4gICAgICBidlRhYmxlUm93R3JvdXA6IHRoaXNcbiAgICB9O1xuICB9LFxuICBpbmplY3Q6IHtcbiAgICBidlRhYmxlOiB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRyPiAvIDxiLXRkPiAvIDxiLXRoPlxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgcHJvcHM6IHByb3BzLFxuICBjb21wdXRlZDoge1xuICAgIGlzVGZvb3Q6IGZ1bmN0aW9uIGlzVGZvb3QoKSB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRyPiAvIDxiLXRkPiAvIDxiLXRoPlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBpc0Rhcms6IGZ1bmN0aW9uIGlzRGFyaygpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IE5vdCBjdXJyZW50bHkgc25pZmZlZCBpbiB0ZXN0cyAqL1xuICAgIHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgPGItdHI+IC8gPGItdGQ+IC8gPGItdGg+XG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlLmRhcms7XG4gICAgfSxcbiAgICBpc1N0YWNrZWQ6IGZ1bmN0aW9uIGlzU3RhY2tlZCgpIHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgPGItdHI+IC8gPGItdGQ+IC8gPGItdGg+XG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlLmlzU3RhY2tlZDtcbiAgICB9LFxuICAgIGlzUmVzcG9uc2l2ZTogZnVuY3Rpb24gaXNSZXNwb25zaXZlKCkge1xuICAgICAgLy8gU25pZmZlZCBieSA8Yi10cj4gLyA8Yi10ZD4gLyA8Yi10aD5cbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGUuaXNSZXNwb25zaXZlO1xuICAgIH0sXG4gICAgaXNTdGlja3lIZWFkZXI6IGZ1bmN0aW9uIGlzU3RpY2t5SGVhZGVyKCkge1xuICAgICAgLy8gU25pZmZlZCBieSA8Yi10cj4gLyA8Yi10ZD4gLyA8Yi10aD5cbiAgICAgIC8vIFN0aWNreSBoZWFkZXJzIGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB0aGVhZFxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgdGFibGVWYXJpYW50OiBmdW5jdGlvbiB0YWJsZVZhcmlhbnQoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBOb3QgY3VycmVudGx5IHNuaWZmZWQgaW4gdGVzdHMgKi9cbiAgICB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRyPiAvIDxiLXRkPiAvIDxiLXRoPlxuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZS50YWJsZVZhcmlhbnQ7XG4gICAgfSxcbiAgICB0Zm9vdENsYXNzZXM6IGZ1bmN0aW9uIHRmb290Q2xhc3NlcygpIHtcbiAgICAgIHJldHVybiBbdGhpcy5mb290VmFyaWFudCA/IFwidGhlYWQtXCIuY29uY2F0KHRoaXMuZm9vdFZhcmlhbnQpIDogbnVsbF07XG4gICAgfSxcbiAgICB0Zm9vdEF0dHJzOiBmdW5jdGlvbiB0Zm9vdEF0dHJzKCkge1xuICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgICAgICByb2xlOiAncm93Z3JvdXAnXG4gICAgICB9LCB0aGlzLiRhdHRycyk7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgcmV0dXJuIGgoJ3Rmb290Jywge1xuICAgICAgY2xhc3M6IHRoaXMudGZvb3RDbGFzc2VzLFxuICAgICAgYXR0cnM6IHRoaXMudGZvb3RBdHRycyxcbiAgICAgIC8vIFBhc3MgZG93biBhbnkgbmF0aXZlIGxpc3RlbmVyc1xuICAgICAgb246IHRoaXMuJGxpc3RlbmVyc1xuICAgIH0sIHRoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcsIHt9KSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvdGZvb3QuanNcbi8vIG1vZHVsZSBpZCA9IDQ4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///48\n"); + +/***/ }), +/* 49 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTh; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__td__ = __webpack_require__(28);\n\n // @vue/component\n\nvar BTh =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTh',\n extends: __WEBPACK_IMPORTED_MODULE_1__td__[\"a\" /* BTd */],\n computed: {\n tag: function tag() {\n return 'th';\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90aC5qcz9mNTZiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNQOztBQUVwQjtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsZ0RBQUc7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiI0OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IEJUZCB9IGZyb20gJy4vdGQnOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJUaCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JUaCcsXG4gIGV4dGVuZHM6IEJUZCxcbiAgY29tcHV0ZWQ6IHtcbiAgICB0YWc6IGZ1bmN0aW9uIHRhZygpIHtcbiAgICAgIHJldHVybiAndGgnO1xuICAgIH1cbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90aC5qc1xuLy8gbW9kdWxlIGlkID0gNDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///49\n"); + +/***/ }), +/* 50 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* WEBPACK VAR INJECTION */(function(process, global, setImmediate) {/*!\n * Vue.js v2.6.10\n * (c) 2014-2019 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 * Generate a string containing static keys from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\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)$/;\n\nfunction assertType (value, type) {\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 valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\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(/^\\s*function (\\w+)/);\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 var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\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\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.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 // Techinically 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\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/* 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,' +\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\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a speical value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack becaues all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.10';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isPreTag = function (tag) { return tag === 'pre'; };\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes(parentElm, [oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\n\n\n/* eslint-disable no-unused-vars */\nfunction baseWarn (msg, range) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n/* eslint-enable no-unused-vars */\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value, range, dynamic) {\n (el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n}\n\nfunction addAttr (el, name, value, range, dynamic) {\n var attrs = dynamic\n ? (el.dynamicAttrs || (el.dynamicAttrs = []))\n : (el.attrs || (el.attrs = []));\n attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value, range) {\n el.attrsMap[name] = value;\n el.attrsList.push(rangeSetItem({ name: name, value: value }, range));\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n isDynamicArg,\n modifiers,\n range\n) {\n (el.directives || (el.directives = [])).push(rangeSetItem({\n name: name,\n rawName: rawName,\n value: value,\n arg: arg,\n isDynamicArg: isDynamicArg,\n modifiers: modifiers\n }, range));\n el.plain = false;\n}\n\nfunction prependModifierMarker (symbol, name, dynamic) {\n return dynamic\n ? (\"_p(\" + name + \",\\\"\" + symbol + \"\\\")\")\n : symbol + name // mark the event as captured\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn,\n range,\n dynamic\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n process.env.NODE_ENV !== 'production' && warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.',\n range\n );\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (modifiers.right) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'contextmenu':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'contextmenu';\n delete modifiers.right;\n }\n } else if (modifiers.middle) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'mouseup':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'mouseup';\n }\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = prependModifierMarker('!', name, dynamic);\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = prependModifierMarker('~', name, dynamic);\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = prependModifierMarker('&', name, dynamic);\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range);\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getRawBindingAttr (\n el,\n name\n) {\n return el.rawAttrsMap[':' + name] ||\n el.rawAttrsMap['v-bind:' + name] ||\n el.rawAttrsMap[name]\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\nfunction getAndRemoveAttrByRegex (\n el,\n name\n) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n var attr = list[i];\n if (name.test(attr.name)) {\n list.splice(i, 1);\n return attr\n }\n }\n}\n\nfunction rangeSetItem (\n item,\n range\n) {\n if (range) {\n if (range.start != null) {\n item.start = range.start;\n }\n if (range.end != null) {\n item.end = range.end;\n }\n }\n return item\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: JSON.stringify(value),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len, str, chr, index$1, expressionPos, expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (process.env.NODE_ENV !== 'production') {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (process.env.NODE_ENV !== 'production') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.',\n el.rawAttrsMap['v-model']\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (process.env.NODE_ENV !== 'production') {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally',\n el.rawAttrsMap[binding]\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecesarry `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (process.env.NODE_ENV !== 'production' && staticClass) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.',\n el.rawAttrsMap['class']\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n};\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.',\n el.rawAttrsMap['style']\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n};\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n};\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nvar dynamicArgAttribute = /^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^=]+\\][^\\s\"'<>\\/=]*)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nvar ncname = \"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\" + (unicodeRegExp.source) + \"]*\";\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '<': '<',\n '>': '>',\n '"': '\"',\n '&': '&',\n ' ': '\\n',\n '	': '\\t',\n ''': \"'\"\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n }\n\n if (text) {\n advance(text.length);\n }\n\n if (options.chars && text) {\n options.chars(text, index - text.length, index);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"), { start: index + html.length });\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) {\n attr.start = index;\n advance(attr[0].length);\n attr.end = index;\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n attrs[i].start = args.start + args[0].match(/^\\s*/).length;\n attrs[i].end = args.end;\n }\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (process.env.NODE_ENV !== 'production' &&\n (i > pos || !tagName) &&\n options.warn\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\"),\n { start: stack[i].start, end: stack[i].end }\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:/;\nvar forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\nvar dynamicArgRE = /^\\[.*\\]$/;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^\\.|^v-bind:/;\nvar modifierRE = /\\.[^.\\]]+(?=[^\\]]*$)/g;\n\nvar slotRE = /^v-slot(:|$)|^#/;\n\nvar lineBreakRE = /[\\r\\n]/;\nvar whitespaceRE$1 = /\\s+/g;\n\nvar invalidAttributeRE = /[\\s\"'<>\\/=]/;\n\nvar decodeHTMLCached = cached(he.decode);\n\nvar emptySlotScopeToken = \"_empty_\";\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\nvar maybeComponent;\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n rawAttrsMap: {},\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n var isReservedTag = options.isReservedTag || no;\n maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var whitespaceOption = options.whitespace;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg, range) {\n if (!warned) {\n warned = true;\n warn$2(msg, range);\n }\n }\n\n function closeElement (element) {\n trimEndingWhitespace(element);\n if (!inVPre && !element.processed) {\n element = processElement(element, options);\n }\n // tree management\n if (!stack.length && element !== root) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n if (process.env.NODE_ENV !== 'production') {\n checkRootConstraints(element);\n }\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\",\n { start: element.start }\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else {\n if (element.slotScope) {\n // scoped slot\n // keep it in the children list so that v-else(-if) conditions can\n // find it as the prev node.\n var name = element.slotTarget || '\"default\"'\n ;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n }\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n\n // final children cleanup\n // filter out scoped slots\n element.children = element.children.filter(function (c) { return !(c).slotScope; });\n // remove trailing whitespace node again\n trimEndingWhitespace(element);\n\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n function trimEndingWhitespace (el) {\n // remove trailing whitespace node\n if (!inPre) {\n var lastNode;\n while (\n (lastNode = el.children[el.children.length - 1]) &&\n lastNode.type === 3 &&\n lastNode.text === ' '\n ) {\n el.children.pop();\n }\n }\n }\n\n function checkRootConstraints (el) {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.',\n { start: el.start }\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.',\n el.rawAttrsMap['v-for']\n );\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n outputSourceRange: options.outputSourceRange,\n start: function start (tag, attrs, unary, start$1, end) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (options.outputSourceRange) {\n element.start = start$1;\n element.end = end;\n element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) {\n cumulated[attr.name] = attr;\n return cumulated\n }, {});\n }\n attrs.forEach(function (attr) {\n if (invalidAttributeRE.test(attr.name)) {\n warn$2(\n \"Invalid dynamic argument expression: attribute names cannot contain \" +\n \"spaces, quotes, <, >, / or =.\",\n {\n start: attr.start + attr.name.indexOf(\"[\"),\n end: attr.start + attr.name.length\n }\n );\n }\n });\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n process.env.NODE_ENV !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.',\n { start: element.start }\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n }\n\n if (!root) {\n root = element;\n if (process.env.NODE_ENV !== 'production') {\n checkRootConstraints(root);\n }\n }\n\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end (tag, start, end$1) {\n var element = stack[stack.length - 1];\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n element.end = end$1;\n }\n closeElement(element);\n },\n\n chars: function chars (text, start, end) {\n if (!currentParent) {\n if (process.env.NODE_ENV !== 'production') {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.',\n { start: start }\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\"),\n { start: start }\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n if (inPre || text.trim()) {\n text = isTextTag(currentParent) ? text : decodeHTMLCached(text);\n } else if (!children.length) {\n // remove the whitespace-only node right after an opening tag\n text = '';\n } else if (whitespaceOption) {\n if (whitespaceOption === 'condense') {\n // in condense mode, remove the whitespace node if it contains\n // line break, otherwise condense to a single space\n text = lineBreakRE.test(text) ? '' : ' ';\n } else {\n text = ' ';\n }\n } else {\n text = preserveWhitespace ? ' ' : '';\n }\n if (text) {\n if (!inPre && whitespaceOption === 'condense') {\n // condense consecutive whitespaces into single space\n text = text.replace(whitespaceRE$1, ' ');\n }\n var res;\n var child;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n child = {\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n };\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n child = {\n type: 3,\n text: text\n };\n }\n if (child) {\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n children.push(child);\n }\n }\n },\n comment: function comment (text, start, end) {\n // adding anyting as a sibling to the root node is forbidden\n // comments should still be allowed, but ignored\n if (currentParent) {\n var child = {\n type: 3,\n text: text,\n isComment: true\n };\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n currentParent.children.push(child);\n }\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var list = el.attrsList;\n var len = list.length;\n if (len) {\n var attrs = el.attrs = new Array(len);\n for (var i = 0; i < len; i++) {\n attrs[i] = {\n name: list[i].name,\n value: JSON.stringify(list[i].value)\n };\n if (list[i].start != null) {\n attrs[i].start = list[i].start;\n attrs[i].end = list[i].end;\n }\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (\n element,\n options\n) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = (\n !element.key &&\n !element.scopedSlots &&\n !element.attrsList.length\n );\n\n processRef(element);\n processSlotContent(element);\n processSlotOutlet(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n return element\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.tag === 'template') {\n warn$2(\n \"<template> cannot be keyed. Place the key on real elements instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n if (el.for) {\n var iterator = el.iterator2 || el.iterator1;\n var parent = el.parent;\n if (iterator && iterator === exp && parent && parent.tag === 'transition-group') {\n warn$2(\n \"Do not use v-for index as key on <transition-group> children, \" +\n \"this is the same as not using keys.\",\n getRawBindingAttr(el, 'key'),\n true /* tip */\n );\n }\n }\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n (\"Invalid v-for expression: \" + exp),\n el.rawAttrsMap['v-for']\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '').trim();\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\",\n el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\",\n children[i]\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\n// handle content being passed to a component as slot,\n// e.g. <template slot=\"xxx\">, <div slot-scope=\"xxx\">\nfunction processSlotContent (el) {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && slotScope) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n el.rawAttrsMap['scope'],\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n el.rawAttrsMap['slot-scope'],\n true\n );\n }\n el.slotScope = slotScope;\n }\n\n // slot=\"xxx\"\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']);\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot'));\n }\n }\n\n // 2.6 v-slot syntax\n {\n if (el.tag === 'template') {\n // v-slot on <template>\n var slotBinding = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.slotTarget || el.slotScope) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.parent && !maybeComponent(el.parent)) {\n warn$2(\n \"<template v-slot> can only appear at the root level inside \" +\n \"the receiving the component\",\n el\n );\n }\n }\n var ref = getSlotName(slotBinding);\n var name = ref.name;\n var dynamic = ref.dynamic;\n el.slotTarget = name;\n el.slotTargetDynamic = dynamic;\n el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf\n }\n } else {\n // v-slot on component, denotes default slot\n var slotBinding$1 = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding$1) {\n if (process.env.NODE_ENV !== 'production') {\n if (!maybeComponent(el)) {\n warn$2(\n \"v-slot can only be used on components or <template>.\",\n slotBinding$1\n );\n }\n if (el.slotScope || el.slotTarget) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.scopedSlots) {\n warn$2(\n \"To avoid scope ambiguity, the default slot should also use \" +\n \"<template> syntax when there are other named slots.\",\n slotBinding$1\n );\n }\n }\n // add the component's children to its default slot\n var slots = el.scopedSlots || (el.scopedSlots = {});\n var ref$1 = getSlotName(slotBinding$1);\n var name$1 = ref$1.name;\n var dynamic$1 = ref$1.dynamic;\n var slotContainer = slots[name$1] = createASTElement('template', [], el);\n slotContainer.slotTarget = name$1;\n slotContainer.slotTargetDynamic = dynamic$1;\n slotContainer.children = el.children.filter(function (c) {\n if (!c.slotScope) {\n c.parent = slotContainer;\n return true\n }\n });\n slotContainer.slotScope = slotBinding$1.value || emptySlotScopeToken;\n // remove children as they are returned from scopedSlots now\n el.children = [];\n // mark el non-plain so data gets generated\n el.plain = false;\n }\n }\n }\n}\n\nfunction getSlotName (binding) {\n var name = binding.name.replace(slotRE, '');\n if (!name) {\n if (binding.name[0] !== '#') {\n name = 'default';\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-slot shorthand syntax requires a slot name.\",\n binding\n );\n }\n }\n return dynamicArgRE.test(name)\n // dynamic [name]\n ? { name: name.slice(1, -1), dynamic: true }\n // static name\n : { name: (\"\\\"\" + name + \"\\\"\"), dynamic: false }\n}\n\n// handle <slot/> outlets\nfunction processSlotOutlet (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (process.env.NODE_ENV !== 'production' && el.key) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, syncGen, isDynamic;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name.replace(dirRE, ''));\n // support .foo shorthand syntax for the .prop modifier\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n value.trim().length === 0\n ) {\n warn$2(\n (\"The value for a v-bind expression cannot be empty. Found in \\\"v-bind:\" + name + \"\\\"\")\n );\n }\n if (modifiers) {\n if (modifiers.prop && !isDynamic) {\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel && !isDynamic) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n syncGen = genAssignmentCode(value, \"$event\");\n if (!isDynamic) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n if (hyphenate(name) !== camelize(name)) {\n addHandler(\n el,\n (\"update:\" + (hyphenate(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n }\n } else {\n // handler w/ dynamic event name\n addHandler(\n el,\n (\"\\\"update:\\\"+(\" + name + \")\"),\n syncGen,\n null,\n false,\n warn$2,\n list[i],\n true // dynamic\n );\n }\n }\n }\n if ((modifiers && modifiers.prop) || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value, list[i], isDynamic);\n } else {\n addAttr(el, name, value, list[i], isDynamic);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n addHandler(el, name, value, modifiers, false, warn$2, list[i], isDynamic);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n isDynamic = false;\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n if (dynamicArgRE.test(arg)) {\n arg = arg.slice(1, -1);\n isDynamic = true;\n }\n }\n addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]);\n if (process.env.NODE_ENV !== 'production' && name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.',\n list[i]\n );\n }\n }\n addAttr(el, name, JSON.stringify(value), list[i]);\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true', list[i]);\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n process.env.NODE_ENV !== 'production' &&\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$1 = {\n preTransformNode: preTransformNode\n};\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$1\n];\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n};\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*(?:[\\w$]+)?\\s*\\(/;\nvar fnInvokeRE = /\\([^)]*?\\);*$/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n // #7880: IE11 and Edge use `Esc` for Escape key name.\n esc: ['Esc', 'Escape'],\n tab: 'Tab',\n enter: 'Enter',\n // #9112: IE11 uses `Spacebar` for Space key name.\n space: [' ', 'Spacebar'],\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n // #9112: IE11 uses `Del` for Delete key name.\n 'delete': ['Backspace', 'Delete', 'Del']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative\n) {\n var prefix = isNative ? 'nativeOn:' : 'on:';\n var staticHandlers = \"\";\n var dynamicHandlers = \"\";\n for (var name in events) {\n var handlerCode = genHandler(events[name]);\n if (events[name] && events[name].dynamic) {\n dynamicHandlers += name + \",\" + handlerCode + \",\";\n } else {\n staticHandlers += \"\\\"\" + name + \"\\\":\" + handlerCode + \",\";\n }\n }\n staticHandlers = \"{\" + (staticHandlers.slice(0, -1)) + \"}\";\n if (dynamicHandlers) {\n return prefix + \"_d(\" + staticHandlers + \",[\" + (dynamicHandlers.slice(0, -1)) + \"])\"\n } else {\n return prefix + staticHandlers\n }\n}\n\nfunction genHandler (handler) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n return (\"function($event){\" + (isFunctionInvocation ? (\"return \" + (handler.value)) : handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : isFunctionInvocation\n ? (\"return \" + (handler.value))\n : handler.value;\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\n // make sure the key filters only apply to KeyboardEvents\n // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake\n // key events that do not have keyCode property...\n \"if(!$event.type.indexOf('key')&&\" +\n (keys.map(genFilterCode).join('&&')) + \")return null;\"\n )\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (process.env.NODE_ENV !== 'production' && dir.modifiers) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n};\n\n/* */\n\n\n\n\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n this.pre = false;\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.parent) {\n el.pre = el.pre || el.parent.pre;\n }\n\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget && !state.pre) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data;\n if (!el.plain || (el.pre && state.maybeComponent(el))) {\n data = genData$2(el, state);\n }\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n // Some elements (templates) need to behave differently inside of a v-pre\n // node. All pre nodes are static roots, so we can use this as a location to\n // wrap a state change and reset it upon exiting the pre node.\n var originalPreState = state.pre;\n if (el.pre) {\n state.pre = el.pre;\n }\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n state.pre = originalPreState;\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n process.env.NODE_ENV !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \",\n el.rawAttrsMap['v-once']\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (process.env.NODE_ENV !== 'production' &&\n state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n el.rawAttrsMap['v-for'],\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:\" + (genProps(el.attrs)) + \",\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:\" + (genProps(el.props)) + \",\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el, el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind dynamic argument wrap\n // v-bind with dynamic arguments must be applied using the same v-bind object\n // merge helper so that class/style/mustUseProp attrs are handled correctly.\n if (el.dynamicAttrs) {\n data = \"_b(\" + data + \",\\\"\" + (el.tag) + \"\\\",\" + (genProps(el.dynamicAttrs)) + \")\";\n }\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\" + (dir.isDynamicArg ? dir.arg : (\"\\\"\" + (dir.arg) + \"\\\"\"))) : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (process.env.NODE_ENV !== 'production' && (\n el.children.length !== 1 || ast.type !== 1\n )) {\n state.warn(\n 'Inline-template components must have exactly one child element.',\n { start: el.start }\n );\n }\n if (ast && ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n el,\n slots,\n state\n) {\n // by default scoped slots are considered \"stable\", this allows child\n // components with only scoped slots to skip forced updates from parent.\n // but in some cases we have to bail-out of this optimization\n // for example if the slot contains dynamic names, has v-if or v-for on them...\n var needsForceUpdate = el.for || Object.keys(slots).some(function (key) {\n var slot = slots[key];\n return (\n slot.slotTargetDynamic ||\n slot.if ||\n slot.for ||\n containsSlotChild(slot) // is passing down slot from parent which may be dynamic\n )\n });\n\n // #9534: if a component with scoped slots is inside a conditional branch,\n // it's possible for the same component to be reused but with different\n // compiled slot content. To avoid that, we generate a unique key based on\n // the generated code of all the slot contents.\n var needsKey = !!el.if;\n\n // OR when it is inside another scoped slot or v-for (the reactivity may be\n // disconnected due to the intermediate scope variable)\n // #9438, #9506\n // TODO: this can be further optimized by properly analyzing in-scope bindings\n // and skip force updating ones that do not actually use scope variables.\n if (!needsForceUpdate) {\n var parent = el.parent;\n while (parent) {\n if (\n (parent.slotScope && parent.slotScope !== emptySlotScopeToken) ||\n parent.for\n ) {\n needsForceUpdate = true;\n break\n }\n if (parent.if) {\n needsKey = true;\n }\n parent = parent.parent;\n }\n }\n\n var generatedSlots = Object.keys(slots)\n .map(function (key) { return genScopedSlot(slots[key], state); })\n .join(',');\n\n return (\"scopedSlots:_u([\" + generatedSlots + \"]\" + (needsForceUpdate ? \",null,true\" : \"\") + (!needsForceUpdate && needsKey ? (\",null,false,\" + (hash(generatedSlots))) : \"\") + \")\")\n}\n\nfunction hash(str) {\n var hash = 5381;\n var i = str.length;\n while(i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n return hash >>> 0\n}\n\nfunction containsSlotChild (el) {\n if (el.type === 1) {\n if (el.tag === 'slot') {\n return true\n }\n return el.children.some(containsSlotChild)\n }\n return false\n}\n\nfunction genScopedSlot (\n el,\n state\n) {\n var isLegacySyntax = el.attrsMap['slot-scope'];\n if (el.if && !el.ifProcessed && !isLegacySyntax) {\n return genIf(el, state, genScopedSlot, \"null\")\n }\n if (el.for && !el.forProcessed) {\n return genFor(el, state, genScopedSlot)\n }\n var slotScope = el.slotScope === emptySlotScopeToken\n ? \"\"\n : String(el.slotScope);\n var fn = \"function(\" + slotScope + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if && isLegacySyntax\n ? (\"(\" + (el.if) + \")?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n // reverse proxy v-slot without scope on this.$slots\n var reverseProxy = slotScope ? \"\" : \",proxy:true\";\n return (\"{key:\" + (el.slotTarget || \"\\\"default\\\"\") + \",fn:\" + fn + reverseProxy + \"}\")\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n var normalizationType = checkSkip\n ? state.maybeComponent(el$1) ? \",1\" : \",0\"\n : \"\";\n return (\"\" + ((altGenElement || genElement)(el$1, state)) + normalizationType)\n }\n var normalizationType$1 = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType$1 ? (\",\" + normalizationType$1) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } else if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs || el.dynamicAttrs\n ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({\n // slot props are camelized\n name: camelize(attr.name),\n value: attr.value,\n dynamic: attr.dynamic\n }); }))\n : null;\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var staticProps = \"\";\n var dynamicProps = \"\";\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n var value = transformSpecialNewlines(prop.value);\n if (prop.dynamic) {\n dynamicProps += (prop.name) + \",\" + value + \",\";\n } else {\n staticProps += \"\\\"\" + (prop.name) + \"\\\":\" + value + \",\";\n }\n }\n staticProps = \"{\" + (staticProps.slice(0, -1)) + \"}\";\n if (dynamicProps) {\n return (\"_d(\" + staticProps + \",[\" + (dynamicProps.slice(0, -1)) + \"])\")\n } else {\n return staticProps\n }\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast, warn) {\n if (ast) {\n checkNode(ast, warn);\n }\n}\n\nfunction checkNode (node, warn) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n var range = node.rawAttrsMap[name];\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), warn, range);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], warn);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, warn, node);\n }\n}\n\nfunction checkEvent (exp, text, warn, range) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n warn(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim()),\n range\n );\n }\n checkExpression(exp, text, warn, range);\n}\n\nfunction checkFor (node, text, warn, range) {\n checkExpression(node.for || '', text, warn, range);\n checkIdentifier(node.alias, 'v-for alias', text, warn, range);\n checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);\n checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n warn,\n range\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n warn((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())), range);\n }\n }\n}\n\nfunction checkExpression (exp, text, warn, range) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n warn(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim()),\n range\n );\n } else {\n warn(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\",\n range\n );\n }\n }\n}\n\n/* */\n\nvar range = 2;\n\nfunction generateCodeFrame (\n source,\n start,\n end\n) {\n if ( start === void 0 ) start = 0;\n if ( end === void 0 ) end = source.length;\n\n var lines = source.split(/\\r?\\n/);\n var count = 0;\n var res = [];\n for (var i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (var j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) { continue }\n res.push((\"\" + (j + 1) + (repeat$1(\" \", 3 - String(j + 1).length)) + \"| \" + (lines[j])));\n var lineLength = lines[j].length;\n if (j === i) {\n // push underline\n var pad = start - (count - lineLength) + 1;\n var length = end > count ? lineLength - pad : end - start;\n res.push(\" | \" + repeat$1(\" \", pad) + repeat$1(\"^\", length));\n } else if (j > i) {\n if (end > count) {\n var length$1 = Math.min(end - count, lineLength);\n res.push(\" | \" + repeat$1(\"^\", length$1));\n }\n count += lineLength + 1;\n }\n }\n break\n }\n }\n return res.join('\\n')\n}\n\nfunction repeat$1 (str, n) {\n var result = '';\n if (n > 0) {\n while (true) { // eslint-disable-line\n if (n & 1) { result += str; }\n n >>>= 1;\n if (n <= 0) { break }\n str += str;\n }\n }\n return result\n}\n\n/* */\n\n\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (process.env.NODE_ENV !== 'production') {\n if (compiled.errors && compiled.errors.length) {\n if (options.outputSourceRange) {\n compiled.errors.forEach(function (e) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + (e.msg) + \"\\n\\n\" +\n generateCodeFrame(template, e.start, e.end),\n vm\n );\n });\n } else {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n }\n if (compiled.tips && compiled.tips.length) {\n if (options.outputSourceRange) {\n compiled.tips.forEach(function (e) { return tip(e.msg, vm); });\n } else {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n\n var warn = function (msg, range, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n // $flow-disable-line\n var leadingSpaceLength = template.match(/^\\s*/)[0].length;\n\n warn = function (msg, range, tip) {\n var data = { msg: msg };\n if (range) {\n if (range.start != null) {\n data.start = range.start + leadingSpaceLength;\n }\n if (range.end != null) {\n data.end = range.end + leadingSpaceLength;\n }\n }\n (tip ? tips : errors).push(data);\n };\n }\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n finalOptions.warn = warn;\n\n var compiled = baseCompile(template.trim(), finalOptions);\n if (process.env.NODE_ENV !== 'production') {\n detectErrors(compiled.ast, warn);\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compile = ref$1.compile;\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf(' ') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n outputSourceRange: process.env.NODE_ENV !== 'production',\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Vue);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(51), __webpack_require__(25), __webpack_require__(224).setImmediate))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlL2Rpc3QvdnVlLmVzbS5qcz9lZmViIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsaUJBQWlCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwrQkFBK0I7QUFDckQsc0JBQXNCLGlCQUFpQjtBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRCxpQ0FBaUMsRUFBRTtBQUNyRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGdCQUFnQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixjQUFjOztBQUUzQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsVUFBVTs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGdCQUFnQjtBQUNqQyxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIscUJBQXFCO0FBQ3hDLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUI7O0FBRXJCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRztBQUNSO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDLHVDQUF1Qyx3QkFBd0IsRUFBRTtBQUNqRSwwQkFBMEI7O0FBRTFCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFlBQVk7QUFDcEMsa0JBQWtCLFlBQVk7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0Esd0NBQXdDLEVBQUU7QUFDMUM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0Isb0JBQW9CLEVBQUU7QUFDckQ7QUFDQSxrQ0FBa0MsT0FBTztBQUN6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsU0FBUyxxQkFBcUI7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsMkJBQTJCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVEOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixpQkFBaUI7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLE9BQU87QUFDMUM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsT0FBTztBQUN6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELE9BQU87QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGlCQUFpQixpQkFBaUI7QUFDbEM7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixrQkFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLHVCQUF1QjtBQUN6RCxpQ0FBaUMsc0JBQXNCO0FBQ3ZEO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0EsaUJBQWlCLHVCQUF1QjtBQUN4QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFtQjtBQUN0QywrQkFBK0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLFlBQVk7QUFDOUIsV0FBVztBQUNYO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLE9BQU87QUFDckQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBLG9DQUFvQztBQUNwQztBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLDJCQUEyQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxTQUFTO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZDQUE2QyxxQ0FBcUMsRUFBRTtBQUNwRjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsb0NBQW9DLHlDQUF5QyxFQUFFO0FBQy9FOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLGtCQUFrQjtBQUMzQztBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixzREFBc0QsRUFBRTtBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsbUJBQW1CO0FBQ3BDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isa0JBQWtCO0FBQ2xDO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQix1QkFBdUI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsaUNBQWlDO0FBQ25FLGNBQWMsNkJBQTZCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxpQ0FBaUM7QUFDbkUsY0FBYyw2QkFBNkI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHlCQUF5QjtBQUMxQyxHQUFHO0FBQ0g7QUFDQTtBQUNBLGlCQUFpQiwrQkFBK0I7QUFDaEQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLG1CQUFtQjtBQUN4QztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixxQkFBcUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEscUJBQXFCO0FBQ2xDO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixpQkFBaUI7QUFDcEM7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLE9BQU87QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtFQUFrRTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNCQUFzQixtQkFBbUI7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsT0FBTztBQUN0QztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0Esa0NBQWtDLE9BQU87QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEMsZUFBZTtBQUMzRCxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0Esa0RBQWtEO0FBQ2xELDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixpQkFBaUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsNENBQTRDO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQixpQkFBaUIsZ0JBQWdCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxpQkFBaUIsbUJBQW1CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHFDQUFxQyxnRUFBZ0U7QUFDckc7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILDRCQUE0QiwrQkFBK0I7QUFDM0QsNEJBQTRCLCtCQUErQjtBQUMzRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxtQkFBbUIsbUJBQW1CO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLHVGQUF1RjtBQUM1RjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBDQUEwQztBQUMxQyxpQkFBaUIseUJBQXlCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLCtCQUErQjtBQUNsQyxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsb0JBQW9CLG9CQUFvQjtBQUN4QyxzQkFBc0IsNEJBQTRCO0FBQ2xEO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLE9BQU87QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QjtBQUNBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw2Q0FBNkM7QUFDOUU7QUFDQTtBQUNBLDZDQUE2Qyw0Q0FBNEM7O0FBRXpGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEtBQUssMkNBQTJDLDhCQUE4QixFQUFFOztBQUVoRjtBQUNBLHdDQUF3QyxPQUFPO0FBQy9DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxtQkFBbUIscUJBQXFCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLE9BQU87QUFDOUM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLFNBQVM7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsT0FBTztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQkFBMEI7O0FBRTFCLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHFCQUFxQjtBQUN4QztBQUNBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQix5QkFBeUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIseUJBQXlCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLE9BQU87QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsMEJBQTBCO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixvQkFBb0IsRUFBRTs7QUFFcEQ7QUFDQTtBQUNBLGlCQUFpQixzQkFBc0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQixrQkFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7QUFJQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsMkJBQTJCO0FBQzlDLHFCQUFxQiwrQkFBK0I7QUFDcEQ7QUFDQTtBQUNBLEdBQUc7QUFDSCx5QkFBeUI7QUFDekI7QUFDQSxzQkFBc0IsaUNBQWlDO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLDhCQUE4Qjs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsb0JBQW9CO0FBQ3pDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0Esb0JBQW9CO0FBQ3BCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsZUFBZTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRUFBc0U7QUFDdEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBOzs7O0FBSUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0EsMENBQTBDLDJCQUEyQixFQUFFO0FBQ3ZFLEtBQUs7QUFDTDtBQUNBLDBDQUEwQyw0QkFBNEIsRUFBRTtBQUN4RSxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLGVBQWU7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsT0FBTztBQUMxQztBQUNBLGdCQUFnQixZQUFZO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsWUFBWTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsK0JBQStCLHNCQUFzQjs7QUFFckQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsYUFBYTtBQUNqQztBQUNBLHFCQUFxQixjQUFjO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxhQUFhLGtCQUFrQjtBQUMvQjtBQUNBLGVBQWUsb0JBQW9CO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQix5QkFBeUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIscUJBQXFCO0FBQzFDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQix5QkFBeUI7QUFDOUM7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBLDRCQUE0Qiw0QkFBNEI7QUFDeEQsNEJBQTRCLGdDQUFnQztBQUM1RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVLG9CQUFvQjtBQUM5QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsVUFBVTtBQUNuRSxpQkFBaUIsd0JBQXdCLE9BQU8sdUJBQXVCO0FBQ3ZFO0FBQ0E7QUFDQSxpQkFBaUIsMkJBQTJCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVSxvQkFBb0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsT0FBTztBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsdUJBQXVCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTyxrREFBa0Q7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLGtEQUFrRDtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxtQ0FBbUMsZ0VBQWdFO0FBQ25HO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLHFCQUFxQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1QkFBdUIsU0FBUztBQUNoQztBQUNBLDJDQUEyQztBQUMzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix1QkFBdUIsT0FBTyxnQ0FBZ0M7QUFDL0Usd0RBQXdELG9CQUFvQjtBQUM1RTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsZ0VBQWdFO0FBQzNGLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsaUNBQWlDO0FBQ3BFO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELG9CQUFvQjtBQUMvRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wscUJBQXFCLGtCQUFrQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNELGdDQUFnQztBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsdUJBQXVCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRCQUE0Qiw2QkFBNkI7QUFDekQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQix3QkFBd0I7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IseUJBQXlCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMseUJBQXlCO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQiwyQkFBMkI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQiw4QkFBOEI7QUFDbkQ7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlCQUFpQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNEVBQTRFO0FBQzVFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsYUFBYSxnQkFBZ0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLGtCQUFrQjtBQUMxRCxLQUFLO0FBQ0wsd0NBQXdDLGtCQUFrQjtBQUMxRCxLQUFLO0FBQ0wsd0NBQXdDLDBCQUEwQjtBQUNsRSxLQUFLO0FBQ0wsd0NBQXdDLGlCQUFpQjtBQUN6RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxtQ0FBbUM7QUFDbkMsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsMkJBQTJCO0FBQzNCLDJCQUEyQjtBQUMzQjtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEI7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZUFBZSxvQkFBb0I7QUFDbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGVBQWUsRUFBRSx1QkFBdUIsVUFBVSxFQUFFO0FBQ3BGO0FBQ0E7O0FBRUE7QUFDQSxtREFBbUQsNkNBQTZDO0FBQ2hHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsNkNBQTZDO0FBQ3hFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLDJCQUEyQjtBQUM3RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQ7QUFDckQsR0FBRztBQUNILHlDQUF5QztBQUN6Qzs7QUFFQSxpQ0FBaUMsd0NBQXdDO0FBQ3pFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLE9BQU87QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLE9BQU87QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0QsbUJBQW1CO0FBQzNFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGFBQWE7QUFDcEMsdUJBQXVCLGFBQWE7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUZBQWlGO0FBQ2pGLDRCQUE0QjtBQUM1QjtBQUNBLDJCQUEyQjtBQUMzQix3QkFBd0IsaUVBQWlFO0FBQ3pGLFlBQVksMEZBQTBGO0FBQ3RHLE1BQU0sS0FBSywwQ0FBMEM7QUFDckQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsa0JBQWtCO0FBQy9ELHNCQUFzQiwrQ0FBK0M7QUFDckUsaURBQWlEOztBQUVqRDtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhDQUE4QztBQUM5Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsMkJBQTJCO0FBQ3RELGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyw2Q0FBNkMsRUFBRTtBQUN0RDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLHVDQUF1QyxTQUFTO0FBQ2hEO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix3QkFBd0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELDRCQUE0QixFQUFFO0FBQ2xGLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELCtCQUErQixFQUFFO0FBQ3JGLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsYUFBYTs7QUFFM0Q7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQ7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGlDQUFpQyxxQ0FBcUM7O0FBRXRFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyx1Q0FBdUMsRUFBRTtBQUNwRjtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsMkNBQTJDLEVBQUU7QUFDMUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsT0FBTztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUNBQXFDLDhCQUE4QixFQUFFO0FBQ3JFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDLHVDQUF1Qzs7QUFFekUscUNBQXFDLDBCQUEwQjs7QUFFL0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLGdCQUFnQjtBQUN4RDtBQUNBO0FBQ0EsZ0VBQWdFLHNCQUFzQixFQUFFO0FBQ3hGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQix3QkFBd0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsdUJBQXVCO0FBQ2xDLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDJCQUEyQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRCx5QkFBeUIsRUFBRTtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7O0FBRUEsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUU7QUFDM0MsK0JBQStCOztBQUUvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7QUFJRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixrQkFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxPQUFPO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxPQUFPO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsT0FBTztBQUNQLFNBQVM7QUFDVCxRQUFRO0FBQ1IsUUFBUTtBQUNSLE9BQU87QUFDUCxRQUFRO0FBQ1I7QUFDQSwyQ0FBMkM7QUFDM0MsOERBQThEOztBQUU5RDtBQUNBO0FBQ0EscURBQXFELDJEQUEyRDs7QUFFaEg7QUFDQTtBQUNBLDZDQUE2QywyQkFBMkIsRUFBRTtBQUMxRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtGQUFrRiw2QkFBNkI7QUFDL0c7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLG1CQUFtQixPQUFPO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsdUdBQXVHO0FBQ3pIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdCQUF3QixlQUFlO0FBQ3ZDLHNCQUFzQixhQUFhOztBQUVuQztBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsVUFBVTtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9DQUFvQyxVQUFVO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGVBQWU7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLGlEQUFpRDs7QUFFbkY7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLDZEQUE2RDtBQUN4RTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2REFBNkQsdUJBQXVCLEVBQUU7QUFDdEY7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLDJCQUEyQjtBQUM5QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxJQUFJO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0EscUJBQXFCLDBCQUEwQjtBQUMvQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLFNBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsdUJBQXVCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdFQUFnRTtBQUNoRTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLE9BQU87QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLG9CQUFvQjtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPLDRCQUE0QjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLE9BQU87QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsT0FBTztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0Msd0JBQXdCLEVBQUU7QUFDMUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQ0FBbUMsT0FBTztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsa0JBQWtCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsT0FBTztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxXQUFXO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLCtDQUErQyxPQUFPO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELFdBQVc7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsNkJBQTZCO0FBQzdCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsMkNBQTJDLEdBQUc7O0FBRW5GO0FBQ0Esa0NBQWtDO0FBQ2xDLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsc0NBQXNDO0FBQzNEO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7O0FBRUE7QUFDQSxtREFBbUQsNEJBQTRCLEVBQUU7QUFDakY7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLCtFQUErRTtBQUM3RyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLGdDQUFnQyxFQUFFO0FBQzlFLHlDQUF5QywwQ0FBMEMsRUFBRTtBQUNyRjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsMkJBQTJCO0FBQ3pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsaURBQWlEO0FBQ3ZGOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBLHVDQUF1QyxpREFBaUQ7QUFDeEY7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixvQkFBb0I7QUFDN0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsNkJBQTZCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsdUNBQXVDO0FBQ2pGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx5QkFBeUI7QUFDekI7QUFDQSxxREFBcUQ7QUFDckQ7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxlQUFlOztBQUVmO0FBQ0E7QUFDQTtBQUNBLGFBQWEsb0JBQW9COztBQUVqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDZCQUE2QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2R0FBNkc7QUFDakk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixPQUFPO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxzVUFBc1U7QUFDclY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGtCQUFrQixpQ0FBaUMsNEVBQTRFLHFCQUFxQixhQUFhLEdBQUcsRUFBRSxrQkFBa0I7QUFDck47QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHlCQUF5Qix5Q0FBeUMsRUFBRTtBQUNwRTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBLFlBQVksMEVBQTBFO0FBQ3RGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLHNCQUFzQixFQUFFO0FBQ3RFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHFCQUFxQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0RBQStELG9DQUFvQyxFQUFFO0FBQ3JHO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0RBQStELGdDQUFnQyxFQUFFO0FBQ2pHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1GQUFtRjtBQUNuRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sRUFBRSxFQUFFO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixrQkFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLG1DQUFtQztBQUNyRDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZFQUE2RSxHQUFHOztBQUVoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQiwwQkFBMEI7QUFDL0M7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGtCQUFrQjtBQUNuQztBQUNBO0FBQ0EsNkJBQTZCLCtCQUErQjtBQUM1RCx5Q0FBeUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQixrQkFBa0IsZUFBZTtBQUNqQztBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILGlCQUFpQix1QkFBdUI7QUFDeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBO0FBQ0EsOENBQThDLG1CQUFtQixFQUFFO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4Qyx1QkFBdUIsRUFBRTtBQUN2RSxTQUFTO0FBQ1QsZ0RBQWdELHFCQUFxQixFQUFFO0FBQ3ZFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVlLGtFQUFHLEVBQUMiLCJmaWxlIjoiNTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIFZ1ZS5qcyB2Mi42LjEwXG4gKiAoYykgMjAxNC0yMDE5IEV2YW4gWW91XG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cbi8qICAqL1xuXG52YXIgZW1wdHlPYmplY3QgPSBPYmplY3QuZnJlZXplKHt9KTtcblxuLy8gVGhlc2UgaGVscGVycyBwcm9kdWNlIGJldHRlciBWTSBjb2RlIGluIEpTIGVuZ2luZXMgZHVlIHRvIHRoZWlyXG4vLyBleHBsaWNpdG5lc3MgYW5kIGZ1bmN0aW9uIGlubGluaW5nLlxuZnVuY3Rpb24gaXNVbmRlZiAodikge1xuICByZXR1cm4gdiA9PT0gdW5kZWZpbmVkIHx8IHYgPT09IG51bGxcbn1cblxuZnVuY3Rpb24gaXNEZWYgKHYpIHtcbiAgcmV0dXJuIHYgIT09IHVuZGVmaW5lZCAmJiB2ICE9PSBudWxsXG59XG5cbmZ1bmN0aW9uIGlzVHJ1ZSAodikge1xuICByZXR1cm4gdiA9PT0gdHJ1ZVxufVxuXG5mdW5jdGlvbiBpc0ZhbHNlICh2KSB7XG4gIHJldHVybiB2ID09PSBmYWxzZVxufVxuXG4vKipcbiAqIENoZWNrIGlmIHZhbHVlIGlzIHByaW1pdGl2ZS5cbiAqL1xuZnVuY3Rpb24gaXNQcmltaXRpdmUgKHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHxcbiAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzeW1ib2wnIHx8XG4gICAgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbidcbiAgKVxufVxuXG4vKipcbiAqIFF1aWNrIG9iamVjdCBjaGVjayAtIHRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgdG8gdGVsbFxuICogT2JqZWN0cyBmcm9tIHByaW1pdGl2ZSB2YWx1ZXMgd2hlbiB3ZSBrbm93IHRoZSB2YWx1ZVxuICogaXMgYSBKU09OLWNvbXBsaWFudCB0eXBlLlxuICovXG5mdW5jdGlvbiBpc09iamVjdCAob2JqKSB7XG4gIHJldHVybiBvYmogIT09IG51bGwgJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCdcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHJhdyB0eXBlIHN0cmluZyBvZiBhIHZhbHVlLCBlLmcuLCBbb2JqZWN0IE9iamVjdF0uXG4gKi9cbnZhciBfdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuXG5mdW5jdGlvbiB0b1Jhd1R5cGUgKHZhbHVlKSB7XG4gIHJldHVybiBfdG9TdHJpbmcuY2FsbCh2YWx1ZSkuc2xpY2UoOCwgLTEpXG59XG5cbi8qKlxuICogU3RyaWN0IG9iamVjdCB0eXBlIGNoZWNrLiBPbmx5IHJldHVybnMgdHJ1ZVxuICogZm9yIHBsYWluIEphdmFTY3JpcHQgb2JqZWN0cy5cbiAqL1xuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCAob2JqKSB7XG4gIHJldHVybiBfdG9TdHJpbmcuY2FsbChvYmopID09PSAnW29iamVjdCBPYmplY3RdJ1xufVxuXG5mdW5jdGlvbiBpc1JlZ0V4cCAodikge1xuICByZXR1cm4gX3RvU3RyaW5nLmNhbGwodikgPT09ICdbb2JqZWN0IFJlZ0V4cF0nXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdmFsIGlzIGEgdmFsaWQgYXJyYXkgaW5kZXguXG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWRBcnJheUluZGV4ICh2YWwpIHtcbiAgdmFyIG4gPSBwYXJzZUZsb2F0KFN0cmluZyh2YWwpKTtcbiAgcmV0dXJuIG4gPj0gMCAmJiBNYXRoLmZsb29yKG4pID09PSBuICYmIGlzRmluaXRlKHZhbClcbn1cblxuZnVuY3Rpb24gaXNQcm9taXNlICh2YWwpIHtcbiAgcmV0dXJuIChcbiAgICBpc0RlZih2YWwpICYmXG4gICAgdHlwZW9mIHZhbC50aGVuID09PSAnZnVuY3Rpb24nICYmXG4gICAgdHlwZW9mIHZhbC5jYXRjaCA9PT0gJ2Z1bmN0aW9uJ1xuICApXG59XG5cbi8qKlxuICogQ29udmVydCBhIHZhbHVlIHRvIGEgc3RyaW5nIHRoYXQgaXMgYWN0dWFsbHkgcmVuZGVyZWQuXG4gKi9cbmZ1bmN0aW9uIHRvU3RyaW5nICh2YWwpIHtcbiAgcmV0dXJuIHZhbCA9PSBudWxsXG4gICAgPyAnJ1xuICAgIDogQXJyYXkuaXNBcnJheSh2YWwpIHx8IChpc1BsYWluT2JqZWN0KHZhbCkgJiYgdmFsLnRvU3RyaW5nID09PSBfdG9TdHJpbmcpXG4gICAgICA/IEpTT04uc3RyaW5naWZ5KHZhbCwgbnVsbCwgMilcbiAgICAgIDogU3RyaW5nKHZhbClcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGFuIGlucHV0IHZhbHVlIHRvIGEgbnVtYmVyIGZvciBwZXJzaXN0ZW5jZS5cbiAqIElmIHRoZSBjb252ZXJzaW9uIGZhaWxzLCByZXR1cm4gb3JpZ2luYWwgc3RyaW5nLlxuICovXG5mdW5jdGlvbiB0b051bWJlciAodmFsKSB7XG4gIHZhciBuID0gcGFyc2VGbG9hdCh2YWwpO1xuICByZXR1cm4gaXNOYU4obikgPyB2YWwgOiBuXG59XG5cbi8qKlxuICogTWFrZSBhIG1hcCBhbmQgcmV0dXJuIGEgZnVuY3Rpb24gZm9yIGNoZWNraW5nIGlmIGEga2V5XG4gKiBpcyBpbiB0aGF0IG1hcC5cbiAqL1xuZnVuY3Rpb24gbWFrZU1hcCAoXG4gIHN0cixcbiAgZXhwZWN0c0xvd2VyQ2FzZVxuKSB7XG4gIHZhciBtYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICB2YXIgbGlzdCA9IHN0ci5zcGxpdCgnLCcpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBtYXBbbGlzdFtpXV0gPSB0cnVlO1xuICB9XG4gIHJldHVybiBleHBlY3RzTG93ZXJDYXNlXG4gICAgPyBmdW5jdGlvbiAodmFsKSB7IHJldHVybiBtYXBbdmFsLnRvTG93ZXJDYXNlKCldOyB9XG4gICAgOiBmdW5jdGlvbiAodmFsKSB7IHJldHVybiBtYXBbdmFsXTsgfVxufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgdGFnIGlzIGEgYnVpbHQtaW4gdGFnLlxuICovXG52YXIgaXNCdWlsdEluVGFnID0gbWFrZU1hcCgnc2xvdCxjb21wb25lbnQnLCB0cnVlKTtcblxuLyoqXG4gKiBDaGVjayBpZiBhbiBhdHRyaWJ1dGUgaXMgYSByZXNlcnZlZCBhdHRyaWJ1dGUuXG4gKi9cbnZhciBpc1Jlc2VydmVkQXR0cmlidXRlID0gbWFrZU1hcCgna2V5LHJlZixzbG90LHNsb3Qtc2NvcGUsaXMnKTtcblxuLyoqXG4gKiBSZW1vdmUgYW4gaXRlbSBmcm9tIGFuIGFycmF5LlxuICovXG5mdW5jdGlvbiByZW1vdmUgKGFyciwgaXRlbSkge1xuICBpZiAoYXJyLmxlbmd0aCkge1xuICAgIHZhciBpbmRleCA9IGFyci5pbmRleE9mKGl0ZW0pO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICByZXR1cm4gYXJyLnNwbGljZShpbmRleCwgMSlcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIGFuIG9iamVjdCBoYXMgdGhlIHByb3BlcnR5LlxuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuZnVuY3Rpb24gaGFzT3duIChvYmosIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSlcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBjYWNoZWQgdmVyc2lvbiBvZiBhIHB1cmUgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGNhY2hlZCAoZm4pIHtcbiAgdmFyIGNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgcmV0dXJuIChmdW5jdGlvbiBjYWNoZWRGbiAoc3RyKSB7XG4gICAgdmFyIGhpdCA9IGNhY2hlW3N0cl07XG4gICAgcmV0dXJuIGhpdCB8fCAoY2FjaGVbc3RyXSA9IGZuKHN0cikpXG4gIH0pXG59XG5cbi8qKlxuICogQ2FtZWxpemUgYSBoeXBoZW4tZGVsaW1pdGVkIHN0cmluZy5cbiAqL1xudmFyIGNhbWVsaXplUkUgPSAvLShcXHcpL2c7XG52YXIgY2FtZWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoY2FtZWxpemVSRSwgZnVuY3Rpb24gKF8sIGMpIHsgcmV0dXJuIGMgPyBjLnRvVXBwZXJDYXNlKCkgOiAnJzsgfSlcbn0pO1xuXG4vKipcbiAqIENhcGl0YWxpemUgYSBzdHJpbmcuXG4gKi9cbnZhciBjYXBpdGFsaXplID0gY2FjaGVkKGZ1bmN0aW9uIChzdHIpIHtcbiAgcmV0dXJuIHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKVxufSk7XG5cbi8qKlxuICogSHlwaGVuYXRlIGEgY2FtZWxDYXNlIHN0cmluZy5cbiAqL1xudmFyIGh5cGhlbmF0ZVJFID0gL1xcQihbQS1aXSkvZztcbnZhciBoeXBoZW5hdGUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoaHlwaGVuYXRlUkUsICctJDEnKS50b0xvd2VyQ2FzZSgpXG59KTtcblxuLyoqXG4gKiBTaW1wbGUgYmluZCBwb2x5ZmlsbCBmb3IgZW52aXJvbm1lbnRzIHRoYXQgZG8gbm90IHN1cHBvcnQgaXQsXG4gKiBlLmcuLCBQaGFudG9tSlMgMS54LiBUZWNobmljYWxseSwgd2UgZG9uJ3QgbmVlZCB0aGlzIGFueW1vcmVcbiAqIHNpbmNlIG5hdGl2ZSBiaW5kIGlzIG5vdyBwZXJmb3JtYW50IGVub3VnaCBpbiBtb3N0IGJyb3dzZXJzLlxuICogQnV0IHJlbW92aW5nIGl0IHdvdWxkIG1lYW4gYnJlYWtpbmcgY29kZSB0aGF0IHdhcyBhYmxlIHRvIHJ1biBpblxuICogUGhhbnRvbUpTIDEueCwgc28gdGhpcyBtdXN0IGJlIGtlcHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKi9cblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIHBvbHlmaWxsQmluZCAoZm4sIGN0eCkge1xuICBmdW5jdGlvbiBib3VuZEZuIChhKSB7XG4gICAgdmFyIGwgPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIHJldHVybiBsXG4gICAgICA/IGwgPiAxXG4gICAgICAgID8gZm4uYXBwbHkoY3R4LCBhcmd1bWVudHMpXG4gICAgICAgIDogZm4uY2FsbChjdHgsIGEpXG4gICAgICA6IGZuLmNhbGwoY3R4KVxuICB9XG5cbiAgYm91bmRGbi5fbGVuZ3RoID0gZm4ubGVuZ3RoO1xuICByZXR1cm4gYm91bmRGblxufVxuXG5mdW5jdGlvbiBuYXRpdmVCaW5kIChmbiwgY3R4KSB7XG4gIHJldHVybiBmbi5iaW5kKGN0eClcbn1cblxudmFyIGJpbmQgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZFxuICA/IG5hdGl2ZUJpbmRcbiAgOiBwb2x5ZmlsbEJpbmQ7XG5cbi8qKlxuICogQ29udmVydCBhbiBBcnJheS1saWtlIG9iamVjdCB0byBhIHJlYWwgQXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHRvQXJyYXkgKGxpc3QsIHN0YXJ0KSB7XG4gIHN0YXJ0ID0gc3RhcnQgfHwgMDtcbiAgdmFyIGkgPSBsaXN0Lmxlbmd0aCAtIHN0YXJ0O1xuICB2YXIgcmV0ID0gbmV3IEFycmF5KGkpO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgcmV0W2ldID0gbGlzdFtpICsgc3RhcnRdO1xuICB9XG4gIHJldHVybiByZXRcbn1cblxuLyoqXG4gKiBNaXggcHJvcGVydGllcyBpbnRvIHRhcmdldCBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGV4dGVuZCAodG8sIF9mcm9tKSB7XG4gIGZvciAodmFyIGtleSBpbiBfZnJvbSkge1xuICAgIHRvW2tleV0gPSBfZnJvbVtrZXldO1xuICB9XG4gIHJldHVybiB0b1xufVxuXG4vKipcbiAqIE1lcmdlIGFuIEFycmF5IG9mIE9iamVjdHMgaW50byBhIHNpbmdsZSBPYmplY3QuXG4gKi9cbmZ1bmN0aW9uIHRvT2JqZWN0IChhcnIpIHtcbiAgdmFyIHJlcyA9IHt9O1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgIGlmIChhcnJbaV0pIHtcbiAgICAgIGV4dGVuZChyZXMsIGFycltpXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cblxuLyoqXG4gKiBQZXJmb3JtIG5vIG9wZXJhdGlvbi5cbiAqIFN0dWJiaW5nIGFyZ3MgdG8gbWFrZSBGbG93IGhhcHB5IHdpdGhvdXQgbGVhdmluZyB1c2VsZXNzIHRyYW5zcGlsZWQgY29kZVxuICogd2l0aCAuLi5yZXN0IChodHRwczovL2Zsb3cub3JnL2Jsb2cvMjAxNy8wNS8wNy9TdHJpY3QtRnVuY3Rpb24tQ2FsbC1Bcml0eS8pLlxuICovXG5mdW5jdGlvbiBub29wIChhLCBiLCBjKSB7fVxuXG4vKipcbiAqIEFsd2F5cyByZXR1cm4gZmFsc2UuXG4gKi9cbnZhciBubyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7IHJldHVybiBmYWxzZTsgfTtcblxuLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtdmFycyAqL1xuXG4vKipcbiAqIFJldHVybiB0aGUgc2FtZSB2YWx1ZS5cbiAqL1xudmFyIGlkZW50aXR5ID0gZnVuY3Rpb24gKF8pIHsgcmV0dXJuIF87IH07XG5cbi8qKlxuICogR2VuZXJhdGUgYSBzdHJpbmcgY29udGFpbmluZyBzdGF0aWMga2V5cyBmcm9tIGNvbXBpbGVyIG1vZHVsZXMuXG4gKi9cbmZ1bmN0aW9uIGdlblN0YXRpY0tleXMgKG1vZHVsZXMpIHtcbiAgcmV0dXJuIG1vZHVsZXMucmVkdWNlKGZ1bmN0aW9uIChrZXlzLCBtKSB7XG4gICAgcmV0dXJuIGtleXMuY29uY2F0KG0uc3RhdGljS2V5cyB8fCBbXSlcbiAgfSwgW10pLmpvaW4oJywnKVxufVxuXG4vKipcbiAqIENoZWNrIGlmIHR3byB2YWx1ZXMgYXJlIGxvb3NlbHkgZXF1YWwgLSB0aGF0IGlzLFxuICogaWYgdGhleSBhcmUgcGxhaW4gb2JqZWN0cywgZG8gdGhleSBoYXZlIHRoZSBzYW1lIHNoYXBlP1xuICovXG5mdW5jdGlvbiBsb29zZUVxdWFsIChhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7IHJldHVybiB0cnVlIH1cbiAgdmFyIGlzT2JqZWN0QSA9IGlzT2JqZWN0KGEpO1xuICB2YXIgaXNPYmplY3RCID0gaXNPYmplY3QoYik7XG4gIGlmIChpc09iamVjdEEgJiYgaXNPYmplY3RCKSB7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBpc0FycmF5QSA9IEFycmF5LmlzQXJyYXkoYSk7XG4gICAgICB2YXIgaXNBcnJheUIgPSBBcnJheS5pc0FycmF5KGIpO1xuICAgICAgaWYgKGlzQXJyYXlBICYmIGlzQXJyYXlCKSB7XG4gICAgICAgIHJldHVybiBhLmxlbmd0aCA9PT0gYi5sZW5ndGggJiYgYS5ldmVyeShmdW5jdGlvbiAoZSwgaSkge1xuICAgICAgICAgIHJldHVybiBsb29zZUVxdWFsKGUsIGJbaV0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKGEgaW5zdGFuY2VvZiBEYXRlICYmIGIgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHJldHVybiBhLmdldFRpbWUoKSA9PT0gYi5nZXRUaW1lKClcbiAgICAgIH0gZWxzZSBpZiAoIWlzQXJyYXlBICYmICFpc0FycmF5Qikge1xuICAgICAgICB2YXIga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgICAgICAgdmFyIGtleXNCID0gT2JqZWN0LmtleXMoYik7XG4gICAgICAgIHJldHVybiBrZXlzQS5sZW5ndGggPT09IGtleXNCLmxlbmd0aCAmJiBrZXlzQS5ldmVyeShmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgcmV0dXJuIGxvb3NlRXF1YWwoYVtrZXldLCBiW2tleV0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9IGVsc2UgaWYgKCFpc09iamVjdEEgJiYgIWlzT2JqZWN0Qikge1xuICAgIHJldHVybiBTdHJpbmcoYSkgPT09IFN0cmluZyhiKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBmaXJzdCBpbmRleCBhdCB3aGljaCBhIGxvb3NlbHkgZXF1YWwgdmFsdWUgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgYXJyYXkgKGlmIHZhbHVlIGlzIGEgcGxhaW4gb2JqZWN0LCB0aGUgYXJyYXkgbXVzdFxuICogY29udGFpbiBhbiBvYmplY3Qgb2YgdGhlIHNhbWUgc2hhcGUpLCBvciAtMSBpZiBpdCBpcyBub3QgcHJlc2VudC5cbiAqL1xuZnVuY3Rpb24gbG9vc2VJbmRleE9mIChhcnIsIHZhbCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgIGlmIChsb29zZUVxdWFsKGFycltpXSwgdmFsKSkgeyByZXR1cm4gaSB9XG4gIH1cbiAgcmV0dXJuIC0xXG59XG5cbi8qKlxuICogRW5zdXJlIGEgZnVuY3Rpb24gaXMgY2FsbGVkIG9ubHkgb25jZS5cbiAqL1xuZnVuY3Rpb24gb25jZSAoZm4pIHtcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmICghY2FsbGVkKSB7XG4gICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIFNTUl9BVFRSID0gJ2RhdGEtc2VydmVyLXJlbmRlcmVkJztcblxudmFyIEFTU0VUX1RZUEVTID0gW1xuICAnY29tcG9uZW50JyxcbiAgJ2RpcmVjdGl2ZScsXG4gICdmaWx0ZXInXG5dO1xuXG52YXIgTElGRUNZQ0xFX0hPT0tTID0gW1xuICAnYmVmb3JlQ3JlYXRlJyxcbiAgJ2NyZWF0ZWQnLFxuICAnYmVmb3JlTW91bnQnLFxuICAnbW91bnRlZCcsXG4gICdiZWZvcmVVcGRhdGUnLFxuICAndXBkYXRlZCcsXG4gICdiZWZvcmVEZXN0cm95JyxcbiAgJ2Rlc3Ryb3llZCcsXG4gICdhY3RpdmF0ZWQnLFxuICAnZGVhY3RpdmF0ZWQnLFxuICAnZXJyb3JDYXB0dXJlZCcsXG4gICdzZXJ2ZXJQcmVmZXRjaCdcbl07XG5cbi8qICAqL1xuXG5cblxudmFyIGNvbmZpZyA9ICh7XG4gIC8qKlxuICAgKiBPcHRpb24gbWVyZ2Ugc3RyYXRlZ2llcyAodXNlZCBpbiBjb3JlL3V0aWwvb3B0aW9ucylcbiAgICovXG4gIC8vICRmbG93LWRpc2FibGUtbGluZVxuICBvcHRpb25NZXJnZVN0cmF0ZWdpZXM6IE9iamVjdC5jcmVhdGUobnVsbCksXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3VwcHJlc3Mgd2FybmluZ3MuXG4gICAqL1xuICBzaWxlbnQ6IGZhbHNlLFxuXG4gIC8qKlxuICAgKiBTaG93IHByb2R1Y3Rpb24gbW9kZSB0aXAgbWVzc2FnZSBvbiBib290P1xuICAgKi9cbiAgcHJvZHVjdGlvblRpcDogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyxcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgZGV2dG9vbHNcbiAgICovXG4gIGRldnRvb2xzOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlY29yZCBwZXJmXG4gICAqL1xuICBwZXJmb3JtYW5jZTogZmFsc2UsXG5cbiAgLyoqXG4gICAqIEVycm9yIGhhbmRsZXIgZm9yIHdhdGNoZXIgZXJyb3JzXG4gICAqL1xuICBlcnJvckhhbmRsZXI6IG51bGwsXG5cbiAgLyoqXG4gICAqIFdhcm4gaGFuZGxlciBmb3Igd2F0Y2hlciB3YXJuc1xuICAgKi9cbiAgd2FybkhhbmRsZXI6IG51bGwsXG5cbiAgLyoqXG4gICAqIElnbm9yZSBjZXJ0YWluIGN1c3RvbSBlbGVtZW50c1xuICAgKi9cbiAgaWdub3JlZEVsZW1lbnRzOiBbXSxcblxuICAvKipcbiAgICogQ3VzdG9tIHVzZXIga2V5IGFsaWFzZXMgZm9yIHYtb25cbiAgICovXG4gIC8vICRmbG93LWRpc2FibGUtbGluZVxuICBrZXlDb2RlczogT2JqZWN0LmNyZWF0ZShudWxsKSxcblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0YWcgaXMgcmVzZXJ2ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgcmVnaXN0ZXJlZCBhcyBhXG4gICAqIGNvbXBvbmVudC4gVGhpcyBpcyBwbGF0Zm9ybS1kZXBlbmRlbnQgYW5kIG1heSBiZSBvdmVyd3JpdHRlbi5cbiAgICovXG4gIGlzUmVzZXJ2ZWRUYWc6IG5vLFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBhdHRyaWJ1dGUgaXMgcmVzZXJ2ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgdXNlZCBhcyBhIGNvbXBvbmVudFxuICAgKiBwcm9wLiBUaGlzIGlzIHBsYXRmb3JtLWRlcGVuZGVudCBhbmQgbWF5IGJlIG92ZXJ3cml0dGVuLlxuICAgKi9cbiAgaXNSZXNlcnZlZEF0dHI6IG5vLFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIHRhZyBpcyBhbiB1bmtub3duIGVsZW1lbnQuXG4gICAqIFBsYXRmb3JtLWRlcGVuZGVudC5cbiAgICovXG4gIGlzVW5rbm93bkVsZW1lbnQ6IG5vLFxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG5hbWVzcGFjZSBvZiBhbiBlbGVtZW50XG4gICAqL1xuICBnZXRUYWdOYW1lc3BhY2U6IG5vb3AsXG5cbiAgLyoqXG4gICAqIFBhcnNlIHRoZSByZWFsIHRhZyBuYW1lIGZvciB0aGUgc3BlY2lmaWMgcGxhdGZvcm0uXG4gICAqL1xuICBwYXJzZVBsYXRmb3JtVGFnTmFtZTogaWRlbnRpdHksXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBtdXN0IGJlIGJvdW5kIHVzaW5nIHByb3BlcnR5LCBlLmcuIHZhbHVlXG4gICAqIFBsYXRmb3JtLWRlcGVuZGVudC5cbiAgICovXG4gIG11c3RVc2VQcm9wOiBubyxcblxuICAvKipcbiAgICogUGVyZm9ybSB1cGRhdGVzIGFzeW5jaHJvbm91c2x5LiBJbnRlbmRlZCB0byBiZSB1c2VkIGJ5IFZ1ZSBUZXN0IFV0aWxzXG4gICAqIFRoaXMgd2lsbCBzaWduaWZpY2FudGx5IHJlZHVjZSBwZXJmb3JtYW5jZSBpZiBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBhc3luYzogdHJ1ZSxcblxuICAvKipcbiAgICogRXhwb3NlZCBmb3IgbGVnYWN5IHJlYXNvbnNcbiAgICovXG4gIF9saWZlY3ljbGVIb29rczogTElGRUNZQ0xFX0hPT0tTXG59KTtcblxuLyogICovXG5cbi8qKlxuICogdW5pY29kZSBsZXR0ZXJzIHVzZWQgZm9yIHBhcnNpbmcgaHRtbCB0YWdzLCBjb21wb25lbnQgbmFtZXMgYW5kIHByb3BlcnR5IHBhdGhzLlxuICogdXNpbmcgaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1My9zZW1hbnRpY3Mtc2NyaXB0aW5nLmh0bWwjcG90ZW50aWFsY3VzdG9tZWxlbWVudG5hbWVcbiAqIHNraXBwaW5nIFxcdTEwMDAwLVxcdUVGRkZGIGR1ZSB0byBpdCBmcmVlemluZyB1cCBQaGFudG9tSlNcbiAqL1xudmFyIHVuaWNvZGVSZWdFeHAgPSAvYS16QS1aXFx1MDBCN1xcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwM0YtXFx1MjA0MFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRC87XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdHJpbmcgc3RhcnRzIHdpdGggJCBvciBfXG4gKi9cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWQgKHN0cikge1xuICB2YXIgYyA9IChzdHIgKyAnJykuY2hhckNvZGVBdCgwKTtcbiAgcmV0dXJuIGMgPT09IDB4MjQgfHwgYyA9PT0gMHg1RlxufVxuXG4vKipcbiAqIERlZmluZSBhIHByb3BlcnR5LlxuICovXG5mdW5jdGlvbiBkZWYgKG9iaiwga2V5LCB2YWwsIGVudW1lcmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgdmFsdWU6IHZhbCxcbiAgICBlbnVtZXJhYmxlOiAhIWVudW1lcmFibGUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG4vKipcbiAqIFBhcnNlIHNpbXBsZSBwYXRoLlxuICovXG52YXIgYmFpbFJFID0gbmV3IFJlZ0V4cCgoXCJbXlwiICsgKHVuaWNvZGVSZWdFeHAuc291cmNlKSArIFwiLiRfXFxcXGRdXCIpKTtcbmZ1bmN0aW9uIHBhcnNlUGF0aCAocGF0aCkge1xuICBpZiAoYmFpbFJFLnRlc3QocGF0aCkpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gIHJldHVybiBmdW5jdGlvbiAob2JqKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFvYmopIHsgcmV0dXJuIH1cbiAgICAgIG9iaiA9IG9ialtzZWdtZW50c1tpXV07XG4gICAgfVxuICAgIHJldHVybiBvYmpcbiAgfVxufVxuXG4vKiAgKi9cblxuLy8gY2FuIHdlIHVzZSBfX3Byb3RvX18/XG52YXIgaGFzUHJvdG8gPSAnX19wcm90b19fJyBpbiB7fTtcblxuLy8gQnJvd3NlciBlbnZpcm9ubWVudCBzbmlmZmluZ1xudmFyIGluQnJvd3NlciA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnO1xudmFyIGluV2VleCA9IHR5cGVvZiBXWEVudmlyb25tZW50ICE9PSAndW5kZWZpbmVkJyAmJiAhIVdYRW52aXJvbm1lbnQucGxhdGZvcm07XG52YXIgd2VleFBsYXRmb3JtID0gaW5XZWV4ICYmIFdYRW52aXJvbm1lbnQucGxhdGZvcm0udG9Mb3dlckNhc2UoKTtcbnZhciBVQSA9IGluQnJvd3NlciAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO1xudmFyIGlzSUUgPSBVQSAmJiAvbXNpZXx0cmlkZW50Ly50ZXN0KFVBKTtcbnZhciBpc0lFOSA9IFVBICYmIFVBLmluZGV4T2YoJ21zaWUgOS4wJykgPiAwO1xudmFyIGlzRWRnZSA9IFVBICYmIFVBLmluZGV4T2YoJ2VkZ2UvJykgPiAwO1xudmFyIGlzQW5kcm9pZCA9IChVQSAmJiBVQS5pbmRleE9mKCdhbmRyb2lkJykgPiAwKSB8fCAod2VleFBsYXRmb3JtID09PSAnYW5kcm9pZCcpO1xudmFyIGlzSU9TID0gKFVBICYmIC9pcGhvbmV8aXBhZHxpcG9kfGlvcy8udGVzdChVQSkpIHx8ICh3ZWV4UGxhdGZvcm0gPT09ICdpb3MnKTtcbnZhciBpc0Nocm9tZSA9IFVBICYmIC9jaHJvbWVcXC9cXGQrLy50ZXN0KFVBKSAmJiAhaXNFZGdlO1xudmFyIGlzUGhhbnRvbUpTID0gVUEgJiYgL3BoYW50b21qcy8udGVzdChVQSk7XG52YXIgaXNGRiA9IFVBICYmIFVBLm1hdGNoKC9maXJlZm94XFwvKFxcZCspLyk7XG5cbi8vIEZpcmVmb3ggaGFzIGEgXCJ3YXRjaFwiIGZ1bmN0aW9uIG9uIE9iamVjdC5wcm90b3R5cGUuLi5cbnZhciBuYXRpdmVXYXRjaCA9ICh7fSkud2F0Y2g7XG5cbnZhciBzdXBwb3J0c1Bhc3NpdmUgPSBmYWxzZTtcbmlmIChpbkJyb3dzZXIpIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3B0cyA9IHt9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRzLCAncGFzc2l2ZScsICh7XG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCAoKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHN1cHBvcnRzUGFzc2l2ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSkpOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvMjg1XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QtcGFzc2l2ZScsIG51bGwsIG9wdHMpO1xuICB9IGNhdGNoIChlKSB7fVxufVxuXG4vLyB0aGlzIG5lZWRzIHRvIGJlIGxhenktZXZhbGVkIGJlY2F1c2UgdnVlIG1heSBiZSByZXF1aXJlZCBiZWZvcmVcbi8vIHZ1ZS1zZXJ2ZXItcmVuZGVyZXIgY2FuIHNldCBWVUVfRU5WXG52YXIgX2lzU2VydmVyO1xudmFyIGlzU2VydmVyUmVuZGVyaW5nID0gZnVuY3Rpb24gKCkge1xuICBpZiAoX2lzU2VydmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWluQnJvd3NlciAmJiAhaW5XZWV4ICYmIHR5cGVvZiBnbG9iYWwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvLyBkZXRlY3QgcHJlc2VuY2Ugb2YgdnVlLXNlcnZlci1yZW5kZXJlciBhbmQgYXZvaWRcbiAgICAgIC8vIFdlYnBhY2sgc2hpbW1pbmcgdGhlIHByb2Nlc3NcbiAgICAgIF9pc1NlcnZlciA9IGdsb2JhbFsncHJvY2VzcyddICYmIGdsb2JhbFsncHJvY2VzcyddLmVudi5WVUVfRU5WID09PSAnc2VydmVyJztcbiAgICB9IGVsc2Uge1xuICAgICAgX2lzU2VydmVyID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiBfaXNTZXJ2ZXJcbn07XG5cbi8vIGRldGVjdCBkZXZ0b29sc1xudmFyIGRldnRvb2xzID0gaW5Ccm93c2VyICYmIHdpbmRvdy5fX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gaXNOYXRpdmUgKEN0b3IpIHtcbiAgcmV0dXJuIHR5cGVvZiBDdG9yID09PSAnZnVuY3Rpb24nICYmIC9uYXRpdmUgY29kZS8udGVzdChDdG9yLnRvU3RyaW5nKCkpXG59XG5cbnZhciBoYXNTeW1ib2wgPVxuICB0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShTeW1ib2wpICYmXG4gIHR5cGVvZiBSZWZsZWN0ICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShSZWZsZWN0Lm93bktleXMpO1xuXG52YXIgX1NldDtcbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqLyAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbmlmICh0eXBlb2YgU2V0ICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShTZXQpKSB7XG4gIC8vIHVzZSBuYXRpdmUgU2V0IHdoZW4gYXZhaWxhYmxlLlxuICBfU2V0ID0gU2V0O1xufSBlbHNlIHtcbiAgLy8gYSBub24tc3RhbmRhcmQgU2V0IHBvbHlmaWxsIHRoYXQgb25seSB3b3JrcyB3aXRoIHByaW1pdGl2ZSBrZXlzLlxuICBfU2V0ID0gLypAX19QVVJFX18qLyhmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU2V0ICgpIHtcbiAgICAgIHRoaXMuc2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB9XG4gICAgU2V0LnByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbiBoYXMgKGtleSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0W2tleV0gPT09IHRydWVcbiAgICB9O1xuICAgIFNldC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChrZXkpIHtcbiAgICAgIHRoaXMuc2V0W2tleV0gPSB0cnVlO1xuICAgIH07XG4gICAgU2V0LnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uIGNsZWFyICgpIHtcbiAgICAgIHRoaXMuc2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIFNldDtcbiAgfSgpKTtcbn1cblxuLyogICovXG5cbnZhciB3YXJuID0gbm9vcDtcbnZhciB0aXAgPSBub29wO1xudmFyIGdlbmVyYXRlQ29tcG9uZW50VHJhY2UgPSAobm9vcCk7IC8vIHdvcmsgYXJvdW5kIGZsb3cgY2hlY2tcbnZhciBmb3JtYXRDb21wb25lbnROYW1lID0gKG5vb3ApO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgaGFzQ29uc29sZSA9IHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJztcbiAgdmFyIGNsYXNzaWZ5UkUgPSAvKD86XnxbLV9dKShcXHcpL2c7XG4gIHZhciBjbGFzc2lmeSA9IGZ1bmN0aW9uIChzdHIpIHsgcmV0dXJuIHN0clxuICAgIC5yZXBsYWNlKGNsYXNzaWZ5UkUsIGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLnRvVXBwZXJDYXNlKCk7IH0pXG4gICAgLnJlcGxhY2UoL1stX10vZywgJycpOyB9O1xuXG4gIHdhcm4gPSBmdW5jdGlvbiAobXNnLCB2bSkge1xuICAgIHZhciB0cmFjZSA9IHZtID8gZ2VuZXJhdGVDb21wb25lbnRUcmFjZSh2bSkgOiAnJztcblxuICAgIGlmIChjb25maWcud2FybkhhbmRsZXIpIHtcbiAgICAgIGNvbmZpZy53YXJuSGFuZGxlci5jYWxsKG51bGwsIG1zZywgdm0sIHRyYWNlKTtcbiAgICB9IGVsc2UgaWYgKGhhc0NvbnNvbGUgJiYgKCFjb25maWcuc2lsZW50KSkge1xuICAgICAgY29uc29sZS5lcnJvcigoXCJbVnVlIHdhcm5dOiBcIiArIG1zZyArIHRyYWNlKSk7XG4gICAgfVxuICB9O1xuXG4gIHRpcCA9IGZ1bmN0aW9uIChtc2csIHZtKSB7XG4gICAgaWYgKGhhc0NvbnNvbGUgJiYgKCFjb25maWcuc2lsZW50KSkge1xuICAgICAgY29uc29sZS53YXJuKFwiW1Z1ZSB0aXBdOiBcIiArIG1zZyArIChcbiAgICAgICAgdm0gPyBnZW5lcmF0ZUNvbXBvbmVudFRyYWNlKHZtKSA6ICcnXG4gICAgICApKTtcbiAgICB9XG4gIH07XG5cbiAgZm9ybWF0Q29tcG9uZW50TmFtZSA9IGZ1bmN0aW9uICh2bSwgaW5jbHVkZUZpbGUpIHtcbiAgICBpZiAodm0uJHJvb3QgPT09IHZtKSB7XG4gICAgICByZXR1cm4gJzxSb290PidcbiAgICB9XG4gICAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygdm0gPT09ICdmdW5jdGlvbicgJiYgdm0uY2lkICE9IG51bGxcbiAgICAgID8gdm0ub3B0aW9uc1xuICAgICAgOiB2bS5faXNWdWVcbiAgICAgICAgPyB2bS4kb3B0aW9ucyB8fCB2bS5jb25zdHJ1Y3Rvci5vcHRpb25zXG4gICAgICAgIDogdm07XG4gICAgdmFyIG5hbWUgPSBvcHRpb25zLm5hbWUgfHwgb3B0aW9ucy5fY29tcG9uZW50VGFnO1xuICAgIHZhciBmaWxlID0gb3B0aW9ucy5fX2ZpbGU7XG4gICAgaWYgKCFuYW1lICYmIGZpbGUpIHtcbiAgICAgIHZhciBtYXRjaCA9IGZpbGUubWF0Y2goLyhbXi9cXFxcXSspXFwudnVlJC8pO1xuICAgICAgbmFtZSA9IG1hdGNoICYmIG1hdGNoWzFdO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAobmFtZSA/IChcIjxcIiArIChjbGFzc2lmeShuYW1lKSkgKyBcIj5cIikgOiBcIjxBbm9ueW1vdXM+XCIpICtcbiAgICAgIChmaWxlICYmIGluY2x1ZGVGaWxlICE9PSBmYWxzZSA/IChcIiBhdCBcIiArIGZpbGUpIDogJycpXG4gICAgKVxuICB9O1xuXG4gIHZhciByZXBlYXQgPSBmdW5jdGlvbiAoc3RyLCBuKSB7XG4gICAgdmFyIHJlcyA9ICcnO1xuICAgIHdoaWxlIChuKSB7XG4gICAgICBpZiAobiAlIDIgPT09IDEpIHsgcmVzICs9IHN0cjsgfVxuICAgICAgaWYgKG4gPiAxKSB7IHN0ciArPSBzdHI7IH1cbiAgICAgIG4gPj49IDE7XG4gICAgfVxuICAgIHJldHVybiByZXNcbiAgfTtcblxuICBnZW5lcmF0ZUNvbXBvbmVudFRyYWNlID0gZnVuY3Rpb24gKHZtKSB7XG4gICAgaWYgKHZtLl9pc1Z1ZSAmJiB2bS4kcGFyZW50KSB7XG4gICAgICB2YXIgdHJlZSA9IFtdO1xuICAgICAgdmFyIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSA9IDA7XG4gICAgICB3aGlsZSAodm0pIHtcbiAgICAgICAgaWYgKHRyZWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHZhciBsYXN0ID0gdHJlZVt0cmVlLmxlbmd0aCAtIDFdO1xuICAgICAgICAgIGlmIChsYXN0LmNvbnN0cnVjdG9yID09PSB2bS5jb25zdHJ1Y3Rvcikge1xuICAgICAgICAgICAgY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlKys7XG4gICAgICAgICAgICB2bSA9IHZtLiRwYXJlbnQ7XG4gICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlID4gMCkge1xuICAgICAgICAgICAgdHJlZVt0cmVlLmxlbmd0aCAtIDFdID0gW2xhc3QsIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZV07XG4gICAgICAgICAgICBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2UgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0cmVlLnB1c2godm0pO1xuICAgICAgICB2bSA9IHZtLiRwYXJlbnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ1xcblxcbmZvdW5kIGluXFxuXFxuJyArIHRyZWVcbiAgICAgICAgLm1hcChmdW5jdGlvbiAodm0sIGkpIHsgcmV0dXJuIChcIlwiICsgKGkgPT09IDAgPyAnLS0tPiAnIDogcmVwZWF0KCcgJywgNSArIGkgKiAyKSkgKyAoQXJyYXkuaXNBcnJheSh2bSlcbiAgICAgICAgICAgID8gKChmb3JtYXRDb21wb25lbnROYW1lKHZtWzBdKSkgKyBcIi4uLiAoXCIgKyAodm1bMV0pICsgXCIgcmVjdXJzaXZlIGNhbGxzKVwiKVxuICAgICAgICAgICAgOiBmb3JtYXRDb21wb25lbnROYW1lKHZtKSkpOyB9KVxuICAgICAgICAuam9pbignXFxuJylcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIChcIlxcblxcbihmb3VuZCBpbiBcIiArIChmb3JtYXRDb21wb25lbnROYW1lKHZtKSkgKyBcIilcIilcbiAgICB9XG4gIH07XG59XG5cbi8qICAqL1xuXG52YXIgdWlkID0gMDtcblxuLyoqXG4gKiBBIGRlcCBpcyBhbiBvYnNlcnZhYmxlIHRoYXQgY2FuIGhhdmUgbXVsdGlwbGVcbiAqIGRpcmVjdGl2ZXMgc3Vic2NyaWJpbmcgdG8gaXQuXG4gKi9cbnZhciBEZXAgPSBmdW5jdGlvbiBEZXAgKCkge1xuICB0aGlzLmlkID0gdWlkKys7XG4gIHRoaXMuc3VicyA9IFtdO1xufTtcblxuRGVwLnByb3RvdHlwZS5hZGRTdWIgPSBmdW5jdGlvbiBhZGRTdWIgKHN1Yikge1xuICB0aGlzLnN1YnMucHVzaChzdWIpO1xufTtcblxuRGVwLnByb3RvdHlwZS5yZW1vdmVTdWIgPSBmdW5jdGlvbiByZW1vdmVTdWIgKHN1Yikge1xuICByZW1vdmUodGhpcy5zdWJzLCBzdWIpO1xufTtcblxuRGVwLnByb3RvdHlwZS5kZXBlbmQgPSBmdW5jdGlvbiBkZXBlbmQgKCkge1xuICBpZiAoRGVwLnRhcmdldCkge1xuICAgIERlcC50YXJnZXQuYWRkRGVwKHRoaXMpO1xuICB9XG59O1xuXG5EZXAucHJvdG90eXBlLm5vdGlmeSA9IGZ1bmN0aW9uIG5vdGlmeSAoKSB7XG4gIC8vIHN0YWJpbGl6ZSB0aGUgc3Vic2NyaWJlciBsaXN0IGZpcnN0XG4gIHZhciBzdWJzID0gdGhpcy5zdWJzLnNsaWNlKCk7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFjb25maWcuYXN5bmMpIHtcbiAgICAvLyBzdWJzIGFyZW4ndCBzb3J0ZWQgaW4gc2NoZWR1bGVyIGlmIG5vdCBydW5uaW5nIGFzeW5jXG4gICAgLy8gd2UgbmVlZCB0byBzb3J0IHRoZW0gbm93IHRvIG1ha2Ugc3VyZSB0aGV5IGZpcmUgaW4gY29ycmVjdFxuICAgIC8vIG9yZGVyXG4gICAgc3Vicy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBhLmlkIC0gYi5pZDsgfSk7XG4gIH1cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBzdWJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIHN1YnNbaV0udXBkYXRlKCk7XG4gIH1cbn07XG5cbi8vIFRoZSBjdXJyZW50IHRhcmdldCB3YXRjaGVyIGJlaW5nIGV2YWx1YXRlZC5cbi8vIFRoaXMgaXMgZ2xvYmFsbHkgdW5pcXVlIGJlY2F1c2Ugb25seSBvbmUgd2F0Y2hlclxuLy8gY2FuIGJlIGV2YWx1YXRlZCBhdCBhIHRpbWUuXG5EZXAudGFyZ2V0ID0gbnVsbDtcbnZhciB0YXJnZXRTdGFjayA9IFtdO1xuXG5mdW5jdGlvbiBwdXNoVGFyZ2V0ICh0YXJnZXQpIHtcbiAgdGFyZ2V0U3RhY2sucHVzaCh0YXJnZXQpO1xuICBEZXAudGFyZ2V0ID0gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBwb3BUYXJnZXQgKCkge1xuICB0YXJnZXRTdGFjay5wb3AoKTtcbiAgRGVwLnRhcmdldCA9IHRhcmdldFN0YWNrW3RhcmdldFN0YWNrLmxlbmd0aCAtIDFdO1xufVxuXG4vKiAgKi9cblxudmFyIFZOb2RlID0gZnVuY3Rpb24gVk5vZGUgKFxuICB0YWcsXG4gIGRhdGEsXG4gIGNoaWxkcmVuLFxuICB0ZXh0LFxuICBlbG0sXG4gIGNvbnRleHQsXG4gIGNvbXBvbmVudE9wdGlvbnMsXG4gIGFzeW5jRmFjdG9yeVxuKSB7XG4gIHRoaXMudGFnID0gdGFnO1xuICB0aGlzLmRhdGEgPSBkYXRhO1xuICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIHRoaXMudGV4dCA9IHRleHQ7XG4gIHRoaXMuZWxtID0gZWxtO1xuICB0aGlzLm5zID0gdW5kZWZpbmVkO1xuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICB0aGlzLmZuQ29udGV4dCA9IHVuZGVmaW5lZDtcbiAgdGhpcy5mbk9wdGlvbnMgPSB1bmRlZmluZWQ7XG4gIHRoaXMuZm5TY29wZUlkID0gdW5kZWZpbmVkO1xuICB0aGlzLmtleSA9IGRhdGEgJiYgZGF0YS5rZXk7XG4gIHRoaXMuY29tcG9uZW50T3B0aW9ucyA9IGNvbXBvbmVudE9wdGlvbnM7XG4gIHRoaXMuY29tcG9uZW50SW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gIHRoaXMucGFyZW50ID0gdW5kZWZpbmVkO1xuICB0aGlzLnJhdyA9IGZhbHNlO1xuICB0aGlzLmlzU3RhdGljID0gZmFsc2U7XG4gIHRoaXMuaXNSb290SW5zZXJ0ID0gdHJ1ZTtcbiAgdGhpcy5pc0NvbW1lbnQgPSBmYWxzZTtcbiAgdGhpcy5pc0Nsb25lZCA9IGZhbHNlO1xuICB0aGlzLmlzT25jZSA9IGZhbHNlO1xuICB0aGlzLmFzeW5jRmFjdG9yeSA9IGFzeW5jRmFjdG9yeTtcbiAgdGhpcy5hc3luY01ldGEgPSB1bmRlZmluZWQ7XG4gIHRoaXMuaXNBc3luY1BsYWNlaG9sZGVyID0gZmFsc2U7XG59O1xuXG52YXIgcHJvdG90eXBlQWNjZXNzb3JzID0geyBjaGlsZDogeyBjb25maWd1cmFibGU6IHRydWUgfSB9O1xuXG4vLyBERVBSRUNBVEVEOiBhbGlhcyBmb3IgY29tcG9uZW50SW5zdGFuY2UgZm9yIGJhY2t3YXJkcyBjb21wYXQuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xucHJvdG90eXBlQWNjZXNzb3JzLmNoaWxkLmdldCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMuY29tcG9uZW50SW5zdGFuY2Vcbn07XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKCBWTm9kZS5wcm90b3R5cGUsIHByb3RvdHlwZUFjY2Vzc29ycyApO1xuXG52YXIgY3JlYXRlRW1wdHlWTm9kZSA9IGZ1bmN0aW9uICh0ZXh0KSB7XG4gIGlmICggdGV4dCA9PT0gdm9pZCAwICkgdGV4dCA9ICcnO1xuXG4gIHZhciBub2RlID0gbmV3IFZOb2RlKCk7XG4gIG5vZGUudGV4dCA9IHRleHQ7XG4gIG5vZGUuaXNDb21tZW50ID0gdHJ1ZTtcbiAgcmV0dXJuIG5vZGVcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZVRleHRWTm9kZSAodmFsKSB7XG4gIHJldHVybiBuZXcgVk5vZGUodW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgU3RyaW5nKHZhbCkpXG59XG5cbi8vIG9wdGltaXplZCBzaGFsbG93IGNsb25lXG4vLyB1c2VkIGZvciBzdGF0aWMgbm9kZXMgYW5kIHNsb3Qgbm9kZXMgYmVjYXVzZSB0aGV5IG1heSBiZSByZXVzZWQgYWNyb3NzXG4vLyBtdWx0aXBsZSByZW5kZXJzLCBjbG9uaW5nIHRoZW0gYXZvaWRzIGVycm9ycyB3aGVuIERPTSBtYW5pcHVsYXRpb25zIHJlbHlcbi8vIG9uIHRoZWlyIGVsbSByZWZlcmVuY2UuXG5mdW5jdGlvbiBjbG9uZVZOb2RlICh2bm9kZSkge1xuICB2YXIgY2xvbmVkID0gbmV3IFZOb2RlKFxuICAgIHZub2RlLnRhZyxcbiAgICB2bm9kZS5kYXRhLFxuICAgIC8vICM3OTc1XG4gICAgLy8gY2xvbmUgY2hpbGRyZW4gYXJyYXkgdG8gYXZvaWQgbXV0YXRpbmcgb3JpZ2luYWwgaW4gY2FzZSBvZiBjbG9uaW5nXG4gICAgLy8gYSBjaGlsZC5cbiAgICB2bm9kZS5jaGlsZHJlbiAmJiB2bm9kZS5jaGlsZHJlbi5zbGljZSgpLFxuICAgIHZub2RlLnRleHQsXG4gICAgdm5vZGUuZWxtLFxuICAgIHZub2RlLmNvbnRleHQsXG4gICAgdm5vZGUuY29tcG9uZW50T3B0aW9ucyxcbiAgICB2bm9kZS5hc3luY0ZhY3RvcnlcbiAgKTtcbiAgY2xvbmVkLm5zID0gdm5vZGUubnM7XG4gIGNsb25lZC5pc1N0YXRpYyA9IHZub2RlLmlzU3RhdGljO1xuICBjbG9uZWQua2V5ID0gdm5vZGUua2V5O1xuICBjbG9uZWQuaXNDb21tZW50ID0gdm5vZGUuaXNDb21tZW50O1xuICBjbG9uZWQuZm5Db250ZXh0ID0gdm5vZGUuZm5Db250ZXh0O1xuICBjbG9uZWQuZm5PcHRpb25zID0gdm5vZGUuZm5PcHRpb25zO1xuICBjbG9uZWQuZm5TY29wZUlkID0gdm5vZGUuZm5TY29wZUlkO1xuICBjbG9uZWQuYXN5bmNNZXRhID0gdm5vZGUuYXN5bmNNZXRhO1xuICBjbG9uZWQuaXNDbG9uZWQgPSB0cnVlO1xuICByZXR1cm4gY2xvbmVkXG59XG5cbi8qXG4gKiBub3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRvZXNuJ3QgcGxheSB3ZWxsIHdpdGhcbiAqIGR5bmFtaWNhbGx5IGFjY2Vzc2luZyBtZXRob2RzIG9uIEFycmF5IHByb3RvdHlwZVxuICovXG5cbnZhciBhcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlO1xudmFyIGFycmF5TWV0aG9kcyA9IE9iamVjdC5jcmVhdGUoYXJyYXlQcm90byk7XG5cbnZhciBtZXRob2RzVG9QYXRjaCA9IFtcbiAgJ3B1c2gnLFxuICAncG9wJyxcbiAgJ3NoaWZ0JyxcbiAgJ3Vuc2hpZnQnLFxuICAnc3BsaWNlJyxcbiAgJ3NvcnQnLFxuICAncmV2ZXJzZSdcbl07XG5cbi8qKlxuICogSW50ZXJjZXB0IG11dGF0aW5nIG1ldGhvZHMgYW5kIGVtaXQgZXZlbnRzXG4gKi9cbm1ldGhvZHNUb1BhdGNoLmZvckVhY2goZnVuY3Rpb24gKG1ldGhvZCkge1xuICAvLyBjYWNoZSBvcmlnaW5hbCBtZXRob2RcbiAgdmFyIG9yaWdpbmFsID0gYXJyYXlQcm90b1ttZXRob2RdO1xuICBkZWYoYXJyYXlNZXRob2RzLCBtZXRob2QsIGZ1bmN0aW9uIG11dGF0b3IgKCkge1xuICAgIHZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgd2hpbGUgKCBsZW4tLSApIGFyZ3NbIGxlbiBdID0gYXJndW1lbnRzWyBsZW4gXTtcblxuICAgIHZhciByZXN1bHQgPSBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB2YXIgb2IgPSB0aGlzLl9fb2JfXztcbiAgICB2YXIgaW5zZXJ0ZWQ7XG4gICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgIGNhc2UgJ3B1c2gnOlxuICAgICAgY2FzZSAndW5zaGlmdCc6XG4gICAgICAgIGluc2VydGVkID0gYXJncztcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3NwbGljZSc6XG4gICAgICAgIGluc2VydGVkID0gYXJncy5zbGljZSgyKTtcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgaWYgKGluc2VydGVkKSB7IG9iLm9ic2VydmVBcnJheShpbnNlcnRlZCk7IH1cbiAgICAvLyBub3RpZnkgY2hhbmdlXG4gICAgb2IuZGVwLm5vdGlmeSgpO1xuICAgIHJldHVybiByZXN1bHRcbiAgfSk7XG59KTtcblxuLyogICovXG5cbnZhciBhcnJheUtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnJheU1ldGhvZHMpO1xuXG4vKipcbiAqIEluIHNvbWUgY2FzZXMgd2UgbWF5IHdhbnQgdG8gZGlzYWJsZSBvYnNlcnZhdGlvbiBpbnNpZGUgYSBjb21wb25lbnQnc1xuICogdXBkYXRlIGNvbXB1dGF0aW9uLlxuICovXG52YXIgc2hvdWxkT2JzZXJ2ZSA9IHRydWU7XG5cbmZ1bmN0aW9uIHRvZ2dsZU9ic2VydmluZyAodmFsdWUpIHtcbiAgc2hvdWxkT2JzZXJ2ZSA9IHZhbHVlO1xufVxuXG4vKipcbiAqIE9ic2VydmVyIGNsYXNzIHRoYXQgaXMgYXR0YWNoZWQgdG8gZWFjaCBvYnNlcnZlZFxuICogb2JqZWN0LiBPbmNlIGF0dGFjaGVkLCB0aGUgb2JzZXJ2ZXIgY29udmVydHMgdGhlIHRhcmdldFxuICogb2JqZWN0J3MgcHJvcGVydHkga2V5cyBpbnRvIGdldHRlci9zZXR0ZXJzIHRoYXRcbiAqIGNvbGxlY3QgZGVwZW5kZW5jaWVzIGFuZCBkaXNwYXRjaCB1cGRhdGVzLlxuICovXG52YXIgT2JzZXJ2ZXIgPSBmdW5jdGlvbiBPYnNlcnZlciAodmFsdWUpIHtcbiAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB0aGlzLmRlcCA9IG5ldyBEZXAoKTtcbiAgdGhpcy52bUNvdW50ID0gMDtcbiAgZGVmKHZhbHVlLCAnX19vYl9fJywgdGhpcyk7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGlmIChoYXNQcm90bykge1xuICAgICAgcHJvdG9BdWdtZW50KHZhbHVlLCBhcnJheU1ldGhvZHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb3B5QXVnbWVudCh2YWx1ZSwgYXJyYXlNZXRob2RzLCBhcnJheUtleXMpO1xuICAgIH1cbiAgICB0aGlzLm9ic2VydmVBcnJheSh2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy53YWxrKHZhbHVlKTtcbiAgfVxufTtcblxuLyoqXG4gKiBXYWxrIHRocm91Z2ggYWxsIHByb3BlcnRpZXMgYW5kIGNvbnZlcnQgdGhlbSBpbnRvXG4gKiBnZXR0ZXIvc2V0dGVycy4gVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdoZW5cbiAqIHZhbHVlIHR5cGUgaXMgT2JqZWN0LlxuICovXG5PYnNlcnZlci5wcm90b3R5cGUud2FsayA9IGZ1bmN0aW9uIHdhbGsgKG9iaikge1xuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKG9iaiwga2V5c1tpXSk7XG4gIH1cbn07XG5cbi8qKlxuICogT2JzZXJ2ZSBhIGxpc3Qgb2YgQXJyYXkgaXRlbXMuXG4gKi9cbk9ic2VydmVyLnByb3RvdHlwZS5vYnNlcnZlQXJyYXkgPSBmdW5jdGlvbiBvYnNlcnZlQXJyYXkgKGl0ZW1zKSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0gaXRlbXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgb2JzZXJ2ZShpdGVtc1tpXSk7XG4gIH1cbn07XG5cbi8vIGhlbHBlcnNcblxuLyoqXG4gKiBBdWdtZW50IGEgdGFyZ2V0IE9iamVjdCBvciBBcnJheSBieSBpbnRlcmNlcHRpbmdcbiAqIHRoZSBwcm90b3R5cGUgY2hhaW4gdXNpbmcgX19wcm90b19fXG4gKi9cbmZ1bmN0aW9uIHByb3RvQXVnbWVudCAodGFyZ2V0LCBzcmMpIHtcbiAgLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG8gKi9cbiAgdGFyZ2V0Ll9fcHJvdG9fXyA9IHNyYztcbiAgLyogZXNsaW50LWVuYWJsZSBuby1wcm90byAqL1xufVxuXG4vKipcbiAqIEF1Z21lbnQgYSB0YXJnZXQgT2JqZWN0IG9yIEFycmF5IGJ5IGRlZmluaW5nXG4gKiBoaWRkZW4gcHJvcGVydGllcy5cbiAqL1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGNvcHlBdWdtZW50ICh0YXJnZXQsIHNyYywga2V5cykge1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGtleXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgZGVmKHRhcmdldCwga2V5LCBzcmNba2V5XSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBdHRlbXB0IHRvIGNyZWF0ZSBhbiBvYnNlcnZlciBpbnN0YW5jZSBmb3IgYSB2YWx1ZSxcbiAqIHJldHVybnMgdGhlIG5ldyBvYnNlcnZlciBpZiBzdWNjZXNzZnVsbHkgb2JzZXJ2ZWQsXG4gKiBvciB0aGUgZXhpc3Rpbmcgb2JzZXJ2ZXIgaWYgdGhlIHZhbHVlIGFscmVhZHkgaGFzIG9uZS5cbiAqL1xuZnVuY3Rpb24gb2JzZXJ2ZSAodmFsdWUsIGFzUm9vdERhdGEpIHtcbiAgaWYgKCFpc09iamVjdCh2YWx1ZSkgfHwgdmFsdWUgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvYjtcbiAgaWYgKGhhc093bih2YWx1ZSwgJ19fb2JfXycpICYmIHZhbHVlLl9fb2JfXyBpbnN0YW5jZW9mIE9ic2VydmVyKSB7XG4gICAgb2IgPSB2YWx1ZS5fX29iX187XG4gIH0gZWxzZSBpZiAoXG4gICAgc2hvdWxkT2JzZXJ2ZSAmJlxuICAgICFpc1NlcnZlclJlbmRlcmluZygpICYmXG4gICAgKEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IGlzUGxhaW5PYmplY3QodmFsdWUpKSAmJlxuICAgIE9iamVjdC5pc0V4dGVuc2libGUodmFsdWUpICYmXG4gICAgIXZhbHVlLl9pc1Z1ZVxuICApIHtcbiAgICBvYiA9IG5ldyBPYnNlcnZlcih2YWx1ZSk7XG4gIH1cbiAgaWYgKGFzUm9vdERhdGEgJiYgb2IpIHtcbiAgICBvYi52bUNvdW50Kys7XG4gIH1cbiAgcmV0dXJuIG9iXG59XG5cbi8qKlxuICogRGVmaW5lIGEgcmVhY3RpdmUgcHJvcGVydHkgb24gYW4gT2JqZWN0LlxuICovXG5mdW5jdGlvbiBkZWZpbmVSZWFjdGl2ZSQkMSAoXG4gIG9iaixcbiAga2V5LFxuICB2YWwsXG4gIGN1c3RvbVNldHRlcixcbiAgc2hhbGxvd1xuKSB7XG4gIHZhciBkZXAgPSBuZXcgRGVwKCk7XG5cbiAgdmFyIHByb3BlcnR5ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSk7XG4gIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBjYXRlciBmb3IgcHJlLWRlZmluZWQgZ2V0dGVyL3NldHRlcnNcbiAgdmFyIGdldHRlciA9IHByb3BlcnR5ICYmIHByb3BlcnR5LmdldDtcbiAgdmFyIHNldHRlciA9IHByb3BlcnR5ICYmIHByb3BlcnR5LnNldDtcbiAgaWYgKCghZ2V0dGVyIHx8IHNldHRlcikgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikge1xuICAgIHZhbCA9IG9ialtrZXldO1xuICB9XG5cbiAgdmFyIGNoaWxkT2IgPSAhc2hhbGxvdyAmJiBvYnNlcnZlKHZhbCk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24gcmVhY3RpdmVHZXR0ZXIgKCkge1xuICAgICAgdmFyIHZhbHVlID0gZ2V0dGVyID8gZ2V0dGVyLmNhbGwob2JqKSA6IHZhbDtcbiAgICAgIGlmIChEZXAudGFyZ2V0KSB7XG4gICAgICAgIGRlcC5kZXBlbmQoKTtcbiAgICAgICAgaWYgKGNoaWxkT2IpIHtcbiAgICAgICAgICBjaGlsZE9iLmRlcC5kZXBlbmQoKTtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZEFycmF5KHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZVxuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiByZWFjdGl2ZVNldHRlciAobmV3VmFsKSB7XG4gICAgICB2YXIgdmFsdWUgPSBnZXR0ZXIgPyBnZXR0ZXIuY2FsbChvYmopIDogdmFsO1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tc2VsZi1jb21wYXJlICovXG4gICAgICBpZiAobmV3VmFsID09PSB2YWx1ZSB8fCAobmV3VmFsICE9PSBuZXdWYWwgJiYgdmFsdWUgIT09IHZhbHVlKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIC8qIGVzbGludC1lbmFibGUgbm8tc2VsZi1jb21wYXJlICovXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjdXN0b21TZXR0ZXIpIHtcbiAgICAgICAgY3VzdG9tU2V0dGVyKCk7XG4gICAgICB9XG4gICAgICAvLyAjNzk4MTogZm9yIGFjY2Vzc29yIHByb3BlcnRpZXMgd2l0aG91dCBzZXR0ZXJcbiAgICAgIGlmIChnZXR0ZXIgJiYgIXNldHRlcikgeyByZXR1cm4gfVxuICAgICAgaWYgKHNldHRlcikge1xuICAgICAgICBzZXR0ZXIuY2FsbChvYmosIG5ld1ZhbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWwgPSBuZXdWYWw7XG4gICAgICB9XG4gICAgICBjaGlsZE9iID0gIXNoYWxsb3cgJiYgb2JzZXJ2ZShuZXdWYWwpO1xuICAgICAgZGVwLm5vdGlmeSgpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogU2V0IGEgcHJvcGVydHkgb24gYW4gb2JqZWN0LiBBZGRzIHRoZSBuZXcgcHJvcGVydHkgYW5kXG4gKiB0cmlnZ2VycyBjaGFuZ2Ugbm90aWZpY2F0aW9uIGlmIHRoZSBwcm9wZXJ0eSBkb2Vzbid0XG4gKiBhbHJlYWR5IGV4aXN0LlxuICovXG5mdW5jdGlvbiBzZXQgKHRhcmdldCwga2V5LCB2YWwpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAoaXNVbmRlZih0YXJnZXQpIHx8IGlzUHJpbWl0aXZlKHRhcmdldCkpXG4gICkge1xuICAgIHdhcm4oKFwiQ2Fubm90IHNldCByZWFjdGl2ZSBwcm9wZXJ0eSBvbiB1bmRlZmluZWQsIG51bGwsIG9yIHByaW1pdGl2ZSB2YWx1ZTogXCIgKyAoKHRhcmdldCkpKSk7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0KSAmJiBpc1ZhbGlkQXJyYXlJbmRleChrZXkpKSB7XG4gICAgdGFyZ2V0Lmxlbmd0aCA9IE1hdGgubWF4KHRhcmdldC5sZW5ndGgsIGtleSk7XG4gICAgdGFyZ2V0LnNwbGljZShrZXksIDEsIHZhbCk7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIGlmIChrZXkgaW4gdGFyZ2V0ICYmICEoa2V5IGluIE9iamVjdC5wcm90b3R5cGUpKSB7XG4gICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIHZhciBvYiA9ICh0YXJnZXQpLl9fb2JfXztcbiAgaWYgKHRhcmdldC5faXNWdWUgfHwgKG9iICYmIG9iLnZtQ291bnQpKSB7XG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgJ0F2b2lkIGFkZGluZyByZWFjdGl2ZSBwcm9wZXJ0aWVzIHRvIGEgVnVlIGluc3RhbmNlIG9yIGl0cyByb290ICRkYXRhICcgK1xuICAgICAgJ2F0IHJ1bnRpbWUgLSBkZWNsYXJlIGl0IHVwZnJvbnQgaW4gdGhlIGRhdGEgb3B0aW9uLidcbiAgICApO1xuICAgIHJldHVybiB2YWxcbiAgfVxuICBpZiAoIW9iKSB7XG4gICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIGRlZmluZVJlYWN0aXZlJCQxKG9iLnZhbHVlLCBrZXksIHZhbCk7XG4gIG9iLmRlcC5ub3RpZnkoKTtcbiAgcmV0dXJuIHZhbFxufVxuXG4vKipcbiAqIERlbGV0ZSBhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGNoYW5nZSBpZiBuZWNlc3NhcnkuXG4gKi9cbmZ1bmN0aW9uIGRlbCAodGFyZ2V0LCBrZXkpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAoaXNVbmRlZih0YXJnZXQpIHx8IGlzUHJpbWl0aXZlKHRhcmdldCkpXG4gICkge1xuICAgIHdhcm4oKFwiQ2Fubm90IGRlbGV0ZSByZWFjdGl2ZSBwcm9wZXJ0eSBvbiB1bmRlZmluZWQsIG51bGwsIG9yIHByaW1pdGl2ZSB2YWx1ZTogXCIgKyAoKHRhcmdldCkpKSk7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0KSAmJiBpc1ZhbGlkQXJyYXlJbmRleChrZXkpKSB7XG4gICAgdGFyZ2V0LnNwbGljZShrZXksIDEpO1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvYiA9ICh0YXJnZXQpLl9fb2JfXztcbiAgaWYgKHRhcmdldC5faXNWdWUgfHwgKG9iICYmIG9iLnZtQ291bnQpKSB7XG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgJ0F2b2lkIGRlbGV0aW5nIHByb3BlcnRpZXMgb24gYSBWdWUgaW5zdGFuY2Ugb3IgaXRzIHJvb3QgJGRhdGEgJyArXG4gICAgICAnLSBqdXN0IHNldCBpdCB0byBudWxsLidcbiAgICApO1xuICAgIHJldHVyblxuICB9XG4gIGlmICghaGFzT3duKHRhcmdldCwga2V5KSkge1xuICAgIHJldHVyblxuICB9XG4gIGRlbGV0ZSB0YXJnZXRba2V5XTtcbiAgaWYgKCFvYikge1xuICAgIHJldHVyblxuICB9XG4gIG9iLmRlcC5ub3RpZnkoKTtcbn1cblxuLyoqXG4gKiBDb2xsZWN0IGRlcGVuZGVuY2llcyBvbiBhcnJheSBlbGVtZW50cyB3aGVuIHRoZSBhcnJheSBpcyB0b3VjaGVkLCBzaW5jZVxuICogd2UgY2Fubm90IGludGVyY2VwdCBhcnJheSBlbGVtZW50IGFjY2VzcyBsaWtlIHByb3BlcnR5IGdldHRlcnMuXG4gKi9cbmZ1bmN0aW9uIGRlcGVuZEFycmF5ICh2YWx1ZSkge1xuICBmb3IgKHZhciBlID0gKHZvaWQgMCksIGkgPSAwLCBsID0gdmFsdWUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgZSA9IHZhbHVlW2ldO1xuICAgIGUgJiYgZS5fX29iX18gJiYgZS5fX29iX18uZGVwLmRlcGVuZCgpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGUpKSB7XG4gICAgICBkZXBlbmRBcnJheShlKTtcbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbi8qKlxuICogT3B0aW9uIG92ZXJ3cml0aW5nIHN0cmF0ZWdpZXMgYXJlIGZ1bmN0aW9ucyB0aGF0IGhhbmRsZVxuICogaG93IHRvIG1lcmdlIGEgcGFyZW50IG9wdGlvbiB2YWx1ZSBhbmQgYSBjaGlsZCBvcHRpb25cbiAqIHZhbHVlIGludG8gdGhlIGZpbmFsIHZhbHVlLlxuICovXG52YXIgc3RyYXRzID0gY29uZmlnLm9wdGlvbk1lcmdlU3RyYXRlZ2llcztcblxuLyoqXG4gKiBPcHRpb25zIHdpdGggcmVzdHJpY3Rpb25zXG4gKi9cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHN0cmF0cy5lbCA9IHN0cmF0cy5wcm9wc0RhdGEgPSBmdW5jdGlvbiAocGFyZW50LCBjaGlsZCwgdm0sIGtleSkge1xuICAgIGlmICghdm0pIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIFwib3B0aW9uIFxcXCJcIiArIGtleSArIFwiXFxcIiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnN0YW5jZSBcIiArXG4gICAgICAgICdjcmVhdGlvbiB3aXRoIHRoZSBgbmV3YCBrZXl3b3JkLidcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBkZWZhdWx0U3RyYXQocGFyZW50LCBjaGlsZClcbiAgfTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgdGhhdCByZWN1cnNpdmVseSBtZXJnZXMgdHdvIGRhdGEgb2JqZWN0cyB0b2dldGhlci5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VEYXRhICh0bywgZnJvbSkge1xuICBpZiAoIWZyb20pIHsgcmV0dXJuIHRvIH1cbiAgdmFyIGtleSwgdG9WYWwsIGZyb21WYWw7XG5cbiAgdmFyIGtleXMgPSBoYXNTeW1ib2xcbiAgICA/IFJlZmxlY3Qub3duS2V5cyhmcm9tKVxuICAgIDogT2JqZWN0LmtleXMoZnJvbSk7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAga2V5ID0ga2V5c1tpXTtcbiAgICAvLyBpbiBjYXNlIHRoZSBvYmplY3QgaXMgYWxyZWFkeSBvYnNlcnZlZC4uLlxuICAgIGlmIChrZXkgPT09ICdfX29iX18nKSB7IGNvbnRpbnVlIH1cbiAgICB0b1ZhbCA9IHRvW2tleV07XG4gICAgZnJvbVZhbCA9IGZyb21ba2V5XTtcbiAgICBpZiAoIWhhc093bih0bywga2V5KSkge1xuICAgICAgc2V0KHRvLCBrZXksIGZyb21WYWwpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0b1ZhbCAhPT0gZnJvbVZhbCAmJlxuICAgICAgaXNQbGFpbk9iamVjdCh0b1ZhbCkgJiZcbiAgICAgIGlzUGxhaW5PYmplY3QoZnJvbVZhbClcbiAgICApIHtcbiAgICAgIG1lcmdlRGF0YSh0b1ZhbCwgZnJvbVZhbCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB0b1xufVxuXG4vKipcbiAqIERhdGFcbiAqL1xuZnVuY3Rpb24gbWVyZ2VEYXRhT3JGbiAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWwsXG4gIHZtXG4pIHtcbiAgaWYgKCF2bSkge1xuICAgIC8vIGluIGEgVnVlLmV4dGVuZCBtZXJnZSwgYm90aCBzaG91bGQgYmUgZnVuY3Rpb25zXG4gICAgaWYgKCFjaGlsZFZhbCkge1xuICAgICAgcmV0dXJuIHBhcmVudFZhbFxuICAgIH1cbiAgICBpZiAoIXBhcmVudFZhbCkge1xuICAgICAgcmV0dXJuIGNoaWxkVmFsXG4gICAgfVxuICAgIC8vIHdoZW4gcGFyZW50VmFsICYgY2hpbGRWYWwgYXJlIGJvdGggcHJlc2VudCxcbiAgICAvLyB3ZSBuZWVkIHRvIHJldHVybiBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGVcbiAgICAvLyBtZXJnZWQgcmVzdWx0IG9mIGJvdGggZnVuY3Rpb25zLi4uIG5vIG5lZWQgdG9cbiAgICAvLyBjaGVjayBpZiBwYXJlbnRWYWwgaXMgYSBmdW5jdGlvbiBoZXJlIGJlY2F1c2VcbiAgICAvLyBpdCBoYXMgdG8gYmUgYSBmdW5jdGlvbiB0byBwYXNzIHByZXZpb3VzIG1lcmdlcy5cbiAgICByZXR1cm4gZnVuY3Rpb24gbWVyZ2VkRGF0YUZuICgpIHtcbiAgICAgIHJldHVybiBtZXJnZURhdGEoXG4gICAgICAgIHR5cGVvZiBjaGlsZFZhbCA9PT0gJ2Z1bmN0aW9uJyA/IGNoaWxkVmFsLmNhbGwodGhpcywgdGhpcykgOiBjaGlsZFZhbCxcbiAgICAgICAgdHlwZW9mIHBhcmVudFZhbCA9PT0gJ2Z1bmN0aW9uJyA/IHBhcmVudFZhbC5jYWxsKHRoaXMsIHRoaXMpIDogcGFyZW50VmFsXG4gICAgICApXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBmdW5jdGlvbiBtZXJnZWRJbnN0YW5jZURhdGFGbiAoKSB7XG4gICAgICAvLyBpbnN0YW5jZSBtZXJnZVxuICAgICAgdmFyIGluc3RhbmNlRGF0YSA9IHR5cGVvZiBjaGlsZFZhbCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNoaWxkVmFsLmNhbGwodm0sIHZtKVxuICAgICAgICA6IGNoaWxkVmFsO1xuICAgICAgdmFyIGRlZmF1bHREYXRhID0gdHlwZW9mIHBhcmVudFZhbCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IHBhcmVudFZhbC5jYWxsKHZtLCB2bSlcbiAgICAgICAgOiBwYXJlbnRWYWw7XG4gICAgICBpZiAoaW5zdGFuY2VEYXRhKSB7XG4gICAgICAgIHJldHVybiBtZXJnZURhdGEoaW5zdGFuY2VEYXRhLCBkZWZhdWx0RGF0YSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0RGF0YVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5zdHJhdHMuZGF0YSA9IGZ1bmN0aW9uIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbCxcbiAgdm1cbikge1xuICBpZiAoIXZtKSB7XG4gICAgaWYgKGNoaWxkVmFsICYmIHR5cGVvZiBjaGlsZFZhbCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICAnVGhlIFwiZGF0YVwiIG9wdGlvbiBzaG91bGQgYmUgYSBmdW5jdGlvbiAnICtcbiAgICAgICAgJ3RoYXQgcmV0dXJucyBhIHBlci1pbnN0YW5jZSB2YWx1ZSBpbiBjb21wb25lbnQgJyArXG4gICAgICAgICdkZWZpbml0aW9ucy4nLFxuICAgICAgICB2bVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHBhcmVudFZhbFxuICAgIH1cbiAgICByZXR1cm4gbWVyZ2VEYXRhT3JGbihwYXJlbnRWYWwsIGNoaWxkVmFsKVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlRGF0YU9yRm4ocGFyZW50VmFsLCBjaGlsZFZhbCwgdm0pXG59O1xuXG4vKipcbiAqIEhvb2tzIGFuZCBwcm9wcyBhcmUgbWVyZ2VkIGFzIGFycmF5cy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VIb29rIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbFxuKSB7XG4gIHZhciByZXMgPSBjaGlsZFZhbFxuICAgID8gcGFyZW50VmFsXG4gICAgICA/IHBhcmVudFZhbC5jb25jYXQoY2hpbGRWYWwpXG4gICAgICA6IEFycmF5LmlzQXJyYXkoY2hpbGRWYWwpXG4gICAgICAgID8gY2hpbGRWYWxcbiAgICAgICAgOiBbY2hpbGRWYWxdXG4gICAgOiBwYXJlbnRWYWw7XG4gIHJldHVybiByZXNcbiAgICA/IGRlZHVwZUhvb2tzKHJlcylcbiAgICA6IHJlc1xufVxuXG5mdW5jdGlvbiBkZWR1cGVIb29rcyAoaG9va3MpIHtcbiAgdmFyIHJlcyA9IFtdO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHJlcy5pbmRleE9mKGhvb2tzW2ldKSA9PT0gLTEpIHtcbiAgICAgIHJlcy5wdXNoKGhvb2tzW2ldKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5MSUZFQ1lDTEVfSE9PS1MuZm9yRWFjaChmdW5jdGlvbiAoaG9vaykge1xuICBzdHJhdHNbaG9va10gPSBtZXJnZUhvb2s7XG59KTtcblxuLyoqXG4gKiBBc3NldHNcbiAqXG4gKiBXaGVuIGEgdm0gaXMgcHJlc2VudCAoaW5zdGFuY2UgY3JlYXRpb24pLCB3ZSBuZWVkIHRvIGRvXG4gKiBhIHRocmVlLXdheSBtZXJnZSBiZXR3ZWVuIGNvbnN0cnVjdG9yIG9wdGlvbnMsIGluc3RhbmNlXG4gKiBvcHRpb25zIGFuZCBwYXJlbnQgb3B0aW9ucy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VBc3NldHMgKFxuICBwYXJlbnRWYWwsXG4gIGNoaWxkVmFsLFxuICB2bSxcbiAga2V5XG4pIHtcbiAgdmFyIHJlcyA9IE9iamVjdC5jcmVhdGUocGFyZW50VmFsIHx8IG51bGwpO1xuICBpZiAoY2hpbGRWYWwpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICAgIHJldHVybiBleHRlbmQocmVzLCBjaGlsZFZhbClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcmVzXG4gIH1cbn1cblxuQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICBzdHJhdHNbdHlwZSArICdzJ10gPSBtZXJnZUFzc2V0cztcbn0pO1xuXG4vKipcbiAqIFdhdGNoZXJzLlxuICpcbiAqIFdhdGNoZXJzIGhhc2hlcyBzaG91bGQgbm90IG92ZXJ3cml0ZSBvbmVcbiAqIGFub3RoZXIsIHNvIHdlIG1lcmdlIHRoZW0gYXMgYXJyYXlzLlxuICovXG5zdHJhdHMud2F0Y2ggPSBmdW5jdGlvbiAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWwsXG4gIHZtLFxuICBrZXlcbikge1xuICAvLyB3b3JrIGFyb3VuZCBGaXJlZm94J3MgT2JqZWN0LnByb3RvdHlwZS53YXRjaC4uLlxuICBpZiAocGFyZW50VmFsID09PSBuYXRpdmVXYXRjaCkgeyBwYXJlbnRWYWwgPSB1bmRlZmluZWQ7IH1cbiAgaWYgKGNoaWxkVmFsID09PSBuYXRpdmVXYXRjaCkgeyBjaGlsZFZhbCA9IHVuZGVmaW5lZDsgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKCFjaGlsZFZhbCkgeyByZXR1cm4gT2JqZWN0LmNyZWF0ZShwYXJlbnRWYWwgfHwgbnVsbCkgfVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICB9XG4gIGlmICghcGFyZW50VmFsKSB7IHJldHVybiBjaGlsZFZhbCB9XG4gIHZhciByZXQgPSB7fTtcbiAgZXh0ZW5kKHJldCwgcGFyZW50VmFsKTtcbiAgZm9yICh2YXIga2V5JDEgaW4gY2hpbGRWYWwpIHtcbiAgICB2YXIgcGFyZW50ID0gcmV0W2tleSQxXTtcbiAgICB2YXIgY2hpbGQgPSBjaGlsZFZhbFtrZXkkMV07XG4gICAgaWYgKHBhcmVudCAmJiAhQXJyYXkuaXNBcnJheShwYXJlbnQpKSB7XG4gICAgICBwYXJlbnQgPSBbcGFyZW50XTtcbiAgICB9XG4gICAgcmV0W2tleSQxXSA9IHBhcmVudFxuICAgICAgPyBwYXJlbnQuY29uY2F0KGNoaWxkKVxuICAgICAgOiBBcnJheS5pc0FycmF5KGNoaWxkKSA/IGNoaWxkIDogW2NoaWxkXTtcbiAgfVxuICByZXR1cm4gcmV0XG59O1xuXG4vKipcbiAqIE90aGVyIG9iamVjdCBoYXNoZXMuXG4gKi9cbnN0cmF0cy5wcm9wcyA9XG5zdHJhdHMubWV0aG9kcyA9XG5zdHJhdHMuaW5qZWN0ID1cbnN0cmF0cy5jb21wdXRlZCA9IGZ1bmN0aW9uIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbCxcbiAgdm0sXG4gIGtleVxuKSB7XG4gIGlmIChjaGlsZFZhbCAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgYXNzZXJ0T2JqZWN0VHlwZShrZXksIGNoaWxkVmFsLCB2bSk7XG4gIH1cbiAgaWYgKCFwYXJlbnRWYWwpIHsgcmV0dXJuIGNoaWxkVmFsIH1cbiAgdmFyIHJldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGV4dGVuZChyZXQsIHBhcmVudFZhbCk7XG4gIGlmIChjaGlsZFZhbCkgeyBleHRlbmQocmV0LCBjaGlsZFZhbCk7IH1cbiAgcmV0dXJuIHJldFxufTtcbnN0cmF0cy5wcm92aWRlID0gbWVyZ2VEYXRhT3JGbjtcblxuLyoqXG4gKiBEZWZhdWx0IHN0cmF0ZWd5LlxuICovXG52YXIgZGVmYXVsdFN0cmF0ID0gZnVuY3Rpb24gKHBhcmVudFZhbCwgY2hpbGRWYWwpIHtcbiAgcmV0dXJuIGNoaWxkVmFsID09PSB1bmRlZmluZWRcbiAgICA/IHBhcmVudFZhbFxuICAgIDogY2hpbGRWYWxcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgY29tcG9uZW50IG5hbWVzXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ29tcG9uZW50cyAob3B0aW9ucykge1xuICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucy5jb21wb25lbnRzKSB7XG4gICAgdmFsaWRhdGVDb21wb25lbnROYW1lKGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVDb21wb25lbnROYW1lIChuYW1lKSB7XG4gIGlmICghbmV3IFJlZ0V4cCgoXCJeW2EtekEtWl1bXFxcXC1cXFxcLjAtOV9cIiArICh1bmljb2RlUmVnRXhwLnNvdXJjZSkgKyBcIl0qJFwiKSkudGVzdChuYW1lKSkge1xuICAgIHdhcm4oXG4gICAgICAnSW52YWxpZCBjb21wb25lbnQgbmFtZTogXCInICsgbmFtZSArICdcIi4gQ29tcG9uZW50IG5hbWVzICcgK1xuICAgICAgJ3Nob3VsZCBjb25mb3JtIHRvIHZhbGlkIGN1c3RvbSBlbGVtZW50IG5hbWUgaW4gaHRtbDUgc3BlY2lmaWNhdGlvbi4nXG4gICAgKTtcbiAgfVxuICBpZiAoaXNCdWlsdEluVGFnKG5hbWUpIHx8IGNvbmZpZy5pc1Jlc2VydmVkVGFnKG5hbWUpKSB7XG4gICAgd2FybihcbiAgICAgICdEbyBub3QgdXNlIGJ1aWx0LWluIG9yIHJlc2VydmVkIEhUTUwgZWxlbWVudHMgYXMgY29tcG9uZW50ICcgK1xuICAgICAgJ2lkOiAnICsgbmFtZVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBFbnN1cmUgYWxsIHByb3BzIG9wdGlvbiBzeW50YXggYXJlIG5vcm1hbGl6ZWQgaW50byB0aGVcbiAqIE9iamVjdC1iYXNlZCBmb3JtYXQuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZVByb3BzIChvcHRpb25zLCB2bSkge1xuICB2YXIgcHJvcHMgPSBvcHRpb25zLnByb3BzO1xuICBpZiAoIXByb3BzKSB7IHJldHVybiB9XG4gIHZhciByZXMgPSB7fTtcbiAgdmFyIGksIHZhbCwgbmFtZTtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvcHMpKSB7XG4gICAgaSA9IHByb3BzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB2YWwgPSBwcm9wc1tpXTtcbiAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICBuYW1lID0gY2FtZWxpemUodmFsKTtcbiAgICAgICAgcmVzW25hbWVdID0geyB0eXBlOiBudWxsIH07XG4gICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgd2FybigncHJvcHMgbXVzdCBiZSBzdHJpbmdzIHdoZW4gdXNpbmcgYXJyYXkgc3ludGF4LicpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc1BsYWluT2JqZWN0KHByb3BzKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wcykge1xuICAgICAgdmFsID0gcHJvcHNba2V5XTtcbiAgICAgIG5hbWUgPSBjYW1lbGl6ZShrZXkpO1xuICAgICAgcmVzW25hbWVdID0gaXNQbGFpbk9iamVjdCh2YWwpXG4gICAgICAgID8gdmFsXG4gICAgICAgIDogeyB0eXBlOiB2YWwgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHdhcm4oXG4gICAgICBcIkludmFsaWQgdmFsdWUgZm9yIG9wdGlvbiBcXFwicHJvcHNcXFwiOiBleHBlY3RlZCBhbiBBcnJheSBvciBhbiBPYmplY3QsIFwiICtcbiAgICAgIFwiYnV0IGdvdCBcIiArICh0b1Jhd1R5cGUocHJvcHMpKSArIFwiLlwiLFxuICAgICAgdm1cbiAgICApO1xuICB9XG4gIG9wdGlvbnMucHJvcHMgPSByZXM7XG59XG5cbi8qKlxuICogTm9ybWFsaXplIGFsbCBpbmplY3Rpb25zIGludG8gT2JqZWN0LWJhc2VkIGZvcm1hdFxuICovXG5mdW5jdGlvbiBub3JtYWxpemVJbmplY3QgKG9wdGlvbnMsIHZtKSB7XG4gIHZhciBpbmplY3QgPSBvcHRpb25zLmluamVjdDtcbiAgaWYgKCFpbmplY3QpIHsgcmV0dXJuIH1cbiAgdmFyIG5vcm1hbGl6ZWQgPSBvcHRpb25zLmluamVjdCA9IHt9O1xuICBpZiAoQXJyYXkuaXNBcnJheShpbmplY3QpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbmplY3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIG5vcm1hbGl6ZWRbaW5qZWN0W2ldXSA9IHsgZnJvbTogaW5qZWN0W2ldIH07XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3QoaW5qZWN0KSkge1xuICAgIGZvciAodmFyIGtleSBpbiBpbmplY3QpIHtcbiAgICAgIHZhciB2YWwgPSBpbmplY3Rba2V5XTtcbiAgICAgIG5vcm1hbGl6ZWRba2V5XSA9IGlzUGxhaW5PYmplY3QodmFsKVxuICAgICAgICA/IGV4dGVuZCh7IGZyb206IGtleSB9LCB2YWwpXG4gICAgICAgIDogeyBmcm9tOiB2YWwgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHdhcm4oXG4gICAgICBcIkludmFsaWQgdmFsdWUgZm9yIG9wdGlvbiBcXFwiaW5qZWN0XFxcIjogZXhwZWN0ZWQgYW4gQXJyYXkgb3IgYW4gT2JqZWN0LCBcIiArXG4gICAgICBcImJ1dCBnb3QgXCIgKyAodG9SYXdUeXBlKGluamVjdCkpICsgXCIuXCIsXG4gICAgICB2bVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgcmF3IGZ1bmN0aW9uIGRpcmVjdGl2ZXMgaW50byBvYmplY3QgZm9ybWF0LlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVEaXJlY3RpdmVzIChvcHRpb25zKSB7XG4gIHZhciBkaXJzID0gb3B0aW9ucy5kaXJlY3RpdmVzO1xuICBpZiAoZGlycykge1xuICAgIGZvciAodmFyIGtleSBpbiBkaXJzKSB7XG4gICAgICB2YXIgZGVmJCQxID0gZGlyc1trZXldO1xuICAgICAgaWYgKHR5cGVvZiBkZWYkJDEgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZGlyc1trZXldID0geyBiaW5kOiBkZWYkJDEsIHVwZGF0ZTogZGVmJCQxIH07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydE9iamVjdFR5cGUgKG5hbWUsIHZhbHVlLCB2bSkge1xuICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG4gICAgd2FybihcbiAgICAgIFwiSW52YWxpZCB2YWx1ZSBmb3Igb3B0aW9uIFxcXCJcIiArIG5hbWUgKyBcIlxcXCI6IGV4cGVjdGVkIGFuIE9iamVjdCwgXCIgK1xuICAgICAgXCJidXQgZ290IFwiICsgKHRvUmF3VHlwZSh2YWx1ZSkpICsgXCIuXCIsXG4gICAgICB2bVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBNZXJnZSB0d28gb3B0aW9uIG9iamVjdHMgaW50byBhIG5ldyBvbmUuXG4gKiBDb3JlIHV0aWxpdHkgdXNlZCBpbiBib3RoIGluc3RhbnRpYXRpb24gYW5kIGluaGVyaXRhbmNlLlxuICovXG5mdW5jdGlvbiBtZXJnZU9wdGlvbnMgKFxuICBwYXJlbnQsXG4gIGNoaWxkLFxuICB2bVxuKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY2hlY2tDb21wb25lbnRzKGNoaWxkKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgY2hpbGQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjaGlsZCA9IGNoaWxkLm9wdGlvbnM7XG4gIH1cblxuICBub3JtYWxpemVQcm9wcyhjaGlsZCwgdm0pO1xuICBub3JtYWxpemVJbmplY3QoY2hpbGQsIHZtKTtcbiAgbm9ybWFsaXplRGlyZWN0aXZlcyhjaGlsZCk7XG5cbiAgLy8gQXBwbHkgZXh0ZW5kcyBhbmQgbWl4aW5zIG9uIHRoZSBjaGlsZCBvcHRpb25zLFxuICAvLyBidXQgb25seSBpZiBpdCBpcyBhIHJhdyBvcHRpb25zIG9iamVjdCB0aGF0IGlzbid0XG4gIC8vIHRoZSByZXN1bHQgb2YgYW5vdGhlciBtZXJnZU9wdGlvbnMgY2FsbC5cbiAgLy8gT25seSBtZXJnZWQgb3B0aW9ucyBoYXMgdGhlIF9iYXNlIHByb3BlcnR5LlxuICBpZiAoIWNoaWxkLl9iYXNlKSB7XG4gICAgaWYgKGNoaWxkLmV4dGVuZHMpIHtcbiAgICAgIHBhcmVudCA9IG1lcmdlT3B0aW9ucyhwYXJlbnQsIGNoaWxkLmV4dGVuZHMsIHZtKTtcbiAgICB9XG4gICAgaWYgKGNoaWxkLm1peGlucykge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBjaGlsZC5taXhpbnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIHBhcmVudCA9IG1lcmdlT3B0aW9ucyhwYXJlbnQsIGNoaWxkLm1peGluc1tpXSwgdm0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBvcHRpb25zID0ge307XG4gIHZhciBrZXk7XG4gIGZvciAoa2V5IGluIHBhcmVudCkge1xuICAgIG1lcmdlRmllbGQoa2V5KTtcbiAgfVxuICBmb3IgKGtleSBpbiBjaGlsZCkge1xuICAgIGlmICghaGFzT3duKHBhcmVudCwga2V5KSkge1xuICAgICAgbWVyZ2VGaWVsZChrZXkpO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBtZXJnZUZpZWxkIChrZXkpIHtcbiAgICB2YXIgc3RyYXQgPSBzdHJhdHNba2V5XSB8fCBkZWZhdWx0U3RyYXQ7XG4gICAgb3B0aW9uc1trZXldID0gc3RyYXQocGFyZW50W2tleV0sIGNoaWxkW2tleV0sIHZtLCBrZXkpO1xuICB9XG4gIHJldHVybiBvcHRpb25zXG59XG5cbi8qKlxuICogUmVzb2x2ZSBhbiBhc3NldC5cbiAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBiZWNhdXNlIGNoaWxkIGluc3RhbmNlcyBuZWVkIGFjY2Vzc1xuICogdG8gYXNzZXRzIGRlZmluZWQgaW4gaXRzIGFuY2VzdG9yIGNoYWluLlxuICovXG5mdW5jdGlvbiByZXNvbHZlQXNzZXQgKFxuICBvcHRpb25zLFxuICB0eXBlLFxuICBpZCxcbiAgd2Fybk1pc3Npbmdcbikge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKHR5cGVvZiBpZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgYXNzZXRzID0gb3B0aW9uc1t0eXBlXTtcbiAgLy8gY2hlY2sgbG9jYWwgcmVnaXN0cmF0aW9uIHZhcmlhdGlvbnMgZmlyc3RcbiAgaWYgKGhhc093bihhc3NldHMsIGlkKSkgeyByZXR1cm4gYXNzZXRzW2lkXSB9XG4gIHZhciBjYW1lbGl6ZWRJZCA9IGNhbWVsaXplKGlkKTtcbiAgaWYgKGhhc093bihhc3NldHMsIGNhbWVsaXplZElkKSkgeyByZXR1cm4gYXNzZXRzW2NhbWVsaXplZElkXSB9XG4gIHZhciBQYXNjYWxDYXNlSWQgPSBjYXBpdGFsaXplKGNhbWVsaXplZElkKTtcbiAgaWYgKGhhc093bihhc3NldHMsIFBhc2NhbENhc2VJZCkpIHsgcmV0dXJuIGFzc2V0c1tQYXNjYWxDYXNlSWRdIH1cbiAgLy8gZmFsbGJhY2sgdG8gcHJvdG90eXBlIGNoYWluXG4gIHZhciByZXMgPSBhc3NldHNbaWRdIHx8IGFzc2V0c1tjYW1lbGl6ZWRJZF0gfHwgYXNzZXRzW1Bhc2NhbENhc2VJZF07XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm5NaXNzaW5nICYmICFyZXMpIHtcbiAgICB3YXJuKFxuICAgICAgJ0ZhaWxlZCB0byByZXNvbHZlICcgKyB0eXBlLnNsaWNlKDAsIC0xKSArICc6ICcgKyBpZCxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyogICovXG5cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3AgKFxuICBrZXksXG4gIHByb3BPcHRpb25zLFxuICBwcm9wc0RhdGEsXG4gIHZtXG4pIHtcbiAgdmFyIHByb3AgPSBwcm9wT3B0aW9uc1trZXldO1xuICB2YXIgYWJzZW50ID0gIWhhc093bihwcm9wc0RhdGEsIGtleSk7XG4gIHZhciB2YWx1ZSA9IHByb3BzRGF0YVtrZXldO1xuICAvLyBib29sZWFuIGNhc3RpbmdcbiAgdmFyIGJvb2xlYW5JbmRleCA9IGdldFR5cGVJbmRleChCb29sZWFuLCBwcm9wLnR5cGUpO1xuICBpZiAoYm9vbGVhbkluZGV4ID4gLTEpIHtcbiAgICBpZiAoYWJzZW50ICYmICFoYXNPd24ocHJvcCwgJ2RlZmF1bHQnKSkge1xuICAgICAgdmFsdWUgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gaHlwaGVuYXRlKGtleSkpIHtcbiAgICAgIC8vIG9ubHkgY2FzdCBlbXB0eSBzdHJpbmcgLyBzYW1lIG5hbWUgdG8gYm9vbGVhbiBpZlxuICAgICAgLy8gYm9vbGVhbiBoYXMgaGlnaGVyIHByaW9yaXR5XG4gICAgICB2YXIgc3RyaW5nSW5kZXggPSBnZXRUeXBlSW5kZXgoU3RyaW5nLCBwcm9wLnR5cGUpO1xuICAgICAgaWYgKHN0cmluZ0luZGV4IDwgMCB8fCBib29sZWFuSW5kZXggPCBzdHJpbmdJbmRleCkge1xuICAgICAgICB2YWx1ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIGNoZWNrIGRlZmF1bHQgdmFsdWVcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICB2YWx1ZSA9IGdldFByb3BEZWZhdWx0VmFsdWUodm0sIHByb3AsIGtleSk7XG4gICAgLy8gc2luY2UgdGhlIGRlZmF1bHQgdmFsdWUgaXMgYSBmcmVzaCBjb3B5LFxuICAgIC8vIG1ha2Ugc3VyZSB0byBvYnNlcnZlIGl0LlxuICAgIHZhciBwcmV2U2hvdWxkT2JzZXJ2ZSA9IHNob3VsZE9ic2VydmU7XG4gICAgdG9nZ2xlT2JzZXJ2aW5nKHRydWUpO1xuICAgIG9ic2VydmUodmFsdWUpO1xuICAgIHRvZ2dsZU9ic2VydmluZyhwcmV2U2hvdWxkT2JzZXJ2ZSk7XG4gIH1cbiAgaWYgKFxuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAvLyBza2lwIHZhbGlkYXRpb24gZm9yIHdlZXggcmVjeWNsZS1saXN0IGNoaWxkIGNvbXBvbmVudCBwcm9wc1xuICAgICEoZmFsc2UpXG4gICkge1xuICAgIGFzc2VydFByb3AocHJvcCwga2V5LCB2YWx1ZSwgdm0sIGFic2VudCk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlXG59XG5cbi8qKlxuICogR2V0IHRoZSBkZWZhdWx0IHZhbHVlIG9mIGEgcHJvcC5cbiAqL1xuZnVuY3Rpb24gZ2V0UHJvcERlZmF1bHRWYWx1ZSAodm0sIHByb3AsIGtleSkge1xuICAvLyBubyBkZWZhdWx0LCByZXR1cm4gdW5kZWZpbmVkXG4gIGlmICghaGFzT3duKHByb3AsICdkZWZhdWx0JykpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbiAgdmFyIGRlZiA9IHByb3AuZGVmYXVsdDtcbiAgLy8gd2FybiBhZ2FpbnN0IG5vbi1mYWN0b3J5IGRlZmF1bHRzIGZvciBPYmplY3QgJiBBcnJheVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc09iamVjdChkZWYpKSB7XG4gICAgd2FybihcbiAgICAgICdJbnZhbGlkIGRlZmF1bHQgdmFsdWUgZm9yIHByb3AgXCInICsga2V5ICsgJ1wiOiAnICtcbiAgICAgICdQcm9wcyB3aXRoIHR5cGUgT2JqZWN0L0FycmF5IG11c3QgdXNlIGEgZmFjdG9yeSBmdW5jdGlvbiAnICtcbiAgICAgICd0byByZXR1cm4gdGhlIGRlZmF1bHQgdmFsdWUuJyxcbiAgICAgIHZtXG4gICAgKTtcbiAgfVxuICAvLyB0aGUgcmF3IHByb3AgdmFsdWUgd2FzIGFsc28gdW5kZWZpbmVkIGZyb20gcHJldmlvdXMgcmVuZGVyLFxuICAvLyByZXR1cm4gcHJldmlvdXMgZGVmYXVsdCB2YWx1ZSB0byBhdm9pZCB1bm5lY2Vzc2FyeSB3YXRjaGVyIHRyaWdnZXJcbiAgaWYgKHZtICYmIHZtLiRvcHRpb25zLnByb3BzRGF0YSAmJlxuICAgIHZtLiRvcHRpb25zLnByb3BzRGF0YVtrZXldID09PSB1bmRlZmluZWQgJiZcbiAgICB2bS5fcHJvcHNba2V5XSAhPT0gdW5kZWZpbmVkXG4gICkge1xuICAgIHJldHVybiB2bS5fcHJvcHNba2V5XVxuICB9XG4gIC8vIGNhbGwgZmFjdG9yeSBmdW5jdGlvbiBmb3Igbm9uLUZ1bmN0aW9uIHR5cGVzXG4gIC8vIGEgdmFsdWUgaXMgRnVuY3Rpb24gaWYgaXRzIHByb3RvdHlwZSBpcyBmdW5jdGlvbiBldmVuIGFjcm9zcyBkaWZmZXJlbnQgZXhlY3V0aW9uIGNvbnRleHRcbiAgcmV0dXJuIHR5cGVvZiBkZWYgPT09ICdmdW5jdGlvbicgJiYgZ2V0VHlwZShwcm9wLnR5cGUpICE9PSAnRnVuY3Rpb24nXG4gICAgPyBkZWYuY2FsbCh2bSlcbiAgICA6IGRlZlxufVxuXG4vKipcbiAqIEFzc2VydCB3aGV0aGVyIGEgcHJvcCBpcyB2YWxpZC5cbiAqL1xuZnVuY3Rpb24gYXNzZXJ0UHJvcCAoXG4gIHByb3AsXG4gIG5hbWUsXG4gIHZhbHVlLFxuICB2bSxcbiAgYWJzZW50XG4pIHtcbiAgaWYgKHByb3AucmVxdWlyZWQgJiYgYWJzZW50KSB7XG4gICAgd2FybihcbiAgICAgICdNaXNzaW5nIHJlcXVpcmVkIHByb3A6IFwiJyArIG5hbWUgKyAnXCInLFxuICAgICAgdm1cbiAgICApO1xuICAgIHJldHVyblxuICB9XG4gIGlmICh2YWx1ZSA9PSBudWxsICYmICFwcm9wLnJlcXVpcmVkKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHR5cGUgPSBwcm9wLnR5cGU7XG4gIHZhciB2YWxpZCA9ICF0eXBlIHx8IHR5cGUgPT09IHRydWU7XG4gIHZhciBleHBlY3RlZFR5cGVzID0gW107XG4gIGlmICh0eXBlKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHR5cGUpKSB7XG4gICAgICB0eXBlID0gW3R5cGVdO1xuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGUubGVuZ3RoICYmICF2YWxpZDsgaSsrKSB7XG4gICAgICB2YXIgYXNzZXJ0ZWRUeXBlID0gYXNzZXJ0VHlwZSh2YWx1ZSwgdHlwZVtpXSk7XG4gICAgICBleHBlY3RlZFR5cGVzLnB1c2goYXNzZXJ0ZWRUeXBlLmV4cGVjdGVkVHlwZSB8fCAnJyk7XG4gICAgICB2YWxpZCA9IGFzc2VydGVkVHlwZS52YWxpZDtcbiAgICB9XG4gIH1cblxuICBpZiAoIXZhbGlkKSB7XG4gICAgd2FybihcbiAgICAgIGdldEludmFsaWRUeXBlTWVzc2FnZShuYW1lLCB2YWx1ZSwgZXhwZWN0ZWRUeXBlcyksXG4gICAgICB2bVxuICAgICk7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHZhbGlkYXRvciA9IHByb3AudmFsaWRhdG9yO1xuICBpZiAodmFsaWRhdG9yKSB7XG4gICAgaWYgKCF2YWxpZGF0b3IodmFsdWUpKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnSW52YWxpZCBwcm9wOiBjdXN0b20gdmFsaWRhdG9yIGNoZWNrIGZhaWxlZCBmb3IgcHJvcCBcIicgKyBuYW1lICsgJ1wiLicsXG4gICAgICAgIHZtXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG52YXIgc2ltcGxlQ2hlY2tSRSA9IC9eKFN0cmluZ3xOdW1iZXJ8Qm9vbGVhbnxGdW5jdGlvbnxTeW1ib2wpJC87XG5cbmZ1bmN0aW9uIGFzc2VydFR5cGUgKHZhbHVlLCB0eXBlKSB7XG4gIHZhciB2YWxpZDtcbiAgdmFyIGV4cGVjdGVkVHlwZSA9IGdldFR5cGUodHlwZSk7XG4gIGlmIChzaW1wbGVDaGVja1JFLnRlc3QoZXhwZWN0ZWRUeXBlKSkge1xuICAgIHZhciB0ID0gdHlwZW9mIHZhbHVlO1xuICAgIHZhbGlkID0gdCA9PT0gZXhwZWN0ZWRUeXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgLy8gZm9yIHByaW1pdGl2ZSB3cmFwcGVyIG9iamVjdHNcbiAgICBpZiAoIXZhbGlkICYmIHQgPT09ICdvYmplY3QnKSB7XG4gICAgICB2YWxpZCA9IHZhbHVlIGluc3RhbmNlb2YgdHlwZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09PSAnT2JqZWN0Jykge1xuICAgIHZhbGlkID0gaXNQbGFpbk9iamVjdCh2YWx1ZSk7XG4gIH0gZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09PSAnQXJyYXknKSB7XG4gICAgdmFsaWQgPSBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICB2YWxpZCA9IHZhbHVlIGluc3RhbmNlb2YgdHlwZTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHZhbGlkOiB2YWxpZCxcbiAgICBleHBlY3RlZFR5cGU6IGV4cGVjdGVkVHlwZVxuICB9XG59XG5cbi8qKlxuICogVXNlIGZ1bmN0aW9uIHN0cmluZyBuYW1lIHRvIGNoZWNrIGJ1aWx0LWluIHR5cGVzLFxuICogYmVjYXVzZSBhIHNpbXBsZSBlcXVhbGl0eSBjaGVjayB3aWxsIGZhaWwgd2hlbiBydW5uaW5nXG4gKiBhY3Jvc3MgZGlmZmVyZW50IHZtcyAvIGlmcmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGdldFR5cGUgKGZuKSB7XG4gIHZhciBtYXRjaCA9IGZuICYmIGZuLnRvU3RyaW5nKCkubWF0Y2goL15cXHMqZnVuY3Rpb24gKFxcdyspLyk7XG4gIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdIDogJydcbn1cblxuZnVuY3Rpb24gaXNTYW1lVHlwZSAoYSwgYikge1xuICByZXR1cm4gZ2V0VHlwZShhKSA9PT0gZ2V0VHlwZShiKVxufVxuXG5mdW5jdGlvbiBnZXRUeXBlSW5kZXggKHR5cGUsIGV4cGVjdGVkVHlwZXMpIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGV4cGVjdGVkVHlwZXMpKSB7XG4gICAgcmV0dXJuIGlzU2FtZVR5cGUoZXhwZWN0ZWRUeXBlcywgdHlwZSkgPyAwIDogLTFcbiAgfVxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gZXhwZWN0ZWRUeXBlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGlmIChpc1NhbWVUeXBlKGV4cGVjdGVkVHlwZXNbaV0sIHR5cGUpKSB7XG4gICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxuICByZXR1cm4gLTFcbn1cblxuZnVuY3Rpb24gZ2V0SW52YWxpZFR5cGVNZXNzYWdlIChuYW1lLCB2YWx1ZSwgZXhwZWN0ZWRUeXBlcykge1xuICB2YXIgbWVzc2FnZSA9IFwiSW52YWxpZCBwcm9wOiB0eXBlIGNoZWNrIGZhaWxlZCBmb3IgcHJvcCBcXFwiXCIgKyBuYW1lICsgXCJcXFwiLlwiICtcbiAgICBcIiBFeHBlY3RlZCBcIiArIChleHBlY3RlZFR5cGVzLm1hcChjYXBpdGFsaXplKS5qb2luKCcsICcpKTtcbiAgdmFyIGV4cGVjdGVkVHlwZSA9IGV4cGVjdGVkVHlwZXNbMF07XG4gIHZhciByZWNlaXZlZFR5cGUgPSB0b1Jhd1R5cGUodmFsdWUpO1xuICB2YXIgZXhwZWN0ZWRWYWx1ZSA9IHN0eWxlVmFsdWUodmFsdWUsIGV4cGVjdGVkVHlwZSk7XG4gIHZhciByZWNlaXZlZFZhbHVlID0gc3R5bGVWYWx1ZSh2YWx1ZSwgcmVjZWl2ZWRUeXBlKTtcbiAgLy8gY2hlY2sgaWYgd2UgbmVlZCB0byBzcGVjaWZ5IGV4cGVjdGVkIHZhbHVlXG4gIGlmIChleHBlY3RlZFR5cGVzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgaXNFeHBsaWNhYmxlKGV4cGVjdGVkVHlwZSkgJiZcbiAgICAgICFpc0Jvb2xlYW4oZXhwZWN0ZWRUeXBlLCByZWNlaXZlZFR5cGUpKSB7XG4gICAgbWVzc2FnZSArPSBcIiB3aXRoIHZhbHVlIFwiICsgZXhwZWN0ZWRWYWx1ZTtcbiAgfVxuICBtZXNzYWdlICs9IFwiLCBnb3QgXCIgKyByZWNlaXZlZFR5cGUgKyBcIiBcIjtcbiAgLy8gY2hlY2sgaWYgd2UgbmVlZCB0byBzcGVjaWZ5IHJlY2VpdmVkIHZhbHVlXG4gIGlmIChpc0V4cGxpY2FibGUocmVjZWl2ZWRUeXBlKSkge1xuICAgIG1lc3NhZ2UgKz0gXCJ3aXRoIHZhbHVlIFwiICsgcmVjZWl2ZWRWYWx1ZSArIFwiLlwiO1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbmZ1bmN0aW9uIHN0eWxlVmFsdWUgKHZhbHVlLCB0eXBlKSB7XG4gIGlmICh0eXBlID09PSAnU3RyaW5nJykge1xuICAgIHJldHVybiAoXCJcXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKVxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdOdW1iZXInKSB7XG4gICAgcmV0dXJuIChcIlwiICsgKE51bWJlcih2YWx1ZSkpKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiAoXCJcIiArIHZhbHVlKVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzRXhwbGljYWJsZSAodmFsdWUpIHtcbiAgdmFyIGV4cGxpY2l0VHlwZXMgPSBbJ3N0cmluZycsICdudW1iZXInLCAnYm9vbGVhbiddO1xuICByZXR1cm4gZXhwbGljaXRUeXBlcy5zb21lKGZ1bmN0aW9uIChlbGVtKSB7IHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSBlbGVtOyB9KVxufVxuXG5mdW5jdGlvbiBpc0Jvb2xlYW4gKCkge1xuICB2YXIgYXJncyA9IFtdLCBsZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICB3aGlsZSAoIGxlbi0tICkgYXJnc1sgbGVuIF0gPSBhcmd1bWVudHNbIGxlbiBdO1xuXG4gIHJldHVybiBhcmdzLnNvbWUoZnVuY3Rpb24gKGVsZW0pIHsgcmV0dXJuIGVsZW0udG9Mb3dlckNhc2UoKSA9PT0gJ2Jvb2xlYW4nOyB9KVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3IgKGVyciwgdm0sIGluZm8pIHtcbiAgLy8gRGVhY3RpdmF0ZSBkZXBzIHRyYWNraW5nIHdoaWxlIHByb2Nlc3NpbmcgZXJyb3IgaGFuZGxlciB0byBhdm9pZCBwb3NzaWJsZSBpbmZpbml0ZSByZW5kZXJpbmcuXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3Z1ZWpzL3Z1ZXgvaXNzdWVzLzE1MDVcbiAgcHVzaFRhcmdldCgpO1xuICB0cnkge1xuICAgIGlmICh2bSkge1xuICAgICAgdmFyIGN1ciA9IHZtO1xuICAgICAgd2hpbGUgKChjdXIgPSBjdXIuJHBhcmVudCkpIHtcbiAgICAgICAgdmFyIGhvb2tzID0gY3VyLiRvcHRpb25zLmVycm9yQ2FwdHVyZWQ7XG4gICAgICAgIGlmIChob29rcykge1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaG9va3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHZhciBjYXB0dXJlID0gaG9va3NbaV0uY2FsbChjdXIsIGVyciwgdm0sIGluZm8pID09PSBmYWxzZTtcbiAgICAgICAgICAgICAgaWYgKGNhcHR1cmUpIHsgcmV0dXJuIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgZ2xvYmFsSGFuZGxlRXJyb3IoZSwgY3VyLCAnZXJyb3JDYXB0dXJlZCBob29rJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGdsb2JhbEhhbmRsZUVycm9yKGVyciwgdm0sIGluZm8pO1xuICB9IGZpbmFsbHkge1xuICAgIHBvcFRhcmdldCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGludm9rZVdpdGhFcnJvckhhbmRsaW5nIChcbiAgaGFuZGxlcixcbiAgY29udGV4dCxcbiAgYXJncyxcbiAgdm0sXG4gIGluZm9cbikge1xuICB2YXIgcmVzO1xuICB0cnkge1xuICAgIHJlcyA9IGFyZ3MgPyBoYW5kbGVyLmFwcGx5KGNvbnRleHQsIGFyZ3MpIDogaGFuZGxlci5jYWxsKGNvbnRleHQpO1xuICAgIGlmIChyZXMgJiYgIXJlcy5faXNWdWUgJiYgaXNQcm9taXNlKHJlcykgJiYgIXJlcy5faGFuZGxlZCkge1xuICAgICAgcmVzLmNhdGNoKGZ1bmN0aW9uIChlKSB7IHJldHVybiBoYW5kbGVFcnJvcihlLCB2bSwgaW5mbyArIFwiIChQcm9taXNlL2FzeW5jKVwiKTsgfSk7XG4gICAgICAvLyBpc3N1ZSAjOTUxMVxuICAgICAgLy8gYXZvaWQgY2F0Y2ggdHJpZ2dlcmluZyBtdWx0aXBsZSB0aW1lcyB3aGVuIG5lc3RlZCBjYWxsc1xuICAgICAgcmVzLl9oYW5kbGVkID0gdHJ1ZTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBoYW5kbGVFcnJvcihlLCB2bSwgaW5mbyk7XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBnbG9iYWxIYW5kbGVFcnJvciAoZXJyLCB2bSwgaW5mbykge1xuICBpZiAoY29uZmlnLmVycm9ySGFuZGxlcikge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gY29uZmlnLmVycm9ySGFuZGxlci5jYWxsKG51bGwsIGVyciwgdm0sIGluZm8pXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gaWYgdGhlIHVzZXIgaW50ZW50aW9uYWxseSB0aHJvd3MgdGhlIG9yaWdpbmFsIGVycm9yIGluIHRoZSBoYW5kbGVyLFxuICAgICAgLy8gZG8gbm90IGxvZyBpdCB0d2ljZVxuICAgICAgaWYgKGUgIT09IGVycikge1xuICAgICAgICBsb2dFcnJvcihlLCBudWxsLCAnY29uZmlnLmVycm9ySGFuZGxlcicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBsb2dFcnJvcihlcnIsIHZtLCBpbmZvKTtcbn1cblxuZnVuY3Rpb24gbG9nRXJyb3IgKGVyciwgdm0sIGluZm8pIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICB3YXJuKChcIkVycm9yIGluIFwiICsgaW5mbyArIFwiOiBcXFwiXCIgKyAoZXJyLnRvU3RyaW5nKCkpICsgXCJcXFwiXCIpLCB2bSk7XG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKChpbkJyb3dzZXIgfHwgaW5XZWV4KSAmJiB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgZXJyXG4gIH1cbn1cblxuLyogICovXG5cbnZhciBpc1VzaW5nTWljcm9UYXNrID0gZmFsc2U7XG5cbnZhciBjYWxsYmFja3MgPSBbXTtcbnZhciBwZW5kaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGZsdXNoQ2FsbGJhY2tzICgpIHtcbiAgcGVuZGluZyA9IGZhbHNlO1xuICB2YXIgY29waWVzID0gY2FsbGJhY2tzLnNsaWNlKDApO1xuICBjYWxsYmFja3MubGVuZ3RoID0gMDtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3BpZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb3BpZXNbaV0oKTtcbiAgfVxufVxuXG4vLyBIZXJlIHdlIGhhdmUgYXN5bmMgZGVmZXJyaW5nIHdyYXBwZXJzIHVzaW5nIG1pY3JvdGFza3MuXG4vLyBJbiAyLjUgd2UgdXNlZCAobWFjcm8pIHRhc2tzIChpbiBjb21iaW5hdGlvbiB3aXRoIG1pY3JvdGFza3MpLlxuLy8gSG93ZXZlciwgaXQgaGFzIHN1YnRsZSBwcm9ibGVtcyB3aGVuIHN0YXRlIGlzIGNoYW5nZWQgcmlnaHQgYmVmb3JlIHJlcGFpbnRcbi8vIChlLmcuICM2ODEzLCBvdXQtaW4gdHJhbnNpdGlvbnMpLlxuLy8gQWxzbywgdXNpbmcgKG1hY3JvKSB0YXNrcyBpbiBldmVudCBoYW5kbGVyIHdvdWxkIGNhdXNlIHNvbWUgd2VpcmQgYmVoYXZpb3JzXG4vLyB0aGF0IGNhbm5vdCBiZSBjaXJjdW12ZW50ZWQgKGUuZy4gIzcxMDksICM3MTUzLCAjNzU0NiwgIzc4MzQsICM4MTA5KS5cbi8vIFNvIHdlIG5vdyB1c2UgbWljcm90YXNrcyBldmVyeXdoZXJlLCBhZ2Fpbi5cbi8vIEEgbWFqb3IgZHJhd2JhY2sgb2YgdGhpcyB0cmFkZW9mZiBpcyB0aGF0IHRoZXJlIGFyZSBzb21lIHNjZW5hcmlvc1xuLy8gd2hlcmUgbWljcm90YXNrcyBoYXZlIHRvbyBoaWdoIGEgcHJpb3JpdHkgYW5kIGZpcmUgaW4gYmV0d2VlbiBzdXBwb3NlZGx5XG4vLyBzZXF1ZW50aWFsIGV2ZW50cyAoZS5nLiAjNDUyMSwgIzY2OTAsIHdoaWNoIGhhdmUgd29ya2Fyb3VuZHMpXG4vLyBvciBldmVuIGJldHdlZW4gYnViYmxpbmcgb2YgdGhlIHNhbWUgZXZlbnQgKCM2NTY2KS5cbnZhciB0aW1lckZ1bmM7XG5cbi8vIFRoZSBuZXh0VGljayBiZWhhdmlvciBsZXZlcmFnZXMgdGhlIG1pY3JvdGFzayBxdWV1ZSwgd2hpY2ggY2FuIGJlIGFjY2Vzc2VkXG4vLyB2aWEgZWl0aGVyIG5hdGl2ZSBQcm9taXNlLnRoZW4gb3IgTXV0YXRpb25PYnNlcnZlci5cbi8vIE11dGF0aW9uT2JzZXJ2ZXIgaGFzIHdpZGVyIHN1cHBvcnQsIGhvd2V2ZXIgaXQgaXMgc2VyaW91c2x5IGJ1Z2dlZCBpblxuLy8gVUlXZWJWaWV3IGluIGlPUyA+PSA5LjMuMyB3aGVuIHRyaWdnZXJlZCBpbiB0b3VjaCBldmVudCBoYW5kbGVycy4gSXRcbi8vIGNvbXBsZXRlbHkgc3RvcHMgd29ya2luZyBhZnRlciB0cmlnZ2VyaW5nIGEgZmV3IHRpbWVzLi4uIHNvLCBpZiBuYXRpdmVcbi8vIFByb21pc2UgaXMgYXZhaWxhYmxlLCB3ZSB3aWxsIHVzZSBpdDpcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0LCAkZmxvdy1kaXNhYmxlLWxpbmUgKi9cbmlmICh0eXBlb2YgUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoUHJvbWlzZSkpIHtcbiAgdmFyIHAgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgdGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHAudGhlbihmbHVzaENhbGxiYWNrcyk7XG4gICAgLy8gSW4gcHJvYmxlbWF0aWMgVUlXZWJWaWV3cywgUHJvbWlzZS50aGVuIGRvZXNuJ3QgY29tcGxldGVseSBicmVhaywgYnV0XG4gICAgLy8gaXQgY2FuIGdldCBzdHVjayBpbiBhIHdlaXJkIHN0YXRlIHdoZXJlIGNhbGxiYWNrcyBhcmUgcHVzaGVkIGludG8gdGhlXG4gICAgLy8gbWljcm90YXNrIHF1ZXVlIGJ1dCB0aGUgcXVldWUgaXNuJ3QgYmVpbmcgZmx1c2hlZCwgdW50aWwgdGhlIGJyb3dzZXJcbiAgICAvLyBuZWVkcyB0byBkbyBzb21lIG90aGVyIHdvcmssIGUuZy4gaGFuZGxlIGEgdGltZXIuIFRoZXJlZm9yZSB3ZSBjYW5cbiAgICAvLyBcImZvcmNlXCIgdGhlIG1pY3JvdGFzayBxdWV1ZSB0byBiZSBmbHVzaGVkIGJ5IGFkZGluZyBhbiBlbXB0eSB0aW1lci5cbiAgICBpZiAoaXNJT1MpIHsgc2V0VGltZW91dChub29wKTsgfVxuICB9O1xuICBpc1VzaW5nTWljcm9UYXNrID0gdHJ1ZTtcbn0gZWxzZSBpZiAoIWlzSUUgJiYgdHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnICYmIChcbiAgaXNOYXRpdmUoTXV0YXRpb25PYnNlcnZlcikgfHxcbiAgLy8gUGhhbnRvbUpTIGFuZCBpT1MgNy54XG4gIE11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXSdcbikpIHtcbiAgLy8gVXNlIE11dGF0aW9uT2JzZXJ2ZXIgd2hlcmUgbmF0aXZlIFByb21pc2UgaXMgbm90IGF2YWlsYWJsZSxcbiAgLy8gZS5nLiBQaGFudG9tSlMsIGlPUzcsIEFuZHJvaWQgNC40XG4gIC8vICgjNjQ2NiBNdXRhdGlvbk9ic2VydmVyIGlzIHVucmVsaWFibGUgaW4gSUUxMSlcbiAgdmFyIGNvdW50ZXIgPSAxO1xuICB2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmbHVzaENhbGxiYWNrcyk7XG4gIHZhciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFN0cmluZyhjb3VudGVyKSk7XG4gIG9ic2VydmVyLm9ic2VydmUodGV4dE5vZGUsIHtcbiAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlXG4gIH0pO1xuICB0aW1lckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgY291bnRlciA9IChjb3VudGVyICsgMSkgJSAyO1xuICAgIHRleHROb2RlLmRhdGEgPSBTdHJpbmcoY291bnRlcik7XG4gIH07XG4gIGlzVXNpbmdNaWNyb1Rhc2sgPSB0cnVlO1xufSBlbHNlIGlmICh0eXBlb2Ygc2V0SW1tZWRpYXRlICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShzZXRJbW1lZGlhdGUpKSB7XG4gIC8vIEZhbGxiYWNrIHRvIHNldEltbWVkaWF0ZS5cbiAgLy8gVGVjaGluaWNhbGx5IGl0IGxldmVyYWdlcyB0aGUgKG1hY3JvKSB0YXNrIHF1ZXVlLFxuICAvLyBidXQgaXQgaXMgc3RpbGwgYSBiZXR0ZXIgY2hvaWNlIHRoYW4gc2V0VGltZW91dC5cbiAgdGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHNldEltbWVkaWF0ZShmbHVzaENhbGxiYWNrcyk7XG4gIH07XG59IGVsc2Uge1xuICAvLyBGYWxsYmFjayB0byBzZXRUaW1lb3V0LlxuICB0aW1lckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgc2V0VGltZW91dChmbHVzaENhbGxiYWNrcywgMCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIG5leHRUaWNrIChjYiwgY3R4KSB7XG4gIHZhciBfcmVzb2x2ZTtcbiAgY2FsbGJhY2tzLnB1c2goZnVuY3Rpb24gKCkge1xuICAgIGlmIChjYikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY2IuY2FsbChjdHgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBoYW5kbGVFcnJvcihlLCBjdHgsICduZXh0VGljaycpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoX3Jlc29sdmUpIHtcbiAgICAgIF9yZXNvbHZlKGN0eCk7XG4gICAgfVxuICB9KTtcbiAgaWYgKCFwZW5kaW5nKSB7XG4gICAgcGVuZGluZyA9IHRydWU7XG4gICAgdGltZXJGdW5jKCk7XG4gIH1cbiAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gIGlmICghY2IgJiYgdHlwZW9mIFByb21pc2UgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICBfcmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgfSlcbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIG1hcms7XG52YXIgbWVhc3VyZTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIHBlcmYgPSBpbkJyb3dzZXIgJiYgd2luZG93LnBlcmZvcm1hbmNlO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKFxuICAgIHBlcmYgJiZcbiAgICBwZXJmLm1hcmsgJiZcbiAgICBwZXJmLm1lYXN1cmUgJiZcbiAgICBwZXJmLmNsZWFyTWFya3MgJiZcbiAgICBwZXJmLmNsZWFyTWVhc3VyZXNcbiAgKSB7XG4gICAgbWFyayA9IGZ1bmN0aW9uICh0YWcpIHsgcmV0dXJuIHBlcmYubWFyayh0YWcpOyB9O1xuICAgIG1lYXN1cmUgPSBmdW5jdGlvbiAobmFtZSwgc3RhcnRUYWcsIGVuZFRhZykge1xuICAgICAgcGVyZi5tZWFzdXJlKG5hbWUsIHN0YXJ0VGFnLCBlbmRUYWcpO1xuICAgICAgcGVyZi5jbGVhck1hcmtzKHN0YXJ0VGFnKTtcbiAgICAgIHBlcmYuY2xlYXJNYXJrcyhlbmRUYWcpO1xuICAgICAgLy8gcGVyZi5jbGVhck1lYXN1cmVzKG5hbWUpXG4gICAgfTtcbiAgfVxufVxuXG4vKiBub3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRvZXNuJ3QgcGxheSB3ZWxsIHdpdGggUHJveHkgKi9cblxudmFyIGluaXRQcm94eTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIGFsbG93ZWRHbG9iYWxzID0gbWFrZU1hcChcbiAgICAnSW5maW5pdHksdW5kZWZpbmVkLE5hTixpc0Zpbml0ZSxpc05hTiwnICtcbiAgICAncGFyc2VGbG9hdCxwYXJzZUludCxkZWNvZGVVUkksZGVjb2RlVVJJQ29tcG9uZW50LGVuY29kZVVSSSxlbmNvZGVVUklDb21wb25lbnQsJyArXG4gICAgJ01hdGgsTnVtYmVyLERhdGUsQXJyYXksT2JqZWN0LEJvb2xlYW4sU3RyaW5nLFJlZ0V4cCxNYXAsU2V0LEpTT04sSW50bCwnICtcbiAgICAncmVxdWlyZScgLy8gZm9yIFdlYnBhY2svQnJvd3NlcmlmeVxuICApO1xuXG4gIHZhciB3YXJuTm9uUHJlc2VudCA9IGZ1bmN0aW9uICh0YXJnZXQsIGtleSkge1xuICAgIHdhcm4oXG4gICAgICBcIlByb3BlcnR5IG9yIG1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgbm90IGRlZmluZWQgb24gdGhlIGluc3RhbmNlIGJ1dCBcIiArXG4gICAgICAncmVmZXJlbmNlZCBkdXJpbmcgcmVuZGVyLiBNYWtlIHN1cmUgdGhhdCB0aGlzIHByb3BlcnR5IGlzIHJlYWN0aXZlLCAnICtcbiAgICAgICdlaXRoZXIgaW4gdGhlIGRhdGEgb3B0aW9uLCBvciBmb3IgY2xhc3MtYmFzZWQgY29tcG9uZW50cywgYnkgJyArXG4gICAgICAnaW5pdGlhbGl6aW5nIHRoZSBwcm9wZXJ0eS4gJyArXG4gICAgICAnU2VlOiBodHRwczovL3Z1ZWpzLm9yZy92Mi9ndWlkZS9yZWFjdGl2aXR5Lmh0bWwjRGVjbGFyaW5nLVJlYWN0aXZlLVByb3BlcnRpZXMuJyxcbiAgICAgIHRhcmdldFxuICAgICk7XG4gIH07XG5cbiAgdmFyIHdhcm5SZXNlcnZlZFByZWZpeCA9IGZ1bmN0aW9uICh0YXJnZXQsIGtleSkge1xuICAgIHdhcm4oXG4gICAgICBcIlByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiBtdXN0IGJlIGFjY2Vzc2VkIHdpdGggXFxcIiRkYXRhLlwiICsga2V5ICsgXCJcXFwiIGJlY2F1c2UgXCIgK1xuICAgICAgJ3Byb3BlcnRpZXMgc3RhcnRpbmcgd2l0aCBcIiRcIiBvciBcIl9cIiBhcmUgbm90IHByb3hpZWQgaW4gdGhlIFZ1ZSBpbnN0YW5jZSB0byAnICtcbiAgICAgICdwcmV2ZW50IGNvbmZsaWN0cyB3aXRoIFZ1ZSBpbnRlcm5hbHMnICtcbiAgICAgICdTZWU6IGh0dHBzOi8vdnVlanMub3JnL3YyL2FwaS8jZGF0YScsXG4gICAgICB0YXJnZXRcbiAgICApO1xuICB9O1xuXG4gIHZhciBoYXNQcm94eSA9XG4gICAgdHlwZW9mIFByb3h5ICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShQcm94eSk7XG5cbiAgaWYgKGhhc1Byb3h5KSB7XG4gICAgdmFyIGlzQnVpbHRJbk1vZGlmaWVyID0gbWFrZU1hcCgnc3RvcCxwcmV2ZW50LHNlbGYsY3RybCxzaGlmdCxhbHQsbWV0YSxleGFjdCcpO1xuICAgIGNvbmZpZy5rZXlDb2RlcyA9IG5ldyBQcm94eShjb25maWcua2V5Q29kZXMsIHtcbiAgICAgIHNldDogZnVuY3Rpb24gc2V0ICh0YXJnZXQsIGtleSwgdmFsdWUpIHtcbiAgICAgICAgaWYgKGlzQnVpbHRJbk1vZGlmaWVyKGtleSkpIHtcbiAgICAgICAgICB3YXJuKChcIkF2b2lkIG92ZXJ3cml0aW5nIGJ1aWx0LWluIG1vZGlmaWVyIGluIGNvbmZpZy5rZXlDb2RlczogLlwiICsga2V5KSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB2YXIgaGFzSGFuZGxlciA9IHtcbiAgICBoYXM6IGZ1bmN0aW9uIGhhcyAodGFyZ2V0LCBrZXkpIHtcbiAgICAgIHZhciBoYXMgPSBrZXkgaW4gdGFyZ2V0O1xuICAgICAgdmFyIGlzQWxsb3dlZCA9IGFsbG93ZWRHbG9iYWxzKGtleSkgfHxcbiAgICAgICAgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmIGtleS5jaGFyQXQoMCkgPT09ICdfJyAmJiAhKGtleSBpbiB0YXJnZXQuJGRhdGEpKTtcbiAgICAgIGlmICghaGFzICYmICFpc0FsbG93ZWQpIHtcbiAgICAgICAgaWYgKGtleSBpbiB0YXJnZXQuJGRhdGEpIHsgd2FyblJlc2VydmVkUHJlZml4KHRhcmdldCwga2V5KTsgfVxuICAgICAgICBlbHNlIHsgd2Fybk5vblByZXNlbnQodGFyZ2V0LCBrZXkpOyB9XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzIHx8ICFpc0FsbG93ZWRcbiAgICB9XG4gIH07XG5cbiAgdmFyIGdldEhhbmRsZXIgPSB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQgKHRhcmdldCwga2V5KSB7XG4gICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiYgIShrZXkgaW4gdGFyZ2V0KSkge1xuICAgICAgICBpZiAoa2V5IGluIHRhcmdldC4kZGF0YSkgeyB3YXJuUmVzZXJ2ZWRQcmVmaXgodGFyZ2V0LCBrZXkpOyB9XG4gICAgICAgIGVsc2UgeyB3YXJuTm9uUHJlc2VudCh0YXJnZXQsIGtleSk7IH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0YXJnZXRba2V5XVxuICAgIH1cbiAgfTtcblxuICBpbml0UHJveHkgPSBmdW5jdGlvbiBpbml0UHJveHkgKHZtKSB7XG4gICAgaWYgKGhhc1Byb3h5KSB7XG4gICAgICAvLyBkZXRlcm1pbmUgd2hpY2ggcHJveHkgaGFuZGxlciB0byB1c2VcbiAgICAgIHZhciBvcHRpb25zID0gdm0uJG9wdGlvbnM7XG4gICAgICB2YXIgaGFuZGxlcnMgPSBvcHRpb25zLnJlbmRlciAmJiBvcHRpb25zLnJlbmRlci5fd2l0aFN0cmlwcGVkXG4gICAgICAgID8gZ2V0SGFuZGxlclxuICAgICAgICA6IGhhc0hhbmRsZXI7XG4gICAgICB2bS5fcmVuZGVyUHJveHkgPSBuZXcgUHJveHkodm0sIGhhbmRsZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdm0uX3JlbmRlclByb3h5ID0gdm07XG4gICAgfVxuICB9O1xufVxuXG4vKiAgKi9cblxudmFyIHNlZW5PYmplY3RzID0gbmV3IF9TZXQoKTtcblxuLyoqXG4gKiBSZWN1cnNpdmVseSB0cmF2ZXJzZSBhbiBvYmplY3QgdG8gZXZva2UgYWxsIGNvbnZlcnRlZFxuICogZ2V0dGVycywgc28gdGhhdCBldmVyeSBuZXN0ZWQgcHJvcGVydHkgaW5zaWRlIHRoZSBvYmplY3RcbiAqIGlzIGNvbGxlY3RlZCBhcyBhIFwiZGVlcFwiIGRlcGVuZGVuY3kuXG4gKi9cbmZ1bmN0aW9uIHRyYXZlcnNlICh2YWwpIHtcbiAgX3RyYXZlcnNlKHZhbCwgc2Vlbk9iamVjdHMpO1xuICBzZWVuT2JqZWN0cy5jbGVhcigpO1xufVxuXG5mdW5jdGlvbiBfdHJhdmVyc2UgKHZhbCwgc2Vlbikge1xuICB2YXIgaSwga2V5cztcbiAgdmFyIGlzQSA9IEFycmF5LmlzQXJyYXkodmFsKTtcbiAgaWYgKCghaXNBICYmICFpc09iamVjdCh2YWwpKSB8fCBPYmplY3QuaXNGcm96ZW4odmFsKSB8fCB2YWwgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIHJldHVyblxuICB9XG4gIGlmICh2YWwuX19vYl9fKSB7XG4gICAgdmFyIGRlcElkID0gdmFsLl9fb2JfXy5kZXAuaWQ7XG4gICAgaWYgKHNlZW4uaGFzKGRlcElkKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNlZW4uYWRkKGRlcElkKTtcbiAgfVxuICBpZiAoaXNBKSB7XG4gICAgaSA9IHZhbC5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkgeyBfdHJhdmVyc2UodmFsW2ldLCBzZWVuKTsgfVxuICB9IGVsc2Uge1xuICAgIGtleXMgPSBPYmplY3Qua2V5cyh2YWwpO1xuICAgIGkgPSBrZXlzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7IF90cmF2ZXJzZSh2YWxba2V5c1tpXV0sIHNlZW4pOyB9XG4gIH1cbn1cblxuLyogICovXG5cbnZhciBub3JtYWxpemVFdmVudCA9IGNhY2hlZChmdW5jdGlvbiAobmFtZSkge1xuICB2YXIgcGFzc2l2ZSA9IG5hbWUuY2hhckF0KDApID09PSAnJic7XG4gIG5hbWUgPSBwYXNzaXZlID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gIHZhciBvbmNlJCQxID0gbmFtZS5jaGFyQXQoMCkgPT09ICd+JzsgLy8gUHJlZml4ZWQgbGFzdCwgY2hlY2tlZCBmaXJzdFxuICBuYW1lID0gb25jZSQkMSA/IG5hbWUuc2xpY2UoMSkgOiBuYW1lO1xuICB2YXIgY2FwdHVyZSA9IG5hbWUuY2hhckF0KDApID09PSAnISc7XG4gIG5hbWUgPSBjYXB0dXJlID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gIHJldHVybiB7XG4gICAgbmFtZTogbmFtZSxcbiAgICBvbmNlOiBvbmNlJCQxLFxuICAgIGNhcHR1cmU6IGNhcHR1cmUsXG4gICAgcGFzc2l2ZTogcGFzc2l2ZVxuICB9XG59KTtcblxuZnVuY3Rpb24gY3JlYXRlRm5JbnZva2VyIChmbnMsIHZtKSB7XG4gIGZ1bmN0aW9uIGludm9rZXIgKCkge1xuICAgIHZhciBhcmd1bWVudHMkMSA9IGFyZ3VtZW50cztcblxuICAgIHZhciBmbnMgPSBpbnZva2VyLmZucztcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmbnMpKSB7XG4gICAgICB2YXIgY2xvbmVkID0gZm5zLnNsaWNlKCk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNsb25lZC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpbnZva2VXaXRoRXJyb3JIYW5kbGluZyhjbG9uZWRbaV0sIG51bGwsIGFyZ3VtZW50cyQxLCB2bSwgXCJ2LW9uIGhhbmRsZXJcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHJldHVybiBoYW5kbGVyIHJldHVybiB2YWx1ZSBmb3Igc2luZ2xlIGhhbmRsZXJzXG4gICAgICByZXR1cm4gaW52b2tlV2l0aEVycm9ySGFuZGxpbmcoZm5zLCBudWxsLCBhcmd1bWVudHMsIHZtLCBcInYtb24gaGFuZGxlclwiKVxuICAgIH1cbiAgfVxuICBpbnZva2VyLmZucyA9IGZucztcbiAgcmV0dXJuIGludm9rZXJcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGlzdGVuZXJzIChcbiAgb24sXG4gIG9sZE9uLFxuICBhZGQsXG4gIHJlbW92ZSQkMSxcbiAgY3JlYXRlT25jZUhhbmRsZXIsXG4gIHZtXG4pIHtcbiAgdmFyIG5hbWUsIGRlZiQkMSwgY3VyLCBvbGQsIGV2ZW50O1xuICBmb3IgKG5hbWUgaW4gb24pIHtcbiAgICBkZWYkJDEgPSBjdXIgPSBvbltuYW1lXTtcbiAgICBvbGQgPSBvbGRPbltuYW1lXTtcbiAgICBldmVudCA9IG5vcm1hbGl6ZUV2ZW50KG5hbWUpO1xuICAgIGlmIChpc1VuZGVmKGN1cikpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICAgXCJJbnZhbGlkIGhhbmRsZXIgZm9yIGV2ZW50IFxcXCJcIiArIChldmVudC5uYW1lKSArIFwiXFxcIjogZ290IFwiICsgU3RyaW5nKGN1ciksXG4gICAgICAgIHZtXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNVbmRlZihvbGQpKSB7XG4gICAgICBpZiAoaXNVbmRlZihjdXIuZm5zKSkge1xuICAgICAgICBjdXIgPSBvbltuYW1lXSA9IGNyZWF0ZUZuSW52b2tlcihjdXIsIHZtKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1RydWUoZXZlbnQub25jZSkpIHtcbiAgICAgICAgY3VyID0gb25bbmFtZV0gPSBjcmVhdGVPbmNlSGFuZGxlcihldmVudC5uYW1lLCBjdXIsIGV2ZW50LmNhcHR1cmUpO1xuICAgICAgfVxuICAgICAgYWRkKGV2ZW50Lm5hbWUsIGN1ciwgZXZlbnQuY2FwdHVyZSwgZXZlbnQucGFzc2l2ZSwgZXZlbnQucGFyYW1zKTtcbiAgICB9IGVsc2UgaWYgKGN1ciAhPT0gb2xkKSB7XG4gICAgICBvbGQuZm5zID0gY3VyO1xuICAgICAgb25bbmFtZV0gPSBvbGQ7XG4gICAgfVxuICB9XG4gIGZvciAobmFtZSBpbiBvbGRPbikge1xuICAgIGlmIChpc1VuZGVmKG9uW25hbWVdKSkge1xuICAgICAgZXZlbnQgPSBub3JtYWxpemVFdmVudChuYW1lKTtcbiAgICAgIHJlbW92ZSQkMShldmVudC5uYW1lLCBvbGRPbltuYW1lXSwgZXZlbnQuY2FwdHVyZSk7XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBtZXJnZVZOb2RlSG9vayAoZGVmLCBob29rS2V5LCBob29rKSB7XG4gIGlmIChkZWYgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIGRlZiA9IGRlZi5kYXRhLmhvb2sgfHwgKGRlZi5kYXRhLmhvb2sgPSB7fSk7XG4gIH1cbiAgdmFyIGludm9rZXI7XG4gIHZhciBvbGRIb29rID0gZGVmW2hvb2tLZXldO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWRIb29rICgpIHtcbiAgICBob29rLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgLy8gaW1wb3J0YW50OiByZW1vdmUgbWVyZ2VkIGhvb2sgdG8gZW5zdXJlIGl0J3MgY2FsbGVkIG9ubHkgb25jZVxuICAgIC8vIGFuZCBwcmV2ZW50IG1lbW9yeSBsZWFrXG4gICAgcmVtb3ZlKGludm9rZXIuZm5zLCB3cmFwcGVkSG9vayk7XG4gIH1cblxuICBpZiAoaXNVbmRlZihvbGRIb29rKSkge1xuICAgIC8vIG5vIGV4aXN0aW5nIGhvb2tcbiAgICBpbnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFt3cmFwcGVkSG9va10pO1xuICB9IGVsc2Uge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpc0RlZihvbGRIb29rLmZucykgJiYgaXNUcnVlKG9sZEhvb2subWVyZ2VkKSkge1xuICAgICAgLy8gYWxyZWFkeSBhIG1lcmdlZCBpbnZva2VyXG4gICAgICBpbnZva2VyID0gb2xkSG9vaztcbiAgICAgIGludm9rZXIuZm5zLnB1c2god3JhcHBlZEhvb2spO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBleGlzdGluZyBwbGFpbiBob29rXG4gICAgICBpbnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFtvbGRIb29rLCB3cmFwcGVkSG9va10pO1xuICAgIH1cbiAgfVxuXG4gIGludm9rZXIubWVyZ2VkID0gdHJ1ZTtcbiAgZGVmW2hvb2tLZXldID0gaW52b2tlcjtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEgKFxuICBkYXRhLFxuICBDdG9yLFxuICB0YWdcbikge1xuICAvLyB3ZSBhcmUgb25seSBleHRyYWN0aW5nIHJhdyB2YWx1ZXMgaGVyZS5cbiAgLy8gdmFsaWRhdGlvbiBhbmQgZGVmYXVsdCB2YWx1ZXMgYXJlIGhhbmRsZWQgaW4gdGhlIGNoaWxkXG4gIC8vIGNvbXBvbmVudCBpdHNlbGYuXG4gIHZhciBwcm9wT3B0aW9ucyA9IEN0b3Iub3B0aW9ucy5wcm9wcztcbiAgaWYgKGlzVW5kZWYocHJvcE9wdGlvbnMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHJlcyA9IHt9O1xuICB2YXIgYXR0cnMgPSBkYXRhLmF0dHJzO1xuICB2YXIgcHJvcHMgPSBkYXRhLnByb3BzO1xuICBpZiAoaXNEZWYoYXR0cnMpIHx8IGlzRGVmKHByb3BzKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAgICAgdmFyIGFsdEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgdmFyIGtleUluTG93ZXJDYXNlID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrZXkgIT09IGtleUluTG93ZXJDYXNlICYmXG4gICAgICAgICAgYXR0cnMgJiYgaGFzT3duKGF0dHJzLCBrZXlJbkxvd2VyQ2FzZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGlwKFxuICAgICAgICAgICAgXCJQcm9wIFxcXCJcIiArIGtleUluTG93ZXJDYXNlICsgXCJcXFwiIGlzIHBhc3NlZCB0byBjb21wb25lbnQgXCIgK1xuICAgICAgICAgICAgKGZvcm1hdENvbXBvbmVudE5hbWUodGFnIHx8IEN0b3IpKSArIFwiLCBidXQgdGhlIGRlY2xhcmVkIHByb3AgbmFtZSBpc1wiICtcbiAgICAgICAgICAgIFwiIFxcXCJcIiArIGtleSArIFwiXFxcIi4gXCIgK1xuICAgICAgICAgICAgXCJOb3RlIHRoYXQgSFRNTCBhdHRyaWJ1dGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIGFuZCBjYW1lbENhc2VkIFwiICtcbiAgICAgICAgICAgIFwicHJvcHMgbmVlZCB0byB1c2UgdGhlaXIga2ViYWItY2FzZSBlcXVpdmFsZW50cyB3aGVuIHVzaW5nIGluLURPTSBcIiArXG4gICAgICAgICAgICBcInRlbXBsYXRlcy4gWW91IHNob3VsZCBwcm9iYWJseSB1c2UgXFxcIlwiICsgYWx0S2V5ICsgXCJcXFwiIGluc3RlYWQgb2YgXFxcIlwiICsga2V5ICsgXCJcXFwiLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY2hlY2tQcm9wKHJlcywgcHJvcHMsIGtleSwgYWx0S2V5LCB0cnVlKSB8fFxuICAgICAgY2hlY2tQcm9wKHJlcywgYXR0cnMsIGtleSwgYWx0S2V5LCBmYWxzZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9wIChcbiAgcmVzLFxuICBoYXNoLFxuICBrZXksXG4gIGFsdEtleSxcbiAgcHJlc2VydmVcbikge1xuICBpZiAoaXNEZWYoaGFzaCkpIHtcbiAgICBpZiAoaGFzT3duKGhhc2gsIGtleSkpIHtcbiAgICAgIHJlc1trZXldID0gaGFzaFtrZXldO1xuICAgICAgaWYgKCFwcmVzZXJ2ZSkge1xuICAgICAgICBkZWxldGUgaGFzaFtrZXldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGhhc093bihoYXNoLCBhbHRLZXkpKSB7XG4gICAgICByZXNba2V5XSA9IGhhc2hbYWx0S2V5XTtcbiAgICAgIGlmICghcHJlc2VydmUpIHtcbiAgICAgICAgZGVsZXRlIGhhc2hbYWx0S2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKiAgKi9cblxuLy8gVGhlIHRlbXBsYXRlIGNvbXBpbGVyIGF0dGVtcHRzIHRvIG1pbmltaXplIHRoZSBuZWVkIGZvciBub3JtYWxpemF0aW9uIGJ5XG4vLyBzdGF0aWNhbGx5IGFuYWx5emluZyB0aGUgdGVtcGxhdGUgYXQgY29tcGlsZSB0aW1lLlxuLy9cbi8vIEZvciBwbGFpbiBIVE1MIG1hcmt1cCwgbm9ybWFsaXphdGlvbiBjYW4gYmUgY29tcGxldGVseSBza2lwcGVkIGJlY2F1c2UgdGhlXG4vLyBnZW5lcmF0ZWQgcmVuZGVyIGZ1bmN0aW9uIGlzIGd1YXJhbnRlZWQgdG8gcmV0dXJuIEFycmF5PFZOb2RlPi4gVGhlcmUgYXJlXG4vLyB0d28gY2FzZXMgd2hlcmUgZXh0cmEgbm9ybWFsaXphdGlvbiBpcyBuZWVkZWQ6XG5cbi8vIDEuIFdoZW4gdGhlIGNoaWxkcmVuIGNvbnRhaW5zIGNvbXBvbmVudHMgLSBiZWNhdXNlIGEgZnVuY3Rpb25hbCBjb21wb25lbnRcbi8vIG1heSByZXR1cm4gYW4gQXJyYXkgaW5zdGVhZCBvZiBhIHNpbmdsZSByb290LiBJbiB0aGlzIGNhc2UsIGp1c3QgYSBzaW1wbGVcbi8vIG5vcm1hbGl6YXRpb24gaXMgbmVlZGVkIC0gaWYgYW55IGNoaWxkIGlzIGFuIEFycmF5LCB3ZSBmbGF0dGVuIHRoZSB3aG9sZVxuLy8gdGhpbmcgd2l0aCBBcnJheS5wcm90b3R5cGUuY29uY2F0LiBJdCBpcyBndWFyYW50ZWVkIHRvIGJlIG9ubHkgMS1sZXZlbCBkZWVwXG4vLyBiZWNhdXNlIGZ1bmN0aW9uYWwgY29tcG9uZW50cyBhbHJlYWR5IG5vcm1hbGl6ZSB0aGVpciBvd24gY2hpbGRyZW4uXG5mdW5jdGlvbiBzaW1wbGVOb3JtYWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuW2ldKSkge1xuICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sIGNoaWxkcmVuKVxuICAgIH1cbiAgfVxuICByZXR1cm4gY2hpbGRyZW5cbn1cblxuLy8gMi4gV2hlbiB0aGUgY2hpbGRyZW4gY29udGFpbnMgY29uc3RydWN0cyB0aGF0IGFsd2F5cyBnZW5lcmF0ZWQgbmVzdGVkIEFycmF5cyxcbi8vIGUuZy4gPHRlbXBsYXRlPiwgPHNsb3Q+LCB2LWZvciwgb3Igd2hlbiB0aGUgY2hpbGRyZW4gaXMgcHJvdmlkZWQgYnkgdXNlclxuLy8gd2l0aCBoYW5kLXdyaXR0ZW4gcmVuZGVyIGZ1bmN0aW9ucyAvIEpTWC4gSW4gc3VjaCBjYXNlcyBhIGZ1bGwgbm9ybWFsaXphdGlvblxuLy8gaXMgbmVlZGVkIHRvIGNhdGVyIHRvIGFsbCBwb3NzaWJsZSB0eXBlcyBvZiBjaGlsZHJlbiB2YWx1ZXMuXG5mdW5jdGlvbiBub3JtYWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIGlzUHJpbWl0aXZlKGNoaWxkcmVuKVxuICAgID8gW2NyZWF0ZVRleHRWTm9kZShjaGlsZHJlbildXG4gICAgOiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKVxuICAgICAgPyBub3JtYWxpemVBcnJheUNoaWxkcmVuKGNoaWxkcmVuKVxuICAgICAgOiB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaXNUZXh0Tm9kZSAobm9kZSkge1xuICByZXR1cm4gaXNEZWYobm9kZSkgJiYgaXNEZWYobm9kZS50ZXh0KSAmJiBpc0ZhbHNlKG5vZGUuaXNDb21tZW50KVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVBcnJheUNoaWxkcmVuIChjaGlsZHJlbiwgbmVzdGVkSW5kZXgpIHtcbiAgdmFyIHJlcyA9IFtdO1xuICB2YXIgaSwgYywgbGFzdEluZGV4LCBsYXN0O1xuICBmb3IgKGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICBjID0gY2hpbGRyZW5baV07XG4gICAgaWYgKGlzVW5kZWYoYykgfHwgdHlwZW9mIGMgPT09ICdib29sZWFuJykgeyBjb250aW51ZSB9XG4gICAgbGFzdEluZGV4ID0gcmVzLmxlbmd0aCAtIDE7XG4gICAgbGFzdCA9IHJlc1tsYXN0SW5kZXhdO1xuICAgIC8vICBuZXN0ZWRcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjKSkge1xuICAgICAgaWYgKGMubGVuZ3RoID4gMCkge1xuICAgICAgICBjID0gbm9ybWFsaXplQXJyYXlDaGlsZHJlbihjLCAoKG5lc3RlZEluZGV4IHx8ICcnKSArIFwiX1wiICsgaSkpO1xuICAgICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgIGlmIChpc1RleHROb2RlKGNbMF0pICYmIGlzVGV4dE5vZGUobGFzdCkpIHtcbiAgICAgICAgICByZXNbbGFzdEluZGV4XSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyAoY1swXSkudGV4dCk7XG4gICAgICAgICAgYy5zaGlmdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5wdXNoLmFwcGx5KHJlcywgYyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ByaW1pdGl2ZShjKSkge1xuICAgICAgaWYgKGlzVGV4dE5vZGUobGFzdCkpIHtcbiAgICAgICAgLy8gbWVyZ2UgYWRqYWNlbnQgdGV4dCBub2Rlc1xuICAgICAgICAvLyB0aGlzIGlzIG5lY2Vzc2FyeSBmb3IgU1NSIGh5ZHJhdGlvbiBiZWNhdXNlIHRleHQgbm9kZXMgYXJlXG4gICAgICAgIC8vIGVzc2VudGlhbGx5IG1lcmdlZCB3aGVuIHJlbmRlcmVkIHRvIEhUTUwgc3RyaW5nc1xuICAgICAgICByZXNbbGFzdEluZGV4XSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyBjKTtcbiAgICAgIH0gZWxzZSBpZiAoYyAhPT0gJycpIHtcbiAgICAgICAgLy8gY29udmVydCBwcmltaXRpdmUgdG8gdm5vZGVcbiAgICAgICAgcmVzLnB1c2goY3JlYXRlVGV4dFZOb2RlKGMpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGlzVGV4dE5vZGUoYykgJiYgaXNUZXh0Tm9kZShsYXN0KSkge1xuICAgICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgIHJlc1tsYXN0SW5kZXhdID0gY3JlYXRlVGV4dFZOb2RlKGxhc3QudGV4dCArIGMudGV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBkZWZhdWx0IGtleSBmb3IgbmVzdGVkIGFycmF5IGNoaWxkcmVuIChsaWtlbHkgZ2VuZXJhdGVkIGJ5IHYtZm9yKVxuICAgICAgICBpZiAoaXNUcnVlKGNoaWxkcmVuLl9pc1ZMaXN0KSAmJlxuICAgICAgICAgIGlzRGVmKGMudGFnKSAmJlxuICAgICAgICAgIGlzVW5kZWYoYy5rZXkpICYmXG4gICAgICAgICAgaXNEZWYobmVzdGVkSW5kZXgpKSB7XG4gICAgICAgICAgYy5rZXkgPSBcIl9fdmxpc3RcIiArIG5lc3RlZEluZGV4ICsgXCJfXCIgKyBpICsgXCJfX1wiO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5wdXNoKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0UHJvdmlkZSAodm0pIHtcbiAgdmFyIHByb3ZpZGUgPSB2bS4kb3B0aW9ucy5wcm92aWRlO1xuICBpZiAocHJvdmlkZSkge1xuICAgIHZtLl9wcm92aWRlZCA9IHR5cGVvZiBwcm92aWRlID09PSAnZnVuY3Rpb24nXG4gICAgICA/IHByb3ZpZGUuY2FsbCh2bSlcbiAgICAgIDogcHJvdmlkZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0SW5qZWN0aW9ucyAodm0pIHtcbiAgdmFyIHJlc3VsdCA9IHJlc29sdmVJbmplY3Qodm0uJG9wdGlvbnMuaW5qZWN0LCB2bSk7XG4gIGlmIChyZXN1bHQpIHtcbiAgICB0b2dnbGVPYnNlcnZpbmcoZmFsc2UpO1xuICAgIE9iamVjdC5rZXlzKHJlc3VsdCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sIGtleSwgcmVzdWx0W2tleV0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgXCJBdm9pZCBtdXRhdGluZyBhbiBpbmplY3RlZCB2YWx1ZSBkaXJlY3RseSBzaW5jZSB0aGUgY2hhbmdlcyB3aWxsIGJlIFwiICtcbiAgICAgICAgICAgIFwib3ZlcndyaXR0ZW4gd2hlbmV2ZXIgdGhlIHByb3ZpZGVkIGNvbXBvbmVudCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAgICAgICBcImluamVjdGlvbiBiZWluZyBtdXRhdGVkOiBcXFwiXCIgKyBrZXkgKyBcIlxcXCJcIixcbiAgICAgICAgICAgIHZtXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2bSwga2V5LCByZXN1bHRba2V5XSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdG9nZ2xlT2JzZXJ2aW5nKHRydWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVJbmplY3QgKGluamVjdCwgdm0pIHtcbiAgaWYgKGluamVjdCkge1xuICAgIC8vIGluamVjdCBpcyA6YW55IGJlY2F1c2UgZmxvdyBpcyBub3Qgc21hcnQgZW5vdWdoIHRvIGZpZ3VyZSBvdXQgY2FjaGVkXG4gICAgdmFyIHJlc3VsdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdmFyIGtleXMgPSBoYXNTeW1ib2xcbiAgICAgID8gUmVmbGVjdC5vd25LZXlzKGluamVjdClcbiAgICAgIDogT2JqZWN0LmtleXMoaW5qZWN0KTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICAvLyAjNjU3NCBpbiBjYXNlIHRoZSBpbmplY3Qgb2JqZWN0IGlzIG9ic2VydmVkLi4uXG4gICAgICBpZiAoa2V5ID09PSAnX19vYl9fJykgeyBjb250aW51ZSB9XG4gICAgICB2YXIgcHJvdmlkZUtleSA9IGluamVjdFtrZXldLmZyb207XG4gICAgICB2YXIgc291cmNlID0gdm07XG4gICAgICB3aGlsZSAoc291cmNlKSB7XG4gICAgICAgIGlmIChzb3VyY2UuX3Byb3ZpZGVkICYmIGhhc093bihzb3VyY2UuX3Byb3ZpZGVkLCBwcm92aWRlS2V5KSkge1xuICAgICAgICAgIHJlc3VsdFtrZXldID0gc291cmNlLl9wcm92aWRlZFtwcm92aWRlS2V5XTtcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIHNvdXJjZSA9IHNvdXJjZS4kcGFyZW50O1xuICAgICAgfVxuICAgICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgICAgaWYgKCdkZWZhdWx0JyBpbiBpbmplY3Rba2V5XSkge1xuICAgICAgICAgIHZhciBwcm92aWRlRGVmYXVsdCA9IGluamVjdFtrZXldLmRlZmF1bHQ7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSB0eXBlb2YgcHJvdmlkZURlZmF1bHQgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gcHJvdmlkZURlZmF1bHQuY2FsbCh2bSlcbiAgICAgICAgICAgIDogcHJvdmlkZURlZmF1bHQ7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIHdhcm4oKFwiSW5qZWN0aW9uIFxcXCJcIiArIGtleSArIFwiXFxcIiBub3QgZm91bmRcIiksIHZtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuLyogICovXG5cblxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZXNvbHZpbmcgcmF3IGNoaWxkcmVuIFZOb2RlcyBpbnRvIGEgc2xvdCBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVTbG90cyAoXG4gIGNoaWxkcmVuLFxuICBjb250ZXh0XG4pIHtcbiAgaWYgKCFjaGlsZHJlbiB8fCAhY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHt9XG4gIH1cbiAgdmFyIHNsb3RzID0ge307XG4gIGZvciAodmFyIGkgPSAwLCBsID0gY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgdmFyIGRhdGEgPSBjaGlsZC5kYXRhO1xuICAgIC8vIHJlbW92ZSBzbG90IGF0dHJpYnV0ZSBpZiB0aGUgbm9kZSBpcyByZXNvbHZlZCBhcyBhIFZ1ZSBzbG90IG5vZGVcbiAgICBpZiAoZGF0YSAmJiBkYXRhLmF0dHJzICYmIGRhdGEuYXR0cnMuc2xvdCkge1xuICAgICAgZGVsZXRlIGRhdGEuYXR0cnMuc2xvdDtcbiAgICB9XG4gICAgLy8gbmFtZWQgc2xvdHMgc2hvdWxkIG9ubHkgYmUgcmVzcGVjdGVkIGlmIHRoZSB2bm9kZSB3YXMgcmVuZGVyZWQgaW4gdGhlXG4gICAgLy8gc2FtZSBjb250ZXh0LlxuICAgIGlmICgoY2hpbGQuY29udGV4dCA9PT0gY29udGV4dCB8fCBjaGlsZC5mbkNvbnRleHQgPT09IGNvbnRleHQpICYmXG4gICAgICBkYXRhICYmIGRhdGEuc2xvdCAhPSBudWxsXG4gICAgKSB7XG4gICAgICB2YXIgbmFtZSA9IGRhdGEuc2xvdDtcbiAgICAgIHZhciBzbG90ID0gKHNsb3RzW25hbWVdIHx8IChzbG90c1tuYW1lXSA9IFtdKSk7XG4gICAgICBpZiAoY2hpbGQudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgIHNsb3QucHVzaC5hcHBseShzbG90LCBjaGlsZC5jaGlsZHJlbiB8fCBbXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzbG90LnB1c2goY2hpbGQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAoc2xvdHMuZGVmYXVsdCB8fCAoc2xvdHMuZGVmYXVsdCA9IFtdKSkucHVzaChjaGlsZCk7XG4gICAgfVxuICB9XG4gIC8vIGlnbm9yZSBzbG90cyB0aGF0IGNvbnRhaW5zIG9ubHkgd2hpdGVzcGFjZVxuICBmb3IgKHZhciBuYW1lJDEgaW4gc2xvdHMpIHtcbiAgICBpZiAoc2xvdHNbbmFtZSQxXS5ldmVyeShpc1doaXRlc3BhY2UpKSB7XG4gICAgICBkZWxldGUgc2xvdHNbbmFtZSQxXTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNsb3RzXG59XG5cbmZ1bmN0aW9uIGlzV2hpdGVzcGFjZSAobm9kZSkge1xuICByZXR1cm4gKG5vZGUuaXNDb21tZW50ICYmICFub2RlLmFzeW5jRmFjdG9yeSkgfHwgbm9kZS50ZXh0ID09PSAnICdcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVNjb3BlZFNsb3RzIChcbiAgc2xvdHMsXG4gIG5vcm1hbFNsb3RzLFxuICBwcmV2U2xvdHNcbikge1xuICB2YXIgcmVzO1xuICB2YXIgaGFzTm9ybWFsU2xvdHMgPSBPYmplY3Qua2V5cyhub3JtYWxTbG90cykubGVuZ3RoID4gMDtcbiAgdmFyIGlzU3RhYmxlID0gc2xvdHMgPyAhIXNsb3RzLiRzdGFibGUgOiAhaGFzTm9ybWFsU2xvdHM7XG4gIHZhciBrZXkgPSBzbG90cyAmJiBzbG90cy4ka2V5O1xuICBpZiAoIXNsb3RzKSB7XG4gICAgcmVzID0ge307XG4gIH0gZWxzZSBpZiAoc2xvdHMuX25vcm1hbGl6ZWQpIHtcbiAgICAvLyBmYXN0IHBhdGggMTogY2hpbGQgY29tcG9uZW50IHJlLXJlbmRlciBvbmx5LCBwYXJlbnQgZGlkIG5vdCBjaGFuZ2VcbiAgICByZXR1cm4gc2xvdHMuX25vcm1hbGl6ZWRcbiAgfSBlbHNlIGlmIChcbiAgICBpc1N0YWJsZSAmJlxuICAgIHByZXZTbG90cyAmJlxuICAgIHByZXZTbG90cyAhPT0gZW1wdHlPYmplY3QgJiZcbiAgICBrZXkgPT09IHByZXZTbG90cy4ka2V5ICYmXG4gICAgIWhhc05vcm1hbFNsb3RzICYmXG4gICAgIXByZXZTbG90cy4kaGFzTm9ybWFsXG4gICkge1xuICAgIC8vIGZhc3QgcGF0aCAyOiBzdGFibGUgc2NvcGVkIHNsb3RzIHcvIG5vIG5vcm1hbCBzbG90cyB0byBwcm94eSxcbiAgICAvLyBvbmx5IG5lZWQgdG8gbm9ybWFsaXplIG9uY2VcbiAgICByZXR1cm4gcHJldlNsb3RzXG4gIH0gZWxzZSB7XG4gICAgcmVzID0ge307XG4gICAgZm9yICh2YXIga2V5JDEgaW4gc2xvdHMpIHtcbiAgICAgIGlmIChzbG90c1trZXkkMV0gJiYga2V5JDFbMF0gIT09ICckJykge1xuICAgICAgICByZXNba2V5JDFdID0gbm9ybWFsaXplU2NvcGVkU2xvdChub3JtYWxTbG90cywga2V5JDEsIHNsb3RzW2tleSQxXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIGV4cG9zZSBub3JtYWwgc2xvdHMgb24gc2NvcGVkU2xvdHNcbiAgZm9yICh2YXIga2V5JDIgaW4gbm9ybWFsU2xvdHMpIHtcbiAgICBpZiAoIShrZXkkMiBpbiByZXMpKSB7XG4gICAgICByZXNba2V5JDJdID0gcHJveHlOb3JtYWxTbG90KG5vcm1hbFNsb3RzLCBrZXkkMik7XG4gICAgfVxuICB9XG4gIC8vIGF2b3JpYXogc2VlbXMgdG8gbW9jayBhIG5vbi1leHRlbnNpYmxlICRzY29wZWRTbG90cyBvYmplY3RcbiAgLy8gYW5kIHdoZW4gdGhhdCBpcyBwYXNzZWQgZG93biB0aGlzIHdvdWxkIGNhdXNlIGFuIGVycm9yXG4gIGlmIChzbG90cyAmJiBPYmplY3QuaXNFeHRlbnNpYmxlKHNsb3RzKSkge1xuICAgIChzbG90cykuX25vcm1hbGl6ZWQgPSByZXM7XG4gIH1cbiAgZGVmKHJlcywgJyRzdGFibGUnLCBpc1N0YWJsZSk7XG4gIGRlZihyZXMsICcka2V5Jywga2V5KTtcbiAgZGVmKHJlcywgJyRoYXNOb3JtYWwnLCBoYXNOb3JtYWxTbG90cyk7XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplU2NvcGVkU2xvdChub3JtYWxTbG90cywga2V5LCBmbikge1xuICB2YXIgbm9ybWFsaXplZCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcmVzID0gYXJndW1lbnRzLmxlbmd0aCA/IGZuLmFwcGx5KG51bGwsIGFyZ3VtZW50cykgOiBmbih7fSk7XG4gICAgcmVzID0gcmVzICYmIHR5cGVvZiByZXMgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHJlcylcbiAgICAgID8gW3Jlc10gLy8gc2luZ2xlIHZub2RlXG4gICAgICA6IG5vcm1hbGl6ZUNoaWxkcmVuKHJlcyk7XG4gICAgcmV0dXJuIHJlcyAmJiAoXG4gICAgICByZXMubGVuZ3RoID09PSAwIHx8XG4gICAgICAocmVzLmxlbmd0aCA9PT0gMSAmJiByZXNbMF0uaXNDb21tZW50KSAvLyAjOTY1OFxuICAgICkgPyB1bmRlZmluZWRcbiAgICAgIDogcmVzXG4gIH07XG4gIC8vIHRoaXMgaXMgYSBzbG90IHVzaW5nIHRoZSBuZXcgdi1zbG90IHN5bnRheCB3aXRob3V0IHNjb3BlLiBhbHRob3VnaCBpdCBpc1xuICAvLyBjb21waWxlZCBhcyBhIHNjb3BlZCBzbG90LCByZW5kZXIgZm4gdXNlcnMgd291bGQgZXhwZWN0IGl0IHRvIGJlIHByZXNlbnRcbiAgLy8gb24gdGhpcy4kc2xvdHMgYmVjYXVzZSB0aGUgdXNhZ2UgaXMgc2VtYW50aWNhbGx5IGEgbm9ybWFsIHNsb3QuXG4gIGlmIChmbi5wcm94eSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShub3JtYWxTbG90cywga2V5LCB7XG4gICAgICBnZXQ6IG5vcm1hbGl6ZWQsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZWRcbn1cblxuZnVuY3Rpb24gcHJveHlOb3JtYWxTbG90KHNsb3RzLCBrZXkpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNsb3RzW2tleV07IH1cbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHJlbmRlcmluZyB2LWZvciBsaXN0cy5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyTGlzdCAoXG4gIHZhbCxcbiAgcmVuZGVyXG4pIHtcbiAgdmFyIHJldCwgaSwgbCwga2V5cywga2V5O1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpIHx8IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0ID0gbmV3IEFycmF5KHZhbC5sZW5ndGgpO1xuICAgIGZvciAoaSA9IDAsIGwgPSB2YWwubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICByZXRbaV0gPSByZW5kZXIodmFsW2ldLCBpKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICByZXQgPSBuZXcgQXJyYXkodmFsKTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsOyBpKyspIHtcbiAgICAgIHJldFtpXSA9IHJlbmRlcihpICsgMSwgaSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzT2JqZWN0KHZhbCkpIHtcbiAgICBpZiAoaGFzU3ltYm9sICYmIHZhbFtTeW1ib2wuaXRlcmF0b3JdKSB7XG4gICAgICByZXQgPSBbXTtcbiAgICAgIHZhciBpdGVyYXRvciA9IHZhbFtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gICAgICB2YXIgcmVzdWx0ID0gaXRlcmF0b3IubmV4dCgpO1xuICAgICAgd2hpbGUgKCFyZXN1bHQuZG9uZSkge1xuICAgICAgICByZXQucHVzaChyZW5kZXIocmVzdWx0LnZhbHVlLCByZXQubGVuZ3RoKSk7XG4gICAgICAgIHJlc3VsdCA9IGl0ZXJhdG9yLm5leHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAga2V5cyA9IE9iamVjdC5rZXlzKHZhbCk7XG4gICAgICByZXQgPSBuZXcgQXJyYXkoa2V5cy5sZW5ndGgpO1xuICAgICAgZm9yIChpID0gMCwgbCA9IGtleXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGtleSA9IGtleXNbaV07XG4gICAgICAgIHJldFtpXSA9IHJlbmRlcih2YWxba2V5XSwga2V5LCBpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCFpc0RlZihyZXQpKSB7XG4gICAgcmV0ID0gW107XG4gIH1cbiAgKHJldCkuX2lzVkxpc3QgPSB0cnVlO1xuICByZXR1cm4gcmV0XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZW5kZXJpbmcgPHNsb3Q+XG4gKi9cbmZ1bmN0aW9uIHJlbmRlclNsb3QgKFxuICBuYW1lLFxuICBmYWxsYmFjayxcbiAgcHJvcHMsXG4gIGJpbmRPYmplY3Rcbikge1xuICB2YXIgc2NvcGVkU2xvdEZuID0gdGhpcy4kc2NvcGVkU2xvdHNbbmFtZV07XG4gIHZhciBub2RlcztcbiAgaWYgKHNjb3BlZFNsb3RGbikgeyAvLyBzY29wZWQgc2xvdFxuICAgIHByb3BzID0gcHJvcHMgfHwge307XG4gICAgaWYgKGJpbmRPYmplY3QpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFpc09iamVjdChiaW5kT2JqZWN0KSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgICdzbG90IHYtYmluZCB3aXRob3V0IGFyZ3VtZW50IGV4cGVjdHMgYW4gT2JqZWN0JyxcbiAgICAgICAgICB0aGlzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBwcm9wcyA9IGV4dGVuZChleHRlbmQoe30sIGJpbmRPYmplY3QpLCBwcm9wcyk7XG4gICAgfVxuICAgIG5vZGVzID0gc2NvcGVkU2xvdEZuKHByb3BzKSB8fCBmYWxsYmFjaztcbiAgfSBlbHNlIHtcbiAgICBub2RlcyA9IHRoaXMuJHNsb3RzW25hbWVdIHx8IGZhbGxiYWNrO1xuICB9XG5cbiAgdmFyIHRhcmdldCA9IHByb3BzICYmIHByb3BzLnNsb3Q7XG4gIGlmICh0YXJnZXQpIHtcbiAgICByZXR1cm4gdGhpcy4kY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnLCB7IHNsb3Q6IHRhcmdldCB9LCBub2RlcylcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbm9kZXNcbiAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVzb2x2aW5nIGZpbHRlcnNcbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUZpbHRlciAoaWQpIHtcbiAgcmV0dXJuIHJlc29sdmVBc3NldCh0aGlzLiRvcHRpb25zLCAnZmlsdGVycycsIGlkLCB0cnVlKSB8fCBpZGVudGl0eVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaXNLZXlOb3RNYXRjaCAoZXhwZWN0LCBhY3R1YWwpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZXhwZWN0KSkge1xuICAgIHJldHVybiBleHBlY3QuaW5kZXhPZihhY3R1YWwpID09PSAtMVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBleHBlY3QgIT09IGFjdHVhbFxuICB9XG59XG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIGNoZWNraW5nIGtleUNvZGVzIGZyb20gY29uZmlnLlxuICogZXhwb3NlZCBhcyBWdWUucHJvdG90eXBlLl9rXG4gKiBwYXNzaW5nIGluIGV2ZW50S2V5TmFtZSBhcyBsYXN0IGFyZ3VtZW50IHNlcGFyYXRlbHkgZm9yIGJhY2t3YXJkcyBjb21wYXRcbiAqL1xuZnVuY3Rpb24gY2hlY2tLZXlDb2RlcyAoXG4gIGV2ZW50S2V5Q29kZSxcbiAga2V5LFxuICBidWlsdEluS2V5Q29kZSxcbiAgZXZlbnRLZXlOYW1lLFxuICBidWlsdEluS2V5TmFtZVxuKSB7XG4gIHZhciBtYXBwZWRLZXlDb2RlID0gY29uZmlnLmtleUNvZGVzW2tleV0gfHwgYnVpbHRJbktleUNvZGU7XG4gIGlmIChidWlsdEluS2V5TmFtZSAmJiBldmVudEtleU5hbWUgJiYgIWNvbmZpZy5rZXlDb2Rlc1trZXldKSB7XG4gICAgcmV0dXJuIGlzS2V5Tm90TWF0Y2goYnVpbHRJbktleU5hbWUsIGV2ZW50S2V5TmFtZSlcbiAgfSBlbHNlIGlmIChtYXBwZWRLZXlDb2RlKSB7XG4gICAgcmV0dXJuIGlzS2V5Tm90TWF0Y2gobWFwcGVkS2V5Q29kZSwgZXZlbnRLZXlDb2RlKVxuICB9IGVsc2UgaWYgKGV2ZW50S2V5TmFtZSkge1xuICAgIHJldHVybiBoeXBoZW5hdGUoZXZlbnRLZXlOYW1lKSAhPT0ga2V5XG4gIH1cbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIG1lcmdpbmcgdi1iaW5kPVwib2JqZWN0XCIgaW50byBhIFZOb2RlJ3MgZGF0YS5cbiAqL1xuZnVuY3Rpb24gYmluZE9iamVjdFByb3BzIChcbiAgZGF0YSxcbiAgdGFnLFxuICB2YWx1ZSxcbiAgYXNQcm9wLFxuICBpc1N5bmNcbikge1xuICBpZiAodmFsdWUpIHtcbiAgICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICAndi1iaW5kIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3Qgb3IgQXJyYXkgdmFsdWUnLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUgPSB0b09iamVjdCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICB2YXIgaGFzaDtcbiAgICAgIHZhciBsb29wID0gZnVuY3Rpb24gKCBrZXkgKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrZXkgPT09ICdjbGFzcycgfHxcbiAgICAgICAgICBrZXkgPT09ICdzdHlsZScgfHxcbiAgICAgICAgICBpc1Jlc2VydmVkQXR0cmlidXRlKGtleSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgaGFzaCA9IGRhdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHR5cGUgPSBkYXRhLmF0dHJzICYmIGRhdGEuYXR0cnMudHlwZTtcbiAgICAgICAgICBoYXNoID0gYXNQcm9wIHx8IGNvbmZpZy5tdXN0VXNlUHJvcCh0YWcsIHR5cGUsIGtleSlcbiAgICAgICAgICAgID8gZGF0YS5kb21Qcm9wcyB8fCAoZGF0YS5kb21Qcm9wcyA9IHt9KVxuICAgICAgICAgICAgOiBkYXRhLmF0dHJzIHx8IChkYXRhLmF0dHJzID0ge30pO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjYW1lbGl6ZWRLZXkgPSBjYW1lbGl6ZShrZXkpO1xuICAgICAgICB2YXIgaHlwaGVuYXRlZEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgICBpZiAoIShjYW1lbGl6ZWRLZXkgaW4gaGFzaCkgJiYgIShoeXBoZW5hdGVkS2V5IGluIGhhc2gpKSB7XG4gICAgICAgICAgaGFzaFtrZXldID0gdmFsdWVba2V5XTtcblxuICAgICAgICAgIGlmIChpc1N5bmMpIHtcbiAgICAgICAgICAgIHZhciBvbiA9IGRhdGEub24gfHwgKGRhdGEub24gPSB7fSk7XG4gICAgICAgICAgICBvblsoXCJ1cGRhdGU6XCIgKyBrZXkpXSA9IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgdmFsdWVba2V5XSA9ICRldmVudDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIGxvb3AoIGtleSApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVuZGVyaW5nIHN0YXRpYyB0cmVlcy5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyU3RhdGljIChcbiAgaW5kZXgsXG4gIGlzSW5Gb3Jcbikge1xuICB2YXIgY2FjaGVkID0gdGhpcy5fc3RhdGljVHJlZXMgfHwgKHRoaXMuX3N0YXRpY1RyZWVzID0gW10pO1xuICB2YXIgdHJlZSA9IGNhY2hlZFtpbmRleF07XG4gIC8vIGlmIGhhcyBhbHJlYWR5LXJlbmRlcmVkIHN0YXRpYyB0cmVlIGFuZCBub3QgaW5zaWRlIHYtZm9yLFxuICAvLyB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgdHJlZS5cbiAgaWYgKHRyZWUgJiYgIWlzSW5Gb3IpIHtcbiAgICByZXR1cm4gdHJlZVxuICB9XG4gIC8vIG90aGVyd2lzZSwgcmVuZGVyIGEgZnJlc2ggdHJlZS5cbiAgdHJlZSA9IGNhY2hlZFtpbmRleF0gPSB0aGlzLiRvcHRpb25zLnN0YXRpY1JlbmRlckZuc1tpbmRleF0uY2FsbChcbiAgICB0aGlzLl9yZW5kZXJQcm94eSxcbiAgICBudWxsLFxuICAgIHRoaXMgLy8gZm9yIHJlbmRlciBmbnMgZ2VuZXJhdGVkIGZvciBmdW5jdGlvbmFsIGNvbXBvbmVudCB0ZW1wbGF0ZXNcbiAgKTtcbiAgbWFya1N0YXRpYyh0cmVlLCAoXCJfX3N0YXRpY19fXCIgKyBpbmRleCksIGZhbHNlKTtcbiAgcmV0dXJuIHRyZWVcbn1cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3Igdi1vbmNlLlxuICogRWZmZWN0aXZlbHkgaXQgbWVhbnMgbWFya2luZyB0aGUgbm9kZSBhcyBzdGF0aWMgd2l0aCBhIHVuaXF1ZSBrZXkuXG4gKi9cbmZ1bmN0aW9uIG1hcmtPbmNlIChcbiAgdHJlZSxcbiAgaW5kZXgsXG4gIGtleVxuKSB7XG4gIG1hcmtTdGF0aWModHJlZSwgKFwiX19vbmNlX19cIiArIGluZGV4ICsgKGtleSA/IChcIl9cIiArIGtleSkgOiBcIlwiKSksIHRydWUpO1xuICByZXR1cm4gdHJlZVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljIChcbiAgdHJlZSxcbiAga2V5LFxuICBpc09uY2Vcbikge1xuICBpZiAoQXJyYXkuaXNBcnJheSh0cmVlKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJlZS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRyZWVbaV0gJiYgdHlwZW9mIHRyZWVbaV0gIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIG1hcmtTdGF0aWNOb2RlKHRyZWVbaV0sIChrZXkgKyBcIl9cIiArIGkpLCBpc09uY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBtYXJrU3RhdGljTm9kZSh0cmVlLCBrZXksIGlzT25jZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1N0YXRpY05vZGUgKG5vZGUsIGtleSwgaXNPbmNlKSB7XG4gIG5vZGUuaXNTdGF0aWMgPSB0cnVlO1xuICBub2RlLmtleSA9IGtleTtcbiAgbm9kZS5pc09uY2UgPSBpc09uY2U7XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBiaW5kT2JqZWN0TGlzdGVuZXJzIChkYXRhLCB2YWx1ZSkge1xuICBpZiAodmFsdWUpIHtcbiAgICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgICd2LW9uIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3QgdmFsdWUnLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgb24gPSBkYXRhLm9uID0gZGF0YS5vbiA/IGV4dGVuZCh7fSwgZGF0YS5vbikgOiB7fTtcbiAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICB2YXIgZXhpc3RpbmcgPSBvbltrZXldO1xuICAgICAgICB2YXIgb3VycyA9IHZhbHVlW2tleV07XG4gICAgICAgIG9uW2tleV0gPSBleGlzdGluZyA/IFtdLmNvbmNhdChleGlzdGluZywgb3VycykgOiBvdXJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gcmVzb2x2ZVNjb3BlZFNsb3RzIChcbiAgZm5zLCAvLyBzZWUgZmxvdy92bm9kZVxuICByZXMsXG4gIC8vIHRoZSBmb2xsb3dpbmcgYXJlIGFkZGVkIGluIDIuNlxuICBoYXNEeW5hbWljS2V5cyxcbiAgY29udGVudEhhc2hLZXlcbikge1xuICByZXMgPSByZXMgfHwgeyAkc3RhYmxlOiAhaGFzRHluYW1pY0tleXMgfTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBmbnMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc2xvdCA9IGZuc1tpXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShzbG90KSkge1xuICAgICAgcmVzb2x2ZVNjb3BlZFNsb3RzKHNsb3QsIHJlcywgaGFzRHluYW1pY0tleXMpO1xuICAgIH0gZWxzZSBpZiAoc2xvdCkge1xuICAgICAgLy8gbWFya2VyIGZvciByZXZlcnNlIHByb3h5aW5nIHYtc2xvdCB3aXRob3V0IHNjb3BlIG9uIHRoaXMuJHNsb3RzXG4gICAgICBpZiAoc2xvdC5wcm94eSkge1xuICAgICAgICBzbG90LmZuLnByb3h5ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJlc1tzbG90LmtleV0gPSBzbG90LmZuO1xuICAgIH1cbiAgfVxuICBpZiAoY29udGVudEhhc2hLZXkpIHtcbiAgICAocmVzKS4ka2V5ID0gY29udGVudEhhc2hLZXk7XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gYmluZER5bmFtaWNLZXlzIChiYXNlT2JqLCB2YWx1ZXMpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyBpICs9IDIpIHtcbiAgICB2YXIga2V5ID0gdmFsdWVzW2ldO1xuICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiBrZXkpIHtcbiAgICAgIGJhc2VPYmpbdmFsdWVzW2ldXSA9IHZhbHVlc1tpICsgMV07XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGtleSAhPT0gJycgJiYga2V5ICE9PSBudWxsKSB7XG4gICAgICAvLyBudWxsIGlzIGEgc3BlaWNhbCB2YWx1ZSBmb3IgZXhwbGljaXRseSByZW1vdmluZyBhIGJpbmRpbmdcbiAgICAgIHdhcm4oXG4gICAgICAgIChcIkludmFsaWQgdmFsdWUgZm9yIGR5bmFtaWMgZGlyZWN0aXZlIGFyZ3VtZW50IChleHBlY3RlZCBzdHJpbmcgb3IgbnVsbCk6IFwiICsga2V5KSxcbiAgICAgICAgdGhpc1xuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJhc2VPYmpcbn1cblxuLy8gaGVscGVyIHRvIGR5bmFtaWNhbGx5IGFwcGVuZCBtb2RpZmllciBydW50aW1lIG1hcmtlcnMgdG8gZXZlbnQgbmFtZXMuXG4vLyBlbnN1cmUgb25seSBhcHBlbmQgd2hlbiB2YWx1ZSBpcyBhbHJlYWR5IHN0cmluZywgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgY2FzdFxuLy8gdG8gc3RyaW5nIGFuZCBjYXVzZSB0aGUgdHlwZSBjaGVjayB0byBtaXNzLlxuZnVuY3Rpb24gcHJlcGVuZE1vZGlmaWVyICh2YWx1ZSwgc3ltYm9sKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gc3ltYm9sICsgdmFsdWUgOiB2YWx1ZVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5zdGFsbFJlbmRlckhlbHBlcnMgKHRhcmdldCkge1xuICB0YXJnZXQuX28gPSBtYXJrT25jZTtcbiAgdGFyZ2V0Ll9uID0gdG9OdW1iZXI7XG4gIHRhcmdldC5fcyA9IHRvU3RyaW5nO1xuICB0YXJnZXQuX2wgPSByZW5kZXJMaXN0O1xuICB0YXJnZXQuX3QgPSByZW5kZXJTbG90O1xuICB0YXJnZXQuX3EgPSBsb29zZUVxdWFsO1xuICB0YXJnZXQuX2kgPSBsb29zZUluZGV4T2Y7XG4gIHRhcmdldC5fbSA9IHJlbmRlclN0YXRpYztcbiAgdGFyZ2V0Ll9mID0gcmVzb2x2ZUZpbHRlcjtcbiAgdGFyZ2V0Ll9rID0gY2hlY2tLZXlDb2RlcztcbiAgdGFyZ2V0Ll9iID0gYmluZE9iamVjdFByb3BzO1xuICB0YXJnZXQuX3YgPSBjcmVhdGVUZXh0Vk5vZGU7XG4gIHRhcmdldC5fZSA9IGNyZWF0ZUVtcHR5Vk5vZGU7XG4gIHRhcmdldC5fdSA9IHJlc29sdmVTY29wZWRTbG90cztcbiAgdGFyZ2V0Ll9nID0gYmluZE9iamVjdExpc3RlbmVycztcbiAgdGFyZ2V0Ll9kID0gYmluZER5bmFtaWNLZXlzO1xuICB0YXJnZXQuX3AgPSBwcmVwZW5kTW9kaWZpZXI7XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBGdW5jdGlvbmFsUmVuZGVyQ29udGV4dCAoXG4gIGRhdGEsXG4gIHByb3BzLFxuICBjaGlsZHJlbixcbiAgcGFyZW50LFxuICBDdG9yXG4pIHtcbiAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgdmFyIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnM7XG4gIC8vIGVuc3VyZSB0aGUgY3JlYXRlRWxlbWVudCBmdW5jdGlvbiBpbiBmdW5jdGlvbmFsIGNvbXBvbmVudHNcbiAgLy8gZ2V0cyBhIHVuaXF1ZSBjb250ZXh0IC0gdGhpcyBpcyBuZWNlc3NhcnkgZm9yIGNvcnJlY3QgbmFtZWQgc2xvdCBjaGVja1xuICB2YXIgY29udGV4dFZtO1xuICBpZiAoaGFzT3duKHBhcmVudCwgJ191aWQnKSkge1xuICAgIGNvbnRleHRWbSA9IE9iamVjdC5jcmVhdGUocGFyZW50KTtcbiAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICBjb250ZXh0Vm0uX29yaWdpbmFsID0gcGFyZW50O1xuICB9IGVsc2Uge1xuICAgIC8vIHRoZSBjb250ZXh0IHZtIHBhc3NlZCBpbiBpcyBhIGZ1bmN0aW9uYWwgY29udGV4dCBhcyB3ZWxsLlxuICAgIC8vIGluIHRoaXMgY2FzZSB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBhcmUgYWJsZSB0byBnZXQgYSBob2xkIHRvIHRoZVxuICAgIC8vIHJlYWwgY29udGV4dCBpbnN0YW5jZS5cbiAgICBjb250ZXh0Vm0gPSBwYXJlbnQ7XG4gICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgcGFyZW50ID0gcGFyZW50Ll9vcmlnaW5hbDtcbiAgfVxuICB2YXIgaXNDb21waWxlZCA9IGlzVHJ1ZShvcHRpb25zLl9jb21waWxlZCk7XG4gIHZhciBuZWVkTm9ybWFsaXphdGlvbiA9ICFpc0NvbXBpbGVkO1xuXG4gIHRoaXMuZGF0YSA9IGRhdGE7XG4gIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgdGhpcy5saXN0ZW5lcnMgPSBkYXRhLm9uIHx8IGVtcHR5T2JqZWN0O1xuICB0aGlzLmluamVjdGlvbnMgPSByZXNvbHZlSW5qZWN0KG9wdGlvbnMuaW5qZWN0LCBwYXJlbnQpO1xuICB0aGlzLnNsb3RzID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICghdGhpcyQxLiRzbG90cykge1xuICAgICAgbm9ybWFsaXplU2NvcGVkU2xvdHMoXG4gICAgICAgIGRhdGEuc2NvcGVkU2xvdHMsXG4gICAgICAgIHRoaXMkMS4kc2xvdHMgPSByZXNvbHZlU2xvdHMoY2hpbGRyZW4sIHBhcmVudClcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzJDEuJHNsb3RzXG4gIH07XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzY29wZWRTbG90cycsICh7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCAoKSB7XG4gICAgICByZXR1cm4gbm9ybWFsaXplU2NvcGVkU2xvdHMoZGF0YS5zY29wZWRTbG90cywgdGhpcy5zbG90cygpKVxuICAgIH1cbiAgfSkpO1xuXG4gIC8vIHN1cHBvcnQgZm9yIGNvbXBpbGVkIGZ1bmN0aW9uYWwgdGVtcGxhdGVcbiAgaWYgKGlzQ29tcGlsZWQpIHtcbiAgICAvLyBleHBvc2luZyAkb3B0aW9ucyBmb3IgcmVuZGVyU3RhdGljKClcbiAgICB0aGlzLiRvcHRpb25zID0gb3B0aW9ucztcbiAgICAvLyBwcmUtcmVzb2x2ZSBzbG90cyBmb3IgcmVuZGVyU2xvdCgpXG4gICAgdGhpcy4kc2xvdHMgPSB0aGlzLnNsb3RzKCk7XG4gICAgdGhpcy4kc2NvcGVkU2xvdHMgPSBub3JtYWxpemVTY29wZWRTbG90cyhkYXRhLnNjb3BlZFNsb3RzLCB0aGlzLiRzbG90cyk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5fc2NvcGVJZCkge1xuICAgIHRoaXMuX2MgPSBmdW5jdGlvbiAoYSwgYiwgYywgZCkge1xuICAgICAgdmFyIHZub2RlID0gY3JlYXRlRWxlbWVudChjb250ZXh0Vm0sIGEsIGIsIGMsIGQsIG5lZWROb3JtYWxpemF0aW9uKTtcbiAgICAgIGlmICh2bm9kZSAmJiAhQXJyYXkuaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgdm5vZGUuZm5TY29wZUlkID0gb3B0aW9ucy5fc2NvcGVJZDtcbiAgICAgICAgdm5vZGUuZm5Db250ZXh0ID0gcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZub2RlXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLl9jID0gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHsgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoY29udGV4dFZtLCBhLCBiLCBjLCBkLCBuZWVkTm9ybWFsaXphdGlvbik7IH07XG4gIH1cbn1cblxuaW5zdGFsbFJlbmRlckhlbHBlcnMoRnVuY3Rpb25hbFJlbmRlckNvbnRleHQucHJvdG90eXBlKTtcblxuZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb25hbENvbXBvbmVudCAoXG4gIEN0b3IsXG4gIHByb3BzRGF0YSxcbiAgZGF0YSxcbiAgY29udGV4dFZtLFxuICBjaGlsZHJlblxuKSB7XG4gIHZhciBvcHRpb25zID0gQ3Rvci5vcHRpb25zO1xuICB2YXIgcHJvcHMgPSB7fTtcbiAgdmFyIHByb3BPcHRpb25zID0gb3B0aW9ucy5wcm9wcztcbiAgaWYgKGlzRGVmKHByb3BPcHRpb25zKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAgICAgcHJvcHNba2V5XSA9IHZhbGlkYXRlUHJvcChrZXksIHByb3BPcHRpb25zLCBwcm9wc0RhdGEgfHwgZW1wdHlPYmplY3QpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNEZWYoZGF0YS5hdHRycykpIHsgbWVyZ2VQcm9wcyhwcm9wcywgZGF0YS5hdHRycyk7IH1cbiAgICBpZiAoaXNEZWYoZGF0YS5wcm9wcykpIHsgbWVyZ2VQcm9wcyhwcm9wcywgZGF0YS5wcm9wcyk7IH1cbiAgfVxuXG4gIHZhciByZW5kZXJDb250ZXh0ID0gbmV3IEZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0KFxuICAgIGRhdGEsXG4gICAgcHJvcHMsXG4gICAgY2hpbGRyZW4sXG4gICAgY29udGV4dFZtLFxuICAgIEN0b3JcbiAgKTtcblxuICB2YXIgdm5vZGUgPSBvcHRpb25zLnJlbmRlci5jYWxsKG51bGwsIHJlbmRlckNvbnRleHQuX2MsIHJlbmRlckNvbnRleHQpO1xuXG4gIGlmICh2bm9kZSBpbnN0YW5jZW9mIFZOb2RlKSB7XG4gICAgcmV0dXJuIGNsb25lQW5kTWFya0Z1bmN0aW9uYWxSZXN1bHQodm5vZGUsIGRhdGEsIHJlbmRlckNvbnRleHQucGFyZW50LCBvcHRpb25zLCByZW5kZXJDb250ZXh0KVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodm5vZGUpKSB7XG4gICAgdmFyIHZub2RlcyA9IG5vcm1hbGl6ZUNoaWxkcmVuKHZub2RlKSB8fCBbXTtcbiAgICB2YXIgcmVzID0gbmV3IEFycmF5KHZub2Rlcy5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdm5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICByZXNbaV0gPSBjbG9uZUFuZE1hcmtGdW5jdGlvbmFsUmVzdWx0KHZub2Rlc1tpXSwgZGF0YSwgcmVuZGVyQ29udGV4dC5wYXJlbnQsIG9wdGlvbnMsIHJlbmRlckNvbnRleHQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzXG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvbmVBbmRNYXJrRnVuY3Rpb25hbFJlc3VsdCAodm5vZGUsIGRhdGEsIGNvbnRleHRWbSwgb3B0aW9ucywgcmVuZGVyQ29udGV4dCkge1xuICAvLyAjNzgxNyBjbG9uZSBub2RlIGJlZm9yZSBzZXR0aW5nIGZuQ29udGV4dCwgb3RoZXJ3aXNlIGlmIHRoZSBub2RlIGlzIHJldXNlZFxuICAvLyAoZS5nLiBpdCB3YXMgZnJvbSBhIGNhY2hlZCBub3JtYWwgc2xvdCkgdGhlIGZuQ29udGV4dCBjYXVzZXMgbmFtZWQgc2xvdHNcbiAgLy8gdGhhdCBzaG91bGQgbm90IGJlIG1hdGNoZWQgdG8gbWF0Y2guXG4gIHZhciBjbG9uZSA9IGNsb25lVk5vZGUodm5vZGUpO1xuICBjbG9uZS5mbkNvbnRleHQgPSBjb250ZXh0Vm07XG4gIGNsb25lLmZuT3B0aW9ucyA9IG9wdGlvbnM7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgKGNsb25lLmRldnRvb2xzTWV0YSA9IGNsb25lLmRldnRvb2xzTWV0YSB8fCB7fSkucmVuZGVyQ29udGV4dCA9IHJlbmRlckNvbnRleHQ7XG4gIH1cbiAgaWYgKGRhdGEuc2xvdCkge1xuICAgIChjbG9uZS5kYXRhIHx8IChjbG9uZS5kYXRhID0ge30pKS5zbG90ID0gZGF0YS5zbG90O1xuICB9XG4gIHJldHVybiBjbG9uZVxufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzICh0bywgZnJvbSkge1xuICBmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuICAgIHRvW2NhbWVsaXplKGtleSldID0gZnJvbVtrZXldO1xuICB9XG59XG5cbi8qICAqL1xuXG4vKiAgKi9cblxuLyogICovXG5cbi8qICAqL1xuXG4vLyBpbmxpbmUgaG9va3MgdG8gYmUgaW52b2tlZCBvbiBjb21wb25lbnQgVk5vZGVzIGR1cmluZyBwYXRjaFxudmFyIGNvbXBvbmVudFZOb2RlSG9va3MgPSB7XG4gIGluaXQ6IGZ1bmN0aW9uIGluaXQgKHZub2RlLCBoeWRyYXRpbmcpIHtcbiAgICBpZiAoXG4gICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSAmJlxuICAgICAgIXZub2RlLmNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCAmJlxuICAgICAgdm5vZGUuZGF0YS5rZWVwQWxpdmVcbiAgICApIHtcbiAgICAgIC8vIGtlcHQtYWxpdmUgY29tcG9uZW50cywgdHJlYXQgYXMgYSBwYXRjaFxuICAgICAgdmFyIG1vdW50ZWROb2RlID0gdm5vZGU7IC8vIHdvcmsgYXJvdW5kIGZsb3dcbiAgICAgIGNvbXBvbmVudFZOb2RlSG9va3MucHJlcGF0Y2gobW91bnRlZE5vZGUsIG1vdW50ZWROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGNoaWxkID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgPSBjcmVhdGVDb21wb25lbnRJbnN0YW5jZUZvclZub2RlKFxuICAgICAgICB2bm9kZSxcbiAgICAgICAgYWN0aXZlSW5zdGFuY2VcbiAgICAgICk7XG4gICAgICBjaGlsZC4kbW91bnQoaHlkcmF0aW5nID8gdm5vZGUuZWxtIDogdW5kZWZpbmVkLCBoeWRyYXRpbmcpO1xuICAgIH1cbiAgfSxcblxuICBwcmVwYXRjaDogZnVuY3Rpb24gcHJlcGF0Y2ggKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIHZhciBvcHRpb25zID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgICB2YXIgY2hpbGQgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IG9sZFZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIHVwZGF0ZUNoaWxkQ29tcG9uZW50KFxuICAgICAgY2hpbGQsXG4gICAgICBvcHRpb25zLnByb3BzRGF0YSwgLy8gdXBkYXRlZCBwcm9wc1xuICAgICAgb3B0aW9ucy5saXN0ZW5lcnMsIC8vIHVwZGF0ZWQgbGlzdGVuZXJzXG4gICAgICB2bm9kZSwgLy8gbmV3IHBhcmVudCB2bm9kZVxuICAgICAgb3B0aW9ucy5jaGlsZHJlbiAvLyBuZXcgY2hpbGRyZW5cbiAgICApO1xuICB9LFxuXG4gIGluc2VydDogZnVuY3Rpb24gaW5zZXJ0ICh2bm9kZSkge1xuICAgIHZhciBjb250ZXh0ID0gdm5vZGUuY29udGV4dDtcbiAgICB2YXIgY29tcG9uZW50SW5zdGFuY2UgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBpZiAoIWNvbXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQpIHtcbiAgICAgIGNvbXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQgPSB0cnVlO1xuICAgICAgY2FsbEhvb2soY29tcG9uZW50SW5zdGFuY2UsICdtb3VudGVkJyk7XG4gICAgfVxuICAgIGlmICh2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgaWYgKGNvbnRleHQuX2lzTW91bnRlZCkge1xuICAgICAgICAvLyB2dWUtcm91dGVyIzEyMTJcbiAgICAgICAgLy8gRHVyaW5nIHVwZGF0ZXMsIGEga2VwdC1hbGl2ZSBjb21wb25lbnQncyBjaGlsZCBjb21wb25lbnRzIG1heVxuICAgICAgICAvLyBjaGFuZ2UsIHNvIGRpcmVjdGx5IHdhbGtpbmcgdGhlIHRyZWUgaGVyZSBtYXkgY2FsbCBhY3RpdmF0ZWQgaG9va3NcbiAgICAgICAgLy8gb24gaW5jb3JyZWN0IGNoaWxkcmVuLiBJbnN0ZWFkIHdlIHB1c2ggdGhlbSBpbnRvIGEgcXVldWUgd2hpY2ggd2lsbFxuICAgICAgICAvLyBiZSBwcm9jZXNzZWQgYWZ0ZXIgdGhlIHdob2xlIHBhdGNoIHByb2Nlc3MgZW5kZWQuXG4gICAgICAgIHF1ZXVlQWN0aXZhdGVkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQoY29tcG9uZW50SW5zdGFuY2UsIHRydWUgLyogZGlyZWN0ICovKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSAodm5vZGUpIHtcbiAgICB2YXIgY29tcG9uZW50SW5zdGFuY2UgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBpZiAoIWNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgaWYgKCF2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgICBjb21wb25lbnRJbnN0YW5jZS4kZGVzdHJveSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlLCB0cnVlIC8qIGRpcmVjdCAqLyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG52YXIgaG9va3NUb01lcmdlID0gT2JqZWN0LmtleXMoY29tcG9uZW50Vk5vZGVIb29rcyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudCAoXG4gIEN0b3IsXG4gIGRhdGEsXG4gIGNvbnRleHQsXG4gIGNoaWxkcmVuLFxuICB0YWdcbikge1xuICBpZiAoaXNVbmRlZihDdG9yKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdmFyIGJhc2VDdG9yID0gY29udGV4dC4kb3B0aW9ucy5fYmFzZTtcblxuICAvLyBwbGFpbiBvcHRpb25zIG9iamVjdDogdHVybiBpdCBpbnRvIGEgY29uc3RydWN0b3JcbiAgaWYgKGlzT2JqZWN0KEN0b3IpKSB7XG4gICAgQ3RvciA9IGJhc2VDdG9yLmV4dGVuZChDdG9yKTtcbiAgfVxuXG4gIC8vIGlmIGF0IHRoaXMgc3RhZ2UgaXQncyBub3QgYSBjb25zdHJ1Y3RvciBvciBhbiBhc3luYyBjb21wb25lbnQgZmFjdG9yeSxcbiAgLy8gcmVqZWN0LlxuICBpZiAodHlwZW9mIEN0b3IgIT09ICdmdW5jdGlvbicpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgd2FybigoXCJJbnZhbGlkIENvbXBvbmVudCBkZWZpbml0aW9uOiBcIiArIChTdHJpbmcoQ3RvcikpKSwgY29udGV4dCk7XG4gICAgfVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gYXN5bmMgY29tcG9uZW50XG4gIHZhciBhc3luY0ZhY3Rvcnk7XG4gIGlmIChpc1VuZGVmKEN0b3IuY2lkKSkge1xuICAgIGFzeW5jRmFjdG9yeSA9IEN0b3I7XG4gICAgQ3RvciA9IHJlc29sdmVBc3luY0NvbXBvbmVudChhc3luY0ZhY3RvcnksIGJhc2VDdG9yKTtcbiAgICBpZiAoQ3RvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyByZXR1cm4gYSBwbGFjZWhvbGRlciBub2RlIGZvciBhc3luYyBjb21wb25lbnQsIHdoaWNoIGlzIHJlbmRlcmVkXG4gICAgICAvLyBhcyBhIGNvbW1lbnQgbm9kZSBidXQgcHJlc2VydmVzIGFsbCB0aGUgcmF3IGluZm9ybWF0aW9uIGZvciB0aGUgbm9kZS5cbiAgICAgIC8vIHRoZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgZm9yIGFzeW5jIHNlcnZlci1yZW5kZXJpbmcgYW5kIGh5ZHJhdGlvbi5cbiAgICAgIHJldHVybiBjcmVhdGVBc3luY1BsYWNlaG9sZGVyKFxuICAgICAgICBhc3luY0ZhY3RvcnksXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICB0YWdcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBkYXRhID0gZGF0YSB8fCB7fTtcblxuICAvLyByZXNvbHZlIGNvbnN0cnVjdG9yIG9wdGlvbnMgaW4gY2FzZSBnbG9iYWwgbWl4aW5zIGFyZSBhcHBsaWVkIGFmdGVyXG4gIC8vIGNvbXBvbmVudCBjb25zdHJ1Y3RvciBjcmVhdGlvblxuICByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKEN0b3IpO1xuXG4gIC8vIHRyYW5zZm9ybSBjb21wb25lbnQgdi1tb2RlbCBkYXRhIGludG8gcHJvcHMgJiBldmVudHNcbiAgaWYgKGlzRGVmKGRhdGEubW9kZWwpKSB7XG4gICAgdHJhbnNmb3JtTW9kZWwoQ3Rvci5vcHRpb25zLCBkYXRhKTtcbiAgfVxuXG4gIC8vIGV4dHJhY3QgcHJvcHNcbiAgdmFyIHByb3BzRGF0YSA9IGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEoZGF0YSwgQ3RvciwgdGFnKTtcblxuICAvLyBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICBpZiAoaXNUcnVlKEN0b3Iub3B0aW9ucy5mdW5jdGlvbmFsKSkge1xuICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbmFsQ29tcG9uZW50KEN0b3IsIHByb3BzRGF0YSwgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4pXG4gIH1cblxuICAvLyBleHRyYWN0IGxpc3RlbmVycywgc2luY2UgdGhlc2UgbmVlZHMgdG8gYmUgdHJlYXRlZCBhc1xuICAvLyBjaGlsZCBjb21wb25lbnQgbGlzdGVuZXJzIGluc3RlYWQgb2YgRE9NIGxpc3RlbmVyc1xuICB2YXIgbGlzdGVuZXJzID0gZGF0YS5vbjtcbiAgLy8gcmVwbGFjZSB3aXRoIGxpc3RlbmVycyB3aXRoIC5uYXRpdmUgbW9kaWZpZXJcbiAgLy8gc28gaXQgZ2V0cyBwcm9jZXNzZWQgZHVyaW5nIHBhcmVudCBjb21wb25lbnQgcGF0Y2guXG4gIGRhdGEub24gPSBkYXRhLm5hdGl2ZU9uO1xuXG4gIGlmIChpc1RydWUoQ3Rvci5vcHRpb25zLmFic3RyYWN0KSkge1xuICAgIC8vIGFic3RyYWN0IGNvbXBvbmVudHMgZG8gbm90IGtlZXAgYW55dGhpbmdcbiAgICAvLyBvdGhlciB0aGFuIHByb3BzICYgbGlzdGVuZXJzICYgc2xvdFxuXG4gICAgLy8gd29yayBhcm91bmQgZmxvd1xuICAgIHZhciBzbG90ID0gZGF0YS5zbG90O1xuICAgIGRhdGEgPSB7fTtcbiAgICBpZiAoc2xvdCkge1xuICAgICAgZGF0YS5zbG90ID0gc2xvdDtcbiAgICB9XG4gIH1cblxuICAvLyBpbnN0YWxsIGNvbXBvbmVudCBtYW5hZ2VtZW50IGhvb2tzIG9udG8gdGhlIHBsYWNlaG9sZGVyIG5vZGVcbiAgaW5zdGFsbENvbXBvbmVudEhvb2tzKGRhdGEpO1xuXG4gIC8vIHJldHVybiBhIHBsYWNlaG9sZGVyIHZub2RlXG4gIHZhciBuYW1lID0gQ3Rvci5vcHRpb25zLm5hbWUgfHwgdGFnO1xuICB2YXIgdm5vZGUgPSBuZXcgVk5vZGUoXG4gICAgKFwidnVlLWNvbXBvbmVudC1cIiArIChDdG9yLmNpZCkgKyAobmFtZSA/IChcIi1cIiArIG5hbWUpIDogJycpKSxcbiAgICBkYXRhLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250ZXh0LFxuICAgIHsgQ3RvcjogQ3RvciwgcHJvcHNEYXRhOiBwcm9wc0RhdGEsIGxpc3RlbmVyczogbGlzdGVuZXJzLCB0YWc6IHRhZywgY2hpbGRyZW46IGNoaWxkcmVuIH0sXG4gICAgYXN5bmNGYWN0b3J5XG4gICk7XG5cbiAgcmV0dXJuIHZub2RlXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudEluc3RhbmNlRm9yVm5vZGUgKFxuICB2bm9kZSwgLy8gd2Uga25vdyBpdCdzIE1vdW50ZWRDb21wb25lbnRWTm9kZSBidXQgZmxvdyBkb2Vzbid0XG4gIHBhcmVudCAvLyBhY3RpdmVJbnN0YW5jZSBpbiBsaWZlY3ljbGUgc3RhdGVcbikge1xuICB2YXIgb3B0aW9ucyA9IHtcbiAgICBfaXNDb21wb25lbnQ6IHRydWUsXG4gICAgX3BhcmVudFZub2RlOiB2bm9kZSxcbiAgICBwYXJlbnQ6IHBhcmVudFxuICB9O1xuICAvLyBjaGVjayBpbmxpbmUtdGVtcGxhdGUgcmVuZGVyIGZ1bmN0aW9uc1xuICB2YXIgaW5saW5lVGVtcGxhdGUgPSB2bm9kZS5kYXRhLmlubGluZVRlbXBsYXRlO1xuICBpZiAoaXNEZWYoaW5saW5lVGVtcGxhdGUpKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSBpbmxpbmVUZW1wbGF0ZS5yZW5kZXI7XG4gICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBpbmxpbmVUZW1wbGF0ZS5zdGF0aWNSZW5kZXJGbnM7XG4gIH1cbiAgcmV0dXJuIG5ldyB2bm9kZS5jb21wb25lbnRPcHRpb25zLkN0b3Iob3B0aW9ucylcbn1cblxuZnVuY3Rpb24gaW5zdGFsbENvbXBvbmVudEhvb2tzIChkYXRhKSB7XG4gIHZhciBob29rcyA9IGRhdGEuaG9vayB8fCAoZGF0YS5ob29rID0ge30pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzVG9NZXJnZS5sZW5ndGg7IGkrKykge1xuICAgIHZhciBrZXkgPSBob29rc1RvTWVyZ2VbaV07XG4gICAgdmFyIGV4aXN0aW5nID0gaG9va3Nba2V5XTtcbiAgICB2YXIgdG9NZXJnZSA9IGNvbXBvbmVudFZOb2RlSG9va3Nba2V5XTtcbiAgICBpZiAoZXhpc3RpbmcgIT09IHRvTWVyZ2UgJiYgIShleGlzdGluZyAmJiBleGlzdGluZy5fbWVyZ2VkKSkge1xuICAgICAgaG9va3Nba2V5XSA9IGV4aXN0aW5nID8gbWVyZ2VIb29rJDEodG9NZXJnZSwgZXhpc3RpbmcpIDogdG9NZXJnZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWVyZ2VIb29rJDEgKGYxLCBmMikge1xuICB2YXIgbWVyZ2VkID0gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAvLyBmbG93IGNvbXBsYWlucyBhYm91dCBleHRyYSBhcmdzIHdoaWNoIGlzIHdoeSB3ZSB1c2UgYW55XG4gICAgZjEoYSwgYik7XG4gICAgZjIoYSwgYik7XG4gIH07XG4gIG1lcmdlZC5fbWVyZ2VkID0gdHJ1ZTtcbiAgcmV0dXJuIG1lcmdlZFxufVxuXG4vLyB0cmFuc2Zvcm0gY29tcG9uZW50IHYtbW9kZWwgaW5mbyAodmFsdWUgYW5kIGNhbGxiYWNrKSBpbnRvXG4vLyBwcm9wIGFuZCBldmVudCBoYW5kbGVyIHJlc3BlY3RpdmVseS5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1vZGVsIChvcHRpb25zLCBkYXRhKSB7XG4gIHZhciBwcm9wID0gKG9wdGlvbnMubW9kZWwgJiYgb3B0aW9ucy5tb2RlbC5wcm9wKSB8fCAndmFsdWUnO1xuICB2YXIgZXZlbnQgPSAob3B0aW9ucy5tb2RlbCAmJiBvcHRpb25zLm1vZGVsLmV2ZW50KSB8fCAnaW5wdXQnXG4gIDsoZGF0YS5hdHRycyB8fCAoZGF0YS5hdHRycyA9IHt9KSlbcHJvcF0gPSBkYXRhLm1vZGVsLnZhbHVlO1xuICB2YXIgb24gPSBkYXRhLm9uIHx8IChkYXRhLm9uID0ge30pO1xuICB2YXIgZXhpc3RpbmcgPSBvbltldmVudF07XG4gIHZhciBjYWxsYmFjayA9IGRhdGEubW9kZWwuY2FsbGJhY2s7XG4gIGlmIChpc0RlZihleGlzdGluZykpIHtcbiAgICBpZiAoXG4gICAgICBBcnJheS5pc0FycmF5KGV4aXN0aW5nKVxuICAgICAgICA/IGV4aXN0aW5nLmluZGV4T2YoY2FsbGJhY2spID09PSAtMVxuICAgICAgICA6IGV4aXN0aW5nICE9PSBjYWxsYmFja1xuICAgICkge1xuICAgICAgb25bZXZlbnRdID0gW2NhbGxiYWNrXS5jb25jYXQoZXhpc3RpbmcpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvbltldmVudF0gPSBjYWxsYmFjaztcbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIFNJTVBMRV9OT1JNQUxJWkUgPSAxO1xudmFyIEFMV0FZU19OT1JNQUxJWkUgPSAyO1xuXG4vLyB3cmFwcGVyIGZ1bmN0aW9uIGZvciBwcm92aWRpbmcgYSBtb3JlIGZsZXhpYmxlIGludGVyZmFjZVxuLy8gd2l0aG91dCBnZXR0aW5nIHllbGxlZCBhdCBieSBmbG93XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50IChcbiAgY29udGV4dCxcbiAgdGFnLFxuICBkYXRhLFxuICBjaGlsZHJlbixcbiAgbm9ybWFsaXphdGlvblR5cGUsXG4gIGFsd2F5c05vcm1hbGl6ZVxuKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpIHx8IGlzUHJpbWl0aXZlKGRhdGEpKSB7XG4gICAgbm9ybWFsaXphdGlvblR5cGUgPSBjaGlsZHJlbjtcbiAgICBjaGlsZHJlbiA9IGRhdGE7XG4gICAgZGF0YSA9IHVuZGVmaW5lZDtcbiAgfVxuICBpZiAoaXNUcnVlKGFsd2F5c05vcm1hbGl6ZSkpIHtcbiAgICBub3JtYWxpemF0aW9uVHlwZSA9IEFMV0FZU19OT1JNQUxJWkU7XG4gIH1cbiAgcmV0dXJuIF9jcmVhdGVFbGVtZW50KGNvbnRleHQsIHRhZywgZGF0YSwgY2hpbGRyZW4sIG5vcm1hbGl6YXRpb25UeXBlKVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlRWxlbWVudCAoXG4gIGNvbnRleHQsXG4gIHRhZyxcbiAgZGF0YSxcbiAgY2hpbGRyZW4sXG4gIG5vcm1hbGl6YXRpb25UeXBlXG4pIHtcbiAgaWYgKGlzRGVmKGRhdGEpICYmIGlzRGVmKChkYXRhKS5fX29iX18pKSB7XG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgXCJBdm9pZCB1c2luZyBvYnNlcnZlZCBkYXRhIG9iamVjdCBhcyB2bm9kZSBkYXRhOiBcIiArIChKU09OLnN0cmluZ2lmeShkYXRhKSkgKyBcIlxcblwiICtcbiAgICAgICdBbHdheXMgY3JlYXRlIGZyZXNoIHZub2RlIGRhdGEgb2JqZWN0cyBpbiBlYWNoIHJlbmRlciEnLFxuICAgICAgY29udGV4dFxuICAgICk7XG4gICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKVxuICB9XG4gIC8vIG9iamVjdCBzeW50YXggaW4gdi1iaW5kXG4gIGlmIChpc0RlZihkYXRhKSAmJiBpc0RlZihkYXRhLmlzKSkge1xuICAgIHRhZyA9IGRhdGEuaXM7XG4gIH1cbiAgaWYgKCF0YWcpIHtcbiAgICAvLyBpbiBjYXNlIG9mIGNvbXBvbmVudCA6aXMgc2V0IHRvIGZhbHN5IHZhbHVlXG4gICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKVxuICB9XG4gIC8vIHdhcm4gYWdhaW5zdCBub24tcHJpbWl0aXZlIGtleVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgIGlzRGVmKGRhdGEpICYmIGlzRGVmKGRhdGEua2V5KSAmJiAhaXNQcmltaXRpdmUoZGF0YS5rZXkpXG4gICkge1xuICAgIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICdBdm9pZCB1c2luZyBub24tcHJpbWl0aXZlIHZhbHVlIGFzIGtleSwgJyArXG4gICAgICAgICd1c2Ugc3RyaW5nL251bWJlciB2YWx1ZSBpbnN0ZWFkLicsXG4gICAgICAgIGNvbnRleHRcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIC8vIHN1cHBvcnQgc2luZ2xlIGZ1bmN0aW9uIGNoaWxkcmVuIGFzIGRlZmF1bHQgc2NvcGVkIHNsb3RcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pICYmXG4gICAgdHlwZW9mIGNoaWxkcmVuWzBdID09PSAnZnVuY3Rpb24nXG4gICkge1xuICAgIGRhdGEgPSBkYXRhIHx8IHt9O1xuICAgIGRhdGEuc2NvcGVkU2xvdHMgPSB7IGRlZmF1bHQ6IGNoaWxkcmVuWzBdIH07XG4gICAgY2hpbGRyZW4ubGVuZ3RoID0gMDtcbiAgfVxuICBpZiAobm9ybWFsaXphdGlvblR5cGUgPT09IEFMV0FZU19OT1JNQUxJWkUpIHtcbiAgICBjaGlsZHJlbiA9IG5vcm1hbGl6ZUNoaWxkcmVuKGNoaWxkcmVuKTtcbiAgfSBlbHNlIGlmIChub3JtYWxpemF0aW9uVHlwZSA9PT0gU0lNUExFX05PUk1BTElaRSkge1xuICAgIGNoaWxkcmVuID0gc2ltcGxlTm9ybWFsaXplQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICB9XG4gIHZhciB2bm9kZSwgbnM7XG4gIGlmICh0eXBlb2YgdGFnID09PSAnc3RyaW5nJykge1xuICAgIHZhciBDdG9yO1xuICAgIG5zID0gKGNvbnRleHQuJHZub2RlICYmIGNvbnRleHQuJHZub2RlLm5zKSB8fCBjb25maWcuZ2V0VGFnTmFtZXNwYWNlKHRhZyk7XG4gICAgaWYgKGNvbmZpZy5pc1Jlc2VydmVkVGFnKHRhZykpIHtcbiAgICAgIC8vIHBsYXRmb3JtIGJ1aWx0LWluIGVsZW1lbnRzXG4gICAgICB2bm9kZSA9IG5ldyBWTm9kZShcbiAgICAgICAgY29uZmlnLnBhcnNlUGxhdGZvcm1UYWdOYW1lKHRhZyksIGRhdGEsIGNoaWxkcmVuLFxuICAgICAgICB1bmRlZmluZWQsIHVuZGVmaW5lZCwgY29udGV4dFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKCghZGF0YSB8fCAhZGF0YS5wcmUpICYmIGlzRGVmKEN0b3IgPSByZXNvbHZlQXNzZXQoY29udGV4dC4kb3B0aW9ucywgJ2NvbXBvbmVudHMnLCB0YWcpKSkge1xuICAgICAgLy8gY29tcG9uZW50XG4gICAgICB2bm9kZSA9IGNyZWF0ZUNvbXBvbmVudChDdG9yLCBkYXRhLCBjb250ZXh0LCBjaGlsZHJlbiwgdGFnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdW5rbm93biBvciB1bmxpc3RlZCBuYW1lc3BhY2VkIGVsZW1lbnRzXG4gICAgICAvLyBjaGVjayBhdCBydW50aW1lIGJlY2F1c2UgaXQgbWF5IGdldCBhc3NpZ25lZCBhIG5hbWVzcGFjZSB3aGVuIGl0c1xuICAgICAgLy8gcGFyZW50IG5vcm1hbGl6ZXMgY2hpbGRyZW5cbiAgICAgIHZub2RlID0gbmV3IFZOb2RlKFxuICAgICAgICB0YWcsIGRhdGEsIGNoaWxkcmVuLFxuICAgICAgICB1bmRlZmluZWQsIHVuZGVmaW5lZCwgY29udGV4dFxuICAgICAgKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gZGlyZWN0IGNvbXBvbmVudCBvcHRpb25zIC8gY29uc3RydWN0b3JcbiAgICB2bm9kZSA9IGNyZWF0ZUNvbXBvbmVudCh0YWcsIGRhdGEsIGNvbnRleHQsIGNoaWxkcmVuKTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh2bm9kZSkpIHtcbiAgICByZXR1cm4gdm5vZGVcbiAgfSBlbHNlIGlmIChpc0RlZih2bm9kZSkpIHtcbiAgICBpZiAoaXNEZWYobnMpKSB7IGFwcGx5TlModm5vZGUsIG5zKTsgfVxuICAgIGlmIChpc0RlZihkYXRhKSkgeyByZWdpc3RlckRlZXBCaW5kaW5ncyhkYXRhKTsgfVxuICAgIHJldHVybiB2bm9kZVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBjcmVhdGVFbXB0eVZOb2RlKClcbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBseU5TICh2bm9kZSwgbnMsIGZvcmNlKSB7XG4gIHZub2RlLm5zID0gbnM7XG4gIGlmICh2bm9kZS50YWcgPT09ICdmb3JlaWduT2JqZWN0Jykge1xuICAgIC8vIHVzZSBkZWZhdWx0IG5hbWVzcGFjZSBpbnNpZGUgZm9yZWlnbk9iamVjdFxuICAgIG5zID0gdW5kZWZpbmVkO1xuICAgIGZvcmNlID0gdHJ1ZTtcbiAgfVxuICBpZiAoaXNEZWYodm5vZGUuY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSB2bm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHZhciBjaGlsZCA9IHZub2RlLmNoaWxkcmVuW2ldO1xuICAgICAgaWYgKGlzRGVmKGNoaWxkLnRhZykgJiYgKFxuICAgICAgICBpc1VuZGVmKGNoaWxkLm5zKSB8fCAoaXNUcnVlKGZvcmNlKSAmJiBjaGlsZC50YWcgIT09ICdzdmcnKSkpIHtcbiAgICAgICAgYXBwbHlOUyhjaGlsZCwgbnMsIGZvcmNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gcmVmICM1MzE4XG4vLyBuZWNlc3NhcnkgdG8gZW5zdXJlIHBhcmVudCByZS1yZW5kZXIgd2hlbiBkZWVwIGJpbmRpbmdzIGxpa2UgOnN0eWxlIGFuZFxuLy8gOmNsYXNzIGFyZSB1c2VkIG9uIHNsb3Qgbm9kZXNcbmZ1bmN0aW9uIHJlZ2lzdGVyRGVlcEJpbmRpbmdzIChkYXRhKSB7XG4gIGlmIChpc09iamVjdChkYXRhLnN0eWxlKSkge1xuICAgIHRyYXZlcnNlKGRhdGEuc3R5bGUpO1xuICB9XG4gIGlmIChpc09iamVjdChkYXRhLmNsYXNzKSkge1xuICAgIHRyYXZlcnNlKGRhdGEuY2xhc3MpO1xuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0UmVuZGVyICh2bSkge1xuICB2bS5fdm5vZGUgPSBudWxsOyAvLyB0aGUgcm9vdCBvZiB0aGUgY2hpbGQgdHJlZVxuICB2bS5fc3RhdGljVHJlZXMgPSBudWxsOyAvLyB2LW9uY2UgY2FjaGVkIHRyZWVzXG4gIHZhciBvcHRpb25zID0gdm0uJG9wdGlvbnM7XG4gIHZhciBwYXJlbnRWbm9kZSA9IHZtLiR2bm9kZSA9IG9wdGlvbnMuX3BhcmVudFZub2RlOyAvLyB0aGUgcGxhY2Vob2xkZXIgbm9kZSBpbiBwYXJlbnQgdHJlZVxuICB2YXIgcmVuZGVyQ29udGV4dCA9IHBhcmVudFZub2RlICYmIHBhcmVudFZub2RlLmNvbnRleHQ7XG4gIHZtLiRzbG90cyA9IHJlc29sdmVTbG90cyhvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiwgcmVuZGVyQ29udGV4dCk7XG4gIHZtLiRzY29wZWRTbG90cyA9IGVtcHR5T2JqZWN0O1xuICAvLyBiaW5kIHRoZSBjcmVhdGVFbGVtZW50IGZuIHRvIHRoaXMgaW5zdGFuY2VcbiAgLy8gc28gdGhhdCB3ZSBnZXQgcHJvcGVyIHJlbmRlciBjb250ZXh0IGluc2lkZSBpdC5cbiAgLy8gYXJncyBvcmRlcjogdGFnLCBkYXRhLCBjaGlsZHJlbiwgbm9ybWFsaXphdGlvblR5cGUsIGFsd2F5c05vcm1hbGl6ZVxuICAvLyBpbnRlcm5hbCB2ZXJzaW9uIGlzIHVzZWQgYnkgcmVuZGVyIGZ1bmN0aW9ucyBjb21waWxlZCBmcm9tIHRlbXBsYXRlc1xuICB2bS5fYyA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7IHJldHVybiBjcmVhdGVFbGVtZW50KHZtLCBhLCBiLCBjLCBkLCBmYWxzZSk7IH07XG4gIC8vIG5vcm1hbGl6YXRpb24gaXMgYWx3YXlzIGFwcGxpZWQgZm9yIHRoZSBwdWJsaWMgdmVyc2lvbiwgdXNlZCBpblxuICAvLyB1c2VyLXdyaXR0ZW4gcmVuZGVyIGZ1bmN0aW9ucy5cbiAgdm0uJGNyZWF0ZUVsZW1lbnQgPSBmdW5jdGlvbiAoYSwgYiwgYywgZCkgeyByZXR1cm4gY3JlYXRlRWxlbWVudCh2bSwgYSwgYiwgYywgZCwgdHJ1ZSk7IH07XG5cbiAgLy8gJGF0dHJzICYgJGxpc3RlbmVycyBhcmUgZXhwb3NlZCBmb3IgZWFzaWVyIEhPQyBjcmVhdGlvbi5cbiAgLy8gdGhleSBuZWVkIHRvIGJlIHJlYWN0aXZlIHNvIHRoYXQgSE9DcyB1c2luZyB0aGVtIGFyZSBhbHdheXMgdXBkYXRlZFxuICB2YXIgcGFyZW50RGF0YSA9IHBhcmVudFZub2RlICYmIHBhcmVudFZub2RlLmRhdGE7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2bSwgJyRhdHRycycsIHBhcmVudERhdGEgJiYgcGFyZW50RGF0YS5hdHRycyB8fCBlbXB0eU9iamVjdCwgZnVuY3Rpb24gKCkge1xuICAgICAgIWlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCAmJiB3YXJuKFwiJGF0dHJzIGlzIHJlYWRvbmx5LlwiLCB2bSk7XG4gICAgfSwgdHJ1ZSk7XG4gICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sICckbGlzdGVuZXJzJywgb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzIHx8IGVtcHR5T2JqZWN0LCBmdW5jdGlvbiAoKSB7XG4gICAgICAhaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ICYmIHdhcm4oXCIkbGlzdGVuZXJzIGlzIHJlYWRvbmx5LlwiLCB2bSk7XG4gICAgfSwgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sICckYXR0cnMnLCBwYXJlbnREYXRhICYmIHBhcmVudERhdGEuYXR0cnMgfHwgZW1wdHlPYmplY3QsIG51bGwsIHRydWUpO1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKHZtLCAnJGxpc3RlbmVycycsIG9wdGlvbnMuX3BhcmVudExpc3RlbmVycyB8fCBlbXB0eU9iamVjdCwgbnVsbCwgdHJ1ZSk7XG4gIH1cbn1cblxudmFyIGN1cnJlbnRSZW5kZXJpbmdJbnN0YW5jZSA9IG51bGw7XG5cbmZ1bmN0aW9uIHJlbmRlck1peGluIChWdWUpIHtcbiAgLy8gaW5zdGFsbCBydW50aW1lIGNvbnZlbmllbmNlIGhlbHBlcnNcbiAgaW5zdGFsbFJlbmRlckhlbHBlcnMoVnVlLnByb3RvdHlwZSk7XG5cbiAgVnVlLnByb3RvdHlwZS4kbmV4dFRpY2sgPSBmdW5jdGlvbiAoZm4pIHtcbiAgICByZXR1cm4gbmV4dFRpY2soZm4sIHRoaXMpXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS5fcmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgdmFyIHJlZiA9IHZtLiRvcHRpb25zO1xuICAgIHZhciByZW5kZXIgPSByZWYucmVuZGVyO1xuICAgIHZhciBfcGFyZW50Vm5vZGUgPSByZWYuX3BhcmVudFZub2RlO1xuXG4gICAgaWYgKF9wYXJlbnRWbm9kZSkge1xuICAgICAgdm0uJHNjb3BlZFNsb3RzID0gbm9ybWFsaXplU2NvcGVkU2xvdHMoXG4gICAgICAgIF9wYXJlbnRWbm9kZS5kYXRhLnNjb3BlZFNsb3RzLFxuICAgICAgICB2bS4kc2xvdHMsXG4gICAgICAgIHZtLiRzY29wZWRTbG90c1xuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBzZXQgcGFyZW50IHZub2RlLiB0aGlzIGFsbG93cyByZW5kZXIgZnVuY3Rpb25zIHRvIGhhdmUgYWNjZXNzXG4gICAgLy8gdG8gdGhlIGRhdGEgb24gdGhlIHBsYWNlaG9sZGVyIG5vZGUuXG4gICAgdm0uJHZub2RlID0gX3BhcmVudFZub2RlO1xuICAgIC8vIHJlbmRlciBzZWxmXG4gICAgdmFyIHZub2RlO1xuICAgIHRyeSB7XG4gICAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gbWFpbnRhaW4gYSBzdGFjayBiZWNhdWVzIGFsbCByZW5kZXIgZm5zIGFyZSBjYWxsZWRcbiAgICAgIC8vIHNlcGFyYXRlbHkgZnJvbSBvbmUgYW5vdGhlci4gTmVzdGVkIGNvbXBvbmVudCdzIHJlbmRlciBmbnMgYXJlIGNhbGxlZFxuICAgICAgLy8gd2hlbiBwYXJlbnQgY29tcG9uZW50IGlzIHBhdGNoZWQuXG4gICAgICBjdXJyZW50UmVuZGVyaW5nSW5zdGFuY2UgPSB2bTtcbiAgICAgIHZub2RlID0gcmVuZGVyLmNhbGwodm0uX3JlbmRlclByb3h5LCB2bS4kY3JlYXRlRWxlbWVudCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwicmVuZGVyXCIpO1xuICAgICAgLy8gcmV0dXJuIGVycm9yIHJlbmRlciByZXN1bHQsXG4gICAgICAvLyBvciBwcmV2aW91cyB2bm9kZSB0byBwcmV2ZW50IHJlbmRlciBlcnJvciBjYXVzaW5nIGJsYW5rIGNvbXBvbmVudFxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHZtLiRvcHRpb25zLnJlbmRlckVycm9yKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdm5vZGUgPSB2bS4kb3B0aW9ucy5yZW5kZXJFcnJvci5jYWxsKHZtLl9yZW5kZXJQcm94eSwgdm0uJGNyZWF0ZUVsZW1lbnQsIGUpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwicmVuZGVyRXJyb3JcIik7XG4gICAgICAgICAgdm5vZGUgPSB2bS5fdm5vZGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZub2RlID0gdm0uX3Zub2RlO1xuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICBjdXJyZW50UmVuZGVyaW5nSW5zdGFuY2UgPSBudWxsO1xuICAgIH1cbiAgICAvLyBpZiB0aGUgcmV0dXJuZWQgYXJyYXkgY29udGFpbnMgb25seSBhIHNpbmdsZSBub2RlLCBhbGxvdyBpdFxuICAgIGlmIChBcnJheS5pc0FycmF5KHZub2RlKSAmJiB2bm9kZS5sZW5ndGggPT09IDEpIHtcbiAgICAgIHZub2RlID0gdm5vZGVbMF07XG4gICAgfVxuICAgIC8vIHJldHVybiBlbXB0eSB2bm9kZSBpbiBjYXNlIHRoZSByZW5kZXIgZnVuY3Rpb24gZXJyb3JlZCBvdXRcbiAgICBpZiAoISh2bm9kZSBpbnN0YW5jZW9mIFZOb2RlKSkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgQXJyYXkuaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnTXVsdGlwbGUgcm9vdCBub2RlcyByZXR1cm5lZCBmcm9tIHJlbmRlciBmdW5jdGlvbi4gUmVuZGVyIGZ1bmN0aW9uICcgK1xuICAgICAgICAgICdzaG91bGQgcmV0dXJuIGEgc2luZ2xlIHJvb3Qgbm9kZS4nLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB2bm9kZSA9IGNyZWF0ZUVtcHR5Vk5vZGUoKTtcbiAgICB9XG4gICAgLy8gc2V0IHBhcmVudFxuICAgIHZub2RlLnBhcmVudCA9IF9wYXJlbnRWbm9kZTtcbiAgICByZXR1cm4gdm5vZGVcbiAgfTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGVuc3VyZUN0b3IgKGNvbXAsIGJhc2UpIHtcbiAgaWYgKFxuICAgIGNvbXAuX19lc01vZHVsZSB8fFxuICAgIChoYXNTeW1ib2wgJiYgY29tcFtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTW9kdWxlJylcbiAgKSB7XG4gICAgY29tcCA9IGNvbXAuZGVmYXVsdDtcbiAgfVxuICByZXR1cm4gaXNPYmplY3QoY29tcClcbiAgICA/IGJhc2UuZXh0ZW5kKGNvbXApXG4gICAgOiBjb21wXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFzeW5jUGxhY2Vob2xkZXIgKFxuICBmYWN0b3J5LFxuICBkYXRhLFxuICBjb250ZXh0LFxuICBjaGlsZHJlbixcbiAgdGFnXG4pIHtcbiAgdmFyIG5vZGUgPSBjcmVhdGVFbXB0eVZOb2RlKCk7XG4gIG5vZGUuYXN5bmNGYWN0b3J5ID0gZmFjdG9yeTtcbiAgbm9kZS5hc3luY01ldGEgPSB7IGRhdGE6IGRhdGEsIGNvbnRleHQ6IGNvbnRleHQsIGNoaWxkcmVuOiBjaGlsZHJlbiwgdGFnOiB0YWcgfTtcbiAgcmV0dXJuIG5vZGVcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZUFzeW5jQ29tcG9uZW50IChcbiAgZmFjdG9yeSxcbiAgYmFzZUN0b3Jcbikge1xuICBpZiAoaXNUcnVlKGZhY3RvcnkuZXJyb3IpICYmIGlzRGVmKGZhY3RvcnkuZXJyb3JDb21wKSkge1xuICAgIHJldHVybiBmYWN0b3J5LmVycm9yQ29tcFxuICB9XG5cbiAgaWYgKGlzRGVmKGZhY3RvcnkucmVzb2x2ZWQpKSB7XG4gICAgcmV0dXJuIGZhY3RvcnkucmVzb2x2ZWRcbiAgfVxuXG4gIHZhciBvd25lciA9IGN1cnJlbnRSZW5kZXJpbmdJbnN0YW5jZTtcbiAgaWYgKG93bmVyICYmIGlzRGVmKGZhY3Rvcnkub3duZXJzKSAmJiBmYWN0b3J5Lm93bmVycy5pbmRleE9mKG93bmVyKSA9PT0gLTEpIHtcbiAgICAvLyBhbHJlYWR5IHBlbmRpbmdcbiAgICBmYWN0b3J5Lm93bmVycy5wdXNoKG93bmVyKTtcbiAgfVxuXG4gIGlmIChpc1RydWUoZmFjdG9yeS5sb2FkaW5nKSAmJiBpc0RlZihmYWN0b3J5LmxvYWRpbmdDb21wKSkge1xuICAgIHJldHVybiBmYWN0b3J5LmxvYWRpbmdDb21wXG4gIH1cblxuICBpZiAob3duZXIgJiYgIWlzRGVmKGZhY3Rvcnkub3duZXJzKSkge1xuICAgIHZhciBvd25lcnMgPSBmYWN0b3J5Lm93bmVycyA9IFtvd25lcl07XG4gICAgdmFyIHN5bmMgPSB0cnVlO1xuICAgIHZhciB0aW1lckxvYWRpbmcgPSBudWxsO1xuICAgIHZhciB0aW1lclRpbWVvdXQgPSBudWxsXG5cbiAgICA7KG93bmVyKS4kb24oJ2hvb2s6ZGVzdHJveWVkJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVtb3ZlKG93bmVycywgb3duZXIpOyB9KTtcblxuICAgIHZhciBmb3JjZVJlbmRlciA9IGZ1bmN0aW9uIChyZW5kZXJDb21wbGV0ZWQpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gb3duZXJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAob3duZXJzW2ldKS4kZm9yY2VVcGRhdGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlbmRlckNvbXBsZXRlZCkge1xuICAgICAgICBvd25lcnMubGVuZ3RoID0gMDtcbiAgICAgICAgaWYgKHRpbWVyTG9hZGluZyAhPT0gbnVsbCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lckxvYWRpbmcpO1xuICAgICAgICAgIHRpbWVyTG9hZGluZyA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRpbWVyVGltZW91dCAhPT0gbnVsbCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lclRpbWVvdXQpO1xuICAgICAgICAgIHRpbWVyVGltZW91dCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIHJlc29sdmUgPSBvbmNlKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIC8vIGNhY2hlIHJlc29sdmVkXG4gICAgICBmYWN0b3J5LnJlc29sdmVkID0gZW5zdXJlQ3RvcihyZXMsIGJhc2VDdG9yKTtcbiAgICAgIC8vIGludm9rZSBjYWxsYmFja3Mgb25seSBpZiB0aGlzIGlzIG5vdCBhIHN5bmNocm9ub3VzIHJlc29sdmVcbiAgICAgIC8vIChhc3luYyByZXNvbHZlcyBhcmUgc2hpbW1lZCBhcyBzeW5jaHJvbm91cyBkdXJpbmcgU1NSKVxuICAgICAgaWYgKCFzeW5jKSB7XG4gICAgICAgIGZvcmNlUmVuZGVyKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3duZXJzLmxlbmd0aCA9IDA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB2YXIgcmVqZWN0ID0gb25jZShmdW5jdGlvbiAocmVhc29uKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgIFwiRmFpbGVkIHRvIHJlc29sdmUgYXN5bmMgY29tcG9uZW50OiBcIiArIChTdHJpbmcoZmFjdG9yeSkpICtcbiAgICAgICAgKHJlYXNvbiA/IChcIlxcblJlYXNvbjogXCIgKyByZWFzb24pIDogJycpXG4gICAgICApO1xuICAgICAgaWYgKGlzRGVmKGZhY3RvcnkuZXJyb3JDb21wKSkge1xuICAgICAgICBmYWN0b3J5LmVycm9yID0gdHJ1ZTtcbiAgICAgICAgZm9yY2VSZW5kZXIodHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB2YXIgcmVzID0gZmFjdG9yeShyZXNvbHZlLCByZWplY3QpO1xuXG4gICAgaWYgKGlzT2JqZWN0KHJlcykpIHtcbiAgICAgIGlmIChpc1Byb21pc2UocmVzKSkge1xuICAgICAgICAvLyAoKSA9PiBQcm9taXNlXG4gICAgICAgIGlmIChpc1VuZGVmKGZhY3RvcnkucmVzb2x2ZWQpKSB7XG4gICAgICAgICAgcmVzLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpc1Byb21pc2UocmVzLmNvbXBvbmVudCkpIHtcbiAgICAgICAgcmVzLmNvbXBvbmVudC50aGVuKHJlc29sdmUsIHJlamVjdCk7XG5cbiAgICAgICAgaWYgKGlzRGVmKHJlcy5lcnJvcikpIHtcbiAgICAgICAgICBmYWN0b3J5LmVycm9yQ29tcCA9IGVuc3VyZUN0b3IocmVzLmVycm9yLCBiYXNlQ3Rvcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNEZWYocmVzLmxvYWRpbmcpKSB7XG4gICAgICAgICAgZmFjdG9yeS5sb2FkaW5nQ29tcCA9IGVuc3VyZUN0b3IocmVzLmxvYWRpbmcsIGJhc2VDdG9yKTtcbiAgICAgICAgICBpZiAocmVzLmRlbGF5ID09PSAwKSB7XG4gICAgICAgICAgICBmYWN0b3J5LmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aW1lckxvYWRpbmcgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgdGltZXJMb2FkaW5nID0gbnVsbDtcbiAgICAgICAgICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkgJiYgaXNVbmRlZihmYWN0b3J5LmVycm9yKSkge1xuICAgICAgICAgICAgICAgIGZhY3RvcnkubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgZm9yY2VSZW5kZXIoZmFsc2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCByZXMuZGVsYXkgfHwgMjAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNEZWYocmVzLnRpbWVvdXQpKSB7XG4gICAgICAgICAgdGltZXJUaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aW1lclRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KFxuICAgICAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbidcbiAgICAgICAgICAgICAgICAgID8gKFwidGltZW91dCAoXCIgKyAocmVzLnRpbWVvdXQpICsgXCJtcylcIilcbiAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIHJlcy50aW1lb3V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHN5bmMgPSBmYWxzZTtcbiAgICAvLyByZXR1cm4gaW4gY2FzZSByZXNvbHZlZCBzeW5jaHJvbm91c2x5XG4gICAgcmV0dXJuIGZhY3RvcnkubG9hZGluZ1xuICAgICAgPyBmYWN0b3J5LmxvYWRpbmdDb21wXG4gICAgICA6IGZhY3RvcnkucmVzb2x2ZWRcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaXNBc3luY1BsYWNlaG9sZGVyIChub2RlKSB7XG4gIHJldHVybiBub2RlLmlzQ29tbWVudCAmJiBub2RlLmFzeW5jRmFjdG9yeVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gZ2V0Rmlyc3RDb21wb25lbnRDaGlsZCAoY2hpbGRyZW4pIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGMgPSBjaGlsZHJlbltpXTtcbiAgICAgIGlmIChpc0RlZihjKSAmJiAoaXNEZWYoYy5jb21wb25lbnRPcHRpb25zKSB8fCBpc0FzeW5jUGxhY2Vob2xkZXIoYykpKSB7XG4gICAgICAgIHJldHVybiBjXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdEV2ZW50cyAodm0pIHtcbiAgdm0uX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHZtLl9oYXNIb29rRXZlbnQgPSBmYWxzZTtcbiAgLy8gaW5pdCBwYXJlbnQgYXR0YWNoZWQgZXZlbnRzXG4gIHZhciBsaXN0ZW5lcnMgPSB2bS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzO1xuICBpZiAobGlzdGVuZXJzKSB7XG4gICAgdXBkYXRlQ29tcG9uZW50TGlzdGVuZXJzKHZtLCBsaXN0ZW5lcnMpO1xuICB9XG59XG5cbnZhciB0YXJnZXQ7XG5cbmZ1bmN0aW9uIGFkZCAoZXZlbnQsIGZuKSB7XG4gIHRhcmdldC4kb24oZXZlbnQsIGZuKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlJDEgKGV2ZW50LCBmbikge1xuICB0YXJnZXQuJG9mZihldmVudCwgZm4pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVPbmNlSGFuZGxlciAoZXZlbnQsIGZuKSB7XG4gIHZhciBfdGFyZ2V0ID0gdGFyZ2V0O1xuICByZXR1cm4gZnVuY3Rpb24gb25jZUhhbmRsZXIgKCkge1xuICAgIHZhciByZXMgPSBmbi5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgIGlmIChyZXMgIT09IG51bGwpIHtcbiAgICAgIF90YXJnZXQuJG9mZihldmVudCwgb25jZUhhbmRsZXIpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnMgKFxuICB2bSxcbiAgbGlzdGVuZXJzLFxuICBvbGRMaXN0ZW5lcnNcbikge1xuICB0YXJnZXQgPSB2bTtcbiAgdXBkYXRlTGlzdGVuZXJzKGxpc3RlbmVycywgb2xkTGlzdGVuZXJzIHx8IHt9LCBhZGQsIHJlbW92ZSQxLCBjcmVhdGVPbmNlSGFuZGxlciwgdm0pO1xuICB0YXJnZXQgPSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGV2ZW50c01peGluIChWdWUpIHtcbiAgdmFyIGhvb2tSRSA9IC9eaG9vazovO1xuICBWdWUucHJvdG90eXBlLiRvbiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGV2ZW50KSkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBldmVudC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgdm0uJG9uKGV2ZW50W2ldLCBmbik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICh2bS5fZXZlbnRzW2V2ZW50XSB8fCAodm0uX2V2ZW50c1tldmVudF0gPSBbXSkpLnB1c2goZm4pO1xuICAgICAgLy8gb3B0aW1pemUgaG9vazpldmVudCBjb3N0IGJ5IHVzaW5nIGEgYm9vbGVhbiBmbGFnIG1hcmtlZCBhdCByZWdpc3RyYXRpb25cbiAgICAgIC8vIGluc3RlYWQgb2YgYSBoYXNoIGxvb2t1cFxuICAgICAgaWYgKGhvb2tSRS50ZXN0KGV2ZW50KSkge1xuICAgICAgICB2bS5faGFzSG9va0V2ZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZtXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS4kb25jZSA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGZ1bmN0aW9uIG9uICgpIHtcbiAgICAgIHZtLiRvZmYoZXZlbnQsIG9uKTtcbiAgICAgIGZuLmFwcGx5KHZtLCBhcmd1bWVudHMpO1xuICAgIH1cbiAgICBvbi5mbiA9IGZuO1xuICAgIHZtLiRvbihldmVudCwgb24pO1xuICAgIHJldHVybiB2bVxuICB9O1xuXG4gIFZ1ZS5wcm90b3R5cGUuJG9mZiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIC8vIGFsbFxuICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgdm0uX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICByZXR1cm4gdm1cbiAgICB9XG4gICAgLy8gYXJyYXkgb2YgZXZlbnRzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZXZlbnQpKSB7XG4gICAgICBmb3IgKHZhciBpJDEgPSAwLCBsID0gZXZlbnQubGVuZ3RoOyBpJDEgPCBsOyBpJDErKykge1xuICAgICAgICB2bS4kb2ZmKGV2ZW50W2kkMV0sIGZuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2bVxuICAgIH1cbiAgICAvLyBzcGVjaWZpYyBldmVudFxuICAgIHZhciBjYnMgPSB2bS5fZXZlbnRzW2V2ZW50XTtcbiAgICBpZiAoIWNicykge1xuICAgICAgcmV0dXJuIHZtXG4gICAgfVxuICAgIGlmICghZm4pIHtcbiAgICAgIHZtLl9ldmVudHNbZXZlbnRdID0gbnVsbDtcbiAgICAgIHJldHVybiB2bVxuICAgIH1cbiAgICAvLyBzcGVjaWZpYyBoYW5kbGVyXG4gICAgdmFyIGNiO1xuICAgIHZhciBpID0gY2JzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICBjYiA9IGNic1tpXTtcbiAgICAgIGlmIChjYiA9PT0gZm4gfHwgY2IuZm4gPT09IGZuKSB7XG4gICAgICAgIGNicy5zcGxpY2UoaSwgMSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2bVxuICB9O1xuXG4gIFZ1ZS5wcm90b3R5cGUuJGVtaXQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB2YXIgbG93ZXJDYXNlRXZlbnQgPSBldmVudC50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKGxvd2VyQ2FzZUV2ZW50ICE9PSBldmVudCAmJiB2bS5fZXZlbnRzW2xvd2VyQ2FzZUV2ZW50XSkge1xuICAgICAgICB0aXAoXG4gICAgICAgICAgXCJFdmVudCBcXFwiXCIgKyBsb3dlckNhc2VFdmVudCArIFwiXFxcIiBpcyBlbWl0dGVkIGluIGNvbXBvbmVudCBcIiArXG4gICAgICAgICAgKGZvcm1hdENvbXBvbmVudE5hbWUodm0pKSArIFwiIGJ1dCB0aGUgaGFuZGxlciBpcyByZWdpc3RlcmVkIGZvciBcXFwiXCIgKyBldmVudCArIFwiXFxcIi4gXCIgK1xuICAgICAgICAgIFwiTm90ZSB0aGF0IEhUTUwgYXR0cmlidXRlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgeW91IGNhbm5vdCB1c2UgXCIgK1xuICAgICAgICAgIFwidi1vbiB0byBsaXN0ZW4gdG8gY2FtZWxDYXNlIGV2ZW50cyB3aGVuIHVzaW5nIGluLURPTSB0ZW1wbGF0ZXMuIFwiICtcbiAgICAgICAgICBcIllvdSBzaG91bGQgcHJvYmFibHkgdXNlIFxcXCJcIiArIChoeXBoZW5hdGUoZXZlbnQpKSArIFwiXFxcIiBpbnN0ZWFkIG9mIFxcXCJcIiArIGV2ZW50ICsgXCJcXFwiLlwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBjYnMgPSB2bS5fZXZlbnRzW2V2ZW50XTtcbiAgICBpZiAoY2JzKSB7XG4gICAgICBjYnMgPSBjYnMubGVuZ3RoID4gMSA/IHRvQXJyYXkoY2JzKSA6IGNicztcbiAgICAgIHZhciBhcmdzID0gdG9BcnJheShhcmd1bWVudHMsIDEpO1xuICAgICAgdmFyIGluZm8gPSBcImV2ZW50IGhhbmRsZXIgZm9yIFxcXCJcIiArIGV2ZW50ICsgXCJcXFwiXCI7XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGNicy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaW52b2tlV2l0aEVycm9ySGFuZGxpbmcoY2JzW2ldLCB2bSwgYXJncywgdm0sIGluZm8pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdm1cbiAgfTtcbn1cblxuLyogICovXG5cbnZhciBhY3RpdmVJbnN0YW5jZSA9IG51bGw7XG52YXIgaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHNldEFjdGl2ZUluc3RhbmNlKHZtKSB7XG4gIHZhciBwcmV2QWN0aXZlSW5zdGFuY2UgPSBhY3RpdmVJbnN0YW5jZTtcbiAgYWN0aXZlSW5zdGFuY2UgPSB2bTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBhY3RpdmVJbnN0YW5jZSA9IHByZXZBY3RpdmVJbnN0YW5jZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0TGlmZWN5Y2xlICh2bSkge1xuICB2YXIgb3B0aW9ucyA9IHZtLiRvcHRpb25zO1xuXG4gIC8vIGxvY2F0ZSBmaXJzdCBub24tYWJzdHJhY3QgcGFyZW50XG4gIHZhciBwYXJlbnQgPSBvcHRpb25zLnBhcmVudDtcbiAgaWYgKHBhcmVudCAmJiAhb3B0aW9ucy5hYnN0cmFjdCkge1xuICAgIHdoaWxlIChwYXJlbnQuJG9wdGlvbnMuYWJzdHJhY3QgJiYgcGFyZW50LiRwYXJlbnQpIHtcbiAgICAgIHBhcmVudCA9IHBhcmVudC4kcGFyZW50O1xuICAgIH1cbiAgICBwYXJlbnQuJGNoaWxkcmVuLnB1c2godm0pO1xuICB9XG5cbiAgdm0uJHBhcmVudCA9IHBhcmVudDtcbiAgdm0uJHJvb3QgPSBwYXJlbnQgPyBwYXJlbnQuJHJvb3QgOiB2bTtcblxuICB2bS4kY2hpbGRyZW4gPSBbXTtcbiAgdm0uJHJlZnMgPSB7fTtcblxuICB2bS5fd2F0Y2hlciA9IG51bGw7XG4gIHZtLl9pbmFjdGl2ZSA9IG51bGw7XG4gIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IGZhbHNlO1xuICB2bS5faXNNb3VudGVkID0gZmFsc2U7XG4gIHZtLl9pc0Rlc3Ryb3llZCA9IGZhbHNlO1xuICB2bS5faXNCZWluZ0Rlc3Ryb3llZCA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBsaWZlY3ljbGVNaXhpbiAoVnVlKSB7XG4gIFZ1ZS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uICh2bm9kZSwgaHlkcmF0aW5nKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICB2YXIgcHJldkVsID0gdm0uJGVsO1xuICAgIHZhciBwcmV2Vm5vZGUgPSB2bS5fdm5vZGU7XG4gICAgdmFyIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSA9IHNldEFjdGl2ZUluc3RhbmNlKHZtKTtcbiAgICB2bS5fdm5vZGUgPSB2bm9kZTtcbiAgICAvLyBWdWUucHJvdG90eXBlLl9fcGF0Y2hfXyBpcyBpbmplY3RlZCBpbiBlbnRyeSBwb2ludHNcbiAgICAvLyBiYXNlZCBvbiB0aGUgcmVuZGVyaW5nIGJhY2tlbmQgdXNlZC5cbiAgICBpZiAoIXByZXZWbm9kZSkge1xuICAgICAgLy8gaW5pdGlhbCByZW5kZXJcbiAgICAgIHZtLiRlbCA9IHZtLl9fcGF0Y2hfXyh2bS4kZWwsIHZub2RlLCBoeWRyYXRpbmcsIGZhbHNlIC8qIHJlbW92ZU9ubHkgKi8pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1cGRhdGVzXG4gICAgICB2bS4kZWwgPSB2bS5fX3BhdGNoX18ocHJldlZub2RlLCB2bm9kZSk7XG4gICAgfVxuICAgIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSgpO1xuICAgIC8vIHVwZGF0ZSBfX3Z1ZV9fIHJlZmVyZW5jZVxuICAgIGlmIChwcmV2RWwpIHtcbiAgICAgIHByZXZFbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHZtLiRlbCkge1xuICAgICAgdm0uJGVsLl9fdnVlX18gPSB2bTtcbiAgICB9XG4gICAgLy8gaWYgcGFyZW50IGlzIGFuIEhPQywgdXBkYXRlIGl0cyAkZWwgYXMgd2VsbFxuICAgIGlmICh2bS4kdm5vZGUgJiYgdm0uJHBhcmVudCAmJiB2bS4kdm5vZGUgPT09IHZtLiRwYXJlbnQuX3Zub2RlKSB7XG4gICAgICB2bS4kcGFyZW50LiRlbCA9IHZtLiRlbDtcbiAgICB9XG4gICAgLy8gdXBkYXRlZCBob29rIGlzIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyIHRvIGVuc3VyZSB0aGF0IGNoaWxkcmVuIGFyZVxuICAgIC8vIHVwZGF0ZWQgaW4gYSBwYXJlbnQncyB1cGRhdGVkIGhvb2suXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS4kZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAgICAgIHZtLl93YXRjaGVyLnVwZGF0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBWdWUucHJvdG90eXBlLiRkZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKHZtLl9pc0JlaW5nRGVzdHJveWVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY2FsbEhvb2sodm0sICdiZWZvcmVEZXN0cm95Jyk7XG4gICAgdm0uX2lzQmVpbmdEZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gcGFyZW50XG4gICAgdmFyIHBhcmVudCA9IHZtLiRwYXJlbnQ7XG4gICAgaWYgKHBhcmVudCAmJiAhcGFyZW50Ll9pc0JlaW5nRGVzdHJveWVkICYmICF2bS4kb3B0aW9ucy5hYnN0cmFjdCkge1xuICAgICAgcmVtb3ZlKHBhcmVudC4kY2hpbGRyZW4sIHZtKTtcbiAgICB9XG4gICAgLy8gdGVhcmRvd24gd2F0Y2hlcnNcbiAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAgICAgIHZtLl93YXRjaGVyLnRlYXJkb3duKCk7XG4gICAgfVxuICAgIHZhciBpID0gdm0uX3dhdGNoZXJzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB2bS5fd2F0Y2hlcnNbaV0udGVhcmRvd24oKTtcbiAgICB9XG4gICAgLy8gcmVtb3ZlIHJlZmVyZW5jZSBmcm9tIGRhdGEgb2JcbiAgICAvLyBmcm96ZW4gb2JqZWN0IG1heSBub3QgaGF2ZSBvYnNlcnZlci5cbiAgICBpZiAodm0uX2RhdGEuX19vYl9fKSB7XG4gICAgICB2bS5fZGF0YS5fX29iX18udm1Db3VudC0tO1xuICAgIH1cbiAgICAvLyBjYWxsIHRoZSBsYXN0IGhvb2suLi5cbiAgICB2bS5faXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIGludm9rZSBkZXN0cm95IGhvb2tzIG9uIGN1cnJlbnQgcmVuZGVyZWQgdHJlZVxuICAgIHZtLl9fcGF0Y2hfXyh2bS5fdm5vZGUsIG51bGwpO1xuICAgIC8vIGZpcmUgZGVzdHJveWVkIGhvb2tcbiAgICBjYWxsSG9vayh2bSwgJ2Rlc3Ryb3llZCcpO1xuICAgIC8vIHR1cm4gb2ZmIGFsbCBpbnN0YW5jZSBsaXN0ZW5lcnMuXG4gICAgdm0uJG9mZigpO1xuICAgIC8vIHJlbW92ZSBfX3Z1ZV9fIHJlZmVyZW5jZVxuICAgIGlmICh2bS4kZWwpIHtcbiAgICAgIHZtLiRlbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICB9XG4gICAgLy8gcmVsZWFzZSBjaXJjdWxhciByZWZlcmVuY2UgKCM2NzU5KVxuICAgIGlmICh2bS4kdm5vZGUpIHtcbiAgICAgIHZtLiR2bm9kZS5wYXJlbnQgPSBudWxsO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gbW91bnRDb21wb25lbnQgKFxuICB2bSxcbiAgZWwsXG4gIGh5ZHJhdGluZ1xuKSB7XG4gIHZtLiRlbCA9IGVsO1xuICBpZiAoIXZtLiRvcHRpb25zLnJlbmRlcikge1xuICAgIHZtLiRvcHRpb25zLnJlbmRlciA9IGNyZWF0ZUVtcHR5Vk5vZGU7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKCh2bS4kb3B0aW9ucy50ZW1wbGF0ZSAmJiB2bS4kb3B0aW9ucy50ZW1wbGF0ZS5jaGFyQXQoMCkgIT09ICcjJykgfHxcbiAgICAgICAgdm0uJG9wdGlvbnMuZWwgfHwgZWwpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnWW91IGFyZSB1c2luZyB0aGUgcnVudGltZS1vbmx5IGJ1aWxkIG9mIFZ1ZSB3aGVyZSB0aGUgdGVtcGxhdGUgJyArXG4gICAgICAgICAgJ2NvbXBpbGVyIGlzIG5vdCBhdmFpbGFibGUuIEVpdGhlciBwcmUtY29tcGlsZSB0aGUgdGVtcGxhdGVzIGludG8gJyArXG4gICAgICAgICAgJ3JlbmRlciBmdW5jdGlvbnMsIG9yIHVzZSB0aGUgY29tcGlsZXItaW5jbHVkZWQgYnVpbGQuJyxcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnRmFpbGVkIHRvIG1vdW50IGNvbXBvbmVudDogdGVtcGxhdGUgb3IgcmVuZGVyIGZ1bmN0aW9uIG5vdCBkZWZpbmVkLicsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY2FsbEhvb2sodm0sICdiZWZvcmVNb3VudCcpO1xuXG4gIHZhciB1cGRhdGVDb21wb25lbnQ7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb25maWcucGVyZm9ybWFuY2UgJiYgbWFyaykge1xuICAgIHVwZGF0ZUNvbXBvbmVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBuYW1lID0gdm0uX25hbWU7XG4gICAgICB2YXIgaWQgPSB2bS5fdWlkO1xuICAgICAgdmFyIHN0YXJ0VGFnID0gXCJ2dWUtcGVyZi1zdGFydDpcIiArIGlkO1xuICAgICAgdmFyIGVuZFRhZyA9IFwidnVlLXBlcmYtZW5kOlwiICsgaWQ7XG5cbiAgICAgIG1hcmsoc3RhcnRUYWcpO1xuICAgICAgdmFyIHZub2RlID0gdm0uX3JlbmRlcigpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3VyZSgoXCJ2dWUgXCIgKyBuYW1lICsgXCIgcmVuZGVyXCIpLCBzdGFydFRhZywgZW5kVGFnKTtcblxuICAgICAgbWFyayhzdGFydFRhZyk7XG4gICAgICB2bS5fdXBkYXRlKHZub2RlLCBoeWRyYXRpbmcpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3VyZSgoXCJ2dWUgXCIgKyBuYW1lICsgXCIgcGF0Y2hcIiksIHN0YXJ0VGFnLCBlbmRUYWcpO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlQ29tcG9uZW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgdm0uX3VwZGF0ZSh2bS5fcmVuZGVyKCksIGh5ZHJhdGluZyk7XG4gICAgfTtcbiAgfVxuXG4gIC8vIHdlIHNldCB0aGlzIHRvIHZtLl93YXRjaGVyIGluc2lkZSB0aGUgd2F0Y2hlcidzIGNvbnN0cnVjdG9yXG4gIC8vIHNpbmNlIHRoZSB3YXRjaGVyJ3MgaW5pdGlhbCBwYXRjaCBtYXkgY2FsbCAkZm9yY2VVcGRhdGUgKGUuZy4gaW5zaWRlIGNoaWxkXG4gIC8vIGNvbXBvbmVudCdzIG1vdW50ZWQgaG9vayksIHdoaWNoIHJlbGllcyBvbiB2bS5fd2F0Y2hlciBiZWluZyBhbHJlYWR5IGRlZmluZWRcbiAgbmV3IFdhdGNoZXIodm0sIHVwZGF0ZUNvbXBvbmVudCwgbm9vcCwge1xuICAgIGJlZm9yZTogZnVuY3Rpb24gYmVmb3JlICgpIHtcbiAgICAgIGlmICh2bS5faXNNb3VudGVkICYmICF2bS5faXNEZXN0cm95ZWQpIHtcbiAgICAgICAgY2FsbEhvb2sodm0sICdiZWZvcmVVcGRhdGUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHRydWUgLyogaXNSZW5kZXJXYXRjaGVyICovKTtcbiAgaHlkcmF0aW5nID0gZmFsc2U7XG5cbiAgLy8gbWFudWFsbHkgbW91bnRlZCBpbnN0YW5jZSwgY2FsbCBtb3VudGVkIG9uIHNlbGZcbiAgLy8gbW91bnRlZCBpcyBjYWxsZWQgZm9yIHJlbmRlci1jcmVhdGVkIGNoaWxkIGNvbXBvbmVudHMgaW4gaXRzIGluc2VydGVkIGhvb2tcbiAgaWYgKHZtLiR2bm9kZSA9PSBudWxsKSB7XG4gICAgdm0uX2lzTW91bnRlZCA9IHRydWU7XG4gICAgY2FsbEhvb2sodm0sICdtb3VudGVkJyk7XG4gIH1cbiAgcmV0dXJuIHZtXG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNoaWxkQ29tcG9uZW50IChcbiAgdm0sXG4gIHByb3BzRGF0YSxcbiAgbGlzdGVuZXJzLFxuICBwYXJlbnRWbm9kZSxcbiAgcmVuZGVyQ2hpbGRyZW5cbikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCA9IHRydWU7XG4gIH1cblxuICAvLyBkZXRlcm1pbmUgd2hldGhlciBjb21wb25lbnQgaGFzIHNsb3QgY2hpbGRyZW5cbiAgLy8gd2UgbmVlZCB0byBkbyB0aGlzIGJlZm9yZSBvdmVyd3JpdGluZyAkb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4uXG5cbiAgLy8gY2hlY2sgaWYgdGhlcmUgYXJlIGR5bmFtaWMgc2NvcGVkU2xvdHMgKGhhbmQtd3JpdHRlbiBvciBjb21waWxlZCBidXQgd2l0aFxuICAvLyBkeW5hbWljIHNsb3QgbmFtZXMpLiBTdGF0aWMgc2NvcGVkIHNsb3RzIGNvbXBpbGVkIGZyb20gdGVtcGxhdGUgaGFzIHRoZVxuICAvLyBcIiRzdGFibGVcIiBtYXJrZXIuXG4gIHZhciBuZXdTY29wZWRTbG90cyA9IHBhcmVudFZub2RlLmRhdGEuc2NvcGVkU2xvdHM7XG4gIHZhciBvbGRTY29wZWRTbG90cyA9IHZtLiRzY29wZWRTbG90cztcbiAgdmFyIGhhc0R5bmFtaWNTY29wZWRTbG90ID0gISEoXG4gICAgKG5ld1Njb3BlZFNsb3RzICYmICFuZXdTY29wZWRTbG90cy4kc3RhYmxlKSB8fFxuICAgIChvbGRTY29wZWRTbG90cyAhPT0gZW1wdHlPYmplY3QgJiYgIW9sZFNjb3BlZFNsb3RzLiRzdGFibGUpIHx8XG4gICAgKG5ld1Njb3BlZFNsb3RzICYmIHZtLiRzY29wZWRTbG90cy4ka2V5ICE9PSBuZXdTY29wZWRTbG90cy4ka2V5KVxuICApO1xuXG4gIC8vIEFueSBzdGF0aWMgc2xvdCBjaGlsZHJlbiBmcm9tIHRoZSBwYXJlbnQgbWF5IGhhdmUgY2hhbmdlZCBkdXJpbmcgcGFyZW50J3NcbiAgLy8gdXBkYXRlLiBEeW5hbWljIHNjb3BlZCBzbG90cyBtYXkgYWxzbyBoYXZlIGNoYW5nZWQuIEluIHN1Y2ggY2FzZXMsIGEgZm9yY2VkXG4gIC8vIHVwZGF0ZSBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIGNvcnJlY3RuZXNzLlxuICB2YXIgbmVlZHNGb3JjZVVwZGF0ZSA9ICEhKFxuICAgIHJlbmRlckNoaWxkcmVuIHx8ICAgICAgICAgICAgICAgLy8gaGFzIG5ldyBzdGF0aWMgc2xvdHNcbiAgICB2bS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4gfHwgIC8vIGhhcyBvbGQgc3RhdGljIHNsb3RzXG4gICAgaGFzRHluYW1pY1Njb3BlZFNsb3RcbiAgKTtcblxuICB2bS4kb3B0aW9ucy5fcGFyZW50Vm5vZGUgPSBwYXJlbnRWbm9kZTtcbiAgdm0uJHZub2RlID0gcGFyZW50Vm5vZGU7IC8vIHVwZGF0ZSB2bSdzIHBsYWNlaG9sZGVyIG5vZGUgd2l0aG91dCByZS1yZW5kZXJcblxuICBpZiAodm0uX3Zub2RlKSB7IC8vIHVwZGF0ZSBjaGlsZCB0cmVlJ3MgcGFyZW50XG4gICAgdm0uX3Zub2RlLnBhcmVudCA9IHBhcmVudFZub2RlO1xuICB9XG4gIHZtLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiA9IHJlbmRlckNoaWxkcmVuO1xuXG4gIC8vIHVwZGF0ZSAkYXR0cnMgYW5kICRsaXN0ZW5lcnMgaGFzaFxuICAvLyB0aGVzZSBhcmUgYWxzbyByZWFjdGl2ZSBzbyB0aGV5IG1heSB0cmlnZ2VyIGNoaWxkIHVwZGF0ZSBpZiB0aGUgY2hpbGRcbiAgLy8gdXNlZCB0aGVtIGR1cmluZyByZW5kZXJcbiAgdm0uJGF0dHJzID0gcGFyZW50Vm5vZGUuZGF0YS5hdHRycyB8fCBlbXB0eU9iamVjdDtcbiAgdm0uJGxpc3RlbmVycyA9IGxpc3RlbmVycyB8fCBlbXB0eU9iamVjdDtcblxuICAvLyB1cGRhdGUgcHJvcHNcbiAgaWYgKHByb3BzRGF0YSAmJiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgIHRvZ2dsZU9ic2VydmluZyhmYWxzZSk7XG4gICAgdmFyIHByb3BzID0gdm0uX3Byb3BzO1xuICAgIHZhciBwcm9wS2V5cyA9IHZtLiRvcHRpb25zLl9wcm9wS2V5cyB8fCBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0gcHJvcEtleXNbaV07XG4gICAgICB2YXIgcHJvcE9wdGlvbnMgPSB2bS4kb3B0aW9ucy5wcm9wczsgLy8gd3RmIGZsb3c/XG4gICAgICBwcm9wc1trZXldID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcE9wdGlvbnMsIHByb3BzRGF0YSwgdm0pO1xuICAgIH1cbiAgICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG4gICAgLy8ga2VlcCBhIGNvcHkgb2YgcmF3IHByb3BzRGF0YVxuICAgIHZtLiRvcHRpb25zLnByb3BzRGF0YSA9IHByb3BzRGF0YTtcbiAgfVxuXG4gIC8vIHVwZGF0ZSBsaXN0ZW5lcnNcbiAgbGlzdGVuZXJzID0gbGlzdGVuZXJzIHx8IGVtcHR5T2JqZWN0O1xuICB2YXIgb2xkTGlzdGVuZXJzID0gdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAgdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycyA9IGxpc3RlbmVycztcbiAgdXBkYXRlQ29tcG9uZW50TGlzdGVuZXJzKHZtLCBsaXN0ZW5lcnMsIG9sZExpc3RlbmVycyk7XG5cbiAgLy8gcmVzb2x2ZSBzbG90cyArIGZvcmNlIHVwZGF0ZSBpZiBoYXMgY2hpbGRyZW5cbiAgaWYgKG5lZWRzRm9yY2VVcGRhdGUpIHtcbiAgICB2bS4kc2xvdHMgPSByZXNvbHZlU2xvdHMocmVuZGVyQ2hpbGRyZW4sIHBhcmVudFZub2RlLmNvbnRleHQpO1xuICAgIHZtLiRmb3JjZVVwZGF0ZSgpO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0luSW5hY3RpdmVUcmVlICh2bSkge1xuICB3aGlsZSAodm0gJiYgKHZtID0gdm0uJHBhcmVudCkpIHtcbiAgICBpZiAodm0uX2luYWN0aXZlKSB7IHJldHVybiB0cnVlIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gYWN0aXZhdGVDaGlsZENvbXBvbmVudCAodm0sIGRpcmVjdCkge1xuICBpZiAoZGlyZWN0KSB7XG4gICAgdm0uX2RpcmVjdEluYWN0aXZlID0gZmFsc2U7XG4gICAgaWYgKGlzSW5JbmFjdGl2ZVRyZWUodm0pKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gIH0gZWxzZSBpZiAodm0uX2RpcmVjdEluYWN0aXZlKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKHZtLl9pbmFjdGl2ZSB8fCB2bS5faW5hY3RpdmUgPT09IG51bGwpIHtcbiAgICB2bS5faW5hY3RpdmUgPSBmYWxzZTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZtLiRjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgYWN0aXZhdGVDaGlsZENvbXBvbmVudCh2bS4kY2hpbGRyZW5baV0pO1xuICAgIH1cbiAgICBjYWxsSG9vayh2bSwgJ2FjdGl2YXRlZCcpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlYWN0aXZhdGVDaGlsZENvbXBvbmVudCAodm0sIGRpcmVjdCkge1xuICBpZiAoZGlyZWN0KSB7XG4gICAgdm0uX2RpcmVjdEluYWN0aXZlID0gdHJ1ZTtcbiAgICBpZiAoaXNJbkluYWN0aXZlVHJlZSh2bSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfVxuICBpZiAoIXZtLl9pbmFjdGl2ZSkge1xuICAgIHZtLl9pbmFjdGl2ZSA9IHRydWU7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2bS4kY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGRlYWN0aXZhdGVDaGlsZENvbXBvbmVudCh2bS4kY2hpbGRyZW5baV0pO1xuICAgIH1cbiAgICBjYWxsSG9vayh2bSwgJ2RlYWN0aXZhdGVkJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FsbEhvb2sgKHZtLCBob29rKSB7XG4gIC8vICM3NTczIGRpc2FibGUgZGVwIGNvbGxlY3Rpb24gd2hlbiBpbnZva2luZyBsaWZlY3ljbGUgaG9va3NcbiAgcHVzaFRhcmdldCgpO1xuICB2YXIgaGFuZGxlcnMgPSB2bS4kb3B0aW9uc1tob29rXTtcbiAgdmFyIGluZm8gPSBob29rICsgXCIgaG9va1wiO1xuICBpZiAoaGFuZGxlcnMpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgaiA9IGhhbmRsZXJzLmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgaW52b2tlV2l0aEVycm9ySGFuZGxpbmcoaGFuZGxlcnNbaV0sIHZtLCBudWxsLCB2bSwgaW5mbyk7XG4gICAgfVxuICB9XG4gIGlmICh2bS5faGFzSG9va0V2ZW50KSB7XG4gICAgdm0uJGVtaXQoJ2hvb2s6JyArIGhvb2spO1xuICB9XG4gIHBvcFRhcmdldCgpO1xufVxuXG4vKiAgKi9cblxudmFyIE1BWF9VUERBVEVfQ09VTlQgPSAxMDA7XG5cbnZhciBxdWV1ZSA9IFtdO1xudmFyIGFjdGl2YXRlZENoaWxkcmVuID0gW107XG52YXIgaGFzID0ge307XG52YXIgY2lyY3VsYXIgPSB7fTtcbnZhciB3YWl0aW5nID0gZmFsc2U7XG52YXIgZmx1c2hpbmcgPSBmYWxzZTtcbnZhciBpbmRleCA9IDA7XG5cbi8qKlxuICogUmVzZXQgdGhlIHNjaGVkdWxlcidzIHN0YXRlLlxuICovXG5mdW5jdGlvbiByZXNldFNjaGVkdWxlclN0YXRlICgpIHtcbiAgaW5kZXggPSBxdWV1ZS5sZW5ndGggPSBhY3RpdmF0ZWRDaGlsZHJlbi5sZW5ndGggPSAwO1xuICBoYXMgPSB7fTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjaXJjdWxhciA9IHt9O1xuICB9XG4gIHdhaXRpbmcgPSBmbHVzaGluZyA9IGZhbHNlO1xufVxuXG4vLyBBc3luYyBlZGdlIGNhc2UgIzY1NjYgcmVxdWlyZXMgc2F2aW5nIHRoZSB0aW1lc3RhbXAgd2hlbiBldmVudCBsaXN0ZW5lcnMgYXJlXG4vLyBhdHRhY2hlZC4gSG93ZXZlciwgY2FsbGluZyBwZXJmb3JtYW5jZS5ub3coKSBoYXMgYSBwZXJmIG92ZXJoZWFkIGVzcGVjaWFsbHlcbi8vIGlmIHRoZSBwYWdlIGhhcyB0aG91c2FuZHMgb2YgZXZlbnQgbGlzdGVuZXJzLiBJbnN0ZWFkLCB3ZSB0YWtlIGEgdGltZXN0YW1wXG4vLyBldmVyeSB0aW1lIHRoZSBzY2hlZHVsZXIgZmx1c2hlcyBhbmQgdXNlIHRoYXQgZm9yIGFsbCBldmVudCBsaXN0ZW5lcnNcbi8vIGF0dGFjaGVkIGR1cmluZyB0aGF0IGZsdXNoLlxudmFyIGN1cnJlbnRGbHVzaFRpbWVzdGFtcCA9IDA7XG5cbi8vIEFzeW5jIGVkZ2UgY2FzZSBmaXggcmVxdWlyZXMgc3RvcmluZyBhbiBldmVudCBsaXN0ZW5lcidzIGF0dGFjaCB0aW1lc3RhbXAuXG52YXIgZ2V0Tm93ID0gRGF0ZS5ub3c7XG5cbi8vIERldGVybWluZSB3aGF0IGV2ZW50IHRpbWVzdGFtcCB0aGUgYnJvd3NlciBpcyB1c2luZy4gQW5ub3lpbmdseSwgdGhlXG4vLyB0aW1lc3RhbXAgY2FuIGVpdGhlciBiZSBoaS1yZXMgKHJlbGF0aXZlIHRvIHBhZ2UgbG9hZCkgb3IgbG93LXJlc1xuLy8gKHJlbGF0aXZlIHRvIFVOSVggZXBvY2gpLCBzbyBpbiBvcmRlciB0byBjb21wYXJlIHRpbWUgd2UgaGF2ZSB0byB1c2UgdGhlXG4vLyBzYW1lIHRpbWVzdGFtcCB0eXBlIHdoZW4gc2F2aW5nIHRoZSBmbHVzaCB0aW1lc3RhbXAuXG4vLyBBbGwgSUUgdmVyc2lvbnMgdXNlIGxvdy1yZXMgZXZlbnQgdGltZXN0YW1wcywgYW5kIGhhdmUgcHJvYmxlbWF0aWMgY2xvY2tcbi8vIGltcGxlbWVudGF0aW9ucyAoIzk2MzIpXG5pZiAoaW5Ccm93c2VyICYmICFpc0lFKSB7XG4gIHZhciBwZXJmb3JtYW5jZSA9IHdpbmRvdy5wZXJmb3JtYW5jZTtcbiAgaWYgKFxuICAgIHBlcmZvcm1hbmNlICYmXG4gICAgdHlwZW9mIHBlcmZvcm1hbmNlLm5vdyA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgIGdldE5vdygpID4gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50JykudGltZVN0YW1wXG4gICkge1xuICAgIC8vIGlmIHRoZSBldmVudCB0aW1lc3RhbXAsIGFsdGhvdWdoIGV2YWx1YXRlZCBBRlRFUiB0aGUgRGF0ZS5ub3coKSwgaXNcbiAgICAvLyBzbWFsbGVyIHRoYW4gaXQsIGl0IG1lYW5zIHRoZSBldmVudCBpcyB1c2luZyBhIGhpLXJlcyB0aW1lc3RhbXAsXG4gICAgLy8gYW5kIHdlIG5lZWQgdG8gdXNlIHRoZSBoaS1yZXMgdmVyc2lvbiBmb3IgZXZlbnQgbGlzdGVuZXIgdGltZXN0YW1wcyBhc1xuICAgIC8vIHdlbGwuXG4gICAgZ2V0Tm93ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcGVyZm9ybWFuY2Uubm93KCk7IH07XG4gIH1cbn1cblxuLyoqXG4gKiBGbHVzaCBib3RoIHF1ZXVlcyBhbmQgcnVuIHRoZSB3YXRjaGVycy5cbiAqL1xuZnVuY3Rpb24gZmx1c2hTY2hlZHVsZXJRdWV1ZSAoKSB7XG4gIGN1cnJlbnRGbHVzaFRpbWVzdGFtcCA9IGdldE5vdygpO1xuICBmbHVzaGluZyA9IHRydWU7XG4gIHZhciB3YXRjaGVyLCBpZDtcblxuICAvLyBTb3J0IHF1ZXVlIGJlZm9yZSBmbHVzaC5cbiAgLy8gVGhpcyBlbnN1cmVzIHRoYXQ6XG4gIC8vIDEuIENvbXBvbmVudHMgYXJlIHVwZGF0ZWQgZnJvbSBwYXJlbnQgdG8gY2hpbGQuIChiZWNhdXNlIHBhcmVudCBpcyBhbHdheXNcbiAgLy8gICAgY3JlYXRlZCBiZWZvcmUgdGhlIGNoaWxkKVxuICAvLyAyLiBBIGNvbXBvbmVudCdzIHVzZXIgd2F0Y2hlcnMgYXJlIHJ1biBiZWZvcmUgaXRzIHJlbmRlciB3YXRjaGVyIChiZWNhdXNlXG4gIC8vICAgIHVzZXIgd2F0Y2hlcnMgYXJlIGNyZWF0ZWQgYmVmb3JlIHRoZSByZW5kZXIgd2F0Y2hlcilcbiAgLy8gMy4gSWYgYSBjb21wb25lbnQgaXMgZGVzdHJveWVkIGR1cmluZyBhIHBhcmVudCBjb21wb25lbnQncyB3YXRjaGVyIHJ1bixcbiAgLy8gICAgaXRzIHdhdGNoZXJzIGNhbiBiZSBza2lwcGVkLlxuICBxdWV1ZS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBhLmlkIC0gYi5pZDsgfSk7XG5cbiAgLy8gZG8gbm90IGNhY2hlIGxlbmd0aCBiZWNhdXNlIG1vcmUgd2F0Y2hlcnMgbWlnaHQgYmUgcHVzaGVkXG4gIC8vIGFzIHdlIHJ1biBleGlzdGluZyB3YXRjaGVyc1xuICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBxdWV1ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICB3YXRjaGVyID0gcXVldWVbaW5kZXhdO1xuICAgIGlmICh3YXRjaGVyLmJlZm9yZSkge1xuICAgICAgd2F0Y2hlci5iZWZvcmUoKTtcbiAgICB9XG4gICAgaWQgPSB3YXRjaGVyLmlkO1xuICAgIGhhc1tpZF0gPSBudWxsO1xuICAgIHdhdGNoZXIucnVuKCk7XG4gICAgLy8gaW4gZGV2IGJ1aWxkLCBjaGVjayBhbmQgc3RvcCBjaXJjdWxhciB1cGRhdGVzLlxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGhhc1tpZF0gIT0gbnVsbCkge1xuICAgICAgY2lyY3VsYXJbaWRdID0gKGNpcmN1bGFyW2lkXSB8fCAwKSArIDE7XG4gICAgICBpZiAoY2lyY3VsYXJbaWRdID4gTUFYX1VQREFURV9DT1VOVCkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgICdZb3UgbWF5IGhhdmUgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AgJyArIChcbiAgICAgICAgICAgIHdhdGNoZXIudXNlclxuICAgICAgICAgICAgICA/IChcImluIHdhdGNoZXIgd2l0aCBleHByZXNzaW9uIFxcXCJcIiArICh3YXRjaGVyLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpXG4gICAgICAgICAgICAgIDogXCJpbiBhIGNvbXBvbmVudCByZW5kZXIgZnVuY3Rpb24uXCJcbiAgICAgICAgICApLFxuICAgICAgICAgIHdhdGNoZXIudm1cbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBrZWVwIGNvcGllcyBvZiBwb3N0IHF1ZXVlcyBiZWZvcmUgcmVzZXR0aW5nIHN0YXRlXG4gIHZhciBhY3RpdmF0ZWRRdWV1ZSA9IGFjdGl2YXRlZENoaWxkcmVuLnNsaWNlKCk7XG4gIHZhciB1cGRhdGVkUXVldWUgPSBxdWV1ZS5zbGljZSgpO1xuXG4gIHJlc2V0U2NoZWR1bGVyU3RhdGUoKTtcblxuICAvLyBjYWxsIGNvbXBvbmVudCB1cGRhdGVkIGFuZCBhY3RpdmF0ZWQgaG9va3NcbiAgY2FsbEFjdGl2YXRlZEhvb2tzKGFjdGl2YXRlZFF1ZXVlKTtcbiAgY2FsbFVwZGF0ZWRIb29rcyh1cGRhdGVkUXVldWUpO1xuXG4gIC8vIGRldnRvb2wgaG9va1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGRldnRvb2xzICYmIGNvbmZpZy5kZXZ0b29scykge1xuICAgIGRldnRvb2xzLmVtaXQoJ2ZsdXNoJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FsbFVwZGF0ZWRIb29rcyAocXVldWUpIHtcbiAgdmFyIGkgPSBxdWV1ZS5sZW5ndGg7XG4gIHdoaWxlIChpLS0pIHtcbiAgICB2YXIgd2F0Y2hlciA9IHF1ZXVlW2ldO1xuICAgIHZhciB2bSA9IHdhdGNoZXIudm07XG4gICAgaWYgKHZtLl93YXRjaGVyID09PSB3YXRjaGVyICYmIHZtLl9pc01vdW50ZWQgJiYgIXZtLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgY2FsbEhvb2sodm0sICd1cGRhdGVkJyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUXVldWUgYSBrZXB0LWFsaXZlIGNvbXBvbmVudCB0aGF0IHdhcyBhY3RpdmF0ZWQgZHVyaW5nIHBhdGNoLlxuICogVGhlIHF1ZXVlIHdpbGwgYmUgcHJvY2Vzc2VkIGFmdGVyIHRoZSBlbnRpcmUgdHJlZSBoYXMgYmVlbiBwYXRjaGVkLlxuICovXG5mdW5jdGlvbiBxdWV1ZUFjdGl2YXRlZENvbXBvbmVudCAodm0pIHtcbiAgLy8gc2V0dGluZyBfaW5hY3RpdmUgdG8gZmFsc2UgaGVyZSBzbyB0aGF0IGEgcmVuZGVyIGZ1bmN0aW9uIGNhblxuICAvLyByZWx5IG9uIGNoZWNraW5nIHdoZXRoZXIgaXQncyBpbiBhbiBpbmFjdGl2ZSB0cmVlIChlLmcuIHJvdXRlci12aWV3KVxuICB2bS5faW5hY3RpdmUgPSBmYWxzZTtcbiAgYWN0aXZhdGVkQ2hpbGRyZW4ucHVzaCh2bSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxBY3RpdmF0ZWRIb29rcyAocXVldWUpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBxdWV1ZS5sZW5ndGg7IGkrKykge1xuICAgIHF1ZXVlW2ldLl9pbmFjdGl2ZSA9IHRydWU7XG4gICAgYWN0aXZhdGVDaGlsZENvbXBvbmVudChxdWV1ZVtpXSwgdHJ1ZSAvKiB0cnVlICovKTtcbiAgfVxufVxuXG4vKipcbiAqIFB1c2ggYSB3YXRjaGVyIGludG8gdGhlIHdhdGNoZXIgcXVldWUuXG4gKiBKb2JzIHdpdGggZHVwbGljYXRlIElEcyB3aWxsIGJlIHNraXBwZWQgdW5sZXNzIGl0J3NcbiAqIHB1c2hlZCB3aGVuIHRoZSBxdWV1ZSBpcyBiZWluZyBmbHVzaGVkLlxuICovXG5mdW5jdGlvbiBxdWV1ZVdhdGNoZXIgKHdhdGNoZXIpIHtcbiAgdmFyIGlkID0gd2F0Y2hlci5pZDtcbiAgaWYgKGhhc1tpZF0gPT0gbnVsbCkge1xuICAgIGhhc1tpZF0gPSB0cnVlO1xuICAgIGlmICghZmx1c2hpbmcpIHtcbiAgICAgIHF1ZXVlLnB1c2god2F0Y2hlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGlmIGFscmVhZHkgZmx1c2hpbmcsIHNwbGljZSB0aGUgd2F0Y2hlciBiYXNlZCBvbiBpdHMgaWRcbiAgICAgIC8vIGlmIGFscmVhZHkgcGFzdCBpdHMgaWQsIGl0IHdpbGwgYmUgcnVuIG5leHQgaW1tZWRpYXRlbHkuXG4gICAgICB2YXIgaSA9IHF1ZXVlLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoaSA+IGluZGV4ICYmIHF1ZXVlW2ldLmlkID4gd2F0Y2hlci5pZCkge1xuICAgICAgICBpLS07XG4gICAgICB9XG4gICAgICBxdWV1ZS5zcGxpY2UoaSArIDEsIDAsIHdhdGNoZXIpO1xuICAgIH1cbiAgICAvLyBxdWV1ZSB0aGUgZmx1c2hcbiAgICBpZiAoIXdhaXRpbmcpIHtcbiAgICAgIHdhaXRpbmcgPSB0cnVlO1xuXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhY29uZmlnLmFzeW5jKSB7XG4gICAgICAgIGZsdXNoU2NoZWR1bGVyUXVldWUoKTtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBuZXh0VGljayhmbHVzaFNjaGVkdWxlclF1ZXVlKTtcbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cblxuXG52YXIgdWlkJDIgPSAwO1xuXG4vKipcbiAqIEEgd2F0Y2hlciBwYXJzZXMgYW4gZXhwcmVzc2lvbiwgY29sbGVjdHMgZGVwZW5kZW5jaWVzLFxuICogYW5kIGZpcmVzIGNhbGxiYWNrIHdoZW4gdGhlIGV4cHJlc3Npb24gdmFsdWUgY2hhbmdlcy5cbiAqIFRoaXMgaXMgdXNlZCBmb3IgYm90aCB0aGUgJHdhdGNoKCkgYXBpIGFuZCBkaXJlY3RpdmVzLlxuICovXG52YXIgV2F0Y2hlciA9IGZ1bmN0aW9uIFdhdGNoZXIgKFxuICB2bSxcbiAgZXhwT3JGbixcbiAgY2IsXG4gIG9wdGlvbnMsXG4gIGlzUmVuZGVyV2F0Y2hlclxuKSB7XG4gIHRoaXMudm0gPSB2bTtcbiAgaWYgKGlzUmVuZGVyV2F0Y2hlcikge1xuICAgIHZtLl93YXRjaGVyID0gdGhpcztcbiAgfVxuICB2bS5fd2F0Y2hlcnMucHVzaCh0aGlzKTtcbiAgLy8gb3B0aW9uc1xuICBpZiAob3B0aW9ucykge1xuICAgIHRoaXMuZGVlcCA9ICEhb3B0aW9ucy5kZWVwO1xuICAgIHRoaXMudXNlciA9ICEhb3B0aW9ucy51c2VyO1xuICAgIHRoaXMubGF6eSA9ICEhb3B0aW9ucy5sYXp5O1xuICAgIHRoaXMuc3luYyA9ICEhb3B0aW9ucy5zeW5jO1xuICAgIHRoaXMuYmVmb3JlID0gb3B0aW9ucy5iZWZvcmU7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5kZWVwID0gdGhpcy51c2VyID0gdGhpcy5sYXp5ID0gdGhpcy5zeW5jID0gZmFsc2U7XG4gIH1cbiAgdGhpcy5jYiA9IGNiO1xuICB0aGlzLmlkID0gKyt1aWQkMjsgLy8gdWlkIGZvciBiYXRjaGluZ1xuICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gIHRoaXMuZGlydHkgPSB0aGlzLmxhenk7IC8vIGZvciBsYXp5IHdhdGNoZXJzXG4gIHRoaXMuZGVwcyA9IFtdO1xuICB0aGlzLm5ld0RlcHMgPSBbXTtcbiAgdGhpcy5kZXBJZHMgPSBuZXcgX1NldCgpO1xuICB0aGlzLm5ld0RlcElkcyA9IG5ldyBfU2V0KCk7XG4gIHRoaXMuZXhwcmVzc2lvbiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbidcbiAgICA/IGV4cE9yRm4udG9TdHJpbmcoKVxuICAgIDogJyc7XG4gIC8vIHBhcnNlIGV4cHJlc3Npb24gZm9yIGdldHRlclxuICBpZiAodHlwZW9mIGV4cE9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICB0aGlzLmdldHRlciA9IGV4cE9yRm47XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5nZXR0ZXIgPSBwYXJzZVBhdGgoZXhwT3JGbik7XG4gICAgaWYgKCF0aGlzLmdldHRlcikge1xuICAgICAgdGhpcy5nZXR0ZXIgPSBub29wO1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICBcIkZhaWxlZCB3YXRjaGluZyBwYXRoOiBcXFwiXCIgKyBleHBPckZuICsgXCJcXFwiIFwiICtcbiAgICAgICAgJ1dhdGNoZXIgb25seSBhY2NlcHRzIHNpbXBsZSBkb3QtZGVsaW1pdGVkIHBhdGhzLiAnICtcbiAgICAgICAgJ0ZvciBmdWxsIGNvbnRyb2wsIHVzZSBhIGZ1bmN0aW9uIGluc3RlYWQuJyxcbiAgICAgICAgdm1cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHRoaXMudmFsdWUgPSB0aGlzLmxhenlcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogdGhpcy5nZXQoKTtcbn07XG5cbi8qKlxuICogRXZhbHVhdGUgdGhlIGdldHRlciwgYW5kIHJlLWNvbGxlY3QgZGVwZW5kZW5jaWVzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiBnZXQgKCkge1xuICBwdXNoVGFyZ2V0KHRoaXMpO1xuICB2YXIgdmFsdWU7XG4gIHZhciB2bSA9IHRoaXMudm07XG4gIHRyeSB7XG4gICAgdmFsdWUgPSB0aGlzLmdldHRlci5jYWxsKHZtLCB2bSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAodGhpcy51c2VyKSB7XG4gICAgICBoYW5kbGVFcnJvcihlLCB2bSwgKFwiZ2V0dGVyIGZvciB3YXRjaGVyIFxcXCJcIiArICh0aGlzLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZVxuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICAvLyBcInRvdWNoXCIgZXZlcnkgcHJvcGVydHkgc28gdGhleSBhcmUgYWxsIHRyYWNrZWQgYXNcbiAgICAvLyBkZXBlbmRlbmNpZXMgZm9yIGRlZXAgd2F0Y2hpbmdcbiAgICBpZiAodGhpcy5kZWVwKSB7XG4gICAgICB0cmF2ZXJzZSh2YWx1ZSk7XG4gICAgfVxuICAgIHBvcFRhcmdldCgpO1xuICAgIHRoaXMuY2xlYW51cERlcHMoKTtcbiAgfVxuICByZXR1cm4gdmFsdWVcbn07XG5cbi8qKlxuICogQWRkIGEgZGVwZW5kZW5jeSB0byB0aGlzIGRpcmVjdGl2ZS5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUuYWRkRGVwID0gZnVuY3Rpb24gYWRkRGVwIChkZXApIHtcbiAgdmFyIGlkID0gZGVwLmlkO1xuICBpZiAoIXRoaXMubmV3RGVwSWRzLmhhcyhpZCkpIHtcbiAgICB0aGlzLm5ld0RlcElkcy5hZGQoaWQpO1xuICAgIHRoaXMubmV3RGVwcy5wdXNoKGRlcCk7XG4gICAgaWYgKCF0aGlzLmRlcElkcy5oYXMoaWQpKSB7XG4gICAgICBkZXAuYWRkU3ViKHRoaXMpO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBDbGVhbiB1cCBmb3IgZGVwZW5kZW5jeSBjb2xsZWN0aW9uLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5jbGVhbnVwRGVwcyA9IGZ1bmN0aW9uIGNsZWFudXBEZXBzICgpIHtcbiAgdmFyIGkgPSB0aGlzLmRlcHMubGVuZ3RoO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgdmFyIGRlcCA9IHRoaXMuZGVwc1tpXTtcbiAgICBpZiAoIXRoaXMubmV3RGVwSWRzLmhhcyhkZXAuaWQpKSB7XG4gICAgICBkZXAucmVtb3ZlU3ViKHRoaXMpO1xuICAgIH1cbiAgfVxuICB2YXIgdG1wID0gdGhpcy5kZXBJZHM7XG4gIHRoaXMuZGVwSWRzID0gdGhpcy5uZXdEZXBJZHM7XG4gIHRoaXMubmV3RGVwSWRzID0gdG1wO1xuICB0aGlzLm5ld0RlcElkcy5jbGVhcigpO1xuICB0bXAgPSB0aGlzLmRlcHM7XG4gIHRoaXMuZGVwcyA9IHRoaXMubmV3RGVwcztcbiAgdGhpcy5uZXdEZXBzID0gdG1wO1xuICB0aGlzLm5ld0RlcHMubGVuZ3RoID0gMDtcbn07XG5cbi8qKlxuICogU3Vic2NyaWJlciBpbnRlcmZhY2UuXG4gKiBXaWxsIGJlIGNhbGxlZCB3aGVuIGEgZGVwZW5kZW5jeSBjaGFuZ2VzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUgKCkge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAodGhpcy5sYXp5KSB7XG4gICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gIH0gZWxzZSBpZiAodGhpcy5zeW5jKSB7XG4gICAgdGhpcy5ydW4oKTtcbiAgfSBlbHNlIHtcbiAgICBxdWV1ZVdhdGNoZXIodGhpcyk7XG4gIH1cbn07XG5cbi8qKlxuICogU2NoZWR1bGVyIGpvYiBpbnRlcmZhY2UuXG4gKiBXaWxsIGJlIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiBydW4gKCkge1xuICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICB2YXIgdmFsdWUgPSB0aGlzLmdldCgpO1xuICAgIGlmIChcbiAgICAgIHZhbHVlICE9PSB0aGlzLnZhbHVlIHx8XG4gICAgICAvLyBEZWVwIHdhdGNoZXJzIGFuZCB3YXRjaGVycyBvbiBPYmplY3QvQXJyYXlzIHNob3VsZCBmaXJlIGV2ZW5cbiAgICAgIC8vIHdoZW4gdGhlIHZhbHVlIGlzIHRoZSBzYW1lLCBiZWNhdXNlIHRoZSB2YWx1ZSBtYXlcbiAgICAgIC8vIGhhdmUgbXV0YXRlZC5cbiAgICAgIGlzT2JqZWN0KHZhbHVlKSB8fFxuICAgICAgdGhpcy5kZWVwXG4gICAgKSB7XG4gICAgICAvLyBzZXQgbmV3IHZhbHVlXG4gICAgICB2YXIgb2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMuY2IuY2FsbCh0aGlzLnZtLCB2YWx1ZSwgb2xkVmFsdWUpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdGhpcy52bSwgKFwiY2FsbGJhY2sgZm9yIHdhdGNoZXIgXFxcIlwiICsgKHRoaXMuZXhwcmVzc2lvbikgKyBcIlxcXCJcIikpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNiLmNhbGwodGhpcy52bSwgdmFsdWUsIG9sZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogRXZhbHVhdGUgdGhlIHZhbHVlIG9mIHRoZSB3YXRjaGVyLlxuICogVGhpcyBvbmx5IGdldHMgY2FsbGVkIGZvciBsYXp5IHdhdGNoZXJzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5ldmFsdWF0ZSA9IGZ1bmN0aW9uIGV2YWx1YXRlICgpIHtcbiAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0KCk7XG4gIHRoaXMuZGlydHkgPSBmYWxzZTtcbn07XG5cbi8qKlxuICogRGVwZW5kIG9uIGFsbCBkZXBzIGNvbGxlY3RlZCBieSB0aGlzIHdhdGNoZXIuXG4gKi9cbldhdGNoZXIucHJvdG90eXBlLmRlcGVuZCA9IGZ1bmN0aW9uIGRlcGVuZCAoKSB7XG4gIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHRoaXMuZGVwc1tpXS5kZXBlbmQoKTtcbiAgfVxufTtcblxuLyoqXG4gKiBSZW1vdmUgc2VsZiBmcm9tIGFsbCBkZXBlbmRlbmNpZXMnIHN1YnNjcmliZXIgbGlzdC5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUudGVhcmRvd24gPSBmdW5jdGlvbiB0ZWFyZG93biAoKSB7XG4gIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gdm0ncyB3YXRjaGVyIGxpc3RcbiAgICAvLyB0aGlzIGlzIGEgc29tZXdoYXQgZXhwZW5zaXZlIG9wZXJhdGlvbiBzbyB3ZSBza2lwIGl0XG4gICAgLy8gaWYgdGhlIHZtIGlzIGJlaW5nIGRlc3Ryb3llZC5cbiAgICBpZiAoIXRoaXMudm0uX2lzQmVpbmdEZXN0cm95ZWQpIHtcbiAgICAgIHJlbW92ZSh0aGlzLnZtLl93YXRjaGVycywgdGhpcyk7XG4gICAgfVxuICAgIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB0aGlzLmRlcHNbaV0ucmVtb3ZlU3ViKHRoaXMpO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICB9XG59O1xuXG4vKiAgKi9cblxudmFyIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbiA9IHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBnZXQ6IG5vb3AsXG4gIHNldDogbm9vcFxufTtcblxuZnVuY3Rpb24gcHJveHkgKHRhcmdldCwgc291cmNlS2V5LCBrZXkpIHtcbiAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLmdldCA9IGZ1bmN0aW9uIHByb3h5R2V0dGVyICgpIHtcbiAgICByZXR1cm4gdGhpc1tzb3VyY2VLZXldW2tleV1cbiAgfTtcbiAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9uIHByb3h5U2V0dGVyICh2YWwpIHtcbiAgICB0aGlzW3NvdXJjZUtleV1ba2V5XSA9IHZhbDtcbiAgfTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuXG5mdW5jdGlvbiBpbml0U3RhdGUgKHZtKSB7XG4gIHZtLl93YXRjaGVycyA9IFtdO1xuICB2YXIgb3B0cyA9IHZtLiRvcHRpb25zO1xuICBpZiAob3B0cy5wcm9wcykgeyBpbml0UHJvcHModm0sIG9wdHMucHJvcHMpOyB9XG4gIGlmIChvcHRzLm1ldGhvZHMpIHsgaW5pdE1ldGhvZHModm0sIG9wdHMubWV0aG9kcyk7IH1cbiAgaWYgKG9wdHMuZGF0YSkge1xuICAgIGluaXREYXRhKHZtKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZlKHZtLl9kYXRhID0ge30sIHRydWUgLyogYXNSb290RGF0YSAqLyk7XG4gIH1cbiAgaWYgKG9wdHMuY29tcHV0ZWQpIHsgaW5pdENvbXB1dGVkKHZtLCBvcHRzLmNvbXB1dGVkKTsgfVxuICBpZiAob3B0cy53YXRjaCAmJiBvcHRzLndhdGNoICE9PSBuYXRpdmVXYXRjaCkge1xuICAgIGluaXRXYXRjaCh2bSwgb3B0cy53YXRjaCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdFByb3BzICh2bSwgcHJvcHNPcHRpb25zKSB7XG4gIHZhciBwcm9wc0RhdGEgPSB2bS4kb3B0aW9ucy5wcm9wc0RhdGEgfHwge307XG4gIHZhciBwcm9wcyA9IHZtLl9wcm9wcyA9IHt9O1xuICAvLyBjYWNoZSBwcm9wIGtleXMgc28gdGhhdCBmdXR1cmUgcHJvcHMgdXBkYXRlcyBjYW4gaXRlcmF0ZSB1c2luZyBBcnJheVxuICAvLyBpbnN0ZWFkIG9mIGR5bmFtaWMgb2JqZWN0IGtleSBlbnVtZXJhdGlvbi5cbiAgdmFyIGtleXMgPSB2bS4kb3B0aW9ucy5fcHJvcEtleXMgPSBbXTtcbiAgdmFyIGlzUm9vdCA9ICF2bS4kcGFyZW50O1xuICAvLyByb290IGluc3RhbmNlIHByb3BzIHNob3VsZCBiZSBjb252ZXJ0ZWRcbiAgaWYgKCFpc1Jvb3QpIHtcbiAgICB0b2dnbGVPYnNlcnZpbmcoZmFsc2UpO1xuICB9XG4gIHZhciBsb29wID0gZnVuY3Rpb24gKCBrZXkgKSB7XG4gICAga2V5cy5wdXNoKGtleSk7XG4gICAgdmFyIHZhbHVlID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcHNPcHRpb25zLCBwcm9wc0RhdGEsIHZtKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB2YXIgaHlwaGVuYXRlZEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgaWYgKGlzUmVzZXJ2ZWRBdHRyaWJ1dGUoaHlwaGVuYXRlZEtleSkgfHxcbiAgICAgICAgICBjb25maWcuaXNSZXNlcnZlZEF0dHIoaHlwaGVuYXRlZEtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAoXCJcXFwiXCIgKyBoeXBoZW5hdGVkS2V5ICsgXCJcXFwiIGlzIGEgcmVzZXJ2ZWQgYXR0cmlidXRlIGFuZCBjYW5ub3QgYmUgdXNlZCBhcyBjb21wb25lbnQgcHJvcC5cIiksXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGRlZmluZVJlYWN0aXZlJCQxKHByb3BzLCBrZXksIHZhbHVlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghaXNSb290ICYmICFpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQpIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgXCJBdm9pZCBtdXRhdGluZyBhIHByb3AgZGlyZWN0bHkgc2luY2UgdGhlIHZhbHVlIHdpbGwgYmUgXCIgK1xuICAgICAgICAgICAgXCJvdmVyd3JpdHRlbiB3aGVuZXZlciB0aGUgcGFyZW50IGNvbXBvbmVudCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAgICAgICBcIkluc3RlYWQsIHVzZSBhIGRhdGEgb3IgY29tcHV0ZWQgcHJvcGVydHkgYmFzZWQgb24gdGhlIHByb3AncyBcIiArXG4gICAgICAgICAgICBcInZhbHVlLiBQcm9wIGJlaW5nIG11dGF0ZWQ6IFxcXCJcIiArIGtleSArIFwiXFxcIlwiLFxuICAgICAgICAgICAgdm1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVmaW5lUmVhY3RpdmUkJDEocHJvcHMsIGtleSwgdmFsdWUpO1xuICAgIH1cbiAgICAvLyBzdGF0aWMgcHJvcHMgYXJlIGFscmVhZHkgcHJveGllZCBvbiB0aGUgY29tcG9uZW50J3MgcHJvdG90eXBlXG4gICAgLy8gZHVyaW5nIFZ1ZS5leHRlbmQoKS4gV2Ugb25seSBuZWVkIHRvIHByb3h5IHByb3BzIGRlZmluZWQgYXRcbiAgICAvLyBpbnN0YW50aWF0aW9uIGhlcmUuXG4gICAgaWYgKCEoa2V5IGluIHZtKSkge1xuICAgICAgcHJveHkodm0sIFwiX3Byb3BzXCIsIGtleSk7XG4gICAgfVxuICB9O1xuXG4gIGZvciAodmFyIGtleSBpbiBwcm9wc09wdGlvbnMpIGxvb3AoIGtleSApO1xuICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGluaXREYXRhICh2bSkge1xuICB2YXIgZGF0YSA9IHZtLiRvcHRpb25zLmRhdGE7XG4gIGRhdGEgPSB2bS5fZGF0YSA9IHR5cGVvZiBkYXRhID09PSAnZnVuY3Rpb24nXG4gICAgPyBnZXREYXRhKGRhdGEsIHZtKVxuICAgIDogZGF0YSB8fCB7fTtcbiAgaWYgKCFpc1BsYWluT2JqZWN0KGRhdGEpKSB7XG4gICAgZGF0YSA9IHt9O1xuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICdkYXRhIGZ1bmN0aW9ucyBzaG91bGQgcmV0dXJuIGFuIG9iamVjdDpcXG4nICtcbiAgICAgICdodHRwczovL3Z1ZWpzLm9yZy92Mi9ndWlkZS9jb21wb25lbnRzLmh0bWwjZGF0YS1NdXN0LUJlLWEtRnVuY3Rpb24nLFxuICAgICAgdm1cbiAgICApO1xuICB9XG4gIC8vIHByb3h5IGRhdGEgb24gaW5zdGFuY2VcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhkYXRhKTtcbiAgdmFyIHByb3BzID0gdm0uJG9wdGlvbnMucHJvcHM7XG4gIHZhciBtZXRob2RzID0gdm0uJG9wdGlvbnMubWV0aG9kcztcbiAgdmFyIGkgPSBrZXlzLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAobWV0aG9kcyAmJiBoYXNPd24obWV0aG9kcywga2V5KSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIChcIk1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGFzIGEgZGF0YSBwcm9wZXJ0eS5cIiksXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzICYmIGhhc093bihwcm9wcywga2V5KSkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICBcIlRoZSBkYXRhIHByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiBpcyBhbHJlYWR5IGRlY2xhcmVkIGFzIGEgcHJvcC4gXCIgK1xuICAgICAgICBcIlVzZSBwcm9wIGRlZmF1bHQgdmFsdWUgaW5zdGVhZC5cIixcbiAgICAgICAgdm1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICghaXNSZXNlcnZlZChrZXkpKSB7XG4gICAgICBwcm94eSh2bSwgXCJfZGF0YVwiLCBrZXkpO1xuICAgIH1cbiAgfVxuICAvLyBvYnNlcnZlIGRhdGFcbiAgb2JzZXJ2ZShkYXRhLCB0cnVlIC8qIGFzUm9vdERhdGEgKi8pO1xufVxuXG5mdW5jdGlvbiBnZXREYXRhIChkYXRhLCB2bSkge1xuICAvLyAjNzU3MyBkaXNhYmxlIGRlcCBjb2xsZWN0aW9uIHdoZW4gaW52b2tpbmcgZGF0YSBnZXR0ZXJzXG4gIHB1c2hUYXJnZXQoKTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZGF0YS5jYWxsKHZtLCB2bSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIGhhbmRsZUVycm9yKGUsIHZtLCBcImRhdGEoKVwiKTtcbiAgICByZXR1cm4ge31cbiAgfSBmaW5hbGx5IHtcbiAgICBwb3BUYXJnZXQoKTtcbiAgfVxufVxuXG52YXIgY29tcHV0ZWRXYXRjaGVyT3B0aW9ucyA9IHsgbGF6eTogdHJ1ZSB9O1xuXG5mdW5jdGlvbiBpbml0Q29tcHV0ZWQgKHZtLCBjb21wdXRlZCkge1xuICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgdmFyIHdhdGNoZXJzID0gdm0uX2NvbXB1dGVkV2F0Y2hlcnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAvLyBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSBqdXN0IGdldHRlcnMgZHVyaW5nIFNTUlxuICB2YXIgaXNTU1IgPSBpc1NlcnZlclJlbmRlcmluZygpO1xuXG4gIGZvciAodmFyIGtleSBpbiBjb21wdXRlZCkge1xuICAgIHZhciB1c2VyRGVmID0gY29tcHV0ZWRba2V5XTtcbiAgICB2YXIgZ2V0dGVyID0gdHlwZW9mIHVzZXJEZWYgPT09ICdmdW5jdGlvbicgPyB1c2VyRGVmIDogdXNlckRlZi5nZXQ7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgZ2V0dGVyID09IG51bGwpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIChcIkdldHRlciBpcyBtaXNzaW5nIGZvciBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIuXCIpLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzU1NSKSB7XG4gICAgICAvLyBjcmVhdGUgaW50ZXJuYWwgd2F0Y2hlciBmb3IgdGhlIGNvbXB1dGVkIHByb3BlcnR5LlxuICAgICAgd2F0Y2hlcnNba2V5XSA9IG5ldyBXYXRjaGVyKFxuICAgICAgICB2bSxcbiAgICAgICAgZ2V0dGVyIHx8IG5vb3AsXG4gICAgICAgIG5vb3AsXG4gICAgICAgIGNvbXB1dGVkV2F0Y2hlck9wdGlvbnNcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gY29tcG9uZW50LWRlZmluZWQgY29tcHV0ZWQgcHJvcGVydGllcyBhcmUgYWxyZWFkeSBkZWZpbmVkIG9uIHRoZVxuICAgIC8vIGNvbXBvbmVudCBwcm90b3R5cGUuIFdlIG9ubHkgbmVlZCB0byBkZWZpbmUgY29tcHV0ZWQgcHJvcGVydGllcyBkZWZpbmVkXG4gICAgLy8gYXQgaW5zdGFudGlhdGlvbiBoZXJlLlxuICAgIGlmICghKGtleSBpbiB2bSkpIHtcbiAgICAgIGRlZmluZUNvbXB1dGVkKHZtLCBrZXksIHVzZXJEZWYpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKGtleSBpbiB2bS4kZGF0YSkge1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGRhdGEuXCIpLCB2bSk7XG4gICAgICB9IGVsc2UgaWYgKHZtLiRvcHRpb25zLnByb3BzICYmIGtleSBpbiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGFzIGEgcHJvcC5cIiksIHZtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lQ29tcHV0ZWQgKFxuICB0YXJnZXQsXG4gIGtleSxcbiAgdXNlckRlZlxuKSB7XG4gIHZhciBzaG91bGRDYWNoZSA9ICFpc1NlcnZlclJlbmRlcmluZygpO1xuICBpZiAodHlwZW9mIHVzZXJEZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uZ2V0ID0gc2hvdWxkQ2FjaGVcbiAgICAgID8gY3JlYXRlQ29tcHV0ZWRHZXR0ZXIoa2V5KVxuICAgICAgOiBjcmVhdGVHZXR0ZXJJbnZva2VyKHVzZXJEZWYpO1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSBub29wO1xuICB9IGVsc2Uge1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSB1c2VyRGVmLmdldFxuICAgICAgPyBzaG91bGRDYWNoZSAmJiB1c2VyRGVmLmNhY2hlICE9PSBmYWxzZVxuICAgICAgICA/IGNyZWF0ZUNvbXB1dGVkR2V0dGVyKGtleSlcbiAgICAgICAgOiBjcmVhdGVHZXR0ZXJJbnZva2VyKHVzZXJEZWYuZ2V0KVxuICAgICAgOiBub29wO1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSB1c2VyRGVmLnNldCB8fCBub29wO1xuICB9XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID09PSBub29wKSB7XG4gICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIChcIkNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiB3YXMgYXNzaWduZWQgdG8gYnV0IGl0IGhhcyBubyBzZXR0ZXIuXCIpLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDb21wdXRlZEdldHRlciAoa2V5KSB7XG4gIHJldHVybiBmdW5jdGlvbiBjb21wdXRlZEdldHRlciAoKSB7XG4gICAgdmFyIHdhdGNoZXIgPSB0aGlzLl9jb21wdXRlZFdhdGNoZXJzICYmIHRoaXMuX2NvbXB1dGVkV2F0Y2hlcnNba2V5XTtcbiAgICBpZiAod2F0Y2hlcikge1xuICAgICAgaWYgKHdhdGNoZXIuZGlydHkpIHtcbiAgICAgICAgd2F0Y2hlci5ldmFsdWF0ZSgpO1xuICAgICAgfVxuICAgICAgaWYgKERlcC50YXJnZXQpIHtcbiAgICAgICAgd2F0Y2hlci5kZXBlbmQoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3YXRjaGVyLnZhbHVlXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUdldHRlckludm9rZXIoZm4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGNvbXB1dGVkR2V0dGVyICgpIHtcbiAgICByZXR1cm4gZm4uY2FsbCh0aGlzLCB0aGlzKVxuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRNZXRob2RzICh2bSwgbWV0aG9kcykge1xuICB2YXIgcHJvcHMgPSB2bS4kb3B0aW9ucy5wcm9wcztcbiAgZm9yICh2YXIga2V5IGluIG1ldGhvZHMpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKHR5cGVvZiBtZXRob2RzW2tleV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICBcIk1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaGFzIHR5cGUgXFxcIlwiICsgKHR5cGVvZiBtZXRob2RzW2tleV0pICsgXCJcXFwiIGluIHRoZSBjb21wb25lbnQgZGVmaW5pdGlvbi4gXCIgK1xuICAgICAgICAgIFwiRGlkIHlvdSByZWZlcmVuY2UgdGhlIGZ1bmN0aW9uIGNvcnJlY3RseT9cIixcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzICYmIGhhc093bihwcm9wcywga2V5KSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIChcIk1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGFzIGEgcHJvcC5cIiksXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICgoa2V5IGluIHZtKSAmJiBpc1Jlc2VydmVkKGtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICBcIk1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgY29uZmxpY3RzIHdpdGggYW4gZXhpc3RpbmcgVnVlIGluc3RhbmNlIG1ldGhvZC4gXCIgK1xuICAgICAgICAgIFwiQXZvaWQgZGVmaW5pbmcgY29tcG9uZW50IG1ldGhvZHMgdGhhdCBzdGFydCB3aXRoIF8gb3IgJC5cIlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB2bVtrZXldID0gdHlwZW9mIG1ldGhvZHNba2V5XSAhPT0gJ2Z1bmN0aW9uJyA/IG5vb3AgOiBiaW5kKG1ldGhvZHNba2V5XSwgdm0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRXYXRjaCAodm0sIHdhdGNoKSB7XG4gIGZvciAodmFyIGtleSBpbiB3YXRjaCkge1xuICAgIHZhciBoYW5kbGVyID0gd2F0Y2hba2V5XTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShoYW5kbGVyKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoYW5kbGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNyZWF0ZVdhdGNoZXIodm0sIGtleSwgaGFuZGxlcltpXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNyZWF0ZVdhdGNoZXIodm0sIGtleSwgaGFuZGxlcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVdhdGNoZXIgKFxuICB2bSxcbiAgZXhwT3JGbixcbiAgaGFuZGxlcixcbiAgb3B0aW9uc1xuKSB7XG4gIGlmIChpc1BsYWluT2JqZWN0KGhhbmRsZXIpKSB7XG4gICAgb3B0aW9ucyA9IGhhbmRsZXI7XG4gICAgaGFuZGxlciA9IGhhbmRsZXIuaGFuZGxlcjtcbiAgfVxuICBpZiAodHlwZW9mIGhhbmRsZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgaGFuZGxlciA9IHZtW2hhbmRsZXJdO1xuICB9XG4gIHJldHVybiB2bS4kd2F0Y2goZXhwT3JGbiwgaGFuZGxlciwgb3B0aW9ucylcbn1cblxuZnVuY3Rpb24gc3RhdGVNaXhpbiAoVnVlKSB7XG4gIC8vIGZsb3cgc29tZWhvdyBoYXMgcHJvYmxlbXMgd2l0aCBkaXJlY3RseSBkZWNsYXJlZCBkZWZpbml0aW9uIG9iamVjdFxuICAvLyB3aGVuIHVzaW5nIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSwgc28gd2UgaGF2ZSB0byBwcm9jZWR1cmFsbHkgYnVpbGQgdXBcbiAgLy8gdGhlIG9iamVjdCBoZXJlLlxuICB2YXIgZGF0YURlZiA9IHt9O1xuICBkYXRhRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX2RhdGEgfTtcbiAgdmFyIHByb3BzRGVmID0ge307XG4gIHByb3BzRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX3Byb3BzIH07XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgZGF0YURlZi5zZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnQXZvaWQgcmVwbGFjaW5nIGluc3RhbmNlIHJvb3QgJGRhdGEuICcgK1xuICAgICAgICAnVXNlIG5lc3RlZCBkYXRhIHByb3BlcnRpZXMgaW5zdGVhZC4nLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH07XG4gICAgcHJvcHNEZWYuc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgd2FybihcIiRwcm9wcyBpcyByZWFkb25seS5cIiwgdGhpcyk7XG4gICAgfTtcbiAgfVxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLnByb3RvdHlwZSwgJyRkYXRhJywgZGF0YURlZik7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJHByb3BzJywgcHJvcHNEZWYpO1xuXG4gIFZ1ZS5wcm90b3R5cGUuJHNldCA9IHNldDtcbiAgVnVlLnByb3RvdHlwZS4kZGVsZXRlID0gZGVsO1xuXG4gIFZ1ZS5wcm90b3R5cGUuJHdhdGNoID0gZnVuY3Rpb24gKFxuICAgIGV4cE9yRm4sXG4gICAgY2IsXG4gICAgb3B0aW9uc1xuICApIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmIChpc1BsYWluT2JqZWN0KGNiKSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZVdhdGNoZXIodm0sIGV4cE9yRm4sIGNiLCBvcHRpb25zKVxuICAgIH1cbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBvcHRpb25zLnVzZXIgPSB0cnVlO1xuICAgIHZhciB3YXRjaGVyID0gbmV3IFdhdGNoZXIodm0sIGV4cE9yRm4sIGNiLCBvcHRpb25zKTtcbiAgICBpZiAob3B0aW9ucy5pbW1lZGlhdGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNiLmNhbGwodm0sIHdhdGNoZXIudmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIHZtLCAoXCJjYWxsYmFjayBmb3IgaW1tZWRpYXRlIHdhdGNoZXIgXFxcIlwiICsgKHdhdGNoZXIuZXhwcmVzc2lvbikgKyBcIlxcXCJcIikpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gdW53YXRjaEZuICgpIHtcbiAgICAgIHdhdGNoZXIudGVhcmRvd24oKTtcbiAgICB9XG4gIH07XG59XG5cbi8qICAqL1xuXG52YXIgdWlkJDMgPSAwO1xuXG5mdW5jdGlvbiBpbml0TWl4aW4gKFZ1ZSkge1xuICBWdWUucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIC8vIGEgdWlkXG4gICAgdm0uX3VpZCA9IHVpZCQzKys7XG5cbiAgICB2YXIgc3RhcnRUYWcsIGVuZFRhZztcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb25maWcucGVyZm9ybWFuY2UgJiYgbWFyaykge1xuICAgICAgc3RhcnRUYWcgPSBcInZ1ZS1wZXJmLXN0YXJ0OlwiICsgKHZtLl91aWQpO1xuICAgICAgZW5kVGFnID0gXCJ2dWUtcGVyZi1lbmQ6XCIgKyAodm0uX3VpZCk7XG4gICAgICBtYXJrKHN0YXJ0VGFnKTtcbiAgICB9XG5cbiAgICAvLyBhIGZsYWcgdG8gYXZvaWQgdGhpcyBiZWluZyBvYnNlcnZlZFxuICAgIHZtLl9pc1Z1ZSA9IHRydWU7XG4gICAgLy8gbWVyZ2Ugb3B0aW9uc1xuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuX2lzQ29tcG9uZW50KSB7XG4gICAgICAvLyBvcHRpbWl6ZSBpbnRlcm5hbCBjb21wb25lbnQgaW5zdGFudGlhdGlvblxuICAgICAgLy8gc2luY2UgZHluYW1pYyBvcHRpb25zIG1lcmdpbmcgaXMgcHJldHR5IHNsb3csIGFuZCBub25lIG9mIHRoZVxuICAgICAgLy8gaW50ZXJuYWwgY29tcG9uZW50IG9wdGlvbnMgbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQuXG4gICAgICBpbml0SW50ZXJuYWxDb21wb25lbnQodm0sIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bS4kb3B0aW9ucyA9IG1lcmdlT3B0aW9ucyhcbiAgICAgICAgcmVzb2x2ZUNvbnN0cnVjdG9yT3B0aW9ucyh2bS5jb25zdHJ1Y3RvciksXG4gICAgICAgIG9wdGlvbnMgfHwge30sXG4gICAgICAgIHZtXG4gICAgICApO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpbml0UHJveHkodm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bS5fcmVuZGVyUHJveHkgPSB2bTtcbiAgICB9XG4gICAgLy8gZXhwb3NlIHJlYWwgc2VsZlxuICAgIHZtLl9zZWxmID0gdm07XG4gICAgaW5pdExpZmVjeWNsZSh2bSk7XG4gICAgaW5pdEV2ZW50cyh2bSk7XG4gICAgaW5pdFJlbmRlcih2bSk7XG4gICAgY2FsbEhvb2sodm0sICdiZWZvcmVDcmVhdGUnKTtcbiAgICBpbml0SW5qZWN0aW9ucyh2bSk7IC8vIHJlc29sdmUgaW5qZWN0aW9ucyBiZWZvcmUgZGF0YS9wcm9wc1xuICAgIGluaXRTdGF0ZSh2bSk7XG4gICAgaW5pdFByb3ZpZGUodm0pOyAvLyByZXNvbHZlIHByb3ZpZGUgYWZ0ZXIgZGF0YS9wcm9wc1xuICAgIGNhbGxIb29rKHZtLCAnY3JlYXRlZCcpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAgIHZtLl9uYW1lID0gZm9ybWF0Q29tcG9uZW50TmFtZSh2bSwgZmFsc2UpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3VyZSgoXCJ2dWUgXCIgKyAodm0uX25hbWUpICsgXCIgaW5pdFwiKSwgc3RhcnRUYWcsIGVuZFRhZyk7XG4gICAgfVxuXG4gICAgaWYgKHZtLiRvcHRpb25zLmVsKSB7XG4gICAgICB2bS4kbW91bnQodm0uJG9wdGlvbnMuZWwpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gaW5pdEludGVybmFsQ29tcG9uZW50ICh2bSwgb3B0aW9ucykge1xuICB2YXIgb3B0cyA9IHZtLiRvcHRpb25zID0gT2JqZWN0LmNyZWF0ZSh2bS5jb25zdHJ1Y3Rvci5vcHRpb25zKTtcbiAgLy8gZG9pbmcgdGhpcyBiZWNhdXNlIGl0J3MgZmFzdGVyIHRoYW4gZHluYW1pYyBlbnVtZXJhdGlvbi5cbiAgdmFyIHBhcmVudFZub2RlID0gb3B0aW9ucy5fcGFyZW50Vm5vZGU7XG4gIG9wdHMucGFyZW50ID0gb3B0aW9ucy5wYXJlbnQ7XG4gIG9wdHMuX3BhcmVudFZub2RlID0gcGFyZW50Vm5vZGU7XG5cbiAgdmFyIHZub2RlQ29tcG9uZW50T3B0aW9ucyA9IHBhcmVudFZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gIG9wdHMucHJvcHNEYXRhID0gdm5vZGVDb21wb25lbnRPcHRpb25zLnByb3BzRGF0YTtcbiAgb3B0cy5fcGFyZW50TGlzdGVuZXJzID0gdm5vZGVDb21wb25lbnRPcHRpb25zLmxpc3RlbmVycztcbiAgb3B0cy5fcmVuZGVyQ2hpbGRyZW4gPSB2bm9kZUNvbXBvbmVudE9wdGlvbnMuY2hpbGRyZW47XG4gIG9wdHMuX2NvbXBvbmVudFRhZyA9IHZub2RlQ29tcG9uZW50T3B0aW9ucy50YWc7XG5cbiAgaWYgKG9wdGlvbnMucmVuZGVyKSB7XG4gICAgb3B0cy5yZW5kZXIgPSBvcHRpb25zLnJlbmRlcjtcbiAgICBvcHRzLnN0YXRpY1JlbmRlckZucyA9IG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMgKEN0b3IpIHtcbiAgdmFyIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnM7XG4gIGlmIChDdG9yLnN1cGVyKSB7XG4gICAgdmFyIHN1cGVyT3B0aW9ucyA9IHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMoQ3Rvci5zdXBlcik7XG4gICAgdmFyIGNhY2hlZFN1cGVyT3B0aW9ucyA9IEN0b3Iuc3VwZXJPcHRpb25zO1xuICAgIGlmIChzdXBlck9wdGlvbnMgIT09IGNhY2hlZFN1cGVyT3B0aW9ucykge1xuICAgICAgLy8gc3VwZXIgb3B0aW9uIGNoYW5nZWQsXG4gICAgICAvLyBuZWVkIHRvIHJlc29sdmUgbmV3IG9wdGlvbnMuXG4gICAgICBDdG9yLnN1cGVyT3B0aW9ucyA9IHN1cGVyT3B0aW9ucztcbiAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgbGF0ZS1tb2RpZmllZC9hdHRhY2hlZCBvcHRpb25zICgjNDk3NilcbiAgICAgIHZhciBtb2RpZmllZE9wdGlvbnMgPSByZXNvbHZlTW9kaWZpZWRPcHRpb25zKEN0b3IpO1xuICAgICAgLy8gdXBkYXRlIGJhc2UgZXh0ZW5kIG9wdGlvbnNcbiAgICAgIGlmIChtb2RpZmllZE9wdGlvbnMpIHtcbiAgICAgICAgZXh0ZW5kKEN0b3IuZXh0ZW5kT3B0aW9ucywgbW9kaWZpZWRPcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnMgPSBtZXJnZU9wdGlvbnMoc3VwZXJPcHRpb25zLCBDdG9yLmV4dGVuZE9wdGlvbnMpO1xuICAgICAgaWYgKG9wdGlvbnMubmFtZSkge1xuICAgICAgICBvcHRpb25zLmNvbXBvbmVudHNbb3B0aW9ucy5uYW1lXSA9IEN0b3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBvcHRpb25zXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVNb2RpZmllZE9wdGlvbnMgKEN0b3IpIHtcbiAgdmFyIG1vZGlmaWVkO1xuICB2YXIgbGF0ZXN0ID0gQ3Rvci5vcHRpb25zO1xuICB2YXIgc2VhbGVkID0gQ3Rvci5zZWFsZWRPcHRpb25zO1xuICBmb3IgKHZhciBrZXkgaW4gbGF0ZXN0KSB7XG4gICAgaWYgKGxhdGVzdFtrZXldICE9PSBzZWFsZWRba2V5XSkge1xuICAgICAgaWYgKCFtb2RpZmllZCkgeyBtb2RpZmllZCA9IHt9OyB9XG4gICAgICBtb2RpZmllZFtrZXldID0gbGF0ZXN0W2tleV07XG4gICAgfVxuICB9XG4gIHJldHVybiBtb2RpZmllZFxufVxuXG5mdW5jdGlvbiBWdWUgKG9wdGlvbnMpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAhKHRoaXMgaW5zdGFuY2VvZiBWdWUpXG4gICkge1xuICAgIHdhcm4oJ1Z1ZSBpcyBhIGNvbnN0cnVjdG9yIGFuZCBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhlIGBuZXdgIGtleXdvcmQnKTtcbiAgfVxuICB0aGlzLl9pbml0KG9wdGlvbnMpO1xufVxuXG5pbml0TWl4aW4oVnVlKTtcbnN0YXRlTWl4aW4oVnVlKTtcbmV2ZW50c01peGluKFZ1ZSk7XG5saWZlY3ljbGVNaXhpbihWdWUpO1xucmVuZGVyTWl4aW4oVnVlKTtcblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRVc2UgKFZ1ZSkge1xuICBWdWUudXNlID0gZnVuY3Rpb24gKHBsdWdpbikge1xuICAgIHZhciBpbnN0YWxsZWRQbHVnaW5zID0gKHRoaXMuX2luc3RhbGxlZFBsdWdpbnMgfHwgKHRoaXMuX2luc3RhbGxlZFBsdWdpbnMgPSBbXSkpO1xuICAgIGlmIChpbnN0YWxsZWRQbHVnaW5zLmluZGV4T2YocGx1Z2luKSA+IC0xKSB7XG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIC8vIGFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgIHZhciBhcmdzID0gdG9BcnJheShhcmd1bWVudHMsIDEpO1xuICAgIGFyZ3MudW5zaGlmdCh0aGlzKTtcbiAgICBpZiAodHlwZW9mIHBsdWdpbi5pbnN0YWxsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwbHVnaW4uaW5zdGFsbC5hcHBseShwbHVnaW4sIGFyZ3MpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHBsdWdpbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGx1Z2luLmFwcGx5KG51bGwsIGFyZ3MpO1xuICAgIH1cbiAgICBpbnN0YWxsZWRQbHVnaW5zLnB1c2gocGx1Z2luKTtcbiAgICByZXR1cm4gdGhpc1xuICB9O1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdE1peGluJDEgKFZ1ZSkge1xuICBWdWUubWl4aW4gPSBmdW5jdGlvbiAobWl4aW4pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBtZXJnZU9wdGlvbnModGhpcy5vcHRpb25zLCBtaXhpbik7XG4gICAgcmV0dXJuIHRoaXNcbiAgfTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRFeHRlbmQgKFZ1ZSkge1xuICAvKipcbiAgICogRWFjaCBpbnN0YW5jZSBjb25zdHJ1Y3RvciwgaW5jbHVkaW5nIFZ1ZSwgaGFzIGEgdW5pcXVlXG4gICAqIGNpZC4gVGhpcyBlbmFibGVzIHVzIHRvIGNyZWF0ZSB3cmFwcGVkIFwiY2hpbGRcbiAgICogY29uc3RydWN0b3JzXCIgZm9yIHByb3RvdHlwYWwgaW5oZXJpdGFuY2UgYW5kIGNhY2hlIHRoZW0uXG4gICAqL1xuICBWdWUuY2lkID0gMDtcbiAgdmFyIGNpZCA9IDE7XG5cbiAgLyoqXG4gICAqIENsYXNzIGluaGVyaXRhbmNlXG4gICAqL1xuICBWdWUuZXh0ZW5kID0gZnVuY3Rpb24gKGV4dGVuZE9wdGlvbnMpIHtcbiAgICBleHRlbmRPcHRpb25zID0gZXh0ZW5kT3B0aW9ucyB8fCB7fTtcbiAgICB2YXIgU3VwZXIgPSB0aGlzO1xuICAgIHZhciBTdXBlcklkID0gU3VwZXIuY2lkO1xuICAgIHZhciBjYWNoZWRDdG9ycyA9IGV4dGVuZE9wdGlvbnMuX0N0b3IgfHwgKGV4dGVuZE9wdGlvbnMuX0N0b3IgPSB7fSk7XG4gICAgaWYgKGNhY2hlZEN0b3JzW1N1cGVySWRdKSB7XG4gICAgICByZXR1cm4gY2FjaGVkQ3RvcnNbU3VwZXJJZF1cbiAgICB9XG5cbiAgICB2YXIgbmFtZSA9IGV4dGVuZE9wdGlvbnMubmFtZSB8fCBTdXBlci5vcHRpb25zLm5hbWU7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgbmFtZSkge1xuICAgICAgdmFsaWRhdGVDb21wb25lbnROYW1lKG5hbWUpO1xuICAgIH1cblxuICAgIHZhciBTdWIgPSBmdW5jdGlvbiBWdWVDb21wb25lbnQgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuX2luaXQob3B0aW9ucyk7XG4gICAgfTtcbiAgICBTdWIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTdXBlci5wcm90b3R5cGUpO1xuICAgIFN1Yi5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBTdWI7XG4gICAgU3ViLmNpZCA9IGNpZCsrO1xuICAgIFN1Yi5vcHRpb25zID0gbWVyZ2VPcHRpb25zKFxuICAgICAgU3VwZXIub3B0aW9ucyxcbiAgICAgIGV4dGVuZE9wdGlvbnNcbiAgICApO1xuICAgIFN1Ylsnc3VwZXInXSA9IFN1cGVyO1xuXG4gICAgLy8gRm9yIHByb3BzIGFuZCBjb21wdXRlZCBwcm9wZXJ0aWVzLCB3ZSBkZWZpbmUgdGhlIHByb3h5IGdldHRlcnMgb25cbiAgICAvLyB0aGUgVnVlIGluc3RhbmNlcyBhdCBleHRlbnNpb24gdGltZSwgb24gdGhlIGV4dGVuZGVkIHByb3RvdHlwZS4gVGhpc1xuICAgIC8vIGF2b2lkcyBPYmplY3QuZGVmaW5lUHJvcGVydHkgY2FsbHMgZm9yIGVhY2ggaW5zdGFuY2UgY3JlYXRlZC5cbiAgICBpZiAoU3ViLm9wdGlvbnMucHJvcHMpIHtcbiAgICAgIGluaXRQcm9wcyQxKFN1Yik7XG4gICAgfVxuICAgIGlmIChTdWIub3B0aW9ucy5jb21wdXRlZCkge1xuICAgICAgaW5pdENvbXB1dGVkJDEoU3ViKTtcbiAgICB9XG5cbiAgICAvLyBhbGxvdyBmdXJ0aGVyIGV4dGVuc2lvbi9taXhpbi9wbHVnaW4gdXNhZ2VcbiAgICBTdWIuZXh0ZW5kID0gU3VwZXIuZXh0ZW5kO1xuICAgIFN1Yi5taXhpbiA9IFN1cGVyLm1peGluO1xuICAgIFN1Yi51c2UgPSBTdXBlci51c2U7XG5cbiAgICAvLyBjcmVhdGUgYXNzZXQgcmVnaXN0ZXJzLCBzbyBleHRlbmRlZCBjbGFzc2VzXG4gICAgLy8gY2FuIGhhdmUgdGhlaXIgcHJpdmF0ZSBhc3NldHMgdG9vLlxuICAgIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgIFN1Ylt0eXBlXSA9IFN1cGVyW3R5cGVdO1xuICAgIH0pO1xuICAgIC8vIGVuYWJsZSByZWN1cnNpdmUgc2VsZi1sb29rdXBcbiAgICBpZiAobmFtZSkge1xuICAgICAgU3ViLm9wdGlvbnMuY29tcG9uZW50c1tuYW1lXSA9IFN1YjtcbiAgICB9XG5cbiAgICAvLyBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBzdXBlciBvcHRpb25zIGF0IGV4dGVuc2lvbiB0aW1lLlxuICAgIC8vIGxhdGVyIGF0IGluc3RhbnRpYXRpb24gd2UgY2FuIGNoZWNrIGlmIFN1cGVyJ3Mgb3B0aW9ucyBoYXZlXG4gICAgLy8gYmVlbiB1cGRhdGVkLlxuICAgIFN1Yi5zdXBlck9wdGlvbnMgPSBTdXBlci5vcHRpb25zO1xuICAgIFN1Yi5leHRlbmRPcHRpb25zID0gZXh0ZW5kT3B0aW9ucztcbiAgICBTdWIuc2VhbGVkT3B0aW9ucyA9IGV4dGVuZCh7fSwgU3ViLm9wdGlvbnMpO1xuXG4gICAgLy8gY2FjaGUgY29uc3RydWN0b3JcbiAgICBjYWNoZWRDdG9yc1tTdXBlcklkXSA9IFN1YjtcbiAgICByZXR1cm4gU3ViXG4gIH07XG59XG5cbmZ1bmN0aW9uIGluaXRQcm9wcyQxIChDb21wKSB7XG4gIHZhciBwcm9wcyA9IENvbXAub3B0aW9ucy5wcm9wcztcbiAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgcHJveHkoQ29tcC5wcm90b3R5cGUsIFwiX3Byb3BzXCIsIGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdENvbXB1dGVkJDEgKENvbXApIHtcbiAgdmFyIGNvbXB1dGVkID0gQ29tcC5vcHRpb25zLmNvbXB1dGVkO1xuICBmb3IgKHZhciBrZXkgaW4gY29tcHV0ZWQpIHtcbiAgICBkZWZpbmVDb21wdXRlZChDb21wLnByb3RvdHlwZSwga2V5LCBjb21wdXRlZFtrZXldKTtcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdEFzc2V0UmVnaXN0ZXJzIChWdWUpIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhc3NldCByZWdpc3RyYXRpb24gbWV0aG9kcy5cbiAgICovXG4gIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICBWdWVbdHlwZV0gPSBmdW5jdGlvbiAoXG4gICAgICBpZCxcbiAgICAgIGRlZmluaXRpb25cbiAgICApIHtcbiAgICAgIGlmICghZGVmaW5pdGlvbikge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zW3R5cGUgKyAncyddW2lkXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGUgPT09ICdjb21wb25lbnQnKSB7XG4gICAgICAgICAgdmFsaWRhdGVDb21wb25lbnROYW1lKGlkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ2NvbXBvbmVudCcgJiYgaXNQbGFpbk9iamVjdChkZWZpbml0aW9uKSkge1xuICAgICAgICAgIGRlZmluaXRpb24ubmFtZSA9IGRlZmluaXRpb24ubmFtZSB8fCBpZDtcbiAgICAgICAgICBkZWZpbml0aW9uID0gdGhpcy5vcHRpb25zLl9iYXNlLmV4dGVuZChkZWZpbml0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ2RpcmVjdGl2ZScgJiYgdHlwZW9mIGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBkZWZpbml0aW9uID0geyBiaW5kOiBkZWZpbml0aW9uLCB1cGRhdGU6IGRlZmluaXRpb24gfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wdGlvbnNbdHlwZSArICdzJ11baWRdID0gZGVmaW5pdGlvbjtcbiAgICAgICAgcmV0dXJuIGRlZmluaXRpb25cbiAgICAgIH1cbiAgICB9O1xuICB9KTtcbn1cblxuLyogICovXG5cblxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lIChvcHRzKSB7XG4gIHJldHVybiBvcHRzICYmIChvcHRzLkN0b3Iub3B0aW9ucy5uYW1lIHx8IG9wdHMudGFnKVxufVxuXG5mdW5jdGlvbiBtYXRjaGVzIChwYXR0ZXJuLCBuYW1lKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHBhdHRlcm4pKSB7XG4gICAgcmV0dXJuIHBhdHRlcm4uaW5kZXhPZihuYW1lKSA+IC0xXG4gIH0gZWxzZSBpZiAodHlwZW9mIHBhdHRlcm4gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhdHRlcm4uc3BsaXQoJywnKS5pbmRleE9mKG5hbWUpID4gLTFcbiAgfSBlbHNlIGlmIChpc1JlZ0V4cChwYXR0ZXJuKSkge1xuICAgIHJldHVybiBwYXR0ZXJuLnRlc3QobmFtZSlcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcHJ1bmVDYWNoZSAoa2VlcEFsaXZlSW5zdGFuY2UsIGZpbHRlcikge1xuICB2YXIgY2FjaGUgPSBrZWVwQWxpdmVJbnN0YW5jZS5jYWNoZTtcbiAgdmFyIGtleXMgPSBrZWVwQWxpdmVJbnN0YW5jZS5rZXlzO1xuICB2YXIgX3Zub2RlID0ga2VlcEFsaXZlSW5zdGFuY2UuX3Zub2RlO1xuICBmb3IgKHZhciBrZXkgaW4gY2FjaGUpIHtcbiAgICB2YXIgY2FjaGVkTm9kZSA9IGNhY2hlW2tleV07XG4gICAgaWYgKGNhY2hlZE5vZGUpIHtcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjYWNoZWROb2RlLmNvbXBvbmVudE9wdGlvbnMpO1xuICAgICAgaWYgKG5hbWUgJiYgIWZpbHRlcihuYW1lKSkge1xuICAgICAgICBwcnVuZUNhY2hlRW50cnkoY2FjaGUsIGtleSwga2V5cywgX3Zub2RlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJ1bmVDYWNoZUVudHJ5IChcbiAgY2FjaGUsXG4gIGtleSxcbiAga2V5cyxcbiAgY3VycmVudFxuKSB7XG4gIHZhciBjYWNoZWQkJDEgPSBjYWNoZVtrZXldO1xuICBpZiAoY2FjaGVkJCQxICYmICghY3VycmVudCB8fCBjYWNoZWQkJDEudGFnICE9PSBjdXJyZW50LnRhZykpIHtcbiAgICBjYWNoZWQkJDEuY29tcG9uZW50SW5zdGFuY2UuJGRlc3Ryb3koKTtcbiAgfVxuICBjYWNoZVtrZXldID0gbnVsbDtcbiAgcmVtb3ZlKGtleXMsIGtleSk7XG59XG5cbnZhciBwYXR0ZXJuVHlwZXMgPSBbU3RyaW5nLCBSZWdFeHAsIEFycmF5XTtcblxudmFyIEtlZXBBbGl2ZSA9IHtcbiAgbmFtZTogJ2tlZXAtYWxpdmUnLFxuICBhYnN0cmFjdDogdHJ1ZSxcblxuICBwcm9wczoge1xuICAgIGluY2x1ZGU6IHBhdHRlcm5UeXBlcyxcbiAgICBleGNsdWRlOiBwYXR0ZXJuVHlwZXMsXG4gICAgbWF4OiBbU3RyaW5nLCBOdW1iZXJdXG4gIH0sXG5cbiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCAoKSB7XG4gICAgdGhpcy5jYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdGhpcy5rZXlzID0gW107XG4gIH0sXG5cbiAgZGVzdHJveWVkOiBmdW5jdGlvbiBkZXN0cm95ZWQgKCkge1xuICAgIGZvciAodmFyIGtleSBpbiB0aGlzLmNhY2hlKSB7XG4gICAgICBwcnVuZUNhY2hlRW50cnkodGhpcy5jYWNoZSwga2V5LCB0aGlzLmtleXMpO1xuICAgIH1cbiAgfSxcblxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkICgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHRoaXMuJHdhdGNoKCdpbmNsdWRlJywgZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcHJ1bmVDYWNoZSh0aGlzJDEsIGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBtYXRjaGVzKHZhbCwgbmFtZSk7IH0pO1xuICAgIH0pO1xuICAgIHRoaXMuJHdhdGNoKCdleGNsdWRlJywgZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcHJ1bmVDYWNoZSh0aGlzJDEsIGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiAhbWF0Y2hlcyh2YWwsIG5hbWUpOyB9KTtcbiAgICB9KTtcbiAgfSxcblxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlciAoKSB7XG4gICAgdmFyIHNsb3QgPSB0aGlzLiRzbG90cy5kZWZhdWx0O1xuICAgIHZhciB2bm9kZSA9IGdldEZpcnN0Q29tcG9uZW50Q2hpbGQoc2xvdCk7XG4gICAgdmFyIGNvbXBvbmVudE9wdGlvbnMgPSB2bm9kZSAmJiB2bm9kZS5jb21wb25lbnRPcHRpb25zO1xuICAgIGlmIChjb21wb25lbnRPcHRpb25zKSB7XG4gICAgICAvLyBjaGVjayBwYXR0ZXJuXG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoY29tcG9uZW50T3B0aW9ucyk7XG4gICAgICB2YXIgcmVmID0gdGhpcztcbiAgICAgIHZhciBpbmNsdWRlID0gcmVmLmluY2x1ZGU7XG4gICAgICB2YXIgZXhjbHVkZSA9IHJlZi5leGNsdWRlO1xuICAgICAgaWYgKFxuICAgICAgICAvLyBub3QgaW5jbHVkZWRcbiAgICAgICAgKGluY2x1ZGUgJiYgKCFuYW1lIHx8ICFtYXRjaGVzKGluY2x1ZGUsIG5hbWUpKSkgfHxcbiAgICAgICAgLy8gZXhjbHVkZWRcbiAgICAgICAgKGV4Y2x1ZGUgJiYgbmFtZSAmJiBtYXRjaGVzKGV4Y2x1ZGUsIG5hbWUpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB2bm9kZVxuICAgICAgfVxuXG4gICAgICB2YXIgcmVmJDEgPSB0aGlzO1xuICAgICAgdmFyIGNhY2hlID0gcmVmJDEuY2FjaGU7XG4gICAgICB2YXIga2V5cyA9IHJlZiQxLmtleXM7XG4gICAgICB2YXIga2V5ID0gdm5vZGUua2V5ID09IG51bGxcbiAgICAgICAgLy8gc2FtZSBjb25zdHJ1Y3RvciBtYXkgZ2V0IHJlZ2lzdGVyZWQgYXMgZGlmZmVyZW50IGxvY2FsIGNvbXBvbmVudHNcbiAgICAgICAgLy8gc28gY2lkIGFsb25lIGlzIG5vdCBlbm91Z2ggKCMzMjY5KVxuICAgICAgICA/IGNvbXBvbmVudE9wdGlvbnMuQ3Rvci5jaWQgKyAoY29tcG9uZW50T3B0aW9ucy50YWcgPyAoXCI6OlwiICsgKGNvbXBvbmVudE9wdGlvbnMudGFnKSkgOiAnJylcbiAgICAgICAgOiB2bm9kZS5rZXk7XG4gICAgICBpZiAoY2FjaGVba2V5XSkge1xuICAgICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IGNhY2hlW2tleV0uY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICAgIC8vIG1ha2UgY3VycmVudCBrZXkgZnJlc2hlc3RcbiAgICAgICAgcmVtb3ZlKGtleXMsIGtleSk7XG4gICAgICAgIGtleXMucHVzaChrZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FjaGVba2V5XSA9IHZub2RlO1xuICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgLy8gcHJ1bmUgb2xkZXN0IGVudHJ5XG4gICAgICAgIGlmICh0aGlzLm1heCAmJiBrZXlzLmxlbmd0aCA+IHBhcnNlSW50KHRoaXMubWF4KSkge1xuICAgICAgICAgIHBydW5lQ2FjaGVFbnRyeShjYWNoZSwga2V5c1swXSwga2V5cywgdGhpcy5fdm5vZGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZub2RlLmRhdGEua2VlcEFsaXZlID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHZub2RlIHx8IChzbG90ICYmIHNsb3RbMF0pXG4gIH1cbn07XG5cbnZhciBidWlsdEluQ29tcG9uZW50cyA9IHtcbiAgS2VlcEFsaXZlOiBLZWVwQWxpdmVcbn07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0R2xvYmFsQVBJIChWdWUpIHtcbiAgLy8gY29uZmlnXG4gIHZhciBjb25maWdEZWYgPSB7fTtcbiAgY29uZmlnRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbmZpZzsgfTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjb25maWdEZWYuc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgd2FybihcbiAgICAgICAgJ0RvIG5vdCByZXBsYWNlIHRoZSBWdWUuY29uZmlnIG9iamVjdCwgc2V0IGluZGl2aWR1YWwgZmllbGRzIGluc3RlYWQuJ1xuICAgICAgKTtcbiAgICB9O1xuICB9XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUsICdjb25maWcnLCBjb25maWdEZWYpO1xuXG4gIC8vIGV4cG9zZWQgdXRpbCBtZXRob2RzLlxuICAvLyBOT1RFOiB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgcHVibGljIEFQSSAtIGF2b2lkIHJlbHlpbmcgb25cbiAgLy8gdGhlbSB1bmxlc3MgeW91IGFyZSBhd2FyZSBvZiB0aGUgcmlzay5cbiAgVnVlLnV0aWwgPSB7XG4gICAgd2Fybjogd2FybixcbiAgICBleHRlbmQ6IGV4dGVuZCxcbiAgICBtZXJnZU9wdGlvbnM6IG1lcmdlT3B0aW9ucyxcbiAgICBkZWZpbmVSZWFjdGl2ZTogZGVmaW5lUmVhY3RpdmUkJDFcbiAgfTtcblxuICBWdWUuc2V0ID0gc2V0O1xuICBWdWUuZGVsZXRlID0gZGVsO1xuICBWdWUubmV4dFRpY2sgPSBuZXh0VGljaztcblxuICAvLyAyLjYgZXhwbGljaXQgb2JzZXJ2YWJsZSBBUElcbiAgVnVlLm9ic2VydmFibGUgPSBmdW5jdGlvbiAob2JqKSB7XG4gICAgb2JzZXJ2ZShvYmopO1xuICAgIHJldHVybiBvYmpcbiAgfTtcblxuICBWdWUub3B0aW9ucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICBWdWUub3B0aW9uc1t0eXBlICsgJ3MnXSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIH0pO1xuXG4gIC8vIHRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgXCJiYXNlXCIgY29uc3RydWN0b3IgdG8gZXh0ZW5kIGFsbCBwbGFpbi1vYmplY3RcbiAgLy8gY29tcG9uZW50cyB3aXRoIGluIFdlZXgncyBtdWx0aS1pbnN0YW5jZSBzY2VuYXJpb3MuXG4gIFZ1ZS5vcHRpb25zLl9iYXNlID0gVnVlO1xuXG4gIGV4dGVuZChWdWUub3B0aW9ucy5jb21wb25lbnRzLCBidWlsdEluQ29tcG9uZW50cyk7XG5cbiAgaW5pdFVzZShWdWUpO1xuICBpbml0TWl4aW4kMShWdWUpO1xuICBpbml0RXh0ZW5kKFZ1ZSk7XG4gIGluaXRBc3NldFJlZ2lzdGVycyhWdWUpO1xufVxuXG5pbml0R2xvYmFsQVBJKFZ1ZSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJGlzU2VydmVyJywge1xuICBnZXQ6IGlzU2VydmVyUmVuZGVyaW5nXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICckc3NyQ29udGV4dCcsIHtcbiAgZ2V0OiBmdW5jdGlvbiBnZXQgKCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHRcbiAgfVxufSk7XG5cbi8vIGV4cG9zZSBGdW5jdGlvbmFsUmVuZGVyQ29udGV4dCBmb3Igc3NyIHJ1bnRpbWUgaGVscGVyIGluc3RhbGxhdGlvblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSwgJ0Z1bmN0aW9uYWxSZW5kZXJDb250ZXh0Jywge1xuICB2YWx1ZTogRnVuY3Rpb25hbFJlbmRlckNvbnRleHRcbn0pO1xuXG5WdWUudmVyc2lvbiA9ICcyLjYuMTAnO1xuXG4vKiAgKi9cblxuLy8gdGhlc2UgYXJlIHJlc2VydmVkIGZvciB3ZWIgYmVjYXVzZSB0aGV5IGFyZSBkaXJlY3RseSBjb21waWxlZCBhd2F5XG4vLyBkdXJpbmcgdGVtcGxhdGUgY29tcGlsYXRpb25cbnZhciBpc1Jlc2VydmVkQXR0ciA9IG1ha2VNYXAoJ3N0eWxlLGNsYXNzJyk7XG5cbi8vIGF0dHJpYnV0ZXMgdGhhdCBzaG91bGQgYmUgdXNpbmcgcHJvcHMgZm9yIGJpbmRpbmdcbnZhciBhY2NlcHRWYWx1ZSA9IG1ha2VNYXAoJ2lucHV0LHRleHRhcmVhLG9wdGlvbixzZWxlY3QscHJvZ3Jlc3MnKTtcbnZhciBtdXN0VXNlUHJvcCA9IGZ1bmN0aW9uICh0YWcsIHR5cGUsIGF0dHIpIHtcbiAgcmV0dXJuIChcbiAgICAoYXR0ciA9PT0gJ3ZhbHVlJyAmJiBhY2NlcHRWYWx1ZSh0YWcpKSAmJiB0eXBlICE9PSAnYnV0dG9uJyB8fFxuICAgIChhdHRyID09PSAnc2VsZWN0ZWQnICYmIHRhZyA9PT0gJ29wdGlvbicpIHx8XG4gICAgKGF0dHIgPT09ICdjaGVja2VkJyAmJiB0YWcgPT09ICdpbnB1dCcpIHx8XG4gICAgKGF0dHIgPT09ICdtdXRlZCcgJiYgdGFnID09PSAndmlkZW8nKVxuICApXG59O1xuXG52YXIgaXNFbnVtZXJhdGVkQXR0ciA9IG1ha2VNYXAoJ2NvbnRlbnRlZGl0YWJsZSxkcmFnZ2FibGUsc3BlbGxjaGVjaycpO1xuXG52YXIgaXNWYWxpZENvbnRlbnRFZGl0YWJsZVZhbHVlID0gbWFrZU1hcCgnZXZlbnRzLGNhcmV0LHR5cGluZyxwbGFpbnRleHQtb25seScpO1xuXG52YXIgY29udmVydEVudW1lcmF0ZWRWYWx1ZSA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gIHJldHVybiBpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSB8fCB2YWx1ZSA9PT0gJ2ZhbHNlJ1xuICAgID8gJ2ZhbHNlJ1xuICAgIC8vIGFsbG93IGFyYml0cmFyeSBzdHJpbmcgdmFsdWUgZm9yIGNvbnRlbnRlZGl0YWJsZVxuICAgIDoga2V5ID09PSAnY29udGVudGVkaXRhYmxlJyAmJiBpc1ZhbGlkQ29udGVudEVkaXRhYmxlVmFsdWUodmFsdWUpXG4gICAgICA/IHZhbHVlXG4gICAgICA6ICd0cnVlJ1xufTtcblxudmFyIGlzQm9vbGVhbkF0dHIgPSBtYWtlTWFwKFxuICAnYWxsb3dmdWxsc2NyZWVuLGFzeW5jLGF1dG9mb2N1cyxhdXRvcGxheSxjaGVja2VkLGNvbXBhY3QsY29udHJvbHMsZGVjbGFyZSwnICtcbiAgJ2RlZmF1bHQsZGVmYXVsdGNoZWNrZWQsZGVmYXVsdG11dGVkLGRlZmF1bHRzZWxlY3RlZCxkZWZlcixkaXNhYmxlZCwnICtcbiAgJ2VuYWJsZWQsZm9ybW5vdmFsaWRhdGUsaGlkZGVuLGluZGV0ZXJtaW5hdGUsaW5lcnQsaXNtYXAsaXRlbXNjb3BlLGxvb3AsbXVsdGlwbGUsJyArXG4gICdtdXRlZCxub2hyZWYsbm9yZXNpemUsbm9zaGFkZSxub3ZhbGlkYXRlLG5vd3JhcCxvcGVuLHBhdXNlb25leGl0LHJlYWRvbmx5LCcgK1xuICAncmVxdWlyZWQscmV2ZXJzZWQsc2NvcGVkLHNlYW1sZXNzLHNlbGVjdGVkLHNvcnRhYmxlLHRyYW5zbGF0ZSwnICtcbiAgJ3RydWVzcGVlZCx0eXBlbXVzdG1hdGNoLHZpc2libGUnXG4pO1xuXG52YXIgeGxpbmtOUyA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJztcblxudmFyIGlzWGxpbmsgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gbmFtZS5jaGFyQXQoNSkgPT09ICc6JyAmJiBuYW1lLnNsaWNlKDAsIDUpID09PSAneGxpbmsnXG59O1xuXG52YXIgZ2V0WGxpbmtQcm9wID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuIGlzWGxpbmsobmFtZSkgPyBuYW1lLnNsaWNlKDYsIG5hbWUubGVuZ3RoKSA6ICcnXG59O1xuXG52YXIgaXNGYWxzeUF0dHJWYWx1ZSA9IGZ1bmN0aW9uICh2YWwpIHtcbiAgcmV0dXJuIHZhbCA9PSBudWxsIHx8IHZhbCA9PT0gZmFsc2Vcbn07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBnZW5DbGFzc0ZvclZub2RlICh2bm9kZSkge1xuICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gIHZhciBwYXJlbnROb2RlID0gdm5vZGU7XG4gIHZhciBjaGlsZE5vZGUgPSB2bm9kZTtcbiAgd2hpbGUgKGlzRGVmKGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZSkpIHtcbiAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO1xuICAgIGlmIChjaGlsZE5vZGUgJiYgY2hpbGROb2RlLmRhdGEpIHtcbiAgICAgIGRhdGEgPSBtZXJnZUNsYXNzRGF0YShjaGlsZE5vZGUuZGF0YSwgZGF0YSk7XG4gICAgfVxuICB9XG4gIHdoaWxlIChpc0RlZihwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSB7XG4gICAgaWYgKHBhcmVudE5vZGUgJiYgcGFyZW50Tm9kZS5kYXRhKSB7XG4gICAgICBkYXRhID0gbWVyZ2VDbGFzc0RhdGEoZGF0YSwgcGFyZW50Tm9kZS5kYXRhKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlbmRlckNsYXNzKGRhdGEuc3RhdGljQ2xhc3MsIGRhdGEuY2xhc3MpXG59XG5cbmZ1bmN0aW9uIG1lcmdlQ2xhc3NEYXRhIChjaGlsZCwgcGFyZW50KSB7XG4gIHJldHVybiB7XG4gICAgc3RhdGljQ2xhc3M6IGNvbmNhdChjaGlsZC5zdGF0aWNDbGFzcywgcGFyZW50LnN0YXRpY0NsYXNzKSxcbiAgICBjbGFzczogaXNEZWYoY2hpbGQuY2xhc3MpXG4gICAgICA/IFtjaGlsZC5jbGFzcywgcGFyZW50LmNsYXNzXVxuICAgICAgOiBwYXJlbnQuY2xhc3NcbiAgfVxufVxuXG5mdW5jdGlvbiByZW5kZXJDbGFzcyAoXG4gIHN0YXRpY0NsYXNzLFxuICBkeW5hbWljQ2xhc3Ncbikge1xuICBpZiAoaXNEZWYoc3RhdGljQ2xhc3MpIHx8IGlzRGVmKGR5bmFtaWNDbGFzcykpIHtcbiAgICByZXR1cm4gY29uY2F0KHN0YXRpY0NsYXNzLCBzdHJpbmdpZnlDbGFzcyhkeW5hbWljQ2xhc3MpKVxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHJldHVybiAnJ1xufVxuXG5mdW5jdGlvbiBjb25jYXQgKGEsIGIpIHtcbiAgcmV0dXJuIGEgPyBiID8gKGEgKyAnICcgKyBiKSA6IGEgOiAoYiB8fCAnJylcbn1cblxuZnVuY3Rpb24gc3RyaW5naWZ5Q2xhc3MgKHZhbHVlKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiBzdHJpbmdpZnlBcnJheSh2YWx1ZSlcbiAgfVxuICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIHN0cmluZ2lmeU9iamVjdCh2YWx1ZSlcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHJldHVybiAnJ1xufVxuXG5mdW5jdGlvbiBzdHJpbmdpZnlBcnJheSAodmFsdWUpIHtcbiAgdmFyIHJlcyA9ICcnO1xuICB2YXIgc3RyaW5naWZpZWQ7XG4gIGZvciAodmFyIGkgPSAwLCBsID0gdmFsdWUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgaWYgKGlzRGVmKHN0cmluZ2lmaWVkID0gc3RyaW5naWZ5Q2xhc3ModmFsdWVbaV0pKSAmJiBzdHJpbmdpZmllZCAhPT0gJycpIHtcbiAgICAgIGlmIChyZXMpIHsgcmVzICs9ICcgJzsgfVxuICAgICAgcmVzICs9IHN0cmluZ2lmaWVkO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeU9iamVjdCAodmFsdWUpIHtcbiAgdmFyIHJlcyA9ICcnO1xuICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIHtcbiAgICBpZiAodmFsdWVba2V5XSkge1xuICAgICAgaWYgKHJlcykgeyByZXMgKz0gJyAnOyB9XG4gICAgICByZXMgKz0ga2V5O1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG52YXIgbmFtZXNwYWNlTWFwID0ge1xuICBzdmc6ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsXG4gIG1hdGg6ICdodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MJ1xufTtcblxudmFyIGlzSFRNTFRhZyA9IG1ha2VNYXAoXG4gICdodG1sLGJvZHksYmFzZSxoZWFkLGxpbmssbWV0YSxzdHlsZSx0aXRsZSwnICtcbiAgJ2FkZHJlc3MsYXJ0aWNsZSxhc2lkZSxmb290ZXIsaGVhZGVyLGgxLGgyLGgzLGg0LGg1LGg2LGhncm91cCxuYXYsc2VjdGlvbiwnICtcbiAgJ2RpdixkZCxkbCxkdCxmaWdjYXB0aW9uLGZpZ3VyZSxwaWN0dXJlLGhyLGltZyxsaSxtYWluLG9sLHAscHJlLHVsLCcgK1xuICAnYSxiLGFiYnIsYmRpLGJkbyxicixjaXRlLGNvZGUsZGF0YSxkZm4sZW0saSxrYmQsbWFyayxxLHJwLHJ0LHJ0YyxydWJ5LCcgK1xuICAncyxzYW1wLHNtYWxsLHNwYW4sc3Ryb25nLHN1YixzdXAsdGltZSx1LHZhcix3YnIsYXJlYSxhdWRpbyxtYXAsdHJhY2ssdmlkZW8sJyArXG4gICdlbWJlZCxvYmplY3QscGFyYW0sc291cmNlLGNhbnZhcyxzY3JpcHQsbm9zY3JpcHQsZGVsLGlucywnICtcbiAgJ2NhcHRpb24sY29sLGNvbGdyb3VwLHRhYmxlLHRoZWFkLHRib2R5LHRkLHRoLHRyLCcgK1xuICAnYnV0dG9uLGRhdGFsaXN0LGZpZWxkc2V0LGZvcm0saW5wdXQsbGFiZWwsbGVnZW5kLG1ldGVyLG9wdGdyb3VwLG9wdGlvbiwnICtcbiAgJ291dHB1dCxwcm9ncmVzcyxzZWxlY3QsdGV4dGFyZWEsJyArXG4gICdkZXRhaWxzLGRpYWxvZyxtZW51LG1lbnVpdGVtLHN1bW1hcnksJyArXG4gICdjb250ZW50LGVsZW1lbnQsc2hhZG93LHRlbXBsYXRlLGJsb2NrcXVvdGUsaWZyYW1lLHRmb290J1xuKTtcblxuLy8gdGhpcyBtYXAgaXMgaW50ZW50aW9uYWxseSBzZWxlY3RpdmUsIG9ubHkgY292ZXJpbmcgU1ZHIGVsZW1lbnRzIHRoYXQgbWF5XG4vLyBjb250YWluIGNoaWxkIGVsZW1lbnRzLlxudmFyIGlzU1ZHID0gbWFrZU1hcChcbiAgJ3N2ZyxhbmltYXRlLGNpcmNsZSxjbGlwcGF0aCxjdXJzb3IsZGVmcyxkZXNjLGVsbGlwc2UsZmlsdGVyLGZvbnQtZmFjZSwnICtcbiAgJ2ZvcmVpZ25PYmplY3QsZyxnbHlwaCxpbWFnZSxsaW5lLG1hcmtlcixtYXNrLG1pc3NpbmctZ2x5cGgscGF0aCxwYXR0ZXJuLCcgK1xuICAncG9seWdvbixwb2x5bGluZSxyZWN0LHN3aXRjaCxzeW1ib2wsdGV4dCx0ZXh0cGF0aCx0c3Bhbix1c2UsdmlldycsXG4gIHRydWVcbik7XG5cbnZhciBpc1ByZVRhZyA9IGZ1bmN0aW9uICh0YWcpIHsgcmV0dXJuIHRhZyA9PT0gJ3ByZSc7IH07XG5cbnZhciBpc1Jlc2VydmVkVGFnID0gZnVuY3Rpb24gKHRhZykge1xuICByZXR1cm4gaXNIVE1MVGFnKHRhZykgfHwgaXNTVkcodGFnKVxufTtcblxuZnVuY3Rpb24gZ2V0VGFnTmFtZXNwYWNlICh0YWcpIHtcbiAgaWYgKGlzU1ZHKHRhZykpIHtcbiAgICByZXR1cm4gJ3N2ZydcbiAgfVxuICAvLyBiYXNpYyBzdXBwb3J0IGZvciBNYXRoTUxcbiAgLy8gbm90ZSBpdCBkb2Vzbid0IHN1cHBvcnQgb3RoZXIgTWF0aE1MIGVsZW1lbnRzIGJlaW5nIGNvbXBvbmVudCByb290c1xuICBpZiAodGFnID09PSAnbWF0aCcpIHtcbiAgICByZXR1cm4gJ21hdGgnXG4gIH1cbn1cblxudmFyIHVua25vd25FbGVtZW50Q2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuZnVuY3Rpb24gaXNVbmtub3duRWxlbWVudCAodGFnKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoIWluQnJvd3Nlcikge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgaWYgKGlzUmVzZXJ2ZWRUYWcodGFnKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHRhZyA9IHRhZy50b0xvd2VyQ2FzZSgpO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKHVua25vd25FbGVtZW50Q2FjaGVbdGFnXSAhPSBudWxsKSB7XG4gICAgcmV0dXJuIHVua25vd25FbGVtZW50Q2FjaGVbdGFnXVxuICB9XG4gIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTtcbiAgaWYgKHRhZy5pbmRleE9mKCctJykgPiAtMSkge1xuICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI4MjEwMzY0LzEwNzAyNDRcbiAgICByZXR1cm4gKHVua25vd25FbGVtZW50Q2FjaGVbdGFnXSA9IChcbiAgICAgIGVsLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuSFRNTFVua25vd25FbGVtZW50IHx8XG4gICAgICBlbC5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkhUTUxFbGVtZW50XG4gICAgKSlcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKHVua25vd25FbGVtZW50Q2FjaGVbdGFnXSA9IC9IVE1MVW5rbm93bkVsZW1lbnQvLnRlc3QoZWwudG9TdHJpbmcoKSkpXG4gIH1cbn1cblxudmFyIGlzVGV4dElucHV0VHlwZSA9IG1ha2VNYXAoJ3RleHQsbnVtYmVyLHBhc3N3b3JkLHNlYXJjaCxlbWFpbCx0ZWwsdXJsJyk7XG5cbi8qICAqL1xuXG4vKipcbiAqIFF1ZXJ5IGFuIGVsZW1lbnQgc2VsZWN0b3IgaWYgaXQncyBub3QgYW4gZWxlbWVudCBhbHJlYWR5LlxuICovXG5mdW5jdGlvbiBxdWVyeSAoZWwpIHtcbiAgaWYgKHR5cGVvZiBlbCA9PT0gJ3N0cmluZycpIHtcbiAgICB2YXIgc2VsZWN0ZWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGVsKTtcbiAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgICdDYW5ub3QgZmluZCBlbGVtZW50OiAnICsgZWxcbiAgICAgICk7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGVkXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVsXG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQkMSAodGFnTmFtZSwgdm5vZGUpIHtcbiAgdmFyIGVsbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG4gIGlmICh0YWdOYW1lICE9PSAnc2VsZWN0Jykge1xuICAgIHJldHVybiBlbG1cbiAgfVxuICAvLyBmYWxzZSBvciBudWxsIHdpbGwgcmVtb3ZlIHRoZSBhdHRyaWJ1dGUgYnV0IHVuZGVmaW5lZCB3aWxsIG5vdFxuICBpZiAodm5vZGUuZGF0YSAmJiB2bm9kZS5kYXRhLmF0dHJzICYmIHZub2RlLmRhdGEuYXR0cnMubXVsdGlwbGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGVsbS5zZXRBdHRyaWJ1dGUoJ211bHRpcGxlJywgJ211bHRpcGxlJyk7XG4gIH1cbiAgcmV0dXJuIGVsbVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50TlMgKG5hbWVzcGFjZSwgdGFnTmFtZSkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZU1hcFtuYW1lc3BhY2VdLCB0YWdOYW1lKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSAodGV4dCkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dClcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tbWVudCAodGV4dCkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0ZXh0KVxufVxuXG5mdW5jdGlvbiBpbnNlcnRCZWZvcmUgKHBhcmVudE5vZGUsIG5ld05vZGUsIHJlZmVyZW5jZU5vZGUpIHtcbiAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobmV3Tm9kZSwgcmVmZXJlbmNlTm9kZSk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkIChub2RlLCBjaGlsZCkge1xuICBub2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kQ2hpbGQgKG5vZGUsIGNoaWxkKSB7XG4gIG5vZGUuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuXG5mdW5jdGlvbiBwYXJlbnROb2RlIChub2RlKSB7XG4gIHJldHVybiBub2RlLnBhcmVudE5vZGVcbn1cblxuZnVuY3Rpb24gbmV4dFNpYmxpbmcgKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUubmV4dFNpYmxpbmdcbn1cblxuZnVuY3Rpb24gdGFnTmFtZSAobm9kZSkge1xuICByZXR1cm4gbm9kZS50YWdOYW1lXG59XG5cbmZ1bmN0aW9uIHNldFRleHRDb250ZW50IChub2RlLCB0ZXh0KSB7XG4gIG5vZGUudGV4dENvbnRlbnQgPSB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzZXRTdHlsZVNjb3BlIChub2RlLCBzY29wZUlkKSB7XG4gIG5vZGUuc2V0QXR0cmlidXRlKHNjb3BlSWQsICcnKTtcbn1cblxudmFyIG5vZGVPcHMgPSAvKiNfX1BVUkVfXyovT2JqZWN0LmZyZWV6ZSh7XG4gIGNyZWF0ZUVsZW1lbnQ6IGNyZWF0ZUVsZW1lbnQkMSxcbiAgY3JlYXRlRWxlbWVudE5TOiBjcmVhdGVFbGVtZW50TlMsXG4gIGNyZWF0ZVRleHROb2RlOiBjcmVhdGVUZXh0Tm9kZSxcbiAgY3JlYXRlQ29tbWVudDogY3JlYXRlQ29tbWVudCxcbiAgaW5zZXJ0QmVmb3JlOiBpbnNlcnRCZWZvcmUsXG4gIHJlbW92ZUNoaWxkOiByZW1vdmVDaGlsZCxcbiAgYXBwZW5kQ2hpbGQ6IGFwcGVuZENoaWxkLFxuICBwYXJlbnROb2RlOiBwYXJlbnROb2RlLFxuICBuZXh0U2libGluZzogbmV4dFNpYmxpbmcsXG4gIHRhZ05hbWU6IHRhZ05hbWUsXG4gIHNldFRleHRDb250ZW50OiBzZXRUZXh0Q29udGVudCxcbiAgc2V0U3R5bGVTY29wZTogc2V0U3R5bGVTY29wZVxufSk7XG5cbi8qICAqL1xuXG52YXIgcmVmID0ge1xuICBjcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSAoXywgdm5vZGUpIHtcbiAgICByZWdpc3RlclJlZih2bm9kZSk7XG4gIH0sXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgICBpZiAob2xkVm5vZGUuZGF0YS5yZWYgIT09IHZub2RlLmRhdGEucmVmKSB7XG4gICAgICByZWdpc3RlclJlZihvbGRWbm9kZSwgdHJ1ZSk7XG4gICAgICByZWdpc3RlclJlZih2bm9kZSk7XG4gICAgfVxuICB9LFxuICBkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95ICh2bm9kZSkge1xuICAgIHJlZ2lzdGVyUmVmKHZub2RlLCB0cnVlKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJSZWYgKHZub2RlLCBpc1JlbW92YWwpIHtcbiAgdmFyIGtleSA9IHZub2RlLmRhdGEucmVmO1xuICBpZiAoIWlzRGVmKGtleSkpIHsgcmV0dXJuIH1cblxuICB2YXIgdm0gPSB2bm9kZS5jb250ZXh0O1xuICB2YXIgcmVmID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgfHwgdm5vZGUuZWxtO1xuICB2YXIgcmVmcyA9IHZtLiRyZWZzO1xuICBpZiAoaXNSZW1vdmFsKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocmVmc1trZXldKSkge1xuICAgICAgcmVtb3ZlKHJlZnNba2V5XSwgcmVmKTtcbiAgICB9IGVsc2UgaWYgKHJlZnNba2V5XSA9PT0gcmVmKSB7XG4gICAgICByZWZzW2tleV0gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICh2bm9kZS5kYXRhLnJlZkluRm9yKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkocmVmc1trZXldKSkge1xuICAgICAgICByZWZzW2tleV0gPSBbcmVmXTtcbiAgICAgIH0gZWxzZSBpZiAocmVmc1trZXldLmluZGV4T2YocmVmKSA8IDApIHtcbiAgICAgICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgICAgIHJlZnNba2V5XS5wdXNoKHJlZik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZnNba2V5XSA9IHJlZjtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWaXJ0dWFsIERPTSBwYXRjaGluZyBhbGdvcml0aG0gYmFzZWQgb24gU25hYmJkb20gYnlcbiAqIFNpbW9uIEZyaWlzIFZpbmR1bSAoQHBhbGRlcGluZClcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICogaHR0cHM6Ly9naXRodWIuY29tL3BhbGRlcGluZC9zbmFiYmRvbS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKlxuICogbW9kaWZpZWQgYnkgRXZhbiBZb3UgKEB5eXg5OTA4MDMpXG4gKlxuICogTm90IHR5cGUtY2hlY2tpbmcgdGhpcyBiZWNhdXNlIHRoaXMgZmlsZSBpcyBwZXJmLWNyaXRpY2FsIGFuZCB0aGUgY29zdFxuICogb2YgbWFraW5nIGZsb3cgdW5kZXJzdGFuZCBpdCBpcyBub3Qgd29ydGggaXQuXG4gKi9cblxudmFyIGVtcHR5Tm9kZSA9IG5ldyBWTm9kZSgnJywge30sIFtdKTtcblxudmFyIGhvb2tzID0gWydjcmVhdGUnLCAnYWN0aXZhdGUnLCAndXBkYXRlJywgJ3JlbW92ZScsICdkZXN0cm95J107XG5cbmZ1bmN0aW9uIHNhbWVWbm9kZSAoYSwgYikge1xuICByZXR1cm4gKFxuICAgIGEua2V5ID09PSBiLmtleSAmJiAoXG4gICAgICAoXG4gICAgICAgIGEudGFnID09PSBiLnRhZyAmJlxuICAgICAgICBhLmlzQ29tbWVudCA9PT0gYi5pc0NvbW1lbnQgJiZcbiAgICAgICAgaXNEZWYoYS5kYXRhKSA9PT0gaXNEZWYoYi5kYXRhKSAmJlxuICAgICAgICBzYW1lSW5wdXRUeXBlKGEsIGIpXG4gICAgICApIHx8IChcbiAgICAgICAgaXNUcnVlKGEuaXNBc3luY1BsYWNlaG9sZGVyKSAmJlxuICAgICAgICBhLmFzeW5jRmFjdG9yeSA9PT0gYi5hc3luY0ZhY3RvcnkgJiZcbiAgICAgICAgaXNVbmRlZihiLmFzeW5jRmFjdG9yeS5lcnJvcilcbiAgICAgIClcbiAgICApXG4gIClcbn1cblxuZnVuY3Rpb24gc2FtZUlucHV0VHlwZSAoYSwgYikge1xuICBpZiAoYS50YWcgIT09ICdpbnB1dCcpIHsgcmV0dXJuIHRydWUgfVxuICB2YXIgaTtcbiAgdmFyIHR5cGVBID0gaXNEZWYoaSA9IGEuZGF0YSkgJiYgaXNEZWYoaSA9IGkuYXR0cnMpICYmIGkudHlwZTtcbiAgdmFyIHR5cGVCID0gaXNEZWYoaSA9IGIuZGF0YSkgJiYgaXNEZWYoaSA9IGkuYXR0cnMpICYmIGkudHlwZTtcbiAgcmV0dXJuIHR5cGVBID09PSB0eXBlQiB8fCBpc1RleHRJbnB1dFR5cGUodHlwZUEpICYmIGlzVGV4dElucHV0VHlwZSh0eXBlQilcbn1cblxuZnVuY3Rpb24gY3JlYXRlS2V5VG9PbGRJZHggKGNoaWxkcmVuLCBiZWdpbklkeCwgZW5kSWR4KSB7XG4gIHZhciBpLCBrZXk7XG4gIHZhciBtYXAgPSB7fTtcbiAgZm9yIChpID0gYmVnaW5JZHg7IGkgPD0gZW5kSWR4OyArK2kpIHtcbiAgICBrZXkgPSBjaGlsZHJlbltpXS5rZXk7XG4gICAgaWYgKGlzRGVmKGtleSkpIHsgbWFwW2tleV0gPSBpOyB9XG4gIH1cbiAgcmV0dXJuIG1hcFxufVxuXG5mdW5jdGlvbiBjcmVhdGVQYXRjaEZ1bmN0aW9uIChiYWNrZW5kKSB7XG4gIHZhciBpLCBqO1xuICB2YXIgY2JzID0ge307XG5cbiAgdmFyIG1vZHVsZXMgPSBiYWNrZW5kLm1vZHVsZXM7XG4gIHZhciBub2RlT3BzID0gYmFja2VuZC5ub2RlT3BzO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBob29rcy5sZW5ndGg7ICsraSkge1xuICAgIGNic1tob29rc1tpXV0gPSBbXTtcbiAgICBmb3IgKGogPSAwOyBqIDwgbW9kdWxlcy5sZW5ndGg7ICsraikge1xuICAgICAgaWYgKGlzRGVmKG1vZHVsZXNbal1baG9va3NbaV1dKSkge1xuICAgICAgICBjYnNbaG9va3NbaV1dLnB1c2gobW9kdWxlc1tqXVtob29rc1tpXV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGVtcHR5Tm9kZUF0IChlbG0pIHtcbiAgICByZXR1cm4gbmV3IFZOb2RlKG5vZGVPcHMudGFnTmFtZShlbG0pLnRvTG93ZXJDYXNlKCksIHt9LCBbXSwgdW5kZWZpbmVkLCBlbG0pXG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVSbUNiIChjaGlsZEVsbSwgbGlzdGVuZXJzKSB7XG4gICAgZnVuY3Rpb24gcmVtb3ZlJCQxICgpIHtcbiAgICAgIGlmICgtLXJlbW92ZSQkMS5saXN0ZW5lcnMgPT09IDApIHtcbiAgICAgICAgcmVtb3ZlTm9kZShjaGlsZEVsbSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJlbW92ZSQkMS5saXN0ZW5lcnMgPSBsaXN0ZW5lcnM7XG4gICAgcmV0dXJuIHJlbW92ZSQkMVxuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlTm9kZSAoZWwpIHtcbiAgICB2YXIgcGFyZW50ID0gbm9kZU9wcy5wYXJlbnROb2RlKGVsKTtcbiAgICAvLyBlbGVtZW50IG1heSBoYXZlIGFscmVhZHkgYmVlbiByZW1vdmVkIGR1ZSB0byB2LWh0bWwgLyB2LXRleHRcbiAgICBpZiAoaXNEZWYocGFyZW50KSkge1xuICAgICAgbm9kZU9wcy5yZW1vdmVDaGlsZChwYXJlbnQsIGVsKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpc1Vua25vd25FbGVtZW50JCQxICh2bm9kZSwgaW5WUHJlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICFpblZQcmUgJiZcbiAgICAgICF2bm9kZS5ucyAmJlxuICAgICAgIShcbiAgICAgICAgY29uZmlnLmlnbm9yZWRFbGVtZW50cy5sZW5ndGggJiZcbiAgICAgICAgY29uZmlnLmlnbm9yZWRFbGVtZW50cy5zb21lKGZ1bmN0aW9uIChpZ25vcmUpIHtcbiAgICAgICAgICByZXR1cm4gaXNSZWdFeHAoaWdub3JlKVxuICAgICAgICAgICAgPyBpZ25vcmUudGVzdCh2bm9kZS50YWcpXG4gICAgICAgICAgICA6IGlnbm9yZSA9PT0gdm5vZGUudGFnXG4gICAgICAgIH0pXG4gICAgICApICYmXG4gICAgICBjb25maWcuaXNVbmtub3duRWxlbWVudCh2bm9kZS50YWcpXG4gICAgKVxuICB9XG5cbiAgdmFyIGNyZWF0aW5nRWxtSW5WUHJlID0gMDtcblxuICBmdW5jdGlvbiBjcmVhdGVFbG0gKFxuICAgIHZub2RlLFxuICAgIGluc2VydGVkVm5vZGVRdWV1ZSxcbiAgICBwYXJlbnRFbG0sXG4gICAgcmVmRWxtLFxuICAgIG5lc3RlZCxcbiAgICBvd25lckFycmF5LFxuICAgIGluZGV4XG4gICkge1xuICAgIGlmIChpc0RlZih2bm9kZS5lbG0pICYmIGlzRGVmKG93bmVyQXJyYXkpKSB7XG4gICAgICAvLyBUaGlzIHZub2RlIHdhcyB1c2VkIGluIGEgcHJldmlvdXMgcmVuZGVyIVxuICAgICAgLy8gbm93IGl0J3MgdXNlZCBhcyBhIG5ldyBub2RlLCBvdmVyd3JpdGluZyBpdHMgZWxtIHdvdWxkIGNhdXNlXG4gICAgICAvLyBwb3RlbnRpYWwgcGF0Y2ggZXJyb3JzIGRvd24gdGhlIHJvYWQgd2hlbiBpdCdzIHVzZWQgYXMgYW4gaW5zZXJ0aW9uXG4gICAgICAvLyByZWZlcmVuY2Ugbm9kZS4gSW5zdGVhZCwgd2UgY2xvbmUgdGhlIG5vZGUgb24tZGVtYW5kIGJlZm9yZSBjcmVhdGluZ1xuICAgICAgLy8gYXNzb2NpYXRlZCBET00gZWxlbWVudCBmb3IgaXQuXG4gICAgICB2bm9kZSA9IG93bmVyQXJyYXlbaW5kZXhdID0gY2xvbmVWTm9kZSh2bm9kZSk7XG4gICAgfVxuXG4gICAgdm5vZGUuaXNSb290SW5zZXJ0ID0gIW5lc3RlZDsgLy8gZm9yIHRyYW5zaXRpb24gZW50ZXIgY2hlY2tcbiAgICBpZiAoY3JlYXRlQ29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIHZhciBjaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuO1xuICAgIHZhciB0YWcgPSB2bm9kZS50YWc7XG4gICAgaWYgKGlzRGVmKHRhZykpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEucHJlKSB7XG4gICAgICAgICAgY3JlYXRpbmdFbG1JblZQcmUrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNVbmtub3duRWxlbWVudCQkMSh2bm9kZSwgY3JlYXRpbmdFbG1JblZQcmUpKSB7XG4gICAgICAgICAgd2FybihcbiAgICAgICAgICAgICdVbmtub3duIGN1c3RvbSBlbGVtZW50OiA8JyArIHRhZyArICc+IC0gZGlkIHlvdSAnICtcbiAgICAgICAgICAgICdyZWdpc3RlciB0aGUgY29tcG9uZW50IGNvcnJlY3RseT8gRm9yIHJlY3Vyc2l2ZSBjb21wb25lbnRzLCAnICtcbiAgICAgICAgICAgICdtYWtlIHN1cmUgdG8gcHJvdmlkZSB0aGUgXCJuYW1lXCIgb3B0aW9uLicsXG4gICAgICAgICAgICB2bm9kZS5jb250ZXh0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2bm9kZS5lbG0gPSB2bm9kZS5uc1xuICAgICAgICA/IG5vZGVPcHMuY3JlYXRlRWxlbWVudE5TKHZub2RlLm5zLCB0YWcpXG4gICAgICAgIDogbm9kZU9wcy5jcmVhdGVFbGVtZW50KHRhZywgdm5vZGUpO1xuICAgICAgc2V0U2NvcGUodm5vZGUpO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIHtcbiAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAgICBpbnZva2VDcmVhdGVIb29rcyh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgfVxuICAgICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGRhdGEgJiYgZGF0YS5wcmUpIHtcbiAgICAgICAgY3JlYXRpbmdFbG1JblZQcmUtLTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzVHJ1ZSh2bm9kZS5pc0NvbW1lbnQpKSB7XG4gICAgICB2bm9kZS5lbG0gPSBub2RlT3BzLmNyZWF0ZUNvbW1lbnQodm5vZGUudGV4dCk7XG4gICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZub2RlLmVsbSA9IG5vZGVPcHMuY3JlYXRlVGV4dE5vZGUodm5vZGUudGV4dCk7XG4gICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50ICh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSkge1xuICAgIHZhciBpID0gdm5vZGUuZGF0YTtcbiAgICBpZiAoaXNEZWYoaSkpIHtcbiAgICAgIHZhciBpc1JlYWN0aXZhdGVkID0gaXNEZWYodm5vZGUuY29tcG9uZW50SW5zdGFuY2UpICYmIGkua2VlcEFsaXZlO1xuICAgICAgaWYgKGlzRGVmKGkgPSBpLmhvb2spICYmIGlzRGVmKGkgPSBpLmluaXQpKSB7XG4gICAgICAgIGkodm5vZGUsIGZhbHNlIC8qIGh5ZHJhdGluZyAqLyk7XG4gICAgICB9XG4gICAgICAvLyBhZnRlciBjYWxsaW5nIHRoZSBpbml0IGhvb2ssIGlmIHRoZSB2bm9kZSBpcyBhIGNoaWxkIGNvbXBvbmVudFxuICAgICAgLy8gaXQgc2hvdWxkJ3ZlIGNyZWF0ZWQgYSBjaGlsZCBpbnN0YW5jZSBhbmQgbW91bnRlZCBpdC4gdGhlIGNoaWxkXG4gICAgICAvLyBjb21wb25lbnQgYWxzbyBoYXMgc2V0IHRoZSBwbGFjZWhvbGRlciB2bm9kZSdzIGVsbS5cbiAgICAgIC8vIGluIHRoYXQgY2FzZSB3ZSBjYW4ganVzdCByZXR1cm4gdGhlIGVsZW1lbnQgYW5kIGJlIGRvbmUuXG4gICAgICBpZiAoaXNEZWYodm5vZGUuY29tcG9uZW50SW5zdGFuY2UpKSB7XG4gICAgICAgIGluaXRDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICAgICAgaWYgKGlzVHJ1ZShpc1JlYWN0aXZhdGVkKSkge1xuICAgICAgICAgIHJlYWN0aXZhdGVDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW5pdENvbXBvbmVudCAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGlmIChpc0RlZih2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQpKSB7XG4gICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaC5hcHBseShpbnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmRhdGEucGVuZGluZ0luc2VydCk7XG4gICAgICB2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQgPSBudWxsO1xuICAgIH1cbiAgICB2bm9kZS5lbG0gPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS4kZWw7XG4gICAgaWYgKGlzUGF0Y2hhYmxlKHZub2RlKSkge1xuICAgICAgaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICBzZXRTY29wZSh2bm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGVtcHR5IGNvbXBvbmVudCByb290LlxuICAgICAgLy8gc2tpcCBhbGwgZWxlbWVudC1yZWxhdGVkIG1vZHVsZXMgZXhjZXB0IGZvciByZWYgKCMzNDU1KVxuICAgICAgcmVnaXN0ZXJSZWYodm5vZGUpO1xuICAgICAgLy8gbWFrZSBzdXJlIHRvIGludm9rZSB0aGUgaW5zZXJ0IGhvb2tcbiAgICAgIGluc2VydGVkVm5vZGVRdWV1ZS5wdXNoKHZub2RlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWFjdGl2YXRlQ29tcG9uZW50ICh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSkge1xuICAgIHZhciBpO1xuICAgIC8vIGhhY2sgZm9yICM0MzM5OiBhIHJlYWN0aXZhdGVkIGNvbXBvbmVudCB3aXRoIGlubmVyIHRyYW5zaXRpb25cbiAgICAvLyBkb2VzIG5vdCB0cmlnZ2VyIGJlY2F1c2UgdGhlIGlubmVyIG5vZGUncyBjcmVhdGVkIGhvb2tzIGFyZSBub3QgY2FsbGVkXG4gICAgLy8gYWdhaW4uIEl0J3Mgbm90IGlkZWFsIHRvIGludm9sdmUgbW9kdWxlLXNwZWNpZmljIGxvZ2ljIGluIGhlcmUgYnV0XG4gICAgLy8gdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGEgYmV0dGVyIHdheSB0byBkbyBpdC5cbiAgICB2YXIgaW5uZXJOb2RlID0gdm5vZGU7XG4gICAgd2hpbGUgKGlubmVyTm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgaW5uZXJOb2RlID0gaW5uZXJOb2RlLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICAgIGlmIChpc0RlZihpID0gaW5uZXJOb2RlLmRhdGEpICYmIGlzRGVmKGkgPSBpLnRyYW5zaXRpb24pKSB7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMuYWN0aXZhdGUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICBjYnMuYWN0aXZhdGVbaV0oZW1wdHlOb2RlLCBpbm5lck5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGluc2VydGVkVm5vZGVRdWV1ZS5wdXNoKGlubmVyTm9kZSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVubGlrZSBhIG5ld2x5IGNyZWF0ZWQgY29tcG9uZW50LFxuICAgIC8vIGEgcmVhY3RpdmF0ZWQga2VlcC1hbGl2ZSBjb21wb25lbnQgZG9lc24ndCBpbnNlcnQgaXRzZWxmXG4gICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5zZXJ0IChwYXJlbnQsIGVsbSwgcmVmJCQxKSB7XG4gICAgaWYgKGlzRGVmKHBhcmVudCkpIHtcbiAgICAgIGlmIChpc0RlZihyZWYkJDEpKSB7XG4gICAgICAgIGlmIChub2RlT3BzLnBhcmVudE5vZGUocmVmJCQxKSA9PT0gcGFyZW50KSB7XG4gICAgICAgICAgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50LCBlbG0sIHJlZiQkMSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGVPcHMuYXBwZW5kQ2hpbGQocGFyZW50LCBlbG0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkcmVuICh2bm9kZSwgY2hpbGRyZW4sIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgY2hlY2tEdXBsaWNhdGVLZXlzKGNoaWxkcmVuKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY3JlYXRlRWxtKGNoaWxkcmVuW2ldLCBpbnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmVsbSwgbnVsbCwgdHJ1ZSwgY2hpbGRyZW4sIGkpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNQcmltaXRpdmUodm5vZGUudGV4dCkpIHtcbiAgICAgIG5vZGVPcHMuYXBwZW5kQ2hpbGQodm5vZGUuZWxtLCBub2RlT3BzLmNyZWF0ZVRleHROb2RlKFN0cmluZyh2bm9kZS50ZXh0KSkpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGlzUGF0Y2hhYmxlICh2bm9kZSkge1xuICAgIHdoaWxlICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgdm5vZGUgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgfVxuICAgIHJldHVybiBpc0RlZih2bm9kZS50YWcpXG4gIH1cblxuICBmdW5jdGlvbiBpbnZva2VDcmVhdGVIb29rcyAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IGNicy5jcmVhdGUubGVuZ3RoOyArK2kkMSkge1xuICAgICAgY2JzLmNyZWF0ZVtpJDFdKGVtcHR5Tm9kZSwgdm5vZGUpO1xuICAgIH1cbiAgICBpID0gdm5vZGUuZGF0YS5ob29rOyAvLyBSZXVzZSB2YXJpYWJsZVxuICAgIGlmIChpc0RlZihpKSkge1xuICAgICAgaWYgKGlzRGVmKGkuY3JlYXRlKSkgeyBpLmNyZWF0ZShlbXB0eU5vZGUsIHZub2RlKTsgfVxuICAgICAgaWYgKGlzRGVmKGkuaW5zZXJ0KSkgeyBpbnNlcnRlZFZub2RlUXVldWUucHVzaCh2bm9kZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBzZXQgc2NvcGUgaWQgYXR0cmlidXRlIGZvciBzY29wZWQgQ1NTLlxuICAvLyB0aGlzIGlzIGltcGxlbWVudGVkIGFzIGEgc3BlY2lhbCBjYXNlIHRvIGF2b2lkIHRoZSBvdmVyaGVhZFxuICAvLyBvZiBnb2luZyB0aHJvdWdoIHRoZSBub3JtYWwgYXR0cmlidXRlIHBhdGNoaW5nIHByb2Nlc3MuXG4gIGZ1bmN0aW9uIHNldFNjb3BlICh2bm9kZSkge1xuICAgIHZhciBpO1xuICAgIGlmIChpc0RlZihpID0gdm5vZGUuZm5TY29wZUlkKSkge1xuICAgICAgbm9kZU9wcy5zZXRTdHlsZVNjb3BlKHZub2RlLmVsbSwgaSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBhbmNlc3RvciA9IHZub2RlO1xuICAgICAgd2hpbGUgKGFuY2VzdG9yKSB7XG4gICAgICAgIGlmIChpc0RlZihpID0gYW5jZXN0b3IuY29udGV4dCkgJiYgaXNEZWYoaSA9IGkuJG9wdGlvbnMuX3Njb3BlSWQpKSB7XG4gICAgICAgICAgbm9kZU9wcy5zZXRTdHlsZVNjb3BlKHZub2RlLmVsbSwgaSk7XG4gICAgICAgIH1cbiAgICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci5wYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGZvciBzbG90IGNvbnRlbnQgdGhleSBzaG91bGQgYWxzbyBnZXQgdGhlIHNjb3BlSWQgZnJvbSB0aGUgaG9zdCBpbnN0YW5jZS5cbiAgICBpZiAoaXNEZWYoaSA9IGFjdGl2ZUluc3RhbmNlKSAmJlxuICAgICAgaSAhPT0gdm5vZGUuY29udGV4dCAmJlxuICAgICAgaSAhPT0gdm5vZGUuZm5Db250ZXh0ICYmXG4gICAgICBpc0RlZihpID0gaS4kb3B0aW9ucy5fc2NvcGVJZClcbiAgICApIHtcbiAgICAgIG5vZGVPcHMuc2V0U3R5bGVTY29wZSh2bm9kZS5lbG0sIGkpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZFZub2RlcyAocGFyZW50RWxtLCByZWZFbG0sIHZub2Rlcywgc3RhcnRJZHgsIGVuZElkeCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7XG4gICAgZm9yICg7IHN0YXJ0SWR4IDw9IGVuZElkeDsgKytzdGFydElkeCkge1xuICAgICAgY3JlYXRlRWxtKHZub2Rlc1tzdGFydElkeF0sIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0sIGZhbHNlLCB2bm9kZXMsIHN0YXJ0SWR4KTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbnZva2VEZXN0cm95SG9vayAodm5vZGUpIHtcbiAgICB2YXIgaSwgajtcbiAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICBpZiAoaXNEZWYoaSA9IGRhdGEuaG9vaykgJiYgaXNEZWYoaSA9IGkuZGVzdHJveSkpIHsgaSh2bm9kZSk7IH1cbiAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMuZGVzdHJveS5sZW5ndGg7ICsraSkgeyBjYnMuZGVzdHJveVtpXSh2bm9kZSk7IH1cbiAgICB9XG4gICAgaWYgKGlzRGVmKGkgPSB2bm9kZS5jaGlsZHJlbikpIHtcbiAgICAgIGZvciAoaiA9IDA7IGogPCB2bm9kZS5jaGlsZHJlbi5sZW5ndGg7ICsraikge1xuICAgICAgICBpbnZva2VEZXN0cm95SG9vayh2bm9kZS5jaGlsZHJlbltqXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlVm5vZGVzIChwYXJlbnRFbG0sIHZub2Rlcywgc3RhcnRJZHgsIGVuZElkeCkge1xuICAgIGZvciAoOyBzdGFydElkeCA8PSBlbmRJZHg7ICsrc3RhcnRJZHgpIHtcbiAgICAgIHZhciBjaCA9IHZub2Rlc1tzdGFydElkeF07XG4gICAgICBpZiAoaXNEZWYoY2gpKSB7XG4gICAgICAgIGlmIChpc0RlZihjaC50YWcpKSB7XG4gICAgICAgICAgcmVtb3ZlQW5kSW52b2tlUmVtb3ZlSG9vayhjaCk7XG4gICAgICAgICAgaW52b2tlRGVzdHJveUhvb2soY2gpO1xuICAgICAgICB9IGVsc2UgeyAvLyBUZXh0IG5vZGVcbiAgICAgICAgICByZW1vdmVOb2RlKGNoLmVsbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVBbmRJbnZva2VSZW1vdmVIb29rICh2bm9kZSwgcm0pIHtcbiAgICBpZiAoaXNEZWYocm0pIHx8IGlzRGVmKHZub2RlLmRhdGEpKSB7XG4gICAgICB2YXIgaTtcbiAgICAgIHZhciBsaXN0ZW5lcnMgPSBjYnMucmVtb3ZlLmxlbmd0aCArIDE7XG4gICAgICBpZiAoaXNEZWYocm0pKSB7XG4gICAgICAgIC8vIHdlIGhhdmUgYSByZWN1cnNpdmVseSBwYXNzZWQgZG93biBybSBjYWxsYmFja1xuICAgICAgICAvLyBpbmNyZWFzZSB0aGUgbGlzdGVuZXJzIGNvdW50XG4gICAgICAgIHJtLmxpc3RlbmVycyArPSBsaXN0ZW5lcnM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBkaXJlY3RseSByZW1vdmluZ1xuICAgICAgICBybSA9IGNyZWF0ZVJtQ2Iodm5vZGUuZWxtLCBsaXN0ZW5lcnMpO1xuICAgICAgfVxuICAgICAgLy8gcmVjdXJzaXZlbHkgaW52b2tlIGhvb2tzIG9uIGNoaWxkIGNvbXBvbmVudCByb290IG5vZGVcbiAgICAgIGlmIChpc0RlZihpID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UpICYmIGlzRGVmKGkgPSBpLl92bm9kZSkgJiYgaXNEZWYoaS5kYXRhKSkge1xuICAgICAgICByZW1vdmVBbmRJbnZva2VSZW1vdmVIb29rKGksIHJtKTtcbiAgICAgIH1cbiAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMucmVtb3ZlLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNicy5yZW1vdmVbaV0odm5vZGUsIHJtKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0RlZihpID0gdm5vZGUuZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5yZW1vdmUpKSB7XG4gICAgICAgIGkodm5vZGUsIHJtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJtKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZU5vZGUodm5vZGUuZWxtKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVDaGlsZHJlbiAocGFyZW50RWxtLCBvbGRDaCwgbmV3Q2gsIGluc2VydGVkVm5vZGVRdWV1ZSwgcmVtb3ZlT25seSkge1xuICAgIHZhciBvbGRTdGFydElkeCA9IDA7XG4gICAgdmFyIG5ld1N0YXJ0SWR4ID0gMDtcbiAgICB2YXIgb2xkRW5kSWR4ID0gb2xkQ2gubGVuZ3RoIC0gMTtcbiAgICB2YXIgb2xkU3RhcnRWbm9kZSA9IG9sZENoWzBdO1xuICAgIHZhciBvbGRFbmRWbm9kZSA9IG9sZENoW29sZEVuZElkeF07XG4gICAgdmFyIG5ld0VuZElkeCA9IG5ld0NoLmxlbmd0aCAtIDE7XG4gICAgdmFyIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFswXTtcbiAgICB2YXIgbmV3RW5kVm5vZGUgPSBuZXdDaFtuZXdFbmRJZHhdO1xuICAgIHZhciBvbGRLZXlUb0lkeCwgaWR4SW5PbGQsIHZub2RlVG9Nb3ZlLCByZWZFbG07XG5cbiAgICAvLyByZW1vdmVPbmx5IGlzIGEgc3BlY2lhbCBmbGFnIHVzZWQgb25seSBieSA8dHJhbnNpdGlvbi1ncm91cD5cbiAgICAvLyB0byBlbnN1cmUgcmVtb3ZlZCBlbGVtZW50cyBzdGF5IGluIGNvcnJlY3QgcmVsYXRpdmUgcG9zaXRpb25zXG4gICAgLy8gZHVyaW5nIGxlYXZpbmcgdHJhbnNpdGlvbnNcbiAgICB2YXIgY2FuTW92ZSA9ICFyZW1vdmVPbmx5O1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGNoZWNrRHVwbGljYXRlS2V5cyhuZXdDaCk7XG4gICAgfVxuXG4gICAgd2hpbGUgKG9sZFN0YXJ0SWR4IDw9IG9sZEVuZElkeCAmJiBuZXdTdGFydElkeCA8PSBuZXdFbmRJZHgpIHtcbiAgICAgIGlmIChpc1VuZGVmKG9sZFN0YXJ0Vm5vZGUpKSB7XG4gICAgICAgIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFsrK29sZFN0YXJ0SWR4XTsgLy8gVm5vZGUgaGFzIGJlZW4gbW92ZWQgbGVmdFxuICAgICAgfSBlbHNlIGlmIChpc1VuZGVmKG9sZEVuZFZub2RlKSkge1xuICAgICAgICBvbGRFbmRWbm9kZSA9IG9sZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld1N0YXJ0Vm5vZGUpKSB7XG4gICAgICAgIHBhdGNoVm5vZGUob2xkU3RhcnRWbm9kZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3U3RhcnRJZHgpO1xuICAgICAgICBvbGRTdGFydFZub2RlID0gb2xkQ2hbKytvbGRTdGFydElkeF07XG4gICAgICAgIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFsrK25ld1N0YXJ0SWR4XTtcbiAgICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZEVuZFZub2RlLCBuZXdFbmRWbm9kZSkpIHtcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRFbmRWbm9kZSwgbmV3RW5kVm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgbmV3Q2gsIG5ld0VuZElkeCk7XG4gICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1vbGRFbmRJZHhdO1xuICAgICAgICBuZXdFbmRWbm9kZSA9IG5ld0NoWy0tbmV3RW5kSWR4XTtcbiAgICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld0VuZFZub2RlKSkgeyAvLyBWbm9kZSBtb3ZlZCByaWdodFxuICAgICAgICBwYXRjaFZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld0VuZFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG5ld0NoLCBuZXdFbmRJZHgpO1xuICAgICAgICBjYW5Nb3ZlICYmIG5vZGVPcHMuaW5zZXJ0QmVmb3JlKHBhcmVudEVsbSwgb2xkU3RhcnRWbm9kZS5lbG0sIG5vZGVPcHMubmV4dFNpYmxpbmcob2xkRW5kVm5vZGUuZWxtKSk7XG4gICAgICAgIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFsrK29sZFN0YXJ0SWR4XTtcbiAgICAgICAgbmV3RW5kVm5vZGUgPSBuZXdDaFstLW5ld0VuZElkeF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRFbmRWbm9kZSwgbmV3U3RhcnRWbm9kZSkpIHsgLy8gVm5vZGUgbW92ZWQgbGVmdFxuICAgICAgICBwYXRjaFZub2RlKG9sZEVuZFZub2RlLCBuZXdTdGFydFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG5ld0NoLCBuZXdTdGFydElkeCk7XG4gICAgICAgIGNhbk1vdmUgJiYgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50RWxtLCBvbGRFbmRWbm9kZS5lbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtKTtcbiAgICAgICAgb2xkRW5kVm5vZGUgPSBvbGRDaFstLW9sZEVuZElkeF07XG4gICAgICAgIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFsrK25ld1N0YXJ0SWR4XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChpc1VuZGVmKG9sZEtleVRvSWR4KSkgeyBvbGRLZXlUb0lkeCA9IGNyZWF0ZUtleVRvT2xkSWR4KG9sZENoLCBvbGRTdGFydElkeCwgb2xkRW5kSWR4KTsgfVxuICAgICAgICBpZHhJbk9sZCA9IGlzRGVmKG5ld1N0YXJ0Vm5vZGUua2V5KVxuICAgICAgICAgID8gb2xkS2V5VG9JZHhbbmV3U3RhcnRWbm9kZS5rZXldXG4gICAgICAgICAgOiBmaW5kSWR4SW5PbGQobmV3U3RhcnRWbm9kZSwgb2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpO1xuICAgICAgICBpZiAoaXNVbmRlZihpZHhJbk9sZCkpIHsgLy8gTmV3IGVsZW1lbnRcbiAgICAgICAgICBjcmVhdGVFbG0obmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtLCBmYWxzZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2bm9kZVRvTW92ZSA9IG9sZENoW2lkeEluT2xkXTtcbiAgICAgICAgICBpZiAoc2FtZVZub2RlKHZub2RlVG9Nb3ZlLCBuZXdTdGFydFZub2RlKSkge1xuICAgICAgICAgICAgcGF0Y2hWbm9kZSh2bm9kZVRvTW92ZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3U3RhcnRJZHgpO1xuICAgICAgICAgICAgb2xkQ2hbaWR4SW5PbGRdID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY2FuTW92ZSAmJiBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIHZub2RlVG9Nb3ZlLmVsbSwgb2xkU3RhcnRWbm9kZS5lbG0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzYW1lIGtleSBidXQgZGlmZmVyZW50IGVsZW1lbnQuIHRyZWF0IGFzIG5ldyBlbGVtZW50XG4gICAgICAgICAgICBjcmVhdGVFbG0obmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtLCBmYWxzZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAob2xkU3RhcnRJZHggPiBvbGRFbmRJZHgpIHtcbiAgICAgIHJlZkVsbSA9IGlzVW5kZWYobmV3Q2hbbmV3RW5kSWR4ICsgMV0pID8gbnVsbCA6IG5ld0NoW25ld0VuZElkeCArIDFdLmVsbTtcbiAgICAgIGFkZFZub2RlcyhwYXJlbnRFbG0sIHJlZkVsbSwgbmV3Q2gsIG5ld1N0YXJ0SWR4LCBuZXdFbmRJZHgsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgfSBlbHNlIGlmIChuZXdTdGFydElkeCA+IG5ld0VuZElkeCkge1xuICAgICAgcmVtb3ZlVm5vZGVzKHBhcmVudEVsbSwgb2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNoZWNrRHVwbGljYXRlS2V5cyAoY2hpbGRyZW4pIHtcbiAgICB2YXIgc2VlbktleXMgPSB7fTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgdm5vZGUgPSBjaGlsZHJlbltpXTtcbiAgICAgIHZhciBrZXkgPSB2bm9kZS5rZXk7XG4gICAgICBpZiAoaXNEZWYoa2V5KSkge1xuICAgICAgICBpZiAoc2VlbktleXNba2V5XSkge1xuICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAoXCJEdXBsaWNhdGUga2V5cyBkZXRlY3RlZDogJ1wiICsga2V5ICsgXCInLiBUaGlzIG1heSBjYXVzZSBhbiB1cGRhdGUgZXJyb3IuXCIpLFxuICAgICAgICAgICAgdm5vZGUuY29udGV4dFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2VlbktleXNba2V5XSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBmaW5kSWR4SW5PbGQgKG5vZGUsIG9sZENoLCBzdGFydCwgZW5kKSB7XG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspIHtcbiAgICAgIHZhciBjID0gb2xkQ2hbaV07XG4gICAgICBpZiAoaXNEZWYoYykgJiYgc2FtZVZub2RlKG5vZGUsIGMpKSB7IHJldHVybiBpIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBwYXRjaFZub2RlIChcbiAgICBvbGRWbm9kZSxcbiAgICB2bm9kZSxcbiAgICBpbnNlcnRlZFZub2RlUXVldWUsXG4gICAgb3duZXJBcnJheSxcbiAgICBpbmRleCxcbiAgICByZW1vdmVPbmx5XG4gICkge1xuICAgIGlmIChvbGRWbm9kZSA9PT0gdm5vZGUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChpc0RlZih2bm9kZS5lbG0pICYmIGlzRGVmKG93bmVyQXJyYXkpKSB7XG4gICAgICAvLyBjbG9uZSByZXVzZWQgdm5vZGVcbiAgICAgIHZub2RlID0gb3duZXJBcnJheVtpbmRleF0gPSBjbG9uZVZOb2RlKHZub2RlKTtcbiAgICB9XG5cbiAgICB2YXIgZWxtID0gdm5vZGUuZWxtID0gb2xkVm5vZGUuZWxtO1xuXG4gICAgaWYgKGlzVHJ1ZShvbGRWbm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIpKSB7XG4gICAgICBpZiAoaXNEZWYodm5vZGUuYXN5bmNGYWN0b3J5LnJlc29sdmVkKSkge1xuICAgICAgICBoeWRyYXRlKG9sZFZub2RlLmVsbSwgdm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2bm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gcmV1c2UgZWxlbWVudCBmb3Igc3RhdGljIHRyZWVzLlxuICAgIC8vIG5vdGUgd2Ugb25seSBkbyB0aGlzIGlmIHRoZSB2bm9kZSBpcyBjbG9uZWQgLVxuICAgIC8vIGlmIHRoZSBuZXcgbm9kZSBpcyBub3QgY2xvbmVkIGl0IG1lYW5zIHRoZSByZW5kZXIgZnVuY3Rpb25zIGhhdmUgYmVlblxuICAgIC8vIHJlc2V0IGJ5IHRoZSBob3QtcmVsb2FkLWFwaSBhbmQgd2UgbmVlZCB0byBkbyBhIHByb3BlciByZS1yZW5kZXIuXG4gICAgaWYgKGlzVHJ1ZSh2bm9kZS5pc1N0YXRpYykgJiZcbiAgICAgIGlzVHJ1ZShvbGRWbm9kZS5pc1N0YXRpYykgJiZcbiAgICAgIHZub2RlLmtleSA9PT0gb2xkVm5vZGUua2V5ICYmXG4gICAgICAoaXNUcnVlKHZub2RlLmlzQ2xvbmVkKSB8fCBpc1RydWUodm5vZGUuaXNPbmNlKSlcbiAgICApIHtcbiAgICAgIHZub2RlLmNvbXBvbmVudEluc3RhbmNlID0gb2xkVm5vZGUuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgaTtcbiAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgaWYgKGlzRGVmKGRhdGEpICYmIGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnByZXBhdGNoKSkge1xuICAgICAgaShvbGRWbm9kZSwgdm5vZGUpO1xuICAgIH1cblxuICAgIHZhciBvbGRDaCA9IG9sZFZub2RlLmNoaWxkcmVuO1xuICAgIHZhciBjaCA9IHZub2RlLmNoaWxkcmVuO1xuICAgIGlmIChpc0RlZihkYXRhKSAmJiBpc1BhdGNoYWJsZSh2bm9kZSkpIHtcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMudXBkYXRlLmxlbmd0aDsgKytpKSB7IGNicy51cGRhdGVbaV0ob2xkVm5vZGUsIHZub2RlKTsgfVxuICAgICAgaWYgKGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnVwZGF0ZSkpIHsgaShvbGRWbm9kZSwgdm5vZGUpOyB9XG4gICAgfVxuICAgIGlmIChpc1VuZGVmKHZub2RlLnRleHQpKSB7XG4gICAgICBpZiAoaXNEZWYob2xkQ2gpICYmIGlzRGVmKGNoKSkge1xuICAgICAgICBpZiAob2xkQ2ggIT09IGNoKSB7IHVwZGF0ZUNoaWxkcmVuKGVsbSwgb2xkQ2gsIGNoLCBpbnNlcnRlZFZub2RlUXVldWUsIHJlbW92ZU9ubHkpOyB9XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKGNoKSkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGNoZWNrRHVwbGljYXRlS2V5cyhjaCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRGVmKG9sZFZub2RlLnRleHQpKSB7IG5vZGVPcHMuc2V0VGV4dENvbnRlbnQoZWxtLCAnJyk7IH1cbiAgICAgICAgYWRkVm5vZGVzKGVsbSwgbnVsbCwgY2gsIDAsIGNoLmxlbmd0aCAtIDEsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKG9sZENoKSkge1xuICAgICAgICByZW1vdmVWbm9kZXMoZWxtLCBvbGRDaCwgMCwgb2xkQ2gubGVuZ3RoIC0gMSk7XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKG9sZFZub2RlLnRleHQpKSB7XG4gICAgICAgIG5vZGVPcHMuc2V0VGV4dENvbnRlbnQoZWxtLCAnJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChvbGRWbm9kZS50ZXh0ICE9PSB2bm9kZS50ZXh0KSB7XG4gICAgICBub2RlT3BzLnNldFRleHRDb250ZW50KGVsbSwgdm5vZGUudGV4dCk7XG4gICAgfVxuICAgIGlmIChpc0RlZihkYXRhKSkge1xuICAgICAgaWYgKGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnBvc3RwYXRjaCkpIHsgaShvbGRWbm9kZSwgdm5vZGUpOyB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW52b2tlSW5zZXJ0SG9vayAodm5vZGUsIHF1ZXVlLCBpbml0aWFsKSB7XG4gICAgLy8gZGVsYXkgaW5zZXJ0IGhvb2tzIGZvciBjb21wb25lbnQgcm9vdCBub2RlcywgaW52b2tlIHRoZW0gYWZ0ZXIgdGhlXG4gICAgLy8gZWxlbWVudCBpcyByZWFsbHkgaW5zZXJ0ZWRcbiAgICBpZiAoaXNUcnVlKGluaXRpYWwpICYmIGlzRGVmKHZub2RlLnBhcmVudCkpIHtcbiAgICAgIHZub2RlLnBhcmVudC5kYXRhLnBlbmRpbmdJbnNlcnQgPSBxdWV1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBxdWV1ZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBxdWV1ZVtpXS5kYXRhLmhvb2suaW5zZXJ0KHF1ZXVlW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgaHlkcmF0aW9uQmFpbGVkID0gZmFsc2U7XG4gIC8vIGxpc3Qgb2YgbW9kdWxlcyB0aGF0IGNhbiBza2lwIGNyZWF0ZSBob29rIGR1cmluZyBoeWRyYXRpb24gYmVjYXVzZSB0aGV5XG4gIC8vIGFyZSBhbHJlYWR5IHJlbmRlcmVkIG9uIHRoZSBjbGllbnQgb3IgaGFzIG5vIG5lZWQgZm9yIGluaXRpYWxpemF0aW9uXG4gIC8vIE5vdGU6IHN0eWxlIGlzIGV4Y2x1ZGVkIGJlY2F1c2UgaXQgcmVsaWVzIG9uIGluaXRpYWwgY2xvbmUgZm9yIGZ1dHVyZVxuICAvLyBkZWVwIHVwZGF0ZXMgKCM3MDYzKS5cbiAgdmFyIGlzUmVuZGVyZWRNb2R1bGUgPSBtYWtlTWFwKCdhdHRycyxjbGFzcyxzdGF0aWNDbGFzcyxzdGF0aWNTdHlsZSxrZXknKTtcblxuICAvLyBOb3RlOiB0aGlzIGlzIGEgYnJvd3Nlci1vbmx5IGZ1bmN0aW9uIHNvIHdlIGNhbiBhc3N1bWUgZWxtcyBhcmUgRE9NIG5vZGVzLlxuICBmdW5jdGlvbiBoeWRyYXRlIChlbG0sIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIGluVlByZSkge1xuICAgIHZhciBpO1xuICAgIHZhciB0YWcgPSB2bm9kZS50YWc7XG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIHZhciBjaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuO1xuICAgIGluVlByZSA9IGluVlByZSB8fCAoZGF0YSAmJiBkYXRhLnByZSk7XG4gICAgdm5vZGUuZWxtID0gZWxtO1xuXG4gICAgaWYgKGlzVHJ1ZSh2bm9kZS5pc0NvbW1lbnQpICYmIGlzRGVmKHZub2RlLmFzeW5jRmFjdG9yeSkpIHtcbiAgICAgIHZub2RlLmlzQXN5bmNQbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICAvLyBhc3NlcnQgbm9kZSBtYXRjaFxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAoIWFzc2VydE5vZGVNYXRjaChlbG0sIHZub2RlLCBpblZQcmUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5pbml0KSkgeyBpKHZub2RlLCB0cnVlIC8qIGh5ZHJhdGluZyAqLyk7IH1cbiAgICAgIGlmIChpc0RlZihpID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UpKSB7XG4gICAgICAgIC8vIGNoaWxkIGNvbXBvbmVudC4gaXQgc2hvdWxkIGhhdmUgaHlkcmF0ZWQgaXRzIG93biB0cmVlLlxuICAgICAgICBpbml0Q29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNEZWYodGFnKSkge1xuICAgICAgaWYgKGlzRGVmKGNoaWxkcmVuKSkge1xuICAgICAgICAvLyBlbXB0eSBlbGVtZW50LCBhbGxvdyBjbGllbnQgdG8gcGljayB1cCBhbmQgcG9wdWxhdGUgY2hpbGRyZW5cbiAgICAgICAgaWYgKCFlbG0uaGFzQ2hpbGROb2RlcygpKSB7XG4gICAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHYtaHRtbCBhbmQgZG9tUHJvcHM6IGlubmVySFRNTFxuICAgICAgICAgIGlmIChpc0RlZihpID0gZGF0YSkgJiYgaXNEZWYoaSA9IGkuZG9tUHJvcHMpICYmIGlzRGVmKGkgPSBpLmlubmVySFRNTCkpIHtcbiAgICAgICAgICAgIGlmIChpICE9PSBlbG0uaW5uZXJIVE1MKSB7XG4gICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgICAgICFoeWRyYXRpb25CYWlsZWRcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaHlkcmF0aW9uQmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1BhcmVudDogJywgZWxtKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ3NlcnZlciBpbm5lckhUTUw6ICcsIGkpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignY2xpZW50IGlubmVySFRNTDogJywgZWxtLmlubmVySFRNTCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGl0ZXJhdGUgYW5kIGNvbXBhcmUgY2hpbGRyZW4gbGlzdHNcbiAgICAgICAgICAgIHZhciBjaGlsZHJlbk1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgIHZhciBjaGlsZE5vZGUgPSBlbG0uZmlyc3RDaGlsZDtcbiAgICAgICAgICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IGNoaWxkcmVuLmxlbmd0aDsgaSQxKyspIHtcbiAgICAgICAgICAgICAgaWYgKCFjaGlsZE5vZGUgfHwgIWh5ZHJhdGUoY2hpbGROb2RlLCBjaGlsZHJlbltpJDFdLCBpbnNlcnRlZFZub2RlUXVldWUsIGluVlByZSkpIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbk1hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUubmV4dFNpYmxpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBpZiBjaGlsZE5vZGUgaXMgbm90IG51bGwsIGl0IG1lYW5zIHRoZSBhY3R1YWwgY2hpbGROb2RlcyBsaXN0IGlzXG4gICAgICAgICAgICAvLyBsb25nZXIgdGhhbiB0aGUgdmlydHVhbCBjaGlsZHJlbiBsaXN0LlxuICAgICAgICAgICAgaWYgKCFjaGlsZHJlbk1hdGNoIHx8IGNoaWxkTm9kZSkge1xuICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICAhaHlkcmF0aW9uQmFpbGVkXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGh5ZHJhdGlvbkJhaWxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYXJlbnQ6ICcsIGVsbSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdNaXNtYXRjaGluZyBjaGlsZE5vZGVzIHZzLiBWTm9kZXM6ICcsIGVsbS5jaGlsZE5vZGVzLCBjaGlsZHJlbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAgdmFyIGZ1bGxJbnZva2UgPSBmYWxzZTtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIGRhdGEpIHtcbiAgICAgICAgICBpZiAoIWlzUmVuZGVyZWRNb2R1bGUoa2V5KSkge1xuICAgICAgICAgICAgZnVsbEludm9rZSA9IHRydWU7XG4gICAgICAgICAgICBpbnZva2VDcmVhdGVIb29rcyh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghZnVsbEludm9rZSAmJiBkYXRhWydjbGFzcyddKSB7XG4gICAgICAgICAgLy8gZW5zdXJlIGNvbGxlY3RpbmcgZGVwcyBmb3IgZGVlcCBjbGFzcyBiaW5kaW5ncyBmb3IgZnV0dXJlIHVwZGF0ZXNcbiAgICAgICAgICB0cmF2ZXJzZShkYXRhWydjbGFzcyddKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZWxtLmRhdGEgIT09IHZub2RlLnRleHQpIHtcbiAgICAgIGVsbS5kYXRhID0gdm5vZGUudGV4dDtcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGZ1bmN0aW9uIGFzc2VydE5vZGVNYXRjaCAobm9kZSwgdm5vZGUsIGluVlByZSkge1xuICAgIGlmIChpc0RlZih2bm9kZS50YWcpKSB7XG4gICAgICByZXR1cm4gdm5vZGUudGFnLmluZGV4T2YoJ3Z1ZS1jb21wb25lbnQnKSA9PT0gMCB8fCAoXG4gICAgICAgICFpc1Vua25vd25FbGVtZW50JCQxKHZub2RlLCBpblZQcmUpICYmXG4gICAgICAgIHZub2RlLnRhZy50b0xvd2VyQ2FzZSgpID09PSAobm9kZS50YWdOYW1lICYmIG5vZGUudGFnTmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbm9kZS5ub2RlVHlwZSA9PT0gKHZub2RlLmlzQ29tbWVudCA/IDggOiAzKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiBwYXRjaCAob2xkVm5vZGUsIHZub2RlLCBoeWRyYXRpbmcsIHJlbW92ZU9ubHkpIHtcbiAgICBpZiAoaXNVbmRlZih2bm9kZSkpIHtcbiAgICAgIGlmIChpc0RlZihvbGRWbm9kZSkpIHsgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpOyB9XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgaXNJbml0aWFsUGF0Y2ggPSBmYWxzZTtcbiAgICB2YXIgaW5zZXJ0ZWRWbm9kZVF1ZXVlID0gW107XG5cbiAgICBpZiAoaXNVbmRlZihvbGRWbm9kZSkpIHtcbiAgICAgIC8vIGVtcHR5IG1vdW50IChsaWtlbHkgYXMgY29tcG9uZW50KSwgY3JlYXRlIG5ldyByb290IGVsZW1lbnRcbiAgICAgIGlzSW5pdGlhbFBhdGNoID0gdHJ1ZTtcbiAgICAgIGNyZWF0ZUVsbSh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGlzUmVhbEVsZW1lbnQgPSBpc0RlZihvbGRWbm9kZS5ub2RlVHlwZSk7XG4gICAgICBpZiAoIWlzUmVhbEVsZW1lbnQgJiYgc2FtZVZub2RlKG9sZFZub2RlLCB2bm9kZSkpIHtcbiAgICAgICAgLy8gcGF0Y2ggZXhpc3Rpbmcgcm9vdCBub2RlXG4gICAgICAgIHBhdGNoVm5vZGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG51bGwsIG51bGwsIHJlbW92ZU9ubHkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGlzUmVhbEVsZW1lbnQpIHtcbiAgICAgICAgICAvLyBtb3VudGluZyB0byBhIHJlYWwgZWxlbWVudFxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoaXMgaXMgc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQgYW5kIGlmIHdlIGNhbiBwZXJmb3JtXG4gICAgICAgICAgLy8gYSBzdWNjZXNzZnVsIGh5ZHJhdGlvbi5cbiAgICAgICAgICBpZiAob2xkVm5vZGUubm9kZVR5cGUgPT09IDEgJiYgb2xkVm5vZGUuaGFzQXR0cmlidXRlKFNTUl9BVFRSKSkge1xuICAgICAgICAgICAgb2xkVm5vZGUucmVtb3ZlQXR0cmlidXRlKFNTUl9BVFRSKTtcbiAgICAgICAgICAgIGh5ZHJhdGluZyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc1RydWUoaHlkcmF0aW5nKSkge1xuICAgICAgICAgICAgaWYgKGh5ZHJhdGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpKSB7XG4gICAgICAgICAgICAgIGludm9rZUluc2VydEhvb2sodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgIHJldHVybiBvbGRWbm9kZVxuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAgICAgJ1RoZSBjbGllbnQtc2lkZSByZW5kZXJlZCB2aXJ0dWFsIERPTSB0cmVlIGlzIG5vdCBtYXRjaGluZyAnICtcbiAgICAgICAgICAgICAgICAnc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQuIFRoaXMgaXMgbGlrZWx5IGNhdXNlZCBieSBpbmNvcnJlY3QgJyArXG4gICAgICAgICAgICAgICAgJ0hUTUwgbWFya3VwLCBmb3IgZXhhbXBsZSBuZXN0aW5nIGJsb2NrLWxldmVsIGVsZW1lbnRzIGluc2lkZSAnICtcbiAgICAgICAgICAgICAgICAnPHA+LCBvciBtaXNzaW5nIDx0Ym9keT4uIEJhaWxpbmcgaHlkcmF0aW9uIGFuZCBwZXJmb3JtaW5nICcgK1xuICAgICAgICAgICAgICAgICdmdWxsIGNsaWVudC1zaWRlIHJlbmRlci4nXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVpdGhlciBub3Qgc2VydmVyLXJlbmRlcmVkLCBvciBoeWRyYXRpb24gZmFpbGVkLlxuICAgICAgICAgIC8vIGNyZWF0ZSBhbiBlbXB0eSBub2RlIGFuZCByZXBsYWNlIGl0XG4gICAgICAgICAgb2xkVm5vZGUgPSBlbXB0eU5vZGVBdChvbGRWbm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZXBsYWNpbmcgZXhpc3RpbmcgZWxlbWVudFxuICAgICAgICB2YXIgb2xkRWxtID0gb2xkVm5vZGUuZWxtO1xuICAgICAgICB2YXIgcGFyZW50RWxtID0gbm9kZU9wcy5wYXJlbnROb2RlKG9sZEVsbSk7XG5cbiAgICAgICAgLy8gY3JlYXRlIG5ldyBub2RlXG4gICAgICAgIGNyZWF0ZUVsbShcbiAgICAgICAgICB2bm9kZSxcbiAgICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUsXG4gICAgICAgICAgLy8gZXh0cmVtZWx5IHJhcmUgZWRnZSBjYXNlOiBkbyBub3QgaW5zZXJ0IGlmIG9sZCBlbGVtZW50IGlzIGluIGFcbiAgICAgICAgICAvLyBsZWF2aW5nIHRyYW5zaXRpb24uIE9ubHkgaGFwcGVucyB3aGVuIGNvbWJpbmluZyB0cmFuc2l0aW9uICtcbiAgICAgICAgICAvLyBrZWVwLWFsaXZlICsgSE9Dcy4gKCM0NTkwKVxuICAgICAgICAgIG9sZEVsbS5fbGVhdmVDYiA/IG51bGwgOiBwYXJlbnRFbG0sXG4gICAgICAgICAgbm9kZU9wcy5uZXh0U2libGluZyhvbGRFbG0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gdXBkYXRlIHBhcmVudCBwbGFjZWhvbGRlciBub2RlIGVsZW1lbnQsIHJlY3Vyc2l2ZWx5XG4gICAgICAgIGlmIChpc0RlZih2bm9kZS5wYXJlbnQpKSB7XG4gICAgICAgICAgdmFyIGFuY2VzdG9yID0gdm5vZGUucGFyZW50O1xuICAgICAgICAgIHZhciBwYXRjaGFibGUgPSBpc1BhdGNoYWJsZSh2bm9kZSk7XG4gICAgICAgICAgd2hpbGUgKGFuY2VzdG9yKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNicy5kZXN0cm95Lmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgIGNicy5kZXN0cm95W2ldKGFuY2VzdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFuY2VzdG9yLmVsbSA9IHZub2RlLmVsbTtcbiAgICAgICAgICAgIGlmIChwYXRjaGFibGUpIHtcbiAgICAgICAgICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgY2JzLmNyZWF0ZS5sZW5ndGg7ICsraSQxKSB7XG4gICAgICAgICAgICAgICAgY2JzLmNyZWF0ZVtpJDFdKGVtcHR5Tm9kZSwgYW5jZXN0b3IpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vICM2NTEzXG4gICAgICAgICAgICAgIC8vIGludm9rZSBpbnNlcnQgaG9va3MgdGhhdCBtYXkgaGF2ZSBiZWVuIG1lcmdlZCBieSBjcmVhdGUgaG9va3MuXG4gICAgICAgICAgICAgIC8vIGUuZy4gZm9yIGRpcmVjdGl2ZXMgdGhhdCB1c2VzIHRoZSBcImluc2VydGVkXCIgaG9vay5cbiAgICAgICAgICAgICAgdmFyIGluc2VydCA9IGFuY2VzdG9yLmRhdGEuaG9vay5pbnNlcnQ7XG4gICAgICAgICAgICAgIGlmIChpbnNlcnQubWVyZ2VkKSB7XG4gICAgICAgICAgICAgICAgLy8gc3RhcnQgYXQgaW5kZXggMSB0byBhdm9pZCByZS1pbnZva2luZyBjb21wb25lbnQgbW91bnRlZCBob29rXG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSQyID0gMTsgaSQyIDwgaW5zZXJ0LmZucy5sZW5ndGg7IGkkMisrKSB7XG4gICAgICAgICAgICAgICAgICBpbnNlcnQuZm5zW2kkMl0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlZ2lzdGVyUmVmKGFuY2VzdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3IucGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRlc3Ryb3kgb2xkIG5vZGVcbiAgICAgICAgaWYgKGlzRGVmKHBhcmVudEVsbSkpIHtcbiAgICAgICAgICByZW1vdmVWbm9kZXMocGFyZW50RWxtLCBbb2xkVm5vZGVdLCAwLCAwKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RlZihvbGRWbm9kZS50YWcpKSB7XG4gICAgICAgICAgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW52b2tlSW5zZXJ0SG9vayh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBpc0luaXRpYWxQYXRjaCk7XG4gICAgcmV0dXJuIHZub2RlLmVsbVxuICB9XG59XG5cbi8qICAqL1xuXG52YXIgZGlyZWN0aXZlcyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVEaXJlY3RpdmVzLFxuICB1cGRhdGU6IHVwZGF0ZURpcmVjdGl2ZXMsXG4gIGRlc3Ryb3k6IGZ1bmN0aW9uIHVuYmluZERpcmVjdGl2ZXMgKHZub2RlKSB7XG4gICAgdXBkYXRlRGlyZWN0aXZlcyh2bm9kZSwgZW1wdHlOb2RlKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gdXBkYXRlRGlyZWN0aXZlcyAob2xkVm5vZGUsIHZub2RlKSB7XG4gIGlmIChvbGRWbm9kZS5kYXRhLmRpcmVjdGl2ZXMgfHwgdm5vZGUuZGF0YS5kaXJlY3RpdmVzKSB7XG4gICAgX3VwZGF0ZShvbGRWbm9kZSwgdm5vZGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF91cGRhdGUgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgaXNDcmVhdGUgPSBvbGRWbm9kZSA9PT0gZW1wdHlOb2RlO1xuICB2YXIgaXNEZXN0cm95ID0gdm5vZGUgPT09IGVtcHR5Tm9kZTtcbiAgdmFyIG9sZERpcnMgPSBub3JtYWxpemVEaXJlY3RpdmVzJDEob2xkVm5vZGUuZGF0YS5kaXJlY3RpdmVzLCBvbGRWbm9kZS5jb250ZXh0KTtcbiAgdmFyIG5ld0RpcnMgPSBub3JtYWxpemVEaXJlY3RpdmVzJDEodm5vZGUuZGF0YS5kaXJlY3RpdmVzLCB2bm9kZS5jb250ZXh0KTtcblxuICB2YXIgZGlyc1dpdGhJbnNlcnQgPSBbXTtcbiAgdmFyIGRpcnNXaXRoUG9zdHBhdGNoID0gW107XG5cbiAgdmFyIGtleSwgb2xkRGlyLCBkaXI7XG4gIGZvciAoa2V5IGluIG5ld0RpcnMpIHtcbiAgICBvbGREaXIgPSBvbGREaXJzW2tleV07XG4gICAgZGlyID0gbmV3RGlyc1trZXldO1xuICAgIGlmICghb2xkRGlyKSB7XG4gICAgICAvLyBuZXcgZGlyZWN0aXZlLCBiaW5kXG4gICAgICBjYWxsSG9vayQxKGRpciwgJ2JpbmQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgaWYgKGRpci5kZWYgJiYgZGlyLmRlZi5pbnNlcnRlZCkge1xuICAgICAgICBkaXJzV2l0aEluc2VydC5wdXNoKGRpcik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGV4aXN0aW5nIGRpcmVjdGl2ZSwgdXBkYXRlXG4gICAgICBkaXIub2xkVmFsdWUgPSBvbGREaXIudmFsdWU7XG4gICAgICBkaXIub2xkQXJnID0gb2xkRGlyLmFyZztcbiAgICAgIGNhbGxIb29rJDEoZGlyLCAndXBkYXRlJywgdm5vZGUsIG9sZFZub2RlKTtcbiAgICAgIGlmIChkaXIuZGVmICYmIGRpci5kZWYuY29tcG9uZW50VXBkYXRlZCkge1xuICAgICAgICBkaXJzV2l0aFBvc3RwYXRjaC5wdXNoKGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGRpcnNXaXRoSW5zZXJ0Lmxlbmd0aCkge1xuICAgIHZhciBjYWxsSW5zZXJ0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXJzV2l0aEluc2VydC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjYWxsSG9vayQxKGRpcnNXaXRoSW5zZXJ0W2ldLCAnaW5zZXJ0ZWQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgfVxuICAgIH07XG4gICAgaWYgKGlzQ3JlYXRlKSB7XG4gICAgICBtZXJnZVZOb2RlSG9vayh2bm9kZSwgJ2luc2VydCcsIGNhbGxJbnNlcnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYWxsSW5zZXJ0KCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRpcnNXaXRoUG9zdHBhdGNoLmxlbmd0aCkge1xuICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAncG9zdHBhdGNoJywgZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXJzV2l0aFBvc3RwYXRjaC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjYWxsSG9vayQxKGRpcnNXaXRoUG9zdHBhdGNoW2ldLCAnY29tcG9uZW50VXBkYXRlZCcsIHZub2RlLCBvbGRWbm9kZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpZiAoIWlzQ3JlYXRlKSB7XG4gICAgZm9yIChrZXkgaW4gb2xkRGlycykge1xuICAgICAgaWYgKCFuZXdEaXJzW2tleV0pIHtcbiAgICAgICAgLy8gbm8gbG9uZ2VyIHByZXNlbnQsIHVuYmluZFxuICAgICAgICBjYWxsSG9vayQxKG9sZERpcnNba2V5XSwgJ3VuYmluZCcsIG9sZFZub2RlLCBvbGRWbm9kZSwgaXNEZXN0cm95KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGVtcHR5TW9kaWZpZXJzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuZnVuY3Rpb24gbm9ybWFsaXplRGlyZWN0aXZlcyQxIChcbiAgZGlycyxcbiAgdm1cbikge1xuICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgaWYgKCFkaXJzKSB7XG4gICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgcmV0dXJuIHJlc1xuICB9XG4gIHZhciBpLCBkaXI7XG4gIGZvciAoaSA9IDA7IGkgPCBkaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgZGlyID0gZGlyc1tpXTtcbiAgICBpZiAoIWRpci5tb2RpZmllcnMpIHtcbiAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgZGlyLm1vZGlmaWVycyA9IGVtcHR5TW9kaWZpZXJzO1xuICAgIH1cbiAgICByZXNbZ2V0UmF3RGlyTmFtZShkaXIpXSA9IGRpcjtcbiAgICBkaXIuZGVmID0gcmVzb2x2ZUFzc2V0KHZtLiRvcHRpb25zLCAnZGlyZWN0aXZlcycsIGRpci5uYW1lLCB0cnVlKTtcbiAgfVxuICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBnZXRSYXdEaXJOYW1lIChkaXIpIHtcbiAgcmV0dXJuIGRpci5yYXdOYW1lIHx8ICgoZGlyLm5hbWUpICsgXCIuXCIgKyAoT2JqZWN0LmtleXMoZGlyLm1vZGlmaWVycyB8fCB7fSkuam9pbignLicpKSlcbn1cblxuZnVuY3Rpb24gY2FsbEhvb2skMSAoZGlyLCBob29rLCB2bm9kZSwgb2xkVm5vZGUsIGlzRGVzdHJveSkge1xuICB2YXIgZm4gPSBkaXIuZGVmICYmIGRpci5kZWZbaG9va107XG4gIGlmIChmbikge1xuICAgIHRyeSB7XG4gICAgICBmbih2bm9kZS5lbG0sIGRpciwgdm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGhhbmRsZUVycm9yKGUsIHZub2RlLmNvbnRleHQsIChcImRpcmVjdGl2ZSBcIiArIChkaXIubmFtZSkgKyBcIiBcIiArIGhvb2sgKyBcIiBob29rXCIpKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGJhc2VNb2R1bGVzID0gW1xuICByZWYsXG4gIGRpcmVjdGl2ZXNcbl07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB1cGRhdGVBdHRycyAob2xkVm5vZGUsIHZub2RlKSB7XG4gIHZhciBvcHRzID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgaWYgKGlzRGVmKG9wdHMpICYmIG9wdHMuQ3Rvci5vcHRpb25zLmluaGVyaXRBdHRycyA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm5cbiAgfVxuICBpZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRhLmF0dHJzKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEuYXR0cnMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIGtleSwgY3VyLCBvbGQ7XG4gIHZhciBlbG0gPSB2bm9kZS5lbG07XG4gIHZhciBvbGRBdHRycyA9IG9sZFZub2RlLmRhdGEuYXR0cnMgfHwge307XG4gIHZhciBhdHRycyA9IHZub2RlLmRhdGEuYXR0cnMgfHwge307XG4gIC8vIGNsb25lIG9ic2VydmVkIG9iamVjdHMsIGFzIHRoZSB1c2VyIHByb2JhYmx5IHdhbnRzIHRvIG11dGF0ZSBpdFxuICBpZiAoaXNEZWYoYXR0cnMuX19vYl9fKSkge1xuICAgIGF0dHJzID0gdm5vZGUuZGF0YS5hdHRycyA9IGV4dGVuZCh7fSwgYXR0cnMpO1xuICB9XG5cbiAgZm9yIChrZXkgaW4gYXR0cnMpIHtcbiAgICBjdXIgPSBhdHRyc1trZXldO1xuICAgIG9sZCA9IG9sZEF0dHJzW2tleV07XG4gICAgaWYgKG9sZCAhPT0gY3VyKSB7XG4gICAgICBzZXRBdHRyKGVsbSwga2V5LCBjdXIpO1xuICAgIH1cbiAgfVxuICAvLyAjNDM5MTogaW4gSUU5LCBzZXR0aW5nIHR5cGUgY2FuIHJlc2V0IHZhbHVlIGZvciBpbnB1dFt0eXBlPXJhZGlvXVxuICAvLyAjNjY2NjogSUUvRWRnZSBmb3JjZXMgcHJvZ3Jlc3MgdmFsdWUgZG93biB0byAxIGJlZm9yZSBzZXR0aW5nIGEgbWF4XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoKGlzSUUgfHwgaXNFZGdlKSAmJiBhdHRycy52YWx1ZSAhPT0gb2xkQXR0cnMudmFsdWUpIHtcbiAgICBzZXRBdHRyKGVsbSwgJ3ZhbHVlJywgYXR0cnMudmFsdWUpO1xuICB9XG4gIGZvciAoa2V5IGluIG9sZEF0dHJzKSB7XG4gICAgaWYgKGlzVW5kZWYoYXR0cnNba2V5XSkpIHtcbiAgICAgIGlmIChpc1hsaW5rKGtleSkpIHtcbiAgICAgICAgZWxtLnJlbW92ZUF0dHJpYnV0ZU5TKHhsaW5rTlMsIGdldFhsaW5rUHJvcChrZXkpKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRW51bWVyYXRlZEF0dHIoa2V5KSkge1xuICAgICAgICBlbG0ucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNldEF0dHIgKGVsLCBrZXksIHZhbHVlKSB7XG4gIGlmIChlbC50YWdOYW1lLmluZGV4T2YoJy0nKSA+IC0xKSB7XG4gICAgYmFzZVNldEF0dHIoZWwsIGtleSwgdmFsdWUpO1xuICB9IGVsc2UgaWYgKGlzQm9vbGVhbkF0dHIoa2V5KSkge1xuICAgIC8vIHNldCBhdHRyaWJ1dGUgZm9yIGJsYW5rIHZhbHVlXG4gICAgLy8gZS5nLiA8b3B0aW9uIGRpc2FibGVkPlNlbGVjdCBvbmU8L29wdGlvbj5cbiAgICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0ZWNobmljYWxseSBhbGxvd2Z1bGxzY3JlZW4gaXMgYSBib29sZWFuIGF0dHJpYnV0ZSBmb3IgPGlmcmFtZT4sXG4gICAgICAvLyBidXQgRmxhc2ggZXhwZWN0cyBhIHZhbHVlIG9mIFwidHJ1ZVwiIHdoZW4gdXNlZCBvbiA8ZW1iZWQ+IHRhZ1xuICAgICAgdmFsdWUgPSBrZXkgPT09ICdhbGxvd2Z1bGxzY3JlZW4nICYmIGVsLnRhZ05hbWUgPT09ICdFTUJFRCdcbiAgICAgICAgPyAndHJ1ZSdcbiAgICAgICAgOiBrZXk7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzRW51bWVyYXRlZEF0dHIoa2V5KSkge1xuICAgIGVsLnNldEF0dHJpYnV0ZShrZXksIGNvbnZlcnRFbnVtZXJhdGVkVmFsdWUoa2V5LCB2YWx1ZSkpO1xuICB9IGVsc2UgaWYgKGlzWGxpbmsoa2V5KSkge1xuICAgIGlmIChpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSkge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlTlMoeGxpbmtOUywgZ2V0WGxpbmtQcm9wKGtleSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGVOUyh4bGlua05TLCBrZXksIHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYmFzZVNldEF0dHIoZWwsIGtleSwgdmFsdWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJhc2VTZXRBdHRyIChlbCwga2V5LCB2YWx1ZSkge1xuICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgfSBlbHNlIHtcbiAgICAvLyAjNzEzODogSUUxMCAmIDExIGZpcmVzIGlucHV0IGV2ZW50IHdoZW4gc2V0dGluZyBwbGFjZWhvbGRlciBvblxuICAgIC8vIDx0ZXh0YXJlYT4uLi4gYmxvY2sgdGhlIGZpcnN0IGlucHV0IGV2ZW50IGFuZCByZW1vdmUgdGhlIGJsb2NrZXJcbiAgICAvLyBpbW1lZGlhdGVseS5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoXG4gICAgICBpc0lFICYmICFpc0lFOSAmJlxuICAgICAgZWwudGFnTmFtZSA9PT0gJ1RFWFRBUkVBJyAmJlxuICAgICAga2V5ID09PSAncGxhY2Vob2xkZXInICYmIHZhbHVlICE9PSAnJyAmJiAhZWwuX19pZXBoXG4gICAgKSB7XG4gICAgICB2YXIgYmxvY2tlciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2lucHV0JywgYmxvY2tlcik7XG4gICAgICB9O1xuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBibG9ja2VyKTtcbiAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgZWwuX19pZXBoID0gdHJ1ZTsgLyogSUUgcGxhY2Vob2xkZXIgcGF0Y2hlZCAqL1xuICAgIH1cbiAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCB2YWx1ZSk7XG4gIH1cbn1cblxudmFyIGF0dHJzID0ge1xuICBjcmVhdGU6IHVwZGF0ZUF0dHJzLFxuICB1cGRhdGU6IHVwZGF0ZUF0dHJzXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdXBkYXRlQ2xhc3MgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgZWwgPSB2bm9kZS5lbG07XG4gIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgdmFyIG9sZERhdGEgPSBvbGRWbm9kZS5kYXRhO1xuICBpZiAoXG4gICAgaXNVbmRlZihkYXRhLnN0YXRpY0NsYXNzKSAmJlxuICAgIGlzVW5kZWYoZGF0YS5jbGFzcykgJiYgKFxuICAgICAgaXNVbmRlZihvbGREYXRhKSB8fCAoXG4gICAgICAgIGlzVW5kZWYob2xkRGF0YS5zdGF0aWNDbGFzcykgJiZcbiAgICAgICAgaXNVbmRlZihvbGREYXRhLmNsYXNzKVxuICAgICAgKVxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY2xzID0gZ2VuQ2xhc3NGb3JWbm9kZSh2bm9kZSk7XG5cbiAgLy8gaGFuZGxlIHRyYW5zaXRpb24gY2xhc3Nlc1xuICB2YXIgdHJhbnNpdGlvbkNsYXNzID0gZWwuX3RyYW5zaXRpb25DbGFzc2VzO1xuICBpZiAoaXNEZWYodHJhbnNpdGlvbkNsYXNzKSkge1xuICAgIGNscyA9IGNvbmNhdChjbHMsIHN0cmluZ2lmeUNsYXNzKHRyYW5zaXRpb25DbGFzcykpO1xuICB9XG5cbiAgLy8gc2V0IHRoZSBjbGFzc1xuICBpZiAoY2xzICE9PSBlbC5fcHJldkNsYXNzKSB7XG4gICAgZWwuc2V0QXR0cmlidXRlKCdjbGFzcycsIGNscyk7XG4gICAgZWwuX3ByZXZDbGFzcyA9IGNscztcbiAgfVxufVxuXG52YXIga2xhc3MgPSB7XG4gIGNyZWF0ZTogdXBkYXRlQ2xhc3MsXG4gIHVwZGF0ZTogdXBkYXRlQ2xhc3Ncbn07XG5cbi8qICAqL1xuXG52YXIgdmFsaWREaXZpc2lvbkNoYXJSRSA9IC9bXFx3KS4rXFwtXyRcXF1dLztcblxuZnVuY3Rpb24gcGFyc2VGaWx0ZXJzIChleHApIHtcbiAgdmFyIGluU2luZ2xlID0gZmFsc2U7XG4gIHZhciBpbkRvdWJsZSA9IGZhbHNlO1xuICB2YXIgaW5UZW1wbGF0ZVN0cmluZyA9IGZhbHNlO1xuICB2YXIgaW5SZWdleCA9IGZhbHNlO1xuICB2YXIgY3VybHkgPSAwO1xuICB2YXIgc3F1YXJlID0gMDtcbiAgdmFyIHBhcmVuID0gMDtcbiAgdmFyIGxhc3RGaWx0ZXJJbmRleCA9IDA7XG4gIHZhciBjLCBwcmV2LCBpLCBleHByZXNzaW9uLCBmaWx0ZXJzO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBleHAubGVuZ3RoOyBpKyspIHtcbiAgICBwcmV2ID0gYztcbiAgICBjID0gZXhwLmNoYXJDb2RlQXQoaSk7XG4gICAgaWYgKGluU2luZ2xlKSB7XG4gICAgICBpZiAoYyA9PT0gMHgyNyAmJiBwcmV2ICE9PSAweDVDKSB7IGluU2luZ2xlID0gZmFsc2U7IH1cbiAgICB9IGVsc2UgaWYgKGluRG91YmxlKSB7XG4gICAgICBpZiAoYyA9PT0gMHgyMiAmJiBwcmV2ICE9PSAweDVDKSB7IGluRG91YmxlID0gZmFsc2U7IH1cbiAgICB9IGVsc2UgaWYgKGluVGVtcGxhdGVTdHJpbmcpIHtcbiAgICAgIGlmIChjID09PSAweDYwICYmIHByZXYgIT09IDB4NUMpIHsgaW5UZW1wbGF0ZVN0cmluZyA9IGZhbHNlOyB9XG4gICAgfSBlbHNlIGlmIChpblJlZ2V4KSB7XG4gICAgICBpZiAoYyA9PT0gMHgyZiAmJiBwcmV2ICE9PSAweDVDKSB7IGluUmVnZXggPSBmYWxzZTsgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBjID09PSAweDdDICYmIC8vIHBpcGVcbiAgICAgIGV4cC5jaGFyQ29kZUF0KGkgKyAxKSAhPT0gMHg3QyAmJlxuICAgICAgZXhwLmNoYXJDb2RlQXQoaSAtIDEpICE9PSAweDdDICYmXG4gICAgICAhY3VybHkgJiYgIXNxdWFyZSAmJiAhcGFyZW5cbiAgICApIHtcbiAgICAgIGlmIChleHByZXNzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gZmlyc3QgZmlsdGVyLCBlbmQgb2YgZXhwcmVzc2lvblxuICAgICAgICBsYXN0RmlsdGVySW5kZXggPSBpICsgMTtcbiAgICAgICAgZXhwcmVzc2lvbiA9IGV4cC5zbGljZSgwLCBpKS50cmltKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwdXNoRmlsdGVyKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHN3aXRjaCAoYykge1xuICAgICAgICBjYXNlIDB4MjI6IGluRG91YmxlID0gdHJ1ZTsgYnJlYWsgICAgICAgICAvLyBcIlxuICAgICAgICBjYXNlIDB4Mjc6IGluU2luZ2xlID0gdHJ1ZTsgYnJlYWsgICAgICAgICAvLyAnXG4gICAgICAgIGNhc2UgMHg2MDogaW5UZW1wbGF0ZVN0cmluZyA9IHRydWU7IGJyZWFrIC8vIGBcbiAgICAgICAgY2FzZSAweDI4OiBwYXJlbisrOyBicmVhayAgICAgICAgICAgICAgICAgLy8gKFxuICAgICAgICBjYXNlIDB4Mjk6IHBhcmVuLS07IGJyZWFrICAgICAgICAgICAgICAgICAvLyApXG4gICAgICAgIGNhc2UgMHg1Qjogc3F1YXJlKys7IGJyZWFrICAgICAgICAgICAgICAgIC8vIFtcbiAgICAgICAgY2FzZSAweDVEOiBzcXVhcmUtLTsgYnJlYWsgICAgICAgICAgICAgICAgLy8gXVxuICAgICAgICBjYXNlIDB4N0I6IGN1cmx5Kys7IGJyZWFrICAgICAgICAgICAgICAgICAvLyB7XG4gICAgICAgIGNhc2UgMHg3RDogY3VybHktLTsgYnJlYWsgICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICAgIGlmIChjID09PSAweDJmKSB7IC8vIC9cbiAgICAgICAgdmFyIGogPSBpIC0gMTtcbiAgICAgICAgdmFyIHAgPSAodm9pZCAwKTtcbiAgICAgICAgLy8gZmluZCBmaXJzdCBub24td2hpdGVzcGFjZSBwcmV2IGNoYXJcbiAgICAgICAgZm9yICg7IGogPj0gMDsgai0tKSB7XG4gICAgICAgICAgcCA9IGV4cC5jaGFyQXQoaik7XG4gICAgICAgICAgaWYgKHAgIT09ICcgJykgeyBicmVhayB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFwIHx8ICF2YWxpZERpdmlzaW9uQ2hhclJFLnRlc3QocCkpIHtcbiAgICAgICAgICBpblJlZ2V4ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChleHByZXNzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICBleHByZXNzaW9uID0gZXhwLnNsaWNlKDAsIGkpLnRyaW0oKTtcbiAgfSBlbHNlIGlmIChsYXN0RmlsdGVySW5kZXggIT09IDApIHtcbiAgICBwdXNoRmlsdGVyKCk7XG4gIH1cblxuICBmdW5jdGlvbiBwdXNoRmlsdGVyICgpIHtcbiAgICAoZmlsdGVycyB8fCAoZmlsdGVycyA9IFtdKSkucHVzaChleHAuc2xpY2UobGFzdEZpbHRlckluZGV4LCBpKS50cmltKCkpO1xuICAgIGxhc3RGaWx0ZXJJbmRleCA9IGkgKyAxO1xuICB9XG5cbiAgaWYgKGZpbHRlcnMpIHtcbiAgICBmb3IgKGkgPSAwOyBpIDwgZmlsdGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgZXhwcmVzc2lvbiA9IHdyYXBGaWx0ZXIoZXhwcmVzc2lvbiwgZmlsdGVyc1tpXSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4cHJlc3Npb25cbn1cblxuZnVuY3Rpb24gd3JhcEZpbHRlciAoZXhwLCBmaWx0ZXIpIHtcbiAgdmFyIGkgPSBmaWx0ZXIuaW5kZXhPZignKCcpO1xuICBpZiAoaSA8IDApIHtcbiAgICAvLyBfZjogcmVzb2x2ZUZpbHRlclxuICAgIHJldHVybiAoXCJfZihcXFwiXCIgKyBmaWx0ZXIgKyBcIlxcXCIpKFwiICsgZXhwICsgXCIpXCIpXG4gIH0gZWxzZSB7XG4gICAgdmFyIG5hbWUgPSBmaWx0ZXIuc2xpY2UoMCwgaSk7XG4gICAgdmFyIGFyZ3MgPSBmaWx0ZXIuc2xpY2UoaSArIDEpO1xuICAgIHJldHVybiAoXCJfZihcXFwiXCIgKyBuYW1lICsgXCJcXFwiKShcIiArIGV4cCArIChhcmdzICE9PSAnKScgPyAnLCcgKyBhcmdzIDogYXJncykpXG4gIH1cbn1cblxuLyogICovXG5cblxuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuZnVuY3Rpb24gYmFzZVdhcm4gKG1zZywgcmFuZ2UpIHtcbiAgY29uc29sZS5lcnJvcigoXCJbVnVlIGNvbXBpbGVyXTogXCIgKyBtc2cpKTtcbn1cbi8qIGVzbGludC1lbmFibGUgbm8tdW51c2VkLXZhcnMgKi9cblxuZnVuY3Rpb24gcGx1Y2tNb2R1bGVGdW5jdGlvbiAoXG4gIG1vZHVsZXMsXG4gIGtleVxuKSB7XG4gIHJldHVybiBtb2R1bGVzXG4gICAgPyBtb2R1bGVzLm1hcChmdW5jdGlvbiAobSkgeyByZXR1cm4gbVtrZXldOyB9KS5maWx0ZXIoZnVuY3Rpb24gKF8pIHsgcmV0dXJuIF87IH0pXG4gICAgOiBbXVxufVxuXG5mdW5jdGlvbiBhZGRQcm9wIChlbCwgbmFtZSwgdmFsdWUsIHJhbmdlLCBkeW5hbWljKSB7XG4gIChlbC5wcm9wcyB8fCAoZWwucHJvcHMgPSBbXSkpLnB1c2gocmFuZ2VTZXRJdGVtKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlLCBkeW5hbWljOiBkeW5hbWljIH0sIHJhbmdlKSk7XG4gIGVsLnBsYWluID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHIgKGVsLCBuYW1lLCB2YWx1ZSwgcmFuZ2UsIGR5bmFtaWMpIHtcbiAgdmFyIGF0dHJzID0gZHluYW1pY1xuICAgID8gKGVsLmR5bmFtaWNBdHRycyB8fCAoZWwuZHluYW1pY0F0dHJzID0gW10pKVxuICAgIDogKGVsLmF0dHJzIHx8IChlbC5hdHRycyA9IFtdKSk7XG4gIGF0dHJzLnB1c2gocmFuZ2VTZXRJdGVtKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlLCBkeW5hbWljOiBkeW5hbWljIH0sIHJhbmdlKSk7XG4gIGVsLnBsYWluID0gZmFsc2U7XG59XG5cbi8vIGFkZCBhIHJhdyBhdHRyICh1c2UgdGhpcyBpbiBwcmVUcmFuc2Zvcm1zKVxuZnVuY3Rpb24gYWRkUmF3QXR0ciAoZWwsIG5hbWUsIHZhbHVlLCByYW5nZSkge1xuICBlbC5hdHRyc01hcFtuYW1lXSA9IHZhbHVlO1xuICBlbC5hdHRyc0xpc3QucHVzaChyYW5nZVNldEl0ZW0oeyBuYW1lOiBuYW1lLCB2YWx1ZTogdmFsdWUgfSwgcmFuZ2UpKTtcbn1cblxuZnVuY3Rpb24gYWRkRGlyZWN0aXZlIChcbiAgZWwsXG4gIG5hbWUsXG4gIHJhd05hbWUsXG4gIHZhbHVlLFxuICBhcmcsXG4gIGlzRHluYW1pY0FyZyxcbiAgbW9kaWZpZXJzLFxuICByYW5nZVxuKSB7XG4gIChlbC5kaXJlY3RpdmVzIHx8IChlbC5kaXJlY3RpdmVzID0gW10pKS5wdXNoKHJhbmdlU2V0SXRlbSh7XG4gICAgbmFtZTogbmFtZSxcbiAgICByYXdOYW1lOiByYXdOYW1lLFxuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBhcmc6IGFyZyxcbiAgICBpc0R5bmFtaWNBcmc6IGlzRHluYW1pY0FyZyxcbiAgICBtb2RpZmllcnM6IG1vZGlmaWVyc1xuICB9LCByYW5nZSkpO1xuICBlbC5wbGFpbiA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwcmVwZW5kTW9kaWZpZXJNYXJrZXIgKHN5bWJvbCwgbmFtZSwgZHluYW1pYykge1xuICByZXR1cm4gZHluYW1pY1xuICAgID8gKFwiX3AoXCIgKyBuYW1lICsgXCIsXFxcIlwiICsgc3ltYm9sICsgXCJcXFwiKVwiKVxuICAgIDogc3ltYm9sICsgbmFtZSAvLyBtYXJrIHRoZSBldmVudCBhcyBjYXB0dXJlZFxufVxuXG5mdW5jdGlvbiBhZGRIYW5kbGVyIChcbiAgZWwsXG4gIG5hbWUsXG4gIHZhbHVlLFxuICBtb2RpZmllcnMsXG4gIGltcG9ydGFudCxcbiAgd2FybixcbiAgcmFuZ2UsXG4gIGR5bmFtaWNcbikge1xuICBtb2RpZmllcnMgPSBtb2RpZmllcnMgfHwgZW1wdHlPYmplY3Q7XG4gIC8vIHdhcm4gcHJldmVudCBhbmQgcGFzc2l2ZSBtb2RpZmllclxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKFxuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybiAmJlxuICAgIG1vZGlmaWVycy5wcmV2ZW50ICYmIG1vZGlmaWVycy5wYXNzaXZlXG4gICkge1xuICAgIHdhcm4oXG4gICAgICAncGFzc2l2ZSBhbmQgcHJldmVudCBjYW5cXCd0IGJlIHVzZWQgdG9nZXRoZXIuICcgK1xuICAgICAgJ1Bhc3NpdmUgaGFuZGxlciBjYW5cXCd0IHByZXZlbnQgZGVmYXVsdCBldmVudC4nLFxuICAgICAgcmFuZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gbm9ybWFsaXplIGNsaWNrLnJpZ2h0IGFuZCBjbGljay5taWRkbGUgc2luY2UgdGhleSBkb24ndCBhY3R1YWxseSBmaXJlXG4gIC8vIHRoaXMgaXMgdGVjaG5pY2FsbHkgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGF0IGxlYXN0IGZvciBub3cgYnJvd3NlcnMgYXJlXG4gIC8vIHRoZSBvbmx5IHRhcmdldCBlbnZzIHRoYXQgaGF2ZSByaWdodC9taWRkbGUgY2xpY2tzLlxuICBpZiAobW9kaWZpZXJzLnJpZ2h0KSB7XG4gICAgaWYgKGR5bmFtaWMpIHtcbiAgICAgIG5hbWUgPSBcIihcIiArIG5hbWUgKyBcIik9PT0nY2xpY2snPydjb250ZXh0bWVudSc6KFwiICsgbmFtZSArIFwiKVwiO1xuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2NsaWNrJykge1xuICAgICAgbmFtZSA9ICdjb250ZXh0bWVudSc7XG4gICAgICBkZWxldGUgbW9kaWZpZXJzLnJpZ2h0O1xuICAgIH1cbiAgfSBlbHNlIGlmIChtb2RpZmllcnMubWlkZGxlKSB7XG4gICAgaWYgKGR5bmFtaWMpIHtcbiAgICAgIG5hbWUgPSBcIihcIiArIG5hbWUgKyBcIik9PT0nY2xpY2snPydtb3VzZXVwJzooXCIgKyBuYW1lICsgXCIpXCI7XG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnY2xpY2snKSB7XG4gICAgICBuYW1lID0gJ21vdXNldXAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIGNoZWNrIGNhcHR1cmUgbW9kaWZpZXJcbiAgaWYgKG1vZGlmaWVycy5jYXB0dXJlKSB7XG4gICAgZGVsZXRlIG1vZGlmaWVycy5jYXB0dXJlO1xuICAgIG5hbWUgPSBwcmVwZW5kTW9kaWZpZXJNYXJrZXIoJyEnLCBuYW1lLCBkeW5hbWljKTtcbiAgfVxuICBpZiAobW9kaWZpZXJzLm9uY2UpIHtcbiAgICBkZWxldGUgbW9kaWZpZXJzLm9uY2U7XG4gICAgbmFtZSA9IHByZXBlbmRNb2RpZmllck1hcmtlcignficsIG5hbWUsIGR5bmFtaWMpO1xuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAobW9kaWZpZXJzLnBhc3NpdmUpIHtcbiAgICBkZWxldGUgbW9kaWZpZXJzLnBhc3NpdmU7XG4gICAgbmFtZSA9IHByZXBlbmRNb2RpZmllck1hcmtlcignJicsIG5hbWUsIGR5bmFtaWMpO1xuICB9XG5cbiAgdmFyIGV2ZW50cztcbiAgaWYgKG1vZGlmaWVycy5uYXRpdmUpIHtcbiAgICBkZWxldGUgbW9kaWZpZXJzLm5hdGl2ZTtcbiAgICBldmVudHMgPSBlbC5uYXRpdmVFdmVudHMgfHwgKGVsLm5hdGl2ZUV2ZW50cyA9IHt9KTtcbiAgfSBlbHNlIHtcbiAgICBldmVudHMgPSBlbC5ldmVudHMgfHwgKGVsLmV2ZW50cyA9IHt9KTtcbiAgfVxuXG4gIHZhciBuZXdIYW5kbGVyID0gcmFuZ2VTZXRJdGVtKHsgdmFsdWU6IHZhbHVlLnRyaW0oKSwgZHluYW1pYzogZHluYW1pYyB9LCByYW5nZSk7XG4gIGlmIChtb2RpZmllcnMgIT09IGVtcHR5T2JqZWN0KSB7XG4gICAgbmV3SGFuZGxlci5tb2RpZmllcnMgPSBtb2RpZmllcnM7XG4gIH1cblxuICB2YXIgaGFuZGxlcnMgPSBldmVudHNbbmFtZV07XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoQXJyYXkuaXNBcnJheShoYW5kbGVycykpIHtcbiAgICBpbXBvcnRhbnQgPyBoYW5kbGVycy51bnNoaWZ0KG5ld0hhbmRsZXIpIDogaGFuZGxlcnMucHVzaChuZXdIYW5kbGVyKTtcbiAgfSBlbHNlIGlmIChoYW5kbGVycykge1xuICAgIGV2ZW50c1tuYW1lXSA9IGltcG9ydGFudCA/IFtuZXdIYW5kbGVyLCBoYW5kbGVyc10gOiBbaGFuZGxlcnMsIG5ld0hhbmRsZXJdO1xuICB9IGVsc2Uge1xuICAgIGV2ZW50c1tuYW1lXSA9IG5ld0hhbmRsZXI7XG4gIH1cblxuICBlbC5wbGFpbiA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRSYXdCaW5kaW5nQXR0ciAoXG4gIGVsLFxuICBuYW1lXG4pIHtcbiAgcmV0dXJuIGVsLnJhd0F0dHJzTWFwWyc6JyArIG5hbWVdIHx8XG4gICAgZWwucmF3QXR0cnNNYXBbJ3YtYmluZDonICsgbmFtZV0gfHxcbiAgICBlbC5yYXdBdHRyc01hcFtuYW1lXVxufVxuXG5mdW5jdGlvbiBnZXRCaW5kaW5nQXR0ciAoXG4gIGVsLFxuICBuYW1lLFxuICBnZXRTdGF0aWNcbikge1xuICB2YXIgZHluYW1pY1ZhbHVlID1cbiAgICBnZXRBbmRSZW1vdmVBdHRyKGVsLCAnOicgKyBuYW1lKSB8fFxuICAgIGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWJpbmQ6JyArIG5hbWUpO1xuICBpZiAoZHluYW1pY1ZhbHVlICE9IG51bGwpIHtcbiAgICByZXR1cm4gcGFyc2VGaWx0ZXJzKGR5bmFtaWNWYWx1ZSlcbiAgfSBlbHNlIGlmIChnZXRTdGF0aWMgIT09IGZhbHNlKSB7XG4gICAgdmFyIHN0YXRpY1ZhbHVlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgbmFtZSk7XG4gICAgaWYgKHN0YXRpY1ZhbHVlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShzdGF0aWNWYWx1ZSlcbiAgICB9XG4gIH1cbn1cblxuLy8gbm90ZTogdGhpcyBvbmx5IHJlbW92ZXMgdGhlIGF0dHIgZnJvbSB0aGUgQXJyYXkgKGF0dHJzTGlzdCkgc28gdGhhdCBpdFxuLy8gZG9lc24ndCBnZXQgcHJvY2Vzc2VkIGJ5IHByb2Nlc3NBdHRycy5cbi8vIEJ5IGRlZmF1bHQgaXQgZG9lcyBOT1QgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcCAoYXR0cnNNYXApIGJlY2F1c2UgdGhlIG1hcCBpc1xuLy8gbmVlZGVkIGR1cmluZyBjb2RlZ2VuLlxuZnVuY3Rpb24gZ2V0QW5kUmVtb3ZlQXR0ciAoXG4gIGVsLFxuICBuYW1lLFxuICByZW1vdmVGcm9tTWFwXG4pIHtcbiAgdmFyIHZhbDtcbiAgaWYgKCh2YWwgPSBlbC5hdHRyc01hcFtuYW1lXSkgIT0gbnVsbCkge1xuICAgIHZhciBsaXN0ID0gZWwuYXR0cnNMaXN0O1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gbGlzdC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChsaXN0W2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgbGlzdC5zcGxpY2UoaSwgMSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmIChyZW1vdmVGcm9tTWFwKSB7XG4gICAgZGVsZXRlIGVsLmF0dHJzTWFwW25hbWVdO1xuICB9XG4gIHJldHVybiB2YWxcbn1cblxuZnVuY3Rpb24gZ2V0QW5kUmVtb3ZlQXR0ckJ5UmVnZXggKFxuICBlbCxcbiAgbmFtZVxuKSB7XG4gIHZhciBsaXN0ID0gZWwuYXR0cnNMaXN0O1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGxpc3QubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGF0dHIgPSBsaXN0W2ldO1xuICAgIGlmIChuYW1lLnRlc3QoYXR0ci5uYW1lKSkge1xuICAgICAgbGlzdC5zcGxpY2UoaSwgMSk7XG4gICAgICByZXR1cm4gYXR0clxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByYW5nZVNldEl0ZW0gKFxuICBpdGVtLFxuICByYW5nZVxuKSB7XG4gIGlmIChyYW5nZSkge1xuICAgIGlmIChyYW5nZS5zdGFydCAhPSBudWxsKSB7XG4gICAgICBpdGVtLnN0YXJ0ID0gcmFuZ2Uuc3RhcnQ7XG4gICAgfVxuICAgIGlmIChyYW5nZS5lbmQgIT0gbnVsbCkge1xuICAgICAgaXRlbS5lbmQgPSByYW5nZS5lbmQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBpdGVtXG59XG5cbi8qICAqL1xuXG4vKipcbiAqIENyb3NzLXBsYXRmb3JtIGNvZGUgZ2VuZXJhdGlvbiBmb3IgY29tcG9uZW50IHYtbW9kZWxcbiAqL1xuZnVuY3Rpb24gZ2VuQ29tcG9uZW50TW9kZWwgKFxuICBlbCxcbiAgdmFsdWUsXG4gIG1vZGlmaWVyc1xuKSB7XG4gIHZhciByZWYgPSBtb2RpZmllcnMgfHwge307XG4gIHZhciBudW1iZXIgPSByZWYubnVtYmVyO1xuICB2YXIgdHJpbSA9IHJlZi50cmltO1xuXG4gIHZhciBiYXNlVmFsdWVFeHByZXNzaW9uID0gJyQkdic7XG4gIHZhciB2YWx1ZUV4cHJlc3Npb24gPSBiYXNlVmFsdWVFeHByZXNzaW9uO1xuICBpZiAodHJpbSkge1xuICAgIHZhbHVlRXhwcmVzc2lvbiA9XG4gICAgICBcIih0eXBlb2YgXCIgKyBiYXNlVmFsdWVFeHByZXNzaW9uICsgXCIgPT09ICdzdHJpbmcnXCIgK1xuICAgICAgXCI/IFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiLnRyaW0oKVwiICtcbiAgICAgIFwiOiBcIiArIGJhc2VWYWx1ZUV4cHJlc3Npb24gKyBcIilcIjtcbiAgfVxuICBpZiAobnVtYmVyKSB7XG4gICAgdmFsdWVFeHByZXNzaW9uID0gXCJfbihcIiArIHZhbHVlRXhwcmVzc2lvbiArIFwiKVwiO1xuICB9XG4gIHZhciBhc3NpZ25tZW50ID0gZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIHZhbHVlRXhwcmVzc2lvbik7XG5cbiAgZWwubW9kZWwgPSB7XG4gICAgdmFsdWU6IChcIihcIiArIHZhbHVlICsgXCIpXCIpLFxuICAgIGV4cHJlc3Npb246IEpTT04uc3RyaW5naWZ5KHZhbHVlKSxcbiAgICBjYWxsYmFjazogKFwiZnVuY3Rpb24gKFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiKSB7XCIgKyBhc3NpZ25tZW50ICsgXCJ9XCIpXG4gIH07XG59XG5cbi8qKlxuICogQ3Jvc3MtcGxhdGZvcm0gY29kZWdlbiBoZWxwZXIgZm9yIGdlbmVyYXRpbmcgdi1tb2RlbCB2YWx1ZSBhc3NpZ25tZW50IGNvZGUuXG4gKi9cbmZ1bmN0aW9uIGdlbkFzc2lnbm1lbnRDb2RlIChcbiAgdmFsdWUsXG4gIGFzc2lnbm1lbnRcbikge1xuICB2YXIgcmVzID0gcGFyc2VNb2RlbCh2YWx1ZSk7XG4gIGlmIChyZXMua2V5ID09PSBudWxsKSB7XG4gICAgcmV0dXJuICh2YWx1ZSArIFwiPVwiICsgYXNzaWdubWVudClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKFwiJHNldChcIiArIChyZXMuZXhwKSArIFwiLCBcIiArIChyZXMua2V5KSArIFwiLCBcIiArIGFzc2lnbm1lbnQgKyBcIilcIilcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlIGEgdi1tb2RlbCBleHByZXNzaW9uIGludG8gYSBiYXNlIHBhdGggYW5kIGEgZmluYWwga2V5IHNlZ21lbnQuXG4gKiBIYW5kbGVzIGJvdGggZG90LXBhdGggYW5kIHBvc3NpYmxlIHNxdWFyZSBicmFja2V0cy5cbiAqXG4gKiBQb3NzaWJsZSBjYXNlczpcbiAqXG4gKiAtIHRlc3RcbiAqIC0gdGVzdFtrZXldXG4gKiAtIHRlc3RbdGVzdDFba2V5XV1cbiAqIC0gdGVzdFtcImFcIl1ba2V5XVxuICogLSB4eHgudGVzdFthW2FdLnRlc3QxW2tleV1dXG4gKiAtIHRlc3QueHh4LmFbXCJhc2FcIl1bdGVzdDFba2V5XV1cbiAqXG4gKi9cblxudmFyIGxlbiwgc3RyLCBjaHIsIGluZGV4JDEsIGV4cHJlc3Npb25Qb3MsIGV4cHJlc3Npb25FbmRQb3M7XG5cblxuXG5mdW5jdGlvbiBwYXJzZU1vZGVsICh2YWwpIHtcbiAgLy8gRml4IGh0dHBzOi8vZ2l0aHViLmNvbS92dWVqcy92dWUvcHVsbC83NzMwXG4gIC8vIGFsbG93IHYtbW9kZWw9XCJvYmoudmFsIFwiICh0cmFpbGluZyB3aGl0ZXNwYWNlKVxuICB2YWwgPSB2YWwudHJpbSgpO1xuICBsZW4gPSB2YWwubGVuZ3RoO1xuXG4gIGlmICh2YWwuaW5kZXhPZignWycpIDwgMCB8fCB2YWwubGFzdEluZGV4T2YoJ10nKSA8IGxlbiAtIDEpIHtcbiAgICBpbmRleCQxID0gdmFsLmxhc3RJbmRleE9mKCcuJyk7XG4gICAgaWYgKGluZGV4JDEgPiAtMSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZXhwOiB2YWwuc2xpY2UoMCwgaW5kZXgkMSksXG4gICAgICAgIGtleTogJ1wiJyArIHZhbC5zbGljZShpbmRleCQxICsgMSkgKyAnXCInXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGV4cDogdmFsLFxuICAgICAgICBrZXk6IG51bGxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdHIgPSB2YWw7XG4gIGluZGV4JDEgPSBleHByZXNzaW9uUG9zID0gZXhwcmVzc2lvbkVuZFBvcyA9IDA7XG5cbiAgd2hpbGUgKCFlb2YoKSkge1xuICAgIGNociA9IG5leHQoKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXNTdHJpbmdTdGFydChjaHIpKSB7XG4gICAgICBwYXJzZVN0cmluZyhjaHIpO1xuICAgIH0gZWxzZSBpZiAoY2hyID09PSAweDVCKSB7XG4gICAgICBwYXJzZUJyYWNrZXQoY2hyKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGV4cDogdmFsLnNsaWNlKDAsIGV4cHJlc3Npb25Qb3MpLFxuICAgIGtleTogdmFsLnNsaWNlKGV4cHJlc3Npb25Qb3MgKyAxLCBleHByZXNzaW9uRW5kUG9zKVxuICB9XG59XG5cbmZ1bmN0aW9uIG5leHQgKCkge1xuICByZXR1cm4gc3RyLmNoYXJDb2RlQXQoKytpbmRleCQxKVxufVxuXG5mdW5jdGlvbiBlb2YgKCkge1xuICByZXR1cm4gaW5kZXgkMSA+PSBsZW5cbn1cblxuZnVuY3Rpb24gaXNTdHJpbmdTdGFydCAoY2hyKSB7XG4gIHJldHVybiBjaHIgPT09IDB4MjIgfHwgY2hyID09PSAweDI3XG59XG5cbmZ1bmN0aW9uIHBhcnNlQnJhY2tldCAoY2hyKSB7XG4gIHZhciBpbkJyYWNrZXQgPSAxO1xuICBleHByZXNzaW9uUG9zID0gaW5kZXgkMTtcbiAgd2hpbGUgKCFlb2YoKSkge1xuICAgIGNociA9IG5leHQoKTtcbiAgICBpZiAoaXNTdHJpbmdTdGFydChjaHIpKSB7XG4gICAgICBwYXJzZVN0cmluZyhjaHIpO1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKGNociA9PT0gMHg1QikgeyBpbkJyYWNrZXQrKzsgfVxuICAgIGlmIChjaHIgPT09IDB4NUQpIHsgaW5CcmFja2V0LS07IH1cbiAgICBpZiAoaW5CcmFja2V0ID09PSAwKSB7XG4gICAgICBleHByZXNzaW9uRW5kUG9zID0gaW5kZXgkMTtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlU3RyaW5nIChjaHIpIHtcbiAgdmFyIHN0cmluZ1F1b3RlID0gY2hyO1xuICB3aGlsZSAoIWVvZigpKSB7XG4gICAgY2hyID0gbmV4dCgpO1xuICAgIGlmIChjaHIgPT09IHN0cmluZ1F1b3RlKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIHdhcm4kMTtcblxuLy8gaW4gc29tZSBjYXNlcywgdGhlIGV2ZW50IHVzZWQgaGFzIHRvIGJlIGRldGVybWluZWQgYXQgcnVudGltZVxuLy8gc28gd2UgdXNlZCBzb21lIHJlc2VydmVkIHRva2VucyBkdXJpbmcgY29tcGlsZS5cbnZhciBSQU5HRV9UT0tFTiA9ICdfX3InO1xudmFyIENIRUNLQk9YX1JBRElPX1RPS0VOID0gJ19fYyc7XG5cbmZ1bmN0aW9uIG1vZGVsIChcbiAgZWwsXG4gIGRpcixcbiAgX3dhcm5cbikge1xuICB3YXJuJDEgPSBfd2FybjtcbiAgdmFyIHZhbHVlID0gZGlyLnZhbHVlO1xuICB2YXIgbW9kaWZpZXJzID0gZGlyLm1vZGlmaWVycztcbiAgdmFyIHRhZyA9IGVsLnRhZztcbiAgdmFyIHR5cGUgPSBlbC5hdHRyc01hcC50eXBlO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gaW5wdXRzIHdpdGggdHlwZT1cImZpbGVcIiBhcmUgcmVhZCBvbmx5IGFuZCBzZXR0aW5nIHRoZSBpbnB1dCdzXG4gICAgLy8gdmFsdWUgd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICBpZiAodGFnID09PSAnaW5wdXQnICYmIHR5cGUgPT09ICdmaWxlJykge1xuICAgICAgd2FybiQxKFxuICAgICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1tb2RlbD1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIiB0eXBlPVxcXCJmaWxlXFxcIj46XFxuXCIgK1xuICAgICAgICBcIkZpbGUgaW5wdXRzIGFyZSByZWFkIG9ubHkuIFVzZSBhIHYtb246Y2hhbmdlIGxpc3RlbmVyIGluc3RlYWQuXCIsXG4gICAgICAgIGVsLnJhd0F0dHJzTWFwWyd2LW1vZGVsJ11cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgIGdlbkNvbXBvbmVudE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAvLyBjb21wb25lbnQgdi1tb2RlbCBkb2Vzbid0IG5lZWQgZXh0cmEgcnVudGltZVxuICAgIHJldHVybiBmYWxzZVxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ3NlbGVjdCcpIHtcbiAgICBnZW5TZWxlY3QoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiB0eXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgZ2VuQ2hlY2tib3hNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnaW5wdXQnICYmIHR5cGUgPT09ICdyYWRpbycpIHtcbiAgICBnZW5SYWRpb01vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAndGV4dGFyZWEnKSB7XG4gICAgZ2VuRGVmYXVsdE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgfSBlbHNlIGlmICghY29uZmlnLmlzUmVzZXJ2ZWRUYWcodGFnKSkge1xuICAgIGdlbkNvbXBvbmVudE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAvLyBjb21wb25lbnQgdi1tb2RlbCBkb2Vzbid0IG5lZWQgZXh0cmEgcnVudGltZVxuICAgIHJldHVybiBmYWxzZVxuICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICB3YXJuJDEoXG4gICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1tb2RlbD1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIj46IFwiICtcbiAgICAgIFwidi1tb2RlbCBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgZWxlbWVudCB0eXBlLiBcIiArXG4gICAgICAnSWYgeW91IGFyZSB3b3JraW5nIHdpdGggY29udGVudGVkaXRhYmxlLCBpdFxcJ3MgcmVjb21tZW5kZWQgdG8gJyArXG4gICAgICAnd3JhcCBhIGxpYnJhcnkgZGVkaWNhdGVkIGZvciB0aGF0IHB1cnBvc2UgaW5zaWRlIGEgY3VzdG9tIGNvbXBvbmVudC4nLFxuICAgICAgZWwucmF3QXR0cnNNYXBbJ3YtbW9kZWwnXVxuICAgICk7XG4gIH1cblxuICAvLyBlbnN1cmUgcnVudGltZSBkaXJlY3RpdmUgbWV0YWRhdGFcbiAgcmV0dXJuIHRydWVcbn1cblxuZnVuY3Rpb24gZ2VuQ2hlY2tib3hNb2RlbCAoXG4gIGVsLFxuICB2YWx1ZSxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgdmFyIG51bWJlciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICB2YXIgdmFsdWVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICd2YWx1ZScpIHx8ICdudWxsJztcbiAgdmFyIHRydWVWYWx1ZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3RydWUtdmFsdWUnKSB8fCAndHJ1ZSc7XG4gIHZhciBmYWxzZVZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnZmFsc2UtdmFsdWUnKSB8fCAnZmFsc2UnO1xuICBhZGRQcm9wKGVsLCAnY2hlY2tlZCcsXG4gICAgXCJBcnJheS5pc0FycmF5KFwiICsgdmFsdWUgKyBcIilcIiArXG4gICAgXCI/X2koXCIgKyB2YWx1ZSArIFwiLFwiICsgdmFsdWVCaW5kaW5nICsgXCIpPi0xXCIgKyAoXG4gICAgICB0cnVlVmFsdWVCaW5kaW5nID09PSAndHJ1ZSdcbiAgICAgICAgPyAoXCI6KFwiICsgdmFsdWUgKyBcIilcIilcbiAgICAgICAgOiAoXCI6X3EoXCIgKyB2YWx1ZSArIFwiLFwiICsgdHJ1ZVZhbHVlQmluZGluZyArIFwiKVwiKVxuICAgIClcbiAgKTtcbiAgYWRkSGFuZGxlcihlbCwgJ2NoYW5nZScsXG4gICAgXCJ2YXIgJCRhPVwiICsgdmFsdWUgKyBcIixcIiArXG4gICAgICAgICckJGVsPSRldmVudC50YXJnZXQsJyArXG4gICAgICAgIFwiJCRjPSQkZWwuY2hlY2tlZD8oXCIgKyB0cnVlVmFsdWVCaW5kaW5nICsgXCIpOihcIiArIGZhbHNlVmFsdWVCaW5kaW5nICsgXCIpO1wiICtcbiAgICAnaWYoQXJyYXkuaXNBcnJheSgkJGEpKXsnICtcbiAgICAgIFwidmFyICQkdj1cIiArIChudW1iZXIgPyAnX24oJyArIHZhbHVlQmluZGluZyArICcpJyA6IHZhbHVlQmluZGluZykgKyBcIixcIiArXG4gICAgICAgICAgJyQkaT1faSgkJGEsJCR2KTsnICtcbiAgICAgIFwiaWYoJCRlbC5jaGVja2VkKXskJGk8MCYmKFwiICsgKGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCAnJCRhLmNvbmNhdChbJCR2XSknKSkgKyBcIil9XCIgK1xuICAgICAgXCJlbHNleyQkaT4tMSYmKFwiICsgKGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCAnJCRhLnNsaWNlKDAsJCRpKS5jb25jYXQoJCRhLnNsaWNlKCQkaSsxKSknKSkgKyBcIil9XCIgK1xuICAgIFwifWVsc2V7XCIgKyAoZ2VuQXNzaWdubWVudENvZGUodmFsdWUsICckJGMnKSkgKyBcIn1cIixcbiAgICBudWxsLCB0cnVlXG4gICk7XG59XG5cbmZ1bmN0aW9uIGdlblJhZGlvTW9kZWwgKFxuICBlbCxcbiAgdmFsdWUsXG4gIG1vZGlmaWVyc1xuKSB7XG4gIHZhciBudW1iZXIgPSBtb2RpZmllcnMgJiYgbW9kaWZpZXJzLm51bWJlcjtcbiAgdmFyIHZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAndmFsdWUnKSB8fCAnbnVsbCc7XG4gIHZhbHVlQmluZGluZyA9IG51bWJlciA/IChcIl9uKFwiICsgdmFsdWVCaW5kaW5nICsgXCIpXCIpIDogdmFsdWVCaW5kaW5nO1xuICBhZGRQcm9wKGVsLCAnY2hlY2tlZCcsIChcIl9xKFwiICsgdmFsdWUgKyBcIixcIiArIHZhbHVlQmluZGluZyArIFwiKVwiKSk7XG4gIGFkZEhhbmRsZXIoZWwsICdjaGFuZ2UnLCBnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgdmFsdWVCaW5kaW5nKSwgbnVsbCwgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGdlblNlbGVjdCAoXG4gIGVsLFxuICB2YWx1ZSxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgdmFyIG51bWJlciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICB2YXIgc2VsZWN0ZWRWYWwgPSBcIkFycmF5LnByb3RvdHlwZS5maWx0ZXJcIiArXG4gICAgXCIuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsZnVuY3Rpb24obyl7cmV0dXJuIG8uc2VsZWN0ZWR9KVwiICtcbiAgICBcIi5tYXAoZnVuY3Rpb24obyl7dmFyIHZhbCA9IFxcXCJfdmFsdWVcXFwiIGluIG8gPyBvLl92YWx1ZSA6IG8udmFsdWU7XCIgK1xuICAgIFwicmV0dXJuIFwiICsgKG51bWJlciA/ICdfbih2YWwpJyA6ICd2YWwnKSArIFwifSlcIjtcblxuICB2YXIgYXNzaWdubWVudCA9ICckZXZlbnQudGFyZ2V0Lm11bHRpcGxlID8gJCRzZWxlY3RlZFZhbCA6ICQkc2VsZWN0ZWRWYWxbMF0nO1xuICB2YXIgY29kZSA9IFwidmFyICQkc2VsZWN0ZWRWYWwgPSBcIiArIHNlbGVjdGVkVmFsICsgXCI7XCI7XG4gIGNvZGUgPSBjb2RlICsgXCIgXCIgKyAoZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIGFzc2lnbm1lbnQpKTtcbiAgYWRkSGFuZGxlcihlbCwgJ2NoYW5nZScsIGNvZGUsIG51bGwsIHRydWUpO1xufVxuXG5mdW5jdGlvbiBnZW5EZWZhdWx0TW9kZWwgKFxuICBlbCxcbiAgdmFsdWUsXG4gIG1vZGlmaWVyc1xuKSB7XG4gIHZhciB0eXBlID0gZWwuYXR0cnNNYXAudHlwZTtcblxuICAvLyB3YXJuIGlmIHYtYmluZDp2YWx1ZSBjb25mbGljdHMgd2l0aCB2LW1vZGVsXG4gIC8vIGV4Y2VwdCBmb3IgaW5wdXRzIHdpdGggdi1iaW5kOnR5cGVcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICB2YXIgdmFsdWUkMSA9IGVsLmF0dHJzTWFwWyd2LWJpbmQ6dmFsdWUnXSB8fCBlbC5hdHRyc01hcFsnOnZhbHVlJ107XG4gICAgdmFyIHR5cGVCaW5kaW5nID0gZWwuYXR0cnNNYXBbJ3YtYmluZDp0eXBlJ10gfHwgZWwuYXR0cnNNYXBbJzp0eXBlJ107XG4gICAgaWYgKHZhbHVlJDEgJiYgIXR5cGVCaW5kaW5nKSB7XG4gICAgICB2YXIgYmluZGluZyA9IGVsLmF0dHJzTWFwWyd2LWJpbmQ6dmFsdWUnXSA/ICd2LWJpbmQ6dmFsdWUnIDogJzp2YWx1ZSc7XG4gICAgICB3YXJuJDEoXG4gICAgICAgIGJpbmRpbmcgKyBcIj1cXFwiXCIgKyB2YWx1ZSQxICsgXCJcXFwiIGNvbmZsaWN0cyB3aXRoIHYtbW9kZWwgb24gdGhlIHNhbWUgZWxlbWVudCBcIiArXG4gICAgICAgICdiZWNhdXNlIHRoZSBsYXR0ZXIgYWxyZWFkeSBleHBhbmRzIHRvIGEgdmFsdWUgYmluZGluZyBpbnRlcm5hbGx5JyxcbiAgICAgICAgZWwucmF3QXR0cnNNYXBbYmluZGluZ11cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdmFyIHJlZiA9IG1vZGlmaWVycyB8fCB7fTtcbiAgdmFyIGxhenkgPSByZWYubGF6eTtcbiAgdmFyIG51bWJlciA9IHJlZi5udW1iZXI7XG4gIHZhciB0cmltID0gcmVmLnRyaW07XG4gIHZhciBuZWVkQ29tcG9zaXRpb25HdWFyZCA9ICFsYXp5ICYmIHR5cGUgIT09ICdyYW5nZSc7XG4gIHZhciBldmVudCA9IGxhenlcbiAgICA/ICdjaGFuZ2UnXG4gICAgOiB0eXBlID09PSAncmFuZ2UnXG4gICAgICA/IFJBTkdFX1RPS0VOXG4gICAgICA6ICdpbnB1dCc7XG5cbiAgdmFyIHZhbHVlRXhwcmVzc2lvbiA9ICckZXZlbnQudGFyZ2V0LnZhbHVlJztcbiAgaWYgKHRyaW0pIHtcbiAgICB2YWx1ZUV4cHJlc3Npb24gPSBcIiRldmVudC50YXJnZXQudmFsdWUudHJpbSgpXCI7XG4gIH1cbiAgaWYgKG51bWJlcikge1xuICAgIHZhbHVlRXhwcmVzc2lvbiA9IFwiX24oXCIgKyB2YWx1ZUV4cHJlc3Npb24gKyBcIilcIjtcbiAgfVxuXG4gIHZhciBjb2RlID0gZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIHZhbHVlRXhwcmVzc2lvbik7XG4gIGlmIChuZWVkQ29tcG9zaXRpb25HdWFyZCkge1xuICAgIGNvZGUgPSBcImlmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXJldHVybjtcIiArIGNvZGU7XG4gIH1cblxuICBhZGRQcm9wKGVsLCAndmFsdWUnLCAoXCIoXCIgKyB2YWx1ZSArIFwiKVwiKSk7XG4gIGFkZEhhbmRsZXIoZWwsIGV2ZW50LCBjb2RlLCBudWxsLCB0cnVlKTtcbiAgaWYgKHRyaW0gfHwgbnVtYmVyKSB7XG4gICAgYWRkSGFuZGxlcihlbCwgJ2JsdXInLCAnJGZvcmNlVXBkYXRlKCknKTtcbiAgfVxufVxuXG4vKiAgKi9cblxuLy8gbm9ybWFsaXplIHYtbW9kZWwgZXZlbnQgdG9rZW5zIHRoYXQgY2FuIG9ubHkgYmUgZGV0ZXJtaW5lZCBhdCBydW50aW1lLlxuLy8gaXQncyBpbXBvcnRhbnQgdG8gcGxhY2UgdGhlIGV2ZW50IGFzIHRoZSBmaXJzdCBpbiB0aGUgYXJyYXkgYmVjYXVzZVxuLy8gdGhlIHdob2xlIHBvaW50IGlzIGVuc3VyaW5nIHRoZSB2LW1vZGVsIGNhbGxiYWNrIGdldHMgY2FsbGVkIGJlZm9yZVxuLy8gdXNlci1hdHRhY2hlZCBoYW5kbGVycy5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUV2ZW50cyAob24pIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0RlZihvbltSQU5HRV9UT0tFTl0pKSB7XG4gICAgLy8gSUUgaW5wdXRbdHlwZT1yYW5nZV0gb25seSBzdXBwb3J0cyBgY2hhbmdlYCBldmVudFxuICAgIHZhciBldmVudCA9IGlzSUUgPyAnY2hhbmdlJyA6ICdpbnB1dCc7XG4gICAgb25bZXZlbnRdID0gW10uY29uY2F0KG9uW1JBTkdFX1RPS0VOXSwgb25bZXZlbnRdIHx8IFtdKTtcbiAgICBkZWxldGUgb25bUkFOR0VfVE9LRU5dO1xuICB9XG4gIC8vIFRoaXMgd2FzIG9yaWdpbmFsbHkgaW50ZW5kZWQgdG8gZml4ICM0NTIxIGJ1dCBubyBsb25nZXIgbmVjZXNzYXJ5XG4gIC8vIGFmdGVyIDIuNS4gS2VlcGluZyBpdCBmb3IgYmFja3dhcmRzIGNvbXBhdCB3aXRoIGdlbmVyYXRlZCBjb2RlIGZyb20gPCAyLjRcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0RlZihvbltDSEVDS0JPWF9SQURJT19UT0tFTl0pKSB7XG4gICAgb24uY2hhbmdlID0gW10uY29uY2F0KG9uW0NIRUNLQk9YX1JBRElPX1RPS0VOXSwgb24uY2hhbmdlIHx8IFtdKTtcbiAgICBkZWxldGUgb25bQ0hFQ0tCT1hfUkFESU9fVE9LRU5dO1xuICB9XG59XG5cbnZhciB0YXJnZXQkMTtcblxuZnVuY3Rpb24gY3JlYXRlT25jZUhhbmRsZXIkMSAoZXZlbnQsIGhhbmRsZXIsIGNhcHR1cmUpIHtcbiAgdmFyIF90YXJnZXQgPSB0YXJnZXQkMTsgLy8gc2F2ZSBjdXJyZW50IHRhcmdldCBlbGVtZW50IGluIGNsb3N1cmVcbiAgcmV0dXJuIGZ1bmN0aW9uIG9uY2VIYW5kbGVyICgpIHtcbiAgICB2YXIgcmVzID0gaGFuZGxlci5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgIGlmIChyZXMgIT09IG51bGwpIHtcbiAgICAgIHJlbW92ZSQyKGV2ZW50LCBvbmNlSGFuZGxlciwgY2FwdHVyZSwgX3RhcmdldCk7XG4gICAgfVxuICB9XG59XG5cbi8vICM5NDQ2OiBGaXJlZm94IDw9IDUzIChpbiBwYXJ0aWN1bGFyLCBFU1IgNTIpIGhhcyBpbmNvcnJlY3QgRXZlbnQudGltZVN0YW1wXG4vLyBpbXBsZW1lbnRhdGlvbiBhbmQgZG9lcyBub3QgZmlyZSBtaWNyb3Rhc2tzIGluIGJldHdlZW4gZXZlbnQgcHJvcGFnYXRpb24sIHNvXG4vLyBzYWZlIHRvIGV4Y2x1ZGUuXG52YXIgdXNlTWljcm90YXNrRml4ID0gaXNVc2luZ01pY3JvVGFzayAmJiAhKGlzRkYgJiYgTnVtYmVyKGlzRkZbMV0pIDw9IDUzKTtcblxuZnVuY3Rpb24gYWRkJDEgKFxuICBuYW1lLFxuICBoYW5kbGVyLFxuICBjYXB0dXJlLFxuICBwYXNzaXZlXG4pIHtcbiAgLy8gYXN5bmMgZWRnZSBjYXNlICM2NTY2OiBpbm5lciBjbGljayBldmVudCB0cmlnZ2VycyBwYXRjaCwgZXZlbnQgaGFuZGxlclxuICAvLyBhdHRhY2hlZCB0byBvdXRlciBlbGVtZW50IGR1cmluZyBwYXRjaCwgYW5kIHRyaWdnZXJlZCBhZ2Fpbi4gVGhpc1xuICAvLyBoYXBwZW5zIGJlY2F1c2UgYnJvd3NlcnMgZmlyZSBtaWNyb3Rhc2sgdGlja3MgYmV0d2VlbiBldmVudCBwcm9wYWdhdGlvbi5cbiAgLy8gdGhlIHNvbHV0aW9uIGlzIHNpbXBsZTogd2Ugc2F2ZSB0aGUgdGltZXN0YW1wIHdoZW4gYSBoYW5kbGVyIGlzIGF0dGFjaGVkLFxuICAvLyBhbmQgdGhlIGhhbmRsZXIgd291bGQgb25seSBmaXJlIGlmIHRoZSBldmVudCBwYXNzZWQgdG8gaXQgd2FzIGZpcmVkXG4gIC8vIEFGVEVSIGl0IHdhcyBhdHRhY2hlZC5cbiAgaWYgKHVzZU1pY3JvdGFza0ZpeCkge1xuICAgIHZhciBhdHRhY2hlZFRpbWVzdGFtcCA9IGN1cnJlbnRGbHVzaFRpbWVzdGFtcDtcbiAgICB2YXIgb3JpZ2luYWwgPSBoYW5kbGVyO1xuICAgIGhhbmRsZXIgPSBvcmlnaW5hbC5fd3JhcHBlciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICBpZiAoXG4gICAgICAgIC8vIG5vIGJ1YmJsaW5nLCBzaG91bGQgYWx3YXlzIGZpcmUuXG4gICAgICAgIC8vIHRoaXMgaXMganVzdCBhIHNhZmV0eSBuZXQgaW4gY2FzZSBldmVudC50aW1lU3RhbXAgaXMgdW5yZWxpYWJsZSBpblxuICAgICAgICAvLyBjZXJ0YWluIHdlaXJkIGVudmlyb25tZW50cy4uLlxuICAgICAgICBlLnRhcmdldCA9PT0gZS5jdXJyZW50VGFyZ2V0IHx8XG4gICAgICAgIC8vIGV2ZW50IGlzIGZpcmVkIGFmdGVyIGhhbmRsZXIgYXR0YWNobWVudFxuICAgICAgICBlLnRpbWVTdGFtcCA+PSBhdHRhY2hlZFRpbWVzdGFtcCB8fFxuICAgICAgICAvLyBiYWlsIGZvciBlbnZpcm9ubWVudHMgdGhhdCBoYXZlIGJ1Z2d5IGV2ZW50LnRpbWVTdGFtcCBpbXBsZW1lbnRhdGlvbnNcbiAgICAgICAgLy8gIzk0NjIgaU9TIDkgYnVnOiBldmVudC50aW1lU3RhbXAgaXMgMCBhZnRlciBoaXN0b3J5LnB1c2hTdGF0ZVxuICAgICAgICAvLyAjOTY4MSBRdFdlYkVuZ2luZSBldmVudC50aW1lU3RhbXAgaXMgbmVnYXRpdmUgdmFsdWVcbiAgICAgICAgZS50aW1lU3RhbXAgPD0gMCB8fFxuICAgICAgICAvLyAjOTQ0OCBiYWlsIGlmIGV2ZW50IGlzIGZpcmVkIGluIGFub3RoZXIgZG9jdW1lbnQgaW4gYSBtdWx0aS1wYWdlXG4gICAgICAgIC8vIGVsZWN0cm9uL253LmpzIGFwcCwgc2luY2UgZXZlbnQudGltZVN0YW1wIHdpbGwgYmUgdXNpbmcgYSBkaWZmZXJlbnRcbiAgICAgICAgLy8gc3RhcnRpbmcgcmVmZXJlbmNlXG4gICAgICAgIGUudGFyZ2V0Lm93bmVyRG9jdW1lbnQgIT09IGRvY3VtZW50XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHRhcmdldCQxLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgbmFtZSxcbiAgICBoYW5kbGVyLFxuICAgIHN1cHBvcnRzUGFzc2l2ZVxuICAgICAgPyB7IGNhcHR1cmU6IGNhcHR1cmUsIHBhc3NpdmU6IHBhc3NpdmUgfVxuICAgICAgOiBjYXB0dXJlXG4gICk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZSQyIChcbiAgbmFtZSxcbiAgaGFuZGxlcixcbiAgY2FwdHVyZSxcbiAgX3RhcmdldFxuKSB7XG4gIChfdGFyZ2V0IHx8IHRhcmdldCQxKS5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgIG5hbWUsXG4gICAgaGFuZGxlci5fd3JhcHBlciB8fCBoYW5kbGVyLFxuICAgIGNhcHR1cmVcbiAgKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlRE9NTGlzdGVuZXJzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgaWYgKGlzVW5kZWYob2xkVm5vZGUuZGF0YS5vbikgJiYgaXNVbmRlZih2bm9kZS5kYXRhLm9uKSkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvbiA9IHZub2RlLmRhdGEub24gfHwge307XG4gIHZhciBvbGRPbiA9IG9sZFZub2RlLmRhdGEub24gfHwge307XG4gIHRhcmdldCQxID0gdm5vZGUuZWxtO1xuICBub3JtYWxpemVFdmVudHMob24pO1xuICB1cGRhdGVMaXN0ZW5lcnMob24sIG9sZE9uLCBhZGQkMSwgcmVtb3ZlJDIsIGNyZWF0ZU9uY2VIYW5kbGVyJDEsIHZub2RlLmNvbnRleHQpO1xuICB0YXJnZXQkMSA9IHVuZGVmaW5lZDtcbn1cblxudmFyIGV2ZW50cyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVET01MaXN0ZW5lcnMsXG4gIHVwZGF0ZTogdXBkYXRlRE9NTGlzdGVuZXJzXG59O1xuXG4vKiAgKi9cblxudmFyIHN2Z0NvbnRhaW5lcjtcblxuZnVuY3Rpb24gdXBkYXRlRE9NUHJvcHMgKG9sZFZub2RlLCB2bm9kZSkge1xuICBpZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRhLmRvbVByb3BzKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEuZG9tUHJvcHMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIGtleSwgY3VyO1xuICB2YXIgZWxtID0gdm5vZGUuZWxtO1xuICB2YXIgb2xkUHJvcHMgPSBvbGRWbm9kZS5kYXRhLmRvbVByb3BzIHx8IHt9O1xuICB2YXIgcHJvcHMgPSB2bm9kZS5kYXRhLmRvbVByb3BzIHx8IHt9O1xuICAvLyBjbG9uZSBvYnNlcnZlZCBvYmplY3RzLCBhcyB0aGUgdXNlciBwcm9iYWJseSB3YW50cyB0byBtdXRhdGUgaXRcbiAgaWYgKGlzRGVmKHByb3BzLl9fb2JfXykpIHtcbiAgICBwcm9wcyA9IHZub2RlLmRhdGEuZG9tUHJvcHMgPSBleHRlbmQoe30sIHByb3BzKTtcbiAgfVxuXG4gIGZvciAoa2V5IGluIG9sZFByb3BzKSB7XG4gICAgaWYgKCEoa2V5IGluIHByb3BzKSkge1xuICAgICAgZWxtW2tleV0gPSAnJztcbiAgICB9XG4gIH1cblxuICBmb3IgKGtleSBpbiBwcm9wcykge1xuICAgIGN1ciA9IHByb3BzW2tleV07XG4gICAgLy8gaWdub3JlIGNoaWxkcmVuIGlmIHRoZSBub2RlIGhhcyB0ZXh0Q29udGVudCBvciBpbm5lckhUTUwsXG4gICAgLy8gYXMgdGhlc2Ugd2lsbCB0aHJvdyBhd2F5IGV4aXN0aW5nIERPTSBub2RlcyBhbmQgY2F1c2UgcmVtb3ZhbCBlcnJvcnNcbiAgICAvLyBvbiBzdWJzZXF1ZW50IHBhdGNoZXMgKCMzMzYwKVxuICAgIGlmIChrZXkgPT09ICd0ZXh0Q29udGVudCcgfHwga2V5ID09PSAnaW5uZXJIVE1MJykge1xuICAgICAgaWYgKHZub2RlLmNoaWxkcmVuKSB7IHZub2RlLmNoaWxkcmVuLmxlbmd0aCA9IDA7IH1cbiAgICAgIGlmIChjdXIgPT09IG9sZFByb3BzW2tleV0pIHsgY29udGludWUgfVxuICAgICAgLy8gIzY2MDEgd29yayBhcm91bmQgQ2hyb21lIHZlcnNpb24gPD0gNTUgYnVnIHdoZXJlIHNpbmdsZSB0ZXh0Tm9kZVxuICAgICAgLy8gcmVwbGFjZWQgYnkgaW5uZXJIVE1ML3RleHRDb250ZW50IHJldGFpbnMgaXRzIHBhcmVudE5vZGUgcHJvcGVydHlcbiAgICAgIGlmIChlbG0uY2hpbGROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgZWxtLnJlbW92ZUNoaWxkKGVsbS5jaGlsZE5vZGVzWzBdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSAndmFsdWUnICYmIGVsbS50YWdOYW1lICE9PSAnUFJPR1JFU1MnKSB7XG4gICAgICAvLyBzdG9yZSB2YWx1ZSBhcyBfdmFsdWUgYXMgd2VsbCBzaW5jZVxuICAgICAgLy8gbm9uLXN0cmluZyB2YWx1ZXMgd2lsbCBiZSBzdHJpbmdpZmllZFxuICAgICAgZWxtLl92YWx1ZSA9IGN1cjtcbiAgICAgIC8vIGF2b2lkIHJlc2V0dGluZyBjdXJzb3IgcG9zaXRpb24gd2hlbiB2YWx1ZSBpcyB0aGUgc2FtZVxuICAgICAgdmFyIHN0ckN1ciA9IGlzVW5kZWYoY3VyKSA/ICcnIDogU3RyaW5nKGN1cik7XG4gICAgICBpZiAoc2hvdWxkVXBkYXRlVmFsdWUoZWxtLCBzdHJDdXIpKSB7XG4gICAgICAgIGVsbS52YWx1ZSA9IHN0ckN1cjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2lubmVySFRNTCcgJiYgaXNTVkcoZWxtLnRhZ05hbWUpICYmIGlzVW5kZWYoZWxtLmlubmVySFRNTCkpIHtcbiAgICAgIC8vIElFIGRvZXNuJ3Qgc3VwcG9ydCBpbm5lckhUTUwgZm9yIFNWRyBlbGVtZW50c1xuICAgICAgc3ZnQ29udGFpbmVyID0gc3ZnQ29udGFpbmVyIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgc3ZnQ29udGFpbmVyLmlubmVySFRNTCA9IFwiPHN2Zz5cIiArIGN1ciArIFwiPC9zdmc+XCI7XG4gICAgICB2YXIgc3ZnID0gc3ZnQ29udGFpbmVyLmZpcnN0Q2hpbGQ7XG4gICAgICB3aGlsZSAoZWxtLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgZWxtLnJlbW92ZUNoaWxkKGVsbS5maXJzdENoaWxkKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChzdmcuZmlyc3RDaGlsZCkge1xuICAgICAgICBlbG0uYXBwZW5kQ2hpbGQoc3ZnLmZpcnN0Q2hpbGQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICAvLyBza2lwIHRoZSB1cGRhdGUgaWYgb2xkIGFuZCBuZXcgVkRPTSBzdGF0ZSBpcyB0aGUgc2FtZS5cbiAgICAgIC8vIGB2YWx1ZWAgaXMgaGFuZGxlZCBzZXBhcmF0ZWx5IGJlY2F1c2UgdGhlIERPTSB2YWx1ZSBtYXkgYmUgdGVtcG9yYXJpbHlcbiAgICAgIC8vIG91dCBvZiBzeW5jIHdpdGggVkRPTSBzdGF0ZSBkdWUgdG8gZm9jdXMsIGNvbXBvc2l0aW9uIGFuZCBtb2RpZmllcnMuXG4gICAgICAvLyBUaGlzICAjNDUyMSBieSBza2lwcGluZyB0aGUgdW5uZWNlc2FycnkgYGNoZWNrZWRgIHVwZGF0ZS5cbiAgICAgIGN1ciAhPT0gb2xkUHJvcHNba2V5XVxuICAgICkge1xuICAgICAgLy8gc29tZSBwcm9wZXJ0eSB1cGRhdGVzIGNhbiB0aHJvd1xuICAgICAgLy8gZS5nLiBgdmFsdWVgIG9uIDxwcm9ncmVzcz4gdy8gbm9uLWZpbml0ZSB2YWx1ZVxuICAgICAgdHJ5IHtcbiAgICAgICAgZWxtW2tleV0gPSBjdXI7XG4gICAgICB9IGNhdGNoIChlKSB7fVxuICAgIH1cbiAgfVxufVxuXG4vLyBjaGVjayBwbGF0Zm9ybXMvd2ViL3V0aWwvYXR0cnMuanMgYWNjZXB0VmFsdWVcblxuXG5mdW5jdGlvbiBzaG91bGRVcGRhdGVWYWx1ZSAoZWxtLCBjaGVja1ZhbCkge1xuICByZXR1cm4gKCFlbG0uY29tcG9zaW5nICYmIChcbiAgICBlbG0udGFnTmFtZSA9PT0gJ09QVElPTicgfHxcbiAgICBpc05vdEluRm9jdXNBbmREaXJ0eShlbG0sIGNoZWNrVmFsKSB8fFxuICAgIGlzRGlydHlXaXRoTW9kaWZpZXJzKGVsbSwgY2hlY2tWYWwpXG4gICkpXG59XG5cbmZ1bmN0aW9uIGlzTm90SW5Gb2N1c0FuZERpcnR5IChlbG0sIGNoZWNrVmFsKSB7XG4gIC8vIHJldHVybiB0cnVlIHdoZW4gdGV4dGJveCAoLm51bWJlciBhbmQgLnRyaW0pIGxvc2VzIGZvY3VzIGFuZCBpdHMgdmFsdWUgaXNcbiAgLy8gbm90IGVxdWFsIHRvIHRoZSB1cGRhdGVkIHZhbHVlXG4gIHZhciBub3RJbkZvY3VzID0gdHJ1ZTtcbiAgLy8gIzYxNTdcbiAgLy8gd29yayBhcm91bmQgSUUgYnVnIHdoZW4gYWNjZXNzaW5nIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW4gYW4gaWZyYW1lXG4gIHRyeSB7IG5vdEluRm9jdXMgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBlbG07IH0gY2F0Y2ggKGUpIHt9XG4gIHJldHVybiBub3RJbkZvY3VzICYmIGVsbS52YWx1ZSAhPT0gY2hlY2tWYWxcbn1cblxuZnVuY3Rpb24gaXNEaXJ0eVdpdGhNb2RpZmllcnMgKGVsbSwgbmV3VmFsKSB7XG4gIHZhciB2YWx1ZSA9IGVsbS52YWx1ZTtcbiAgdmFyIG1vZGlmaWVycyA9IGVsbS5fdk1vZGlmaWVyczsgLy8gaW5qZWN0ZWQgYnkgdi1tb2RlbCBydW50aW1lXG4gIGlmIChpc0RlZihtb2RpZmllcnMpKSB7XG4gICAgaWYgKG1vZGlmaWVycy5udW1iZXIpIHtcbiAgICAgIHJldHVybiB0b051bWJlcih2YWx1ZSkgIT09IHRvTnVtYmVyKG5ld1ZhbClcbiAgICB9XG4gICAgaWYgKG1vZGlmaWVycy50cmltKSB7XG4gICAgICByZXR1cm4gdmFsdWUudHJpbSgpICE9PSBuZXdWYWwudHJpbSgpXG4gICAgfVxuICB9XG4gIHJldHVybiB2YWx1ZSAhPT0gbmV3VmFsXG59XG5cbnZhciBkb21Qcm9wcyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVET01Qcm9wcyxcbiAgdXBkYXRlOiB1cGRhdGVET01Qcm9wc1xufTtcblxuLyogICovXG5cbnZhciBwYXJzZVN0eWxlVGV4dCA9IGNhY2hlZChmdW5jdGlvbiAoY3NzVGV4dCkge1xuICB2YXIgcmVzID0ge307XG4gIHZhciBsaXN0RGVsaW1pdGVyID0gLzsoPyFbXihdKlxcKSkvZztcbiAgdmFyIHByb3BlcnR5RGVsaW1pdGVyID0gLzooLispLztcbiAgY3NzVGV4dC5zcGxpdChsaXN0RGVsaW1pdGVyKS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHZhciB0bXAgPSBpdGVtLnNwbGl0KHByb3BlcnR5RGVsaW1pdGVyKTtcbiAgICAgIHRtcC5sZW5ndGggPiAxICYmIChyZXNbdG1wWzBdLnRyaW0oKV0gPSB0bXBbMV0udHJpbSgpKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzXG59KTtcblxuLy8gbWVyZ2Ugc3RhdGljIGFuZCBkeW5hbWljIHN0eWxlIGRhdGEgb24gdGhlIHNhbWUgdm5vZGVcbmZ1bmN0aW9uIG5vcm1hbGl6ZVN0eWxlRGF0YSAoZGF0YSkge1xuICB2YXIgc3R5bGUgPSBub3JtYWxpemVTdHlsZUJpbmRpbmcoZGF0YS5zdHlsZSk7XG4gIC8vIHN0YXRpYyBzdHlsZSBpcyBwcmUtcHJvY2Vzc2VkIGludG8gYW4gb2JqZWN0IGR1cmluZyBjb21waWxhdGlvblxuICAvLyBhbmQgaXMgYWx3YXlzIGEgZnJlc2ggb2JqZWN0LCBzbyBpdCdzIHNhZmUgdG8gbWVyZ2UgaW50byBpdFxuICByZXR1cm4gZGF0YS5zdGF0aWNTdHlsZVxuICAgID8gZXh0ZW5kKGRhdGEuc3RhdGljU3R5bGUsIHN0eWxlKVxuICAgIDogc3R5bGVcbn1cblxuLy8gbm9ybWFsaXplIHBvc3NpYmxlIGFycmF5IC8gc3RyaW5nIHZhbHVlcyBpbnRvIE9iamVjdFxuZnVuY3Rpb24gbm9ybWFsaXplU3R5bGVCaW5kaW5nIChiaW5kaW5nU3R5bGUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoYmluZGluZ1N0eWxlKSkge1xuICAgIHJldHVybiB0b09iamVjdChiaW5kaW5nU3R5bGUpXG4gIH1cbiAgaWYgKHR5cGVvZiBiaW5kaW5nU3R5bGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhcnNlU3R5bGVUZXh0KGJpbmRpbmdTdHlsZSlcbiAgfVxuICByZXR1cm4gYmluZGluZ1N0eWxlXG59XG5cbi8qKlxuICogcGFyZW50IGNvbXBvbmVudCBzdHlsZSBzaG91bGQgYmUgYWZ0ZXIgY2hpbGQnc1xuICogc28gdGhhdCBwYXJlbnQgY29tcG9uZW50J3Mgc3R5bGUgY291bGQgb3ZlcnJpZGUgaXRcbiAqL1xuZnVuY3Rpb24gZ2V0U3R5bGUgKHZub2RlLCBjaGVja0NoaWxkKSB7XG4gIHZhciByZXMgPSB7fTtcbiAgdmFyIHN0eWxlRGF0YTtcblxuICBpZiAoY2hlY2tDaGlsZCkge1xuICAgIHZhciBjaGlsZE5vZGUgPSB2bm9kZTtcbiAgICB3aGlsZSAoY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO1xuICAgICAgaWYgKFxuICAgICAgICBjaGlsZE5vZGUgJiYgY2hpbGROb2RlLmRhdGEgJiZcbiAgICAgICAgKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YShjaGlsZE5vZGUuZGF0YSkpXG4gICAgICApIHtcbiAgICAgICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YSh2bm9kZS5kYXRhKSkpIHtcbiAgICBleHRlbmQocmVzLCBzdHlsZURhdGEpO1xuICB9XG5cbiAgdmFyIHBhcmVudE5vZGUgPSB2bm9kZTtcbiAgd2hpbGUgKChwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSB7XG4gICAgaWYgKHBhcmVudE5vZGUuZGF0YSAmJiAoc3R5bGVEYXRhID0gbm9ybWFsaXplU3R5bGVEYXRhKHBhcmVudE5vZGUuZGF0YSkpKSB7XG4gICAgICBleHRlbmQocmVzLCBzdHlsZURhdGEpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG52YXIgY3NzVmFyUkUgPSAvXi0tLztcbnZhciBpbXBvcnRhbnRSRSA9IC9cXHMqIWltcG9ydGFudCQvO1xudmFyIHNldFByb3AgPSBmdW5jdGlvbiAoZWwsIG5hbWUsIHZhbCkge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGNzc1ZhclJFLnRlc3QobmFtZSkpIHtcbiAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCB2YWwpO1xuICB9IGVsc2UgaWYgKGltcG9ydGFudFJFLnRlc3QodmFsKSkge1xuICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KGh5cGhlbmF0ZShuYW1lKSwgdmFsLnJlcGxhY2UoaW1wb3J0YW50UkUsICcnKSwgJ2ltcG9ydGFudCcpO1xuICB9IGVsc2Uge1xuICAgIHZhciBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZShuYW1lKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAvLyBTdXBwb3J0IHZhbHVlcyBhcnJheSBjcmVhdGVkIGJ5IGF1dG9wcmVmaXhlciwgZS5nLlxuICAgICAgLy8ge2Rpc3BsYXk6IFtcIi13ZWJraXQtYm94XCIsIFwiLW1zLWZsZXhib3hcIiwgXCJmbGV4XCJdfVxuICAgICAgLy8gU2V0IHRoZW0gb25lIGJ5IG9uZSwgYW5kIHRoZSBicm93c2VyIHdpbGwgb25seSBzZXQgdGhvc2UgaXQgY2FuIHJlY29nbml6ZVxuICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHZhbC5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBlbC5zdHlsZVtub3JtYWxpemVkTmFtZV0gPSB2YWxbaV07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnN0eWxlW25vcm1hbGl6ZWROYW1lXSA9IHZhbDtcbiAgICB9XG4gIH1cbn07XG5cbnZhciB2ZW5kb3JOYW1lcyA9IFsnV2Via2l0JywgJ01veicsICdtcyddO1xuXG52YXIgZW1wdHlTdHlsZTtcbnZhciBub3JtYWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHByb3ApIHtcbiAgZW1wdHlTdHlsZSA9IGVtcHR5U3R5bGUgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykuc3R5bGU7XG4gIHByb3AgPSBjYW1lbGl6ZShwcm9wKTtcbiAgaWYgKHByb3AgIT09ICdmaWx0ZXInICYmIChwcm9wIGluIGVtcHR5U3R5bGUpKSB7XG4gICAgcmV0dXJuIHByb3BcbiAgfVxuICB2YXIgY2FwTmFtZSA9IHByb3AuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwcm9wLnNsaWNlKDEpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHZlbmRvck5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIG5hbWUgPSB2ZW5kb3JOYW1lc1tpXSArIGNhcE5hbWU7XG4gICAgaWYgKG5hbWUgaW4gZW1wdHlTdHlsZSkge1xuICAgICAgcmV0dXJuIG5hbWVcbiAgICB9XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiB1cGRhdGVTdHlsZSAob2xkVm5vZGUsIHZub2RlKSB7XG4gIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgdmFyIG9sZERhdGEgPSBvbGRWbm9kZS5kYXRhO1xuXG4gIGlmIChpc1VuZGVmKGRhdGEuc3RhdGljU3R5bGUpICYmIGlzVW5kZWYoZGF0YS5zdHlsZSkgJiZcbiAgICBpc1VuZGVmKG9sZERhdGEuc3RhdGljU3R5bGUpICYmIGlzVW5kZWYob2xkRGF0YS5zdHlsZSlcbiAgKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY3VyLCBuYW1lO1xuICB2YXIgZWwgPSB2bm9kZS5lbG07XG4gIHZhciBvbGRTdGF0aWNTdHlsZSA9IG9sZERhdGEuc3RhdGljU3R5bGU7XG4gIHZhciBvbGRTdHlsZUJpbmRpbmcgPSBvbGREYXRhLm5vcm1hbGl6ZWRTdHlsZSB8fCBvbGREYXRhLnN0eWxlIHx8IHt9O1xuXG4gIC8vIGlmIHN0YXRpYyBzdHlsZSBleGlzdHMsIHN0eWxlYmluZGluZyBhbHJlYWR5IG1lcmdlZCBpbnRvIGl0IHdoZW4gZG9pbmcgbm9ybWFsaXplU3R5bGVEYXRhXG4gIHZhciBvbGRTdHlsZSA9IG9sZFN0YXRpY1N0eWxlIHx8IG9sZFN0eWxlQmluZGluZztcblxuICB2YXIgc3R5bGUgPSBub3JtYWxpemVTdHlsZUJpbmRpbmcodm5vZGUuZGF0YS5zdHlsZSkgfHwge307XG5cbiAgLy8gc3RvcmUgbm9ybWFsaXplZCBzdHlsZSB1bmRlciBhIGRpZmZlcmVudCBrZXkgZm9yIG5leHQgZGlmZlxuICAvLyBtYWtlIHN1cmUgdG8gY2xvbmUgaXQgaWYgaXQncyByZWFjdGl2ZSwgc2luY2UgdGhlIHVzZXIgbGlrZWx5IHdhbnRzXG4gIC8vIHRvIG11dGF0ZSBpdC5cbiAgdm5vZGUuZGF0YS5ub3JtYWxpemVkU3R5bGUgPSBpc0RlZihzdHlsZS5fX29iX18pXG4gICAgPyBleHRlbmQoe30sIHN0eWxlKVxuICAgIDogc3R5bGU7XG5cbiAgdmFyIG5ld1N0eWxlID0gZ2V0U3R5bGUodm5vZGUsIHRydWUpO1xuXG4gIGZvciAobmFtZSBpbiBvbGRTdHlsZSkge1xuICAgIGlmIChpc1VuZGVmKG5ld1N0eWxlW25hbWVdKSkge1xuICAgICAgc2V0UHJvcChlbCwgbmFtZSwgJycpO1xuICAgIH1cbiAgfVxuICBmb3IgKG5hbWUgaW4gbmV3U3R5bGUpIHtcbiAgICBjdXIgPSBuZXdTdHlsZVtuYW1lXTtcbiAgICBpZiAoY3VyICE9PSBvbGRTdHlsZVtuYW1lXSkge1xuICAgICAgLy8gaWU5IHNldHRpbmcgdG8gbnVsbCBoYXMgbm8gZWZmZWN0LCBtdXN0IHVzZSBlbXB0eSBzdHJpbmdcbiAgICAgIHNldFByb3AoZWwsIG5hbWUsIGN1ciA9PSBudWxsID8gJycgOiBjdXIpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgc3R5bGUgPSB7XG4gIGNyZWF0ZTogdXBkYXRlU3R5bGUsXG4gIHVwZGF0ZTogdXBkYXRlU3R5bGVcbn07XG5cbi8qICAqL1xuXG52YXIgd2hpdGVzcGFjZVJFID0gL1xccysvO1xuXG4vKipcbiAqIEFkZCBjbGFzcyB3aXRoIGNvbXBhdGliaWxpdHkgZm9yIFNWRyBzaW5jZSBjbGFzc0xpc3QgaXMgbm90IHN1cHBvcnRlZCBvblxuICogU1ZHIGVsZW1lbnRzIGluIElFXG4gKi9cbmZ1bmN0aW9uIGFkZENsYXNzIChlbCwgY2xzKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoIWNscyB8fCAhKGNscyA9IGNscy50cmltKCkpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgaWYgKGNscy5pbmRleE9mKCcgJykgPiAtMSkge1xuICAgICAgY2xzLnNwbGl0KHdoaXRlc3BhY2VSRSkuZm9yRWFjaChmdW5jdGlvbiAoYykgeyByZXR1cm4gZWwuY2xhc3NMaXN0LmFkZChjKTsgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoY2xzKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGN1ciA9IFwiIFwiICsgKGVsLmdldEF0dHJpYnV0ZSgnY2xhc3MnKSB8fCAnJykgKyBcIiBcIjtcbiAgICBpZiAoY3VyLmluZGV4T2YoJyAnICsgY2xzICsgJyAnKSA8IDApIHtcbiAgICAgIGVsLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAoY3VyICsgY2xzKS50cmltKCkpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZSBjbGFzcyB3aXRoIGNvbXBhdGliaWxpdHkgZm9yIFNWRyBzaW5jZSBjbGFzc0xpc3QgaXMgbm90IHN1cHBvcnRlZCBvblxuICogU1ZHIGVsZW1lbnRzIGluIElFXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZUNsYXNzIChlbCwgY2xzKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoIWNscyB8fCAhKGNscyA9IGNscy50cmltKCkpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgaWYgKGNscy5pbmRleE9mKCcgJykgPiAtMSkge1xuICAgICAgY2xzLnNwbGl0KHdoaXRlc3BhY2VSRSkuZm9yRWFjaChmdW5jdGlvbiAoYykgeyByZXR1cm4gZWwuY2xhc3NMaXN0LnJlbW92ZShjKTsgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoY2xzKTtcbiAgICB9XG4gICAgaWYgKCFlbC5jbGFzc0xpc3QubGVuZ3RoKSB7XG4gICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBjdXIgPSBcIiBcIiArIChlbC5nZXRBdHRyaWJ1dGUoJ2NsYXNzJykgfHwgJycpICsgXCIgXCI7XG4gICAgdmFyIHRhciA9ICcgJyArIGNscyArICcgJztcbiAgICB3aGlsZSAoY3VyLmluZGV4T2YodGFyKSA+PSAwKSB7XG4gICAgICBjdXIgPSBjdXIucmVwbGFjZSh0YXIsICcgJyk7XG4gICAgfVxuICAgIGN1ciA9IGN1ci50cmltKCk7XG4gICAgaWYgKGN1cikge1xuICAgICAgZWwuc2V0QXR0cmlidXRlKCdjbGFzcycsIGN1cik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnY2xhc3MnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIHJlc29sdmVUcmFuc2l0aW9uIChkZWYkJDEpIHtcbiAgaWYgKCFkZWYkJDEpIHtcbiAgICByZXR1cm5cbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAodHlwZW9mIGRlZiQkMSA9PT0gJ29iamVjdCcpIHtcbiAgICB2YXIgcmVzID0ge307XG4gICAgaWYgKGRlZiQkMS5jc3MgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbmQocmVzLCBhdXRvQ3NzVHJhbnNpdGlvbihkZWYkJDEubmFtZSB8fCAndicpKTtcbiAgICB9XG4gICAgZXh0ZW5kKHJlcywgZGVmJCQxKTtcbiAgICByZXR1cm4gcmVzXG4gIH0gZWxzZSBpZiAodHlwZW9mIGRlZiQkMSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gYXV0b0Nzc1RyYW5zaXRpb24oZGVmJCQxKVxuICB9XG59XG5cbnZhciBhdXRvQ3NzVHJhbnNpdGlvbiA9IGNhY2hlZChmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4ge1xuICAgIGVudGVyQ2xhc3M6IChuYW1lICsgXCItZW50ZXJcIiksXG4gICAgZW50ZXJUb0NsYXNzOiAobmFtZSArIFwiLWVudGVyLXRvXCIpLFxuICAgIGVudGVyQWN0aXZlQ2xhc3M6IChuYW1lICsgXCItZW50ZXItYWN0aXZlXCIpLFxuICAgIGxlYXZlQ2xhc3M6IChuYW1lICsgXCItbGVhdmVcIiksXG4gICAgbGVhdmVUb0NsYXNzOiAobmFtZSArIFwiLWxlYXZlLXRvXCIpLFxuICAgIGxlYXZlQWN0aXZlQ2xhc3M6IChuYW1lICsgXCItbGVhdmUtYWN0aXZlXCIpXG4gIH1cbn0pO1xuXG52YXIgaGFzVHJhbnNpdGlvbiA9IGluQnJvd3NlciAmJiAhaXNJRTk7XG52YXIgVFJBTlNJVElPTiA9ICd0cmFuc2l0aW9uJztcbnZhciBBTklNQVRJT04gPSAnYW5pbWF0aW9uJztcblxuLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eS9ldmVudCBzbmlmZmluZ1xudmFyIHRyYW5zaXRpb25Qcm9wID0gJ3RyYW5zaXRpb24nO1xudmFyIHRyYW5zaXRpb25FbmRFdmVudCA9ICd0cmFuc2l0aW9uZW5kJztcbnZhciBhbmltYXRpb25Qcm9wID0gJ2FuaW1hdGlvbic7XG52YXIgYW5pbWF0aW9uRW5kRXZlbnQgPSAnYW5pbWF0aW9uZW5kJztcbmlmIChoYXNUcmFuc2l0aW9uKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAod2luZG93Lm9udHJhbnNpdGlvbmVuZCA9PT0gdW5kZWZpbmVkICYmXG4gICAgd2luZG93Lm9ud2Via2l0dHJhbnNpdGlvbmVuZCAhPT0gdW5kZWZpbmVkXG4gICkge1xuICAgIHRyYW5zaXRpb25Qcm9wID0gJ1dlYmtpdFRyYW5zaXRpb24nO1xuICAgIHRyYW5zaXRpb25FbmRFdmVudCA9ICd3ZWJraXRUcmFuc2l0aW9uRW5kJztcbiAgfVxuICBpZiAod2luZG93Lm9uYW5pbWF0aW9uZW5kID09PSB1bmRlZmluZWQgJiZcbiAgICB3aW5kb3cub253ZWJraXRhbmltYXRpb25lbmQgIT09IHVuZGVmaW5lZFxuICApIHtcbiAgICBhbmltYXRpb25Qcm9wID0gJ1dlYmtpdEFuaW1hdGlvbic7XG4gICAgYW5pbWF0aW9uRW5kRXZlbnQgPSAnd2Via2l0QW5pbWF0aW9uRW5kJztcbiAgfVxufVxuXG4vLyBiaW5kaW5nIHRvIHdpbmRvdyBpcyBuZWNlc3NhcnkgdG8gbWFrZSBob3QgcmVsb2FkIHdvcmsgaW4gSUUgaW4gc3RyaWN0IG1vZGVcbnZhciByYWYgPSBpbkJyb3dzZXJcbiAgPyB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lXG4gICAgPyB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KVxuICAgIDogc2V0VGltZW91dFxuICA6IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIChmbikgeyByZXR1cm4gZm4oKTsgfTtcblxuZnVuY3Rpb24gbmV4dEZyYW1lIChmbikge1xuICByYWYoZnVuY3Rpb24gKCkge1xuICAgIHJhZihmbik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGRUcmFuc2l0aW9uQ2xhc3MgKGVsLCBjbHMpIHtcbiAgdmFyIHRyYW5zaXRpb25DbGFzc2VzID0gZWwuX3RyYW5zaXRpb25DbGFzc2VzIHx8IChlbC5fdHJhbnNpdGlvbkNsYXNzZXMgPSBbXSk7XG4gIGlmICh0cmFuc2l0aW9uQ2xhc3Nlcy5pbmRleE9mKGNscykgPCAwKSB7XG4gICAgdHJhbnNpdGlvbkNsYXNzZXMucHVzaChjbHMpO1xuICAgIGFkZENsYXNzKGVsLCBjbHMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVRyYW5zaXRpb25DbGFzcyAoZWwsIGNscykge1xuICBpZiAoZWwuX3RyYW5zaXRpb25DbGFzc2VzKSB7XG4gICAgcmVtb3ZlKGVsLl90cmFuc2l0aW9uQ2xhc3NlcywgY2xzKTtcbiAgfVxuICByZW1vdmVDbGFzcyhlbCwgY2xzKTtcbn1cblxuZnVuY3Rpb24gd2hlblRyYW5zaXRpb25FbmRzIChcbiAgZWwsXG4gIGV4cGVjdGVkVHlwZSxcbiAgY2Jcbikge1xuICB2YXIgcmVmID0gZ2V0VHJhbnNpdGlvbkluZm8oZWwsIGV4cGVjdGVkVHlwZSk7XG4gIHZhciB0eXBlID0gcmVmLnR5cGU7XG4gIHZhciB0aW1lb3V0ID0gcmVmLnRpbWVvdXQ7XG4gIHZhciBwcm9wQ291bnQgPSByZWYucHJvcENvdW50O1xuICBpZiAoIXR5cGUpIHsgcmV0dXJuIGNiKCkgfVxuICB2YXIgZXZlbnQgPSB0eXBlID09PSBUUkFOU0lUSU9OID8gdHJhbnNpdGlvbkVuZEV2ZW50IDogYW5pbWF0aW9uRW5kRXZlbnQ7XG4gIHZhciBlbmRlZCA9IDA7XG4gIHZhciBlbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgb25FbmQpO1xuICAgIGNiKCk7XG4gIH07XG4gIHZhciBvbkVuZCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKGUudGFyZ2V0ID09PSBlbCkge1xuICAgICAgaWYgKCsrZW5kZWQgPj0gcHJvcENvdW50KSB7XG4gICAgICAgIGVuZCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGVuZGVkIDwgcHJvcENvdW50KSB7XG4gICAgICBlbmQoKTtcbiAgICB9XG4gIH0sIHRpbWVvdXQgKyAxKTtcbiAgZWwuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgb25FbmQpO1xufVxuXG52YXIgdHJhbnNmb3JtUkUgPSAvXFxiKHRyYW5zZm9ybXxhbGwpKCx8JCkvO1xuXG5mdW5jdGlvbiBnZXRUcmFuc2l0aW9uSW5mbyAoZWwsIGV4cGVjdGVkVHlwZSkge1xuICB2YXIgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpO1xuICAvLyBKU0RPTSBtYXkgcmV0dXJuIHVuZGVmaW5lZCBmb3IgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gIHZhciB0cmFuc2l0aW9uRGVsYXlzID0gKHN0eWxlc1t0cmFuc2l0aW9uUHJvcCArICdEZWxheSddIHx8ICcnKS5zcGxpdCgnLCAnKTtcbiAgdmFyIHRyYW5zaXRpb25EdXJhdGlvbnMgPSAoc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ0R1cmF0aW9uJ10gfHwgJycpLnNwbGl0KCcsICcpO1xuICB2YXIgdHJhbnNpdGlvblRpbWVvdXQgPSBnZXRUaW1lb3V0KHRyYW5zaXRpb25EZWxheXMsIHRyYW5zaXRpb25EdXJhdGlvbnMpO1xuICB2YXIgYW5pbWF0aW9uRGVsYXlzID0gKHN0eWxlc1thbmltYXRpb25Qcm9wICsgJ0RlbGF5J10gfHwgJycpLnNwbGl0KCcsICcpO1xuICB2YXIgYW5pbWF0aW9uRHVyYXRpb25zID0gKHN0eWxlc1thbmltYXRpb25Qcm9wICsgJ0R1cmF0aW9uJ10gfHwgJycpLnNwbGl0KCcsICcpO1xuICB2YXIgYW5pbWF0aW9uVGltZW91dCA9IGdldFRpbWVvdXQoYW5pbWF0aW9uRGVsYXlzLCBhbmltYXRpb25EdXJhdGlvbnMpO1xuXG4gIHZhciB0eXBlO1xuICB2YXIgdGltZW91dCA9IDA7XG4gIHZhciBwcm9wQ291bnQgPSAwO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGV4cGVjdGVkVHlwZSA9PT0gVFJBTlNJVElPTikge1xuICAgIGlmICh0cmFuc2l0aW9uVGltZW91dCA+IDApIHtcbiAgICAgIHR5cGUgPSBUUkFOU0lUSU9OO1xuICAgICAgdGltZW91dCA9IHRyYW5zaXRpb25UaW1lb3V0O1xuICAgICAgcHJvcENvdW50ID0gdHJhbnNpdGlvbkR1cmF0aW9ucy5sZW5ndGg7XG4gICAgfVxuICB9IGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0gQU5JTUFUSU9OKSB7XG4gICAgaWYgKGFuaW1hdGlvblRpbWVvdXQgPiAwKSB7XG4gICAgICB0eXBlID0gQU5JTUFUSU9OO1xuICAgICAgdGltZW91dCA9IGFuaW1hdGlvblRpbWVvdXQ7XG4gICAgICBwcm9wQ291bnQgPSBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB0aW1lb3V0ID0gTWF0aC5tYXgodHJhbnNpdGlvblRpbWVvdXQsIGFuaW1hdGlvblRpbWVvdXQpO1xuICAgIHR5cGUgPSB0aW1lb3V0ID4gMFxuICAgICAgPyB0cmFuc2l0aW9uVGltZW91dCA+IGFuaW1hdGlvblRpbWVvdXRcbiAgICAgICAgPyBUUkFOU0lUSU9OXG4gICAgICAgIDogQU5JTUFUSU9OXG4gICAgICA6IG51bGw7XG4gICAgcHJvcENvdW50ID0gdHlwZVxuICAgICAgPyB0eXBlID09PSBUUkFOU0lUSU9OXG4gICAgICAgID8gdHJhbnNpdGlvbkR1cmF0aW9ucy5sZW5ndGhcbiAgICAgICAgOiBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoXG4gICAgICA6IDA7XG4gIH1cbiAgdmFyIGhhc1RyYW5zZm9ybSA9XG4gICAgdHlwZSA9PT0gVFJBTlNJVElPTiAmJlxuICAgIHRyYW5zZm9ybVJFLnRlc3Qoc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ1Byb3BlcnR5J10pO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IHR5cGUsXG4gICAgdGltZW91dDogdGltZW91dCxcbiAgICBwcm9wQ291bnQ6IHByb3BDb3VudCxcbiAgICBoYXNUcmFuc2Zvcm06IGhhc1RyYW5zZm9ybVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVvdXQgKGRlbGF5cywgZHVyYXRpb25zKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHdoaWxlIChkZWxheXMubGVuZ3RoIDwgZHVyYXRpb25zLmxlbmd0aCkge1xuICAgIGRlbGF5cyA9IGRlbGF5cy5jb25jYXQoZGVsYXlzKTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLm1heC5hcHBseShudWxsLCBkdXJhdGlvbnMubWFwKGZ1bmN0aW9uIChkLCBpKSB7XG4gICAgcmV0dXJuIHRvTXMoZCkgKyB0b01zKGRlbGF5c1tpXSlcbiAgfSkpXG59XG5cbi8vIE9sZCB2ZXJzaW9ucyBvZiBDaHJvbWl1bSAoYmVsb3cgNjEuMC4zMTYzLjEwMCkgZm9ybWF0cyBmbG9hdGluZyBwb2ludGVyIG51bWJlcnNcbi8vIGluIGEgbG9jYWxlLWRlcGVuZGVudCB3YXksIHVzaW5nIGEgY29tbWEgaW5zdGVhZCBvZiBhIGRvdC5cbi8vIElmIGNvbW1hIGlzIG5vdCByZXBsYWNlZCB3aXRoIGEgZG90LCB0aGUgaW5wdXQgd2lsbCBiZSByb3VuZGVkIGRvd24gKGkuZS4gYWN0aW5nXG4vLyBhcyBhIGZsb29yIGZ1bmN0aW9uKSBjYXVzaW5nIHVuZXhwZWN0ZWQgYmVoYXZpb3JzXG5mdW5jdGlvbiB0b01zIChzKSB7XG4gIHJldHVybiBOdW1iZXIocy5zbGljZSgwLCAtMSkucmVwbGFjZSgnLCcsICcuJykpICogMTAwMFxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gZW50ZXIgKHZub2RlLCB0b2dnbGVEaXNwbGF5KSB7XG4gIHZhciBlbCA9IHZub2RlLmVsbTtcblxuICAvLyBjYWxsIGxlYXZlIGNhbGxiYWNrIG5vd1xuICBpZiAoaXNEZWYoZWwuX2xlYXZlQ2IpKSB7XG4gICAgZWwuX2xlYXZlQ2IuY2FuY2VsbGVkID0gdHJ1ZTtcbiAgICBlbC5fbGVhdmVDYigpO1xuICB9XG5cbiAgdmFyIGRhdGEgPSByZXNvbHZlVHJhbnNpdGlvbih2bm9kZS5kYXRhLnRyYW5zaXRpb24pO1xuICBpZiAoaXNVbmRlZihkYXRhKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0RlZihlbC5fZW50ZXJDYikgfHwgZWwubm9kZVR5cGUgIT09IDEpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBjc3MgPSBkYXRhLmNzcztcbiAgdmFyIHR5cGUgPSBkYXRhLnR5cGU7XG4gIHZhciBlbnRlckNsYXNzID0gZGF0YS5lbnRlckNsYXNzO1xuICB2YXIgZW50ZXJUb0NsYXNzID0gZGF0YS5lbnRlclRvQ2xhc3M7XG4gIHZhciBlbnRlckFjdGl2ZUNsYXNzID0gZGF0YS5lbnRlckFjdGl2ZUNsYXNzO1xuICB2YXIgYXBwZWFyQ2xhc3MgPSBkYXRhLmFwcGVhckNsYXNzO1xuICB2YXIgYXBwZWFyVG9DbGFzcyA9IGRhdGEuYXBwZWFyVG9DbGFzcztcbiAgdmFyIGFwcGVhckFjdGl2ZUNsYXNzID0gZGF0YS5hcHBlYXJBY3RpdmVDbGFzcztcbiAgdmFyIGJlZm9yZUVudGVyID0gZGF0YS5iZWZvcmVFbnRlcjtcbiAgdmFyIGVudGVyID0gZGF0YS5lbnRlcjtcbiAgdmFyIGFmdGVyRW50ZXIgPSBkYXRhLmFmdGVyRW50ZXI7XG4gIHZhciBlbnRlckNhbmNlbGxlZCA9IGRhdGEuZW50ZXJDYW5jZWxsZWQ7XG4gIHZhciBiZWZvcmVBcHBlYXIgPSBkYXRhLmJlZm9yZUFwcGVhcjtcbiAgdmFyIGFwcGVhciA9IGRhdGEuYXBwZWFyO1xuICB2YXIgYWZ0ZXJBcHBlYXIgPSBkYXRhLmFmdGVyQXBwZWFyO1xuICB2YXIgYXBwZWFyQ2FuY2VsbGVkID0gZGF0YS5hcHBlYXJDYW5jZWxsZWQ7XG4gIHZhciBkdXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XG5cbiAgLy8gYWN0aXZlSW5zdGFuY2Ugd2lsbCBhbHdheXMgYmUgdGhlIDx0cmFuc2l0aW9uPiBjb21wb25lbnQgbWFuYWdpbmcgdGhpc1xuICAvLyB0cmFuc2l0aW9uLiBPbmUgZWRnZSBjYXNlIHRvIGNoZWNrIGlzIHdoZW4gdGhlIDx0cmFuc2l0aW9uPiBpcyBwbGFjZWRcbiAgLy8gYXMgdGhlIHJvb3Qgbm9kZSBvZiBhIGNoaWxkIGNvbXBvbmVudC4gSW4gdGhhdCBjYXNlIHdlIG5lZWQgdG8gY2hlY2tcbiAgLy8gPHRyYW5zaXRpb24+J3MgcGFyZW50IGZvciBhcHBlYXIgY2hlY2suXG4gIHZhciBjb250ZXh0ID0gYWN0aXZlSW5zdGFuY2U7XG4gIHZhciB0cmFuc2l0aW9uTm9kZSA9IGFjdGl2ZUluc3RhbmNlLiR2bm9kZTtcbiAgd2hpbGUgKHRyYW5zaXRpb25Ob2RlICYmIHRyYW5zaXRpb25Ob2RlLnBhcmVudCkge1xuICAgIGNvbnRleHQgPSB0cmFuc2l0aW9uTm9kZS5jb250ZXh0O1xuICAgIHRyYW5zaXRpb25Ob2RlID0gdHJhbnNpdGlvbk5vZGUucGFyZW50O1xuICB9XG5cbiAgdmFyIGlzQXBwZWFyID0gIWNvbnRleHQuX2lzTW91bnRlZCB8fCAhdm5vZGUuaXNSb290SW5zZXJ0O1xuXG4gIGlmIChpc0FwcGVhciAmJiAhYXBwZWFyICYmIGFwcGVhciAhPT0gJycpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBzdGFydENsYXNzID0gaXNBcHBlYXIgJiYgYXBwZWFyQ2xhc3NcbiAgICA/IGFwcGVhckNsYXNzXG4gICAgOiBlbnRlckNsYXNzO1xuICB2YXIgYWN0aXZlQ2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJBY3RpdmVDbGFzc1xuICAgID8gYXBwZWFyQWN0aXZlQ2xhc3NcbiAgICA6IGVudGVyQWN0aXZlQ2xhc3M7XG4gIHZhciB0b0NsYXNzID0gaXNBcHBlYXIgJiYgYXBwZWFyVG9DbGFzc1xuICAgID8gYXBwZWFyVG9DbGFzc1xuICAgIDogZW50ZXJUb0NsYXNzO1xuXG4gIHZhciBiZWZvcmVFbnRlckhvb2sgPSBpc0FwcGVhclxuICAgID8gKGJlZm9yZUFwcGVhciB8fCBiZWZvcmVFbnRlcilcbiAgICA6IGJlZm9yZUVudGVyO1xuICB2YXIgZW50ZXJIb29rID0gaXNBcHBlYXJcbiAgICA/ICh0eXBlb2YgYXBwZWFyID09PSAnZnVuY3Rpb24nID8gYXBwZWFyIDogZW50ZXIpXG4gICAgOiBlbnRlcjtcbiAgdmFyIGFmdGVyRW50ZXJIb29rID0gaXNBcHBlYXJcbiAgICA/IChhZnRlckFwcGVhciB8fCBhZnRlckVudGVyKVxuICAgIDogYWZ0ZXJFbnRlcjtcbiAgdmFyIGVudGVyQ2FuY2VsbGVkSG9vayA9IGlzQXBwZWFyXG4gICAgPyAoYXBwZWFyQ2FuY2VsbGVkIHx8IGVudGVyQ2FuY2VsbGVkKVxuICAgIDogZW50ZXJDYW5jZWxsZWQ7XG5cbiAgdmFyIGV4cGxpY2l0RW50ZXJEdXJhdGlvbiA9IHRvTnVtYmVyKFxuICAgIGlzT2JqZWN0KGR1cmF0aW9uKVxuICAgICAgPyBkdXJhdGlvbi5lbnRlclxuICAgICAgOiBkdXJhdGlvblxuICApO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGV4cGxpY2l0RW50ZXJEdXJhdGlvbiAhPSBudWxsKSB7XG4gICAgY2hlY2tEdXJhdGlvbihleHBsaWNpdEVudGVyRHVyYXRpb24sICdlbnRlcicsIHZub2RlKTtcbiAgfVxuXG4gIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChlbnRlckhvb2spO1xuXG4gIHZhciBjYiA9IGVsLl9lbnRlckNiID0gb25jZShmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgdG9DbGFzcyk7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGFjdGl2ZUNsYXNzKTtcbiAgICB9XG4gICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBzdGFydENsYXNzKTtcbiAgICAgIH1cbiAgICAgIGVudGVyQ2FuY2VsbGVkSG9vayAmJiBlbnRlckNhbmNlbGxlZEhvb2soZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhZnRlckVudGVySG9vayAmJiBhZnRlckVudGVySG9vayhlbCk7XG4gICAgfVxuICAgIGVsLl9lbnRlckNiID0gbnVsbDtcbiAgfSk7XG5cbiAgaWYgKCF2bm9kZS5kYXRhLnNob3cpIHtcbiAgICAvLyByZW1vdmUgcGVuZGluZyBsZWF2ZSBlbGVtZW50IG9uIGVudGVyIGJ5IGluamVjdGluZyBhbiBpbnNlcnQgaG9va1xuICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAnaW5zZXJ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHBhcmVudCA9IGVsLnBhcmVudE5vZGU7XG4gICAgICB2YXIgcGVuZGluZ05vZGUgPSBwYXJlbnQgJiYgcGFyZW50Ll9wZW5kaW5nICYmIHBhcmVudC5fcGVuZGluZ1t2bm9kZS5rZXldO1xuICAgICAgaWYgKHBlbmRpbmdOb2RlICYmXG4gICAgICAgIHBlbmRpbmdOb2RlLnRhZyA9PT0gdm5vZGUudGFnICYmXG4gICAgICAgIHBlbmRpbmdOb2RlLmVsbS5fbGVhdmVDYlxuICAgICAgKSB7XG4gICAgICAgIHBlbmRpbmdOb2RlLmVsbS5fbGVhdmVDYigpO1xuICAgICAgfVxuICAgICAgZW50ZXJIb29rICYmIGVudGVySG9vayhlbCwgY2IpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gc3RhcnQgZW50ZXIgdHJhbnNpdGlvblxuICBiZWZvcmVFbnRlckhvb2sgJiYgYmVmb3JlRW50ZXJIb29rKGVsKTtcbiAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgYWN0aXZlQ2xhc3MpO1xuICAgIG5leHRGcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgICAgaWYgKCFjYi5jYW5jZWxsZWQpIHtcbiAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCB0b0NsYXNzKTtcbiAgICAgICAgaWYgKCF1c2VyV2FudHNDb250cm9sKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWREdXJhdGlvbihleHBsaWNpdEVudGVyRHVyYXRpb24pKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGNiLCBleHBsaWNpdEVudGVyRHVyYXRpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aGVuVHJhbnNpdGlvbkVuZHMoZWwsIHR5cGUsIGNiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlmICh2bm9kZS5kYXRhLnNob3cpIHtcbiAgICB0b2dnbGVEaXNwbGF5ICYmIHRvZ2dsZURpc3BsYXkoKTtcbiAgICBlbnRlckhvb2sgJiYgZW50ZXJIb29rKGVsLCBjYik7XG4gIH1cblxuICBpZiAoIWV4cGVjdHNDU1MgJiYgIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICBjYigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGxlYXZlICh2bm9kZSwgcm0pIHtcbiAgdmFyIGVsID0gdm5vZGUuZWxtO1xuXG4gIC8vIGNhbGwgZW50ZXIgY2FsbGJhY2sgbm93XG4gIGlmIChpc0RlZihlbC5fZW50ZXJDYikpIHtcbiAgICBlbC5fZW50ZXJDYi5jYW5jZWxsZWQgPSB0cnVlO1xuICAgIGVsLl9lbnRlckNiKCk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHJlc29sdmVUcmFuc2l0aW9uKHZub2RlLmRhdGEudHJhbnNpdGlvbik7XG4gIGlmIChpc1VuZGVmKGRhdGEpIHx8IGVsLm5vZGVUeXBlICE9PSAxKSB7XG4gICAgcmV0dXJuIHJtKClcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoaXNEZWYoZWwuX2xlYXZlQ2IpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY3NzID0gZGF0YS5jc3M7XG4gIHZhciB0eXBlID0gZGF0YS50eXBlO1xuICB2YXIgbGVhdmVDbGFzcyA9IGRhdGEubGVhdmVDbGFzcztcbiAgdmFyIGxlYXZlVG9DbGFzcyA9IGRhdGEubGVhdmVUb0NsYXNzO1xuICB2YXIgbGVhdmVBY3RpdmVDbGFzcyA9IGRhdGEubGVhdmVBY3RpdmVDbGFzcztcbiAgdmFyIGJlZm9yZUxlYXZlID0gZGF0YS5iZWZvcmVMZWF2ZTtcbiAgdmFyIGxlYXZlID0gZGF0YS5sZWF2ZTtcbiAgdmFyIGFmdGVyTGVhdmUgPSBkYXRhLmFmdGVyTGVhdmU7XG4gIHZhciBsZWF2ZUNhbmNlbGxlZCA9IGRhdGEubGVhdmVDYW5jZWxsZWQ7XG4gIHZhciBkZWxheUxlYXZlID0gZGF0YS5kZWxheUxlYXZlO1xuICB2YXIgZHVyYXRpb24gPSBkYXRhLmR1cmF0aW9uO1xuXG4gIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChsZWF2ZSk7XG5cbiAgdmFyIGV4cGxpY2l0TGVhdmVEdXJhdGlvbiA9IHRvTnVtYmVyKFxuICAgIGlzT2JqZWN0KGR1cmF0aW9uKVxuICAgICAgPyBkdXJhdGlvbi5sZWF2ZVxuICAgICAgOiBkdXJhdGlvblxuICApO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGlzRGVmKGV4cGxpY2l0TGVhdmVEdXJhdGlvbikpIHtcbiAgICBjaGVja0R1cmF0aW9uKGV4cGxpY2l0TGVhdmVEdXJhdGlvbiwgJ2xlYXZlJywgdm5vZGUpO1xuICB9XG5cbiAgdmFyIGNiID0gZWwuX2xlYXZlQ2IgPSBvbmNlKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoZWwucGFyZW50Tm9kZSAmJiBlbC5wYXJlbnROb2RlLl9wZW5kaW5nKSB7XG4gICAgICBlbC5wYXJlbnROb2RlLl9wZW5kaW5nW3Zub2RlLmtleV0gPSBudWxsO1xuICAgIH1cbiAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZVRvQ2xhc3MpO1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUFjdGl2ZUNsYXNzKTtcbiAgICB9XG4gICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUNsYXNzKTtcbiAgICAgIH1cbiAgICAgIGxlYXZlQ2FuY2VsbGVkICYmIGxlYXZlQ2FuY2VsbGVkKGVsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm0oKTtcbiAgICAgIGFmdGVyTGVhdmUgJiYgYWZ0ZXJMZWF2ZShlbCk7XG4gICAgfVxuICAgIGVsLl9sZWF2ZUNiID0gbnVsbDtcbiAgfSk7XG5cbiAgaWYgKGRlbGF5TGVhdmUpIHtcbiAgICBkZWxheUxlYXZlKHBlcmZvcm1MZWF2ZSk7XG4gIH0gZWxzZSB7XG4gICAgcGVyZm9ybUxlYXZlKCk7XG4gIH1cblxuICBmdW5jdGlvbiBwZXJmb3JtTGVhdmUgKCkge1xuICAgIC8vIHRoZSBkZWxheWVkIGxlYXZlIG1heSBoYXZlIGFscmVhZHkgYmVlbiBjYW5jZWxsZWRcbiAgICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgLy8gcmVjb3JkIGxlYXZpbmcgZWxlbWVudFxuICAgIGlmICghdm5vZGUuZGF0YS5zaG93ICYmIGVsLnBhcmVudE5vZGUpIHtcbiAgICAgIChlbC5wYXJlbnROb2RlLl9wZW5kaW5nIHx8IChlbC5wYXJlbnROb2RlLl9wZW5kaW5nID0ge30pKVsodm5vZGUua2V5KV0gPSB2bm9kZTtcbiAgICB9XG4gICAgYmVmb3JlTGVhdmUgJiYgYmVmb3JlTGVhdmUoZWwpO1xuICAgIGlmIChleHBlY3RzQ1NTKSB7XG4gICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQ2xhc3MpO1xuICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUFjdGl2ZUNsYXNzKTtcbiAgICAgIG5leHRGcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVDbGFzcyk7XG4gICAgICAgIGlmICghY2IuY2FuY2VsbGVkKSB7XG4gICAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZVRvQ2xhc3MpO1xuICAgICAgICAgIGlmICghdXNlcldhbnRzQ29udHJvbCkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWREdXJhdGlvbihleHBsaWNpdExlYXZlRHVyYXRpb24pKSB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoY2IsIGV4cGxpY2l0TGVhdmVEdXJhdGlvbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB3aGVuVHJhbnNpdGlvbkVuZHMoZWwsIHR5cGUsIGNiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBsZWF2ZSAmJiBsZWF2ZShlbCwgY2IpO1xuICAgIGlmICghZXhwZWN0c0NTUyAmJiAhdXNlcldhbnRzQ29udHJvbCkge1xuICAgICAgY2IoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gb25seSB1c2VkIGluIGRldiBtb2RlXG5mdW5jdGlvbiBjaGVja0R1cmF0aW9uICh2YWwsIG5hbWUsIHZub2RlKSB7XG4gIGlmICh0eXBlb2YgdmFsICE9PSAnbnVtYmVyJykge1xuICAgIHdhcm4oXG4gICAgICBcIjx0cmFuc2l0aW9uPiBleHBsaWNpdCBcIiArIG5hbWUgKyBcIiBkdXJhdGlvbiBpcyBub3QgYSB2YWxpZCBudW1iZXIgLSBcIiArXG4gICAgICBcImdvdCBcIiArIChKU09OLnN0cmluZ2lmeSh2YWwpKSArIFwiLlwiLFxuICAgICAgdm5vZGUuY29udGV4dFxuICAgICk7XG4gIH0gZWxzZSBpZiAoaXNOYU4odmFsKSkge1xuICAgIHdhcm4oXG4gICAgICBcIjx0cmFuc2l0aW9uPiBleHBsaWNpdCBcIiArIG5hbWUgKyBcIiBkdXJhdGlvbiBpcyBOYU4gLSBcIiArXG4gICAgICAndGhlIGR1cmF0aW9uIGV4cHJlc3Npb24gbWlnaHQgYmUgaW5jb3JyZWN0LicsXG4gICAgICB2bm9kZS5jb250ZXh0XG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRHVyYXRpb24gKHZhbCkge1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbClcbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgYSB0cmFuc2l0aW9uIGhvb2sncyBhcmd1bWVudCBsZW5ndGguIFRoZSBob29rIG1heSBiZTpcbiAqIC0gYSBtZXJnZWQgaG9vayAoaW52b2tlcikgd2l0aCB0aGUgb3JpZ2luYWwgaW4gLmZuc1xuICogLSBhIHdyYXBwZWQgY29tcG9uZW50IG1ldGhvZCAoY2hlY2sgLl9sZW5ndGgpXG4gKiAtIGEgcGxhaW4gZnVuY3Rpb24gKC5sZW5ndGgpXG4gKi9cbmZ1bmN0aW9uIGdldEhvb2tBcmd1bWVudHNMZW5ndGggKGZuKSB7XG4gIGlmIChpc1VuZGVmKGZuKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHZhciBpbnZva2VyRm5zID0gZm4uZm5zO1xuICBpZiAoaXNEZWYoaW52b2tlckZucykpIHtcbiAgICAvLyBpbnZva2VyXG4gICAgcmV0dXJuIGdldEhvb2tBcmd1bWVudHNMZW5ndGgoXG4gICAgICBBcnJheS5pc0FycmF5KGludm9rZXJGbnMpXG4gICAgICAgID8gaW52b2tlckZuc1swXVxuICAgICAgICA6IGludm9rZXJGbnNcbiAgICApXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChmbi5fbGVuZ3RoIHx8IGZuLmxlbmd0aCkgPiAxXG4gIH1cbn1cblxuZnVuY3Rpb24gX2VudGVyIChfLCB2bm9kZSkge1xuICBpZiAodm5vZGUuZGF0YS5zaG93ICE9PSB0cnVlKSB7XG4gICAgZW50ZXIodm5vZGUpO1xuICB9XG59XG5cbnZhciB0cmFuc2l0aW9uID0gaW5Ccm93c2VyID8ge1xuICBjcmVhdGU6IF9lbnRlcixcbiAgYWN0aXZhdGU6IF9lbnRlcixcbiAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmUkJDEgKHZub2RlLCBybSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHZub2RlLmRhdGEuc2hvdyAhPT0gdHJ1ZSkge1xuICAgICAgbGVhdmUodm5vZGUsIHJtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm0oKTtcbiAgICB9XG4gIH1cbn0gOiB7fTtcblxudmFyIHBsYXRmb3JtTW9kdWxlcyA9IFtcbiAgYXR0cnMsXG4gIGtsYXNzLFxuICBldmVudHMsXG4gIGRvbVByb3BzLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvblxuXTtcblxuLyogICovXG5cbi8vIHRoZSBkaXJlY3RpdmUgbW9kdWxlIHNob3VsZCBiZSBhcHBsaWVkIGxhc3QsIGFmdGVyIGFsbFxuLy8gYnVpbHQtaW4gbW9kdWxlcyBoYXZlIGJlZW4gYXBwbGllZC5cbnZhciBtb2R1bGVzID0gcGxhdGZvcm1Nb2R1bGVzLmNvbmNhdChiYXNlTW9kdWxlcyk7XG5cbnZhciBwYXRjaCA9IGNyZWF0ZVBhdGNoRnVuY3Rpb24oeyBub2RlT3BzOiBub2RlT3BzLCBtb2R1bGVzOiBtb2R1bGVzIH0pO1xuXG4vKipcbiAqIE5vdCB0eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGZsb3cgZG9lc24ndCBsaWtlIGF0dGFjaGluZ1xuICogcHJvcGVydGllcyB0byBFbGVtZW50cy5cbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbmlmIChpc0lFOSkge1xuICAvLyBodHRwOi8vd3d3Lm1hdHRzNDExLmNvbS9wb3N0L2ludGVybmV0LWV4cGxvcmVyLTktb25pbnB1dC9cbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2VsZWN0aW9uY2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgIHZhciBlbCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGVsICYmIGVsLnZtb2RlbCkge1xuICAgICAgdHJpZ2dlcihlbCwgJ2lucHV0Jyk7XG4gICAgfVxuICB9KTtcbn1cblxudmFyIGRpcmVjdGl2ZSA9IHtcbiAgaW5zZXJ0ZWQ6IGZ1bmN0aW9uIGluc2VydGVkIChlbCwgYmluZGluZywgdm5vZGUsIG9sZFZub2RlKSB7XG4gICAgaWYgKHZub2RlLnRhZyA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgIC8vICM2OTAzXG4gICAgICBpZiAob2xkVm5vZGUuZWxtICYmICFvbGRWbm9kZS5lbG0uX3ZPcHRpb25zKSB7XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAncG9zdHBhdGNoJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGRpcmVjdGl2ZS5jb21wb25lbnRVcGRhdGVkKGVsLCBiaW5kaW5nLCB2bm9kZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRleHQpO1xuICAgICAgfVxuICAgICAgZWwuX3ZPcHRpb25zID0gW10ubWFwLmNhbGwoZWwub3B0aW9ucywgZ2V0VmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodm5vZGUudGFnID09PSAndGV4dGFyZWEnIHx8IGlzVGV4dElucHV0VHlwZShlbC50eXBlKSkge1xuICAgICAgZWwuX3ZNb2RpZmllcnMgPSBiaW5kaW5nLm1vZGlmaWVycztcbiAgICAgIGlmICghYmluZGluZy5tb2RpZmllcnMubGF6eSkge1xuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjb21wb3NpdGlvbnN0YXJ0Jywgb25Db21wb3NpdGlvblN0YXJ0KTtcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY29tcG9zaXRpb25lbmQnLCBvbkNvbXBvc2l0aW9uRW5kKTtcbiAgICAgICAgLy8gU2FmYXJpIDwgMTAuMiAmIFVJV2ViVmlldyBkb2Vzbid0IGZpcmUgY29tcG9zaXRpb25lbmQgd2hlblxuICAgICAgICAvLyBzd2l0Y2hpbmcgZm9jdXMgYmVmb3JlIGNvbmZpcm1pbmcgY29tcG9zaXRpb24gY2hvaWNlXG4gICAgICAgIC8vIHRoaXMgYWxzbyBmaXhlcyB0aGUgaXNzdWUgd2hlcmUgc29tZSBicm93c2VycyBlLmcuIGlPUyBDaHJvbWVcbiAgICAgICAgLy8gZmlyZXMgXCJjaGFuZ2VcIiBpbnN0ZWFkIG9mIFwiaW5wdXRcIiBvbiBhdXRvY29tcGxldGUuXG4gICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uQ29tcG9zaXRpb25FbmQpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKGlzSUU5KSB7XG4gICAgICAgICAgZWwudm1vZGVsID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBjb21wb25lbnRVcGRhdGVkOiBmdW5jdGlvbiBjb21wb25lbnRVcGRhdGVkIChlbCwgYmluZGluZywgdm5vZGUpIHtcbiAgICBpZiAodm5vZGUudGFnID09PSAnc2VsZWN0Jykge1xuICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRleHQpO1xuICAgICAgLy8gaW4gY2FzZSB0aGUgb3B0aW9ucyByZW5kZXJlZCBieSB2LWZvciBoYXZlIGNoYW5nZWQsXG4gICAgICAvLyBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHZhbHVlIGlzIG91dC1vZi1zeW5jIHdpdGggdGhlIHJlbmRlcmVkIG9wdGlvbnMuXG4gICAgICAvLyBkZXRlY3Qgc3VjaCBjYXNlcyBhbmQgZmlsdGVyIG91dCB2YWx1ZXMgdGhhdCBubyBsb25nZXIgaGFzIGEgbWF0Y2hpbmdcbiAgICAgIC8vIG9wdGlvbiBpbiB0aGUgRE9NLlxuICAgICAgdmFyIHByZXZPcHRpb25zID0gZWwuX3ZPcHRpb25zO1xuICAgICAgdmFyIGN1ck9wdGlvbnMgPSBlbC5fdk9wdGlvbnMgPSBbXS5tYXAuY2FsbChlbC5vcHRpb25zLCBnZXRWYWx1ZSk7XG4gICAgICBpZiAoY3VyT3B0aW9ucy5zb21lKGZ1bmN0aW9uIChvLCBpKSB7IHJldHVybiAhbG9vc2VFcXVhbChvLCBwcmV2T3B0aW9uc1tpXSk7IH0pKSB7XG4gICAgICAgIC8vIHRyaWdnZXIgY2hhbmdlIGV2ZW50IGlmXG4gICAgICAgIC8vIG5vIG1hdGNoaW5nIG9wdGlvbiBmb3VuZCBmb3IgYXQgbGVhc3Qgb25lIHZhbHVlXG4gICAgICAgIHZhciBuZWVkUmVzZXQgPSBlbC5tdWx0aXBsZVxuICAgICAgICAgID8gYmluZGluZy52YWx1ZS5zb21lKGZ1bmN0aW9uICh2KSB7IHJldHVybiBoYXNOb01hdGNoaW5nT3B0aW9uKHYsIGN1ck9wdGlvbnMpOyB9KVxuICAgICAgICAgIDogYmluZGluZy52YWx1ZSAhPT0gYmluZGluZy5vbGRWYWx1ZSAmJiBoYXNOb01hdGNoaW5nT3B0aW9uKGJpbmRpbmcudmFsdWUsIGN1ck9wdGlvbnMpO1xuICAgICAgICBpZiAobmVlZFJlc2V0KSB7XG4gICAgICAgICAgdHJpZ2dlcihlbCwgJ2NoYW5nZScpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5mdW5jdGlvbiBzZXRTZWxlY3RlZCAoZWwsIGJpbmRpbmcsIHZtKSB7XG4gIGFjdHVhbGx5U2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZtKTtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0lFIHx8IGlzRWRnZSkge1xuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgYWN0dWFsbHlTZXRTZWxlY3RlZChlbCwgYmluZGluZywgdm0pO1xuICAgIH0sIDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFjdHVhbGx5U2V0U2VsZWN0ZWQgKGVsLCBiaW5kaW5nLCB2bSkge1xuICB2YXIgdmFsdWUgPSBiaW5kaW5nLnZhbHVlO1xuICB2YXIgaXNNdWx0aXBsZSA9IGVsLm11bHRpcGxlO1xuICBpZiAoaXNNdWx0aXBsZSAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICBcIjxzZWxlY3QgbXVsdGlwbGUgdi1tb2RlbD1cXFwiXCIgKyAoYmluZGluZy5leHByZXNzaW9uKSArIFwiXFxcIj4gXCIgK1xuICAgICAgXCJleHBlY3RzIGFuIEFycmF5IHZhbHVlIGZvciBpdHMgYmluZGluZywgYnV0IGdvdCBcIiArIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKSksXG4gICAgICB2bVxuICAgICk7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHNlbGVjdGVkLCBvcHRpb247XG4gIGZvciAodmFyIGkgPSAwLCBsID0gZWwub3B0aW9ucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBvcHRpb24gPSBlbC5vcHRpb25zW2ldO1xuICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICBzZWxlY3RlZCA9IGxvb3NlSW5kZXhPZih2YWx1ZSwgZ2V0VmFsdWUob3B0aW9uKSkgPiAtMTtcbiAgICAgIGlmIChvcHRpb24uc2VsZWN0ZWQgIT09IHNlbGVjdGVkKSB7XG4gICAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobG9vc2VFcXVhbChnZXRWYWx1ZShvcHRpb24pLCB2YWx1ZSkpIHtcbiAgICAgICAgaWYgKGVsLnNlbGVjdGVkSW5kZXggIT09IGkpIHtcbiAgICAgICAgICBlbC5zZWxlY3RlZEluZGV4ID0gaTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCFpc011bHRpcGxlKSB7XG4gICAgZWwuc2VsZWN0ZWRJbmRleCA9IC0xO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc05vTWF0Y2hpbmdPcHRpb24gKHZhbHVlLCBvcHRpb25zKSB7XG4gIHJldHVybiBvcHRpb25zLmV2ZXJ5KGZ1bmN0aW9uIChvKSB7IHJldHVybiAhbG9vc2VFcXVhbChvLCB2YWx1ZSk7IH0pXG59XG5cbmZ1bmN0aW9uIGdldFZhbHVlIChvcHRpb24pIHtcbiAgcmV0dXJuICdfdmFsdWUnIGluIG9wdGlvblxuICAgID8gb3B0aW9uLl92YWx1ZVxuICAgIDogb3B0aW9uLnZhbHVlXG59XG5cbmZ1bmN0aW9uIG9uQ29tcG9zaXRpb25TdGFydCAoZSkge1xuICBlLnRhcmdldC5jb21wb3NpbmcgPSB0cnVlO1xufVxuXG5mdW5jdGlvbiBvbkNvbXBvc2l0aW9uRW5kIChlKSB7XG4gIC8vIHByZXZlbnQgdHJpZ2dlcmluZyBhbiBpbnB1dCBldmVudCBmb3Igbm8gcmVhc29uXG4gIGlmICghZS50YXJnZXQuY29tcG9zaW5nKSB7IHJldHVybiB9XG4gIGUudGFyZ2V0LmNvbXBvc2luZyA9IGZhbHNlO1xuICB0cmlnZ2VyKGUudGFyZ2V0LCAnaW5wdXQnKTtcbn1cblxuZnVuY3Rpb24gdHJpZ2dlciAoZWwsIHR5cGUpIHtcbiAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnSFRNTEV2ZW50cycpO1xuICBlLmluaXRFdmVudCh0eXBlLCB0cnVlLCB0cnVlKTtcbiAgZWwuZGlzcGF0Y2hFdmVudChlKTtcbn1cblxuLyogICovXG5cbi8vIHJlY3Vyc2l2ZWx5IHNlYXJjaCBmb3IgcG9zc2libGUgdHJhbnNpdGlvbiBkZWZpbmVkIGluc2lkZSB0aGUgY29tcG9uZW50IHJvb3RcbmZ1bmN0aW9uIGxvY2F0ZU5vZGUgKHZub2RlKSB7XG4gIHJldHVybiB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSAmJiAoIXZub2RlLmRhdGEgfHwgIXZub2RlLmRhdGEudHJhbnNpdGlvbilcbiAgICA/IGxvY2F0ZU5vZGUodm5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlKVxuICAgIDogdm5vZGVcbn1cblxudmFyIHNob3cgPSB7XG4gIGJpbmQ6IGZ1bmN0aW9uIGJpbmQgKGVsLCByZWYsIHZub2RlKSB7XG4gICAgdmFyIHZhbHVlID0gcmVmLnZhbHVlO1xuXG4gICAgdm5vZGUgPSBsb2NhdGVOb2RlKHZub2RlKTtcbiAgICB2YXIgdHJhbnNpdGlvbiQkMSA9IHZub2RlLmRhdGEgJiYgdm5vZGUuZGF0YS50cmFuc2l0aW9uO1xuICAgIHZhciBvcmlnaW5hbERpc3BsYXkgPSBlbC5fX3ZPcmlnaW5hbERpc3BsYXkgPVxuICAgICAgZWwuc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnID8gJycgOiBlbC5zdHlsZS5kaXNwbGF5O1xuICAgIGlmICh2YWx1ZSAmJiB0cmFuc2l0aW9uJCQxKSB7XG4gICAgICB2bm9kZS5kYXRhLnNob3cgPSB0cnVlO1xuICAgICAgZW50ZXIodm5vZGUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IG9yaWdpbmFsRGlzcGxheTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gdmFsdWUgPyBvcmlnaW5hbERpc3BsYXkgOiAnbm9uZSc7XG4gICAgfVxuICB9LFxuXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlIChlbCwgcmVmLCB2bm9kZSkge1xuICAgIHZhciB2YWx1ZSA9IHJlZi52YWx1ZTtcbiAgICB2YXIgb2xkVmFsdWUgPSByZWYub2xkVmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXZhbHVlID09PSAhb2xkVmFsdWUpIHsgcmV0dXJuIH1cbiAgICB2bm9kZSA9IGxvY2F0ZU5vZGUodm5vZGUpO1xuICAgIHZhciB0cmFuc2l0aW9uJCQxID0gdm5vZGUuZGF0YSAmJiB2bm9kZS5kYXRhLnRyYW5zaXRpb247XG4gICAgaWYgKHRyYW5zaXRpb24kJDEpIHtcbiAgICAgIHZub2RlLmRhdGEuc2hvdyA9IHRydWU7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgZW50ZXIodm5vZGUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gZWwuX192T3JpZ2luYWxEaXNwbGF5O1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxlYXZlKHZub2RlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSB2YWx1ZSA/IGVsLl9fdk9yaWdpbmFsRGlzcGxheSA6ICdub25lJztcbiAgICB9XG4gIH0sXG5cbiAgdW5iaW5kOiBmdW5jdGlvbiB1bmJpbmQgKFxuICAgIGVsLFxuICAgIGJpbmRpbmcsXG4gICAgdm5vZGUsXG4gICAgb2xkVm5vZGUsXG4gICAgaXNEZXN0cm95XG4gICkge1xuICAgIGlmICghaXNEZXN0cm95KSB7XG4gICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gZWwuX192T3JpZ2luYWxEaXNwbGF5O1xuICAgIH1cbiAgfVxufTtcblxudmFyIHBsYXRmb3JtRGlyZWN0aXZlcyA9IHtcbiAgbW9kZWw6IGRpcmVjdGl2ZSxcbiAgc2hvdzogc2hvd1xufTtcblxuLyogICovXG5cbnZhciB0cmFuc2l0aW9uUHJvcHMgPSB7XG4gIG5hbWU6IFN0cmluZyxcbiAgYXBwZWFyOiBCb29sZWFuLFxuICBjc3M6IEJvb2xlYW4sXG4gIG1vZGU6IFN0cmluZyxcbiAgdHlwZTogU3RyaW5nLFxuICBlbnRlckNsYXNzOiBTdHJpbmcsXG4gIGxlYXZlQ2xhc3M6IFN0cmluZyxcbiAgZW50ZXJUb0NsYXNzOiBTdHJpbmcsXG4gIGxlYXZlVG9DbGFzczogU3RyaW5nLFxuICBlbnRlckFjdGl2ZUNsYXNzOiBTdHJpbmcsXG4gIGxlYXZlQWN0aXZlQ2xhc3M6IFN0cmluZyxcbiAgYXBwZWFyQ2xhc3M6IFN0cmluZyxcbiAgYXBwZWFyQWN0aXZlQ2xhc3M6IFN0cmluZyxcbiAgYXBwZWFyVG9DbGFzczogU3RyaW5nLFxuICBkdXJhdGlvbjogW051bWJlciwgU3RyaW5nLCBPYmplY3RdXG59O1xuXG4vLyBpbiBjYXNlIHRoZSBjaGlsZCBpcyBhbHNvIGFuIGFic3RyYWN0IGNvbXBvbmVudCwgZS5nLiA8a2VlcC1hbGl2ZT5cbi8vIHdlIHdhbnQgdG8gcmVjdXJzaXZlbHkgcmV0cmlldmUgdGhlIHJlYWwgY29tcG9uZW50IHRvIGJlIHJlbmRlcmVkXG5mdW5jdGlvbiBnZXRSZWFsQ2hpbGQgKHZub2RlKSB7XG4gIHZhciBjb21wT3B0aW9ucyA9IHZub2RlICYmIHZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gIGlmIChjb21wT3B0aW9ucyAmJiBjb21wT3B0aW9ucy5DdG9yLm9wdGlvbnMuYWJzdHJhY3QpIHtcbiAgICByZXR1cm4gZ2V0UmVhbENoaWxkKGdldEZpcnN0Q29tcG9uZW50Q2hpbGQoY29tcE9wdGlvbnMuY2hpbGRyZW4pKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB2bm9kZVxuICB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUcmFuc2l0aW9uRGF0YSAoY29tcCkge1xuICB2YXIgZGF0YSA9IHt9O1xuICB2YXIgb3B0aW9ucyA9IGNvbXAuJG9wdGlvbnM7XG4gIC8vIHByb3BzXG4gIGZvciAodmFyIGtleSBpbiBvcHRpb25zLnByb3BzRGF0YSkge1xuICAgIGRhdGFba2V5XSA9IGNvbXBba2V5XTtcbiAgfVxuICAvLyBldmVudHMuXG4gIC8vIGV4dHJhY3QgbGlzdGVuZXJzIGFuZCBwYXNzIHRoZW0gZGlyZWN0bHkgdG8gdGhlIHRyYW5zaXRpb24gbWV0aG9kc1xuICB2YXIgbGlzdGVuZXJzID0gb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzO1xuICBmb3IgKHZhciBrZXkkMSBpbiBsaXN0ZW5lcnMpIHtcbiAgICBkYXRhW2NhbWVsaXplKGtleSQxKV0gPSBsaXN0ZW5lcnNba2V5JDFdO1xuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbmZ1bmN0aW9uIHBsYWNlaG9sZGVyIChoLCByYXdDaGlsZCkge1xuICBpZiAoL1xcZC1rZWVwLWFsaXZlJC8udGVzdChyYXdDaGlsZC50YWcpKSB7XG4gICAgcmV0dXJuIGgoJ2tlZXAtYWxpdmUnLCB7XG4gICAgICBwcm9wczogcmF3Q2hpbGQuY29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGFcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGhhc1BhcmVudFRyYW5zaXRpb24gKHZub2RlKSB7XG4gIHdoaWxlICgodm5vZGUgPSB2bm9kZS5wYXJlbnQpKSB7XG4gICAgaWYgKHZub2RlLmRhdGEudHJhbnNpdGlvbikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNTYW1lQ2hpbGQgKGNoaWxkLCBvbGRDaGlsZCkge1xuICByZXR1cm4gb2xkQ2hpbGQua2V5ID09PSBjaGlsZC5rZXkgJiYgb2xkQ2hpbGQudGFnID09PSBjaGlsZC50YWdcbn1cblxudmFyIGlzTm90VGV4dE5vZGUgPSBmdW5jdGlvbiAoYykgeyByZXR1cm4gYy50YWcgfHwgaXNBc3luY1BsYWNlaG9sZGVyKGMpOyB9O1xuXG52YXIgaXNWU2hvd0RpcmVjdGl2ZSA9IGZ1bmN0aW9uIChkKSB7IHJldHVybiBkLm5hbWUgPT09ICdzaG93JzsgfTtcblxudmFyIFRyYW5zaXRpb24gPSB7XG4gIG5hbWU6ICd0cmFuc2l0aW9uJyxcbiAgcHJvcHM6IHRyYW5zaXRpb25Qcm9wcyxcbiAgYWJzdHJhY3Q6IHRydWUsXG5cbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIgKGgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuJHNsb3RzLmRlZmF1bHQ7XG4gICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gZmlsdGVyIG91dCB0ZXh0IG5vZGVzIChwb3NzaWJsZSB3aGl0ZXNwYWNlcylcbiAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLmZpbHRlcihpc05vdFRleHROb2RlKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gd2FybiBtdWx0aXBsZSBlbGVtZW50c1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNoaWxkcmVuLmxlbmd0aCA+IDEpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICc8dHJhbnNpdGlvbj4gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIHNpbmdsZSBlbGVtZW50LiBVc2UgJyArXG4gICAgICAgICc8dHJhbnNpdGlvbi1ncm91cD4gZm9yIGxpc3RzLicsXG4gICAgICAgIHRoaXMuJHBhcmVudFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB2YXIgbW9kZSA9IHRoaXMubW9kZTtcblxuICAgIC8vIHdhcm4gaW52YWxpZCBtb2RlXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgIG1vZGUgJiYgbW9kZSAhPT0gJ2luLW91dCcgJiYgbW9kZSAhPT0gJ291dC1pbidcbiAgICApIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICdpbnZhbGlkIDx0cmFuc2l0aW9uPiBtb2RlOiAnICsgbW9kZSxcbiAgICAgICAgdGhpcy4kcGFyZW50XG4gICAgICApO1xuICAgIH1cblxuICAgIHZhciByYXdDaGlsZCA9IGNoaWxkcmVuWzBdO1xuXG4gICAgLy8gaWYgdGhpcyBpcyBhIGNvbXBvbmVudCByb290IG5vZGUgYW5kIHRoZSBjb21wb25lbnQnc1xuICAgIC8vIHBhcmVudCBjb250YWluZXIgbm9kZSBhbHNvIGhhcyB0cmFuc2l0aW9uLCBza2lwLlxuICAgIGlmIChoYXNQYXJlbnRUcmFuc2l0aW9uKHRoaXMuJHZub2RlKSkge1xuICAgICAgcmV0dXJuIHJhd0NoaWxkXG4gICAgfVxuXG4gICAgLy8gYXBwbHkgdHJhbnNpdGlvbiBkYXRhIHRvIGNoaWxkXG4gICAgLy8gdXNlIGdldFJlYWxDaGlsZCgpIHRvIGlnbm9yZSBhYnN0cmFjdCBjb21wb25lbnRzIGUuZy4ga2VlcC1hbGl2ZVxuICAgIHZhciBjaGlsZCA9IGdldFJlYWxDaGlsZChyYXdDaGlsZCk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFjaGlsZCkge1xuICAgICAgcmV0dXJuIHJhd0NoaWxkXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2xlYXZpbmcpIHtcbiAgICAgIHJldHVybiBwbGFjZWhvbGRlcihoLCByYXdDaGlsZClcbiAgICB9XG5cbiAgICAvLyBlbnN1cmUgYSBrZXkgdGhhdCBpcyB1bmlxdWUgdG8gdGhlIHZub2RlIHR5cGUgYW5kIHRvIHRoaXMgdHJhbnNpdGlvblxuICAgIC8vIGNvbXBvbmVudCBpbnN0YW5jZS4gVGhpcyBrZXkgd2lsbCBiZSB1c2VkIHRvIHJlbW92ZSBwZW5kaW5nIGxlYXZpbmcgbm9kZXNcbiAgICAvLyBkdXJpbmcgZW50ZXJpbmcuXG4gICAgdmFyIGlkID0gXCJfX3RyYW5zaXRpb24tXCIgKyAodGhpcy5fdWlkKSArIFwiLVwiO1xuICAgIGNoaWxkLmtleSA9IGNoaWxkLmtleSA9PSBudWxsXG4gICAgICA/IGNoaWxkLmlzQ29tbWVudFxuICAgICAgICA/IGlkICsgJ2NvbW1lbnQnXG4gICAgICAgIDogaWQgKyBjaGlsZC50YWdcbiAgICAgIDogaXNQcmltaXRpdmUoY2hpbGQua2V5KVxuICAgICAgICA/IChTdHJpbmcoY2hpbGQua2V5KS5pbmRleE9mKGlkKSA9PT0gMCA/IGNoaWxkLmtleSA6IGlkICsgY2hpbGQua2V5KVxuICAgICAgICA6IGNoaWxkLmtleTtcblxuICAgIHZhciBkYXRhID0gKGNoaWxkLmRhdGEgfHwgKGNoaWxkLmRhdGEgPSB7fSkpLnRyYW5zaXRpb24gPSBleHRyYWN0VHJhbnNpdGlvbkRhdGEodGhpcyk7XG4gICAgdmFyIG9sZFJhd0NoaWxkID0gdGhpcy5fdm5vZGU7XG4gICAgdmFyIG9sZENoaWxkID0gZ2V0UmVhbENoaWxkKG9sZFJhd0NoaWxkKTtcblxuICAgIC8vIG1hcmsgdi1zaG93XG4gICAgLy8gc28gdGhhdCB0aGUgdHJhbnNpdGlvbiBtb2R1bGUgY2FuIGhhbmQgb3ZlciB0aGUgY29udHJvbCB0byB0aGUgZGlyZWN0aXZlXG4gICAgaWYgKGNoaWxkLmRhdGEuZGlyZWN0aXZlcyAmJiBjaGlsZC5kYXRhLmRpcmVjdGl2ZXMuc29tZShpc1ZTaG93RGlyZWN0aXZlKSkge1xuICAgICAgY2hpbGQuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBvbGRDaGlsZCAmJlxuICAgICAgb2xkQ2hpbGQuZGF0YSAmJlxuICAgICAgIWlzU2FtZUNoaWxkKGNoaWxkLCBvbGRDaGlsZCkgJiZcbiAgICAgICFpc0FzeW5jUGxhY2Vob2xkZXIob2xkQ2hpbGQpICYmXG4gICAgICAvLyAjNjY4NyBjb21wb25lbnQgcm9vdCBpcyBhIGNvbW1lbnQgbm9kZVxuICAgICAgIShvbGRDaGlsZC5jb21wb25lbnRJbnN0YW5jZSAmJiBvbGRDaGlsZC5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUuaXNDb21tZW50KVxuICAgICkge1xuICAgICAgLy8gcmVwbGFjZSBvbGQgY2hpbGQgdHJhbnNpdGlvbiBkYXRhIHdpdGggZnJlc2ggb25lXG4gICAgICAvLyBpbXBvcnRhbnQgZm9yIGR5bmFtaWMgdHJhbnNpdGlvbnMhXG4gICAgICB2YXIgb2xkRGF0YSA9IG9sZENoaWxkLmRhdGEudHJhbnNpdGlvbiA9IGV4dGVuZCh7fSwgZGF0YSk7XG4gICAgICAvLyBoYW5kbGUgdHJhbnNpdGlvbiBtb2RlXG4gICAgICBpZiAobW9kZSA9PT0gJ291dC1pbicpIHtcbiAgICAgICAgLy8gcmV0dXJuIHBsYWNlaG9sZGVyIG5vZGUgYW5kIHF1ZXVlIHVwZGF0ZSB3aGVuIGxlYXZlIGZpbmlzaGVzXG4gICAgICAgIHRoaXMuX2xlYXZpbmcgPSB0cnVlO1xuICAgICAgICBtZXJnZVZOb2RlSG9vayhvbGREYXRhLCAnYWZ0ZXJMZWF2ZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB0aGlzJDEuX2xlYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzJDEuJGZvcmNlVXBkYXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXIoaCwgcmF3Q2hpbGQpXG4gICAgICB9IGVsc2UgaWYgKG1vZGUgPT09ICdpbi1vdXQnKSB7XG4gICAgICAgIGlmIChpc0FzeW5jUGxhY2Vob2xkZXIoY2hpbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIG9sZFJhd0NoaWxkXG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRlbGF5ZWRMZWF2ZTtcbiAgICAgICAgdmFyIHBlcmZvcm1MZWF2ZSA9IGZ1bmN0aW9uICgpIHsgZGVsYXllZExlYXZlKCk7IH07XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKGRhdGEsICdhZnRlckVudGVyJywgcGVyZm9ybUxlYXZlKTtcbiAgICAgICAgbWVyZ2VWTm9kZUhvb2soZGF0YSwgJ2VudGVyQ2FuY2VsbGVkJywgcGVyZm9ybUxlYXZlKTtcbiAgICAgICAgbWVyZ2VWTm9kZUhvb2sob2xkRGF0YSwgJ2RlbGF5TGVhdmUnLCBmdW5jdGlvbiAobGVhdmUpIHsgZGVsYXllZExlYXZlID0gbGVhdmU7IH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByYXdDaGlsZFxuICB9XG59O1xuXG4vKiAgKi9cblxudmFyIHByb3BzID0gZXh0ZW5kKHtcbiAgdGFnOiBTdHJpbmcsXG4gIG1vdmVDbGFzczogU3RyaW5nXG59LCB0cmFuc2l0aW9uUHJvcHMpO1xuXG5kZWxldGUgcHJvcHMubW9kZTtcblxudmFyIFRyYW5zaXRpb25Hcm91cCA9IHtcbiAgcHJvcHM6IHByb3BzLFxuXG4gIGJlZm9yZU1vdW50OiBmdW5jdGlvbiBiZWZvcmVNb3VudCAoKSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB2YXIgdXBkYXRlID0gdGhpcy5fdXBkYXRlO1xuICAgIHRoaXMuX3VwZGF0ZSA9IGZ1bmN0aW9uICh2bm9kZSwgaHlkcmF0aW5nKSB7XG4gICAgICB2YXIgcmVzdG9yZUFjdGl2ZUluc3RhbmNlID0gc2V0QWN0aXZlSW5zdGFuY2UodGhpcyQxKTtcbiAgICAgIC8vIGZvcmNlIHJlbW92aW5nIHBhc3NcbiAgICAgIHRoaXMkMS5fX3BhdGNoX18oXG4gICAgICAgIHRoaXMkMS5fdm5vZGUsXG4gICAgICAgIHRoaXMkMS5rZXB0LFxuICAgICAgICBmYWxzZSwgLy8gaHlkcmF0aW5nXG4gICAgICAgIHRydWUgLy8gcmVtb3ZlT25seSAoIWltcG9ydGFudCwgYXZvaWRzIHVubmVjZXNzYXJ5IG1vdmVzKVxuICAgICAgKTtcbiAgICAgIHRoaXMkMS5fdm5vZGUgPSB0aGlzJDEua2VwdDtcbiAgICAgIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSgpO1xuICAgICAgdXBkYXRlLmNhbGwodGhpcyQxLCB2bm9kZSwgaHlkcmF0aW5nKTtcbiAgICB9O1xuICB9LFxuXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyIChoKSB7XG4gICAgdmFyIHRhZyA9IHRoaXMudGFnIHx8IHRoaXMuJHZub2RlLmRhdGEudGFnIHx8ICdzcGFuJztcbiAgICB2YXIgbWFwID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB2YXIgcHJldkNoaWxkcmVuID0gdGhpcy5wcmV2Q2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuO1xuICAgIHZhciByYXdDaGlsZHJlbiA9IHRoaXMuJHNsb3RzLmRlZmF1bHQgfHwgW107XG4gICAgdmFyIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbiA9IFtdO1xuICAgIHZhciB0cmFuc2l0aW9uRGF0YSA9IGV4dHJhY3RUcmFuc2l0aW9uRGF0YSh0aGlzKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmF3Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBjID0gcmF3Q2hpbGRyZW5baV07XG4gICAgICBpZiAoYy50YWcpIHtcbiAgICAgICAgaWYgKGMua2V5ICE9IG51bGwgJiYgU3RyaW5nKGMua2V5KS5pbmRleE9mKCdfX3ZsaXN0JykgIT09IDApIHtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKGMpO1xuICAgICAgICAgIG1hcFtjLmtleV0gPSBjXG4gICAgICAgICAgOyhjLmRhdGEgfHwgKGMuZGF0YSA9IHt9KSkudHJhbnNpdGlvbiA9IHRyYW5zaXRpb25EYXRhO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICB2YXIgb3B0cyA9IGMuY29tcG9uZW50T3B0aW9ucztcbiAgICAgICAgICB2YXIgbmFtZSA9IG9wdHMgPyAob3B0cy5DdG9yLm9wdGlvbnMubmFtZSB8fCBvcHRzLnRhZyB8fCAnJykgOiBjLnRhZztcbiAgICAgICAgICB3YXJuKChcIjx0cmFuc2l0aW9uLWdyb3VwPiBjaGlsZHJlbiBtdXN0IGJlIGtleWVkOiA8XCIgKyBuYW1lICsgXCI+XCIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcmV2Q2hpbGRyZW4pIHtcbiAgICAgIHZhciBrZXB0ID0gW107XG4gICAgICB2YXIgcmVtb3ZlZCA9IFtdO1xuICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgcHJldkNoaWxkcmVuLmxlbmd0aDsgaSQxKyspIHtcbiAgICAgICAgdmFyIGMkMSA9IHByZXZDaGlsZHJlbltpJDFdO1xuICAgICAgICBjJDEuZGF0YS50cmFuc2l0aW9uID0gdHJhbnNpdGlvbkRhdGE7XG4gICAgICAgIGMkMS5kYXRhLnBvcyA9IGMkMS5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmIChtYXBbYyQxLmtleV0pIHtcbiAgICAgICAgICBrZXB0LnB1c2goYyQxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZW1vdmVkLnB1c2goYyQxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5rZXB0ID0gaCh0YWcsIG51bGwsIGtlcHQpO1xuICAgICAgdGhpcy5yZW1vdmVkID0gcmVtb3ZlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gaCh0YWcsIG51bGwsIGNoaWxkcmVuKVxuICB9LFxuXG4gIHVwZGF0ZWQ6IGZ1bmN0aW9uIHVwZGF0ZWQgKCkge1xuICAgIHZhciBjaGlsZHJlbiA9IHRoaXMucHJldkNoaWxkcmVuO1xuICAgIHZhciBtb3ZlQ2xhc3MgPSB0aGlzLm1vdmVDbGFzcyB8fCAoKHRoaXMubmFtZSB8fCAndicpICsgJy1tb3ZlJyk7XG4gICAgaWYgKCFjaGlsZHJlbi5sZW5ndGggfHwgIXRoaXMuaGFzTW92ZShjaGlsZHJlblswXS5lbG0sIG1vdmVDbGFzcykpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIHdlIGRpdmlkZSB0aGUgd29yayBpbnRvIHRocmVlIGxvb3BzIHRvIGF2b2lkIG1peGluZyBET00gcmVhZHMgYW5kIHdyaXRlc1xuICAgIC8vIGluIGVhY2ggaXRlcmF0aW9uIC0gd2hpY2ggaGVscHMgcHJldmVudCBsYXlvdXQgdGhyYXNoaW5nLlxuICAgIGNoaWxkcmVuLmZvckVhY2goY2FsbFBlbmRpbmdDYnMpO1xuICAgIGNoaWxkcmVuLmZvckVhY2gocmVjb3JkUG9zaXRpb24pO1xuICAgIGNoaWxkcmVuLmZvckVhY2goYXBwbHlUcmFuc2xhdGlvbik7XG5cbiAgICAvLyBmb3JjZSByZWZsb3cgdG8gcHV0IGV2ZXJ5dGhpbmcgaW4gcG9zaXRpb25cbiAgICAvLyBhc3NpZ24gdG8gdGhpcyB0byBhdm9pZCBiZWluZyByZW1vdmVkIGluIHRyZWUtc2hha2luZ1xuICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgIHRoaXMuX3JlZmxvdyA9IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0O1xuXG4gICAgY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgaWYgKGMuZGF0YS5tb3ZlZCkge1xuICAgICAgICB2YXIgZWwgPSBjLmVsbTtcbiAgICAgICAgdmFyIHMgPSBlbC5zdHlsZTtcbiAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBtb3ZlQ2xhc3MpO1xuICAgICAgICBzLnRyYW5zZm9ybSA9IHMuV2Via2l0VHJhbnNmb3JtID0gcy50cmFuc2l0aW9uRHVyYXRpb24gPSAnJztcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcih0cmFuc2l0aW9uRW5kRXZlbnQsIGVsLl9tb3ZlQ2IgPSBmdW5jdGlvbiBjYiAoZSkge1xuICAgICAgICAgIGlmIChlICYmIGUudGFyZ2V0ICE9PSBlbCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghZSB8fCAvdHJhbnNmb3JtJC8udGVzdChlLnByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIodHJhbnNpdGlvbkVuZEV2ZW50LCBjYik7XG4gICAgICAgICAgICBlbC5fbW92ZUNiID0gbnVsbDtcbiAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbW92ZUNsYXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9LFxuXG4gIG1ldGhvZHM6IHtcbiAgICBoYXNNb3ZlOiBmdW5jdGlvbiBoYXNNb3ZlIChlbCwgbW92ZUNsYXNzKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmICghaGFzVHJhbnNpdGlvbikge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKHRoaXMuX2hhc01vdmUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc01vdmVcbiAgICAgIH1cbiAgICAgIC8vIERldGVjdCB3aGV0aGVyIGFuIGVsZW1lbnQgd2l0aCB0aGUgbW92ZSBjbGFzcyBhcHBsaWVkIGhhc1xuICAgICAgLy8gQ1NTIHRyYW5zaXRpb25zLiBTaW5jZSB0aGUgZWxlbWVudCBtYXkgYmUgaW5zaWRlIGFuIGVudGVyaW5nXG4gICAgICAvLyB0cmFuc2l0aW9uIGF0IHRoaXMgdmVyeSBtb21lbnQsIHdlIG1ha2UgYSBjbG9uZSBvZiBpdCBhbmQgcmVtb3ZlXG4gICAgICAvLyBhbGwgb3RoZXIgdHJhbnNpdGlvbiBjbGFzc2VzIGFwcGxpZWQgdG8gZW5zdXJlIG9ubHkgdGhlIG1vdmUgY2xhc3NcbiAgICAgIC8vIGlzIGFwcGxpZWQuXG4gICAgICB2YXIgY2xvbmUgPSBlbC5jbG9uZU5vZGUoKTtcbiAgICAgIGlmIChlbC5fdHJhbnNpdGlvbkNsYXNzZXMpIHtcbiAgICAgICAgZWwuX3RyYW5zaXRpb25DbGFzc2VzLmZvckVhY2goZnVuY3Rpb24gKGNscykgeyByZW1vdmVDbGFzcyhjbG9uZSwgY2xzKTsgfSk7XG4gICAgICB9XG4gICAgICBhZGRDbGFzcyhjbG9uZSwgbW92ZUNsYXNzKTtcbiAgICAgIGNsb25lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICB0aGlzLiRlbC5hcHBlbmRDaGlsZChjbG9uZSk7XG4gICAgICB2YXIgaW5mbyA9IGdldFRyYW5zaXRpb25JbmZvKGNsb25lKTtcbiAgICAgIHRoaXMuJGVsLnJlbW92ZUNoaWxkKGNsb25lKTtcbiAgICAgIHJldHVybiAodGhpcy5faGFzTW92ZSA9IGluZm8uaGFzVHJhbnNmb3JtKVxuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gY2FsbFBlbmRpbmdDYnMgKGMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChjLmVsbS5fbW92ZUNiKSB7XG4gICAgYy5lbG0uX21vdmVDYigpO1xuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoYy5lbG0uX2VudGVyQ2IpIHtcbiAgICBjLmVsbS5fZW50ZXJDYigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlY29yZFBvc2l0aW9uIChjKSB7XG4gIGMuZGF0YS5uZXdQb3MgPSBjLmVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlUcmFuc2xhdGlvbiAoYykge1xuICB2YXIgb2xkUG9zID0gYy5kYXRhLnBvcztcbiAgdmFyIG5ld1BvcyA9IGMuZGF0YS5uZXdQb3M7XG4gIHZhciBkeCA9IG9sZFBvcy5sZWZ0IC0gbmV3UG9zLmxlZnQ7XG4gIHZhciBkeSA9IG9sZFBvcy50b3AgLSBuZXdQb3MudG9wO1xuICBpZiAoZHggfHwgZHkpIHtcbiAgICBjLmRhdGEubW92ZWQgPSB0cnVlO1xuICAgIHZhciBzID0gYy5lbG0uc3R5bGU7XG4gICAgcy50cmFuc2Zvcm0gPSBzLldlYmtpdFRyYW5zZm9ybSA9IFwidHJhbnNsYXRlKFwiICsgZHggKyBcInB4LFwiICsgZHkgKyBcInB4KVwiO1xuICAgIHMudHJhbnNpdGlvbkR1cmF0aW9uID0gJzBzJztcbiAgfVxufVxuXG52YXIgcGxhdGZvcm1Db21wb25lbnRzID0ge1xuICBUcmFuc2l0aW9uOiBUcmFuc2l0aW9uLFxuICBUcmFuc2l0aW9uR3JvdXA6IFRyYW5zaXRpb25Hcm91cFxufTtcblxuLyogICovXG5cbi8vIGluc3RhbGwgcGxhdGZvcm0gc3BlY2lmaWMgdXRpbHNcblZ1ZS5jb25maWcubXVzdFVzZVByb3AgPSBtdXN0VXNlUHJvcDtcblZ1ZS5jb25maWcuaXNSZXNlcnZlZFRhZyA9IGlzUmVzZXJ2ZWRUYWc7XG5WdWUuY29uZmlnLmlzUmVzZXJ2ZWRBdHRyID0gaXNSZXNlcnZlZEF0dHI7XG5WdWUuY29uZmlnLmdldFRhZ05hbWVzcGFjZSA9IGdldFRhZ05hbWVzcGFjZTtcblZ1ZS5jb25maWcuaXNVbmtub3duRWxlbWVudCA9IGlzVW5rbm93bkVsZW1lbnQ7XG5cbi8vIGluc3RhbGwgcGxhdGZvcm0gcnVudGltZSBkaXJlY3RpdmVzICYgY29tcG9uZW50c1xuZXh0ZW5kKFZ1ZS5vcHRpb25zLmRpcmVjdGl2ZXMsIHBsYXRmb3JtRGlyZWN0aXZlcyk7XG5leHRlbmQoVnVlLm9wdGlvbnMuY29tcG9uZW50cywgcGxhdGZvcm1Db21wb25lbnRzKTtcblxuLy8gaW5zdGFsbCBwbGF0Zm9ybSBwYXRjaCBmdW5jdGlvblxuVnVlLnByb3RvdHlwZS5fX3BhdGNoX18gPSBpbkJyb3dzZXIgPyBwYXRjaCA6IG5vb3A7XG5cbi8vIHB1YmxpYyBtb3VudCBtZXRob2RcblZ1ZS5wcm90b3R5cGUuJG1vdW50ID0gZnVuY3Rpb24gKFxuICBlbCxcbiAgaHlkcmF0aW5nXG4pIHtcbiAgZWwgPSBlbCAmJiBpbkJyb3dzZXIgPyBxdWVyeShlbCkgOiB1bmRlZmluZWQ7XG4gIHJldHVybiBtb3VudENvbXBvbmVudCh0aGlzLCBlbCwgaHlkcmF0aW5nKVxufTtcblxuLy8gZGV2dG9vbHMgZ2xvYmFsIGhvb2tcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5pZiAoaW5Ccm93c2VyKSB7XG4gIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIGlmIChjb25maWcuZGV2dG9vbHMpIHtcbiAgICAgIGlmIChkZXZ0b29scykge1xuICAgICAgICBkZXZ0b29scy5lbWl0KCdpbml0JywgVnVlKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICd0ZXN0J1xuICAgICAgKSB7XG4gICAgICAgIGNvbnNvbGVbY29uc29sZS5pbmZvID8gJ2luZm8nIDogJ2xvZyddKFxuICAgICAgICAgICdEb3dubG9hZCB0aGUgVnVlIERldnRvb2xzIGV4dGVuc2lvbiBmb3IgYSBiZXR0ZXIgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZTpcXG4nICtcbiAgICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL3Z1ZWpzL3Z1ZS1kZXZ0b29scydcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAndGVzdCcgJiZcbiAgICAgIGNvbmZpZy5wcm9kdWN0aW9uVGlwICE9PSBmYWxzZSAmJlxuICAgICAgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnXG4gICAgKSB7XG4gICAgICBjb25zb2xlW2NvbnNvbGUuaW5mbyA/ICdpbmZvJyA6ICdsb2cnXShcbiAgICAgICAgXCJZb3UgYXJlIHJ1bm5pbmcgVnVlIGluIGRldmVsb3BtZW50IG1vZGUuXFxuXCIgK1xuICAgICAgICBcIk1ha2Ugc3VyZSB0byB0dXJuIG9uIHByb2R1Y3Rpb24gbW9kZSB3aGVuIGRlcGxveWluZyBmb3IgcHJvZHVjdGlvbi5cXG5cIiArXG4gICAgICAgIFwiU2VlIG1vcmUgdGlwcyBhdCBodHRwczovL3Z1ZWpzLm9yZy9ndWlkZS9kZXBsb3ltZW50Lmh0bWxcIlxuICAgICAgKTtcbiAgICB9XG4gIH0sIDApO1xufVxuXG4vKiAgKi9cblxudmFyIGRlZmF1bHRUYWdSRSA9IC9cXHtcXHsoKD86LnxcXHI/XFxuKSs/KVxcfVxcfS9nO1xudmFyIHJlZ2V4RXNjYXBlUkUgPSAvWy0uKis/XiR7fSgpfFtcXF1cXC9cXFxcXS9nO1xuXG52YXIgYnVpbGRSZWdleCA9IGNhY2hlZChmdW5jdGlvbiAoZGVsaW1pdGVycykge1xuICB2YXIgb3BlbiA9IGRlbGltaXRlcnNbMF0ucmVwbGFjZShyZWdleEVzY2FwZVJFLCAnXFxcXCQmJyk7XG4gIHZhciBjbG9zZSA9IGRlbGltaXRlcnNbMV0ucmVwbGFjZShyZWdleEVzY2FwZVJFLCAnXFxcXCQmJyk7XG4gIHJldHVybiBuZXcgUmVnRXhwKG9wZW4gKyAnKCg/Oi58XFxcXG4pKz8pJyArIGNsb3NlLCAnZycpXG59KTtcblxuXG5cbmZ1bmN0aW9uIHBhcnNlVGV4dCAoXG4gIHRleHQsXG4gIGRlbGltaXRlcnNcbikge1xuICB2YXIgdGFnUkUgPSBkZWxpbWl0ZXJzID8gYnVpbGRSZWdleChkZWxpbWl0ZXJzKSA6IGRlZmF1bHRUYWdSRTtcbiAgaWYgKCF0YWdSRS50ZXN0KHRleHQpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHRva2VucyA9IFtdO1xuICB2YXIgcmF3VG9rZW5zID0gW107XG4gIHZhciBsYXN0SW5kZXggPSB0YWdSRS5sYXN0SW5kZXggPSAwO1xuICB2YXIgbWF0Y2gsIGluZGV4LCB0b2tlblZhbHVlO1xuICB3aGlsZSAoKG1hdGNoID0gdGFnUkUuZXhlYyh0ZXh0KSkpIHtcbiAgICBpbmRleCA9IG1hdGNoLmluZGV4O1xuICAgIC8vIHB1c2ggdGV4dCB0b2tlblxuICAgIGlmIChpbmRleCA+IGxhc3RJbmRleCkge1xuICAgICAgcmF3VG9rZW5zLnB1c2godG9rZW5WYWx1ZSA9IHRleHQuc2xpY2UobGFzdEluZGV4LCBpbmRleCkpO1xuICAgICAgdG9rZW5zLnB1c2goSlNPTi5zdHJpbmdpZnkodG9rZW5WYWx1ZSkpO1xuICAgIH1cbiAgICAvLyB0YWcgdG9rZW5cbiAgICB2YXIgZXhwID0gcGFyc2VGaWx0ZXJzKG1hdGNoWzFdLnRyaW0oKSk7XG4gICAgdG9rZW5zLnB1c2goKFwiX3MoXCIgKyBleHAgKyBcIilcIikpO1xuICAgIHJhd1Rva2Vucy5wdXNoKHsgJ0BiaW5kaW5nJzogZXhwIH0pO1xuICAgIGxhc3RJbmRleCA9IGluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xuICB9XG4gIGlmIChsYXN0SW5kZXggPCB0ZXh0Lmxlbmd0aCkge1xuICAgIHJhd1Rva2Vucy5wdXNoKHRva2VuVmFsdWUgPSB0ZXh0LnNsaWNlKGxhc3RJbmRleCkpO1xuICAgIHRva2Vucy5wdXNoKEpTT04uc3RyaW5naWZ5KHRva2VuVmFsdWUpKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGV4cHJlc3Npb246IHRva2Vucy5qb2luKCcrJyksXG4gICAgdG9rZW5zOiByYXdUb2tlbnNcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gdHJhbnNmb3JtTm9kZSAoZWwsIG9wdGlvbnMpIHtcbiAgdmFyIHdhcm4gPSBvcHRpb25zLndhcm4gfHwgYmFzZVdhcm47XG4gIHZhciBzdGF0aWNDbGFzcyA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICdjbGFzcycpO1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBzdGF0aWNDbGFzcykge1xuICAgIHZhciByZXMgPSBwYXJzZVRleHQoc3RhdGljQ2xhc3MsIG9wdGlvbnMuZGVsaW1pdGVycyk7XG4gICAgaWYgKHJlcykge1xuICAgICAgd2FybihcbiAgICAgICAgXCJjbGFzcz1cXFwiXCIgKyBzdGF0aWNDbGFzcyArIFwiXFxcIjogXCIgK1xuICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVkLiAnICtcbiAgICAgICAgJ1VzZSB2LWJpbmQgb3IgdGhlIGNvbG9uIHNob3J0aGFuZCBpbnN0ZWFkLiBGb3IgZXhhbXBsZSwgJyArXG4gICAgICAgICdpbnN0ZWFkIG9mIDxkaXYgY2xhc3M9XCJ7eyB2YWwgfX1cIj4sIHVzZSA8ZGl2IDpjbGFzcz1cInZhbFwiPi4nLFxuICAgICAgICBlbC5yYXdBdHRyc01hcFsnY2xhc3MnXVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgaWYgKHN0YXRpY0NsYXNzKSB7XG4gICAgZWwuc3RhdGljQ2xhc3MgPSBKU09OLnN0cmluZ2lmeShzdGF0aWNDbGFzcyk7XG4gIH1cbiAgdmFyIGNsYXNzQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnY2xhc3MnLCBmYWxzZSAvKiBnZXRTdGF0aWMgKi8pO1xuICBpZiAoY2xhc3NCaW5kaW5nKSB7XG4gICAgZWwuY2xhc3NCaW5kaW5nID0gY2xhc3NCaW5kaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkRhdGEgKGVsKSB7XG4gIHZhciBkYXRhID0gJyc7XG4gIGlmIChlbC5zdGF0aWNDbGFzcykge1xuICAgIGRhdGEgKz0gXCJzdGF0aWNDbGFzczpcIiArIChlbC5zdGF0aWNDbGFzcykgKyBcIixcIjtcbiAgfVxuICBpZiAoZWwuY2xhc3NCaW5kaW5nKSB7XG4gICAgZGF0YSArPSBcImNsYXNzOlwiICsgKGVsLmNsYXNzQmluZGluZykgKyBcIixcIjtcbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG52YXIga2xhc3MkMSA9IHtcbiAgc3RhdGljS2V5czogWydzdGF0aWNDbGFzcyddLFxuICB0cmFuc2Zvcm1Ob2RlOiB0cmFuc2Zvcm1Ob2RlLFxuICBnZW5EYXRhOiBnZW5EYXRhXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdHJhbnNmb3JtTm9kZSQxIChlbCwgb3B0aW9ucykge1xuICB2YXIgd2FybiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgdmFyIHN0YXRpY1N0eWxlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3N0eWxlJyk7XG4gIGlmIChzdGF0aWNTdHlsZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB2YXIgcmVzID0gcGFyc2VUZXh0KHN0YXRpY1N0eWxlLCBvcHRpb25zLmRlbGltaXRlcnMpO1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIFwic3R5bGU9XFxcIlwiICsgc3RhdGljU3R5bGUgKyBcIlxcXCI6IFwiICtcbiAgICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVkLiAnICtcbiAgICAgICAgICAnVXNlIHYtYmluZCBvciB0aGUgY29sb24gc2hvcnRoYW5kIGluc3RlYWQuIEZvciBleGFtcGxlLCAnICtcbiAgICAgICAgICAnaW5zdGVhZCBvZiA8ZGl2IHN0eWxlPVwie3sgdmFsIH19XCI+LCB1c2UgPGRpdiA6c3R5bGU9XCJ2YWxcIj4uJyxcbiAgICAgICAgICBlbC5yYXdBdHRyc01hcFsnc3R5bGUnXVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBlbC5zdGF0aWNTdHlsZSA9IEpTT04uc3RyaW5naWZ5KHBhcnNlU3R5bGVUZXh0KHN0YXRpY1N0eWxlKSk7XG4gIH1cblxuICB2YXIgc3R5bGVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdzdHlsZScsIGZhbHNlIC8qIGdldFN0YXRpYyAqLyk7XG4gIGlmIChzdHlsZUJpbmRpbmcpIHtcbiAgICBlbC5zdHlsZUJpbmRpbmcgPSBzdHlsZUJpbmRpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuRGF0YSQxIChlbCkge1xuICB2YXIgZGF0YSA9ICcnO1xuICBpZiAoZWwuc3RhdGljU3R5bGUpIHtcbiAgICBkYXRhICs9IFwic3RhdGljU3R5bGU6XCIgKyAoZWwuc3RhdGljU3R5bGUpICsgXCIsXCI7XG4gIH1cbiAgaWYgKGVsLnN0eWxlQmluZGluZykge1xuICAgIGRhdGEgKz0gXCJzdHlsZTooXCIgKyAoZWwuc3R5bGVCaW5kaW5nKSArIFwiKSxcIjtcbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG52YXIgc3R5bGUkMSA9IHtcbiAgc3RhdGljS2V5czogWydzdGF0aWNTdHlsZSddLFxuICB0cmFuc2Zvcm1Ob2RlOiB0cmFuc2Zvcm1Ob2RlJDEsXG4gIGdlbkRhdGE6IGdlbkRhdGEkMVxufTtcblxuLyogICovXG5cbnZhciBkZWNvZGVyO1xuXG52YXIgaGUgPSB7XG4gIGRlY29kZTogZnVuY3Rpb24gZGVjb2RlIChodG1sKSB7XG4gICAgZGVjb2RlciA9IGRlY29kZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGVjb2Rlci5pbm5lckhUTUwgPSBodG1sO1xuICAgIHJldHVybiBkZWNvZGVyLnRleHRDb250ZW50XG4gIH1cbn07XG5cbi8qICAqL1xuXG52YXIgaXNVbmFyeVRhZyA9IG1ha2VNYXAoXG4gICdhcmVhLGJhc2UsYnIsY29sLGVtYmVkLGZyYW1lLGhyLGltZyxpbnB1dCxpc2luZGV4LGtleWdlbiwnICtcbiAgJ2xpbmssbWV0YSxwYXJhbSxzb3VyY2UsdHJhY2ssd2JyJ1xuKTtcblxuLy8gRWxlbWVudHMgdGhhdCB5b3UgY2FuLCBpbnRlbnRpb25hbGx5LCBsZWF2ZSBvcGVuXG4vLyAoYW5kIHdoaWNoIGNsb3NlIHRoZW1zZWx2ZXMpXG52YXIgY2FuQmVMZWZ0T3BlblRhZyA9IG1ha2VNYXAoXG4gICdjb2xncm91cCxkZCxkdCxsaSxvcHRpb25zLHAsdGQsdGZvb3QsdGgsdGhlYWQsdHIsc291cmNlJ1xuKTtcblxuLy8gSFRNTDUgdGFncyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbmRpY2VzLmh0bWwjZWxlbWVudHMtM1xuLy8gUGhyYXNpbmcgQ29udGVudCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9kb20uaHRtbCNwaHJhc2luZy1jb250ZW50XG52YXIgaXNOb25QaHJhc2luZ1RhZyA9IG1ha2VNYXAoXG4gICdhZGRyZXNzLGFydGljbGUsYXNpZGUsYmFzZSxibG9ja3F1b3RlLGJvZHksY2FwdGlvbixjb2wsY29sZ3JvdXAsZGQsJyArXG4gICdkZXRhaWxzLGRpYWxvZyxkaXYsZGwsZHQsZmllbGRzZXQsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGZvcm0sJyArXG4gICdoMSxoMixoMyxoNCxoNSxoNixoZWFkLGhlYWRlcixoZ3JvdXAsaHIsaHRtbCxsZWdlbmQsbGksbWVudWl0ZW0sbWV0YSwnICtcbiAgJ29wdGdyb3VwLG9wdGlvbixwYXJhbSxycCxydCxzb3VyY2Usc3R5bGUsc3VtbWFyeSx0Ym9keSx0ZCx0Zm9vdCx0aCx0aGVhZCwnICtcbiAgJ3RpdGxlLHRyLHRyYWNrJ1xuKTtcblxuLyoqXG4gKiBOb3QgdHlwZS1jaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBpdCdzIG1vc3RseSB2ZW5kb3IgY29kZS5cbiAqL1xuXG4vLyBSZWd1bGFyIEV4cHJlc3Npb25zIGZvciBwYXJzaW5nIHRhZ3MgYW5kIGF0dHJpYnV0ZXNcbnZhciBhdHRyaWJ1dGUgPSAvXlxccyooW15cXHNcIic8PlxcLz1dKykoPzpcXHMqKD0pXFxzKig/OlwiKFteXCJdKilcIit8JyhbXiddKiknK3woW15cXHNcIic9PD5gXSspKSk/LztcbnZhciBkeW5hbWljQXJnQXR0cmlidXRlID0gL15cXHMqKCg/OnYtW1xcdy1dKzp8QHw6fCMpXFxbW149XStcXF1bXlxcc1wiJzw+XFwvPV0qKSg/OlxccyooPSlcXHMqKD86XCIoW15cIl0qKVwiK3wnKFteJ10qKScrfChbXlxcc1wiJz08PmBdKykpKT8vO1xudmFyIG5jbmFtZSA9IFwiW2EtekEtWl9dW1xcXFwtXFxcXC4wLTlfYS16QS1aXCIgKyAodW5pY29kZVJlZ0V4cC5zb3VyY2UpICsgXCJdKlwiO1xudmFyIHFuYW1lQ2FwdHVyZSA9IFwiKCg/OlwiICsgbmNuYW1lICsgXCJcXFxcOik/XCIgKyBuY25hbWUgKyBcIilcIjtcbnZhciBzdGFydFRhZ09wZW4gPSBuZXcgUmVnRXhwKChcIl48XCIgKyBxbmFtZUNhcHR1cmUpKTtcbnZhciBzdGFydFRhZ0Nsb3NlID0gL15cXHMqKFxcLz8pPi87XG52YXIgZW5kVGFnID0gbmV3IFJlZ0V4cCgoXCJePFxcXFwvXCIgKyBxbmFtZUNhcHR1cmUgKyBcIltePl0qPlwiKSk7XG52YXIgZG9jdHlwZSA9IC9ePCFET0NUWVBFIFtePl0rPi9pO1xuLy8gIzcyOTg6IGVzY2FwZSAtIHRvIGF2b2lkIGJlaW5nIHBhc2VkIGFzIEhUTUwgY29tbWVudCB3aGVuIGlubGluZWQgaW4gcGFnZVxudmFyIGNvbW1lbnQgPSAvXjwhXFwtLS87XG52YXIgY29uZGl0aW9uYWxDb21tZW50ID0gL148IVxcWy87XG5cbi8vIFNwZWNpYWwgRWxlbWVudHMgKGNhbiBjb250YWluIGFueXRoaW5nKVxudmFyIGlzUGxhaW5UZXh0RWxlbWVudCA9IG1ha2VNYXAoJ3NjcmlwdCxzdHlsZSx0ZXh0YXJlYScsIHRydWUpO1xudmFyIHJlQ2FjaGUgPSB7fTtcblxudmFyIGRlY29kaW5nTWFwID0ge1xuICAnJmx0Oyc6ICc8JyxcbiAgJyZndDsnOiAnPicsXG4gICcmcXVvdDsnOiAnXCInLFxuICAnJmFtcDsnOiAnJicsXG4gICcmIzEwOyc6ICdcXG4nLFxuICAnJiM5Oyc6ICdcXHQnLFxuICAnJiMzOTsnOiBcIidcIlxufTtcbnZhciBlbmNvZGVkQXR0ciA9IC8mKD86bHR8Z3R8cXVvdHxhbXB8IzM5KTsvZztcbnZhciBlbmNvZGVkQXR0cldpdGhOZXdMaW5lcyA9IC8mKD86bHR8Z3R8cXVvdHxhbXB8IzM5fCMxMHwjOSk7L2c7XG5cbi8vICM1OTkyXG52YXIgaXNJZ25vcmVOZXdsaW5lVGFnID0gbWFrZU1hcCgncHJlLHRleHRhcmVhJywgdHJ1ZSk7XG52YXIgc2hvdWxkSWdub3JlRmlyc3ROZXdsaW5lID0gZnVuY3Rpb24gKHRhZywgaHRtbCkgeyByZXR1cm4gdGFnICYmIGlzSWdub3JlTmV3bGluZVRhZyh0YWcpICYmIGh0bWxbMF0gPT09ICdcXG4nOyB9O1xuXG5mdW5jdGlvbiBkZWNvZGVBdHRyICh2YWx1ZSwgc2hvdWxkRGVjb2RlTmV3bGluZXMpIHtcbiAgdmFyIHJlID0gc2hvdWxkRGVjb2RlTmV3bGluZXMgPyBlbmNvZGVkQXR0cldpdGhOZXdMaW5lcyA6IGVuY29kZWRBdHRyO1xuICByZXR1cm4gdmFsdWUucmVwbGFjZShyZSwgZnVuY3Rpb24gKG1hdGNoKSB7IHJldHVybiBkZWNvZGluZ01hcFttYXRjaF07IH0pXG59XG5cbmZ1bmN0aW9uIHBhcnNlSFRNTCAoaHRtbCwgb3B0aW9ucykge1xuICB2YXIgc3RhY2sgPSBbXTtcbiAgdmFyIGV4cGVjdEhUTUwgPSBvcHRpb25zLmV4cGVjdEhUTUw7XG4gIHZhciBpc1VuYXJ5VGFnJCQxID0gb3B0aW9ucy5pc1VuYXJ5VGFnIHx8IG5vO1xuICB2YXIgY2FuQmVMZWZ0T3BlblRhZyQkMSA9IG9wdGlvbnMuY2FuQmVMZWZ0T3BlblRhZyB8fCBubztcbiAgdmFyIGluZGV4ID0gMDtcbiAgdmFyIGxhc3QsIGxhc3RUYWc7XG4gIHdoaWxlIChodG1sKSB7XG4gICAgbGFzdCA9IGh0bWw7XG4gICAgLy8gTWFrZSBzdXJlIHdlJ3JlIG5vdCBpbiBhIHBsYWludGV4dCBjb250ZW50IGVsZW1lbnQgbGlrZSBzY3JpcHQvc3R5bGVcbiAgICBpZiAoIWxhc3RUYWcgfHwgIWlzUGxhaW5UZXh0RWxlbWVudChsYXN0VGFnKSkge1xuICAgICAgdmFyIHRleHRFbmQgPSBodG1sLmluZGV4T2YoJzwnKTtcbiAgICAgIGlmICh0ZXh0RW5kID09PSAwKSB7XG4gICAgICAgIC8vIENvbW1lbnQ6XG4gICAgICAgIGlmIChjb21tZW50LnRlc3QoaHRtbCkpIHtcbiAgICAgICAgICB2YXIgY29tbWVudEVuZCA9IGh0bWwuaW5kZXhPZignLS0+Jyk7XG5cbiAgICAgICAgICBpZiAoY29tbWVudEVuZCA+PSAwKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRLZWVwQ29tbWVudCkge1xuICAgICAgICAgICAgICBvcHRpb25zLmNvbW1lbnQoaHRtbC5zdWJzdHJpbmcoNCwgY29tbWVudEVuZCksIGluZGV4LCBpbmRleCArIGNvbW1lbnRFbmQgKyAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkdmFuY2UoY29tbWVudEVuZCArIDMpO1xuICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbmRpdGlvbmFsX2NvbW1lbnQjRG93bmxldmVsLXJldmVhbGVkX2NvbmRpdGlvbmFsX2NvbW1lbnRcbiAgICAgICAgaWYgKGNvbmRpdGlvbmFsQ29tbWVudC50ZXN0KGh0bWwpKSB7XG4gICAgICAgICAgdmFyIGNvbmRpdGlvbmFsRW5kID0gaHRtbC5pbmRleE9mKCddPicpO1xuXG4gICAgICAgICAgaWYgKGNvbmRpdGlvbmFsRW5kID49IDApIHtcbiAgICAgICAgICAgIGFkdmFuY2UoY29uZGl0aW9uYWxFbmQgKyAyKTtcbiAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRG9jdHlwZTpcbiAgICAgICAgdmFyIGRvY3R5cGVNYXRjaCA9IGh0bWwubWF0Y2goZG9jdHlwZSk7XG4gICAgICAgIGlmIChkb2N0eXBlTWF0Y2gpIHtcbiAgICAgICAgICBhZHZhbmNlKGRvY3R5cGVNYXRjaFswXS5sZW5ndGgpO1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbmQgdGFnOlxuICAgICAgICB2YXIgZW5kVGFnTWF0Y2ggPSBodG1sLm1hdGNoKGVuZFRhZyk7XG4gICAgICAgIGlmIChlbmRUYWdNYXRjaCkge1xuICAgICAgICAgIHZhciBjdXJJbmRleCA9IGluZGV4O1xuICAgICAgICAgIGFkdmFuY2UoZW5kVGFnTWF0Y2hbMF0ubGVuZ3RoKTtcbiAgICAgICAgICBwYXJzZUVuZFRhZyhlbmRUYWdNYXRjaFsxXSwgY3VySW5kZXgsIGluZGV4KTtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgdGFnOlxuICAgICAgICB2YXIgc3RhcnRUYWdNYXRjaCA9IHBhcnNlU3RhcnRUYWcoKTtcbiAgICAgICAgaWYgKHN0YXJ0VGFnTWF0Y2gpIHtcbiAgICAgICAgICBoYW5kbGVTdGFydFRhZyhzdGFydFRhZ01hdGNoKTtcbiAgICAgICAgICBpZiAoc2hvdWxkSWdub3JlRmlyc3ROZXdsaW5lKHN0YXJ0VGFnTWF0Y2gudGFnTmFtZSwgaHRtbCkpIHtcbiAgICAgICAgICAgIGFkdmFuY2UoMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHRleHQgPSAodm9pZCAwKSwgcmVzdCA9ICh2b2lkIDApLCBuZXh0ID0gKHZvaWQgMCk7XG4gICAgICBpZiAodGV4dEVuZCA+PSAwKSB7XG4gICAgICAgIHJlc3QgPSBodG1sLnNsaWNlKHRleHRFbmQpO1xuICAgICAgICB3aGlsZSAoXG4gICAgICAgICAgIWVuZFRhZy50ZXN0KHJlc3QpICYmXG4gICAgICAgICAgIXN0YXJ0VGFnT3Blbi50ZXN0KHJlc3QpICYmXG4gICAgICAgICAgIWNvbW1lbnQudGVzdChyZXN0KSAmJlxuICAgICAgICAgICFjb25kaXRpb25hbENvbW1lbnQudGVzdChyZXN0KVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyA8IGluIHBsYWluIHRleHQsIGJlIGZvcmdpdmluZyBhbmQgdHJlYXQgaXQgYXMgdGV4dFxuICAgICAgICAgIG5leHQgPSByZXN0LmluZGV4T2YoJzwnLCAxKTtcbiAgICAgICAgICBpZiAobmV4dCA8IDApIHsgYnJlYWsgfVxuICAgICAgICAgIHRleHRFbmQgKz0gbmV4dDtcbiAgICAgICAgICByZXN0ID0gaHRtbC5zbGljZSh0ZXh0RW5kKTtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0ID0gaHRtbC5zdWJzdHJpbmcoMCwgdGV4dEVuZCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0ZXh0RW5kIDwgMCkge1xuICAgICAgICB0ZXh0ID0gaHRtbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgYWR2YW5jZSh0ZXh0Lmxlbmd0aCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zLmNoYXJzICYmIHRleHQpIHtcbiAgICAgICAgb3B0aW9ucy5jaGFycyh0ZXh0LCBpbmRleCAtIHRleHQubGVuZ3RoLCBpbmRleCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBlbmRUYWdMZW5ndGggPSAwO1xuICAgICAgdmFyIHN0YWNrZWRUYWcgPSBsYXN0VGFnLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgcmVTdGFja2VkVGFnID0gcmVDYWNoZVtzdGFja2VkVGFnXSB8fCAocmVDYWNoZVtzdGFja2VkVGFnXSA9IG5ldyBSZWdFeHAoJyhbXFxcXHNcXFxcU10qPykoPC8nICsgc3RhY2tlZFRhZyArICdbXj5dKj4pJywgJ2knKSk7XG4gICAgICB2YXIgcmVzdCQxID0gaHRtbC5yZXBsYWNlKHJlU3RhY2tlZFRhZywgZnVuY3Rpb24gKGFsbCwgdGV4dCwgZW5kVGFnKSB7XG4gICAgICAgIGVuZFRhZ0xlbmd0aCA9IGVuZFRhZy5sZW5ndGg7XG4gICAgICAgIGlmICghaXNQbGFpblRleHRFbGVtZW50KHN0YWNrZWRUYWcpICYmIHN0YWNrZWRUYWcgIT09ICdub3NjcmlwdCcpIHtcbiAgICAgICAgICB0ZXh0ID0gdGV4dFxuICAgICAgICAgICAgLnJlcGxhY2UoLzwhXFwtLShbXFxzXFxTXSo/KS0tPi9nLCAnJDEnKSAvLyAjNzI5OFxuICAgICAgICAgICAgLnJlcGxhY2UoLzwhXFxbQ0RBVEFcXFsoW1xcc1xcU10qPyldXT4vZywgJyQxJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZElnbm9yZUZpcnN0TmV3bGluZShzdGFja2VkVGFnLCB0ZXh0KSkge1xuICAgICAgICAgIHRleHQgPSB0ZXh0LnNsaWNlKDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmNoYXJzKSB7XG4gICAgICAgICAgb3B0aW9ucy5jaGFycyh0ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJydcbiAgICAgIH0pO1xuICAgICAgaW5kZXggKz0gaHRtbC5sZW5ndGggLSByZXN0JDEubGVuZ3RoO1xuICAgICAgaHRtbCA9IHJlc3QkMTtcbiAgICAgIHBhcnNlRW5kVGFnKHN0YWNrZWRUYWcsIGluZGV4IC0gZW5kVGFnTGVuZ3RoLCBpbmRleCk7XG4gICAgfVxuXG4gICAgaWYgKGh0bWwgPT09IGxhc3QpIHtcbiAgICAgIG9wdGlvbnMuY2hhcnMgJiYgb3B0aW9ucy5jaGFycyhodG1sKTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFzdGFjay5sZW5ndGggJiYgb3B0aW9ucy53YXJuKSB7XG4gICAgICAgIG9wdGlvbnMud2FybigoXCJNYWwtZm9ybWF0dGVkIHRhZyBhdCBlbmQgb2YgdGVtcGxhdGU6IFxcXCJcIiArIGh0bWwgKyBcIlxcXCJcIiksIHsgc3RhcnQ6IGluZGV4ICsgaHRtbC5sZW5ndGggfSk7XG4gICAgICB9XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIC8vIENsZWFuIHVwIGFueSByZW1haW5pbmcgdGFnc1xuICBwYXJzZUVuZFRhZygpO1xuXG4gIGZ1bmN0aW9uIGFkdmFuY2UgKG4pIHtcbiAgICBpbmRleCArPSBuO1xuICAgIGh0bWwgPSBodG1sLnN1YnN0cmluZyhuKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBhcnNlU3RhcnRUYWcgKCkge1xuICAgIHZhciBzdGFydCA9IGh0bWwubWF0Y2goc3RhcnRUYWdPcGVuKTtcbiAgICBpZiAoc3RhcnQpIHtcbiAgICAgIHZhciBtYXRjaCA9IHtcbiAgICAgICAgdGFnTmFtZTogc3RhcnRbMV0sXG4gICAgICAgIGF0dHJzOiBbXSxcbiAgICAgICAgc3RhcnQ6IGluZGV4XG4gICAgICB9O1xuICAgICAgYWR2YW5jZShzdGFydFswXS5sZW5ndGgpO1xuICAgICAgdmFyIGVuZCwgYXR0cjtcbiAgICAgIHdoaWxlICghKGVuZCA9IGh0bWwubWF0Y2goc3RhcnRUYWdDbG9zZSkpICYmIChhdHRyID0gaHRtbC5tYXRjaChkeW5hbWljQXJnQXR0cmlidXRlKSB8fCBodG1sLm1hdGNoKGF0dHJpYnV0ZSkpKSB7XG4gICAgICAgIGF0dHIuc3RhcnQgPSBpbmRleDtcbiAgICAgICAgYWR2YW5jZShhdHRyWzBdLmxlbmd0aCk7XG4gICAgICAgIGF0dHIuZW5kID0gaW5kZXg7XG4gICAgICAgIG1hdGNoLmF0dHJzLnB1c2goYXR0cik7XG4gICAgICB9XG4gICAgICBpZiAoZW5kKSB7XG4gICAgICAgIG1hdGNoLnVuYXJ5U2xhc2ggPSBlbmRbMV07XG4gICAgICAgIGFkdmFuY2UoZW5kWzBdLmxlbmd0aCk7XG4gICAgICAgIG1hdGNoLmVuZCA9IGluZGV4O1xuICAgICAgICByZXR1cm4gbWF0Y2hcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVTdGFydFRhZyAobWF0Y2gpIHtcbiAgICB2YXIgdGFnTmFtZSA9IG1hdGNoLnRhZ05hbWU7XG4gICAgdmFyIHVuYXJ5U2xhc2ggPSBtYXRjaC51bmFyeVNsYXNoO1xuXG4gICAgaWYgKGV4cGVjdEhUTUwpIHtcbiAgICAgIGlmIChsYXN0VGFnID09PSAncCcgJiYgaXNOb25QaHJhc2luZ1RhZyh0YWdOYW1lKSkge1xuICAgICAgICBwYXJzZUVuZFRhZyhsYXN0VGFnKTtcbiAgICAgIH1cbiAgICAgIGlmIChjYW5CZUxlZnRPcGVuVGFnJCQxKHRhZ05hbWUpICYmIGxhc3RUYWcgPT09IHRhZ05hbWUpIHtcbiAgICAgICAgcGFyc2VFbmRUYWcodGFnTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHVuYXJ5ID0gaXNVbmFyeVRhZyQkMSh0YWdOYW1lKSB8fCAhIXVuYXJ5U2xhc2g7XG5cbiAgICB2YXIgbCA9IG1hdGNoLmF0dHJzLmxlbmd0aDtcbiAgICB2YXIgYXR0cnMgPSBuZXcgQXJyYXkobCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIHZhciBhcmdzID0gbWF0Y2guYXR0cnNbaV07XG4gICAgICB2YXIgdmFsdWUgPSBhcmdzWzNdIHx8IGFyZ3NbNF0gfHwgYXJnc1s1XSB8fCAnJztcbiAgICAgIHZhciBzaG91bGREZWNvZGVOZXdsaW5lcyA9IHRhZ05hbWUgPT09ICdhJyAmJiBhcmdzWzFdID09PSAnaHJlZidcbiAgICAgICAgPyBvcHRpb25zLnNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZlxuICAgICAgICA6IG9wdGlvbnMuc2hvdWxkRGVjb2RlTmV3bGluZXM7XG4gICAgICBhdHRyc1tpXSA9IHtcbiAgICAgICAgbmFtZTogYXJnc1sxXSxcbiAgICAgICAgdmFsdWU6IGRlY29kZUF0dHIodmFsdWUsIHNob3VsZERlY29kZU5ld2xpbmVzKVxuICAgICAgfTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgYXR0cnNbaV0uc3RhcnQgPSBhcmdzLnN0YXJ0ICsgYXJnc1swXS5tYXRjaCgvXlxccyovKS5sZW5ndGg7XG4gICAgICAgIGF0dHJzW2ldLmVuZCA9IGFyZ3MuZW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdW5hcnkpIHtcbiAgICAgIHN0YWNrLnB1c2goeyB0YWc6IHRhZ05hbWUsIGxvd2VyQ2FzZWRUYWc6IHRhZ05hbWUudG9Mb3dlckNhc2UoKSwgYXR0cnM6IGF0dHJzLCBzdGFydDogbWF0Y2guc3RhcnQsIGVuZDogbWF0Y2guZW5kIH0pO1xuICAgICAgbGFzdFRhZyA9IHRhZ05hbWU7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc3RhcnQpIHtcbiAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgYXR0cnMsIHVuYXJ5LCBtYXRjaC5zdGFydCwgbWF0Y2guZW5kKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZUVuZFRhZyAodGFnTmFtZSwgc3RhcnQsIGVuZCkge1xuICAgIHZhciBwb3MsIGxvd2VyQ2FzZWRUYWdOYW1lO1xuICAgIGlmIChzdGFydCA9PSBudWxsKSB7IHN0YXJ0ID0gaW5kZXg7IH1cbiAgICBpZiAoZW5kID09IG51bGwpIHsgZW5kID0gaW5kZXg7IH1cblxuICAgIC8vIEZpbmQgdGhlIGNsb3Nlc3Qgb3BlbmVkIHRhZyBvZiB0aGUgc2FtZSB0eXBlXG4gICAgaWYgKHRhZ05hbWUpIHtcbiAgICAgIGxvd2VyQ2FzZWRUYWdOYW1lID0gdGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgZm9yIChwb3MgPSBzdGFjay5sZW5ndGggLSAxOyBwb3MgPj0gMDsgcG9zLS0pIHtcbiAgICAgICAgaWYgKHN0YWNrW3Bvc10ubG93ZXJDYXNlZFRhZyA9PT0gbG93ZXJDYXNlZFRhZ05hbWUpIHtcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIG5vIHRhZyBuYW1lIGlzIHByb3ZpZGVkLCBjbGVhbiBzaG9wXG4gICAgICBwb3MgPSAwO1xuICAgIH1cblxuICAgIGlmIChwb3MgPj0gMCkge1xuICAgICAgLy8gQ2xvc2UgYWxsIHRoZSBvcGVuIGVsZW1lbnRzLCB1cCB0aGUgc3RhY2tcbiAgICAgIGZvciAodmFyIGkgPSBzdGFjay5sZW5ndGggLSAxOyBpID49IHBvczsgaS0tKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgKGkgPiBwb3MgfHwgIXRhZ05hbWUpICYmXG4gICAgICAgICAgb3B0aW9ucy53YXJuXG4gICAgICAgICkge1xuICAgICAgICAgIG9wdGlvbnMud2FybihcbiAgICAgICAgICAgIChcInRhZyA8XCIgKyAoc3RhY2tbaV0udGFnKSArIFwiPiBoYXMgbm8gbWF0Y2hpbmcgZW5kIHRhZy5cIiksXG4gICAgICAgICAgICB7IHN0YXJ0OiBzdGFja1tpXS5zdGFydCwgZW5kOiBzdGFja1tpXS5lbmQgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuZW5kKSB7XG4gICAgICAgICAgb3B0aW9ucy5lbmQoc3RhY2tbaV0udGFnLCBzdGFydCwgZW5kKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgdGhlIG9wZW4gZWxlbWVudHMgZnJvbSB0aGUgc3RhY2tcbiAgICAgIHN0YWNrLmxlbmd0aCA9IHBvcztcbiAgICAgIGxhc3RUYWcgPSBwb3MgJiYgc3RhY2tbcG9zIC0gMV0udGFnO1xuICAgIH0gZWxzZSBpZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09ICdicicpIHtcbiAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSB7XG4gICAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgW10sIHRydWUsIHN0YXJ0LCBlbmQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09ICdwJykge1xuICAgICAgaWYgKG9wdGlvbnMuc3RhcnQpIHtcbiAgICAgICAgb3B0aW9ucy5zdGFydCh0YWdOYW1lLCBbXSwgZmFsc2UsIHN0YXJ0LCBlbmQpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnMuZW5kKSB7XG4gICAgICAgIG9wdGlvbnMuZW5kKHRhZ05hbWUsIHN0YXJ0LCBlbmQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIG9uUkUgPSAvXkB8XnYtb246LztcbnZhciBkaXJSRSA9IC9edi18XkB8XjovO1xudmFyIGZvckFsaWFzUkUgPSAvKFtcXHNcXFNdKj8pXFxzKyg/OmlufG9mKVxccysoW1xcc1xcU10qKS87XG52YXIgZm9ySXRlcmF0b3JSRSA9IC8sKFteLFxcfVxcXV0qKSg/OiwoW14sXFx9XFxdXSopKT8kLztcbnZhciBzdHJpcFBhcmVuc1JFID0gL15cXCh8XFwpJC9nO1xudmFyIGR5bmFtaWNBcmdSRSA9IC9eXFxbLipcXF0kLztcblxudmFyIGFyZ1JFID0gLzooLiopJC87XG52YXIgYmluZFJFID0gL146fF5cXC58XnYtYmluZDovO1xudmFyIG1vZGlmaWVyUkUgPSAvXFwuW14uXFxdXSsoPz1bXlxcXV0qJCkvZztcblxudmFyIHNsb3RSRSA9IC9edi1zbG90KDp8JCl8XiMvO1xuXG52YXIgbGluZUJyZWFrUkUgPSAvW1xcclxcbl0vO1xudmFyIHdoaXRlc3BhY2VSRSQxID0gL1xccysvZztcblxudmFyIGludmFsaWRBdHRyaWJ1dGVSRSA9IC9bXFxzXCInPD5cXC89XS87XG5cbnZhciBkZWNvZGVIVE1MQ2FjaGVkID0gY2FjaGVkKGhlLmRlY29kZSk7XG5cbnZhciBlbXB0eVNsb3RTY29wZVRva2VuID0gXCJfZW1wdHlfXCI7XG5cbi8vIGNvbmZpZ3VyYWJsZSBzdGF0ZVxudmFyIHdhcm4kMjtcbnZhciBkZWxpbWl0ZXJzO1xudmFyIHRyYW5zZm9ybXM7XG52YXIgcHJlVHJhbnNmb3JtcztcbnZhciBwb3N0VHJhbnNmb3JtcztcbnZhciBwbGF0Zm9ybUlzUHJlVGFnO1xudmFyIHBsYXRmb3JtTXVzdFVzZVByb3A7XG52YXIgcGxhdGZvcm1HZXRUYWdOYW1lc3BhY2U7XG52YXIgbWF5YmVDb21wb25lbnQ7XG5cbmZ1bmN0aW9uIGNyZWF0ZUFTVEVsZW1lbnQgKFxuICB0YWcsXG4gIGF0dHJzLFxuICBwYXJlbnRcbikge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IDEsXG4gICAgdGFnOiB0YWcsXG4gICAgYXR0cnNMaXN0OiBhdHRycyxcbiAgICBhdHRyc01hcDogbWFrZUF0dHJzTWFwKGF0dHJzKSxcbiAgICByYXdBdHRyc01hcDoge30sXG4gICAgcGFyZW50OiBwYXJlbnQsXG4gICAgY2hpbGRyZW46IFtdXG4gIH1cbn1cblxuLyoqXG4gKiBDb252ZXJ0IEhUTUwgc3RyaW5nIHRvIEFTVC5cbiAqL1xuZnVuY3Rpb24gcGFyc2UgKFxuICB0ZW1wbGF0ZSxcbiAgb3B0aW9uc1xuKSB7XG4gIHdhcm4kMiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcblxuICBwbGF0Zm9ybUlzUHJlVGFnID0gb3B0aW9ucy5pc1ByZVRhZyB8fCBubztcbiAgcGxhdGZvcm1NdXN0VXNlUHJvcCA9IG9wdGlvbnMubXVzdFVzZVByb3AgfHwgbm87XG4gIHBsYXRmb3JtR2V0VGFnTmFtZXNwYWNlID0gb3B0aW9ucy5nZXRUYWdOYW1lc3BhY2UgfHwgbm87XG4gIHZhciBpc1Jlc2VydmVkVGFnID0gb3B0aW9ucy5pc1Jlc2VydmVkVGFnIHx8IG5vO1xuICBtYXliZUNvbXBvbmVudCA9IGZ1bmN0aW9uIChlbCkgeyByZXR1cm4gISFlbC5jb21wb25lbnQgfHwgIWlzUmVzZXJ2ZWRUYWcoZWwudGFnKTsgfTtcblxuICB0cmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICd0cmFuc2Zvcm1Ob2RlJyk7XG4gIHByZVRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ3ByZVRyYW5zZm9ybU5vZGUnKTtcbiAgcG9zdFRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ3Bvc3RUcmFuc2Zvcm1Ob2RlJyk7XG5cbiAgZGVsaW1pdGVycyA9IG9wdGlvbnMuZGVsaW1pdGVycztcblxuICB2YXIgc3RhY2sgPSBbXTtcbiAgdmFyIHByZXNlcnZlV2hpdGVzcGFjZSA9IG9wdGlvbnMucHJlc2VydmVXaGl0ZXNwYWNlICE9PSBmYWxzZTtcbiAgdmFyIHdoaXRlc3BhY2VPcHRpb24gPSBvcHRpb25zLndoaXRlc3BhY2U7XG4gIHZhciByb290O1xuICB2YXIgY3VycmVudFBhcmVudDtcbiAgdmFyIGluVlByZSA9IGZhbHNlO1xuICB2YXIgaW5QcmUgPSBmYWxzZTtcbiAgdmFyIHdhcm5lZCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHdhcm5PbmNlIChtc2csIHJhbmdlKSB7XG4gICAgaWYgKCF3YXJuZWQpIHtcbiAgICAgIHdhcm5lZCA9IHRydWU7XG4gICAgICB3YXJuJDIobXNnLCByYW5nZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2xvc2VFbGVtZW50IChlbGVtZW50KSB7XG4gICAgdHJpbUVuZGluZ1doaXRlc3BhY2UoZWxlbWVudCk7XG4gICAgaWYgKCFpblZQcmUgJiYgIWVsZW1lbnQucHJvY2Vzc2VkKSB7XG4gICAgICBlbGVtZW50ID0gcHJvY2Vzc0VsZW1lbnQoZWxlbWVudCwgb3B0aW9ucyk7XG4gICAgfVxuICAgIC8vIHRyZWUgbWFuYWdlbWVudFxuICAgIGlmICghc3RhY2subGVuZ3RoICYmIGVsZW1lbnQgIT09IHJvb3QpIHtcbiAgICAgIC8vIGFsbG93IHJvb3QgZWxlbWVudHMgd2l0aCB2LWlmLCB2LWVsc2UtaWYgYW5kIHYtZWxzZVxuICAgICAgaWYgKHJvb3QuaWYgJiYgKGVsZW1lbnQuZWxzZWlmIHx8IGVsZW1lbnQuZWxzZSkpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjaGVja1Jvb3RDb25zdHJhaW50cyhlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBhZGRJZkNvbmRpdGlvbihyb290LCB7XG4gICAgICAgICAgZXhwOiBlbGVtZW50LmVsc2VpZixcbiAgICAgICAgICBibG9jazogZWxlbWVudFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICBcIkNvbXBvbmVudCB0ZW1wbGF0ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IG9uZSByb290IGVsZW1lbnQuIFwiICtcbiAgICAgICAgICBcIklmIHlvdSBhcmUgdXNpbmcgdi1pZiBvbiBtdWx0aXBsZSBlbGVtZW50cywgXCIgK1xuICAgICAgICAgIFwidXNlIHYtZWxzZS1pZiB0byBjaGFpbiB0aGVtIGluc3RlYWQuXCIsXG4gICAgICAgICAgeyBzdGFydDogZWxlbWVudC5zdGFydCB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjdXJyZW50UGFyZW50ICYmICFlbGVtZW50LmZvcmJpZGRlbikge1xuICAgICAgaWYgKGVsZW1lbnQuZWxzZWlmIHx8IGVsZW1lbnQuZWxzZSkge1xuICAgICAgICBwcm9jZXNzSWZDb25kaXRpb25zKGVsZW1lbnQsIGN1cnJlbnRQYXJlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGVsZW1lbnQuc2xvdFNjb3BlKSB7XG4gICAgICAgICAgLy8gc2NvcGVkIHNsb3RcbiAgICAgICAgICAvLyBrZWVwIGl0IGluIHRoZSBjaGlsZHJlbiBsaXN0IHNvIHRoYXQgdi1lbHNlKC1pZikgY29uZGl0aW9ucyBjYW5cbiAgICAgICAgICAvLyBmaW5kIGl0IGFzIHRoZSBwcmV2IG5vZGUuXG4gICAgICAgICAgdmFyIG5hbWUgPSBlbGVtZW50LnNsb3RUYXJnZXQgfHwgJ1wiZGVmYXVsdFwiJ1xuICAgICAgICAgIDsoY3VycmVudFBhcmVudC5zY29wZWRTbG90cyB8fCAoY3VycmVudFBhcmVudC5zY29wZWRTbG90cyA9IHt9KSlbbmFtZV0gPSBlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnRQYXJlbnQuY2hpbGRyZW4ucHVzaChlbGVtZW50KTtcbiAgICAgICAgZWxlbWVudC5wYXJlbnQgPSBjdXJyZW50UGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZpbmFsIGNoaWxkcmVuIGNsZWFudXBcbiAgICAvLyBmaWx0ZXIgb3V0IHNjb3BlZCBzbG90c1xuICAgIGVsZW1lbnQuY2hpbGRyZW4gPSBlbGVtZW50LmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbiAoYykgeyByZXR1cm4gIShjKS5zbG90U2NvcGU7IH0pO1xuICAgIC8vIHJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIG5vZGUgYWdhaW5cbiAgICB0cmltRW5kaW5nV2hpdGVzcGFjZShlbGVtZW50KTtcblxuICAgIC8vIGNoZWNrIHByZSBzdGF0ZVxuICAgIGlmIChlbGVtZW50LnByZSkge1xuICAgICAgaW5WUHJlID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChwbGF0Zm9ybUlzUHJlVGFnKGVsZW1lbnQudGFnKSkge1xuICAgICAgaW5QcmUgPSBmYWxzZTtcbiAgICB9XG4gICAgLy8gYXBwbHkgcG9zdC10cmFuc2Zvcm1zXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb3N0VHJhbnNmb3Jtcy5sZW5ndGg7IGkrKykge1xuICAgICAgcG9zdFRyYW5zZm9ybXNbaV0oZWxlbWVudCwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdHJpbUVuZGluZ1doaXRlc3BhY2UgKGVsKSB7XG4gICAgLy8gcmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2Ugbm9kZVxuICAgIGlmICghaW5QcmUpIHtcbiAgICAgIHZhciBsYXN0Tm9kZTtcbiAgICAgIHdoaWxlIChcbiAgICAgICAgKGxhc3ROb2RlID0gZWwuY2hpbGRyZW5bZWwuY2hpbGRyZW4ubGVuZ3RoIC0gMV0pICYmXG4gICAgICAgIGxhc3ROb2RlLnR5cGUgPT09IDMgJiZcbiAgICAgICAgbGFzdE5vZGUudGV4dCA9PT0gJyAnXG4gICAgICApIHtcbiAgICAgICAgZWwuY2hpbGRyZW4ucG9wKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2hlY2tSb290Q29uc3RyYWludHMgKGVsKSB7XG4gICAgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnIHx8IGVsLnRhZyA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgd2Fybk9uY2UoXG4gICAgICAgIFwiQ2Fubm90IHVzZSA8XCIgKyAoZWwudGFnKSArIFwiPiBhcyBjb21wb25lbnQgcm9vdCBlbGVtZW50IGJlY2F1c2UgaXQgbWF5IFwiICtcbiAgICAgICAgJ2NvbnRhaW4gbXVsdGlwbGUgbm9kZXMuJyxcbiAgICAgICAgeyBzdGFydDogZWwuc3RhcnQgfVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGVsLmF0dHJzTWFwLmhhc093blByb3BlcnR5KCd2LWZvcicpKSB7XG4gICAgICB3YXJuT25jZShcbiAgICAgICAgJ0Nhbm5vdCB1c2Ugdi1mb3Igb24gc3RhdGVmdWwgY29tcG9uZW50IHJvb3QgZWxlbWVudCBiZWNhdXNlICcgK1xuICAgICAgICAnaXQgcmVuZGVycyBtdWx0aXBsZSBlbGVtZW50cy4nLFxuICAgICAgICBlbC5yYXdBdHRyc01hcFsndi1mb3InXVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwYXJzZUhUTUwodGVtcGxhdGUsIHtcbiAgICB3YXJuOiB3YXJuJDIsXG4gICAgZXhwZWN0SFRNTDogb3B0aW9ucy5leHBlY3RIVE1MLFxuICAgIGlzVW5hcnlUYWc6IG9wdGlvbnMuaXNVbmFyeVRhZyxcbiAgICBjYW5CZUxlZnRPcGVuVGFnOiBvcHRpb25zLmNhbkJlTGVmdE9wZW5UYWcsXG4gICAgc2hvdWxkRGVjb2RlTmV3bGluZXM6IG9wdGlvbnMuc2hvdWxkRGVjb2RlTmV3bGluZXMsXG4gICAgc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmOiBvcHRpb25zLnNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZixcbiAgICBzaG91bGRLZWVwQ29tbWVudDogb3B0aW9ucy5jb21tZW50cyxcbiAgICBvdXRwdXRTb3VyY2VSYW5nZTogb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSxcbiAgICBzdGFydDogZnVuY3Rpb24gc3RhcnQgKHRhZywgYXR0cnMsIHVuYXJ5LCBzdGFydCQxLCBlbmQpIHtcbiAgICAgIC8vIGNoZWNrIG5hbWVzcGFjZS5cbiAgICAgIC8vIGluaGVyaXQgcGFyZW50IG5zIGlmIHRoZXJlIGlzIG9uZVxuICAgICAgdmFyIG5zID0gKGN1cnJlbnRQYXJlbnQgJiYgY3VycmVudFBhcmVudC5ucykgfHwgcGxhdGZvcm1HZXRUYWdOYW1lc3BhY2UodGFnKTtcblxuICAgICAgLy8gaGFuZGxlIElFIHN2ZyBidWdcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKGlzSUUgJiYgbnMgPT09ICdzdmcnKSB7XG4gICAgICAgIGF0dHJzID0gZ3VhcmRJRVNWR0J1ZyhhdHRycyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBlbGVtZW50ID0gY3JlYXRlQVNURWxlbWVudCh0YWcsIGF0dHJzLCBjdXJyZW50UGFyZW50KTtcbiAgICAgIGlmIChucykge1xuICAgICAgICBlbGVtZW50Lm5zID0gbnM7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGlmIChvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgZWxlbWVudC5zdGFydCA9IHN0YXJ0JDE7XG4gICAgICAgICAgZWxlbWVudC5lbmQgPSBlbmQ7XG4gICAgICAgICAgZWxlbWVudC5yYXdBdHRyc01hcCA9IGVsZW1lbnQuYXR0cnNMaXN0LnJlZHVjZShmdW5jdGlvbiAoY3VtdWxhdGVkLCBhdHRyKSB7XG4gICAgICAgICAgICBjdW11bGF0ZWRbYXR0ci5uYW1lXSA9IGF0dHI7XG4gICAgICAgICAgICByZXR1cm4gY3VtdWxhdGVkXG4gICAgICAgICAgfSwge30pO1xuICAgICAgICB9XG4gICAgICAgIGF0dHJzLmZvckVhY2goZnVuY3Rpb24gKGF0dHIpIHtcbiAgICAgICAgICBpZiAoaW52YWxpZEF0dHJpYnV0ZVJFLnRlc3QoYXR0ci5uYW1lKSkge1xuICAgICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgICBcIkludmFsaWQgZHluYW1pYyBhcmd1bWVudCBleHByZXNzaW9uOiBhdHRyaWJ1dGUgbmFtZXMgY2Fubm90IGNvbnRhaW4gXCIgK1xuICAgICAgICAgICAgICBcInNwYWNlcywgcXVvdGVzLCA8LCA+LCAvIG9yID0uXCIsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzdGFydDogYXR0ci5zdGFydCArIGF0dHIubmFtZS5pbmRleE9mKFwiW1wiKSxcbiAgICAgICAgICAgICAgICBlbmQ6IGF0dHIuc3RhcnQgKyBhdHRyLm5hbWUubGVuZ3RoXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRm9yYmlkZGVuVGFnKGVsZW1lbnQpICYmICFpc1NlcnZlclJlbmRlcmluZygpKSB7XG4gICAgICAgIGVsZW1lbnQuZm9yYmlkZGVuID0gdHJ1ZTtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuJDIoXG4gICAgICAgICAgJ1RlbXBsYXRlcyBzaG91bGQgb25seSBiZSByZXNwb25zaWJsZSBmb3IgbWFwcGluZyB0aGUgc3RhdGUgdG8gdGhlICcgK1xuICAgICAgICAgICdVSS4gQXZvaWQgcGxhY2luZyB0YWdzIHdpdGggc2lkZS1lZmZlY3RzIGluIHlvdXIgdGVtcGxhdGVzLCBzdWNoIGFzICcgK1xuICAgICAgICAgIFwiPFwiICsgdGFnICsgXCI+XCIgKyAnLCBhcyB0aGV5IHdpbGwgbm90IGJlIHBhcnNlZC4nLFxuICAgICAgICAgIHsgc3RhcnQ6IGVsZW1lbnQuc3RhcnQgfVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBhcHBseSBwcmUtdHJhbnNmb3Jtc1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcmVUcmFuc2Zvcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGVsZW1lbnQgPSBwcmVUcmFuc2Zvcm1zW2ldKGVsZW1lbnQsIG9wdGlvbnMpIHx8IGVsZW1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICghaW5WUHJlKSB7XG4gICAgICAgIHByb2Nlc3NQcmUoZWxlbWVudCk7XG4gICAgICAgIGlmIChlbGVtZW50LnByZSkge1xuICAgICAgICAgIGluVlByZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChwbGF0Zm9ybUlzUHJlVGFnKGVsZW1lbnQudGFnKSkge1xuICAgICAgICBpblByZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoaW5WUHJlKSB7XG4gICAgICAgIHByb2Nlc3NSYXdBdHRycyhlbGVtZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoIWVsZW1lbnQucHJvY2Vzc2VkKSB7XG4gICAgICAgIC8vIHN0cnVjdHVyYWwgZGlyZWN0aXZlc1xuICAgICAgICBwcm9jZXNzRm9yKGVsZW1lbnQpO1xuICAgICAgICBwcm9jZXNzSWYoZWxlbWVudCk7XG4gICAgICAgIHByb2Nlc3NPbmNlKGVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJvb3QpIHtcbiAgICAgICAgcm9vdCA9IGVsZW1lbnQ7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgY2hlY2tSb290Q29uc3RyYWludHMocm9vdCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCF1bmFyeSkge1xuICAgICAgICBjdXJyZW50UGFyZW50ID0gZWxlbWVudDtcbiAgICAgICAgc3RhY2sucHVzaChlbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlRWxlbWVudChlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgZW5kOiBmdW5jdGlvbiBlbmQgKHRhZywgc3RhcnQsIGVuZCQxKSB7XG4gICAgICB2YXIgZWxlbWVudCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xuICAgICAgLy8gcG9wIHN0YWNrXG4gICAgICBzdGFjay5sZW5ndGggLT0gMTtcbiAgICAgIGN1cnJlbnRQYXJlbnQgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgZWxlbWVudC5lbmQgPSBlbmQkMTtcbiAgICAgIH1cbiAgICAgIGNsb3NlRWxlbWVudChlbGVtZW50KTtcbiAgICB9LFxuXG4gICAgY2hhcnM6IGZ1bmN0aW9uIGNoYXJzICh0ZXh0LCBzdGFydCwgZW5kKSB7XG4gICAgICBpZiAoIWN1cnJlbnRQYXJlbnQpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAodGV4dCA9PT0gdGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgICAnQ29tcG9uZW50IHRlbXBsYXRlIHJlcXVpcmVzIGEgcm9vdCBlbGVtZW50LCByYXRoZXIgdGhhbiBqdXN0IHRleHQuJyxcbiAgICAgICAgICAgICAgeyBzdGFydDogc3RhcnQgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCh0ZXh0ID0gdGV4dC50cmltKCkpKSB7XG4gICAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgICAgKFwidGV4dCBcXFwiXCIgKyB0ZXh0ICsgXCJcXFwiIG91dHNpZGUgcm9vdCBlbGVtZW50IHdpbGwgYmUgaWdub3JlZC5cIiksXG4gICAgICAgICAgICAgIHsgc3RhcnQ6IHN0YXJ0IH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgLy8gSUUgdGV4dGFyZWEgcGxhY2Vob2xkZXIgYnVnXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChpc0lFICYmXG4gICAgICAgIGN1cnJlbnRQYXJlbnQudGFnID09PSAndGV4dGFyZWEnICYmXG4gICAgICAgIGN1cnJlbnRQYXJlbnQuYXR0cnNNYXAucGxhY2Vob2xkZXIgPT09IHRleHRcbiAgICAgICkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHZhciBjaGlsZHJlbiA9IGN1cnJlbnRQYXJlbnQuY2hpbGRyZW47XG4gICAgICBpZiAoaW5QcmUgfHwgdGV4dC50cmltKCkpIHtcbiAgICAgICAgdGV4dCA9IGlzVGV4dFRhZyhjdXJyZW50UGFyZW50KSA/IHRleHQgOiBkZWNvZGVIVE1MQ2FjaGVkKHRleHQpO1xuICAgICAgfSBlbHNlIGlmICghY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIC8vIHJlbW92ZSB0aGUgd2hpdGVzcGFjZS1vbmx5IG5vZGUgcmlnaHQgYWZ0ZXIgYW4gb3BlbmluZyB0YWdcbiAgICAgICAgdGV4dCA9ICcnO1xuICAgICAgfSBlbHNlIGlmICh3aGl0ZXNwYWNlT3B0aW9uKSB7XG4gICAgICAgIGlmICh3aGl0ZXNwYWNlT3B0aW9uID09PSAnY29uZGVuc2UnKSB7XG4gICAgICAgICAgLy8gaW4gY29uZGVuc2UgbW9kZSwgcmVtb3ZlIHRoZSB3aGl0ZXNwYWNlIG5vZGUgaWYgaXQgY29udGFpbnNcbiAgICAgICAgICAvLyBsaW5lIGJyZWFrLCBvdGhlcndpc2UgY29uZGVuc2UgdG8gYSBzaW5nbGUgc3BhY2VcbiAgICAgICAgICB0ZXh0ID0gbGluZUJyZWFrUkUudGVzdCh0ZXh0KSA/ICcnIDogJyAnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRleHQgPSAnICc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRleHQgPSBwcmVzZXJ2ZVdoaXRlc3BhY2UgPyAnICcgOiAnJztcbiAgICAgIH1cbiAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgIGlmICghaW5QcmUgJiYgd2hpdGVzcGFjZU9wdGlvbiA9PT0gJ2NvbmRlbnNlJykge1xuICAgICAgICAgIC8vIGNvbmRlbnNlIGNvbnNlY3V0aXZlIHdoaXRlc3BhY2VzIGludG8gc2luZ2xlIHNwYWNlXG4gICAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZSh3aGl0ZXNwYWNlUkUkMSwgJyAnKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmVzO1xuICAgICAgICB2YXIgY2hpbGQ7XG4gICAgICAgIGlmICghaW5WUHJlICYmIHRleHQgIT09ICcgJyAmJiAocmVzID0gcGFyc2VUZXh0KHRleHQsIGRlbGltaXRlcnMpKSkge1xuICAgICAgICAgIGNoaWxkID0ge1xuICAgICAgICAgICAgdHlwZTogMixcbiAgICAgICAgICAgIGV4cHJlc3Npb246IHJlcy5leHByZXNzaW9uLFxuICAgICAgICAgICAgdG9rZW5zOiByZXMudG9rZW5zLFxuICAgICAgICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAodGV4dCAhPT0gJyAnIHx8ICFjaGlsZHJlbi5sZW5ndGggfHwgY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV0udGV4dCAhPT0gJyAnKSB7XG4gICAgICAgICAgY2hpbGQgPSB7XG4gICAgICAgICAgICB0eXBlOiAzLFxuICAgICAgICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoaWxkKSB7XG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgICAgY2hpbGQuc3RhcnQgPSBzdGFydDtcbiAgICAgICAgICAgIGNoaWxkLmVuZCA9IGVuZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGNvbW1lbnQ6IGZ1bmN0aW9uIGNvbW1lbnQgKHRleHQsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIC8vIGFkZGluZyBhbnl0aW5nIGFzIGEgc2libGluZyB0byB0aGUgcm9vdCBub2RlIGlzIGZvcmJpZGRlblxuICAgICAgLy8gY29tbWVudHMgc2hvdWxkIHN0aWxsIGJlIGFsbG93ZWQsIGJ1dCBpZ25vcmVkXG4gICAgICBpZiAoY3VycmVudFBhcmVudCkge1xuICAgICAgICB2YXIgY2hpbGQgPSB7XG4gICAgICAgICAgdHlwZTogMyxcbiAgICAgICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgICAgIGlzQ29tbWVudDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgY2hpbGQuc3RhcnQgPSBzdGFydDtcbiAgICAgICAgICBjaGlsZC5lbmQgPSBlbmQ7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudFBhcmVudC5jaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcm9vdFxufVxuXG5mdW5jdGlvbiBwcm9jZXNzUHJlIChlbCkge1xuICBpZiAoZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtcHJlJykgIT0gbnVsbCkge1xuICAgIGVsLnByZSA9IHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1Jhd0F0dHJzIChlbCkge1xuICB2YXIgbGlzdCA9IGVsLmF0dHJzTGlzdDtcbiAgdmFyIGxlbiA9IGxpc3QubGVuZ3RoO1xuICBpZiAobGVuKSB7XG4gICAgdmFyIGF0dHJzID0gZWwuYXR0cnMgPSBuZXcgQXJyYXkobGVuKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBhdHRyc1tpXSA9IHtcbiAgICAgICAgbmFtZTogbGlzdFtpXS5uYW1lLFxuICAgICAgICB2YWx1ZTogSlNPTi5zdHJpbmdpZnkobGlzdFtpXS52YWx1ZSlcbiAgICAgIH07XG4gICAgICBpZiAobGlzdFtpXS5zdGFydCAhPSBudWxsKSB7XG4gICAgICAgIGF0dHJzW2ldLnN0YXJ0ID0gbGlzdFtpXS5zdGFydDtcbiAgICAgICAgYXR0cnNbaV0uZW5kID0gbGlzdFtpXS5lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKCFlbC5wcmUpIHtcbiAgICAvLyBub24gcm9vdCBub2RlIGluIHByZSBibG9ja3Mgd2l0aCBubyBhdHRyaWJ1dGVzXG4gICAgZWwucGxhaW4gPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NFbGVtZW50IChcbiAgZWxlbWVudCxcbiAgb3B0aW9uc1xuKSB7XG4gIHByb2Nlc3NLZXkoZWxlbWVudCk7XG5cbiAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhpcyBpcyBhIHBsYWluIGVsZW1lbnQgYWZ0ZXJcbiAgLy8gcmVtb3Zpbmcgc3RydWN0dXJhbCBhdHRyaWJ1dGVzXG4gIGVsZW1lbnQucGxhaW4gPSAoXG4gICAgIWVsZW1lbnQua2V5ICYmXG4gICAgIWVsZW1lbnQuc2NvcGVkU2xvdHMgJiZcbiAgICAhZWxlbWVudC5hdHRyc0xpc3QubGVuZ3RoXG4gICk7XG5cbiAgcHJvY2Vzc1JlZihlbGVtZW50KTtcbiAgcHJvY2Vzc1Nsb3RDb250ZW50KGVsZW1lbnQpO1xuICBwcm9jZXNzU2xvdE91dGxldChlbGVtZW50KTtcbiAgcHJvY2Vzc0NvbXBvbmVudChlbGVtZW50KTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB0cmFuc2Zvcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgZWxlbWVudCA9IHRyYW5zZm9ybXNbaV0oZWxlbWVudCwgb3B0aW9ucykgfHwgZWxlbWVudDtcbiAgfVxuICBwcm9jZXNzQXR0cnMoZWxlbWVudCk7XG4gIHJldHVybiBlbGVtZW50XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NLZXkgKGVsKSB7XG4gIHZhciBleHAgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ2tleScpO1xuICBpZiAoZXhwKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGlmIChlbC50YWcgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgICAgd2FybiQyKFxuICAgICAgICAgIFwiPHRlbXBsYXRlPiBjYW5ub3QgYmUga2V5ZWQuIFBsYWNlIHRoZSBrZXkgb24gcmVhbCBlbGVtZW50cyBpbnN0ZWFkLlwiLFxuICAgICAgICAgIGdldFJhd0JpbmRpbmdBdHRyKGVsLCAna2V5JylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChlbC5mb3IpIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gZWwuaXRlcmF0b3IyIHx8IGVsLml0ZXJhdG9yMTtcbiAgICAgICAgdmFyIHBhcmVudCA9IGVsLnBhcmVudDtcbiAgICAgICAgaWYgKGl0ZXJhdG9yICYmIGl0ZXJhdG9yID09PSBleHAgJiYgcGFyZW50ICYmIHBhcmVudC50YWcgPT09ICd0cmFuc2l0aW9uLWdyb3VwJykge1xuICAgICAgICAgIHdhcm4kMihcbiAgICAgICAgICAgIFwiRG8gbm90IHVzZSB2LWZvciBpbmRleCBhcyBrZXkgb24gPHRyYW5zaXRpb24tZ3JvdXA+IGNoaWxkcmVuLCBcIiArXG4gICAgICAgICAgICBcInRoaXMgaXMgdGhlIHNhbWUgYXMgbm90IHVzaW5nIGtleXMuXCIsXG4gICAgICAgICAgICBnZXRSYXdCaW5kaW5nQXR0cihlbCwgJ2tleScpLFxuICAgICAgICAgICAgdHJ1ZSAvKiB0aXAgKi9cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGVsLmtleSA9IGV4cDtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzUmVmIChlbCkge1xuICB2YXIgcmVmID0gZ2V0QmluZGluZ0F0dHIoZWwsICdyZWYnKTtcbiAgaWYgKHJlZikge1xuICAgIGVsLnJlZiA9IHJlZjtcbiAgICBlbC5yZWZJbkZvciA9IGNoZWNrSW5Gb3IoZWwpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NGb3IgKGVsKSB7XG4gIHZhciBleHA7XG4gIGlmICgoZXhwID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZm9yJykpKSB7XG4gICAgdmFyIHJlcyA9IHBhcnNlRm9yKGV4cCk7XG4gICAgaWYgKHJlcykge1xuICAgICAgZXh0ZW5kKGVsLCByZXMpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgd2FybiQyKFxuICAgICAgICAoXCJJbnZhbGlkIHYtZm9yIGV4cHJlc3Npb246IFwiICsgZXhwKSxcbiAgICAgICAgZWwucmF3QXR0cnNNYXBbJ3YtZm9yJ11cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cblxuXG5mdW5jdGlvbiBwYXJzZUZvciAoZXhwKSB7XG4gIHZhciBpbk1hdGNoID0gZXhwLm1hdGNoKGZvckFsaWFzUkUpO1xuICBpZiAoIWluTWF0Y2gpIHsgcmV0dXJuIH1cbiAgdmFyIHJlcyA9IHt9O1xuICByZXMuZm9yID0gaW5NYXRjaFsyXS50cmltKCk7XG4gIHZhciBhbGlhcyA9IGluTWF0Y2hbMV0udHJpbSgpLnJlcGxhY2Uoc3RyaXBQYXJlbnNSRSwgJycpO1xuICB2YXIgaXRlcmF0b3JNYXRjaCA9IGFsaWFzLm1hdGNoKGZvckl0ZXJhdG9yUkUpO1xuICBpZiAoaXRlcmF0b3JNYXRjaCkge1xuICAgIHJlcy5hbGlhcyA9IGFsaWFzLnJlcGxhY2UoZm9ySXRlcmF0b3JSRSwgJycpLnRyaW0oKTtcbiAgICByZXMuaXRlcmF0b3IxID0gaXRlcmF0b3JNYXRjaFsxXS50cmltKCk7XG4gICAgaWYgKGl0ZXJhdG9yTWF0Y2hbMl0pIHtcbiAgICAgIHJlcy5pdGVyYXRvcjIgPSBpdGVyYXRvck1hdGNoWzJdLnRyaW0oKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVzLmFsaWFzID0gYWxpYXM7XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzSWYgKGVsKSB7XG4gIHZhciBleHAgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1pZicpO1xuICBpZiAoZXhwKSB7XG4gICAgZWwuaWYgPSBleHA7XG4gICAgYWRkSWZDb25kaXRpb24oZWwsIHtcbiAgICAgIGV4cDogZXhwLFxuICAgICAgYmxvY2s6IGVsXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UnKSAhPSBudWxsKSB7XG4gICAgICBlbC5lbHNlID0gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIGVsc2VpZiA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UtaWYnKTtcbiAgICBpZiAoZWxzZWlmKSB7XG4gICAgICBlbC5lbHNlaWYgPSBlbHNlaWY7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NJZkNvbmRpdGlvbnMgKGVsLCBwYXJlbnQpIHtcbiAgdmFyIHByZXYgPSBmaW5kUHJldkVsZW1lbnQocGFyZW50LmNoaWxkcmVuKTtcbiAgaWYgKHByZXYgJiYgcHJldi5pZikge1xuICAgIGFkZElmQ29uZGl0aW9uKHByZXYsIHtcbiAgICAgIGV4cDogZWwuZWxzZWlmLFxuICAgICAgYmxvY2s6IGVsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHdhcm4kMihcbiAgICAgIFwidi1cIiArIChlbC5lbHNlaWYgPyAoJ2Vsc2UtaWY9XCInICsgZWwuZWxzZWlmICsgJ1wiJykgOiAnZWxzZScpICsgXCIgXCIgK1xuICAgICAgXCJ1c2VkIG9uIGVsZW1lbnQgPFwiICsgKGVsLnRhZykgKyBcIj4gd2l0aG91dCBjb3JyZXNwb25kaW5nIHYtaWYuXCIsXG4gICAgICBlbC5yYXdBdHRyc01hcFtlbC5lbHNlaWYgPyAndi1lbHNlLWlmJyA6ICd2LWVsc2UnXVxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZFByZXZFbGVtZW50IChjaGlsZHJlbikge1xuICB2YXIgaSA9IGNoaWxkcmVuLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIGlmIChjaGlsZHJlbltpXS50eXBlID09PSAxKSB7XG4gICAgICByZXR1cm4gY2hpbGRyZW5baV1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY2hpbGRyZW5baV0udGV4dCAhPT0gJyAnKSB7XG4gICAgICAgIHdhcm4kMihcbiAgICAgICAgICBcInRleHQgXFxcIlwiICsgKGNoaWxkcmVuW2ldLnRleHQudHJpbSgpKSArIFwiXFxcIiBiZXR3ZWVuIHYtaWYgYW5kIHYtZWxzZSgtaWYpIFwiICtcbiAgICAgICAgICBcIndpbGwgYmUgaWdub3JlZC5cIixcbiAgICAgICAgICBjaGlsZHJlbltpXVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY2hpbGRyZW4ucG9wKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZElmQ29uZGl0aW9uIChlbCwgY29uZGl0aW9uKSB7XG4gIGlmICghZWwuaWZDb25kaXRpb25zKSB7XG4gICAgZWwuaWZDb25kaXRpb25zID0gW107XG4gIH1cbiAgZWwuaWZDb25kaXRpb25zLnB1c2goY29uZGl0aW9uKTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc09uY2UgKGVsKSB7XG4gIHZhciBvbmNlJCQxID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Ytb25jZScpO1xuICBpZiAob25jZSQkMSAhPSBudWxsKSB7XG4gICAgZWwub25jZSA9IHRydWU7XG4gIH1cbn1cblxuLy8gaGFuZGxlIGNvbnRlbnQgYmVpbmcgcGFzc2VkIHRvIGEgY29tcG9uZW50IGFzIHNsb3QsXG4vLyBlLmcuIDx0ZW1wbGF0ZSBzbG90PVwieHh4XCI+LCA8ZGl2IHNsb3Qtc2NvcGU9XCJ4eHhcIj5cbmZ1bmN0aW9uIHByb2Nlc3NTbG90Q29udGVudCAoZWwpIHtcbiAgdmFyIHNsb3RTY29wZTtcbiAgaWYgKGVsLnRhZyA9PT0gJ3RlbXBsYXRlJykge1xuICAgIHNsb3RTY29wZSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICdzY29wZScpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHNsb3RTY29wZSkge1xuICAgICAgd2FybiQyKFxuICAgICAgICBcInRoZSBcXFwic2NvcGVcXFwiIGF0dHJpYnV0ZSBmb3Igc2NvcGVkIHNsb3RzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCBcIiArXG4gICAgICAgIFwicmVwbGFjZWQgYnkgXFxcInNsb3Qtc2NvcGVcXFwiIHNpbmNlIDIuNS4gVGhlIG5ldyBcXFwic2xvdC1zY29wZVxcXCIgYXR0cmlidXRlIFwiICtcbiAgICAgICAgXCJjYW4gYWxzbyBiZSB1c2VkIG9uIHBsYWluIGVsZW1lbnRzIGluIGFkZGl0aW9uIHRvIDx0ZW1wbGF0ZT4gdG8gXCIgK1xuICAgICAgICBcImRlbm90ZSBzY29wZWQgc2xvdHMuXCIsXG4gICAgICAgIGVsLnJhd0F0dHJzTWFwWydzY29wZSddLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIH1cbiAgICBlbC5zbG90U2NvcGUgPSBzbG90U2NvcGUgfHwgZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Nsb3Qtc2NvcGUnKTtcbiAgfSBlbHNlIGlmICgoc2xvdFNjb3BlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Nsb3Qtc2NvcGUnKSkpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBlbC5hdHRyc01hcFsndi1mb3InXSkge1xuICAgICAgd2FybiQyKFxuICAgICAgICBcIkFtYmlndW91cyBjb21iaW5lZCB1c2FnZSBvZiBzbG90LXNjb3BlIGFuZCB2LWZvciBvbiA8XCIgKyAoZWwudGFnKSArIFwiPiBcIiArXG4gICAgICAgIFwiKHYtZm9yIHRha2VzIGhpZ2hlciBwcmlvcml0eSkuIFVzZSBhIHdyYXBwZXIgPHRlbXBsYXRlPiBmb3IgdGhlIFwiICtcbiAgICAgICAgXCJzY29wZWQgc2xvdCB0byBtYWtlIGl0IGNsZWFyZXIuXCIsXG4gICAgICAgIGVsLnJhd0F0dHJzTWFwWydzbG90LXNjb3BlJ10sXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgfVxuICAgIGVsLnNsb3RTY29wZSA9IHNsb3RTY29wZTtcbiAgfVxuXG4gIC8vIHNsb3Q9XCJ4eHhcIlxuICB2YXIgc2xvdFRhcmdldCA9IGdldEJpbmRpbmdBdHRyKGVsLCAnc2xvdCcpO1xuICBpZiAoc2xvdFRhcmdldCkge1xuICAgIGVsLnNsb3RUYXJnZXQgPSBzbG90VGFyZ2V0ID09PSAnXCJcIicgPyAnXCJkZWZhdWx0XCInIDogc2xvdFRhcmdldDtcbiAgICBlbC5zbG90VGFyZ2V0RHluYW1pYyA9ICEhKGVsLmF0dHJzTWFwWyc6c2xvdCddIHx8IGVsLmF0dHJzTWFwWyd2LWJpbmQ6c2xvdCddKTtcbiAgICAvLyBwcmVzZXJ2ZSBzbG90IGFzIGFuIGF0dHJpYnV0ZSBmb3IgbmF0aXZlIHNoYWRvdyBET00gY29tcGF0XG4gICAgLy8gb25seSBmb3Igbm9uLXNjb3BlZCBzbG90cy5cbiAgICBpZiAoZWwudGFnICE9PSAndGVtcGxhdGUnICYmICFlbC5zbG90U2NvcGUpIHtcbiAgICAgIGFkZEF0dHIoZWwsICdzbG90Jywgc2xvdFRhcmdldCwgZ2V0UmF3QmluZGluZ0F0dHIoZWwsICdzbG90JykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIDIuNiB2LXNsb3Qgc3ludGF4XG4gIHtcbiAgICBpZiAoZWwudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAvLyB2LXNsb3Qgb24gPHRlbXBsYXRlPlxuICAgICAgdmFyIHNsb3RCaW5kaW5nID0gZ2V0QW5kUmVtb3ZlQXR0ckJ5UmVnZXgoZWwsIHNsb3RSRSk7XG4gICAgICBpZiAoc2xvdEJpbmRpbmcpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoZWwuc2xvdFRhcmdldCB8fCBlbC5zbG90U2NvcGUpIHtcbiAgICAgICAgICAgIHdhcm4kMihcbiAgICAgICAgICAgICAgXCJVbmV4cGVjdGVkIG1peGVkIHVzYWdlIG9mIGRpZmZlcmVudCBzbG90IHN5bnRheGVzLlwiLFxuICAgICAgICAgICAgICBlbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVsLnBhcmVudCAmJiAhbWF5YmVDb21wb25lbnQoZWwucGFyZW50KSkge1xuICAgICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgICBcIjx0ZW1wbGF0ZSB2LXNsb3Q+IGNhbiBvbmx5IGFwcGVhciBhdCB0aGUgcm9vdCBsZXZlbCBpbnNpZGUgXCIgK1xuICAgICAgICAgICAgICBcInRoZSByZWNlaXZpbmcgdGhlIGNvbXBvbmVudFwiLFxuICAgICAgICAgICAgICBlbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHJlZiA9IGdldFNsb3ROYW1lKHNsb3RCaW5kaW5nKTtcbiAgICAgICAgdmFyIG5hbWUgPSByZWYubmFtZTtcbiAgICAgICAgdmFyIGR5bmFtaWMgPSByZWYuZHluYW1pYztcbiAgICAgICAgZWwuc2xvdFRhcmdldCA9IG5hbWU7XG4gICAgICAgIGVsLnNsb3RUYXJnZXREeW5hbWljID0gZHluYW1pYztcbiAgICAgICAgZWwuc2xvdFNjb3BlID0gc2xvdEJpbmRpbmcudmFsdWUgfHwgZW1wdHlTbG90U2NvcGVUb2tlbjsgLy8gZm9yY2UgaXQgaW50byBhIHNjb3BlZCBzbG90IGZvciBwZXJmXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHYtc2xvdCBvbiBjb21wb25lbnQsIGRlbm90ZXMgZGVmYXVsdCBzbG90XG4gICAgICB2YXIgc2xvdEJpbmRpbmckMSA9IGdldEFuZFJlbW92ZUF0dHJCeVJlZ2V4KGVsLCBzbG90UkUpO1xuICAgICAgaWYgKHNsb3RCaW5kaW5nJDEpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoIW1heWJlQ29tcG9uZW50KGVsKSkge1xuICAgICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgICBcInYtc2xvdCBjYW4gb25seSBiZSB1c2VkIG9uIGNvbXBvbmVudHMgb3IgPHRlbXBsYXRlPi5cIixcbiAgICAgICAgICAgICAgc2xvdEJpbmRpbmckMVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVsLnNsb3RTY29wZSB8fCBlbC5zbG90VGFyZ2V0KSB7XG4gICAgICAgICAgICB3YXJuJDIoXG4gICAgICAgICAgICAgIFwiVW5leHBlY3RlZCBtaXhlZCB1c2FnZSBvZiBkaWZmZXJlbnQgc2xvdCBzeW50YXhlcy5cIixcbiAgICAgICAgICAgICAgZWxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlbC5zY29wZWRTbG90cykge1xuICAgICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgICBcIlRvIGF2b2lkIHNjb3BlIGFtYmlndWl0eSwgdGhlIGRlZmF1bHQgc2xvdCBzaG91bGQgYWxzbyB1c2UgXCIgK1xuICAgICAgICAgICAgICBcIjx0ZW1wbGF0ZT4gc3ludGF4IHdoZW4gdGhlcmUgYXJlIG90aGVyIG5hbWVkIHNsb3RzLlwiLFxuICAgICAgICAgICAgICBzbG90QmluZGluZyQxXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBhZGQgdGhlIGNvbXBvbmVudCdzIGNoaWxkcmVuIHRvIGl0cyBkZWZhdWx0IHNsb3RcbiAgICAgICAgdmFyIHNsb3RzID0gZWwuc2NvcGVkU2xvdHMgfHwgKGVsLnNjb3BlZFNsb3RzID0ge30pO1xuICAgICAgICB2YXIgcmVmJDEgPSBnZXRTbG90TmFtZShzbG90QmluZGluZyQxKTtcbiAgICAgICAgdmFyIG5hbWUkMSA9IHJlZiQxLm5hbWU7XG4gICAgICAgIHZhciBkeW5hbWljJDEgPSByZWYkMS5keW5hbWljO1xuICAgICAgICB2YXIgc2xvdENvbnRhaW5lciA9IHNsb3RzW25hbWUkMV0gPSBjcmVhdGVBU1RFbGVtZW50KCd0ZW1wbGF0ZScsIFtdLCBlbCk7XG4gICAgICAgIHNsb3RDb250YWluZXIuc2xvdFRhcmdldCA9IG5hbWUkMTtcbiAgICAgICAgc2xvdENvbnRhaW5lci5zbG90VGFyZ2V0RHluYW1pYyA9IGR5bmFtaWMkMTtcbiAgICAgICAgc2xvdENvbnRhaW5lci5jaGlsZHJlbiA9IGVsLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbiAoYykge1xuICAgICAgICAgIGlmICghYy5zbG90U2NvcGUpIHtcbiAgICAgICAgICAgIGMucGFyZW50ID0gc2xvdENvbnRhaW5lcjtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc2xvdENvbnRhaW5lci5zbG90U2NvcGUgPSBzbG90QmluZGluZyQxLnZhbHVlIHx8IGVtcHR5U2xvdFNjb3BlVG9rZW47XG4gICAgICAgIC8vIHJlbW92ZSBjaGlsZHJlbiBhcyB0aGV5IGFyZSByZXR1cm5lZCBmcm9tIHNjb3BlZFNsb3RzIG5vd1xuICAgICAgICBlbC5jaGlsZHJlbiA9IFtdO1xuICAgICAgICAvLyBtYXJrIGVsIG5vbi1wbGFpbiBzbyBkYXRhIGdldHMgZ2VuZXJhdGVkXG4gICAgICAgIGVsLnBsYWluID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFNsb3ROYW1lIChiaW5kaW5nKSB7XG4gIHZhciBuYW1lID0gYmluZGluZy5uYW1lLnJlcGxhY2Uoc2xvdFJFLCAnJyk7XG4gIGlmICghbmFtZSkge1xuICAgIGlmIChiaW5kaW5nLm5hbWVbMF0gIT09ICcjJykge1xuICAgICAgbmFtZSA9ICdkZWZhdWx0JztcbiAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIHdhcm4kMihcbiAgICAgICAgXCJ2LXNsb3Qgc2hvcnRoYW5kIHN5bnRheCByZXF1aXJlcyBhIHNsb3QgbmFtZS5cIixcbiAgICAgICAgYmluZGluZ1xuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGR5bmFtaWNBcmdSRS50ZXN0KG5hbWUpXG4gICAgLy8gZHluYW1pYyBbbmFtZV1cbiAgICA/IHsgbmFtZTogbmFtZS5zbGljZSgxLCAtMSksIGR5bmFtaWM6IHRydWUgfVxuICAgIC8vIHN0YXRpYyBuYW1lXG4gICAgOiB7IG5hbWU6IChcIlxcXCJcIiArIG5hbWUgKyBcIlxcXCJcIiksIGR5bmFtaWM6IGZhbHNlIH1cbn1cblxuLy8gaGFuZGxlIDxzbG90Lz4gb3V0bGV0c1xuZnVuY3Rpb24gcHJvY2Vzc1Nsb3RPdXRsZXQgKGVsKSB7XG4gIGlmIChlbC50YWcgPT09ICdzbG90Jykge1xuICAgIGVsLnNsb3ROYW1lID0gZ2V0QmluZGluZ0F0dHIoZWwsICduYW1lJyk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgZWwua2V5KSB7XG4gICAgICB3YXJuJDIoXG4gICAgICAgIFwiYGtleWAgZG9lcyBub3Qgd29yayBvbiA8c2xvdD4gYmVjYXVzZSBzbG90cyBhcmUgYWJzdHJhY3Qgb3V0bGV0cyBcIiArXG4gICAgICAgIFwiYW5kIGNhbiBwb3NzaWJseSBleHBhbmQgaW50byBtdWx0aXBsZSBlbGVtZW50cy4gXCIgK1xuICAgICAgICBcIlVzZSB0aGUga2V5IG9uIGEgd3JhcHBpbmcgZWxlbWVudCBpbnN0ZWFkLlwiLFxuICAgICAgICBnZXRSYXdCaW5kaW5nQXR0cihlbCwgJ2tleScpXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzQ29tcG9uZW50IChlbCkge1xuICB2YXIgYmluZGluZztcbiAgaWYgKChiaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdpcycpKSkge1xuICAgIGVsLmNvbXBvbmVudCA9IGJpbmRpbmc7XG4gIH1cbiAgaWYgKGdldEFuZFJlbW92ZUF0dHIoZWwsICdpbmxpbmUtdGVtcGxhdGUnKSAhPSBudWxsKSB7XG4gICAgZWwuaW5saW5lVGVtcGxhdGUgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NBdHRycyAoZWwpIHtcbiAgdmFyIGxpc3QgPSBlbC5hdHRyc0xpc3Q7XG4gIHZhciBpLCBsLCBuYW1lLCByYXdOYW1lLCB2YWx1ZSwgbW9kaWZpZXJzLCBzeW5jR2VuLCBpc0R5bmFtaWM7XG4gIGZvciAoaSA9IDAsIGwgPSBsaXN0Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIG5hbWUgPSByYXdOYW1lID0gbGlzdFtpXS5uYW1lO1xuICAgIHZhbHVlID0gbGlzdFtpXS52YWx1ZTtcbiAgICBpZiAoZGlyUkUudGVzdChuYW1lKSkge1xuICAgICAgLy8gbWFyayBlbGVtZW50IGFzIGR5bmFtaWNcbiAgICAgIGVsLmhhc0JpbmRpbmdzID0gdHJ1ZTtcbiAgICAgIC8vIG1vZGlmaWVyc1xuICAgICAgbW9kaWZpZXJzID0gcGFyc2VNb2RpZmllcnMobmFtZS5yZXBsYWNlKGRpclJFLCAnJykpO1xuICAgICAgLy8gc3VwcG9ydCAuZm9vIHNob3J0aGFuZCBzeW50YXggZm9yIHRoZSAucHJvcCBtb2RpZmllclxuICAgICAgaWYgKG1vZGlmaWVycykge1xuICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKG1vZGlmaWVyUkUsICcnKTtcbiAgICAgIH1cbiAgICAgIGlmIChiaW5kUkUudGVzdChuYW1lKSkgeyAvLyB2LWJpbmRcbiAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZShiaW5kUkUsICcnKTtcbiAgICAgICAgdmFsdWUgPSBwYXJzZUZpbHRlcnModmFsdWUpO1xuICAgICAgICBpc0R5bmFtaWMgPSBkeW5hbWljQXJnUkUudGVzdChuYW1lKTtcbiAgICAgICAgaWYgKGlzRHluYW1pYykge1xuICAgICAgICAgIG5hbWUgPSBuYW1lLnNsaWNlKDEsIC0xKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgIHZhbHVlLnRyaW0oKS5sZW5ndGggPT09IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgKFwiVGhlIHZhbHVlIGZvciBhIHYtYmluZCBleHByZXNzaW9uIGNhbm5vdCBiZSBlbXB0eS4gRm91bmQgaW4gXFxcInYtYmluZDpcIiArIG5hbWUgKyBcIlxcXCJcIilcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtb2RpZmllcnMpIHtcbiAgICAgICAgICBpZiAobW9kaWZpZXJzLnByb3AgJiYgIWlzRHluYW1pYykge1xuICAgICAgICAgICAgbmFtZSA9IGNhbWVsaXplKG5hbWUpO1xuICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdpbm5lckh0bWwnKSB7IG5hbWUgPSAnaW5uZXJIVE1MJzsgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobW9kaWZpZXJzLmNhbWVsICYmICFpc0R5bmFtaWMpIHtcbiAgICAgICAgICAgIG5hbWUgPSBjYW1lbGl6ZShuYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1vZGlmaWVycy5zeW5jKSB7XG4gICAgICAgICAgICBzeW5jR2VuID0gZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIFwiJGV2ZW50XCIpO1xuICAgICAgICAgICAgaWYgKCFpc0R5bmFtaWMpIHtcbiAgICAgICAgICAgICAgYWRkSGFuZGxlcihcbiAgICAgICAgICAgICAgICBlbCxcbiAgICAgICAgICAgICAgICAoXCJ1cGRhdGU6XCIgKyAoY2FtZWxpemUobmFtZSkpKSxcbiAgICAgICAgICAgICAgICBzeW5jR2VuLFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgd2FybiQyLFxuICAgICAgICAgICAgICAgIGxpc3RbaV1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKGh5cGhlbmF0ZShuYW1lKSAhPT0gY2FtZWxpemUobmFtZSkpIHtcbiAgICAgICAgICAgICAgICBhZGRIYW5kbGVyKFxuICAgICAgICAgICAgICAgICAgZWwsXG4gICAgICAgICAgICAgICAgICAoXCJ1cGRhdGU6XCIgKyAoaHlwaGVuYXRlKG5hbWUpKSksXG4gICAgICAgICAgICAgICAgICBzeW5jR2VuLFxuICAgICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgd2FybiQyLFxuICAgICAgICAgICAgICAgICAgbGlzdFtpXVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIGhhbmRsZXIgdy8gZHluYW1pYyBldmVudCBuYW1lXG4gICAgICAgICAgICAgIGFkZEhhbmRsZXIoXG4gICAgICAgICAgICAgICAgZWwsXG4gICAgICAgICAgICAgICAgKFwiXFxcInVwZGF0ZTpcXFwiKyhcIiArIG5hbWUgKyBcIilcIiksXG4gICAgICAgICAgICAgICAgc3luY0dlbixcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIHdhcm4kMixcbiAgICAgICAgICAgICAgICBsaXN0W2ldLFxuICAgICAgICAgICAgICAgIHRydWUgLy8gZHluYW1pY1xuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoKG1vZGlmaWVycyAmJiBtb2RpZmllcnMucHJvcCkgfHwgKFxuICAgICAgICAgICFlbC5jb21wb25lbnQgJiYgcGxhdGZvcm1NdXN0VXNlUHJvcChlbC50YWcsIGVsLmF0dHJzTWFwLnR5cGUsIG5hbWUpXG4gICAgICAgICkpIHtcbiAgICAgICAgICBhZGRQcm9wKGVsLCBuYW1lLCB2YWx1ZSwgbGlzdFtpXSwgaXNEeW5hbWljKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhZGRBdHRyKGVsLCBuYW1lLCB2YWx1ZSwgbGlzdFtpXSwgaXNEeW5hbWljKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChvblJFLnRlc3QobmFtZSkpIHsgLy8gdi1vblxuICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKG9uUkUsICcnKTtcbiAgICAgICAgaXNEeW5hbWljID0gZHluYW1pY0FyZ1JFLnRlc3QobmFtZSk7XG4gICAgICAgIGlmIChpc0R5bmFtaWMpIHtcbiAgICAgICAgICBuYW1lID0gbmFtZS5zbGljZSgxLCAtMSk7XG4gICAgICAgIH1cbiAgICAgICAgYWRkSGFuZGxlcihlbCwgbmFtZSwgdmFsdWUsIG1vZGlmaWVycywgZmFsc2UsIHdhcm4kMiwgbGlzdFtpXSwgaXNEeW5hbWljKTtcbiAgICAgIH0gZWxzZSB7IC8vIG5vcm1hbCBkaXJlY3RpdmVzXG4gICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoZGlyUkUsICcnKTtcbiAgICAgICAgLy8gcGFyc2UgYXJnXG4gICAgICAgIHZhciBhcmdNYXRjaCA9IG5hbWUubWF0Y2goYXJnUkUpO1xuICAgICAgICB2YXIgYXJnID0gYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbMV07XG4gICAgICAgIGlzRHluYW1pYyA9IGZhbHNlO1xuICAgICAgICBpZiAoYXJnKSB7XG4gICAgICAgICAgbmFtZSA9IG5hbWUuc2xpY2UoMCwgLShhcmcubGVuZ3RoICsgMSkpO1xuICAgICAgICAgIGlmIChkeW5hbWljQXJnUkUudGVzdChhcmcpKSB7XG4gICAgICAgICAgICBhcmcgPSBhcmcuc2xpY2UoMSwgLTEpO1xuICAgICAgICAgICAgaXNEeW5hbWljID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYWRkRGlyZWN0aXZlKGVsLCBuYW1lLCByYXdOYW1lLCB2YWx1ZSwgYXJnLCBpc0R5bmFtaWMsIG1vZGlmaWVycywgbGlzdFtpXSk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG5hbWUgPT09ICdtb2RlbCcpIHtcbiAgICAgICAgICBjaGVja0ZvckFsaWFzTW9kZWwoZWwsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBsaXRlcmFsIGF0dHJpYnV0ZVxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgdmFyIHJlcyA9IHBhcnNlVGV4dCh2YWx1ZSwgZGVsaW1pdGVycyk7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICB3YXJuJDIoXG4gICAgICAgICAgICBuYW1lICsgXCI9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCI6IFwiICtcbiAgICAgICAgICAgICdJbnRlcnBvbGF0aW9uIGluc2lkZSBhdHRyaWJ1dGVzIGhhcyBiZWVuIHJlbW92ZWQuICcgK1xuICAgICAgICAgICAgJ1VzZSB2LWJpbmQgb3IgdGhlIGNvbG9uIHNob3J0aGFuZCBpbnN0ZWFkLiBGb3IgZXhhbXBsZSwgJyArXG4gICAgICAgICAgICAnaW5zdGVhZCBvZiA8ZGl2IGlkPVwie3sgdmFsIH19XCI+LCB1c2UgPGRpdiA6aWQ9XCJ2YWxcIj4uJyxcbiAgICAgICAgICAgIGxpc3RbaV1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhZGRBdHRyKGVsLCBuYW1lLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSksIGxpc3RbaV0pO1xuICAgICAgLy8gIzY4ODcgZmlyZWZveCBkb2Vzbid0IHVwZGF0ZSBtdXRlZCBzdGF0ZSBpZiBzZXQgdmlhIGF0dHJpYnV0ZVxuICAgICAgLy8gZXZlbiBpbW1lZGlhdGVseSBhZnRlciBlbGVtZW50IGNyZWF0aW9uXG4gICAgICBpZiAoIWVsLmNvbXBvbmVudCAmJlxuICAgICAgICAgIG5hbWUgPT09ICdtdXRlZCcgJiZcbiAgICAgICAgICBwbGF0Zm9ybU11c3RVc2VQcm9wKGVsLnRhZywgZWwuYXR0cnNNYXAudHlwZSwgbmFtZSkpIHtcbiAgICAgICAgYWRkUHJvcChlbCwgbmFtZSwgJ3RydWUnLCBsaXN0W2ldKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tJbkZvciAoZWwpIHtcbiAgdmFyIHBhcmVudCA9IGVsO1xuICB3aGlsZSAocGFyZW50KSB7XG4gICAgaWYgKHBhcmVudC5mb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcGFyc2VNb2RpZmllcnMgKG5hbWUpIHtcbiAgdmFyIG1hdGNoID0gbmFtZS5tYXRjaChtb2RpZmllclJFKTtcbiAgaWYgKG1hdGNoKSB7XG4gICAgdmFyIHJldCA9IHt9O1xuICAgIG1hdGNoLmZvckVhY2goZnVuY3Rpb24gKG0pIHsgcmV0W20uc2xpY2UoMSldID0gdHJ1ZTsgfSk7XG4gICAgcmV0dXJuIHJldFxuICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VBdHRyc01hcCAoYXR0cnMpIHtcbiAgdmFyIG1hcCA9IHt9O1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGF0dHJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGlmIChcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgIG1hcFthdHRyc1tpXS5uYW1lXSAmJiAhaXNJRSAmJiAhaXNFZGdlXG4gICAgKSB7XG4gICAgICB3YXJuJDIoJ2R1cGxpY2F0ZSBhdHRyaWJ1dGU6ICcgKyBhdHRyc1tpXS5uYW1lLCBhdHRyc1tpXSk7XG4gICAgfVxuICAgIG1hcFthdHRyc1tpXS5uYW1lXSA9IGF0dHJzW2ldLnZhbHVlO1xuICB9XG4gIHJldHVybiBtYXBcbn1cblxuLy8gZm9yIHNjcmlwdCAoZS5nLiB0eXBlPVwieC90ZW1wbGF0ZVwiKSBvciBzdHlsZSwgZG8gbm90IGRlY29kZSBjb250ZW50XG5mdW5jdGlvbiBpc1RleHRUYWcgKGVsKSB7XG4gIHJldHVybiBlbC50YWcgPT09ICdzY3JpcHQnIHx8IGVsLnRhZyA9PT0gJ3N0eWxlJ1xufVxuXG5mdW5jdGlvbiBpc0ZvcmJpZGRlblRhZyAoZWwpIHtcbiAgcmV0dXJuIChcbiAgICBlbC50YWcgPT09ICdzdHlsZScgfHxcbiAgICAoZWwudGFnID09PSAnc2NyaXB0JyAmJiAoXG4gICAgICAhZWwuYXR0cnNNYXAudHlwZSB8fFxuICAgICAgZWwuYXR0cnNNYXAudHlwZSA9PT0gJ3RleHQvamF2YXNjcmlwdCdcbiAgICApKVxuICApXG59XG5cbnZhciBpZU5TQnVnID0gL154bWxuczpOU1xcZCsvO1xudmFyIGllTlNQcmVmaXggPSAvXk5TXFxkKzovO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gZ3VhcmRJRVNWR0J1ZyAoYXR0cnMpIHtcbiAgdmFyIHJlcyA9IFtdO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGF0dHIgPSBhdHRyc1tpXTtcbiAgICBpZiAoIWllTlNCdWcudGVzdChhdHRyLm5hbWUpKSB7XG4gICAgICBhdHRyLm5hbWUgPSBhdHRyLm5hbWUucmVwbGFjZShpZU5TUHJlZml4LCAnJyk7XG4gICAgICByZXMucHVzaChhdHRyKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBjaGVja0ZvckFsaWFzTW9kZWwgKGVsLCB2YWx1ZSkge1xuICB2YXIgX2VsID0gZWw7XG4gIHdoaWxlIChfZWwpIHtcbiAgICBpZiAoX2VsLmZvciAmJiBfZWwuYWxpYXMgPT09IHZhbHVlKSB7XG4gICAgICB3YXJuJDIoXG4gICAgICAgIFwiPFwiICsgKGVsLnRhZykgKyBcIiB2LW1vZGVsPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiPjogXCIgK1xuICAgICAgICBcIllvdSBhcmUgYmluZGluZyB2LW1vZGVsIGRpcmVjdGx5IHRvIGEgdi1mb3IgaXRlcmF0aW9uIGFsaWFzLiBcIiArXG4gICAgICAgIFwiVGhpcyB3aWxsIG5vdCBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgdi1mb3Igc291cmNlIGFycmF5IGJlY2F1c2UgXCIgK1xuICAgICAgICBcIndyaXRpbmcgdG8gdGhlIGFsaWFzIGlzIGxpa2UgbW9kaWZ5aW5nIGEgZnVuY3Rpb24gbG9jYWwgdmFyaWFibGUuIFwiICtcbiAgICAgICAgXCJDb25zaWRlciB1c2luZyBhbiBhcnJheSBvZiBvYmplY3RzIGFuZCB1c2Ugdi1tb2RlbCBvbiBhbiBvYmplY3QgcHJvcGVydHkgaW5zdGVhZC5cIixcbiAgICAgICAgZWwucmF3QXR0cnNNYXBbJ3YtbW9kZWwnXVxuICAgICAgKTtcbiAgICB9XG4gICAgX2VsID0gX2VsLnBhcmVudDtcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gcHJlVHJhbnNmb3JtTm9kZSAoZWwsIG9wdGlvbnMpIHtcbiAgaWYgKGVsLnRhZyA9PT0gJ2lucHV0Jykge1xuICAgIHZhciBtYXAgPSBlbC5hdHRyc01hcDtcbiAgICBpZiAoIW1hcFsndi1tb2RlbCddKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgdHlwZUJpbmRpbmc7XG4gICAgaWYgKG1hcFsnOnR5cGUnXSB8fCBtYXBbJ3YtYmluZDp0eXBlJ10pIHtcbiAgICAgIHR5cGVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICd0eXBlJyk7XG4gICAgfVxuICAgIGlmICghbWFwLnR5cGUgJiYgIXR5cGVCaW5kaW5nICYmIG1hcFsndi1iaW5kJ10pIHtcbiAgICAgIHR5cGVCaW5kaW5nID0gXCIoXCIgKyAobWFwWyd2LWJpbmQnXSkgKyBcIikudHlwZVwiO1xuICAgIH1cblxuICAgIGlmICh0eXBlQmluZGluZykge1xuICAgICAgdmFyIGlmQ29uZGl0aW9uID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtaWYnLCB0cnVlKTtcbiAgICAgIHZhciBpZkNvbmRpdGlvbkV4dHJhID0gaWZDb25kaXRpb24gPyAoXCImJihcIiArIGlmQ29uZGl0aW9uICsgXCIpXCIpIDogXCJcIjtcbiAgICAgIHZhciBoYXNFbHNlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxzZScsIHRydWUpICE9IG51bGw7XG4gICAgICB2YXIgZWxzZUlmQ29uZGl0aW9uID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxzZS1pZicsIHRydWUpO1xuICAgICAgLy8gMS4gY2hlY2tib3hcbiAgICAgIHZhciBicmFuY2gwID0gY2xvbmVBU1RFbGVtZW50KGVsKTtcbiAgICAgIC8vIHByb2Nlc3MgZm9yIG9uIHRoZSBtYWluIG5vZGVcbiAgICAgIHByb2Nlc3NGb3IoYnJhbmNoMCk7XG4gICAgICBhZGRSYXdBdHRyKGJyYW5jaDAsICd0eXBlJywgJ2NoZWNrYm94Jyk7XG4gICAgICBwcm9jZXNzRWxlbWVudChicmFuY2gwLCBvcHRpb25zKTtcbiAgICAgIGJyYW5jaDAucHJvY2Vzc2VkID0gdHJ1ZTsgLy8gcHJldmVudCBpdCBmcm9tIGRvdWJsZS1wcm9jZXNzZWRcbiAgICAgIGJyYW5jaDAuaWYgPSBcIihcIiArIHR5cGVCaW5kaW5nICsgXCIpPT09J2NoZWNrYm94J1wiICsgaWZDb25kaXRpb25FeHRyYTtcbiAgICAgIGFkZElmQ29uZGl0aW9uKGJyYW5jaDAsIHtcbiAgICAgICAgZXhwOiBicmFuY2gwLmlmLFxuICAgICAgICBibG9jazogYnJhbmNoMFxuICAgICAgfSk7XG4gICAgICAvLyAyLiBhZGQgcmFkaW8gZWxzZS1pZiBjb25kaXRpb25cbiAgICAgIHZhciBicmFuY2gxID0gY2xvbmVBU1RFbGVtZW50KGVsKTtcbiAgICAgIGdldEFuZFJlbW92ZUF0dHIoYnJhbmNoMSwgJ3YtZm9yJywgdHJ1ZSk7XG4gICAgICBhZGRSYXdBdHRyKGJyYW5jaDEsICd0eXBlJywgJ3JhZGlvJyk7XG4gICAgICBwcm9jZXNzRWxlbWVudChicmFuY2gxLCBvcHRpb25zKTtcbiAgICAgIGFkZElmQ29uZGl0aW9uKGJyYW5jaDAsIHtcbiAgICAgICAgZXhwOiBcIihcIiArIHR5cGVCaW5kaW5nICsgXCIpPT09J3JhZGlvJ1wiICsgaWZDb25kaXRpb25FeHRyYSxcbiAgICAgICAgYmxvY2s6IGJyYW5jaDFcbiAgICAgIH0pO1xuICAgICAgLy8gMy4gb3RoZXJcbiAgICAgIHZhciBicmFuY2gyID0gY2xvbmVBU1RFbGVtZW50KGVsKTtcbiAgICAgIGdldEFuZFJlbW92ZUF0dHIoYnJhbmNoMiwgJ3YtZm9yJywgdHJ1ZSk7XG4gICAgICBhZGRSYXdBdHRyKGJyYW5jaDIsICc6dHlwZScsIHR5cGVCaW5kaW5nKTtcbiAgICAgIHByb2Nlc3NFbGVtZW50KGJyYW5jaDIsIG9wdGlvbnMpO1xuICAgICAgYWRkSWZDb25kaXRpb24oYnJhbmNoMCwge1xuICAgICAgICBleHA6IGlmQ29uZGl0aW9uLFxuICAgICAgICBibG9jazogYnJhbmNoMlxuICAgICAgfSk7XG5cbiAgICAgIGlmIChoYXNFbHNlKSB7XG4gICAgICAgIGJyYW5jaDAuZWxzZSA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGVsc2VJZkNvbmRpdGlvbikge1xuICAgICAgICBicmFuY2gwLmVsc2VpZiA9IGVsc2VJZkNvbmRpdGlvbjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJyYW5jaDBcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvbmVBU1RFbGVtZW50IChlbCkge1xuICByZXR1cm4gY3JlYXRlQVNURWxlbWVudChlbC50YWcsIGVsLmF0dHJzTGlzdC5zbGljZSgpLCBlbC5wYXJlbnQpXG59XG5cbnZhciBtb2RlbCQxID0ge1xuICBwcmVUcmFuc2Zvcm1Ob2RlOiBwcmVUcmFuc2Zvcm1Ob2RlXG59O1xuXG52YXIgbW9kdWxlcyQxID0gW1xuICBrbGFzcyQxLFxuICBzdHlsZSQxLFxuICBtb2RlbCQxXG5dO1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdGV4dCAoZWwsIGRpcikge1xuICBpZiAoZGlyLnZhbHVlKSB7XG4gICAgYWRkUHJvcChlbCwgJ3RleHRDb250ZW50JywgKFwiX3MoXCIgKyAoZGlyLnZhbHVlKSArIFwiKVwiKSwgZGlyKTtcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaHRtbCAoZWwsIGRpcikge1xuICBpZiAoZGlyLnZhbHVlKSB7XG4gICAgYWRkUHJvcChlbCwgJ2lubmVySFRNTCcsIChcIl9zKFwiICsgKGRpci52YWx1ZSkgKyBcIilcIiksIGRpcik7XG4gIH1cbn1cblxudmFyIGRpcmVjdGl2ZXMkMSA9IHtcbiAgbW9kZWw6IG1vZGVsLFxuICB0ZXh0OiB0ZXh0LFxuICBodG1sOiBodG1sXG59O1xuXG4vKiAgKi9cblxudmFyIGJhc2VPcHRpb25zID0ge1xuICBleHBlY3RIVE1MOiB0cnVlLFxuICBtb2R1bGVzOiBtb2R1bGVzJDEsXG4gIGRpcmVjdGl2ZXM6IGRpcmVjdGl2ZXMkMSxcbiAgaXNQcmVUYWc6IGlzUHJlVGFnLFxuICBpc1VuYXJ5VGFnOiBpc1VuYXJ5VGFnLFxuICBtdXN0VXNlUHJvcDogbXVzdFVzZVByb3AsXG4gIGNhbkJlTGVmdE9wZW5UYWc6IGNhbkJlTGVmdE9wZW5UYWcsXG4gIGlzUmVzZXJ2ZWRUYWc6IGlzUmVzZXJ2ZWRUYWcsXG4gIGdldFRhZ05hbWVzcGFjZTogZ2V0VGFnTmFtZXNwYWNlLFxuICBzdGF0aWNLZXlzOiBnZW5TdGF0aWNLZXlzKG1vZHVsZXMkMSlcbn07XG5cbi8qICAqL1xuXG52YXIgaXNTdGF0aWNLZXk7XG52YXIgaXNQbGF0Zm9ybVJlc2VydmVkVGFnO1xuXG52YXIgZ2VuU3RhdGljS2V5c0NhY2hlZCA9IGNhY2hlZChnZW5TdGF0aWNLZXlzJDEpO1xuXG4vKipcbiAqIEdvYWwgb2YgdGhlIG9wdGltaXplcjogd2FsayB0aGUgZ2VuZXJhdGVkIHRlbXBsYXRlIEFTVCB0cmVlXG4gKiBhbmQgZGV0ZWN0IHN1Yi10cmVlcyB0aGF0IGFyZSBwdXJlbHkgc3RhdGljLCBpLmUuIHBhcnRzIG9mXG4gKiB0aGUgRE9NIHRoYXQgbmV2ZXIgbmVlZHMgdG8gY2hhbmdlLlxuICpcbiAqIE9uY2Ugd2UgZGV0ZWN0IHRoZXNlIHN1Yi10cmVlcywgd2UgY2FuOlxuICpcbiAqIDEuIEhvaXN0IHRoZW0gaW50byBjb25zdGFudHMsIHNvIHRoYXQgd2Ugbm8gbG9uZ2VyIG5lZWQgdG9cbiAqICAgIGNyZWF0ZSBmcmVzaCBub2RlcyBmb3IgdGhlbSBvbiBlYWNoIHJlLXJlbmRlcjtcbiAqIDIuIENvbXBsZXRlbHkgc2tpcCB0aGVtIGluIHRoZSBwYXRjaGluZyBwcm9jZXNzLlxuICovXG5mdW5jdGlvbiBvcHRpbWl6ZSAocm9vdCwgb3B0aW9ucykge1xuICBpZiAoIXJvb3QpIHsgcmV0dXJuIH1cbiAgaXNTdGF0aWNLZXkgPSBnZW5TdGF0aWNLZXlzQ2FjaGVkKG9wdGlvbnMuc3RhdGljS2V5cyB8fCAnJyk7XG4gIGlzUGxhdGZvcm1SZXNlcnZlZFRhZyA9IG9wdGlvbnMuaXNSZXNlcnZlZFRhZyB8fCBubztcbiAgLy8gZmlyc3QgcGFzczogbWFyayBhbGwgbm9uLXN0YXRpYyBub2Rlcy5cbiAgbWFya1N0YXRpYyQxKHJvb3QpO1xuICAvLyBzZWNvbmQgcGFzczogbWFyayBzdGF0aWMgcm9vdHMuXG4gIG1hcmtTdGF0aWNSb290cyhyb290LCBmYWxzZSk7XG59XG5cbmZ1bmN0aW9uIGdlblN0YXRpY0tleXMkMSAoa2V5cykge1xuICByZXR1cm4gbWFrZU1hcChcbiAgICAndHlwZSx0YWcsYXR0cnNMaXN0LGF0dHJzTWFwLHBsYWluLHBhcmVudCxjaGlsZHJlbixhdHRycyxzdGFydCxlbmQscmF3QXR0cnNNYXAnICtcbiAgICAoa2V5cyA/ICcsJyArIGtleXMgOiAnJylcbiAgKVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljJDEgKG5vZGUpIHtcbiAgbm9kZS5zdGF0aWMgPSBpc1N0YXRpYyhub2RlKTtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIC8vIGRvIG5vdCBtYWtlIGNvbXBvbmVudCBzbG90IGNvbnRlbnQgc3RhdGljLiB0aGlzIGF2b2lkc1xuICAgIC8vIDEuIGNvbXBvbmVudHMgbm90IGFibGUgdG8gbXV0YXRlIHNsb3Qgbm9kZXNcbiAgICAvLyAyLiBzdGF0aWMgc2xvdCBjb250ZW50IGZhaWxzIGZvciBob3QtcmVsb2FkaW5nXG4gICAgaWYgKFxuICAgICAgIWlzUGxhdGZvcm1SZXNlcnZlZFRhZyhub2RlLnRhZykgJiZcbiAgICAgIG5vZGUudGFnICE9PSAnc2xvdCcgJiZcbiAgICAgIG5vZGUuYXR0cnNNYXBbJ2lubGluZS10ZW1wbGF0ZSddID09IG51bGxcbiAgICApIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkcmVuW2ldO1xuICAgICAgbWFya1N0YXRpYyQxKGNoaWxkKTtcbiAgICAgIGlmICghY2hpbGQuc3RhdGljKSB7XG4gICAgICAgIG5vZGUuc3RhdGljID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChub2RlLmlmQ29uZGl0aW9ucykge1xuICAgICAgZm9yICh2YXIgaSQxID0gMSwgbCQxID0gbm9kZS5pZkNvbmRpdGlvbnMubGVuZ3RoOyBpJDEgPCBsJDE7IGkkMSsrKSB7XG4gICAgICAgIHZhciBibG9jayA9IG5vZGUuaWZDb25kaXRpb25zW2kkMV0uYmxvY2s7XG4gICAgICAgIG1hcmtTdGF0aWMkMShibG9jayk7XG4gICAgICAgIGlmICghYmxvY2suc3RhdGljKSB7XG4gICAgICAgICAgbm9kZS5zdGF0aWMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljUm9vdHMgKG5vZGUsIGlzSW5Gb3IpIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIGlmIChub2RlLnN0YXRpYyB8fCBub2RlLm9uY2UpIHtcbiAgICAgIG5vZGUuc3RhdGljSW5Gb3IgPSBpc0luRm9yO1xuICAgIH1cbiAgICAvLyBGb3IgYSBub2RlIHRvIHF1YWxpZnkgYXMgYSBzdGF0aWMgcm9vdCwgaXQgc2hvdWxkIGhhdmUgY2hpbGRyZW4gdGhhdFxuICAgIC8vIGFyZSBub3QganVzdCBzdGF0aWMgdGV4dC4gT3RoZXJ3aXNlIHRoZSBjb3N0IG9mIGhvaXN0aW5nIG91dCB3aWxsXG4gICAgLy8gb3V0d2VpZ2ggdGhlIGJlbmVmaXRzIGFuZCBpdCdzIGJldHRlciBvZmYgdG8ganVzdCBhbHdheXMgcmVuZGVyIGl0IGZyZXNoLlxuICAgIGlmIChub2RlLnN0YXRpYyAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCAmJiAhKFxuICAgICAgbm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiZcbiAgICAgIG5vZGUuY2hpbGRyZW5bMF0udHlwZSA9PT0gM1xuICAgICkpIHtcbiAgICAgIG5vZGUuc3RhdGljUm9vdCA9IHRydWU7XG4gICAgICByZXR1cm5cbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5zdGF0aWNSb290ID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIG1hcmtTdGF0aWNSb290cyhub2RlLmNoaWxkcmVuW2ldLCBpc0luRm9yIHx8ICEhbm9kZS5mb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZS5pZkNvbmRpdGlvbnMpIHtcbiAgICAgIGZvciAodmFyIGkkMSA9IDEsIGwkMSA9IG5vZGUuaWZDb25kaXRpb25zLmxlbmd0aDsgaSQxIDwgbCQxOyBpJDErKykge1xuICAgICAgICBtYXJrU3RhdGljUm9vdHMobm9kZS5pZkNvbmRpdGlvbnNbaSQxXS5ibG9jaywgaXNJbkZvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljIChub2RlKSB7XG4gIGlmIChub2RlLnR5cGUgPT09IDIpIHsgLy8gZXhwcmVzc2lvblxuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGlmIChub2RlLnR5cGUgPT09IDMpIHsgLy8gdGV4dFxuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgcmV0dXJuICEhKG5vZGUucHJlIHx8IChcbiAgICAhbm9kZS5oYXNCaW5kaW5ncyAmJiAvLyBubyBkeW5hbWljIGJpbmRpbmdzXG4gICAgIW5vZGUuaWYgJiYgIW5vZGUuZm9yICYmIC8vIG5vdCB2LWlmIG9yIHYtZm9yIG9yIHYtZWxzZVxuICAgICFpc0J1aWx0SW5UYWcobm9kZS50YWcpICYmIC8vIG5vdCBhIGJ1aWx0LWluXG4gICAgaXNQbGF0Zm9ybVJlc2VydmVkVGFnKG5vZGUudGFnKSAmJiAvLyBub3QgYSBjb21wb25lbnRcbiAgICAhaXNEaXJlY3RDaGlsZE9mVGVtcGxhdGVGb3Iobm9kZSkgJiZcbiAgICBPYmplY3Qua2V5cyhub2RlKS5ldmVyeShpc1N0YXRpY0tleSlcbiAgKSlcbn1cblxuZnVuY3Rpb24gaXNEaXJlY3RDaGlsZE9mVGVtcGxhdGVGb3IgKG5vZGUpIHtcbiAgd2hpbGUgKG5vZGUucGFyZW50KSB7XG4gICAgbm9kZSA9IG5vZGUucGFyZW50O1xuICAgIGlmIChub2RlLnRhZyAhPT0gJ3RlbXBsYXRlJykge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGlmIChub2RlLmZvcikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qICAqL1xuXG52YXIgZm5FeHBSRSA9IC9eKFtcXHckX10rfFxcKFteKV0qP1xcKSlcXHMqPT58XmZ1bmN0aW9uXFxzKig/OltcXHckXSspP1xccypcXCgvO1xudmFyIGZuSW52b2tlUkUgPSAvXFwoW14pXSo/XFwpOyokLztcbnZhciBzaW1wbGVQYXRoUkUgPSAvXltBLVphLXpfJF1bXFx3JF0qKD86XFwuW0EtWmEtel8kXVtcXHckXSp8XFxbJ1teJ10qPyddfFxcW1wiW15cIl0qP1wiXXxcXFtcXGQrXXxcXFtbQS1aYS16XyRdW1xcdyRdKl0pKiQvO1xuXG4vLyBLZXlib2FyZEV2ZW50LmtleUNvZGUgYWxpYXNlc1xudmFyIGtleUNvZGVzID0ge1xuICBlc2M6IDI3LFxuICB0YWI6IDksXG4gIGVudGVyOiAxMyxcbiAgc3BhY2U6IDMyLFxuICB1cDogMzgsXG4gIGxlZnQ6IDM3LFxuICByaWdodDogMzksXG4gIGRvd246IDQwLFxuICAnZGVsZXRlJzogWzgsIDQ2XVxufTtcblxuLy8gS2V5Ym9hcmRFdmVudC5rZXkgYWxpYXNlc1xudmFyIGtleU5hbWVzID0ge1xuICAvLyAjNzg4MDogSUUxMSBhbmQgRWRnZSB1c2UgYEVzY2AgZm9yIEVzY2FwZSBrZXkgbmFtZS5cbiAgZXNjOiBbJ0VzYycsICdFc2NhcGUnXSxcbiAgdGFiOiAnVGFiJyxcbiAgZW50ZXI6ICdFbnRlcicsXG4gIC8vICM5MTEyOiBJRTExIHVzZXMgYFNwYWNlYmFyYCBmb3IgU3BhY2Uga2V5IG5hbWUuXG4gIHNwYWNlOiBbJyAnLCAnU3BhY2ViYXInXSxcbiAgLy8gIzc4MDY6IElFMTEgdXNlcyBrZXkgbmFtZXMgd2l0aG91dCBgQXJyb3dgIHByZWZpeCBmb3IgYXJyb3cga2V5cy5cbiAgdXA6IFsnVXAnLCAnQXJyb3dVcCddLFxuICBsZWZ0OiBbJ0xlZnQnLCAnQXJyb3dMZWZ0J10sXG4gIHJpZ2h0OiBbJ1JpZ2h0JywgJ0Fycm93UmlnaHQnXSxcbiAgZG93bjogWydEb3duJywgJ0Fycm93RG93biddLFxuICAvLyAjOTExMjogSUUxMSB1c2VzIGBEZWxgIGZvciBEZWxldGUga2V5IG5hbWUuXG4gICdkZWxldGUnOiBbJ0JhY2tzcGFjZScsICdEZWxldGUnLCAnRGVsJ11cbn07XG5cbi8vICM0ODY4OiBtb2RpZmllcnMgdGhhdCBwcmV2ZW50IHRoZSBleGVjdXRpb24gb2YgdGhlIGxpc3RlbmVyXG4vLyBuZWVkIHRvIGV4cGxpY2l0bHkgcmV0dXJuIG51bGwgc28gdGhhdCB3ZSBjYW4gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gcmVtb3ZlXG4vLyB0aGUgbGlzdGVuZXIgZm9yIC5vbmNlXG52YXIgZ2VuR3VhcmQgPSBmdW5jdGlvbiAoY29uZGl0aW9uKSB7IHJldHVybiAoXCJpZihcIiArIGNvbmRpdGlvbiArIFwiKXJldHVybiBudWxsO1wiKTsgfTtcblxudmFyIG1vZGlmaWVyQ29kZSA9IHtcbiAgc3RvcDogJyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsnLFxuICBwcmV2ZW50OiAnJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7JyxcbiAgc2VsZjogZ2VuR3VhcmQoXCIkZXZlbnQudGFyZ2V0ICE9PSAkZXZlbnQuY3VycmVudFRhcmdldFwiKSxcbiAgY3RybDogZ2VuR3VhcmQoXCIhJGV2ZW50LmN0cmxLZXlcIiksXG4gIHNoaWZ0OiBnZW5HdWFyZChcIiEkZXZlbnQuc2hpZnRLZXlcIiksXG4gIGFsdDogZ2VuR3VhcmQoXCIhJGV2ZW50LmFsdEtleVwiKSxcbiAgbWV0YTogZ2VuR3VhcmQoXCIhJGV2ZW50Lm1ldGFLZXlcIiksXG4gIGxlZnQ6IGdlbkd1YXJkKFwiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDBcIiksXG4gIG1pZGRsZTogZ2VuR3VhcmQoXCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMVwiKSxcbiAgcmlnaHQ6IGdlbkd1YXJkKFwiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDJcIilcbn07XG5cbmZ1bmN0aW9uIGdlbkhhbmRsZXJzIChcbiAgZXZlbnRzLFxuICBpc05hdGl2ZVxuKSB7XG4gIHZhciBwcmVmaXggPSBpc05hdGl2ZSA/ICduYXRpdmVPbjonIDogJ29uOic7XG4gIHZhciBzdGF0aWNIYW5kbGVycyA9IFwiXCI7XG4gIHZhciBkeW5hbWljSGFuZGxlcnMgPSBcIlwiO1xuICBmb3IgKHZhciBuYW1lIGluIGV2ZW50cykge1xuICAgIHZhciBoYW5kbGVyQ29kZSA9IGdlbkhhbmRsZXIoZXZlbnRzW25hbWVdKTtcbiAgICBpZiAoZXZlbnRzW25hbWVdICYmIGV2ZW50c1tuYW1lXS5keW5hbWljKSB7XG4gICAgICBkeW5hbWljSGFuZGxlcnMgKz0gbmFtZSArIFwiLFwiICsgaGFuZGxlckNvZGUgKyBcIixcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGljSGFuZGxlcnMgKz0gXCJcXFwiXCIgKyBuYW1lICsgXCJcXFwiOlwiICsgaGFuZGxlckNvZGUgKyBcIixcIjtcbiAgICB9XG4gIH1cbiAgc3RhdGljSGFuZGxlcnMgPSBcIntcIiArIChzdGF0aWNIYW5kbGVycy5zbGljZSgwLCAtMSkpICsgXCJ9XCI7XG4gIGlmIChkeW5hbWljSGFuZGxlcnMpIHtcbiAgICByZXR1cm4gcHJlZml4ICsgXCJfZChcIiArIHN0YXRpY0hhbmRsZXJzICsgXCIsW1wiICsgKGR5bmFtaWNIYW5kbGVycy5zbGljZSgwLCAtMSkpICsgXCJdKVwiXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHByZWZpeCArIHN0YXRpY0hhbmRsZXJzXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuSGFuZGxlciAoaGFuZGxlcikge1xuICBpZiAoIWhhbmRsZXIpIHtcbiAgICByZXR1cm4gJ2Z1bmN0aW9uKCl7fSdcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KGhhbmRsZXIpKSB7XG4gICAgcmV0dXJuIChcIltcIiArIChoYW5kbGVyLm1hcChmdW5jdGlvbiAoaGFuZGxlcikgeyByZXR1cm4gZ2VuSGFuZGxlcihoYW5kbGVyKTsgfSkuam9pbignLCcpKSArIFwiXVwiKVxuICB9XG5cbiAgdmFyIGlzTWV0aG9kUGF0aCA9IHNpbXBsZVBhdGhSRS50ZXN0KGhhbmRsZXIudmFsdWUpO1xuICB2YXIgaXNGdW5jdGlvbkV4cHJlc3Npb24gPSBmbkV4cFJFLnRlc3QoaGFuZGxlci52YWx1ZSk7XG4gIHZhciBpc0Z1bmN0aW9uSW52b2NhdGlvbiA9IHNpbXBsZVBhdGhSRS50ZXN0KGhhbmRsZXIudmFsdWUucmVwbGFjZShmbkludm9rZVJFLCAnJykpO1xuXG4gIGlmICghaGFuZGxlci5tb2RpZmllcnMpIHtcbiAgICBpZiAoaXNNZXRob2RQYXRoIHx8IGlzRnVuY3Rpb25FeHByZXNzaW9uKSB7XG4gICAgICByZXR1cm4gaGFuZGxlci52YWx1ZVxuICAgIH1cbiAgICByZXR1cm4gKFwiZnVuY3Rpb24oJGV2ZW50KXtcIiArIChpc0Z1bmN0aW9uSW52b2NhdGlvbiA/IChcInJldHVybiBcIiArIChoYW5kbGVyLnZhbHVlKSkgOiBoYW5kbGVyLnZhbHVlKSArIFwifVwiKSAvLyBpbmxpbmUgc3RhdGVtZW50XG4gIH0gZWxzZSB7XG4gICAgdmFyIGNvZGUgPSAnJztcbiAgICB2YXIgZ2VuTW9kaWZpZXJDb2RlID0gJyc7XG4gICAgdmFyIGtleXMgPSBbXTtcbiAgICBmb3IgKHZhciBrZXkgaW4gaGFuZGxlci5tb2RpZmllcnMpIHtcbiAgICAgIGlmIChtb2RpZmllckNvZGVba2V5XSkge1xuICAgICAgICBnZW5Nb2RpZmllckNvZGUgKz0gbW9kaWZpZXJDb2RlW2tleV07XG4gICAgICAgIC8vIGxlZnQvcmlnaHRcbiAgICAgICAgaWYgKGtleUNvZGVzW2tleV0pIHtcbiAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdleGFjdCcpIHtcbiAgICAgICAgdmFyIG1vZGlmaWVycyA9IChoYW5kbGVyLm1vZGlmaWVycyk7XG4gICAgICAgIGdlbk1vZGlmaWVyQ29kZSArPSBnZW5HdWFyZChcbiAgICAgICAgICBbJ2N0cmwnLCAnc2hpZnQnLCAnYWx0JywgJ21ldGEnXVxuICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAoa2V5TW9kaWZpZXIpIHsgcmV0dXJuICFtb2RpZmllcnNba2V5TW9kaWZpZXJdOyB9KVxuICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoa2V5TW9kaWZpZXIpIHsgcmV0dXJuIChcIiRldmVudC5cIiArIGtleU1vZGlmaWVyICsgXCJLZXlcIik7IH0pXG4gICAgICAgICAgICAuam9pbignfHwnKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChrZXlzLmxlbmd0aCkge1xuICAgICAgY29kZSArPSBnZW5LZXlGaWx0ZXIoa2V5cyk7XG4gICAgfVxuICAgIC8vIE1ha2Ugc3VyZSBtb2RpZmllcnMgbGlrZSBwcmV2ZW50IGFuZCBzdG9wIGdldCBleGVjdXRlZCBhZnRlciBrZXkgZmlsdGVyaW5nXG4gICAgaWYgKGdlbk1vZGlmaWVyQ29kZSkge1xuICAgICAgY29kZSArPSBnZW5Nb2RpZmllckNvZGU7XG4gICAgfVxuICAgIHZhciBoYW5kbGVyQ29kZSA9IGlzTWV0aG9kUGF0aFxuICAgICAgPyAoXCJyZXR1cm4gXCIgKyAoaGFuZGxlci52YWx1ZSkgKyBcIigkZXZlbnQpXCIpXG4gICAgICA6IGlzRnVuY3Rpb25FeHByZXNzaW9uXG4gICAgICAgID8gKFwicmV0dXJuIChcIiArIChoYW5kbGVyLnZhbHVlKSArIFwiKSgkZXZlbnQpXCIpXG4gICAgICAgIDogaXNGdW5jdGlvbkludm9jYXRpb25cbiAgICAgICAgICA/IChcInJldHVybiBcIiArIChoYW5kbGVyLnZhbHVlKSlcbiAgICAgICAgICA6IGhhbmRsZXIudmFsdWU7XG4gICAgcmV0dXJuIChcImZ1bmN0aW9uKCRldmVudCl7XCIgKyBjb2RlICsgaGFuZGxlckNvZGUgKyBcIn1cIilcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5LZXlGaWx0ZXIgKGtleXMpIHtcbiAgcmV0dXJuIChcbiAgICAvLyBtYWtlIHN1cmUgdGhlIGtleSBmaWx0ZXJzIG9ubHkgYXBwbHkgdG8gS2V5Ym9hcmRFdmVudHNcbiAgICAvLyAjOTQ0MTogY2FuJ3QgdXNlICdrZXlDb2RlJyBpbiAkZXZlbnQgYmVjYXVzZSBDaHJvbWUgYXV0b2ZpbGwgZmlyZXMgZmFrZVxuICAgIC8vIGtleSBldmVudHMgdGhhdCBkbyBub3QgaGF2ZSBrZXlDb2RlIHByb3BlcnR5Li4uXG4gICAgXCJpZighJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykmJlwiICtcbiAgICAoa2V5cy5tYXAoZ2VuRmlsdGVyQ29kZSkuam9pbignJiYnKSkgKyBcIilyZXR1cm4gbnVsbDtcIlxuICApXG59XG5cbmZ1bmN0aW9uIGdlbkZpbHRlckNvZGUgKGtleSkge1xuICB2YXIga2V5VmFsID0gcGFyc2VJbnQoa2V5LCAxMCk7XG4gIGlmIChrZXlWYWwpIHtcbiAgICByZXR1cm4gKFwiJGV2ZW50LmtleUNvZGUhPT1cIiArIGtleVZhbClcbiAgfVxuICB2YXIga2V5Q29kZSA9IGtleUNvZGVzW2tleV07XG4gIHZhciBrZXlOYW1lID0ga2V5TmFtZXNba2V5XTtcbiAgcmV0dXJuIChcbiAgICBcIl9rKCRldmVudC5rZXlDb2RlLFwiICtcbiAgICAoSlNPTi5zdHJpbmdpZnkoa2V5KSkgKyBcIixcIiArXG4gICAgKEpTT04uc3RyaW5naWZ5KGtleUNvZGUpKSArIFwiLFwiICtcbiAgICBcIiRldmVudC5rZXksXCIgK1xuICAgIFwiXCIgKyAoSlNPTi5zdHJpbmdpZnkoa2V5TmFtZSkpICtcbiAgICBcIilcIlxuICApXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBvbiAoZWwsIGRpcikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBkaXIubW9kaWZpZXJzKSB7XG4gICAgd2FybihcInYtb24gd2l0aG91dCBhcmd1bWVudCBkb2VzIG5vdCBzdXBwb3J0IG1vZGlmaWVycy5cIik7XG4gIH1cbiAgZWwud3JhcExpc3RlbmVycyA9IGZ1bmN0aW9uIChjb2RlKSB7IHJldHVybiAoXCJfZyhcIiArIGNvZGUgKyBcIixcIiArIChkaXIudmFsdWUpICsgXCIpXCIpOyB9O1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gYmluZCQxIChlbCwgZGlyKSB7XG4gIGVsLndyYXBEYXRhID0gZnVuY3Rpb24gKGNvZGUpIHtcbiAgICByZXR1cm4gKFwiX2IoXCIgKyBjb2RlICsgXCIsJ1wiICsgKGVsLnRhZykgKyBcIicsXCIgKyAoZGlyLnZhbHVlKSArIFwiLFwiICsgKGRpci5tb2RpZmllcnMgJiYgZGlyLm1vZGlmaWVycy5wcm9wID8gJ3RydWUnIDogJ2ZhbHNlJykgKyAoZGlyLm1vZGlmaWVycyAmJiBkaXIubW9kaWZpZXJzLnN5bmMgPyAnLHRydWUnIDogJycpICsgXCIpXCIpXG4gIH07XG59XG5cbi8qICAqL1xuXG52YXIgYmFzZURpcmVjdGl2ZXMgPSB7XG4gIG9uOiBvbixcbiAgYmluZDogYmluZCQxLFxuICBjbG9hazogbm9vcFxufTtcblxuLyogICovXG5cblxuXG5cblxudmFyIENvZGVnZW5TdGF0ZSA9IGZ1bmN0aW9uIENvZGVnZW5TdGF0ZSAob3B0aW9ucykge1xuICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICB0aGlzLndhcm4gPSBvcHRpb25zLndhcm4gfHwgYmFzZVdhcm47XG4gIHRoaXMudHJhbnNmb3JtcyA9IHBsdWNrTW9kdWxlRnVuY3Rpb24ob3B0aW9ucy5tb2R1bGVzLCAndHJhbnNmb3JtQ29kZScpO1xuICB0aGlzLmRhdGFHZW5GbnMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ2dlbkRhdGEnKTtcbiAgdGhpcy5kaXJlY3RpdmVzID0gZXh0ZW5kKGV4dGVuZCh7fSwgYmFzZURpcmVjdGl2ZXMpLCBvcHRpb25zLmRpcmVjdGl2ZXMpO1xuICB2YXIgaXNSZXNlcnZlZFRhZyA9IG9wdGlvbnMuaXNSZXNlcnZlZFRhZyB8fCBubztcbiAgdGhpcy5tYXliZUNvbXBvbmVudCA9IGZ1bmN0aW9uIChlbCkgeyByZXR1cm4gISFlbC5jb21wb25lbnQgfHwgIWlzUmVzZXJ2ZWRUYWcoZWwudGFnKTsgfTtcbiAgdGhpcy5vbmNlSWQgPSAwO1xuICB0aGlzLnN0YXRpY1JlbmRlckZucyA9IFtdO1xuICB0aGlzLnByZSA9IGZhbHNlO1xufTtcblxuXG5cbmZ1bmN0aW9uIGdlbmVyYXRlIChcbiAgYXN0LFxuICBvcHRpb25zXG4pIHtcbiAgdmFyIHN0YXRlID0gbmV3IENvZGVnZW5TdGF0ZShvcHRpb25zKTtcbiAgdmFyIGNvZGUgPSBhc3QgPyBnZW5FbGVtZW50KGFzdCwgc3RhdGUpIDogJ19jKFwiZGl2XCIpJztcbiAgcmV0dXJuIHtcbiAgICByZW5kZXI6IChcIndpdGgodGhpcyl7cmV0dXJuIFwiICsgY29kZSArIFwifVwiKSxcbiAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRlLnN0YXRpY1JlbmRlckZuc1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkVsZW1lbnQgKGVsLCBzdGF0ZSkge1xuICBpZiAoZWwucGFyZW50KSB7XG4gICAgZWwucHJlID0gZWwucHJlIHx8IGVsLnBhcmVudC5wcmU7XG4gIH1cblxuICBpZiAoZWwuc3RhdGljUm9vdCAmJiAhZWwuc3RhdGljUHJvY2Vzc2VkKSB7XG4gICAgcmV0dXJuIGdlblN0YXRpYyhlbCwgc3RhdGUpXG4gIH0gZWxzZSBpZiAoZWwub25jZSAmJiAhZWwub25jZVByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5PbmNlKGVsLCBzdGF0ZSlcbiAgfSBlbHNlIGlmIChlbC5mb3IgJiYgIWVsLmZvclByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5Gb3IoZWwsIHN0YXRlKVxuICB9IGVsc2UgaWYgKGVsLmlmICYmICFlbC5pZlByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5JZihlbCwgc3RhdGUpXG4gIH0gZWxzZSBpZiAoZWwudGFnID09PSAndGVtcGxhdGUnICYmICFlbC5zbG90VGFyZ2V0ICYmICFzdGF0ZS5wcmUpIHtcbiAgICByZXR1cm4gZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlKSB8fCAndm9pZCAwJ1xuICB9IGVsc2UgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnKSB7XG4gICAgcmV0dXJuIGdlblNsb3QoZWwsIHN0YXRlKVxuICB9IGVsc2Uge1xuICAgIC8vIGNvbXBvbmVudCBvciBlbGVtZW50XG4gICAgdmFyIGNvZGU7XG4gICAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgICAgY29kZSA9IGdlbkNvbXBvbmVudChlbC5jb21wb25lbnQsIGVsLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBkYXRhO1xuICAgICAgaWYgKCFlbC5wbGFpbiB8fCAoZWwucHJlICYmIHN0YXRlLm1heWJlQ29tcG9uZW50KGVsKSkpIHtcbiAgICAgICAgZGF0YSA9IGdlbkRhdGEkMihlbCwgc3RhdGUpO1xuICAgICAgfVxuXG4gICAgICB2YXIgY2hpbGRyZW4gPSBlbC5pbmxpbmVUZW1wbGF0ZSA/IG51bGwgOiBnZW5DaGlsZHJlbihlbCwgc3RhdGUsIHRydWUpO1xuICAgICAgY29kZSA9IFwiX2MoJ1wiICsgKGVsLnRhZykgKyBcIidcIiArIChkYXRhID8gKFwiLFwiICsgZGF0YSkgOiAnJykgKyAoY2hpbGRyZW4gPyAoXCIsXCIgKyBjaGlsZHJlbikgOiAnJykgKyBcIilcIjtcbiAgICB9XG4gICAgLy8gbW9kdWxlIHRyYW5zZm9ybXNcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXRlLnRyYW5zZm9ybXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvZGUgPSBzdGF0ZS50cmFuc2Zvcm1zW2ldKGVsLCBjb2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvZGVcbiAgfVxufVxuXG4vLyBob2lzdCBzdGF0aWMgc3ViLXRyZWVzIG91dFxuZnVuY3Rpb24gZ2VuU3RhdGljIChlbCwgc3RhdGUpIHtcbiAgZWwuc3RhdGljUHJvY2Vzc2VkID0gdHJ1ZTtcbiAgLy8gU29tZSBlbGVtZW50cyAodGVtcGxhdGVzKSBuZWVkIHRvIGJlaGF2ZSBkaWZmZXJlbnRseSBpbnNpZGUgb2YgYSB2LXByZVxuICAvLyBub2RlLiAgQWxsIHByZSBub2RlcyBhcmUgc3RhdGljIHJvb3RzLCBzbyB3ZSBjYW4gdXNlIHRoaXMgYXMgYSBsb2NhdGlvbiB0b1xuICAvLyB3cmFwIGEgc3RhdGUgY2hhbmdlIGFuZCByZXNldCBpdCB1cG9uIGV4aXRpbmcgdGhlIHByZSBub2RlLlxuICB2YXIgb3JpZ2luYWxQcmVTdGF0ZSA9IHN0YXRlLnByZTtcbiAgaWYgKGVsLnByZSkge1xuICAgIHN0YXRlLnByZSA9IGVsLnByZTtcbiAgfVxuICBzdGF0ZS5zdGF0aWNSZW5kZXJGbnMucHVzaCgoXCJ3aXRoKHRoaXMpe3JldHVybiBcIiArIChnZW5FbGVtZW50KGVsLCBzdGF0ZSkpICsgXCJ9XCIpKTtcbiAgc3RhdGUucHJlID0gb3JpZ2luYWxQcmVTdGF0ZTtcbiAgcmV0dXJuIChcIl9tKFwiICsgKHN0YXRlLnN0YXRpY1JlbmRlckZucy5sZW5ndGggLSAxKSArIChlbC5zdGF0aWNJbkZvciA/ICcsdHJ1ZScgOiAnJykgKyBcIilcIilcbn1cblxuLy8gdi1vbmNlXG5mdW5jdGlvbiBnZW5PbmNlIChlbCwgc3RhdGUpIHtcbiAgZWwub25jZVByb2Nlc3NlZCA9IHRydWU7XG4gIGlmIChlbC5pZiAmJiAhZWwuaWZQcm9jZXNzZWQpIHtcbiAgICByZXR1cm4gZ2VuSWYoZWwsIHN0YXRlKVxuICB9IGVsc2UgaWYgKGVsLnN0YXRpY0luRm9yKSB7XG4gICAgdmFyIGtleSA9ICcnO1xuICAgIHZhciBwYXJlbnQgPSBlbC5wYXJlbnQ7XG4gICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgaWYgKHBhcmVudC5mb3IpIHtcbiAgICAgICAga2V5ID0gcGFyZW50LmtleTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgfVxuICAgIGlmICgha2V5KSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHN0YXRlLndhcm4oXG4gICAgICAgIFwidi1vbmNlIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIHYtZm9yIHRoYXQgaXMga2V5ZWQuIFwiLFxuICAgICAgICBlbC5yYXdBdHRyc01hcFsndi1vbmNlJ11cbiAgICAgICk7XG4gICAgICByZXR1cm4gZ2VuRWxlbWVudChlbCwgc3RhdGUpXG4gICAgfVxuICAgIHJldHVybiAoXCJfbyhcIiArIChnZW5FbGVtZW50KGVsLCBzdGF0ZSkpICsgXCIsXCIgKyAoc3RhdGUub25jZUlkKyspICsgXCIsXCIgKyBrZXkgKyBcIilcIilcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZ2VuU3RhdGljKGVsLCBzdGF0ZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5JZiAoXG4gIGVsLFxuICBzdGF0ZSxcbiAgYWx0R2VuLFxuICBhbHRFbXB0eVxuKSB7XG4gIGVsLmlmUHJvY2Vzc2VkID0gdHJ1ZTsgLy8gYXZvaWQgcmVjdXJzaW9uXG4gIHJldHVybiBnZW5JZkNvbmRpdGlvbnMoZWwuaWZDb25kaXRpb25zLnNsaWNlKCksIHN0YXRlLCBhbHRHZW4sIGFsdEVtcHR5KVxufVxuXG5mdW5jdGlvbiBnZW5JZkNvbmRpdGlvbnMgKFxuICBjb25kaXRpb25zLFxuICBzdGF0ZSxcbiAgYWx0R2VuLFxuICBhbHRFbXB0eVxuKSB7XG4gIGlmICghY29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICByZXR1cm4gYWx0RW1wdHkgfHwgJ19lKCknXG4gIH1cblxuICB2YXIgY29uZGl0aW9uID0gY29uZGl0aW9ucy5zaGlmdCgpO1xuICBpZiAoY29uZGl0aW9uLmV4cCkge1xuICAgIHJldHVybiAoXCIoXCIgKyAoY29uZGl0aW9uLmV4cCkgKyBcIik/XCIgKyAoZ2VuVGVybmFyeUV4cChjb25kaXRpb24uYmxvY2spKSArIFwiOlwiICsgKGdlbklmQ29uZGl0aW9ucyhjb25kaXRpb25zLCBzdGF0ZSwgYWx0R2VuLCBhbHRFbXB0eSkpKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiAoXCJcIiArIChnZW5UZXJuYXJ5RXhwKGNvbmRpdGlvbi5ibG9jaykpKVxuICB9XG5cbiAgLy8gdi1pZiB3aXRoIHYtb25jZSBzaG91bGQgZ2VuZXJhdGUgY29kZSBsaWtlIChhKT9fbSgwKTpfbSgxKVxuICBmdW5jdGlvbiBnZW5UZXJuYXJ5RXhwIChlbCkge1xuICAgIHJldHVybiBhbHRHZW5cbiAgICAgID8gYWx0R2VuKGVsLCBzdGF0ZSlcbiAgICAgIDogZWwub25jZVxuICAgICAgICA/IGdlbk9uY2UoZWwsIHN0YXRlKVxuICAgICAgICA6IGdlbkVsZW1lbnQoZWwsIHN0YXRlKVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkZvciAoXG4gIGVsLFxuICBzdGF0ZSxcbiAgYWx0R2VuLFxuICBhbHRIZWxwZXJcbikge1xuICB2YXIgZXhwID0gZWwuZm9yO1xuICB2YXIgYWxpYXMgPSBlbC5hbGlhcztcbiAgdmFyIGl0ZXJhdG9yMSA9IGVsLml0ZXJhdG9yMSA/IChcIixcIiArIChlbC5pdGVyYXRvcjEpKSA6ICcnO1xuICB2YXIgaXRlcmF0b3IyID0gZWwuaXRlcmF0b3IyID8gKFwiLFwiICsgKGVsLml0ZXJhdG9yMikpIDogJyc7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICBzdGF0ZS5tYXliZUNvbXBvbmVudChlbCkgJiZcbiAgICBlbC50YWcgIT09ICdzbG90JyAmJlxuICAgIGVsLnRhZyAhPT0gJ3RlbXBsYXRlJyAmJlxuICAgICFlbC5rZXlcbiAgKSB7XG4gICAgc3RhdGUud2FybihcbiAgICAgIFwiPFwiICsgKGVsLnRhZykgKyBcIiB2LWZvcj1cXFwiXCIgKyBhbGlhcyArIFwiIGluIFwiICsgZXhwICsgXCJcXFwiPjogY29tcG9uZW50IGxpc3RzIHJlbmRlcmVkIHdpdGggXCIgK1xuICAgICAgXCJ2LWZvciBzaG91bGQgaGF2ZSBleHBsaWNpdCBrZXlzLiBcIiArXG4gICAgICBcIlNlZSBodHRwczovL3Z1ZWpzLm9yZy9ndWlkZS9saXN0Lmh0bWwja2V5IGZvciBtb3JlIGluZm8uXCIsXG4gICAgICBlbC5yYXdBdHRyc01hcFsndi1mb3InXSxcbiAgICAgIHRydWUgLyogdGlwICovXG4gICAgKTtcbiAgfVxuXG4gIGVsLmZvclByb2Nlc3NlZCA9IHRydWU7IC8vIGF2b2lkIHJlY3Vyc2lvblxuICByZXR1cm4gKGFsdEhlbHBlciB8fCAnX2wnKSArIFwiKChcIiArIGV4cCArIFwiKSxcIiArXG4gICAgXCJmdW5jdGlvbihcIiArIGFsaWFzICsgaXRlcmF0b3IxICsgaXRlcmF0b3IyICsgXCIpe1wiICtcbiAgICAgIFwicmV0dXJuIFwiICsgKChhbHRHZW4gfHwgZ2VuRWxlbWVudCkoZWwsIHN0YXRlKSkgK1xuICAgICd9KSdcbn1cblxuZnVuY3Rpb24gZ2VuRGF0YSQyIChlbCwgc3RhdGUpIHtcbiAgdmFyIGRhdGEgPSAneyc7XG5cbiAgLy8gZGlyZWN0aXZlcyBmaXJzdC5cbiAgLy8gZGlyZWN0aXZlcyBtYXkgbXV0YXRlIHRoZSBlbCdzIG90aGVyIHByb3BlcnRpZXMgYmVmb3JlIHRoZXkgYXJlIGdlbmVyYXRlZC5cbiAgdmFyIGRpcnMgPSBnZW5EaXJlY3RpdmVzKGVsLCBzdGF0ZSk7XG4gIGlmIChkaXJzKSB7IGRhdGEgKz0gZGlycyArICcsJzsgfVxuXG4gIC8vIGtleVxuICBpZiAoZWwua2V5KSB7XG4gICAgZGF0YSArPSBcImtleTpcIiArIChlbC5rZXkpICsgXCIsXCI7XG4gIH1cbiAgLy8gcmVmXG4gIGlmIChlbC5yZWYpIHtcbiAgICBkYXRhICs9IFwicmVmOlwiICsgKGVsLnJlZikgKyBcIixcIjtcbiAgfVxuICBpZiAoZWwucmVmSW5Gb3IpIHtcbiAgICBkYXRhICs9IFwicmVmSW5Gb3I6dHJ1ZSxcIjtcbiAgfVxuICAvLyBwcmVcbiAgaWYgKGVsLnByZSkge1xuICAgIGRhdGEgKz0gXCJwcmU6dHJ1ZSxcIjtcbiAgfVxuICAvLyByZWNvcmQgb3JpZ2luYWwgdGFnIG5hbWUgZm9yIGNvbXBvbmVudHMgdXNpbmcgXCJpc1wiIGF0dHJpYnV0ZVxuICBpZiAoZWwuY29tcG9uZW50KSB7XG4gICAgZGF0YSArPSBcInRhZzpcXFwiXCIgKyAoZWwudGFnKSArIFwiXFxcIixcIjtcbiAgfVxuICAvLyBtb2R1bGUgZGF0YSBnZW5lcmF0aW9uIGZ1bmN0aW9uc1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXRlLmRhdGFHZW5GbnMubGVuZ3RoOyBpKyspIHtcbiAgICBkYXRhICs9IHN0YXRlLmRhdGFHZW5GbnNbaV0oZWwpO1xuICB9XG4gIC8vIGF0dHJpYnV0ZXNcbiAgaWYgKGVsLmF0dHJzKSB7XG4gICAgZGF0YSArPSBcImF0dHJzOlwiICsgKGdlblByb3BzKGVsLmF0dHJzKSkgKyBcIixcIjtcbiAgfVxuICAvLyBET00gcHJvcHNcbiAgaWYgKGVsLnByb3BzKSB7XG4gICAgZGF0YSArPSBcImRvbVByb3BzOlwiICsgKGdlblByb3BzKGVsLnByb3BzKSkgKyBcIixcIjtcbiAgfVxuICAvLyBldmVudCBoYW5kbGVyc1xuICBpZiAoZWwuZXZlbnRzKSB7XG4gICAgZGF0YSArPSAoZ2VuSGFuZGxlcnMoZWwuZXZlbnRzLCBmYWxzZSkpICsgXCIsXCI7XG4gIH1cbiAgaWYgKGVsLm5hdGl2ZUV2ZW50cykge1xuICAgIGRhdGEgKz0gKGdlbkhhbmRsZXJzKGVsLm5hdGl2ZUV2ZW50cywgdHJ1ZSkpICsgXCIsXCI7XG4gIH1cbiAgLy8gc2xvdCB0YXJnZXRcbiAgLy8gb25seSBmb3Igbm9uLXNjb3BlZCBzbG90c1xuICBpZiAoZWwuc2xvdFRhcmdldCAmJiAhZWwuc2xvdFNjb3BlKSB7XG4gICAgZGF0YSArPSBcInNsb3Q6XCIgKyAoZWwuc2xvdFRhcmdldCkgKyBcIixcIjtcbiAgfVxuICAvLyBzY29wZWQgc2xvdHNcbiAgaWYgKGVsLnNjb3BlZFNsb3RzKSB7XG4gICAgZGF0YSArPSAoZ2VuU2NvcGVkU2xvdHMoZWwsIGVsLnNjb3BlZFNsb3RzLCBzdGF0ZSkpICsgXCIsXCI7XG4gIH1cbiAgLy8gY29tcG9uZW50IHYtbW9kZWxcbiAgaWYgKGVsLm1vZGVsKSB7XG4gICAgZGF0YSArPSBcIm1vZGVsOnt2YWx1ZTpcIiArIChlbC5tb2RlbC52YWx1ZSkgKyBcIixjYWxsYmFjazpcIiArIChlbC5tb2RlbC5jYWxsYmFjaykgKyBcIixleHByZXNzaW9uOlwiICsgKGVsLm1vZGVsLmV4cHJlc3Npb24pICsgXCJ9LFwiO1xuICB9XG4gIC8vIGlubGluZS10ZW1wbGF0ZVxuICBpZiAoZWwuaW5saW5lVGVtcGxhdGUpIHtcbiAgICB2YXIgaW5saW5lVGVtcGxhdGUgPSBnZW5JbmxpbmVUZW1wbGF0ZShlbCwgc3RhdGUpO1xuICAgIGlmIChpbmxpbmVUZW1wbGF0ZSkge1xuICAgICAgZGF0YSArPSBpbmxpbmVUZW1wbGF0ZSArIFwiLFwiO1xuICAgIH1cbiAgfVxuICBkYXRhID0gZGF0YS5yZXBsYWNlKC8sJC8sICcnKSArICd9JztcbiAgLy8gdi1iaW5kIGR5bmFtaWMgYXJndW1lbnQgd3JhcFxuICAvLyB2LWJpbmQgd2l0aCBkeW5hbWljIGFyZ3VtZW50cyBtdXN0IGJlIGFwcGxpZWQgdXNpbmcgdGhlIHNhbWUgdi1iaW5kIG9iamVjdFxuICAvLyBtZXJnZSBoZWxwZXIgc28gdGhhdCBjbGFzcy9zdHlsZS9tdXN0VXNlUHJvcCBhdHRycyBhcmUgaGFuZGxlZCBjb3JyZWN0bHkuXG4gIGlmIChlbC5keW5hbWljQXR0cnMpIHtcbiAgICBkYXRhID0gXCJfYihcIiArIGRhdGEgKyBcIixcXFwiXCIgKyAoZWwudGFnKSArIFwiXFxcIixcIiArIChnZW5Qcm9wcyhlbC5keW5hbWljQXR0cnMpKSArIFwiKVwiO1xuICB9XG4gIC8vIHYtYmluZCBkYXRhIHdyYXBcbiAgaWYgKGVsLndyYXBEYXRhKSB7XG4gICAgZGF0YSA9IGVsLndyYXBEYXRhKGRhdGEpO1xuICB9XG4gIC8vIHYtb24gZGF0YSB3cmFwXG4gIGlmIChlbC53cmFwTGlzdGVuZXJzKSB7XG4gICAgZGF0YSA9IGVsLndyYXBMaXN0ZW5lcnMoZGF0YSk7XG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxuZnVuY3Rpb24gZ2VuRGlyZWN0aXZlcyAoZWwsIHN0YXRlKSB7XG4gIHZhciBkaXJzID0gZWwuZGlyZWN0aXZlcztcbiAgaWYgKCFkaXJzKSB7IHJldHVybiB9XG4gIHZhciByZXMgPSAnZGlyZWN0aXZlczpbJztcbiAgdmFyIGhhc1J1bnRpbWUgPSBmYWxzZTtcbiAgdmFyIGksIGwsIGRpciwgbmVlZFJ1bnRpbWU7XG4gIGZvciAoaSA9IDAsIGwgPSBkaXJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGRpciA9IGRpcnNbaV07XG4gICAgbmVlZFJ1bnRpbWUgPSB0cnVlO1xuICAgIHZhciBnZW4gPSBzdGF0ZS5kaXJlY3RpdmVzW2Rpci5uYW1lXTtcbiAgICBpZiAoZ2VuKSB7XG4gICAgICAvLyBjb21waWxlLXRpbWUgZGlyZWN0aXZlIHRoYXQgbWFuaXB1bGF0ZXMgQVNULlxuICAgICAgLy8gcmV0dXJucyB0cnVlIGlmIGl0IGFsc28gbmVlZHMgYSBydW50aW1lIGNvdW50ZXJwYXJ0LlxuICAgICAgbmVlZFJ1bnRpbWUgPSAhIWdlbihlbCwgZGlyLCBzdGF0ZS53YXJuKTtcbiAgICB9XG4gICAgaWYgKG5lZWRSdW50aW1lKSB7XG4gICAgICBoYXNSdW50aW1lID0gdHJ1ZTtcbiAgICAgIHJlcyArPSBcIntuYW1lOlxcXCJcIiArIChkaXIubmFtZSkgKyBcIlxcXCIscmF3TmFtZTpcXFwiXCIgKyAoZGlyLnJhd05hbWUpICsgXCJcXFwiXCIgKyAoZGlyLnZhbHVlID8gKFwiLHZhbHVlOihcIiArIChkaXIudmFsdWUpICsgXCIpLGV4cHJlc3Npb246XCIgKyAoSlNPTi5zdHJpbmdpZnkoZGlyLnZhbHVlKSkpIDogJycpICsgKGRpci5hcmcgPyAoXCIsYXJnOlwiICsgKGRpci5pc0R5bmFtaWNBcmcgPyBkaXIuYXJnIDogKFwiXFxcIlwiICsgKGRpci5hcmcpICsgXCJcXFwiXCIpKSkgOiAnJykgKyAoZGlyLm1vZGlmaWVycyA/IChcIixtb2RpZmllcnM6XCIgKyAoSlNPTi5zdHJpbmdpZnkoZGlyLm1vZGlmaWVycykpKSA6ICcnKSArIFwifSxcIjtcbiAgICB9XG4gIH1cbiAgaWYgKGhhc1J1bnRpbWUpIHtcbiAgICByZXR1cm4gcmVzLnNsaWNlKDAsIC0xKSArICddJ1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbklubGluZVRlbXBsYXRlIChlbCwgc3RhdGUpIHtcbiAgdmFyIGFzdCA9IGVsLmNoaWxkcmVuWzBdO1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAoXG4gICAgZWwuY2hpbGRyZW4ubGVuZ3RoICE9PSAxIHx8IGFzdC50eXBlICE9PSAxXG4gICkpIHtcbiAgICBzdGF0ZS53YXJuKFxuICAgICAgJ0lubGluZS10ZW1wbGF0ZSBjb21wb25lbnRzIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBjaGlsZCBlbGVtZW50LicsXG4gICAgICB7IHN0YXJ0OiBlbC5zdGFydCB9XG4gICAgKTtcbiAgfVxuICBpZiAoYXN0ICYmIGFzdC50eXBlID09PSAxKSB7XG4gICAgdmFyIGlubGluZVJlbmRlckZucyA9IGdlbmVyYXRlKGFzdCwgc3RhdGUub3B0aW9ucyk7XG4gICAgcmV0dXJuIChcImlubGluZVRlbXBsYXRlOntyZW5kZXI6ZnVuY3Rpb24oKXtcIiArIChpbmxpbmVSZW5kZXJGbnMucmVuZGVyKSArIFwifSxzdGF0aWNSZW5kZXJGbnM6W1wiICsgKGlubGluZVJlbmRlckZucy5zdGF0aWNSZW5kZXJGbnMubWFwKGZ1bmN0aW9uIChjb2RlKSB7IHJldHVybiAoXCJmdW5jdGlvbigpe1wiICsgY29kZSArIFwifVwiKTsgfSkuam9pbignLCcpKSArIFwiXX1cIilcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5TY29wZWRTbG90cyAoXG4gIGVsLFxuICBzbG90cyxcbiAgc3RhdGVcbikge1xuICAvLyBieSBkZWZhdWx0IHNjb3BlZCBzbG90cyBhcmUgY29uc2lkZXJlZCBcInN0YWJsZVwiLCB0aGlzIGFsbG93cyBjaGlsZFxuICAvLyBjb21wb25lbnRzIHdpdGggb25seSBzY29wZWQgc2xvdHMgdG8gc2tpcCBmb3JjZWQgdXBkYXRlcyBmcm9tIHBhcmVudC5cbiAgLy8gYnV0IGluIHNvbWUgY2FzZXMgd2UgaGF2ZSB0byBiYWlsLW91dCBvZiB0aGlzIG9wdGltaXphdGlvblxuICAvLyBmb3IgZXhhbXBsZSBpZiB0aGUgc2xvdCBjb250YWlucyBkeW5hbWljIG5hbWVzLCBoYXMgdi1pZiBvciB2LWZvciBvbiB0aGVtLi4uXG4gIHZhciBuZWVkc0ZvcmNlVXBkYXRlID0gZWwuZm9yIHx8IE9iamVjdC5rZXlzKHNsb3RzKS5zb21lKGZ1bmN0aW9uIChrZXkpIHtcbiAgICB2YXIgc2xvdCA9IHNsb3RzW2tleV07XG4gICAgcmV0dXJuIChcbiAgICAgIHNsb3Quc2xvdFRhcmdldER5bmFtaWMgfHxcbiAgICAgIHNsb3QuaWYgfHxcbiAgICAgIHNsb3QuZm9yIHx8XG4gICAgICBjb250YWluc1Nsb3RDaGlsZChzbG90KSAvLyBpcyBwYXNzaW5nIGRvd24gc2xvdCBmcm9tIHBhcmVudCB3aGljaCBtYXkgYmUgZHluYW1pY1xuICAgIClcbiAgfSk7XG5cbiAgLy8gIzk1MzQ6IGlmIGEgY29tcG9uZW50IHdpdGggc2NvcGVkIHNsb3RzIGlzIGluc2lkZSBhIGNvbmRpdGlvbmFsIGJyYW5jaCxcbiAgLy8gaXQncyBwb3NzaWJsZSBmb3IgdGhlIHNhbWUgY29tcG9uZW50IHRvIGJlIHJldXNlZCBidXQgd2l0aCBkaWZmZXJlbnRcbiAgLy8gY29tcGlsZWQgc2xvdCBjb250ZW50LiBUbyBhdm9pZCB0aGF0LCB3ZSBnZW5lcmF0ZSBhIHVuaXF1ZSBrZXkgYmFzZWQgb25cbiAgLy8gdGhlIGdlbmVyYXRlZCBjb2RlIG9mIGFsbCB0aGUgc2xvdCBjb250ZW50cy5cbiAgdmFyIG5lZWRzS2V5ID0gISFlbC5pZjtcblxuICAvLyBPUiB3aGVuIGl0IGlzIGluc2lkZSBhbm90aGVyIHNjb3BlZCBzbG90IG9yIHYtZm9yICh0aGUgcmVhY3Rpdml0eSBtYXkgYmVcbiAgLy8gZGlzY29ubmVjdGVkIGR1ZSB0byB0aGUgaW50ZXJtZWRpYXRlIHNjb3BlIHZhcmlhYmxlKVxuICAvLyAjOTQzOCwgIzk1MDZcbiAgLy8gVE9ETzogdGhpcyBjYW4gYmUgZnVydGhlciBvcHRpbWl6ZWQgYnkgcHJvcGVybHkgYW5hbHl6aW5nIGluLXNjb3BlIGJpbmRpbmdzXG4gIC8vIGFuZCBza2lwIGZvcmNlIHVwZGF0aW5nIG9uZXMgdGhhdCBkbyBub3QgYWN0dWFsbHkgdXNlIHNjb3BlIHZhcmlhYmxlcy5cbiAgaWYgKCFuZWVkc0ZvcmNlVXBkYXRlKSB7XG4gICAgdmFyIHBhcmVudCA9IGVsLnBhcmVudDtcbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICBpZiAoXG4gICAgICAgIChwYXJlbnQuc2xvdFNjb3BlICYmIHBhcmVudC5zbG90U2NvcGUgIT09IGVtcHR5U2xvdFNjb3BlVG9rZW4pIHx8XG4gICAgICAgIHBhcmVudC5mb3JcbiAgICAgICkge1xuICAgICAgICBuZWVkc0ZvcmNlVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGlmIChwYXJlbnQuaWYpIHtcbiAgICAgICAgbmVlZHNLZXkgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgICB9XG4gIH1cblxuICB2YXIgZ2VuZXJhdGVkU2xvdHMgPSBPYmplY3Qua2V5cyhzbG90cylcbiAgICAubWFwKGZ1bmN0aW9uIChrZXkpIHsgcmV0dXJuIGdlblNjb3BlZFNsb3Qoc2xvdHNba2V5XSwgc3RhdGUpOyB9KVxuICAgIC5qb2luKCcsJyk7XG5cbiAgcmV0dXJuIChcInNjb3BlZFNsb3RzOl91KFtcIiArIGdlbmVyYXRlZFNsb3RzICsgXCJdXCIgKyAobmVlZHNGb3JjZVVwZGF0ZSA/IFwiLG51bGwsdHJ1ZVwiIDogXCJcIikgKyAoIW5lZWRzRm9yY2VVcGRhdGUgJiYgbmVlZHNLZXkgPyAoXCIsbnVsbCxmYWxzZSxcIiArIChoYXNoKGdlbmVyYXRlZFNsb3RzKSkpIDogXCJcIikgKyBcIilcIilcbn1cblxuZnVuY3Rpb24gaGFzaChzdHIpIHtcbiAgdmFyIGhhc2ggPSA1MzgxO1xuICB2YXIgaSA9IHN0ci5sZW5ndGg7XG4gIHdoaWxlKGkpIHtcbiAgICBoYXNoID0gKGhhc2ggKiAzMykgXiBzdHIuY2hhckNvZGVBdCgtLWkpO1xuICB9XG4gIHJldHVybiBoYXNoID4+PiAwXG59XG5cbmZ1bmN0aW9uIGNvbnRhaW5zU2xvdENoaWxkIChlbCkge1xuICBpZiAoZWwudHlwZSA9PT0gMSkge1xuICAgIGlmIChlbC50YWcgPT09ICdzbG90Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGVsLmNoaWxkcmVuLnNvbWUoY29udGFpbnNTbG90Q2hpbGQpXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIGdlblNjb3BlZFNsb3QgKFxuICBlbCxcbiAgc3RhdGVcbikge1xuICB2YXIgaXNMZWdhY3lTeW50YXggPSBlbC5hdHRyc01hcFsnc2xvdC1zY29wZSddO1xuICBpZiAoZWwuaWYgJiYgIWVsLmlmUHJvY2Vzc2VkICYmICFpc0xlZ2FjeVN5bnRheCkge1xuICAgIHJldHVybiBnZW5JZihlbCwgc3RhdGUsIGdlblNjb3BlZFNsb3QsIFwibnVsbFwiKVxuICB9XG4gIGlmIChlbC5mb3IgJiYgIWVsLmZvclByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5Gb3IoZWwsIHN0YXRlLCBnZW5TY29wZWRTbG90KVxuICB9XG4gIHZhciBzbG90U2NvcGUgPSBlbC5zbG90U2NvcGUgPT09IGVtcHR5U2xvdFNjb3BlVG9rZW5cbiAgICA/IFwiXCJcbiAgICA6IFN0cmluZyhlbC5zbG90U2NvcGUpO1xuICB2YXIgZm4gPSBcImZ1bmN0aW9uKFwiICsgc2xvdFNjb3BlICsgXCIpe1wiICtcbiAgICBcInJldHVybiBcIiArIChlbC50YWcgPT09ICd0ZW1wbGF0ZSdcbiAgICAgID8gZWwuaWYgJiYgaXNMZWdhY3lTeW50YXhcbiAgICAgICAgPyAoXCIoXCIgKyAoZWwuaWYpICsgXCIpP1wiICsgKGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSkgfHwgJ3VuZGVmaW5lZCcpICsgXCI6dW5kZWZpbmVkXCIpXG4gICAgICAgIDogZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlKSB8fCAndW5kZWZpbmVkJ1xuICAgICAgOiBnZW5FbGVtZW50KGVsLCBzdGF0ZSkpICsgXCJ9XCI7XG4gIC8vIHJldmVyc2UgcHJveHkgdi1zbG90IHdpdGhvdXQgc2NvcGUgb24gdGhpcy4kc2xvdHNcbiAgdmFyIHJldmVyc2VQcm94eSA9IHNsb3RTY29wZSA/IFwiXCIgOiBcIixwcm94eTp0cnVlXCI7XG4gIHJldHVybiAoXCJ7a2V5OlwiICsgKGVsLnNsb3RUYXJnZXQgfHwgXCJcXFwiZGVmYXVsdFxcXCJcIikgKyBcIixmbjpcIiArIGZuICsgcmV2ZXJzZVByb3h5ICsgXCJ9XCIpXG59XG5cbmZ1bmN0aW9uIGdlbkNoaWxkcmVuIChcbiAgZWwsXG4gIHN0YXRlLFxuICBjaGVja1NraXAsXG4gIGFsdEdlbkVsZW1lbnQsXG4gIGFsdEdlbk5vZGVcbikge1xuICB2YXIgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbjtcbiAgaWYgKGNoaWxkcmVuLmxlbmd0aCkge1xuICAgIHZhciBlbCQxID0gY2hpbGRyZW5bMF07XG4gICAgLy8gb3B0aW1pemUgc2luZ2xlIHYtZm9yXG4gICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgZWwkMS5mb3IgJiZcbiAgICAgIGVsJDEudGFnICE9PSAndGVtcGxhdGUnICYmXG4gICAgICBlbCQxLnRhZyAhPT0gJ3Nsb3QnXG4gICAgKSB7XG4gICAgICB2YXIgbm9ybWFsaXphdGlvblR5cGUgPSBjaGVja1NraXBcbiAgICAgICAgPyBzdGF0ZS5tYXliZUNvbXBvbmVudChlbCQxKSA/IFwiLDFcIiA6IFwiLDBcIlxuICAgICAgICA6IFwiXCI7XG4gICAgICByZXR1cm4gKFwiXCIgKyAoKGFsdEdlbkVsZW1lbnQgfHwgZ2VuRWxlbWVudCkoZWwkMSwgc3RhdGUpKSArIG5vcm1hbGl6YXRpb25UeXBlKVxuICAgIH1cbiAgICB2YXIgbm9ybWFsaXphdGlvblR5cGUkMSA9IGNoZWNrU2tpcFxuICAgICAgPyBnZXROb3JtYWxpemF0aW9uVHlwZShjaGlsZHJlbiwgc3RhdGUubWF5YmVDb21wb25lbnQpXG4gICAgICA6IDA7XG4gICAgdmFyIGdlbiA9IGFsdEdlbk5vZGUgfHwgZ2VuTm9kZTtcbiAgICByZXR1cm4gKFwiW1wiICsgKGNoaWxkcmVuLm1hcChmdW5jdGlvbiAoYykgeyByZXR1cm4gZ2VuKGMsIHN0YXRlKTsgfSkuam9pbignLCcpKSArIFwiXVwiICsgKG5vcm1hbGl6YXRpb25UeXBlJDEgPyAoXCIsXCIgKyBub3JtYWxpemF0aW9uVHlwZSQxKSA6ICcnKSlcbiAgfVxufVxuXG4vLyBkZXRlcm1pbmUgdGhlIG5vcm1hbGl6YXRpb24gbmVlZGVkIGZvciB0aGUgY2hpbGRyZW4gYXJyYXkuXG4vLyAwOiBubyBub3JtYWxpemF0aW9uIG5lZWRlZFxuLy8gMTogc2ltcGxlIG5vcm1hbGl6YXRpb24gbmVlZGVkIChwb3NzaWJsZSAxLWxldmVsIGRlZXAgbmVzdGVkIGFycmF5KVxuLy8gMjogZnVsbCBub3JtYWxpemF0aW9uIG5lZWRlZFxuZnVuY3Rpb24gZ2V0Tm9ybWFsaXphdGlvblR5cGUgKFxuICBjaGlsZHJlbixcbiAgbWF5YmVDb21wb25lbnRcbikge1xuICB2YXIgcmVzID0gMDtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgIHZhciBlbCA9IGNoaWxkcmVuW2ldO1xuICAgIGlmIChlbC50eXBlICE9PSAxKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAobmVlZHNOb3JtYWxpemF0aW9uKGVsKSB8fFxuICAgICAgICAoZWwuaWZDb25kaXRpb25zICYmIGVsLmlmQ29uZGl0aW9ucy5zb21lKGZ1bmN0aW9uIChjKSB7IHJldHVybiBuZWVkc05vcm1hbGl6YXRpb24oYy5ibG9jayk7IH0pKSkge1xuICAgICAgcmVzID0gMjtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGlmIChtYXliZUNvbXBvbmVudChlbCkgfHxcbiAgICAgICAgKGVsLmlmQ29uZGl0aW9ucyAmJiBlbC5pZkNvbmRpdGlvbnMuc29tZShmdW5jdGlvbiAoYykgeyByZXR1cm4gbWF5YmVDb21wb25lbnQoYy5ibG9jayk7IH0pKSkge1xuICAgICAgcmVzID0gMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBuZWVkc05vcm1hbGl6YXRpb24gKGVsKSB7XG4gIHJldHVybiBlbC5mb3IgIT09IHVuZGVmaW5lZCB8fCBlbC50YWcgPT09ICd0ZW1wbGF0ZScgfHwgZWwudGFnID09PSAnc2xvdCdcbn1cblxuZnVuY3Rpb24gZ2VuTm9kZSAobm9kZSwgc3RhdGUpIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIHJldHVybiBnZW5FbGVtZW50KG5vZGUsIHN0YXRlKVxuICB9IGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gMyAmJiBub2RlLmlzQ29tbWVudCkge1xuICAgIHJldHVybiBnZW5Db21tZW50KG5vZGUpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGdlblRleHQobm9kZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5UZXh0ICh0ZXh0KSB7XG4gIHJldHVybiAoXCJfdihcIiArICh0ZXh0LnR5cGUgPT09IDJcbiAgICA/IHRleHQuZXhwcmVzc2lvbiAvLyBubyBuZWVkIGZvciAoKSBiZWNhdXNlIGFscmVhZHkgd3JhcHBlZCBpbiBfcygpXG4gICAgOiB0cmFuc2Zvcm1TcGVjaWFsTmV3bGluZXMoSlNPTi5zdHJpbmdpZnkodGV4dC50ZXh0KSkpICsgXCIpXCIpXG59XG5cbmZ1bmN0aW9uIGdlbkNvbW1lbnQgKGNvbW1lbnQpIHtcbiAgcmV0dXJuIChcIl9lKFwiICsgKEpTT04uc3RyaW5naWZ5KGNvbW1lbnQudGV4dCkpICsgXCIpXCIpXG59XG5cbmZ1bmN0aW9uIGdlblNsb3QgKGVsLCBzdGF0ZSkge1xuICB2YXIgc2xvdE5hbWUgPSBlbC5zbG90TmFtZSB8fCAnXCJkZWZhdWx0XCInO1xuICB2YXIgY2hpbGRyZW4gPSBnZW5DaGlsZHJlbihlbCwgc3RhdGUpO1xuICB2YXIgcmVzID0gXCJfdChcIiArIHNsb3ROYW1lICsgKGNoaWxkcmVuID8gKFwiLFwiICsgY2hpbGRyZW4pIDogJycpO1xuICB2YXIgYXR0cnMgPSBlbC5hdHRycyB8fCBlbC5keW5hbWljQXR0cnNcbiAgICA/IGdlblByb3BzKChlbC5hdHRycyB8fCBbXSkuY29uY2F0KGVsLmR5bmFtaWNBdHRycyB8fCBbXSkubWFwKGZ1bmN0aW9uIChhdHRyKSB7IHJldHVybiAoe1xuICAgICAgICAvLyBzbG90IHByb3BzIGFyZSBjYW1lbGl6ZWRcbiAgICAgICAgbmFtZTogY2FtZWxpemUoYXR0ci5uYW1lKSxcbiAgICAgICAgdmFsdWU6IGF0dHIudmFsdWUsXG4gICAgICAgIGR5bmFtaWM6IGF0dHIuZHluYW1pY1xuICAgICAgfSk7IH0pKVxuICAgIDogbnVsbDtcbiAgdmFyIGJpbmQkJDEgPSBlbC5hdHRyc01hcFsndi1iaW5kJ107XG4gIGlmICgoYXR0cnMgfHwgYmluZCQkMSkgJiYgIWNoaWxkcmVuKSB7XG4gICAgcmVzICs9IFwiLG51bGxcIjtcbiAgfVxuICBpZiAoYXR0cnMpIHtcbiAgICByZXMgKz0gXCIsXCIgKyBhdHRycztcbiAgfVxuICBpZiAoYmluZCQkMSkge1xuICAgIHJlcyArPSAoYXR0cnMgPyAnJyA6ICcsbnVsbCcpICsgXCIsXCIgKyBiaW5kJCQxO1xuICB9XG4gIHJldHVybiByZXMgKyAnKSdcbn1cblxuLy8gY29tcG9uZW50TmFtZSBpcyBlbC5jb21wb25lbnQsIHRha2UgaXQgYXMgYXJndW1lbnQgdG8gc2h1biBmbG93J3MgcGVzc2ltaXN0aWMgcmVmaW5lbWVudFxuZnVuY3Rpb24gZ2VuQ29tcG9uZW50IChcbiAgY29tcG9uZW50TmFtZSxcbiAgZWwsXG4gIHN0YXRlXG4pIHtcbiAgdmFyIGNoaWxkcmVuID0gZWwuaW5saW5lVGVtcGxhdGUgPyBudWxsIDogZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlLCB0cnVlKTtcbiAgcmV0dXJuIChcIl9jKFwiICsgY29tcG9uZW50TmFtZSArIFwiLFwiICsgKGdlbkRhdGEkMihlbCwgc3RhdGUpKSArIChjaGlsZHJlbiA/IChcIixcIiArIGNoaWxkcmVuKSA6ICcnKSArIFwiKVwiKVxufVxuXG5mdW5jdGlvbiBnZW5Qcm9wcyAocHJvcHMpIHtcbiAgdmFyIHN0YXRpY1Byb3BzID0gXCJcIjtcbiAgdmFyIGR5bmFtaWNQcm9wcyA9IFwiXCI7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcHJvcCA9IHByb3BzW2ldO1xuICAgIHZhciB2YWx1ZSA9IHRyYW5zZm9ybVNwZWNpYWxOZXdsaW5lcyhwcm9wLnZhbHVlKTtcbiAgICBpZiAocHJvcC5keW5hbWljKSB7XG4gICAgICBkeW5hbWljUHJvcHMgKz0gKHByb3AubmFtZSkgKyBcIixcIiArIHZhbHVlICsgXCIsXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRpY1Byb3BzICs9IFwiXFxcIlwiICsgKHByb3AubmFtZSkgKyBcIlxcXCI6XCIgKyB2YWx1ZSArIFwiLFwiO1xuICAgIH1cbiAgfVxuICBzdGF0aWNQcm9wcyA9IFwie1wiICsgKHN0YXRpY1Byb3BzLnNsaWNlKDAsIC0xKSkgKyBcIn1cIjtcbiAgaWYgKGR5bmFtaWNQcm9wcykge1xuICAgIHJldHVybiAoXCJfZChcIiArIHN0YXRpY1Byb3BzICsgXCIsW1wiICsgKGR5bmFtaWNQcm9wcy5zbGljZSgwLCAtMSkpICsgXCJdKVwiKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdGF0aWNQcm9wc1xuICB9XG59XG5cbi8vICMzODk1LCAjNDI2OFxuZnVuY3Rpb24gdHJhbnNmb3JtU3BlY2lhbE5ld2xpbmVzICh0ZXh0KSB7XG4gIHJldHVybiB0ZXh0XG4gICAgLnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAyOCcpXG4gICAgLnJlcGxhY2UoL1xcdTIwMjkvZywgJ1xcXFx1MjAyOScpXG59XG5cbi8qICAqL1xuXG5cblxuLy8gdGhlc2Uga2V5d29yZHMgc2hvdWxkIG5vdCBhcHBlYXIgaW5zaWRlIGV4cHJlc3Npb25zLCBidXQgb3BlcmF0b3JzIGxpa2Vcbi8vIHR5cGVvZiwgaW5zdGFuY2VvZiBhbmQgaW4gYXJlIGFsbG93ZWRcbnZhciBwcm9oaWJpdGVkS2V5d29yZFJFID0gbmV3IFJlZ0V4cCgnXFxcXGInICsgKFxuICAnZG8saWYsZm9yLGxldCxuZXcsdHJ5LHZhcixjYXNlLGVsc2Usd2l0aCxhd2FpdCxicmVhayxjYXRjaCxjbGFzcyxjb25zdCwnICtcbiAgJ3N1cGVyLHRocm93LHdoaWxlLHlpZWxkLGRlbGV0ZSxleHBvcnQsaW1wb3J0LHJldHVybixzd2l0Y2gsZGVmYXVsdCwnICtcbiAgJ2V4dGVuZHMsZmluYWxseSxjb250aW51ZSxkZWJ1Z2dlcixmdW5jdGlvbixhcmd1bWVudHMnXG4pLnNwbGl0KCcsJykuam9pbignXFxcXGJ8XFxcXGInKSArICdcXFxcYicpO1xuXG4vLyB0aGVzZSB1bmFyeSBvcGVyYXRvcnMgc2hvdWxkIG5vdCBiZSB1c2VkIGFzIHByb3BlcnR5L21ldGhvZCBuYW1lc1xudmFyIHVuYXJ5T3BlcmF0b3JzUkUgPSBuZXcgUmVnRXhwKCdcXFxcYicgKyAoXG4gICdkZWxldGUsdHlwZW9mLHZvaWQnXG4pLnNwbGl0KCcsJykuam9pbignXFxcXHMqXFxcXChbXlxcXFwpXSpcXFxcKXxcXFxcYicpICsgJ1xcXFxzKlxcXFwoW15cXFxcKV0qXFxcXCknKTtcblxuLy8gc3RyaXAgc3RyaW5ncyBpbiBleHByZXNzaW9uc1xudmFyIHN0cmlwU3RyaW5nUkUgPSAvJyg/OlteJ1xcXFxdfFxcXFwuKSonfFwiKD86W15cIlxcXFxdfFxcXFwuKSpcInxgKD86W15gXFxcXF18XFxcXC4pKlxcJFxce3xcXH0oPzpbXmBcXFxcXXxcXFxcLikqYHxgKD86W15gXFxcXF18XFxcXC4pKmAvZztcblxuLy8gZGV0ZWN0IHByb2JsZW1hdGljIGV4cHJlc3Npb25zIGluIGEgdGVtcGxhdGVcbmZ1bmN0aW9uIGRldGVjdEVycm9ycyAoYXN0LCB3YXJuKSB7XG4gIGlmIChhc3QpIHtcbiAgICBjaGVja05vZGUoYXN0LCB3YXJuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja05vZGUgKG5vZGUsIHdhcm4pIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIGZvciAodmFyIG5hbWUgaW4gbm9kZS5hdHRyc01hcCkge1xuICAgICAgaWYgKGRpclJFLnRlc3QobmFtZSkpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gbm9kZS5hdHRyc01hcFtuYW1lXTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgdmFyIHJhbmdlID0gbm9kZS5yYXdBdHRyc01hcFtuYW1lXTtcbiAgICAgICAgICBpZiAobmFtZSA9PT0gJ3YtZm9yJykge1xuICAgICAgICAgICAgY2hlY2tGb3Iobm9kZSwgKFwidi1mb3I9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCJcIiksIHdhcm4sIHJhbmdlKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG9uUkUudGVzdChuYW1lKSkge1xuICAgICAgICAgICAgY2hlY2tFdmVudCh2YWx1ZSwgKG5hbWUgKyBcIj1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKSwgd2FybiwgcmFuZ2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjaGVja0V4cHJlc3Npb24odmFsdWUsIChuYW1lICsgXCI9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCJcIiksIHdhcm4sIHJhbmdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjaGVja05vZGUobm9kZS5jaGlsZHJlbltpXSwgd2Fybik7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gMikge1xuICAgIGNoZWNrRXhwcmVzc2lvbihub2RlLmV4cHJlc3Npb24sIG5vZGUudGV4dCwgd2Fybiwgbm9kZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tFdmVudCAoZXhwLCB0ZXh0LCB3YXJuLCByYW5nZSkge1xuICB2YXIgc3RpcHBlZCA9IGV4cC5yZXBsYWNlKHN0cmlwU3RyaW5nUkUsICcnKTtcbiAgdmFyIGtleXdvcmRNYXRjaCA9IHN0aXBwZWQubWF0Y2godW5hcnlPcGVyYXRvcnNSRSk7XG4gIGlmIChrZXl3b3JkTWF0Y2ggJiYgc3RpcHBlZC5jaGFyQXQoa2V5d29yZE1hdGNoLmluZGV4IC0gMSkgIT09ICckJykge1xuICAgIHdhcm4oXG4gICAgICBcImF2b2lkIHVzaW5nIEphdmFTY3JpcHQgdW5hcnkgb3BlcmF0b3IgYXMgcHJvcGVydHkgbmFtZTogXCIgK1xuICAgICAgXCJcXFwiXCIgKyAoa2V5d29yZE1hdGNoWzBdKSArIFwiXFxcIiBpbiBleHByZXNzaW9uIFwiICsgKHRleHQudHJpbSgpKSxcbiAgICAgIHJhbmdlXG4gICAgKTtcbiAgfVxuICBjaGVja0V4cHJlc3Npb24oZXhwLCB0ZXh0LCB3YXJuLCByYW5nZSk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrRm9yIChub2RlLCB0ZXh0LCB3YXJuLCByYW5nZSkge1xuICBjaGVja0V4cHJlc3Npb24obm9kZS5mb3IgfHwgJycsIHRleHQsIHdhcm4sIHJhbmdlKTtcbiAgY2hlY2tJZGVudGlmaWVyKG5vZGUuYWxpYXMsICd2LWZvciBhbGlhcycsIHRleHQsIHdhcm4sIHJhbmdlKTtcbiAgY2hlY2tJZGVudGlmaWVyKG5vZGUuaXRlcmF0b3IxLCAndi1mb3IgaXRlcmF0b3InLCB0ZXh0LCB3YXJuLCByYW5nZSk7XG4gIGNoZWNrSWRlbnRpZmllcihub2RlLml0ZXJhdG9yMiwgJ3YtZm9yIGl0ZXJhdG9yJywgdGV4dCwgd2FybiwgcmFuZ2UpO1xufVxuXG5mdW5jdGlvbiBjaGVja0lkZW50aWZpZXIgKFxuICBpZGVudCxcbiAgdHlwZSxcbiAgdGV4dCxcbiAgd2FybixcbiAgcmFuZ2Vcbikge1xuICBpZiAodHlwZW9mIGlkZW50ID09PSAnc3RyaW5nJykge1xuICAgIHRyeSB7XG4gICAgICBuZXcgRnVuY3Rpb24oKFwidmFyIFwiICsgaWRlbnQgKyBcIj1fXCIpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB3YXJuKChcImludmFsaWQgXCIgKyB0eXBlICsgXCIgXFxcIlwiICsgaWRlbnQgKyBcIlxcXCIgaW4gZXhwcmVzc2lvbjogXCIgKyAodGV4dC50cmltKCkpKSwgcmFuZ2UpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja0V4cHJlc3Npb24gKGV4cCwgdGV4dCwgd2FybiwgcmFuZ2UpIHtcbiAgdHJ5IHtcbiAgICBuZXcgRnVuY3Rpb24oKFwicmV0dXJuIFwiICsgZXhwKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB2YXIga2V5d29yZE1hdGNoID0gZXhwLnJlcGxhY2Uoc3RyaXBTdHJpbmdSRSwgJycpLm1hdGNoKHByb2hpYml0ZWRLZXl3b3JkUkUpO1xuICAgIGlmIChrZXl3b3JkTWF0Y2gpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIFwiYXZvaWQgdXNpbmcgSmF2YVNjcmlwdCBrZXl3b3JkIGFzIHByb3BlcnR5IG5hbWU6IFwiICtcbiAgICAgICAgXCJcXFwiXCIgKyAoa2V5d29yZE1hdGNoWzBdKSArIFwiXFxcIlxcbiAgUmF3IGV4cHJlc3Npb246IFwiICsgKHRleHQudHJpbSgpKSxcbiAgICAgICAgcmFuZ2VcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIFwiaW52YWxpZCBleHByZXNzaW9uOiBcIiArIChlLm1lc3NhZ2UpICsgXCIgaW5cXG5cXG5cIiArXG4gICAgICAgIFwiICAgIFwiICsgZXhwICsgXCJcXG5cXG5cIiArXG4gICAgICAgIFwiICBSYXcgZXhwcmVzc2lvbjogXCIgKyAodGV4dC50cmltKCkpICsgXCJcXG5cIixcbiAgICAgICAgcmFuZ2VcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG52YXIgcmFuZ2UgPSAyO1xuXG5mdW5jdGlvbiBnZW5lcmF0ZUNvZGVGcmFtZSAoXG4gIHNvdXJjZSxcbiAgc3RhcnQsXG4gIGVuZFxuKSB7XG4gIGlmICggc3RhcnQgPT09IHZvaWQgMCApIHN0YXJ0ID0gMDtcbiAgaWYgKCBlbmQgPT09IHZvaWQgMCApIGVuZCA9IHNvdXJjZS5sZW5ndGg7XG5cbiAgdmFyIGxpbmVzID0gc291cmNlLnNwbGl0KC9cXHI/XFxuLyk7XG4gIHZhciBjb3VudCA9IDA7XG4gIHZhciByZXMgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xuICAgIGNvdW50ICs9IGxpbmVzW2ldLmxlbmd0aCArIDE7XG4gICAgaWYgKGNvdW50ID49IHN0YXJ0KSB7XG4gICAgICBmb3IgKHZhciBqID0gaSAtIHJhbmdlOyBqIDw9IGkgKyByYW5nZSB8fCBlbmQgPiBjb3VudDsgaisrKSB7XG4gICAgICAgIGlmIChqIDwgMCB8fCBqID49IGxpbmVzLmxlbmd0aCkgeyBjb250aW51ZSB9XG4gICAgICAgIHJlcy5wdXNoKChcIlwiICsgKGogKyAxKSArIChyZXBlYXQkMShcIiBcIiwgMyAtIFN0cmluZyhqICsgMSkubGVuZ3RoKSkgKyBcInwgIFwiICsgKGxpbmVzW2pdKSkpO1xuICAgICAgICB2YXIgbGluZUxlbmd0aCA9IGxpbmVzW2pdLmxlbmd0aDtcbiAgICAgICAgaWYgKGogPT09IGkpIHtcbiAgICAgICAgICAvLyBwdXNoIHVuZGVybGluZVxuICAgICAgICAgIHZhciBwYWQgPSBzdGFydCAtIChjb3VudCAtIGxpbmVMZW5ndGgpICsgMTtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gZW5kID4gY291bnQgPyBsaW5lTGVuZ3RoIC0gcGFkIDogZW5kIC0gc3RhcnQ7XG4gICAgICAgICAgcmVzLnB1c2goXCIgICB8ICBcIiArIHJlcGVhdCQxKFwiIFwiLCBwYWQpICsgcmVwZWF0JDEoXCJeXCIsIGxlbmd0aCkpO1xuICAgICAgICB9IGVsc2UgaWYgKGogPiBpKSB7XG4gICAgICAgICAgaWYgKGVuZCA+IGNvdW50KSB7XG4gICAgICAgICAgICB2YXIgbGVuZ3RoJDEgPSBNYXRoLm1pbihlbmQgLSBjb3VudCwgbGluZUxlbmd0aCk7XG4gICAgICAgICAgICByZXMucHVzaChcIiAgIHwgIFwiICsgcmVwZWF0JDEoXCJeXCIsIGxlbmd0aCQxKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvdW50ICs9IGxpbmVMZW5ndGggKyAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzLmpvaW4oJ1xcbicpXG59XG5cbmZ1bmN0aW9uIHJlcGVhdCQxIChzdHIsIG4pIHtcbiAgdmFyIHJlc3VsdCA9ICcnO1xuICBpZiAobiA+IDApIHtcbiAgICB3aGlsZSAodHJ1ZSkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICBpZiAobiAmIDEpIHsgcmVzdWx0ICs9IHN0cjsgfVxuICAgICAgbiA+Pj49IDE7XG4gICAgICBpZiAobiA8PSAwKSB7IGJyZWFrIH1cbiAgICAgIHN0ciArPSBzdHI7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cblxuLyogICovXG5cblxuXG5mdW5jdGlvbiBjcmVhdGVGdW5jdGlvbiAoY29kZSwgZXJyb3JzKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG5ldyBGdW5jdGlvbihjb2RlKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBlcnJvcnMucHVzaCh7IGVycjogZXJyLCBjb2RlOiBjb2RlIH0pO1xuICAgIHJldHVybiBub29wXG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tcGlsZVRvRnVuY3Rpb25GbiAoY29tcGlsZSkge1xuICB2YXIgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG4gIHJldHVybiBmdW5jdGlvbiBjb21waWxlVG9GdW5jdGlvbnMgKFxuICAgIHRlbXBsYXRlLFxuICAgIG9wdGlvbnMsXG4gICAgdm1cbiAgKSB7XG4gICAgb3B0aW9ucyA9IGV4dGVuZCh7fSwgb3B0aW9ucyk7XG4gICAgdmFyIHdhcm4kJDEgPSBvcHRpb25zLndhcm4gfHwgd2FybjtcbiAgICBkZWxldGUgb3B0aW9ucy53YXJuO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIC8vIGRldGVjdCBwb3NzaWJsZSBDU1AgcmVzdHJpY3Rpb25cbiAgICAgIHRyeSB7XG4gICAgICAgIG5ldyBGdW5jdGlvbigncmV0dXJuIDEnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaWYgKGUudG9TdHJpbmcoKS5tYXRjaCgvdW5zYWZlLWV2YWx8Q1NQLykpIHtcbiAgICAgICAgICB3YXJuJCQxKFxuICAgICAgICAgICAgJ0l0IHNlZW1zIHlvdSBhcmUgdXNpbmcgdGhlIHN0YW5kYWxvbmUgYnVpbGQgb2YgVnVlLmpzIGluIGFuICcgK1xuICAgICAgICAgICAgJ2Vudmlyb25tZW50IHdpdGggQ29udGVudCBTZWN1cml0eSBQb2xpY3kgdGhhdCBwcm9oaWJpdHMgdW5zYWZlLWV2YWwuICcgK1xuICAgICAgICAgICAgJ1RoZSB0ZW1wbGF0ZSBjb21waWxlciBjYW5ub3Qgd29yayBpbiB0aGlzIGVudmlyb25tZW50LiBDb25zaWRlciAnICtcbiAgICAgICAgICAgICdyZWxheGluZyB0aGUgcG9saWN5IHRvIGFsbG93IHVuc2FmZS1ldmFsIG9yIHByZS1jb21waWxpbmcgeW91ciAnICtcbiAgICAgICAgICAgICd0ZW1wbGF0ZXMgaW50byByZW5kZXIgZnVuY3Rpb25zLidcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgY2FjaGVcbiAgICB2YXIga2V5ID0gb3B0aW9ucy5kZWxpbWl0ZXJzXG4gICAgICA/IFN0cmluZyhvcHRpb25zLmRlbGltaXRlcnMpICsgdGVtcGxhdGVcbiAgICAgIDogdGVtcGxhdGU7XG4gICAgaWYgKGNhY2hlW2tleV0pIHtcbiAgICAgIHJldHVybiBjYWNoZVtrZXldXG4gICAgfVxuXG4gICAgLy8gY29tcGlsZVxuICAgIHZhciBjb21waWxlZCA9IGNvbXBpbGUodGVtcGxhdGUsIG9wdGlvbnMpO1xuXG4gICAgLy8gY2hlY2sgY29tcGlsYXRpb24gZXJyb3JzL3RpcHNcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKGNvbXBpbGVkLmVycm9ycyAmJiBjb21waWxlZC5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIGlmIChvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgY29tcGlsZWQuZXJyb3JzLmZvckVhY2goZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIHdhcm4kJDEoXG4gICAgICAgICAgICAgIFwiRXJyb3IgY29tcGlsaW5nIHRlbXBsYXRlOlxcblxcblwiICsgKGUubXNnKSArIFwiXFxuXFxuXCIgK1xuICAgICAgICAgICAgICBnZW5lcmF0ZUNvZGVGcmFtZSh0ZW1wbGF0ZSwgZS5zdGFydCwgZS5lbmQpLFxuICAgICAgICAgICAgICB2bVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3YXJuJCQxKFxuICAgICAgICAgICAgXCJFcnJvciBjb21waWxpbmcgdGVtcGxhdGU6XFxuXFxuXCIgKyB0ZW1wbGF0ZSArIFwiXFxuXFxuXCIgK1xuICAgICAgICAgICAgY29tcGlsZWQuZXJyb3JzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gKFwiLSBcIiArIGUpOyB9KS5qb2luKCdcXG4nKSArICdcXG4nLFxuICAgICAgICAgICAgdm1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY29tcGlsZWQudGlwcyAmJiBjb21waWxlZC50aXBzLmxlbmd0aCkge1xuICAgICAgICBpZiAob3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgIGNvbXBpbGVkLnRpcHMuZm9yRWFjaChmdW5jdGlvbiAoZSkgeyByZXR1cm4gdGlwKGUubXNnLCB2bSk7IH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbXBpbGVkLnRpcHMuZm9yRWFjaChmdW5jdGlvbiAobXNnKSB7IHJldHVybiB0aXAobXNnLCB2bSk7IH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdHVybiBjb2RlIGludG8gZnVuY3Rpb25zXG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIHZhciBmbkdlbkVycm9ycyA9IFtdO1xuICAgIHJlcy5yZW5kZXIgPSBjcmVhdGVGdW5jdGlvbihjb21waWxlZC5yZW5kZXIsIGZuR2VuRXJyb3JzKTtcbiAgICByZXMuc3RhdGljUmVuZGVyRm5zID0gY29tcGlsZWQuc3RhdGljUmVuZGVyRm5zLm1hcChmdW5jdGlvbiAoY29kZSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uKGNvZGUsIGZuR2VuRXJyb3JzKVxuICAgIH0pO1xuXG4gICAgLy8gY2hlY2sgZnVuY3Rpb24gZ2VuZXJhdGlvbiBlcnJvcnMuXG4gICAgLy8gdGhpcyBzaG91bGQgb25seSBoYXBwZW4gaWYgdGhlcmUgaXMgYSBidWcgaW4gdGhlIGNvbXBpbGVyIGl0c2VsZi5cbiAgICAvLyBtb3N0bHkgZm9yIGNvZGVnZW4gZGV2ZWxvcG1lbnQgdXNlXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGlmICgoIWNvbXBpbGVkLmVycm9ycyB8fCAhY29tcGlsZWQuZXJyb3JzLmxlbmd0aCkgJiYgZm5HZW5FcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIHdhcm4kJDEoXG4gICAgICAgICAgXCJGYWlsZWQgdG8gZ2VuZXJhdGUgcmVuZGVyIGZ1bmN0aW9uOlxcblxcblwiICtcbiAgICAgICAgICBmbkdlbkVycm9ycy5tYXAoZnVuY3Rpb24gKHJlZikge1xuICAgICAgICAgICAgdmFyIGVyciA9IHJlZi5lcnI7XG4gICAgICAgICAgICB2YXIgY29kZSA9IHJlZi5jb2RlO1xuXG4gICAgICAgICAgICByZXR1cm4gKChlcnIudG9TdHJpbmcoKSkgKyBcIiBpblxcblxcblwiICsgY29kZSArIFwiXFxuXCIpO1xuICAgICAgICB9KS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoY2FjaGVba2V5XSA9IHJlcylcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gY3JlYXRlQ29tcGlsZXJDcmVhdG9yIChiYXNlQ29tcGlsZSkge1xuICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlQ29tcGlsZXIgKGJhc2VPcHRpb25zKSB7XG4gICAgZnVuY3Rpb24gY29tcGlsZSAoXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIG9wdGlvbnNcbiAgICApIHtcbiAgICAgIHZhciBmaW5hbE9wdGlvbnMgPSBPYmplY3QuY3JlYXRlKGJhc2VPcHRpb25zKTtcbiAgICAgIHZhciBlcnJvcnMgPSBbXTtcbiAgICAgIHZhciB0aXBzID0gW107XG5cbiAgICAgIHZhciB3YXJuID0gZnVuY3Rpb24gKG1zZywgcmFuZ2UsIHRpcCkge1xuICAgICAgICAodGlwID8gdGlwcyA6IGVycm9ycykucHVzaChtc2cpO1xuICAgICAgfTtcblxuICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgICAgIHZhciBsZWFkaW5nU3BhY2VMZW5ndGggPSB0ZW1wbGF0ZS5tYXRjaCgvXlxccyovKVswXS5sZW5ndGg7XG5cbiAgICAgICAgICB3YXJuID0gZnVuY3Rpb24gKG1zZywgcmFuZ2UsIHRpcCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB7IG1zZzogbXNnIH07XG4gICAgICAgICAgICBpZiAocmFuZ2UpIHtcbiAgICAgICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBkYXRhLnN0YXJ0ID0gcmFuZ2Uuc3RhcnQgKyBsZWFkaW5nU3BhY2VMZW5ndGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJhbmdlLmVuZCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgZGF0YS5lbmQgPSByYW5nZS5lbmQgKyBsZWFkaW5nU3BhY2VMZW5ndGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICh0aXAgPyB0aXBzIDogZXJyb3JzKS5wdXNoKGRhdGEpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWVyZ2UgY3VzdG9tIG1vZHVsZXNcbiAgICAgICAgaWYgKG9wdGlvbnMubW9kdWxlcykge1xuICAgICAgICAgIGZpbmFsT3B0aW9ucy5tb2R1bGVzID1cbiAgICAgICAgICAgIChiYXNlT3B0aW9ucy5tb2R1bGVzIHx8IFtdKS5jb25jYXQob3B0aW9ucy5tb2R1bGVzKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBtZXJnZSBjdXN0b20gZGlyZWN0aXZlc1xuICAgICAgICBpZiAob3B0aW9ucy5kaXJlY3RpdmVzKSB7XG4gICAgICAgICAgZmluYWxPcHRpb25zLmRpcmVjdGl2ZXMgPSBleHRlbmQoXG4gICAgICAgICAgICBPYmplY3QuY3JlYXRlKGJhc2VPcHRpb25zLmRpcmVjdGl2ZXMgfHwgbnVsbCksXG4gICAgICAgICAgICBvcHRpb25zLmRpcmVjdGl2ZXNcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvcHkgb3RoZXIgb3B0aW9uc1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucykge1xuICAgICAgICAgIGlmIChrZXkgIT09ICdtb2R1bGVzJyAmJiBrZXkgIT09ICdkaXJlY3RpdmVzJykge1xuICAgICAgICAgICAgZmluYWxPcHRpb25zW2tleV0gPSBvcHRpb25zW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZpbmFsT3B0aW9ucy53YXJuID0gd2FybjtcblxuICAgICAgdmFyIGNvbXBpbGVkID0gYmFzZUNvbXBpbGUodGVtcGxhdGUudHJpbSgpLCBmaW5hbE9wdGlvbnMpO1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGV0ZWN0RXJyb3JzKGNvbXBpbGVkLmFzdCwgd2Fybik7XG4gICAgICB9XG4gICAgICBjb21waWxlZC5lcnJvcnMgPSBlcnJvcnM7XG4gICAgICBjb21waWxlZC50aXBzID0gdGlwcztcbiAgICAgIHJldHVybiBjb21waWxlZFxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb21waWxlOiBjb21waWxlLFxuICAgICAgY29tcGlsZVRvRnVuY3Rpb25zOiBjcmVhdGVDb21waWxlVG9GdW5jdGlvbkZuKGNvbXBpbGUpXG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG4vLyBgY3JlYXRlQ29tcGlsZXJDcmVhdG9yYCBhbGxvd3MgY3JlYXRpbmcgY29tcGlsZXJzIHRoYXQgdXNlIGFsdGVybmF0aXZlXG4vLyBwYXJzZXIvb3B0aW1pemVyL2NvZGVnZW4sIGUuZyB0aGUgU1NSIG9wdGltaXppbmcgY29tcGlsZXIuXG4vLyBIZXJlIHdlIGp1c3QgZXhwb3J0IGEgZGVmYXVsdCBjb21waWxlciB1c2luZyB0aGUgZGVmYXVsdCBwYXJ0cy5cbnZhciBjcmVhdGVDb21waWxlciA9IGNyZWF0ZUNvbXBpbGVyQ3JlYXRvcihmdW5jdGlvbiBiYXNlQ29tcGlsZSAoXG4gIHRlbXBsYXRlLFxuICBvcHRpb25zXG4pIHtcbiAgdmFyIGFzdCA9IHBhcnNlKHRlbXBsYXRlLnRyaW0oKSwgb3B0aW9ucyk7XG4gIGlmIChvcHRpb25zLm9wdGltaXplICE9PSBmYWxzZSkge1xuICAgIG9wdGltaXplKGFzdCwgb3B0aW9ucyk7XG4gIH1cbiAgdmFyIGNvZGUgPSBnZW5lcmF0ZShhc3QsIG9wdGlvbnMpO1xuICByZXR1cm4ge1xuICAgIGFzdDogYXN0LFxuICAgIHJlbmRlcjogY29kZS5yZW5kZXIsXG4gICAgc3RhdGljUmVuZGVyRm5zOiBjb2RlLnN0YXRpY1JlbmRlckZuc1xuICB9XG59KTtcblxuLyogICovXG5cbnZhciByZWYkMSA9IGNyZWF0ZUNvbXBpbGVyKGJhc2VPcHRpb25zKTtcbnZhciBjb21waWxlID0gcmVmJDEuY29tcGlsZTtcbnZhciBjb21waWxlVG9GdW5jdGlvbnMgPSByZWYkMS5jb21waWxlVG9GdW5jdGlvbnM7XG5cbi8qICAqL1xuXG4vLyBjaGVjayB3aGV0aGVyIGN1cnJlbnQgYnJvd3NlciBlbmNvZGVzIGEgY2hhciBpbnNpZGUgYXR0cmlidXRlIHZhbHVlc1xudmFyIGRpdjtcbmZ1bmN0aW9uIGdldFNob3VsZERlY29kZSAoaHJlZikge1xuICBkaXYgPSBkaXYgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGRpdi5pbm5lckhUTUwgPSBocmVmID8gXCI8YSBocmVmPVxcXCJcXG5cXFwiLz5cIiA6IFwiPGRpdiBhPVxcXCJcXG5cXFwiLz5cIjtcbiAgcmV0dXJuIGRpdi5pbm5lckhUTUwuaW5kZXhPZignJiMxMDsnKSA+IDBcbn1cblxuLy8gIzM2NjM6IElFIGVuY29kZXMgbmV3bGluZXMgaW5zaWRlIGF0dHJpYnV0ZSB2YWx1ZXMgd2hpbGUgb3RoZXIgYnJvd3NlcnMgZG9uJ3RcbnZhciBzaG91bGREZWNvZGVOZXdsaW5lcyA9IGluQnJvd3NlciA/IGdldFNob3VsZERlY29kZShmYWxzZSkgOiBmYWxzZTtcbi8vICM2ODI4OiBjaHJvbWUgZW5jb2RlcyBjb250ZW50IGluIGFbaHJlZl1cbnZhciBzaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWYgPSBpbkJyb3dzZXIgPyBnZXRTaG91bGREZWNvZGUodHJ1ZSkgOiBmYWxzZTtcblxuLyogICovXG5cbnZhciBpZFRvVGVtcGxhdGUgPSBjYWNoZWQoZnVuY3Rpb24gKGlkKSB7XG4gIHZhciBlbCA9IHF1ZXJ5KGlkKTtcbiAgcmV0dXJuIGVsICYmIGVsLmlubmVySFRNTFxufSk7XG5cbnZhciBtb3VudCA9IFZ1ZS5wcm90b3R5cGUuJG1vdW50O1xuVnVlLnByb3RvdHlwZS4kbW91bnQgPSBmdW5jdGlvbiAoXG4gIGVsLFxuICBoeWRyYXRpbmdcbikge1xuICBlbCA9IGVsICYmIHF1ZXJ5KGVsKTtcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGVsID09PSBkb2N1bWVudC5ib2R5IHx8IGVsID09PSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICBcIkRvIG5vdCBtb3VudCBWdWUgdG8gPGh0bWw+IG9yIDxib2R5PiAtIG1vdW50IHRvIG5vcm1hbCBlbGVtZW50cyBpbnN0ZWFkLlwiXG4gICAgKTtcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgdmFyIG9wdGlvbnMgPSB0aGlzLiRvcHRpb25zO1xuICAvLyByZXNvbHZlIHRlbXBsYXRlL2VsIGFuZCBjb252ZXJ0IHRvIHJlbmRlciBmdW5jdGlvblxuICBpZiAoIW9wdGlvbnMucmVuZGVyKSB7XG4gICAgdmFyIHRlbXBsYXRlID0gb3B0aW9ucy50ZW1wbGF0ZTtcbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIGlmICh0eXBlb2YgdGVtcGxhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICh0ZW1wbGF0ZS5jaGFyQXQoMCkgPT09ICcjJykge1xuICAgICAgICAgIHRlbXBsYXRlID0gaWRUb1RlbXBsYXRlKHRlbXBsYXRlKTtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhdGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAgIChcIlRlbXBsYXRlIGVsZW1lbnQgbm90IGZvdW5kIG9yIGlzIGVtcHR5OiBcIiArIChvcHRpb25zLnRlbXBsYXRlKSksXG4gICAgICAgICAgICAgIHRoaXNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRlbXBsYXRlLm5vZGVUeXBlKSB7XG4gICAgICAgIHRlbXBsYXRlID0gdGVtcGxhdGUuaW5uZXJIVE1MO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICB3YXJuKCdpbnZhbGlkIHRlbXBsYXRlIG9wdGlvbjonICsgdGVtcGxhdGUsIHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbCkge1xuICAgICAgdGVtcGxhdGUgPSBnZXRPdXRlckhUTUwoZWwpO1xuICAgIH1cbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAgICAgbWFyaygnY29tcGlsZScpO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVmID0gY29tcGlsZVRvRnVuY3Rpb25zKHRlbXBsYXRlLCB7XG4gICAgICAgIG91dHB1dFNvdXJjZVJhbmdlOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBzaG91bGREZWNvZGVOZXdsaW5lczogc2hvdWxkRGVjb2RlTmV3bGluZXMsXG4gICAgICAgIHNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZjogc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmLFxuICAgICAgICBkZWxpbWl0ZXJzOiBvcHRpb25zLmRlbGltaXRlcnMsXG4gICAgICAgIGNvbW1lbnRzOiBvcHRpb25zLmNvbW1lbnRzXG4gICAgICB9LCB0aGlzKTtcbiAgICAgIHZhciByZW5kZXIgPSByZWYucmVuZGVyO1xuICAgICAgdmFyIHN0YXRpY1JlbmRlckZucyA9IHJlZi5zdGF0aWNSZW5kZXJGbnM7XG4gICAgICBvcHRpb25zLnJlbmRlciA9IHJlbmRlcjtcbiAgICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICAgIG1hcmsoJ2NvbXBpbGUgZW5kJyk7XG4gICAgICAgIG1lYXN1cmUoKFwidnVlIFwiICsgKHRoaXMuX25hbWUpICsgXCIgY29tcGlsZVwiKSwgJ2NvbXBpbGUnLCAnY29tcGlsZSBlbmQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1vdW50LmNhbGwodGhpcywgZWwsIGh5ZHJhdGluZylcbn07XG5cbi8qKlxuICogR2V0IG91dGVySFRNTCBvZiBlbGVtZW50cywgdGFraW5nIGNhcmVcbiAqIG9mIFNWRyBlbGVtZW50cyBpbiBJRSBhcyB3ZWxsLlxuICovXG5mdW5jdGlvbiBnZXRPdXRlckhUTUwgKGVsKSB7XG4gIGlmIChlbC5vdXRlckhUTUwpIHtcbiAgICByZXR1cm4gZWwub3V0ZXJIVE1MXG4gIH0gZWxzZSB7XG4gICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChlbC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgIHJldHVybiBjb250YWluZXIuaW5uZXJIVE1MXG4gIH1cbn1cblxuVnVlLmNvbXBpbGUgPSBjb21waWxlVG9GdW5jdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IFZ1ZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3Z1ZS9kaXN0L3Z1ZS5lc20uanNcbi8vIG1vZHVsZSBpZCA9IDUwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///50\n"); + +/***/ }), +/* 51 */ +/***/ (function(module, exports) { + +eval("// 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\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzPzViNjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixzQkFBc0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBOztBQUVBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsVUFBVSIsImZpbGUiOiI1MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHNoaW0gZm9yIHVzaW5nIHByb2Nlc3MgaW4gYnJvd3NlclxudmFyIHByb2Nlc3MgPSBtb2R1bGUuZXhwb3J0cyA9IHt9O1xuXG4vLyBjYWNoZWQgZnJvbSB3aGF0ZXZlciBnbG9iYWwgaXMgcHJlc2VudCBzbyB0aGF0IHRlc3QgcnVubmVycyB0aGF0IHN0dWIgaXRcbi8vIGRvbid0IGJyZWFrIHRoaW5ncy4gIEJ1dCB3ZSBuZWVkIHRvIHdyYXAgaXQgaW4gYSB0cnkgY2F0Y2ggaW4gY2FzZSBpdCBpc1xuLy8gd3JhcHBlZCBpbiBzdHJpY3QgbW9kZSBjb2RlIHdoaWNoIGRvZXNuJ3QgZGVmaW5lIGFueSBnbG9iYWxzLiAgSXQncyBpbnNpZGUgYVxuLy8gZnVuY3Rpb24gYmVjYXVzZSB0cnkvY2F0Y2hlcyBkZW9wdGltaXplIGluIGNlcnRhaW4gZW5naW5lcy5cblxudmFyIGNhY2hlZFNldFRpbWVvdXQ7XG52YXIgY2FjaGVkQ2xlYXJUaW1lb3V0O1xuXG5mdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCkge1xuICAgIHRocm93IG5ldyBFcnJvcignc2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCcpO1xufVxuZnVuY3Rpb24gZGVmYXVsdENsZWFyVGltZW91dCAoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbihmdW5jdGlvbiAoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgfVxufSAoKSlcbmZ1bmN0aW9uIHJ1blRpbWVvdXQoZnVuKSB7XG4gICAgaWYgKGNhY2hlZFNldFRpbWVvdXQgPT09IHNldFRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIC8vIGlmIHNldFRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRTZXRUaW1lb3V0ID09PSBkZWZhdWx0U2V0VGltb3V0IHx8ICFjYWNoZWRTZXRUaW1lb3V0KSAmJiBzZXRUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfSBjYXRjaChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLCBmdW4sIDApO1xuICAgICAgICB9IGNhdGNoKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3JcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwodGhpcywgZnVuLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQobWFya2VyKSB7XG4gICAgaWYgKGNhY2hlZENsZWFyVGltZW91dCA9PT0gY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIC8vIGlmIGNsZWFyVGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZENsZWFyVGltZW91dCA9PT0gZGVmYXVsdENsZWFyVGltZW91dCB8fCAhY2FjaGVkQ2xlYXJUaW1lb3V0KSAmJiBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0ICB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKG51bGwsIG1hcmtlcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3IuXG4gICAgICAgICAgICAvLyBTb21lIHZlcnNpb25zIG9mIEkuRS4gaGF2ZSBkaWZmZXJlbnQgcnVsZXMgZm9yIGNsZWFyVGltZW91dCB2cyBzZXRUaW1lb3V0XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwodGhpcywgbWFya2VyKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbn1cbnZhciBxdWV1ZSA9IFtdO1xudmFyIGRyYWluaW5nID0gZmFsc2U7XG52YXIgY3VycmVudFF1ZXVlO1xudmFyIHF1ZXVlSW5kZXggPSAtMTtcblxuZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCkge1xuICAgIGlmICghZHJhaW5pbmcgfHwgIWN1cnJlbnRRdWV1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgaWYgKGN1cnJlbnRRdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgcXVldWUgPSBjdXJyZW50UXVldWUuY29uY2F0KHF1ZXVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgfVxuICAgIGlmIChxdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgZHJhaW5RdWV1ZSgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZHJhaW5RdWV1ZSgpIHtcbiAgICBpZiAoZHJhaW5pbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgdGltZW91dCA9IHJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtcbiAgICBkcmFpbmluZyA9IHRydWU7XG5cbiAgICB2YXIgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIHdoaWxlKGxlbikge1xuICAgICAgICBjdXJyZW50UXVldWUgPSBxdWV1ZTtcbiAgICAgICAgcXVldWUgPSBbXTtcbiAgICAgICAgd2hpbGUgKCsrcXVldWVJbmRleCA8IGxlbikge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRRdWV1ZSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgICAgIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB9XG4gICAgY3VycmVudFF1ZXVlID0gbnVsbDtcbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIHJ1bkNsZWFyVGltZW91dCh0aW1lb3V0KTtcbn1cblxucHJvY2Vzcy5uZXh0VGljayA9IGZ1bmN0aW9uIChmdW4pIHtcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBxdWV1ZS5wdXNoKG5ldyBJdGVtKGZ1biwgYXJncykpO1xuICAgIGlmIChxdWV1ZS5sZW5ndGggPT09IDEgJiYgIWRyYWluaW5nKSB7XG4gICAgICAgIHJ1blRpbWVvdXQoZHJhaW5RdWV1ZSk7XG4gICAgfVxufTtcblxuLy8gdjggbGlrZXMgcHJlZGljdGlibGUgb2JqZWN0c1xuZnVuY3Rpb24gSXRlbShmdW4sIGFycmF5KSB7XG4gICAgdGhpcy5mdW4gPSBmdW47XG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xufVxuSXRlbS5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZnVuLmFwcGx5KG51bGwsIHRoaXMuYXJyYXkpO1xufTtcbnByb2Nlc3MudGl0bGUgPSAnYnJvd3Nlcic7XG5wcm9jZXNzLmJyb3dzZXIgPSB0cnVlO1xucHJvY2Vzcy5lbnYgPSB7fTtcbnByb2Nlc3MuYXJndiA9IFtdO1xucHJvY2Vzcy52ZXJzaW9uID0gJyc7IC8vIGVtcHR5IHN0cmluZyB0byBhdm9pZCByZWdleHAgaXNzdWVzXG5wcm9jZXNzLnZlcnNpb25zID0ge307XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5wcm9jZXNzLm9uID0gbm9vcDtcbnByb2Nlc3MuYWRkTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5vbmNlID0gbm9vcDtcbnByb2Nlc3Mub2ZmID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnMgPSBub29wO1xucHJvY2Vzcy5lbWl0ID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZE9uY2VMaXN0ZW5lciA9IG5vb3A7XG5cbnByb2Nlc3MubGlzdGVuZXJzID0gZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIFtdIH1cblxucHJvY2Vzcy5iaW5kaW5nID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkJyk7XG59O1xuXG5wcm9jZXNzLmN3ZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcvJyB9O1xucHJvY2Vzcy5jaGRpciA9IGZ1bmN0aW9uIChkaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcbnByb2Nlc3MudW1hc2sgPSBmdW5jdGlvbigpIHsgcmV0dXJuIDA7IH07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcbi8vIG1vZHVsZSBpZCA9IDUxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///51\n"); + +/***/ }), +/* 52 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export cloneDeep */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object__ = __webpack_require__(8);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\n\n\nvar cloneDeep = function cloneDeep(obj) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : obj;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_0__inspect__[\"a\" /* isArray */])(obj)) {\n return obj.reduce(function (result, val) {\n return [].concat(_toConsumableArray(result), [cloneDeep(val, val)]);\n }, []);\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_0__inspect__[\"j\" /* isPlainObject */])(obj)) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__object__[\"j\" /* keys */])(obj).reduce(function (result, key) {\n return _objectSpread({}, result, _defineProperty({}, key, cloneDeep(obj[key], obj[key])));\n }, {});\n }\n\n return defaultValue;\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (cloneDeep);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvY2xvbmUtZGVlcC5qcz9iY2Y1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sa0NBQWtDLGlGQUFpRjs7QUFFbkgsK0JBQStCLHdFQUF3RTs7QUFFdkcsaUNBQWlDLCtIQUErSDs7QUFFaEssa0NBQWtDLDBCQUEwQiw4Q0FBOEMsZ0JBQWdCLE9BQU8sa0JBQWtCLEVBQUUsYUFBYSxFQUFFOztBQUVqSDtBQUNuQjtBQUN6QjtBQUNQOztBQUVBLE1BQU0saUVBQU87QUFDYjtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBLE1BQU0sdUVBQWE7QUFDbkIsV0FBVyw2REFBSTtBQUNmLDZCQUE2Qiw0QkFBNEI7QUFDekQsS0FBSyxJQUFJO0FBQ1Q7O0FBRUE7QUFDQTtBQUNlLGtFQUFTIiwiZmlsZSI6IjUyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikgeyByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlXCIpOyB9XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikgeyBpZiAoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChpdGVyKSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaXRlcikgPT09IFwiW29iamVjdCBBcmd1bWVudHNdXCIpIHJldHVybiBBcnJheS5mcm9tKGl0ZXIpOyB9XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHsgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgeyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShhcnIubGVuZ3RoKTsgaSA8IGFyci5sZW5ndGg7IGkrKykgeyBhcnIyW2ldID0gYXJyW2ldOyB9IHJldHVybiBhcnIyOyB9IH1cblxuaW1wb3J0IHsgaXNBcnJheSwgaXNQbGFpbk9iamVjdCB9IGZyb20gJy4vaW5zcGVjdCc7XG5pbXBvcnQgeyBrZXlzIH0gZnJvbSAnLi9vYmplY3QnO1xuZXhwb3J0IHZhciBjbG9uZURlZXAgPSBmdW5jdGlvbiBjbG9uZURlZXAob2JqKSB7XG4gIHZhciBkZWZhdWx0VmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IG9iajtcblxuICBpZiAoaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5yZWR1Y2UoZnVuY3Rpb24gKHJlc3VsdCwgdmFsKSB7XG4gICAgICByZXR1cm4gW10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShyZXN1bHQpLCBbY2xvbmVEZWVwKHZhbCwgdmFsKV0pO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIGlmIChpc1BsYWluT2JqZWN0KG9iaikpIHtcbiAgICByZXR1cm4ga2V5cyhvYmopLnJlZHVjZShmdW5jdGlvbiAocmVzdWx0LCBrZXkpIHtcbiAgICAgIHJldHVybiBfb2JqZWN0U3ByZWFkKHt9LCByZXN1bHQsIF9kZWZpbmVQcm9wZXJ0eSh7fSwga2V5LCBjbG9uZURlZXAob2JqW2tleV0sIG9ialtrZXldKSkpO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0VmFsdWU7XG59O1xuZXhwb3J0IGRlZmF1bHQgY2xvbmVEZWVwO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL2Nsb25lLWRlZXAuanNcbi8vIG1vZHVsZSBpZCA9IDUyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///52\n"); + +/***/ }), +/* 53 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__object__ = __webpack_require__(8);\n\n\nvar memoize = function memoize(fn) {\n var cache = Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"b\" /* create */])(null);\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsKey = JSON.stringify(args);\n return cache[argsKey] = cache[argsKey] || fn.apply(null, args);\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (memoize);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvbWVtb2l6ZS5qcz9mMTBlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQWtDOztBQUVsQztBQUNBLGNBQWMsK0RBQU07QUFDcEI7QUFDQSx1RUFBdUUsYUFBYTtBQUNwRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVlLGdFQUFPIiwiZmlsZSI6IjUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnLi9vYmplY3QnO1xuXG52YXIgbWVtb2l6ZSA9IGZ1bmN0aW9uIG1lbW9pemUoZm4pIHtcbiAgdmFyIGNhY2hlID0gY3JlYXRlKG51bGwpO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICB2YXIgYXJnc0tleSA9IEpTT04uc3RyaW5naWZ5KGFyZ3MpO1xuICAgIHJldHVybiBjYWNoZVthcmdzS2V5XSA9IGNhY2hlW2FyZ3NLZXldIHx8IGZuLmFwcGx5KG51bGwsIGFyZ3MpO1xuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgbWVtb2l6ZTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy9tZW1vaXplLmpzXG4vLyBtb2R1bGUgaWQgPSA1M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///53\n"); + +/***/ }), +/* 54 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BBreadcrumbItem; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__breadcrumb_link__ = __webpack_require__(108);\n\n\n // @vue/component\n\nvar BBreadcrumbItem =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BBreadcrumbItem',\n functional: true,\n props: __WEBPACK_IMPORTED_MODULE_2__breadcrumb_link__[\"b\" /* props */],\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('li', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'breadcrumb-item',\n class: {\n active: props.active\n }\n }), [h(__WEBPACK_IMPORTED_MODULE_2__breadcrumb_link__[\"a\" /* BBreadcrumbLink */], {\n props: props\n }, children)]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbS5qcz9mY2ViIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDO0FBQ29CO0FBQ0s7O0FBRXBEO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQSxTQUFTLCtEQUFLO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsb0ZBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLE1BQU0seUVBQWU7QUFDMUI7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgeyBCQnJlYWRjcnVtYkxpbmssIHByb3BzIH0gZnJvbSAnLi9icmVhZGNydW1iLWxpbmsnOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJCcmVhZGNydW1iSXRlbSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JCcmVhZGNydW1iSXRlbScsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICByZXR1cm4gaCgnbGknLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgc3RhdGljQ2xhc3M6ICdicmVhZGNydW1iLWl0ZW0nLFxuICAgICAgY2xhc3M6IHtcbiAgICAgICAgYWN0aXZlOiBwcm9wcy5hY3RpdmVcbiAgICAgIH1cbiAgICB9KSwgW2goQkJyZWFkY3J1bWJMaW5rLCB7XG4gICAgICBwcm9wczogcHJvcHNcbiAgICB9LCBjaGlsZHJlbildKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbS5qc1xuLy8gbW9kdWxlIGlkID0gNTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///54\n"); + +/***/ }), +/* 55 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__inspect__ = __webpack_require__(1);\n\n/**\n * Transform the first character to uppercase\n * @param {string} str\n */\n\nvar upperFirst = function upperFirst(str) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__inspect__[\"m\" /* isString */])(str)) {\n str = String(str);\n }\n\n str = str.trim();\n return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (upperFirst);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvdXBwZXItZmlyc3QuanM/ZjQwOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFxQztBQUNyQztBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCOztBQUVBO0FBQ0EsT0FBTyxrRUFBUTtBQUNmO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVlLG1FQUFVIiwiZmlsZSI6IjU1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuL2luc3BlY3QnO1xuLyoqXG4gKiBUcmFuc2Zvcm0gdGhlIGZpcnN0IGNoYXJhY3RlciB0byB1cHBlcmNhc2VcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJcbiAqL1xuXG52YXIgdXBwZXJGaXJzdCA9IGZ1bmN0aW9uIHVwcGVyRmlyc3Qoc3RyKSB7XG4gIGlmICghaXNTdHJpbmcoc3RyKSkge1xuICAgIHN0ciA9IFN0cmluZyhzdHIpO1xuICB9XG5cbiAgc3RyID0gc3RyLnRyaW0oKTtcbiAgcmV0dXJuIHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHVwcGVyRmlyc3Q7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvdXBwZXItZmlyc3QuanNcbi8vIG1vZHVsZSBpZCA9IDU1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///55\n"); + +/***/ }), +/* 56 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCardBody; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_prefix_prop_name__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_copy_props__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_pluck_props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_card__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__card_title__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__card_sub_title__ = __webpack_require__(58);\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\nvar props = _objectSpread({}, Object(__WEBPACK_IMPORTED_MODULE_3__utils_copy_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_5__mixins_card__[\"a\" /* default */].props, __WEBPACK_IMPORTED_MODULE_2__utils_prefix_prop_name__[\"a\" /* default */].bind(null, 'body')), {\n bodyClass: {\n type: [String, Object, Array],\n default: null\n }\n}, __WEBPACK_IMPORTED_MODULE_6__card_title__[\"b\" /* props */], {}, __WEBPACK_IMPORTED_MODULE_7__card_sub_title__[\"b\" /* props */], {\n overlay: {\n type: Boolean,\n default: false\n }\n}); // @vue/component\n\nvar BCardBody =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCardBody',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var cardTitle = h();\n var cardSubTitle = h();\n var cardContent = children || [h()];\n\n if (props.title) {\n cardTitle = h(__WEBPACK_IMPORTED_MODULE_6__card_title__[\"a\" /* BCardTitle */], {\n props: Object(__WEBPACK_IMPORTED_MODULE_4__utils_pluck_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_6__card_title__[\"b\" /* props */], props)\n });\n }\n\n if (props.subTitle) {\n cardSubTitle = h(__WEBPACK_IMPORTED_MODULE_7__card_sub_title__[\"a\" /* BCardSubTitle */], {\n props: Object(__WEBPACK_IMPORTED_MODULE_4__utils_pluck_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_7__card_sub_title__[\"b\" /* props */], props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(props.bodyBgVariant), Boolean(props.bodyBgVariant)), _defineProperty(_ref2, \"border-\".concat(props.bodyBorderVariant), Boolean(props.bodyBorderVariant)), _defineProperty(_ref2, \"text-\".concat(props.bodyTextVariant), Boolean(props.bodyTextVariant)), _ref2), props.bodyClass || {}]\n }), [cardTitle, cardSubTitle].concat(_toConsumableArray(cardContent)));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtYm9keS5qcz9iMDBhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0NBQWtDLGlGQUFpRjs7QUFFbkgsK0JBQStCLHdFQUF3RTs7QUFFdkcsaUNBQWlDLCtIQUErSDs7QUFFaEssa0NBQWtDLDBCQUEwQiw4Q0FBOEMsZ0JBQWdCLE9BQU8sa0JBQWtCLEVBQUUsYUFBYSxFQUFFOztBQUVwSywwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ0k7QUFDWDtBQUNFO0FBQ1A7QUFDcUI7QUFDVTtBQUNsRSw0QkFBNEIsRUFBRSwwRUFBUyxDQUFDLDZEQUFTLFFBQVEsd0VBQWM7QUFDOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUUsMERBQVUsSUFBSSxFQUFFLDhEQUFhO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFOztBQUVJO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLCtEQUFVO0FBQzlCLGVBQWUsMkVBQVUsQ0FBQywwREFBVTtBQUNwQyxPQUFPO0FBQ1A7O0FBRUE7QUFDQSx1QkFBdUIsc0VBQWE7QUFDcEMsZUFBZSwyRUFBVSxDQUFDLDhEQUFhO0FBQ3ZDO0FBQ0EsT0FBTztBQUNQOztBQUVBLDRCQUE0QixvRkFBUztBQUNyQztBQUNBO0FBQ0E7QUFDQSxPQUFPLDRUQUE0VDtBQUNuVSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjU2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikgeyByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlXCIpOyB9XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikgeyBpZiAoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChpdGVyKSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaXRlcikgPT09IFwiW29iamVjdCBBcmd1bWVudHNdXCIpIHJldHVybiBBcnJheS5mcm9tKGl0ZXIpOyB9XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHsgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgeyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShhcnIubGVuZ3RoKTsgaSA8IGFyci5sZW5ndGg7IGkrKykgeyBhcnIyW2ldID0gYXJyW2ldOyB9IHJldHVybiBhcnIyOyB9IH1cblxuZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgcHJlZml4UHJvcE5hbWUgZnJvbSAnLi4vLi4vdXRpbHMvcHJlZml4LXByb3AtbmFtZSc7XG5pbXBvcnQgY29weVByb3BzIGZyb20gJy4uLy4uL3V0aWxzL2NvcHktcHJvcHMnO1xuaW1wb3J0IHBsdWNrUHJvcHMgZnJvbSAnLi4vLi4vdXRpbHMvcGx1Y2stcHJvcHMnO1xuaW1wb3J0IGNhcmRNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvY2FyZCc7XG5pbXBvcnQgeyBCQ2FyZFRpdGxlLCBwcm9wcyBhcyB0aXRsZVByb3BzIH0gZnJvbSAnLi9jYXJkLXRpdGxlJztcbmltcG9ydCB7IEJDYXJkU3ViVGl0bGUsIHByb3BzIGFzIHN1YlRpdGxlUHJvcHMgfSBmcm9tICcuL2NhcmQtc3ViLXRpdGxlJztcbmV4cG9ydCB2YXIgcHJvcHMgPSBfb2JqZWN0U3ByZWFkKHt9LCBjb3B5UHJvcHMoY2FyZE1peGluLnByb3BzLCBwcmVmaXhQcm9wTmFtZS5iaW5kKG51bGwsICdib2R5JykpLCB7XG4gIGJvZHlDbGFzczoge1xuICAgIHR5cGU6IFtTdHJpbmcsIE9iamVjdCwgQXJyYXldLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfVxufSwgdGl0bGVQcm9wcywge30sIHN1YlRpdGxlUHJvcHMsIHtcbiAgb3ZlcmxheToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfVxufSk7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkNhcmRCb2R5ID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkNhcmRCb2R5JyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIF9yZWYyO1xuXG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHZhciBjYXJkVGl0bGUgPSBoKCk7XG4gICAgdmFyIGNhcmRTdWJUaXRsZSA9IGgoKTtcbiAgICB2YXIgY2FyZENvbnRlbnQgPSBjaGlsZHJlbiB8fCBbaCgpXTtcblxuICAgIGlmIChwcm9wcy50aXRsZSkge1xuICAgICAgY2FyZFRpdGxlID0gaChCQ2FyZFRpdGxlLCB7XG4gICAgICAgIHByb3BzOiBwbHVja1Byb3BzKHRpdGxlUHJvcHMsIHByb3BzKVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnN1YlRpdGxlKSB7XG4gICAgICBjYXJkU3ViVGl0bGUgPSBoKEJDYXJkU3ViVGl0bGUsIHtcbiAgICAgICAgcHJvcHM6IHBsdWNrUHJvcHMoc3ViVGl0bGVQcm9wcywgcHJvcHMpLFxuICAgICAgICBjbGFzczogWydtYi0yJ11cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBoKHByb3BzLmJvZHlUYWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ2NhcmQtYm9keScsXG4gICAgICBjbGFzczogWyhfcmVmMiA9IHtcbiAgICAgICAgJ2NhcmQtaW1nLW92ZXJsYXknOiBwcm9wcy5vdmVybGF5XG4gICAgICB9LCBfZGVmaW5lUHJvcGVydHkoX3JlZjIsIFwiYmctXCIuY29uY2F0KHByb3BzLmJvZHlCZ1ZhcmlhbnQpLCBCb29sZWFuKHByb3BzLmJvZHlCZ1ZhcmlhbnQpKSwgX2RlZmluZVByb3BlcnR5KF9yZWYyLCBcImJvcmRlci1cIi5jb25jYXQocHJvcHMuYm9keUJvcmRlclZhcmlhbnQpLCBCb29sZWFuKHByb3BzLmJvZHlCb3JkZXJWYXJpYW50KSksIF9kZWZpbmVQcm9wZXJ0eShfcmVmMiwgXCJ0ZXh0LVwiLmNvbmNhdChwcm9wcy5ib2R5VGV4dFZhcmlhbnQpLCBCb29sZWFuKHByb3BzLmJvZHlUZXh0VmFyaWFudCkpLCBfcmVmMiksIHByb3BzLmJvZHlDbGFzcyB8fCB7fV1cbiAgICB9KSwgW2NhcmRUaXRsZSwgY2FyZFN1YlRpdGxlXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGNhcmRDb250ZW50KSkpO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2NhcmQvY2FyZC1ib2R5LmpzXG4vLyBtb2R1bGUgaWQgPSA1NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///56\n"); + +/***/ }), +/* 57 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCardTitle; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n title: {\n type: String,\n default: ''\n },\n titleTag: {\n type: String,\n default: 'h4'\n }\n}; // @vue/component\n\nvar BCardTitle =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCardTitle',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'card-title'\n }), children || props.title);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtdGl0bGUuanM/ZWNlOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNvQjtBQUMvQztBQUNQO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsb0ZBQVM7QUFDdEM7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjU3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB0aXRsZToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnJ1xuICB9LFxuICB0aXRsZVRhZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnaDQnXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkNhcmRUaXRsZSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JDYXJkVGl0bGUnLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgcmV0dXJuIGgocHJvcHMudGl0bGVUYWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ2NhcmQtdGl0bGUnXG4gICAgfSksIGNoaWxkcmVuIHx8IHByb3BzLnRpdGxlKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtdGl0bGUuanNcbi8vIG1vZHVsZSBpZCA9IDU3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///57\n"); + +/***/ }), +/* 58 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCardSubTitle; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n\n\n\nvar NAME = 'BCardSubTitle';\nvar props = {\n subTitle: {\n type: String,\n default: ''\n },\n subTitleTag: {\n type: String,\n default: 'h6'\n },\n subTitleTextVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'subTitleTextVariant');\n }\n }\n}; // @vue/component\n\nvar BCardSubTitle =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.subTitleTag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || props.subTitle);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtc3ViLXRpdGxlLmpzP2E5ZDMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNvQjtBQUNFO0FBQ3hEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLG9GQUFTO0FBQ3pDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjU4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWcnO1xudmFyIE5BTUUgPSAnQkNhcmRTdWJUaXRsZSc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICBzdWJUaXRsZToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnJ1xuICB9LFxuICBzdWJUaXRsZVRhZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnaDYnXG4gIH0sXG4gIHN1YlRpdGxlVGV4dFZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdzdWJUaXRsZVRleHRWYXJpYW50Jyk7XG4gICAgfVxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJDYXJkU3ViVGl0bGUgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6IE5BTUUsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICByZXR1cm4gaChwcm9wcy5zdWJUaXRsZVRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnY2FyZC1zdWJ0aXRsZScsXG4gICAgICBjbGFzczogW3Byb3BzLnN1YlRpdGxlVGV4dFZhcmlhbnQgPyBcInRleHQtXCIuY29uY2F0KHByb3BzLnN1YlRpdGxlVGV4dFZhcmlhbnQpIDogbnVsbF1cbiAgICB9KSwgY2hpbGRyZW4gfHwgcHJvcHMuc3ViVGl0bGUpO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2NhcmQvY2FyZC1zdWItdGl0bGUuanNcbi8vIG1vZHVsZSBpZCA9IDU4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///58\n"); + +/***/ }), +/* 59 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCardHeader; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_prefix_prop_name__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_copy_props__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_card__ = __webpack_require__(37);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\nvar props = _objectSpread({}, Object(__WEBPACK_IMPORTED_MODULE_3__utils_copy_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_5__mixins_card__[\"a\" /* default */].props, __WEBPACK_IMPORTED_MODULE_2__utils_prefix_prop_name__[\"a\" /* default */].bind(null, 'header')), {\n header: {\n type: String,\n default: null\n },\n headerHtml: {\n type: String,\n default: null\n },\n headerClass: {\n type: [String, Object, Array],\n default: null\n }\n}); // @vue/component\n\nvar BCardHeader =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCardHeader',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.headerTag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'card-header',\n class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(props.headerBgVariant), Boolean(props.headerBgVariant)), _defineProperty(_ref2, \"border-\".concat(props.headerBorderVariant), Boolean(props.headerBorderVariant)), _defineProperty(_ref2, \"text-\".concat(props.headerTextVariant), Boolean(props.headerTextVariant)), _ref2)]\n }), children || [h('div', {\n domProps: Object(__WEBPACK_IMPORTED_MODULE_4__utils_html__[\"a\" /* htmlOrText */])(props.headerHtml, props.header)\n })]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtaGVhZGVyLmpzPzdiYTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7QUFDSTtBQUNYO0FBQ0Q7QUFDSjtBQUNuQyw0QkFBNEIsRUFBRSwwRUFBUyxDQUFDLDZEQUFTLFFBQVEsd0VBQWM7QUFDOUU7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBRTs7QUFFSTtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixvRkFBUztBQUN2QztBQUNBLDRDQUE0QztBQUM1QyxLQUFLO0FBQ0wsZ0JBQWdCLHVFQUFVO0FBQzFCLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiNTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCBwcmVmaXhQcm9wTmFtZSBmcm9tICcuLi8uLi91dGlscy9wcmVmaXgtcHJvcC1uYW1lJztcbmltcG9ydCBjb3B5UHJvcHMgZnJvbSAnLi4vLi4vdXRpbHMvY29weS1wcm9wcyc7XG5pbXBvcnQgeyBodG1sT3JUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvaHRtbCc7XG5pbXBvcnQgY2FyZE1peGluIGZyb20gJy4uLy4uL21peGlucy9jYXJkJztcbmV4cG9ydCB2YXIgcHJvcHMgPSBfb2JqZWN0U3ByZWFkKHt9LCBjb3B5UHJvcHMoY2FyZE1peGluLnByb3BzLCBwcmVmaXhQcm9wTmFtZS5iaW5kKG51bGwsICdoZWFkZXInKSksIHtcbiAgaGVhZGVyOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgaGVhZGVySHRtbDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGhlYWRlckNsYXNzOiB7XG4gICAgdHlwZTogW1N0cmluZywgT2JqZWN0LCBBcnJheV0sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9XG59KTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCQ2FyZEhlYWRlciA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JDYXJkSGVhZGVyJyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIF9yZWYyO1xuXG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHJldHVybiBoKHByb3BzLmhlYWRlclRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnY2FyZC1oZWFkZXInLFxuICAgICAgY2xhc3M6IFtwcm9wcy5oZWFkZXJDbGFzcywgKF9yZWYyID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfcmVmMiwgXCJiZy1cIi5jb25jYXQocHJvcHMuaGVhZGVyQmdWYXJpYW50KSwgQm9vbGVhbihwcm9wcy5oZWFkZXJCZ1ZhcmlhbnQpKSwgX2RlZmluZVByb3BlcnR5KF9yZWYyLCBcImJvcmRlci1cIi5jb25jYXQocHJvcHMuaGVhZGVyQm9yZGVyVmFyaWFudCksIEJvb2xlYW4ocHJvcHMuaGVhZGVyQm9yZGVyVmFyaWFudCkpLCBfZGVmaW5lUHJvcGVydHkoX3JlZjIsIFwidGV4dC1cIi5jb25jYXQocHJvcHMuaGVhZGVyVGV4dFZhcmlhbnQpLCBCb29sZWFuKHByb3BzLmhlYWRlclRleHRWYXJpYW50KSksIF9yZWYyKV1cbiAgICB9KSwgY2hpbGRyZW4gfHwgW2goJ2RpdicsIHtcbiAgICAgIGRvbVByb3BzOiBodG1sT3JUZXh0KHByb3BzLmhlYWRlckh0bWwsIHByb3BzLmhlYWRlcilcbiAgICB9KV0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2NhcmQvY2FyZC1oZWFkZXIuanNcbi8vIG1vZHVsZSBpZCA9IDU5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///59\n"); + +/***/ }), +/* 60 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCardFooter; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_prefix_prop_name__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_copy_props__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_card__ = __webpack_require__(37);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\nvar props = _objectSpread({}, Object(__WEBPACK_IMPORTED_MODULE_3__utils_copy_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_5__mixins_card__[\"a\" /* default */].props, __WEBPACK_IMPORTED_MODULE_2__utils_prefix_prop_name__[\"a\" /* default */].bind(null, 'footer')), {\n footer: {\n type: String,\n default: null\n },\n footerHtml: {\n type: String,\n default: null\n },\n footerClass: {\n type: [String, Object, Array],\n default: null\n }\n}); // @vue/component\n\nvar BCardFooter =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCardFooter',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.footerTag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(props.footerBgVariant), Boolean(props.footerBgVariant)), _defineProperty(_ref2, \"border-\".concat(props.footerBorderVariant), Boolean(props.footerBorderVariant)), _defineProperty(_ref2, \"text-\".concat(props.footerTextVariant), Boolean(props.footerTextVariant)), _ref2)]\n }), children || [h('div', {\n domProps: Object(__WEBPACK_IMPORTED_MODULE_4__utils_html__[\"a\" /* htmlOrText */])(props.footerHtml, props.footer)\n })]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtZm9vdGVyLmpzPzc4YjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7QUFDSTtBQUNYO0FBQ0Q7QUFDSjtBQUNuQyw0QkFBNEIsRUFBRSwwRUFBUyxDQUFDLDZEQUFTLFFBQVEsd0VBQWM7QUFDOUU7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBRTs7QUFFSTtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixvRkFBUztBQUN2QztBQUNBLDRDQUE0QztBQUM1QyxLQUFLO0FBQ0wsZ0JBQWdCLHVFQUFVO0FBQzFCLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiNjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCBwcmVmaXhQcm9wTmFtZSBmcm9tICcuLi8uLi91dGlscy9wcmVmaXgtcHJvcC1uYW1lJztcbmltcG9ydCBjb3B5UHJvcHMgZnJvbSAnLi4vLi4vdXRpbHMvY29weS1wcm9wcyc7XG5pbXBvcnQgeyBodG1sT3JUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvaHRtbCc7XG5pbXBvcnQgY2FyZE1peGluIGZyb20gJy4uLy4uL21peGlucy9jYXJkJztcbmV4cG9ydCB2YXIgcHJvcHMgPSBfb2JqZWN0U3ByZWFkKHt9LCBjb3B5UHJvcHMoY2FyZE1peGluLnByb3BzLCBwcmVmaXhQcm9wTmFtZS5iaW5kKG51bGwsICdmb290ZXInKSksIHtcbiAgZm9vdGVyOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgZm9vdGVySHRtbDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGZvb3RlckNsYXNzOiB7XG4gICAgdHlwZTogW1N0cmluZywgT2JqZWN0LCBBcnJheV0sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9XG59KTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCQ2FyZEZvb3RlciA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JDYXJkRm9vdGVyJyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIF9yZWYyO1xuXG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHJldHVybiBoKHByb3BzLmZvb3RlclRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnY2FyZC1mb290ZXInLFxuICAgICAgY2xhc3M6IFtwcm9wcy5mb290ZXJDbGFzcywgKF9yZWYyID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfcmVmMiwgXCJiZy1cIi5jb25jYXQocHJvcHMuZm9vdGVyQmdWYXJpYW50KSwgQm9vbGVhbihwcm9wcy5mb290ZXJCZ1ZhcmlhbnQpKSwgX2RlZmluZVByb3BlcnR5KF9yZWYyLCBcImJvcmRlci1cIi5jb25jYXQocHJvcHMuZm9vdGVyQm9yZGVyVmFyaWFudCksIEJvb2xlYW4ocHJvcHMuZm9vdGVyQm9yZGVyVmFyaWFudCkpLCBfZGVmaW5lUHJvcGVydHkoX3JlZjIsIFwidGV4dC1cIi5jb25jYXQocHJvcHMuZm9vdGVyVGV4dFZhcmlhbnQpLCBCb29sZWFuKHByb3BzLmZvb3RlclRleHRWYXJpYW50KSksIF9yZWYyKV1cbiAgICB9KSwgY2hpbGRyZW4gfHwgW2goJ2RpdicsIHtcbiAgICAgIGRvbVByb3BzOiBodG1sT3JUZXh0KHByb3BzLmZvb3Rlckh0bWwsIHByb3BzLmZvb3RlcilcbiAgICB9KV0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2NhcmQvY2FyZC1mb290ZXIuanNcbi8vIG1vZHVsZSBpZCA9IDYwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///60\n"); + +/***/ }), +/* 61 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCardImg; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n alt: {\n type: String,\n default: null\n },\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n start: {\n type: Boolean,\n default: false\n },\n left: {\n // alias of 'start'\n type: Boolean,\n default: false\n },\n end: {\n type: Boolean,\n default: false\n },\n right: {\n // alias of 'end'\n type: Boolean,\n default: false\n },\n height: {\n type: [Number, String],\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n }\n}; // @vue/component\n\nvar BCardImg =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCardImg',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: [baseClass],\n attrs: {\n src: props.src,\n alt: props.alt,\n height: props.height,\n width: props.width\n }\n }));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtaW1nLmpzPzdhNTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDb0I7QUFDL0M7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBLG9CQUFvQixvRkFBUztBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiNjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIHNyYzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsLFxuICAgIHJlcXVpcmVkOiB0cnVlXG4gIH0sXG4gIGFsdDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIHRvcDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgYm90dG9tOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBzdGFydDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgbGVmdDoge1xuICAgIC8vIGFsaWFzIG9mICdzdGFydCdcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGVuZDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgcmlnaHQ6IHtcbiAgICAvLyBhbGlhcyBvZiAnZW5kJ1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgaGVpZ2h0OiB7XG4gICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIHdpZHRoOiB7XG4gICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkNhcmRJbWcgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCQ2FyZEltZycsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGE7XG4gICAgdmFyIGJhc2VDbGFzcyA9ICdjYXJkLWltZyc7XG5cbiAgICBpZiAocHJvcHMudG9wKSB7XG4gICAgICBiYXNlQ2xhc3MgKz0gJy10b3AnO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucmlnaHQgfHwgcHJvcHMuZW5kKSB7XG4gICAgICBiYXNlQ2xhc3MgKz0gJy1yaWdodCc7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ib3R0b20pIHtcbiAgICAgIGJhc2VDbGFzcyArPSAnLWJvdHRvbSc7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5sZWZ0IHx8IHByb3BzLnN0YXJ0KSB7XG4gICAgICBiYXNlQ2xhc3MgKz0gJy1sZWZ0JztcbiAgICB9XG5cbiAgICByZXR1cm4gaCgnaW1nJywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIGNsYXNzOiBbYmFzZUNsYXNzXSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHNyYzogcHJvcHMuc3JjLFxuICAgICAgICBhbHQ6IHByb3BzLmFsdCxcbiAgICAgICAgaGVpZ2h0OiBwcm9wcy5oZWlnaHQsXG4gICAgICAgIHdpZHRoOiBwcm9wcy53aWR0aFxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtaW1nLmpzXG4vLyBtb2R1bGUgaWQgPSA2MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///61\n"); + +/***/ }), +/* 62 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BImgLazy; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__directives_visible__ = __webpack_require__(117);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__img__ = __webpack_require__(38);\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\n\n\n\n\n\nvar NAME = 'BImgLazy';\nvar props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n blankSrc: {\n // If null, a blank image is generated\n type: String,\n default: null\n },\n blankColor: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'blankColor');\n }\n },\n blankWidth: {\n type: [Number, String],\n default: null\n },\n blankHeight: {\n type: [Number, String],\n default: null\n },\n show: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n type: Boolean,\n default: false\n },\n block: {\n type: Boolean,\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n rounded: {\n type: [Boolean, String],\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n offset: {\n // Distance away from viewport (in pixels) before being\n // considered \"visible\"\n type: [Number, String],\n default: 360\n }\n}; // @vue/component\n\nvar BImgLazy =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n directives: {\n bVisible: __WEBPACK_IMPORTED_MODULE_3__directives_visible__[\"a\" /* VBVisible */]\n },\n props: props,\n data: function data() {\n return {\n isShown: this.show\n };\n },\n computed: {\n computedSrc: function computedSrc() {\n return !this.blankSrc || this.isShown ? this.src : this.blankSrc;\n },\n computedBlank: function computedBlank() {\n return !(this.isShown || this.blankSrc);\n },\n computedWidth: function computedWidth() {\n return this.isShown ? this.width : this.blankWidth || this.width;\n },\n computedHeight: function computedHeight() {\n return this.isShown ? this.height : this.blankHeight || this.height;\n }\n },\n watch: {\n show: function show(newVal, oldVal) {\n if (newVal !== oldVal) {\n // If IntersectionObserver support is not available, image is always shown\n var visible = __WEBPACK_IMPORTED_MODULE_2__utils_env__[\"c\" /* hasIntersectionObserverSupport */] ? newVal : true;\n this.isShown = visible;\n\n if (visible !== newVal) {\n // Ensure the show prop is synced (when no IntersectionObserver)\n this.$nextTick(this.updateShowProp);\n }\n }\n },\n isShown: function isShown(newVal, oldVal) {\n if (newVal !== oldVal) {\n // Update synched show prop\n this.updateShowProp();\n }\n }\n },\n mounted: function mounted() {\n // If IntersectionObserver is not available, image is always shown\n this.isShown = __WEBPACK_IMPORTED_MODULE_2__utils_env__[\"c\" /* hasIntersectionObserverSupport */] ? this.show : true;\n },\n methods: {\n updateShowProp: function updateShowProp() {\n this.$emit('update:show', this.isShown);\n },\n doShow: function doShow(visible) {\n // If IntersectionObserver is not supported, the callback\n // will be called with `null` rather than `true` or `false`\n if ((visible || visible === null) && !this.isShown) {\n this.isShown = true;\n }\n }\n },\n render: function render(h) {\n var directives = [];\n\n if (!this.isShown) {\n var _modifiers;\n\n // We only add the visible directive if we are not shown\n directives.push({\n // Visible directive will silently do nothing if\n // IntersectionObserver is not supported\n name: 'b-visible',\n // Value expects a callback (passed one arg of `visible` = `true` or `false`)\n value: this.doShow,\n modifiers: (_modifiers = {}, _defineProperty(_modifiers, \"\".concat(parseInt(this.offset, 10) || 0), true), _defineProperty(_modifiers, \"once\", true), _modifiers)\n });\n }\n\n return h(__WEBPACK_IMPORTED_MODULE_4__img__[\"a\" /* BImg */], {\n directives: directives,\n props: {\n // Computed value props\n src: this.computedSrc,\n blank: this.computedBlank,\n width: this.computedWidth,\n height: this.computedHeight,\n // Passthrough props\n alt: this.alt,\n blankColor: this.blankColor,\n fluid: this.fluid,\n fluidGrow: this.fluidGrow,\n block: this.block,\n thumbnail: this.thumbnail,\n rounded: this.rounded,\n left: this.left,\n right: this.right,\n center: this.center\n }\n });\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbWFnZS9pbWctbGF6eS5qcz8zZjY5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ3NCO0FBQ1M7QUFDWjtBQUN4QjtBQUM3QjtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQSxjQUFjLHNFQUFTO0FBQ3ZCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGtGQUE4QjtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsbUJBQW1CLGtGQUE4QjtBQUNqRCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQyxPQUFPO0FBQ1A7O0FBRUEsYUFBYSxrREFBSTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiNjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWcnO1xuaW1wb3J0IHsgaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXJTdXBwb3J0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW52JztcbmltcG9ydCB7IFZCVmlzaWJsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdmlzaWJsZSc7XG5pbXBvcnQgeyBCSW1nIH0gZnJvbSAnLi9pbWcnO1xudmFyIE5BTUUgPSAnQkltZ0xhenknO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgc3JjOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgcmVxdWlyZWQ6IHRydWVcbiAgfSxcbiAgYWx0OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgd2lkdGg6IHtcbiAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgaGVpZ2h0OiB7XG4gICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGJsYW5rU3JjOiB7XG4gICAgLy8gSWYgbnVsbCwgYSBibGFuayBpbWFnZSBpcyBnZW5lcmF0ZWRcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBibGFua0NvbG9yOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnYmxhbmtDb2xvcicpO1xuICAgIH1cbiAgfSxcbiAgYmxhbmtXaWR0aDoge1xuICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBibGFua0hlaWdodDoge1xuICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBzaG93OiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBmbHVpZDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgZmx1aWRHcm93OiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBibG9jazoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgdGh1bWJuYWlsOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICByb3VuZGVkOiB7XG4gICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZ10sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgbGVmdDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgcmlnaHQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGNlbnRlcjoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgb2Zmc2V0OiB7XG4gICAgLy8gRGlzdGFuY2UgYXdheSBmcm9tIHZpZXdwb3J0IChpbiBwaXhlbHMpIGJlZm9yZSBiZWluZ1xuICAgIC8vIGNvbnNpZGVyZWQgXCJ2aXNpYmxlXCJcbiAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgIGRlZmF1bHQ6IDM2MFxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJJbWdMYXp5ID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBkaXJlY3RpdmVzOiB7XG4gICAgYlZpc2libGU6IFZCVmlzaWJsZVxuICB9LFxuICBwcm9wczogcHJvcHMsXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzU2hvd246IHRoaXMuc2hvd1xuICAgIH07XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgY29tcHV0ZWRTcmM6IGZ1bmN0aW9uIGNvbXB1dGVkU3JjKCkge1xuICAgICAgcmV0dXJuICF0aGlzLmJsYW5rU3JjIHx8IHRoaXMuaXNTaG93biA/IHRoaXMuc3JjIDogdGhpcy5ibGFua1NyYztcbiAgICB9LFxuICAgIGNvbXB1dGVkQmxhbms6IGZ1bmN0aW9uIGNvbXB1dGVkQmxhbmsoKSB7XG4gICAgICByZXR1cm4gISh0aGlzLmlzU2hvd24gfHwgdGhpcy5ibGFua1NyYyk7XG4gICAgfSxcbiAgICBjb21wdXRlZFdpZHRoOiBmdW5jdGlvbiBjb21wdXRlZFdpZHRoKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTaG93biA/IHRoaXMud2lkdGggOiB0aGlzLmJsYW5rV2lkdGggfHwgdGhpcy53aWR0aDtcbiAgICB9LFxuICAgIGNvbXB1dGVkSGVpZ2h0OiBmdW5jdGlvbiBjb21wdXRlZEhlaWdodCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU2hvd24gPyB0aGlzLmhlaWdodCA6IHRoaXMuYmxhbmtIZWlnaHQgfHwgdGhpcy5oZWlnaHQ7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIHNob3c6IGZ1bmN0aW9uIHNob3cobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIGlmIChuZXdWYWwgIT09IG9sZFZhbCkge1xuICAgICAgICAvLyBJZiBJbnRlcnNlY3Rpb25PYnNlcnZlciBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUsIGltYWdlIGlzIGFsd2F5cyBzaG93blxuICAgICAgICB2YXIgdmlzaWJsZSA9IGhhc0ludGVyc2VjdGlvbk9ic2VydmVyU3VwcG9ydCA/IG5ld1ZhbCA6IHRydWU7XG4gICAgICAgIHRoaXMuaXNTaG93biA9IHZpc2libGU7XG5cbiAgICAgICAgaWYgKHZpc2libGUgIT09IG5ld1ZhbCkge1xuICAgICAgICAgIC8vIEVuc3VyZSB0aGUgc2hvdyBwcm9wIGlzIHN5bmNlZCAod2hlbiBubyBJbnRlcnNlY3Rpb25PYnNlcnZlcilcbiAgICAgICAgICB0aGlzLiRuZXh0VGljayh0aGlzLnVwZGF0ZVNob3dQcm9wKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgaXNTaG93bjogZnVuY3Rpb24gaXNTaG93bihuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgaWYgKG5ld1ZhbCAhPT0gb2xkVmFsKSB7XG4gICAgICAgIC8vIFVwZGF0ZSBzeW5jaGVkIHNob3cgcHJvcFxuICAgICAgICB0aGlzLnVwZGF0ZVNob3dQcm9wKCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIC8vIElmIEludGVyc2VjdGlvbk9ic2VydmVyIGlzIG5vdCBhdmFpbGFibGUsIGltYWdlIGlzIGFsd2F5cyBzaG93blxuICAgIHRoaXMuaXNTaG93biA9IGhhc0ludGVyc2VjdGlvbk9ic2VydmVyU3VwcG9ydCA/IHRoaXMuc2hvdyA6IHRydWU7XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICB1cGRhdGVTaG93UHJvcDogZnVuY3Rpb24gdXBkYXRlU2hvd1Byb3AoKSB7XG4gICAgICB0aGlzLiRlbWl0KCd1cGRhdGU6c2hvdycsIHRoaXMuaXNTaG93bik7XG4gICAgfSxcbiAgICBkb1Nob3c6IGZ1bmN0aW9uIGRvU2hvdyh2aXNpYmxlKSB7XG4gICAgICAvLyBJZiBJbnRlcnNlY3Rpb25PYnNlcnZlciBpcyBub3Qgc3VwcG9ydGVkLCB0aGUgY2FsbGJhY2tcbiAgICAgIC8vIHdpbGwgYmUgY2FsbGVkIHdpdGggYG51bGxgIHJhdGhlciB0aGFuIGB0cnVlYCBvciBgZmFsc2VgXG4gICAgICBpZiAoKHZpc2libGUgfHwgdmlzaWJsZSA9PT0gbnVsbCkgJiYgIXRoaXMuaXNTaG93bikge1xuICAgICAgICB0aGlzLmlzU2hvd24gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBkaXJlY3RpdmVzID0gW107XG5cbiAgICBpZiAoIXRoaXMuaXNTaG93bikge1xuICAgICAgdmFyIF9tb2RpZmllcnM7XG5cbiAgICAgIC8vIFdlIG9ubHkgYWRkIHRoZSB2aXNpYmxlIGRpcmVjdGl2ZSBpZiB3ZSBhcmUgbm90IHNob3duXG4gICAgICBkaXJlY3RpdmVzLnB1c2goe1xuICAgICAgICAvLyBWaXNpYmxlIGRpcmVjdGl2ZSB3aWxsIHNpbGVudGx5IGRvIG5vdGhpbmcgaWZcbiAgICAgICAgLy8gSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaXMgbm90IHN1cHBvcnRlZFxuICAgICAgICBuYW1lOiAnYi12aXNpYmxlJyxcbiAgICAgICAgLy8gVmFsdWUgZXhwZWN0cyBhIGNhbGxiYWNrIChwYXNzZWQgb25lIGFyZyBvZiBgdmlzaWJsZWAgPSBgdHJ1ZWAgb3IgYGZhbHNlYClcbiAgICAgICAgdmFsdWU6IHRoaXMuZG9TaG93LFxuICAgICAgICBtb2RpZmllcnM6IChfbW9kaWZpZXJzID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfbW9kaWZpZXJzLCBcIlwiLmNvbmNhdChwYXJzZUludCh0aGlzLm9mZnNldCwgMTApIHx8IDApLCB0cnVlKSwgX2RlZmluZVByb3BlcnR5KF9tb2RpZmllcnMsIFwib25jZVwiLCB0cnVlKSwgX21vZGlmaWVycylcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBoKEJJbWcsIHtcbiAgICAgIGRpcmVjdGl2ZXM6IGRpcmVjdGl2ZXMsXG4gICAgICBwcm9wczoge1xuICAgICAgICAvLyBDb21wdXRlZCB2YWx1ZSBwcm9wc1xuICAgICAgICBzcmM6IHRoaXMuY29tcHV0ZWRTcmMsXG4gICAgICAgIGJsYW5rOiB0aGlzLmNvbXB1dGVkQmxhbmssXG4gICAgICAgIHdpZHRoOiB0aGlzLmNvbXB1dGVkV2lkdGgsXG4gICAgICAgIGhlaWdodDogdGhpcy5jb21wdXRlZEhlaWdodCxcbiAgICAgICAgLy8gUGFzc3Rocm91Z2ggcHJvcHNcbiAgICAgICAgYWx0OiB0aGlzLmFsdCxcbiAgICAgICAgYmxhbmtDb2xvcjogdGhpcy5ibGFua0NvbG9yLFxuICAgICAgICBmbHVpZDogdGhpcy5mbHVpZCxcbiAgICAgICAgZmx1aWRHcm93OiB0aGlzLmZsdWlkR3JvdyxcbiAgICAgICAgYmxvY2s6IHRoaXMuYmxvY2ssXG4gICAgICAgIHRodW1ibmFpbDogdGhpcy50aHVtYm5haWwsXG4gICAgICAgIHJvdW5kZWQ6IHRoaXMucm91bmRlZCxcbiAgICAgICAgbGVmdDogdGhpcy5sZWZ0LFxuICAgICAgICByaWdodDogdGhpcy5yaWdodCxcbiAgICAgICAgY2VudGVyOiB0aGlzLmNlbnRlclxuICAgICAgfVxuICAgIH0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2ltYWdlL2ltZy1sYXp5LmpzXG4vLyBtb2R1bGUgaWQgPSA2MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///62\n"); + +/***/ }), +/* 63 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return CollapsePlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__collapse__ = __webpack_require__(123);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__directives_toggle_toggle__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BCollapse */\n\n\n\nvar CollapsePlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BCollapse: __WEBPACK_IMPORTED_MODULE_0__collapse__[\"a\" /* BCollapse */]\n },\n directives: {\n VBToggle: __WEBPACK_IMPORTED_MODULE_1__directives_toggle_toggle__[\"a\" /* VBToggle */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jb2xsYXBzZS9pbmRleC5qcz85MmI2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBdUM7QUFDbUI7QUFDTjtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGVBQWUsNERBQVM7QUFDeEIsR0FBRztBQUNIO0FBQ0EsY0FBYywyRUFBUTtBQUN0QjtBQUNBLENBQUMiLCJmaWxlIjoiNjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCQ29sbGFwc2UgfSBmcm9tICcuL2NvbGxhcHNlJztcbmltcG9ydCB7IFZCVG9nZ2xlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBDb2xsYXBzZVBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJDb2xsYXBzZTogQkNvbGxhcHNlXG4gIH0sXG4gIGRpcmVjdGl2ZXM6IHtcbiAgICBWQlRvZ2dsZTogVkJUb2dnbGVcbiAgfVxufSk7XG5leHBvcnQgeyBDb2xsYXBzZVBsdWdpbiwgQkNvbGxhcHNlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jb2xsYXBzZS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gNjNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///63\n"); + +/***/ }), +/* 64 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBToggle; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_target__ = __webpack_require__(252);\n\n\n\n // Target listen types\n\nvar listenTypes = {\n click: true\n}; // Property key for handler storage\n\nvar BV_TOGGLE = '__BV_toggle__';\nvar BV_TOGGLE_STATE = '__BV_toggle_STATE__';\nvar BV_TOGGLE_CONTROLS = '__BV_toggle_CONTROLS__';\nvar BV_TOGGLE_TARGETS = '__BV_toggle_TARGETS__'; // Emitted control event for collapse (emitted to collapse)\n\nvar EVENT_TOGGLE = 'bv::toggle::collapse'; // Listen to event for toggle state update (emitted by collapse)\n\nvar EVENT_STATE = 'bv::collapse::state'; // Private event emitted on $root to ensure the toggle state is always synced.\n// Gets emitted even if the state of b-collapse has not changed.\n// This event is NOT to be documented as people should not be using it.\n\nvar EVENT_STATE_SYNC = 'bv::collapse::sync::state'; // Private event we send to collapse to request state update sync event\n\nvar EVENT_STATE_REQUEST = 'bv::request::collapse::state'; // Reset and remove a property from the provided element\n\nvar resetProp = function resetProp(el, prop) {\n el[prop] = null;\n delete el[prop];\n}; // Handle targets update\n\n\nvar handleTargets = function handleTargets(_ref) {\n var targets = _ref.targets,\n vnode = _ref.vnode;\n targets.forEach(function (target) {\n vnode.context.$root.$emit(EVENT_TOGGLE, target);\n });\n}; // Handle directive updates\n\n/* istanbul ignore next: not easy to test */\n\n\nvar handleUpdate = function handleUpdate(el, binding, vnode) {\n if (!__WEBPACK_IMPORTED_MODULE_2__utils_env__[\"j\" /* isBrowser */]) {\n return;\n }\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__[\"a\" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_3__utils_target__[\"b\" /* getTargets */])(binding), el[BV_TOGGLE_TARGETS])) {\n // Targets have changed, so update accordingly\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_target__[\"c\" /* unbindTargets */])(vnode, binding, listenTypes);\n var targets = Object(__WEBPACK_IMPORTED_MODULE_3__utils_target__[\"a\" /* bindTargets */])(vnode, binding, listenTypes, handleTargets); // Update targets array to element\n\n el[BV_TOGGLE_TARGETS] = targets; // Add aria attributes to element\n\n el[BV_TOGGLE_CONTROLS] = targets.join(' '); // ensure aria-controls is up to date\n\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'aria-controls', el[BV_TOGGLE_CONTROLS]); // Request a state update from targets so that we can ensure\n // expanded state is correct\n\n targets.forEach(function (target) {\n vnode.context.$root.$emit(EVENT_STATE_REQUEST, target);\n });\n } // Ensure the collapse class and aria-* attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or it's contents\n\n\n if (el[BV_TOGGLE_STATE] === true) {\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"b\" /* addClass */])(el, 'collapsed');\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'aria-expanded', 'true');\n } else if (el[BV_TOGGLE_STATE] === false) {\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"v\" /* removeClass */])(el, 'collapsed');\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'aria-expanded', 'false');\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'aria-controls', el[BV_TOGGLE_CONTROLS]);\n};\n/*\n * Export our directive\n */\n\n\nvar VBToggle = {\n bind: function bind(el, binding, vnode) {\n var targets = Object(__WEBPACK_IMPORTED_MODULE_3__utils_target__[\"a\" /* bindTargets */])(vnode, binding, listenTypes, handleTargets);\n\n if (__WEBPACK_IMPORTED_MODULE_2__utils_env__[\"j\" /* isBrowser */] && vnode.context && targets.length > 0) {\n // Add targets array to element\n el[BV_TOGGLE_TARGETS] = targets; // Add aria attributes to element\n\n el[BV_TOGGLE_CONTROLS] = targets.join(' '); // State is initially collapsed until we receive a state event\n\n el[BV_TOGGLE_STATE] = false;\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'aria-controls', el[BV_TOGGLE_CONTROLS]);\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'aria-expanded', 'false'); // If element is not a button, we add `role=\"button\"` for accessibility\n\n if (el.tagName !== 'BUTTON' && !Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"l\" /* hasAttr */])(el, 'role')) {\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'role', 'button');\n } // Toggle state handler\n\n\n var toggleDirectiveHandler = function toggleDirectiveHandler(id, state) {\n var targets = el[BV_TOGGLE_TARGETS] || [];\n\n if (targets.indexOf(id) !== -1) {\n // Set aria-expanded state\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'aria-expanded', state ? 'true' : 'false'); // Set/Clear 'collapsed' class state\n\n el[BV_TOGGLE_STATE] = state;\n\n if (state) {\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"v\" /* removeClass */])(el, 'collapsed');\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"b\" /* addClass */])(el, 'collapsed');\n }\n }\n }; // Store the toggle handler on the element\n\n\n el[BV_TOGGLE] = toggleDirectiveHandler; // Listen for toggle state changes (public)\n\n vnode.context.$root.$on(EVENT_STATE, el[BV_TOGGLE]); // Listen for toggle state sync (private)\n\n vnode.context.$root.$on(EVENT_STATE_SYNC, el[BV_TOGGLE]);\n }\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind: function unbind(el, binding, vnode)\n /* istanbul ignore next */\n {\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_target__[\"c\" /* unbindTargets */])(vnode, binding, listenTypes); // Remove our $root listener\n\n if (el[BV_TOGGLE]) {\n vnode.context.$root.$off(EVENT_STATE, el[BV_TOGGLE]);\n vnode.context.$root.$off(EVENT_STATE_SYNC, el[BV_TOGGLE]);\n } // Reset custom props\n\n\n resetProp(el, BV_TOGGLE);\n resetProp(el, BV_TOGGLE_STATE);\n resetProp(el, BV_TOGGLE_CONTROLS);\n resetProp(el, BV_TOGGLE_TARGETS); // Reset classes/attrs\n\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"v\" /* removeClass */])(el, 'collapsed');\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"u\" /* removeAttr */])(el, 'aria-expanded');\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"u\" /* removeAttr */])(el, 'aria-controls');\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"u\" /* removeAttr */])(el, 'role');\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmpzPzFhY2IiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFpRDtBQUNxQztBQUMxQztBQUNnQzs7QUFFNUU7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEOztBQUVoRCwwQ0FBMEM7O0FBRTFDLHdDQUF3QztBQUN4QztBQUNBOztBQUVBLG1EQUFtRDs7QUFFbkQseURBQXlEOztBQUV6RDtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7O0FBRUY7OztBQUdBO0FBQ0EsT0FBTyw2REFBUztBQUNoQjtBQUNBOztBQUVBLE9BQU8sMkVBQVUsQ0FBQyx5RUFBVTtBQUM1QjtBQUNBLElBQUksNEVBQWE7QUFDakIsa0JBQWtCLDBFQUFXLDZDQUE2Qzs7QUFFMUUsb0NBQW9DOztBQUVwQywrQ0FBK0M7O0FBRS9DLElBQUksbUVBQU8sOENBQThDO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7OztBQUdBO0FBQ0EsSUFBSSxvRUFBUTtBQUNaLElBQUksbUVBQU87QUFDWCxHQUFHO0FBQ0gsSUFBSSx1RUFBVztBQUNmLElBQUksbUVBQU87QUFDWDs7QUFFQSxFQUFFLG1FQUFPO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7OztBQUdPO0FBQ1A7QUFDQSxrQkFBa0IsMEVBQVc7O0FBRTdCLFFBQVEsNkRBQVM7QUFDakI7QUFDQSxzQ0FBc0M7O0FBRXRDLGlEQUFpRDs7QUFFakQ7QUFDQSxNQUFNLG1FQUFPO0FBQ2IsTUFBTSxtRUFBTywrQkFBK0I7O0FBRTVDLHNDQUFzQyxtRUFBTztBQUM3QyxRQUFRLG1FQUFPO0FBQ2YsT0FBTzs7O0FBR1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVSxtRUFBTyxnREFBZ0Q7O0FBRWpFOztBQUVBO0FBQ0EsWUFBWSx1RUFBVztBQUN2QixXQUFXO0FBQ1gsWUFBWSxvRUFBUTtBQUNwQjtBQUNBO0FBQ0EsUUFBUTs7O0FBR1IsNkNBQTZDOztBQUU3QywwREFBMEQ7O0FBRTFEO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksNEVBQWEsOEJBQThCOztBQUUvQztBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7O0FBRXJDLElBQUksdUVBQVc7QUFDZixJQUFJLHNFQUFVO0FBQ2QsSUFBSSxzRUFBVTtBQUNkLElBQUksc0VBQVU7QUFDZDtBQUNBIiwiZmlsZSI6IjY0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvb3NlRXF1YWwgZnJvbSAnLi4vLi4vdXRpbHMvbG9vc2UtZXF1YWwnO1xuaW1wb3J0IHsgYWRkQ2xhc3MsIGhhc0F0dHIsIHJlbW92ZUF0dHIsIHJlbW92ZUNsYXNzLCBzZXRBdHRyIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJy4uLy4uL3V0aWxzL2Vudic7XG5pbXBvcnQgeyBiaW5kVGFyZ2V0cywgZ2V0VGFyZ2V0cywgdW5iaW5kVGFyZ2V0cyB9IGZyb20gJy4uLy4uL3V0aWxzL3RhcmdldCc7IC8vIFRhcmdldCBsaXN0ZW4gdHlwZXNcblxudmFyIGxpc3RlblR5cGVzID0ge1xuICBjbGljazogdHJ1ZVxufTsgLy8gUHJvcGVydHkga2V5IGZvciBoYW5kbGVyIHN0b3JhZ2VcblxudmFyIEJWX1RPR0dMRSA9ICdfX0JWX3RvZ2dsZV9fJztcbnZhciBCVl9UT0dHTEVfU1RBVEUgPSAnX19CVl90b2dnbGVfU1RBVEVfXyc7XG52YXIgQlZfVE9HR0xFX0NPTlRST0xTID0gJ19fQlZfdG9nZ2xlX0NPTlRST0xTX18nO1xudmFyIEJWX1RPR0dMRV9UQVJHRVRTID0gJ19fQlZfdG9nZ2xlX1RBUkdFVFNfXyc7IC8vIEVtaXR0ZWQgY29udHJvbCBldmVudCBmb3IgY29sbGFwc2UgKGVtaXR0ZWQgdG8gY29sbGFwc2UpXG5cbnZhciBFVkVOVF9UT0dHTEUgPSAnYnY6OnRvZ2dsZTo6Y29sbGFwc2UnOyAvLyBMaXN0ZW4gdG8gZXZlbnQgZm9yIHRvZ2dsZSBzdGF0ZSB1cGRhdGUgKGVtaXR0ZWQgYnkgY29sbGFwc2UpXG5cbnZhciBFVkVOVF9TVEFURSA9ICdidjo6Y29sbGFwc2U6OnN0YXRlJzsgLy8gUHJpdmF0ZSBldmVudCBlbWl0dGVkIG9uICRyb290IHRvIGVuc3VyZSB0aGUgdG9nZ2xlIHN0YXRlIGlzIGFsd2F5cyBzeW5jZWQuXG4vLyBHZXRzIGVtaXR0ZWQgZXZlbiBpZiB0aGUgc3RhdGUgb2YgYi1jb2xsYXBzZSBoYXMgbm90IGNoYW5nZWQuXG4vLyBUaGlzIGV2ZW50IGlzIE5PVCB0byBiZSBkb2N1bWVudGVkIGFzIHBlb3BsZSBzaG91bGQgbm90IGJlIHVzaW5nIGl0LlxuXG52YXIgRVZFTlRfU1RBVEVfU1lOQyA9ICdidjo6Y29sbGFwc2U6OnN5bmM6OnN0YXRlJzsgLy8gUHJpdmF0ZSBldmVudCB3ZSBzZW5kIHRvIGNvbGxhcHNlIHRvIHJlcXVlc3Qgc3RhdGUgdXBkYXRlIHN5bmMgZXZlbnRcblxudmFyIEVWRU5UX1NUQVRFX1JFUVVFU1QgPSAnYnY6OnJlcXVlc3Q6OmNvbGxhcHNlOjpzdGF0ZSc7IC8vIFJlc2V0IGFuZCByZW1vdmUgYSBwcm9wZXJ0eSBmcm9tIHRoZSBwcm92aWRlZCBlbGVtZW50XG5cbnZhciByZXNldFByb3AgPSBmdW5jdGlvbiByZXNldFByb3AoZWwsIHByb3ApIHtcbiAgZWxbcHJvcF0gPSBudWxsO1xuICBkZWxldGUgZWxbcHJvcF07XG59OyAvLyBIYW5kbGUgdGFyZ2V0cyB1cGRhdGVcblxuXG52YXIgaGFuZGxlVGFyZ2V0cyA9IGZ1bmN0aW9uIGhhbmRsZVRhcmdldHMoX3JlZikge1xuICB2YXIgdGFyZ2V0cyA9IF9yZWYudGFyZ2V0cyxcbiAgICAgIHZub2RlID0gX3JlZi52bm9kZTtcbiAgdGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICB2bm9kZS5jb250ZXh0LiRyb290LiRlbWl0KEVWRU5UX1RPR0dMRSwgdGFyZ2V0KTtcbiAgfSk7XG59OyAvLyBIYW5kbGUgZGlyZWN0aXZlIHVwZGF0ZXNcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IG5vdCBlYXN5IHRvIHRlc3QgKi9cblxuXG52YXIgaGFuZGxlVXBkYXRlID0gZnVuY3Rpb24gaGFuZGxlVXBkYXRlKGVsLCBiaW5kaW5nLCB2bm9kZSkge1xuICBpZiAoIWlzQnJvd3Nlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghbG9vc2VFcXVhbChnZXRUYXJnZXRzKGJpbmRpbmcpLCBlbFtCVl9UT0dHTEVfVEFSR0VUU10pKSB7XG4gICAgLy8gVGFyZ2V0cyBoYXZlIGNoYW5nZWQsIHNvIHVwZGF0ZSBhY2NvcmRpbmdseVxuICAgIHVuYmluZFRhcmdldHModm5vZGUsIGJpbmRpbmcsIGxpc3RlblR5cGVzKTtcbiAgICB2YXIgdGFyZ2V0cyA9IGJpbmRUYXJnZXRzKHZub2RlLCBiaW5kaW5nLCBsaXN0ZW5UeXBlcywgaGFuZGxlVGFyZ2V0cyk7IC8vIFVwZGF0ZSB0YXJnZXRzIGFycmF5IHRvIGVsZW1lbnRcblxuICAgIGVsW0JWX1RPR0dMRV9UQVJHRVRTXSA9IHRhcmdldHM7IC8vIEFkZCBhcmlhIGF0dHJpYnV0ZXMgdG8gZWxlbWVudFxuXG4gICAgZWxbQlZfVE9HR0xFX0NPTlRST0xTXSA9IHRhcmdldHMuam9pbignICcpOyAvLyBlbnN1cmUgYXJpYS1jb250cm9scyBpcyB1cCB0byBkYXRlXG5cbiAgICBzZXRBdHRyKGVsLCAnYXJpYS1jb250cm9scycsIGVsW0JWX1RPR0dMRV9DT05UUk9MU10pOyAvLyBSZXF1ZXN0IGEgc3RhdGUgdXBkYXRlIGZyb20gdGFyZ2V0cyBzbyB0aGF0IHdlIGNhbiBlbnN1cmVcbiAgICAvLyBleHBhbmRlZCBzdGF0ZSBpcyBjb3JyZWN0XG5cbiAgICB0YXJnZXRzLmZvckVhY2goZnVuY3Rpb24gKHRhcmdldCkge1xuICAgICAgdm5vZGUuY29udGV4dC4kcm9vdC4kZW1pdChFVkVOVF9TVEFURV9SRVFVRVNULCB0YXJnZXQpO1xuICAgIH0pO1xuICB9IC8vIEVuc3VyZSB0aGUgY29sbGFwc2UgY2xhc3MgYW5kIGFyaWEtKiBhdHRyaWJ1dGVzIHBlcnNpc3RcbiAgLy8gYWZ0ZXIgZWxlbWVudCBpcyB1cGRhdGVkIChlaXRoZXIgYnkgcGFyZW50IHJlLXJlbmRlcmluZ1xuICAvLyBvciBjaGFuZ2VzIHRvIHRoaXMgZWxlbWVudCBvciBpdCdzIGNvbnRlbnRzXG5cblxuICBpZiAoZWxbQlZfVE9HR0xFX1NUQVRFXSA9PT0gdHJ1ZSkge1xuICAgIGFkZENsYXNzKGVsLCAnY29sbGFwc2VkJyk7XG4gICAgc2V0QXR0cihlbCwgJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICB9IGVsc2UgaWYgKGVsW0JWX1RPR0dMRV9TVEFURV0gPT09IGZhbHNlKSB7XG4gICAgcmVtb3ZlQ2xhc3MoZWwsICdjb2xsYXBzZWQnKTtcbiAgICBzZXRBdHRyKGVsLCAnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICB9XG5cbiAgc2V0QXR0cihlbCwgJ2FyaWEtY29udHJvbHMnLCBlbFtCVl9UT0dHTEVfQ09OVFJPTFNdKTtcbn07XG4vKlxuICogRXhwb3J0IG91ciBkaXJlY3RpdmVcbiAqL1xuXG5cbmV4cG9ydCB2YXIgVkJUb2dnbGUgPSB7XG4gIGJpbmQ6IGZ1bmN0aW9uIGJpbmQoZWwsIGJpbmRpbmcsIHZub2RlKSB7XG4gICAgdmFyIHRhcmdldHMgPSBiaW5kVGFyZ2V0cyh2bm9kZSwgYmluZGluZywgbGlzdGVuVHlwZXMsIGhhbmRsZVRhcmdldHMpO1xuXG4gICAgaWYgKGlzQnJvd3NlciAmJiB2bm9kZS5jb250ZXh0ICYmIHRhcmdldHMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gQWRkIHRhcmdldHMgYXJyYXkgdG8gZWxlbWVudFxuICAgICAgZWxbQlZfVE9HR0xFX1RBUkdFVFNdID0gdGFyZ2V0czsgLy8gQWRkIGFyaWEgYXR0cmlidXRlcyB0byBlbGVtZW50XG5cbiAgICAgIGVsW0JWX1RPR0dMRV9DT05UUk9MU10gPSB0YXJnZXRzLmpvaW4oJyAnKTsgLy8gU3RhdGUgaXMgaW5pdGlhbGx5IGNvbGxhcHNlZCB1bnRpbCB3ZSByZWNlaXZlIGEgc3RhdGUgZXZlbnRcblxuICAgICAgZWxbQlZfVE9HR0xFX1NUQVRFXSA9IGZhbHNlO1xuICAgICAgc2V0QXR0cihlbCwgJ2FyaWEtY29udHJvbHMnLCBlbFtCVl9UT0dHTEVfQ09OVFJPTFNdKTtcbiAgICAgIHNldEF0dHIoZWwsICdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7IC8vIElmIGVsZW1lbnQgaXMgbm90IGEgYnV0dG9uLCB3ZSBhZGQgYHJvbGU9XCJidXR0b25cImAgZm9yIGFjY2Vzc2liaWxpdHlcblxuICAgICAgaWYgKGVsLnRhZ05hbWUgIT09ICdCVVRUT04nICYmICFoYXNBdHRyKGVsLCAncm9sZScpKSB7XG4gICAgICAgIHNldEF0dHIoZWwsICdyb2xlJywgJ2J1dHRvbicpO1xuICAgICAgfSAvLyBUb2dnbGUgc3RhdGUgaGFuZGxlclxuXG5cbiAgICAgIHZhciB0b2dnbGVEaXJlY3RpdmVIYW5kbGVyID0gZnVuY3Rpb24gdG9nZ2xlRGlyZWN0aXZlSGFuZGxlcihpZCwgc3RhdGUpIHtcbiAgICAgICAgdmFyIHRhcmdldHMgPSBlbFtCVl9UT0dHTEVfVEFSR0VUU10gfHwgW107XG5cbiAgICAgICAgaWYgKHRhcmdldHMuaW5kZXhPZihpZCkgIT09IC0xKSB7XG4gICAgICAgICAgLy8gU2V0IGFyaWEtZXhwYW5kZWQgc3RhdGVcbiAgICAgICAgICBzZXRBdHRyKGVsLCAnYXJpYS1leHBhbmRlZCcsIHN0YXRlID8gJ3RydWUnIDogJ2ZhbHNlJyk7IC8vIFNldC9DbGVhciAnY29sbGFwc2VkJyBjbGFzcyBzdGF0ZVxuXG4gICAgICAgICAgZWxbQlZfVE9HR0xFX1NUQVRFXSA9IHN0YXRlO1xuXG4gICAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICByZW1vdmVDbGFzcyhlbCwgJ2NvbGxhcHNlZCcpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhZGRDbGFzcyhlbCwgJ2NvbGxhcHNlZCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTsgLy8gU3RvcmUgdGhlIHRvZ2dsZSBoYW5kbGVyIG9uIHRoZSBlbGVtZW50XG5cblxuICAgICAgZWxbQlZfVE9HR0xFXSA9IHRvZ2dsZURpcmVjdGl2ZUhhbmRsZXI7IC8vIExpc3RlbiBmb3IgdG9nZ2xlIHN0YXRlIGNoYW5nZXMgKHB1YmxpYylcblxuICAgICAgdm5vZGUuY29udGV4dC4kcm9vdC4kb24oRVZFTlRfU1RBVEUsIGVsW0JWX1RPR0dMRV0pOyAvLyBMaXN0ZW4gZm9yIHRvZ2dsZSBzdGF0ZSBzeW5jIChwcml2YXRlKVxuXG4gICAgICB2bm9kZS5jb250ZXh0LiRyb290LiRvbihFVkVOVF9TVEFURV9TWU5DLCBlbFtCVl9UT0dHTEVdKTtcbiAgICB9XG4gIH0sXG4gIGNvbXBvbmVudFVwZGF0ZWQ6IGhhbmRsZVVwZGF0ZSxcbiAgdXBkYXRlZDogaGFuZGxlVXBkYXRlLFxuICB1bmJpbmQ6IGZ1bmN0aW9uIHVuYmluZChlbCwgYmluZGluZywgdm5vZGUpXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHtcbiAgICB1bmJpbmRUYXJnZXRzKHZub2RlLCBiaW5kaW5nLCBsaXN0ZW5UeXBlcyk7IC8vIFJlbW92ZSBvdXIgJHJvb3QgbGlzdGVuZXJcblxuICAgIGlmIChlbFtCVl9UT0dHTEVdKSB7XG4gICAgICB2bm9kZS5jb250ZXh0LiRyb290LiRvZmYoRVZFTlRfU1RBVEUsIGVsW0JWX1RPR0dMRV0pO1xuICAgICAgdm5vZGUuY29udGV4dC4kcm9vdC4kb2ZmKEVWRU5UX1NUQVRFX1NZTkMsIGVsW0JWX1RPR0dMRV0pO1xuICAgIH0gLy8gUmVzZXQgY3VzdG9tICBwcm9wc1xuXG5cbiAgICByZXNldFByb3AoZWwsIEJWX1RPR0dMRSk7XG4gICAgcmVzZXRQcm9wKGVsLCBCVl9UT0dHTEVfU1RBVEUpO1xuICAgIHJlc2V0UHJvcChlbCwgQlZfVE9HR0xFX0NPTlRST0xTKTtcbiAgICByZXNldFByb3AoZWwsIEJWX1RPR0dMRV9UQVJHRVRTKTsgLy8gUmVzZXQgY2xhc3Nlcy9hdHRyc1xuXG4gICAgcmVtb3ZlQ2xhc3MoZWwsICdjb2xsYXBzZWQnKTtcbiAgICByZW1vdmVBdHRyKGVsLCAnYXJpYS1leHBhbmRlZCcpO1xuICAgIHJlbW92ZUF0dHIoZWwsICdhcmlhLWNvbnRyb2xzJyk7XG4gICAgcmVtb3ZlQXR0cihlbCwgJ3JvbGUnKTtcbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuanNcbi8vIG1vZHVsZSBpZCA9IDY0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///64\n"); + +/***/ }), +/* 65 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BDropdown; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_safe_types__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_dropdown__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__button_button__ = __webpack_require__(34);\n\n\n\n\n\n\n\n\n\nvar NAME = 'BDropdown';\nvar props = {\n toggleText: {\n // This really should be toggleLabel\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'toggleText');\n }\n },\n size: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'size');\n }\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n menuClass: {\n type: [String, Array],\n default: null\n },\n toggleTag: {\n type: String,\n default: 'button'\n },\n toggleClass: {\n type: [String, Array],\n default: null\n },\n noCaret: {\n type: Boolean,\n default: false\n },\n split: {\n type: Boolean,\n default: false\n },\n splitHref: {\n type: String // default: undefined\n\n },\n splitTo: {\n type: [String, Object] // default: undefined\n\n },\n splitVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'splitVariant');\n }\n },\n splitButtonType: {\n type: String,\n default: 'button',\n validator: function validator(value) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"a\" /* arrayIncludes */])(['button', 'submit', 'reset'], value);\n }\n },\n role: {\n type: String,\n default: 'menu'\n },\n boundary: {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n type: [String, __WEBPACK_IMPORTED_MODULE_4__utils_safe_types__[\"b\" /* HTMLElement */]],\n default: 'scrollParent'\n }\n}; // @vue/component\n\nvar BDropdown =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_5__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__mixins_dropdown__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_7__mixins_normalize_slot__[\"a\" /* default */]],\n props: props,\n computed: {\n dropdownClasses: function dropdownClasses() {\n return [this.directionClass, {\n show: this.visible,\n // Position `static` is needed to allow menu to \"breakout\" of the scrollParent boundaries\n // when boundary is anything other than `scrollParent`\n // See https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n 'position-static': this.boundary !== 'scrollParent' || !this.boundary\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n return [this.toggleClass, {\n 'dropdown-toggle-split': this.split,\n 'dropdown-toggle-no-caret': this.noCaret && !this.split\n }];\n }\n },\n render: function render(h) {\n var split = h();\n var buttonContent = this.normalizeSlot('button-content') || this.html || Object(__WEBPACK_IMPORTED_MODULE_2__utils_html__[\"b\" /* stripTags */])(this.text);\n\n if (this.split) {\n var btnProps = {\n disabled: this.disabled,\n variant: this.splitVariant || this.variant,\n size: this.size\n }; // We add these as needed due to router-link issues with defined property with undefined/null values\n\n if (this.splitTo) {\n btnProps.to = this.splitTo;\n } else if (this.splitHref) {\n btnProps.href = this.splitHref;\n } else if (this.splitButtonType) {\n btnProps.type = this.splitButtonType;\n }\n\n split = h(__WEBPACK_IMPORTED_MODULE_8__button_button__[\"a\" /* BButton */], {\n ref: 'button',\n props: btnProps,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n on: {\n click: this.click\n }\n }, [buttonContent]);\n }\n\n var toggle = h(__WEBPACK_IMPORTED_MODULE_8__button_button__[\"a\" /* BButton */], {\n ref: 'toggle',\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n props: {\n variant: this.variant,\n size: this.size,\n disabled: this.disabled,\n tag: this.toggleTag\n },\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n click: this.toggle,\n // click\n keydown: this.toggle // enter, space, down\n\n }\n }, [this.split ? h('span', {\n class: ['sr-only']\n }, [this.toggleText]) : buttonContent]);\n var menu = h('ul', {\n ref: 'menu',\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: this.role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(this.split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // up, down, esc\n\n }\n }, !this.lazy || this.visible ? this.normalizeSlot('default', {\n hide: this.hide\n }) : [h()]);\n return h('div', {\n staticClass: 'dropdown btn-group b-dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [split, toggle, menu]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5qcz9jODRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDZ0I7QUFDTDtBQUNXO0FBQ0g7QUFDZjtBQUNZO0FBQ1c7QUFDbEI7QUFDM0M7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsMkVBQWE7QUFDMUI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixzRUFBVztBQUM5QjtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsMkRBQU8sRUFBRSxpRUFBYSxFQUFFLHVFQUFrQjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsNkVBQTZFLHNFQUFTOztBQUV0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7QUFFUjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUEsZ0JBQWdCLCtEQUFPO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQSxtQkFBbUIsK0RBQU87QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiI2NS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IGFycmF5SW5jbHVkZXMgfSBmcm9tICcuLi8uLi91dGlscy9hcnJheSc7XG5pbXBvcnQgeyBzdHJpcFRhZ3MgfSBmcm9tICcuLi8uLi91dGlscy9odG1sJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBIVE1MRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3NhZmUtdHlwZXMnO1xuaW1wb3J0IGlkTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2lkJztcbmltcG9ydCBkcm9wZG93bk1peGluIGZyb20gJy4uLy4uL21peGlucy9kcm9wZG93bic7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7XG5pbXBvcnQgeyBCQnV0dG9uIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbic7XG52YXIgTkFNRSA9ICdCRHJvcGRvd24nO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgdG9nZ2xlVGV4dDoge1xuICAgIC8vIFRoaXMgcmVhbGx5IHNob3VsZCBiZSB0b2dnbGVMYWJlbFxuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ3RvZ2dsZVRleHQnKTtcbiAgICB9XG4gIH0sXG4gIHNpemU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdzaXplJyk7XG4gICAgfVxuICB9LFxuICB2YXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAndmFyaWFudCcpO1xuICAgIH1cbiAgfSxcbiAgbWVudUNsYXNzOiB7XG4gICAgdHlwZTogW1N0cmluZywgQXJyYXldLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgdG9nZ2xlVGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdidXR0b24nXG4gIH0sXG4gIHRvZ2dsZUNsYXNzOiB7XG4gICAgdHlwZTogW1N0cmluZywgQXJyYXldLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgbm9DYXJldDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgc3BsaXQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIHNwbGl0SHJlZjoge1xuICAgIHR5cGU6IFN0cmluZyAvLyBkZWZhdWx0OiB1bmRlZmluZWRcblxuICB9LFxuICBzcGxpdFRvOiB7XG4gICAgdHlwZTogW1N0cmluZywgT2JqZWN0XSAvLyBkZWZhdWx0OiB1bmRlZmluZWRcblxuICB9LFxuICBzcGxpdFZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdzcGxpdFZhcmlhbnQnKTtcbiAgICB9XG4gIH0sXG4gIHNwbGl0QnV0dG9uVHlwZToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnYnV0dG9uJyxcbiAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIGFycmF5SW5jbHVkZXMoWydidXR0b24nLCAnc3VibWl0JywgJ3Jlc2V0J10sIHZhbHVlKTtcbiAgICB9XG4gIH0sXG4gIHJvbGU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ21lbnUnXG4gIH0sXG4gIGJvdW5kYXJ5OiB7XG4gICAgLy8gU3RyaW5nOiBgc2Nyb2xsUGFyZW50YCwgYHdpbmRvd2Agb3IgYHZpZXdwb3J0YFxuICAgIC8vIEhUTUxFbGVtZW50OiBIVE1MIEVsZW1lbnQgcmVmZXJlbmNlXG4gICAgdHlwZTogW1N0cmluZywgSFRNTEVsZW1lbnRdLFxuICAgIGRlZmF1bHQ6ICdzY3JvbGxQYXJlbnQnXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkRyb3Bkb3duID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBtaXhpbnM6IFtpZE1peGluLCBkcm9wZG93bk1peGluLCBub3JtYWxpemVTbG90TWl4aW5dLFxuICBwcm9wczogcHJvcHMsXG4gIGNvbXB1dGVkOiB7XG4gICAgZHJvcGRvd25DbGFzc2VzOiBmdW5jdGlvbiBkcm9wZG93bkNsYXNzZXMoKSB7XG4gICAgICByZXR1cm4gW3RoaXMuZGlyZWN0aW9uQ2xhc3MsIHtcbiAgICAgICAgc2hvdzogdGhpcy52aXNpYmxlLFxuICAgICAgICAvLyBQb3NpdGlvbiBgc3RhdGljYCBpcyBuZWVkZWQgdG8gYWxsb3cgbWVudSB0byBcImJyZWFrb3V0XCIgb2YgdGhlIHNjcm9sbFBhcmVudCBib3VuZGFyaWVzXG4gICAgICAgIC8vIHdoZW4gYm91bmRhcnkgaXMgYW55dGhpbmcgb3RoZXIgdGhhbiBgc2Nyb2xsUGFyZW50YFxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDI1MSNpc3N1ZWNvbW1lbnQtMzQxNDEzNzg2XG4gICAgICAgICdwb3NpdGlvbi1zdGF0aWMnOiB0aGlzLmJvdW5kYXJ5ICE9PSAnc2Nyb2xsUGFyZW50JyB8fCAhdGhpcy5ib3VuZGFyeVxuICAgICAgfV07XG4gICAgfSxcbiAgICBtZW51Q2xhc3NlczogZnVuY3Rpb24gbWVudUNsYXNzZXMoKSB7XG4gICAgICByZXR1cm4gW3RoaXMubWVudUNsYXNzLCB7XG4gICAgICAgICdkcm9wZG93bi1tZW51LXJpZ2h0JzogdGhpcy5yaWdodCxcbiAgICAgICAgc2hvdzogdGhpcy52aXNpYmxlXG4gICAgICB9XTtcbiAgICB9LFxuICAgIHRvZ2dsZUNsYXNzZXM6IGZ1bmN0aW9uIHRvZ2dsZUNsYXNzZXMoKSB7XG4gICAgICByZXR1cm4gW3RoaXMudG9nZ2xlQ2xhc3MsIHtcbiAgICAgICAgJ2Ryb3Bkb3duLXRvZ2dsZS1zcGxpdCc6IHRoaXMuc3BsaXQsXG4gICAgICAgICdkcm9wZG93bi10b2dnbGUtbm8tY2FyZXQnOiB0aGlzLm5vQ2FyZXQgJiYgIXRoaXMuc3BsaXRcbiAgICAgIH1dO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBzcGxpdCA9IGgoKTtcbiAgICB2YXIgYnV0dG9uQ29udGVudCA9IHRoaXMubm9ybWFsaXplU2xvdCgnYnV0dG9uLWNvbnRlbnQnKSB8fCB0aGlzLmh0bWwgfHwgc3RyaXBUYWdzKHRoaXMudGV4dCk7XG5cbiAgICBpZiAodGhpcy5zcGxpdCkge1xuICAgICAgdmFyIGJ0blByb3BzID0ge1xuICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgICAgdmFyaWFudDogdGhpcy5zcGxpdFZhcmlhbnQgfHwgdGhpcy52YXJpYW50LFxuICAgICAgICBzaXplOiB0aGlzLnNpemVcbiAgICAgIH07IC8vIFdlIGFkZCB0aGVzZSBhcyBuZWVkZWQgZHVlIHRvIHJvdXRlci1saW5rIGlzc3VlcyB3aXRoIGRlZmluZWQgcHJvcGVydHkgd2l0aCB1bmRlZmluZWQvbnVsbCB2YWx1ZXNcblxuICAgICAgaWYgKHRoaXMuc3BsaXRUbykge1xuICAgICAgICBidG5Qcm9wcy50byA9IHRoaXMuc3BsaXRUbztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zcGxpdEhyZWYpIHtcbiAgICAgICAgYnRuUHJvcHMuaHJlZiA9IHRoaXMuc3BsaXRIcmVmO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnNwbGl0QnV0dG9uVHlwZSkge1xuICAgICAgICBidG5Qcm9wcy50eXBlID0gdGhpcy5zcGxpdEJ1dHRvblR5cGU7XG4gICAgICB9XG5cbiAgICAgIHNwbGl0ID0gaChCQnV0dG9uLCB7XG4gICAgICAgIHJlZjogJ2J1dHRvbicsXG4gICAgICAgIHByb3BzOiBidG5Qcm9wcyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBpZDogdGhpcy5zYWZlSWQoJ19CVl9idXR0b25fJylcbiAgICAgICAgfSxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBjbGljazogdGhpcy5jbGlja1xuICAgICAgICB9XG4gICAgICB9LCBbYnV0dG9uQ29udGVudF0pO1xuICAgIH1cblxuICAgIHZhciB0b2dnbGUgPSBoKEJCdXR0b24sIHtcbiAgICAgIHJlZjogJ3RvZ2dsZScsXG4gICAgICBzdGF0aWNDbGFzczogJ2Ryb3Bkb3duLXRvZ2dsZScsXG4gICAgICBjbGFzczogdGhpcy50b2dnbGVDbGFzc2VzLFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgdmFyaWFudDogdGhpcy52YXJpYW50LFxuICAgICAgICBzaXplOiB0aGlzLnNpemUsXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICB0YWc6IHRoaXMudG9nZ2xlVGFnXG4gICAgICB9LFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgaWQ6IHRoaXMuc2FmZUlkKCdfQlZfdG9nZ2xlXycpLFxuICAgICAgICAnYXJpYS1oYXNwb3B1cCc6ICd0cnVlJyxcbiAgICAgICAgJ2FyaWEtZXhwYW5kZWQnOiB0aGlzLnZpc2libGUgPyAndHJ1ZScgOiAnZmFsc2UnXG4gICAgICB9LFxuICAgICAgb246IHtcbiAgICAgICAgY2xpY2s6IHRoaXMudG9nZ2xlLFxuICAgICAgICAvLyBjbGlja1xuICAgICAgICBrZXlkb3duOiB0aGlzLnRvZ2dsZSAvLyBlbnRlciwgc3BhY2UsIGRvd25cblxuICAgICAgfVxuICAgIH0sIFt0aGlzLnNwbGl0ID8gaCgnc3BhbicsIHtcbiAgICAgIGNsYXNzOiBbJ3NyLW9ubHknXVxuICAgIH0sIFt0aGlzLnRvZ2dsZVRleHRdKSA6IGJ1dHRvbkNvbnRlbnRdKTtcbiAgICB2YXIgbWVudSA9IGgoJ3VsJywge1xuICAgICAgcmVmOiAnbWVudScsXG4gICAgICBzdGF0aWNDbGFzczogJ2Ryb3Bkb3duLW1lbnUnLFxuICAgICAgY2xhc3M6IHRoaXMubWVudUNsYXNzZXMsXG4gICAgICBhdHRyczoge1xuICAgICAgICByb2xlOiB0aGlzLnJvbGUsXG4gICAgICAgIHRhYmluZGV4OiAnLTEnLFxuICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogdGhpcy5zYWZlSWQodGhpcy5zcGxpdCA/ICdfQlZfYnV0dG9uXycgOiAnX0JWX3RvZ2dsZV8nKVxuICAgICAgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIGtleWRvd246IHRoaXMub25LZXlkb3duIC8vIHVwLCBkb3duLCBlc2NcblxuICAgICAgfVxuICAgIH0sICF0aGlzLmxhenkgfHwgdGhpcy52aXNpYmxlID8gdGhpcy5ub3JtYWxpemVTbG90KCdkZWZhdWx0Jywge1xuICAgICAgaGlkZTogdGhpcy5oaWRlXG4gICAgfSkgOiBbaCgpXSk7XG4gICAgcmV0dXJuIGgoJ2RpdicsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnZHJvcGRvd24gYnRuLWdyb3VwIGItZHJvcGRvd24nLFxuICAgICAgY2xhc3M6IHRoaXMuZHJvcGRvd25DbGFzc2VzLFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgaWQ6IHRoaXMuc2FmZUlkKClcbiAgICAgIH1cbiAgICB9LCBbc3BsaXQsIHRvZ2dsZSwgbWVudV0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmpzXG4vLyBtb2R1bGUgaWQgPSA2NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///65\n"); + +/***/ }), +/* 66 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormText; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\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\n\n\n\nvar NAME = 'BFormText';\nvar props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'small'\n },\n textVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'textVariant');\n }\n },\n inline: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nvar BFormText =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: _defineProperty({\n 'form-text': !props.inline\n }, \"text-\".concat(props.textVariant), Boolean(props.textVariant)),\n attrs: {\n id: props.id\n }\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtL2Zvcm0tdGV4dC5qcz80MTdkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7QUFDRTtBQUN4RDtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isb0ZBQVM7QUFDakM7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjY2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWcnO1xudmFyIE5BTUUgPSAnQkZvcm1UZXh0JztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIGlkOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgdGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdzbWFsbCdcbiAgfSxcbiAgdGV4dFZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd0ZXh0VmFyaWFudCcpO1xuICAgIH1cbiAgfSxcbiAgaW5saW5lOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJGb3JtVGV4dCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHJldHVybiBoKHByb3BzLnRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIGNsYXNzOiBfZGVmaW5lUHJvcGVydHkoe1xuICAgICAgICAnZm9ybS10ZXh0JzogIXByb3BzLmlubGluZVxuICAgICAgfSwgXCJ0ZXh0LVwiLmNvbmNhdChwcm9wcy50ZXh0VmFyaWFudCksIEJvb2xlYW4ocHJvcHMudGV4dFZhcmlhbnQpKSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiBwcm9wcy5pZFxuICAgICAgfVxuICAgIH0pLCBjaGlsZHJlbik7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZm9ybS9mb3JtLXRleHQuanNcbi8vIG1vZHVsZSBpZCA9IDY2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///66\n"); + +/***/ }), +/* 67 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormInvalidFeedback; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n tooltip: {\n type: Boolean,\n default: false\n },\n forceShow: {\n type: Boolean,\n default: false\n },\n state: {\n type: Boolean,\n default: null\n },\n ariaLive: {\n type: String,\n default: null\n },\n role: {\n type: String,\n default: null\n }\n}; // @vue/component\n\nvar BFormInvalidFeedback =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormInvalidFeedback',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var show = props.forceShow === true || props.state === false;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: {\n 'invalid-feedback': !props.tooltip,\n 'invalid-tooltip': props.tooltip,\n 'd-block': show\n },\n attrs: {\n id: props.id,\n role: props.role,\n 'aria-live': props.ariaLive,\n 'aria-atomic': props.ariaLive ? 'true' : null\n }\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtL2Zvcm0taW52YWxpZC1mZWVkYmFjay5qcz9lNDFmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDO0FBQ29CO0FBQy9DO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isb0ZBQVM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiI2Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgaWQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2RpdidcbiAgfSxcbiAgdG9vbHRpcDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgZm9yY2VTaG93OiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBzdGF0ZToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBhcmlhTGl2ZToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIHJvbGU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJGb3JtSW52YWxpZEZlZWRiYWNrID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkZvcm1JbnZhbGlkRmVlZGJhY2snLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgdmFyIHNob3cgPSBwcm9wcy5mb3JjZVNob3cgPT09IHRydWUgfHwgcHJvcHMuc3RhdGUgPT09IGZhbHNlO1xuICAgIHJldHVybiBoKHByb3BzLnRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgICdpbnZhbGlkLWZlZWRiYWNrJzogIXByb3BzLnRvb2x0aXAsXG4gICAgICAgICdpbnZhbGlkLXRvb2x0aXAnOiBwcm9wcy50b29sdGlwLFxuICAgICAgICAnZC1ibG9jayc6IHNob3dcbiAgICAgIH0sXG4gICAgICBhdHRyczoge1xuICAgICAgICBpZDogcHJvcHMuaWQsXG4gICAgICAgIHJvbGU6IHByb3BzLnJvbGUsXG4gICAgICAgICdhcmlhLWxpdmUnOiBwcm9wcy5hcmlhTGl2ZSxcbiAgICAgICAgJ2FyaWEtYXRvbWljJzogcHJvcHMuYXJpYUxpdmUgPyAndHJ1ZScgOiBudWxsXG4gICAgICB9XG4gICAgfSksIGNoaWxkcmVuKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtL2Zvcm0taW52YWxpZC1mZWVkYmFjay5qc1xuLy8gbW9kdWxlIGlkID0gNjdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///67\n"); + +/***/ }), +/* 68 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormValidFeedback; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n tooltip: {\n type: Boolean,\n default: false\n },\n forceShow: {\n type: Boolean,\n default: false\n },\n state: {\n type: Boolean,\n default: null\n },\n ariaLive: {\n type: String,\n default: null\n },\n role: {\n type: String,\n default: null\n }\n}; // @vue/component\n\nvar BFormValidFeedback =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormValidFeedback',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var show = props.forceShow === true || props.state === true;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: {\n 'valid-feedback': !props.tooltip,\n 'valid-tooltip': props.tooltip,\n 'd-block': show\n },\n attrs: {\n id: props.id,\n role: props.role,\n 'aria-live': props.ariaLive,\n 'aria-atomic': props.ariaLive ? 'true' : null\n }\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtL2Zvcm0tdmFsaWQtZmVlZGJhY2suanM/MzUzNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNvQjtBQUMvQztBQUNQO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLG9GQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiNjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIGlkOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgdGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdkaXYnXG4gIH0sXG4gIHRvb2x0aXA6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGZvcmNlU2hvdzoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgc3RhdGU6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgYXJpYUxpdmU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICByb2xlOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCRm9ybVZhbGlkRmVlZGJhY2sgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCRm9ybVZhbGlkRmVlZGJhY2snLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgdmFyIHNob3cgPSBwcm9wcy5mb3JjZVNob3cgPT09IHRydWUgfHwgcHJvcHMuc3RhdGUgPT09IHRydWU7XG4gICAgcmV0dXJuIGgocHJvcHMudGFnLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgY2xhc3M6IHtcbiAgICAgICAgJ3ZhbGlkLWZlZWRiYWNrJzogIXByb3BzLnRvb2x0aXAsXG4gICAgICAgICd2YWxpZC10b29sdGlwJzogcHJvcHMudG9vbHRpcCxcbiAgICAgICAgJ2QtYmxvY2snOiBzaG93XG4gICAgICB9LFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgaWQ6IHByb3BzLmlkLFxuICAgICAgICByb2xlOiBwcm9wcy5yb2xlLFxuICAgICAgICAnYXJpYS1saXZlJzogcHJvcHMuYXJpYUxpdmUsXG4gICAgICAgICdhcmlhLWF0b21pYyc6IHByb3BzLmFyaWFMaXZlID8gJ3RydWUnIDogbnVsbFxuICAgICAgfVxuICAgIH0pLCBjaGlsZHJlbik7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZm9ybS9mb3JtLXZhbGlkLWZlZWRiYWNrLmpzXG4vLyBtb2R1bGUgaWQgPSA2OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///68\n"); + +/***/ }), +/* 69 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCol; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_memoize__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_suffix_prop_name__ = __webpack_require__(253);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_config__ = __webpack_require__(4);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n // Generates a prop object with a type of `[Boolean, String, Number]`\n\nvar boolStrNum = function boolStrNum() {\n return {\n type: [Boolean, String, Number],\n default: false\n };\n}; // Generates a prop object with a type of `[String, Number]`\n\n\nvar strNum = function strNum() {\n return {\n type: [String, Number],\n default: null\n };\n}; // Compute a breakpoint class name\n\n\nvar computeBreakpoint = function computeBreakpoint(type, breakpoint, val) {\n var className = type;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"n\" /* isUndefined */])(val) || Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"g\" /* isNull */])(val) || val === false) {\n return undefined;\n }\n\n if (breakpoint) {\n className += \"-\".concat(breakpoint);\n } // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <b-col sm></b-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n\n\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase();\n } // .order-md-6\n\n\n className += \"-\".concat(val);\n return className.toLowerCase();\n}; // Memoized function for better performance on generating class names\n\n\nvar computeBreakpointClass = Object(__WEBPACK_IMPORTED_MODULE_1__utils_memoize__[\"a\" /* default */])(computeBreakpoint); // Cached copy of the breakpoint prop names\n\nvar breakpointPropMap = Object(__WEBPACK_IMPORTED_MODULE_5__utils_object__[\"b\" /* create */])(null); // Lazy evaled props factory for BCol\n\nvar generateProps = function generateProps() {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n var breakpoints = Object(__WEBPACK_IMPORTED_MODULE_6__utils_config__[\"b\" /* getBreakpointsUpCached */])().filter(Boolean); // Supports classes like: .col-sm, .col-md-6, .col-lg-auto\n\n var breakpointCol = breakpoints.reduce(function (propMap, breakpoint) {\n if (breakpoint) {\n // We filter out the '' breakpoint (xs), as making a prop name ''\n // would not work. The `cols` prop is used for `xs`\n propMap[breakpoint] = boolStrNum();\n }\n\n return propMap;\n }, Object(__WEBPACK_IMPORTED_MODULE_5__utils_object__[\"b\" /* create */])(null)); // Supports classes like: .offset-md-1, .offset-lg-12\n\n var breakpointOffset = breakpoints.reduce(function (propMap, breakpoint) {\n propMap[Object(__WEBPACK_IMPORTED_MODULE_2__utils_suffix_prop_name__[\"a\" /* default */])(breakpoint, 'offset')] = strNum();\n return propMap;\n }, Object(__WEBPACK_IMPORTED_MODULE_5__utils_object__[\"b\" /* create */])(null)); // Supports classes like: .order-md-1, .order-lg-12\n\n var breakpointOrder = breakpoints.reduce(function (propMap, breakpoint) {\n propMap[Object(__WEBPACK_IMPORTED_MODULE_2__utils_suffix_prop_name__[\"a\" /* default */])(breakpoint, 'order')] = strNum();\n return propMap;\n }, Object(__WEBPACK_IMPORTED_MODULE_5__utils_object__[\"b\" /* create */])(null)); // For loop doesn't need to check hasOwnProperty\n // when using an object created from null\n\n breakpointPropMap = Object(__WEBPACK_IMPORTED_MODULE_5__utils_object__[\"a\" /* assign */])(Object(__WEBPACK_IMPORTED_MODULE_5__utils_object__[\"b\" /* create */])(null), {\n col: Object(__WEBPACK_IMPORTED_MODULE_5__utils_object__[\"j\" /* keys */])(breakpointCol),\n offset: Object(__WEBPACK_IMPORTED_MODULE_5__utils_object__[\"j\" /* keys */])(breakpointOffset),\n order: Object(__WEBPACK_IMPORTED_MODULE_5__utils_object__[\"j\" /* keys */])(breakpointOrder)\n }); // Return the generated props\n\n return _objectSpread({\n // Generic flexbox .col (xs)\n col: {\n type: Boolean,\n default: false\n },\n // .col-[1-12]|auto (xs)\n cols: strNum()\n }, breakpointCol, {\n offset: strNum()\n }, breakpointOffset, {\n order: strNum()\n }, breakpointOrder, {\n // Flex alignment\n alignSelf: {\n type: String,\n default: null,\n validator: function validator(str) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(['auto', 'start', 'end', 'center', 'baseline', 'stretch'], str);\n }\n },\n tag: {\n type: String,\n default: 'div'\n }\n });\n}; // We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\n\nvar BCol = {\n name: 'BCol',\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var classList = []; // Loop through `col`, `offset`, `order` breakpoint props\n\n for (var type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n var _keys = breakpointPropMap[type];\n\n for (var i = 0; i < _keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n var c = computeBreakpointClass(type, _keys[i].replace(type, ''), props[_keys[i]]); // If a class is returned, push it onto the array.\n\n if (c) {\n classList.push(c);\n }\n }\n }\n\n var hasColClasses = classList.some(function (className) {\n return /^col-/.test(className);\n });\n classList.push((_classList$push = {\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || !hasColClasses && !props.cols\n }, _defineProperty(_classList$push, \"col-\".concat(props.cols), props.cols), _defineProperty(_classList$push, \"offset-\".concat(props.offset), props.offset), _defineProperty(_classList$push, \"order-\".concat(props.order), props.order), _defineProperty(_classList$push, \"align-self-\".concat(props.alignSelf), props.alignSelf), _classList$push));\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_0_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: classList\n }), children);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9sYXlvdXQvY29sLmpzPzVjYWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFeko7QUFDWjtBQUNnQjtBQUNSO0FBQ1E7QUFDQTtBQUNFOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7O0FBRUEsTUFBTSwyRUFBVyxTQUFTLHNFQUFNO0FBQ2hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0EsRUFBRTs7O0FBR0YsNkJBQTZCLHVFQUFPLG9CQUFvQjs7QUFFeEQsd0JBQXdCLHFFQUFNLE9BQU87O0FBRXJDO0FBQ0E7QUFDQSxvQkFBb0IscUZBQXNCLG1CQUFtQjs7QUFFN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRyxFQUFFLHFFQUFNLFFBQVE7O0FBRW5CO0FBQ0EsWUFBWSxnRkFBYztBQUMxQjtBQUNBLEdBQUcsRUFBRSxxRUFBTSxRQUFROztBQUVuQjtBQUNBLFlBQVksZ0ZBQWM7QUFDMUI7QUFDQSxHQUFHLEVBQUUscUVBQU0sUUFBUTtBQUNuQjs7QUFFQSxzQkFBc0IscUVBQU0sQ0FBQyxxRUFBTTtBQUNuQyxTQUFTLG1FQUFJO0FBQ2IsWUFBWSxtRUFBSTtBQUNoQixXQUFXLG1FQUFJO0FBQ2YsR0FBRyxFQUFFOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSwyRUFBYTtBQUM1QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFO0FBQ0Y7QUFDQTs7O0FBR087QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7O0FBRXZCO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsa0JBQWtCO0FBQ3ZDO0FBQ0EsMEZBQTBGOztBQUUxRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSwwQ0FBMEMsR0FBRztBQUM3QztBQUNBLEtBQUs7QUFDTCx3QkFBd0Isb0ZBQVM7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsImZpbGUiOiI2OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuaW1wb3J0IG1lbW9pemUgZnJvbSAnLi4vLi4vdXRpbHMvbWVtb2l6ZSc7XG5pbXBvcnQgc3VmZml4UHJvcE5hbWUgZnJvbSAnLi4vLi4vdXRpbHMvc3VmZml4LXByb3AtbmFtZSc7XG5pbXBvcnQgeyBhcnJheUluY2x1ZGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQsIGlzTnVsbCB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsga2V5cywgYXNzaWduLCBjcmVhdGUgfSBmcm9tICcuLi8uLi91dGlscy9vYmplY3QnO1xuaW1wb3J0IHsgZ2V0QnJlYWtwb2ludHNVcENhY2hlZCB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7IC8vIEdlbmVyYXRlcyBhIHByb3Agb2JqZWN0IHdpdGggYSB0eXBlIG9mIGBbQm9vbGVhbiwgU3RyaW5nLCBOdW1iZXJdYFxuXG52YXIgYm9vbFN0ck51bSA9IGZ1bmN0aW9uIGJvb2xTdHJOdW0oKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZywgTnVtYmVyXSxcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9O1xufTsgLy8gR2VuZXJhdGVzIGEgcHJvcCBvYmplY3Qgd2l0aCBhIHR5cGUgb2YgYFtTdHJpbmcsIE51bWJlcl1gXG5cblxudmFyIHN0ck51bSA9IGZ1bmN0aW9uIHN0ck51bSgpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfTtcbn07IC8vIENvbXB1dGUgYSBicmVha3BvaW50IGNsYXNzIG5hbWVcblxuXG52YXIgY29tcHV0ZUJyZWFrcG9pbnQgPSBmdW5jdGlvbiBjb21wdXRlQnJlYWtwb2ludCh0eXBlLCBicmVha3BvaW50LCB2YWwpIHtcbiAgdmFyIGNsYXNzTmFtZSA9IHR5cGU7XG5cbiAgaWYgKGlzVW5kZWZpbmVkKHZhbCkgfHwgaXNOdWxsKHZhbCkgfHwgdmFsID09PSBmYWxzZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAoYnJlYWtwb2ludCkge1xuICAgIGNsYXNzTmFtZSArPSBcIi1cIi5jb25jYXQoYnJlYWtwb2ludCk7XG4gIH0gLy8gSGFuZGxpbmcgdGhlIGJvb2xlYW4gc3R5bGUgcHJvcCB3aGVuIGFjY2VwdGluZyBbQm9vbGVhbiwgU3RyaW5nLCBOdW1iZXJdXG4gIC8vIG1lYW5zIFZ1ZSB3aWxsIG5vdCBjb252ZXJ0IDxiLWNvbCBzbT48L2ItY29sPiB0byBzbTogdHJ1ZSBmb3IgdXMuXG4gIC8vIFNpbmNlIHRoZSBkZWZhdWx0IGlzIGZhbHNlLCBhbiBlbXB0eSBzdHJpbmcgaW5kaWNhdGVzIHRoZSBwcm9wJ3MgcHJlc2VuY2UuXG5cblxuICBpZiAodHlwZSA9PT0gJ2NvbCcgJiYgKHZhbCA9PT0gJycgfHwgdmFsID09PSB0cnVlKSkge1xuICAgIC8vIC5jb2wtbWRcbiAgICByZXR1cm4gY2xhc3NOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIH0gLy8gLm9yZGVyLW1kLTZcblxuXG4gIGNsYXNzTmFtZSArPSBcIi1cIi5jb25jYXQodmFsKTtcbiAgcmV0dXJuIGNsYXNzTmFtZS50b0xvd2VyQ2FzZSgpO1xufTsgLy8gTWVtb2l6ZWQgZnVuY3Rpb24gZm9yIGJldHRlciBwZXJmb3JtYW5jZSBvbiBnZW5lcmF0aW5nIGNsYXNzIG5hbWVzXG5cblxudmFyIGNvbXB1dGVCcmVha3BvaW50Q2xhc3MgPSBtZW1vaXplKGNvbXB1dGVCcmVha3BvaW50KTsgLy8gQ2FjaGVkIGNvcHkgb2YgdGhlIGJyZWFrcG9pbnQgcHJvcCBuYW1lc1xuXG52YXIgYnJlYWtwb2ludFByb3BNYXAgPSBjcmVhdGUobnVsbCk7IC8vIExhenkgZXZhbGVkIHByb3BzIGZhY3RvcnkgZm9yIEJDb2xcblxudmFyIGdlbmVyYXRlUHJvcHMgPSBmdW5jdGlvbiBnZW5lcmF0ZVByb3BzKCkge1xuICAvLyBHcmFiIHRoZSBicmVha3BvaW50cyBmcm9tIHRoZSBjYWNoZWQgY29uZmlnIChleGNsdWRlIHRoZSAnJyAoeHMpIGJyZWFrcG9pbnQpXG4gIHZhciBicmVha3BvaW50cyA9IGdldEJyZWFrcG9pbnRzVXBDYWNoZWQoKS5maWx0ZXIoQm9vbGVhbik7IC8vIFN1cHBvcnRzIGNsYXNzZXMgbGlrZTogLmNvbC1zbSwgLmNvbC1tZC02LCAuY29sLWxnLWF1dG9cblxuICB2YXIgYnJlYWtwb2ludENvbCA9IGJyZWFrcG9pbnRzLnJlZHVjZShmdW5jdGlvbiAocHJvcE1hcCwgYnJlYWtwb2ludCkge1xuICAgIGlmIChicmVha3BvaW50KSB7XG4gICAgICAvLyBXZSBmaWx0ZXIgb3V0IHRoZSAnJyBicmVha3BvaW50ICh4cyksIGFzIG1ha2luZyBhIHByb3AgbmFtZSAnJ1xuICAgICAgLy8gd291bGQgbm90IHdvcmsuIFRoZSBgY29sc2AgcHJvcCBpcyB1c2VkIGZvciBgeHNgXG4gICAgICBwcm9wTWFwW2JyZWFrcG9pbnRdID0gYm9vbFN0ck51bSgpO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9wTWFwO1xuICB9LCBjcmVhdGUobnVsbCkpOyAvLyBTdXBwb3J0cyBjbGFzc2VzIGxpa2U6IC5vZmZzZXQtbWQtMSwgLm9mZnNldC1sZy0xMlxuXG4gIHZhciBicmVha3BvaW50T2Zmc2V0ID0gYnJlYWtwb2ludHMucmVkdWNlKGZ1bmN0aW9uIChwcm9wTWFwLCBicmVha3BvaW50KSB7XG4gICAgcHJvcE1hcFtzdWZmaXhQcm9wTmFtZShicmVha3BvaW50LCAnb2Zmc2V0JyldID0gc3RyTnVtKCk7XG4gICAgcmV0dXJuIHByb3BNYXA7XG4gIH0sIGNyZWF0ZShudWxsKSk7IC8vIFN1cHBvcnRzIGNsYXNzZXMgbGlrZTogLm9yZGVyLW1kLTEsIC5vcmRlci1sZy0xMlxuXG4gIHZhciBicmVha3BvaW50T3JkZXIgPSBicmVha3BvaW50cy5yZWR1Y2UoZnVuY3Rpb24gKHByb3BNYXAsIGJyZWFrcG9pbnQpIHtcbiAgICBwcm9wTWFwW3N1ZmZpeFByb3BOYW1lKGJyZWFrcG9pbnQsICdvcmRlcicpXSA9IHN0ck51bSgpO1xuICAgIHJldHVybiBwcm9wTWFwO1xuICB9LCBjcmVhdGUobnVsbCkpOyAvLyBGb3IgbG9vcCBkb2Vzbid0IG5lZWQgdG8gY2hlY2sgaGFzT3duUHJvcGVydHlcbiAgLy8gd2hlbiB1c2luZyBhbiBvYmplY3QgY3JlYXRlZCBmcm9tIG51bGxcblxuICBicmVha3BvaW50UHJvcE1hcCA9IGFzc2lnbihjcmVhdGUobnVsbCksIHtcbiAgICBjb2w6IGtleXMoYnJlYWtwb2ludENvbCksXG4gICAgb2Zmc2V0OiBrZXlzKGJyZWFrcG9pbnRPZmZzZXQpLFxuICAgIG9yZGVyOiBrZXlzKGJyZWFrcG9pbnRPcmRlcilcbiAgfSk7IC8vIFJldHVybiB0aGUgZ2VuZXJhdGVkIHByb3BzXG5cbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIC8vIEdlbmVyaWMgZmxleGJveCAuY29sICh4cylcbiAgICBjb2w6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgLy8gLmNvbC1bMS0xMl18YXV0byAgKHhzKVxuICAgIGNvbHM6IHN0ck51bSgpXG4gIH0sIGJyZWFrcG9pbnRDb2wsIHtcbiAgICBvZmZzZXQ6IHN0ck51bSgpXG4gIH0sIGJyZWFrcG9pbnRPZmZzZXQsIHtcbiAgICBvcmRlcjogc3RyTnVtKClcbiAgfSwgYnJlYWtwb2ludE9yZGVyLCB7XG4gICAgLy8gRmxleCBhbGlnbm1lbnRcbiAgICBhbGlnblNlbGY6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcihzdHIpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5SW5jbHVkZXMoWydhdXRvJywgJ3N0YXJ0JywgJ2VuZCcsICdjZW50ZXInLCAnYmFzZWxpbmUnLCAnc3RyZXRjaCddLCBzdHIpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdGFnOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnZGl2J1xuICAgIH1cbiAgfSk7XG59OyAvLyBXZSBkbyBub3QgdXNlIFZ1ZS5leHRlbmQgaGVyZSBhcyB0aGF0IHdvdWxkIGV2YWx1YXRlIHRoZSBwcm9wc1xuLy8gaW1tZWRpYXRlbHksIHdoaWNoIHdlIGRvIG5vdCB3YW50IHRvIGhhcHBlblxuLy8gQHZ1ZS9jb21wb25lbnRcblxuXG5leHBvcnQgdmFyIEJDb2wgPSB7XG4gIG5hbWU6ICdCQ29sJyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcblxuICBnZXQgcHJvcHMoKSB7XG4gICAgLy8gQWxsb3cgcHJvcHMgdG8gYmUgbGF6eSBldmFsZWQgb24gZmlyc3QgYWNjZXNzIGFuZFxuICAgIC8vIHRoZW4gdGhleSBiZWNvbWUgYSBub24tZ2V0dGVyIGFmdGVyd2FyZHMuXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvRnVuY3Rpb25zL2dldCNTbWFydF9zZWxmLW92ZXJ3cml0aW5nX2xhenlfZ2V0dGVyc1xuICAgIGRlbGV0ZSB0aGlzLnByb3BzOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmV0dXJuLWFzc2lnblxuXG4gICAgcmV0dXJuIHRoaXMucHJvcHMgPSBnZW5lcmF0ZVByb3BzKCk7XG4gIH0sXG5cbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBfY2xhc3NMaXN0JHB1c2g7XG5cbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgdmFyIGNsYXNzTGlzdCA9IFtdOyAvLyBMb29wIHRocm91Z2ggYGNvbGAsIGBvZmZzZXRgLCBgb3JkZXJgIGJyZWFrcG9pbnQgcHJvcHNcblxuICAgIGZvciAodmFyIHR5cGUgaW4gYnJlYWtwb2ludFByb3BNYXApIHtcbiAgICAgIC8vIFJldHVybnMgY29sU20sIG9mZnNldCwgb2Zmc2V0U20sIG9yZGVyTWQsIGV0Yy5cbiAgICAgIHZhciBfa2V5cyA9IGJyZWFrcG9pbnRQcm9wTWFwW3R5cGVdO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IF9rZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIC8vIGNvbXB1dGVCcmVha3BvaW50KGNvbCwgY29sU20gPT4gU20sIHZhbHVlPVtTdHJpbmcsIE51bWJlciwgQm9vbGVhbl0pXG4gICAgICAgIHZhciBjID0gY29tcHV0ZUJyZWFrcG9pbnRDbGFzcyh0eXBlLCBfa2V5c1tpXS5yZXBsYWNlKHR5cGUsICcnKSwgcHJvcHNbX2tleXNbaV1dKTsgLy8gSWYgYSBjbGFzcyBpcyByZXR1cm5lZCwgcHVzaCBpdCBvbnRvIHRoZSBhcnJheS5cblxuICAgICAgICBpZiAoYykge1xuICAgICAgICAgIGNsYXNzTGlzdC5wdXNoKGMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGhhc0NvbENsYXNzZXMgPSBjbGFzc0xpc3Quc29tZShmdW5jdGlvbiAoY2xhc3NOYW1lKSB7XG4gICAgICByZXR1cm4gL15jb2wtLy50ZXN0KGNsYXNzTmFtZSk7XG4gICAgfSk7XG4gICAgY2xhc3NMaXN0LnB1c2goKF9jbGFzc0xpc3QkcHVzaCA9IHtcbiAgICAgIC8vIERlZmF1bHQgdG8gLmNvbCBpZiBubyBvdGhlciBjb2wte2JwfS0qIGNsYXNzZXMgZ2VuZXJhdGVkIG5vciBgY29sc2Agc3BlY2lmaWVkLlxuICAgICAgY29sOiBwcm9wcy5jb2wgfHwgIWhhc0NvbENsYXNzZXMgJiYgIXByb3BzLmNvbHNcbiAgICB9LCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzTGlzdCRwdXNoLCBcImNvbC1cIi5jb25jYXQocHJvcHMuY29scyksIHByb3BzLmNvbHMpLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzTGlzdCRwdXNoLCBcIm9mZnNldC1cIi5jb25jYXQocHJvcHMub2Zmc2V0KSwgcHJvcHMub2Zmc2V0KSwgX2RlZmluZVByb3BlcnR5KF9jbGFzc0xpc3QkcHVzaCwgXCJvcmRlci1cIi5jb25jYXQocHJvcHMub3JkZXIpLCBwcm9wcy5vcmRlciksIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3NMaXN0JHB1c2gsIFwiYWxpZ24tc2VsZi1cIi5jb25jYXQocHJvcHMuYWxpZ25TZWxmKSwgcHJvcHMuYWxpZ25TZWxmKSwgX2NsYXNzTGlzdCRwdXNoKSk7XG4gICAgcmV0dXJuIGgocHJvcHMudGFnLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgY2xhc3M6IGNsYXNzTGlzdFxuICAgIH0pLCBjaGlsZHJlbik7XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9sYXlvdXQvY29sLmpzXG4vLyBtb2R1bGUgaWQgPSA2OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///69\n"); + +/***/ }), +/* 70 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormCheckbox; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_loose_index_of__ = __webpack_require__(254);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_form__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_form_radio_check__ = __webpack_require__(140);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_form_size__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_form_state__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mixins_id__ = __webpack_require__(9);\n\n\n\n\n\n\n\n\n // @vue/component\n\nvar BFormCheckbox =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormCheckbox',\n mixins: [__WEBPACK_IMPORTED_MODULE_5__mixins_form_radio_check__[\"a\" /* default */], // Includes shared render function\n __WEBPACK_IMPORTED_MODULE_8__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_4__mixins_form__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__mixins_form_size__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_7__mixins_form_state__[\"a\" /* default */]],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: false\n }\n },\n props: {\n value: {\n // type: [String, Number, Boolean, Object],\n default: true\n },\n uncheckedValue: {\n // type: [String, Number, Boolean, Object],\n // Not applicable in multi-check mode\n default: false\n },\n indeterminate: {\n // Not applicable in multi-check mode\n type: Boolean,\n default: false\n },\n switch: {\n // Custom switch styling\n type: Boolean,\n default: false\n },\n checked: {\n // v-model (Array when multiple checkboxes have same name)\n // type: [String, Number, Boolean, Object, Array],\n default: null\n }\n },\n computed: {\n isChecked: function isChecked() {\n var checked = this.computedLocalChecked;\n var value = this.value;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"a\" /* isArray */])(checked)) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_loose_index_of__[\"a\" /* default */])(checked, value) > -1;\n } else {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__[\"a\" /* default */])(checked, value);\n }\n },\n isRadio: function isRadio() {\n return false;\n },\n isCheck: function isCheck() {\n return true;\n }\n },\n watch: {\n computedLocalChecked: function computedLocalChecked(newVal, oldVal) {\n this.$emit('input', newVal);\n\n if (this.$refs && this.$refs.input) {\n this.$emit('update:indeterminate', this.$refs.input.indeterminate);\n }\n },\n indeterminate: function indeterminate(newVal, oldVal) {\n this.setIndeterminate(newVal);\n }\n },\n mounted: function mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this.indeterminate);\n },\n methods: {\n handleChange: function handleChange(_ref) {\n var _ref$target = _ref.target,\n checked = _ref$target.checked,\n indeterminate = _ref$target.indeterminate;\n var localChecked = this.computedLocalChecked;\n var value = this.value;\n var isArr = Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"a\" /* isArray */])(localChecked);\n var uncheckedValue = isArr ? null : this.uncheckedValue; // Update computedLocalChecked\n\n if (isArr) {\n var idx = Object(__WEBPACK_IMPORTED_MODULE_2__utils_loose_index_of__[\"a\" /* default */])(localChecked, value);\n\n if (checked && idx < 0) {\n // Add value to array\n localChecked = localChecked.concat(value);\n } else if (!checked && idx > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, idx).concat(localChecked.slice(idx + 1));\n }\n } else {\n localChecked = checked ? value : uncheckedValue;\n }\n\n this.computedLocalChecked = localChecked; // Change is only emitted on user interaction\n\n this.$emit('change', checked ? value : uncheckedValue); // If this is a child of form-checkbox-group, we emit a change event on it as well\n\n if (this.isGroup) {\n this.bvGroup.$emit('change', localChecked);\n }\n\n this.$emit('update:indeterminate', indeterminate);\n },\n setIndeterminate: function setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"a\" /* isArray */])(this.computedLocalChecked)) {\n state = false;\n }\n\n if (this.$refs && this.$refs.input) {\n this.$refs.input.indeterminate = state; // Emit update event to prop\n\n this.$emit('update:indeterminate', state);\n }\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3guanM/ZDc3ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNlO0FBQ0s7QUFDUjtBQUNKO0FBQ3NCO0FBQ2I7QUFDRTtBQUNmOztBQUUvQjtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcseUVBQW1CO0FBQzlCLEVBQUUsMkRBQU8sRUFBRSw2REFBUyxFQUFFLGtFQUFhLEVBQUUsbUVBQWM7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFVBQVUsdUVBQU87QUFDakIsZUFBZSw4RUFBWTtBQUMzQixPQUFPO0FBQ1AsZUFBZSwyRUFBVTtBQUN6QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsdUVBQU87QUFDekIsOERBQThEOztBQUU5RDtBQUNBLGtCQUFrQiw4RUFBWTs7QUFFOUI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBLCtDQUErQzs7QUFFL0MsNkRBQTZEOztBQUU3RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLFVBQVUsdUVBQU87QUFDakI7QUFDQTs7QUFFQTtBQUNBLCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjcwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IGxvb3NlRXF1YWwgZnJvbSAnLi4vLi4vdXRpbHMvbG9vc2UtZXF1YWwnO1xuaW1wb3J0IGxvb3NlSW5kZXhPZiBmcm9tICcuLi8uLi91dGlscy9sb29zZS1pbmRleC1vZic7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgZm9ybU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtJztcbmltcG9ydCBmb3JtUmFkaW9DaGVja01peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXJhZGlvLWNoZWNrJztcbmltcG9ydCBmb3JtU2l6ZU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXNpemUnO1xuaW1wb3J0IGZvcm1TdGF0ZU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXN0YXRlJztcbmltcG9ydCBpZE1peGluIGZyb20gJy4uLy4uL21peGlucy9pZCc7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkZvcm1DaGVja2JveCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JGb3JtQ2hlY2tib3gnLFxuICBtaXhpbnM6IFtmb3JtUmFkaW9DaGVja01peGluLCAvLyBJbmNsdWRlcyBzaGFyZWQgcmVuZGVyIGZ1bmN0aW9uXG4gIGlkTWl4aW4sIGZvcm1NaXhpbiwgZm9ybVNpemVNaXhpbiwgZm9ybVN0YXRlTWl4aW5dLFxuICBpbmplY3Q6IHtcbiAgICBidkdyb3VwOiB7XG4gICAgICBmcm9tOiAnYnZDaGVja0dyb3VwJyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfVxuICB9LFxuICBwcm9wczoge1xuICAgIHZhbHVlOiB7XG4gICAgICAvLyB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEJvb2xlYW4sIE9iamVjdF0sXG4gICAgICBkZWZhdWx0OiB0cnVlXG4gICAgfSxcbiAgICB1bmNoZWNrZWRWYWx1ZToge1xuICAgICAgLy8gdHlwZTogW1N0cmluZywgTnVtYmVyLCBCb29sZWFuLCBPYmplY3RdLFxuICAgICAgLy8gTm90IGFwcGxpY2FibGUgaW4gbXVsdGktY2hlY2sgbW9kZVxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGluZGV0ZXJtaW5hdGU6IHtcbiAgICAgIC8vIE5vdCBhcHBsaWNhYmxlIGluIG11bHRpLWNoZWNrIG1vZGVcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgc3dpdGNoOiB7XG4gICAgICAvLyBDdXN0b20gc3dpdGNoIHN0eWxpbmdcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgLy8gdi1tb2RlbCAoQXJyYXkgd2hlbiBtdWx0aXBsZSBjaGVja2JveGVzIGhhdmUgc2FtZSBuYW1lKVxuICAgICAgLy8gdHlwZTogW1N0cmluZywgTnVtYmVyLCBCb29sZWFuLCBPYmplY3QsIEFycmF5XSxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgaXNDaGVja2VkOiBmdW5jdGlvbiBpc0NoZWNrZWQoKSB7XG4gICAgICB2YXIgY2hlY2tlZCA9IHRoaXMuY29tcHV0ZWRMb2NhbENoZWNrZWQ7XG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgICBpZiAoaXNBcnJheShjaGVja2VkKSkge1xuICAgICAgICByZXR1cm4gbG9vc2VJbmRleE9mKGNoZWNrZWQsIHZhbHVlKSA+IC0xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGxvb3NlRXF1YWwoY2hlY2tlZCwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgaXNSYWRpbzogZnVuY3Rpb24gaXNSYWRpbygpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICAgIGlzQ2hlY2s6IGZ1bmN0aW9uIGlzQ2hlY2soKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgY29tcHV0ZWRMb2NhbENoZWNrZWQ6IGZ1bmN0aW9uIGNvbXB1dGVkTG9jYWxDaGVja2VkKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIG5ld1ZhbCk7XG5cbiAgICAgIGlmICh0aGlzLiRyZWZzICYmIHRoaXMuJHJlZnMuaW5wdXQpIHtcbiAgICAgICAgdGhpcy4kZW1pdCgndXBkYXRlOmluZGV0ZXJtaW5hdGUnLCB0aGlzLiRyZWZzLmlucHV0LmluZGV0ZXJtaW5hdGUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgaW5kZXRlcm1pbmF0ZTogZnVuY3Rpb24gaW5kZXRlcm1pbmF0ZShuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgdGhpcy5zZXRJbmRldGVybWluYXRlKG5ld1ZhbCk7XG4gICAgfVxuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIC8vIFNldCBpbml0aWFsIGluZGV0ZXJtaW5hdGUgc3RhdGVcbiAgICB0aGlzLnNldEluZGV0ZXJtaW5hdGUodGhpcy5pbmRldGVybWluYXRlKTtcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIGhhbmRsZUNoYW5nZTogZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKF9yZWYpIHtcbiAgICAgIHZhciBfcmVmJHRhcmdldCA9IF9yZWYudGFyZ2V0LFxuICAgICAgICAgIGNoZWNrZWQgPSBfcmVmJHRhcmdldC5jaGVja2VkLFxuICAgICAgICAgIGluZGV0ZXJtaW5hdGUgPSBfcmVmJHRhcmdldC5pbmRldGVybWluYXRlO1xuICAgICAgdmFyIGxvY2FsQ2hlY2tlZCA9IHRoaXMuY29tcHV0ZWRMb2NhbENoZWNrZWQ7XG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdmFyIGlzQXJyID0gaXNBcnJheShsb2NhbENoZWNrZWQpO1xuICAgICAgdmFyIHVuY2hlY2tlZFZhbHVlID0gaXNBcnIgPyBudWxsIDogdGhpcy51bmNoZWNrZWRWYWx1ZTsgLy8gVXBkYXRlIGNvbXB1dGVkTG9jYWxDaGVja2VkXG5cbiAgICAgIGlmIChpc0Fycikge1xuICAgICAgICB2YXIgaWR4ID0gbG9vc2VJbmRleE9mKGxvY2FsQ2hlY2tlZCwgdmFsdWUpO1xuXG4gICAgICAgIGlmIChjaGVja2VkICYmIGlkeCA8IDApIHtcbiAgICAgICAgICAvLyBBZGQgdmFsdWUgdG8gYXJyYXlcbiAgICAgICAgICBsb2NhbENoZWNrZWQgPSBsb2NhbENoZWNrZWQuY29uY2F0KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICghY2hlY2tlZCAmJiBpZHggPiAtMSkge1xuICAgICAgICAgIC8vIFJlbW92ZSB2YWx1ZSBmcm9tIGFycmF5XG4gICAgICAgICAgbG9jYWxDaGVja2VkID0gbG9jYWxDaGVja2VkLnNsaWNlKDAsIGlkeCkuY29uY2F0KGxvY2FsQ2hlY2tlZC5zbGljZShpZHggKyAxKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2FsQ2hlY2tlZCA9IGNoZWNrZWQgPyB2YWx1ZSA6IHVuY2hlY2tlZFZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbXB1dGVkTG9jYWxDaGVja2VkID0gbG9jYWxDaGVja2VkOyAvLyBDaGFuZ2UgaXMgb25seSBlbWl0dGVkIG9uIHVzZXIgaW50ZXJhY3Rpb25cblxuICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgY2hlY2tlZCA/IHZhbHVlIDogdW5jaGVja2VkVmFsdWUpOyAvLyBJZiB0aGlzIGlzIGEgY2hpbGQgb2YgZm9ybS1jaGVja2JveC1ncm91cCwgd2UgZW1pdCBhIGNoYW5nZSBldmVudCBvbiBpdCBhcyB3ZWxsXG5cbiAgICAgIGlmICh0aGlzLmlzR3JvdXApIHtcbiAgICAgICAgdGhpcy5idkdyb3VwLiRlbWl0KCdjaGFuZ2UnLCBsb2NhbENoZWNrZWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiRlbWl0KCd1cGRhdGU6aW5kZXRlcm1pbmF0ZScsIGluZGV0ZXJtaW5hdGUpO1xuICAgIH0sXG4gICAgc2V0SW5kZXRlcm1pbmF0ZTogZnVuY3Rpb24gc2V0SW5kZXRlcm1pbmF0ZShzdGF0ZSkge1xuICAgICAgLy8gSW5kZXRlcm1pbmF0ZSBvbmx5IHN1cHBvcnRlZCBpbiBzaW5nbGUgY2hlY2tib3ggbW9kZVxuICAgICAgaWYgKGlzQXJyYXkodGhpcy5jb21wdXRlZExvY2FsQ2hlY2tlZCkpIHtcbiAgICAgICAgc3RhdGUgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuJHJlZnMgJiYgdGhpcy4kcmVmcy5pbnB1dCkge1xuICAgICAgICB0aGlzLiRyZWZzLmlucHV0LmluZGV0ZXJtaW5hdGUgPSBzdGF0ZTsgLy8gRW1pdCB1cGRhdGUgZXZlbnQgdG8gcHJvcFxuXG4gICAgICAgIHRoaXMuJGVtaXQoJ3VwZGF0ZTppbmRldGVybWluYXRlJywgc3RhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3guanNcbi8vIG1vZHVsZSBpZCA9IDcwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///70\n"); + +/***/ }), +/* 71 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormRadio; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_form__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_form_state__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_form_size__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_form_radio_check__ = __webpack_require__(140);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_loose_equal__ = __webpack_require__(12);\n\n\n\n\n\n\n // @vue/component\n\nvar BFormRadio =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormRadio',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_5__mixins_form_radio_check__[\"a\" /* default */], // Includes shared render function\n __WEBPACK_IMPORTED_MODULE_2__mixins_form__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_4__mixins_form_size__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__mixins_form_state__[\"a\" /* default */]],\n inject: {\n bvGroup: {\n from: 'bvRadioGroup',\n default: false\n }\n },\n props: {\n checked: {\n // v-model\n // type: [String, Number, Boolean, Object],\n default: null\n }\n },\n computed: {\n // Radio Groups can only have a single value, so determining if checked is simple\n isChecked: function isChecked() {\n return Object(__WEBPACK_IMPORTED_MODULE_6__utils_loose_equal__[\"a\" /* default */])(this.value, this.computedLocalChecked);\n },\n // Flags for form-radio-check mixin\n isRadio: function isRadio() {\n return true;\n },\n isCheck: function isCheck() {\n return false;\n }\n },\n watch: {\n // Radio Groups can only have a single value, so our watchers are simple\n computedLocalChecked: function computedLocalChecked(newVal, oldVal) {\n this.$emit('input', this.computedLocalChecked);\n }\n },\n methods: {\n handleChange: function handleChange(_ref) {\n var checked = _ref.target.checked;\n var value = this.value;\n this.computedLocalChecked = value; // Change is only emitted on user interaction\n\n this.$emit('change', checked ? value : null); // If this is a child of form-radio-group, we emit a change event on it as well\n\n if (this.isGroup) {\n this.bvGroup.$emit('change', checked ? value : null);\n }\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLXJhZGlvL2Zvcm0tcmFkaW8uanM/MDRmNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDO0FBQ0k7QUFDSTtBQUNXO0FBQ0Y7QUFDYTtBQUNmOztBQUUxQztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsMkRBQU8sRUFBRSx5RUFBbUI7QUFDdkMsRUFBRSw2REFBUyxFQUFFLGtFQUFhLEVBQUUsbUVBQWM7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSwyRUFBVTtBQUN2QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDOztBQUV4QyxtREFBbUQ7O0FBRW5EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjcxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IGlkTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2lkJztcbmltcG9ydCBmb3JtTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0nO1xuaW1wb3J0IGZvcm1TdGF0ZU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXN0YXRlJztcbmltcG9ydCBmb3JtU2l6ZU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXNpemUnO1xuaW1wb3J0IGZvcm1SYWRpb0NoZWNrTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tcmFkaW8tY2hlY2snO1xuaW1wb3J0IGxvb3NlRXF1YWwgZnJvbSAnLi4vLi4vdXRpbHMvbG9vc2UtZXF1YWwnOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJGb3JtUmFkaW8gPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCRm9ybVJhZGlvJyxcbiAgbWl4aW5zOiBbaWRNaXhpbiwgZm9ybVJhZGlvQ2hlY2tNaXhpbiwgLy8gSW5jbHVkZXMgc2hhcmVkIHJlbmRlciBmdW5jdGlvblxuICBmb3JtTWl4aW4sIGZvcm1TaXplTWl4aW4sIGZvcm1TdGF0ZU1peGluXSxcbiAgaW5qZWN0OiB7XG4gICAgYnZHcm91cDoge1xuICAgICAgZnJvbTogJ2J2UmFkaW9Hcm91cCcsXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH1cbiAgfSxcbiAgcHJvcHM6IHtcbiAgICBjaGVja2VkOiB7XG4gICAgICAvLyB2LW1vZGVsXG4gICAgICAvLyB0eXBlOiBbU3RyaW5nLCBOdW1iZXIsIEJvb2xlYW4sIE9iamVjdF0sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfVxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIC8vIFJhZGlvIEdyb3VwcyBjYW4gb25seSBoYXZlIGEgc2luZ2xlIHZhbHVlLCBzbyBkZXRlcm1pbmluZyBpZiBjaGVja2VkIGlzIHNpbXBsZVxuICAgIGlzQ2hlY2tlZDogZnVuY3Rpb24gaXNDaGVja2VkKCkge1xuICAgICAgcmV0dXJuIGxvb3NlRXF1YWwodGhpcy52YWx1ZSwgdGhpcy5jb21wdXRlZExvY2FsQ2hlY2tlZCk7XG4gICAgfSxcbiAgICAvLyBGbGFncyBmb3IgZm9ybS1yYWRpby1jaGVjayBtaXhpblxuICAgIGlzUmFkaW86IGZ1bmN0aW9uIGlzUmFkaW8oKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIGlzQ2hlY2s6IGZ1bmN0aW9uIGlzQ2hlY2soKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIC8vIFJhZGlvIEdyb3VwcyBjYW4gb25seSBoYXZlIGEgc2luZ2xlIHZhbHVlLCBzbyBvdXIgd2F0Y2hlcnMgYXJlIHNpbXBsZVxuICAgIGNvbXB1dGVkTG9jYWxDaGVja2VkOiBmdW5jdGlvbiBjb21wdXRlZExvY2FsQ2hlY2tlZChuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCB0aGlzLmNvbXB1dGVkTG9jYWxDaGVja2VkKTtcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBoYW5kbGVDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShfcmVmKSB7XG4gICAgICB2YXIgY2hlY2tlZCA9IF9yZWYudGFyZ2V0LmNoZWNrZWQ7XG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy5jb21wdXRlZExvY2FsQ2hlY2tlZCA9IHZhbHVlOyAvLyBDaGFuZ2UgaXMgb25seSBlbWl0dGVkIG9uIHVzZXIgaW50ZXJhY3Rpb25cblxuICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgY2hlY2tlZCA/IHZhbHVlIDogbnVsbCk7IC8vIElmIHRoaXMgaXMgYSBjaGlsZCBvZiBmb3JtLXJhZGlvLWdyb3VwLCB3ZSBlbWl0IGEgY2hhbmdlIGV2ZW50IG9uIGl0IGFzIHdlbGxcblxuICAgICAgaWYgKHRoaXMuaXNHcm91cCkge1xuICAgICAgICB0aGlzLmJ2R3JvdXAuJGVtaXQoJ2NoYW5nZScsIGNoZWNrZWQgPyB2YWx1ZSA6IG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLXJhZGlvL2Zvcm0tcmFkaW8uanNcbi8vIG1vZHVsZSBpZCA9IDcxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///71\n"); + +/***/ }), +/* 72 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BInputGroupPrepend; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__input_group_addon__ = __webpack_require__(45);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n // @vue/component\n\nvar BInputGroupPrepend =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BInputGroupPrepend',\n functional: true,\n props: __WEBPACK_IMPORTED_MODULE_2__input_group_addon__[\"b\" /* commonProps */],\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // pass all our props/attrs down to child, and set`append` to false\n return h(__WEBPACK_IMPORTED_MODULE_2__input_group_addon__[\"a\" /* BInputGroupAddon */], Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n props: _objectSpread({}, props, {\n append: false\n })\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC1wcmVwZW5kLmpzPzBiYzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ2M7O0FBRTdEO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQSxTQUFTLHVFQUFXO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLDRFQUFnQixFQUFFLG9GQUFTO0FBQ3hDLDZCQUE2QjtBQUM3QjtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjcyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgeyBCSW5wdXRHcm91cEFkZG9uLCBjb21tb25Qcm9wcyB9IGZyb20gJy4vaW5wdXQtZ3JvdXAtYWRkb24nOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJJbnB1dEdyb3VwUHJlcGVuZCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JJbnB1dEdyb3VwUHJlcGVuZCcsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBjb21tb25Qcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICAvLyBwYXNzIGFsbCBvdXIgcHJvcHMvYXR0cnMgZG93biB0byBjaGlsZCwgYW5kIHNldGBhcHBlbmRgIHRvIGZhbHNlXG4gICAgcmV0dXJuIGgoQklucHV0R3JvdXBBZGRvbiwgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHByb3BzOiBfb2JqZWN0U3ByZWFkKHt9LCBwcm9wcywge1xuICAgICAgICBhcHBlbmQ6IGZhbHNlXG4gICAgICB9KVxuICAgIH0pLCBjaGlsZHJlbik7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtcHJlcGVuZC5qc1xuLy8gbW9kdWxlIGlkID0gNzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///72\n"); + +/***/ }), +/* 73 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BInputGroupAppend; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__input_group_addon__ = __webpack_require__(45);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n // @vue/component\n\nvar BInputGroupAppend =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BInputGroupAppend',\n functional: true,\n props: __WEBPACK_IMPORTED_MODULE_2__input_group_addon__[\"b\" /* commonProps */],\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // pass all our props/attrs down to child, and set`append` to true\n return h(__WEBPACK_IMPORTED_MODULE_2__input_group_addon__[\"a\" /* BInputGroupAddon */], Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n props: _objectSpread({}, props, {\n append: true\n })\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC1hcHBlbmQuanM/NTU1ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7QUFDYzs7QUFFN0Q7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBLFNBQVMsdUVBQVc7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsNEVBQWdCLEVBQUUsb0ZBQVM7QUFDeEMsNkJBQTZCO0FBQzdCO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiNzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IEJJbnB1dEdyb3VwQWRkb24sIGNvbW1vblByb3BzIH0gZnJvbSAnLi9pbnB1dC1ncm91cC1hZGRvbic7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQklucHV0R3JvdXBBcHBlbmQgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCSW5wdXRHcm91cEFwcGVuZCcsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBjb21tb25Qcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICAvLyBwYXNzIGFsbCBvdXIgcHJvcHMvYXR0cnMgZG93biB0byBjaGlsZCwgYW5kIHNldGBhcHBlbmRgIHRvIHRydWVcbiAgICByZXR1cm4gaChCSW5wdXRHcm91cEFkZG9uLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgcHJvcHM6IF9vYmplY3RTcHJlYWQoe30sIHByb3BzLCB7XG4gICAgICAgIGFwcGVuZDogdHJ1ZVxuICAgICAgfSlcbiAgICB9KSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLWFwcGVuZC5qc1xuLy8gbW9kdWxlIGlkID0gNzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///73\n"); + +/***/ }), +/* 74 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BContainer; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n fluid: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nvar BContainer =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BContainer',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: {\n container: !props.fluid,\n 'container-fluid': props.fluid\n }\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9sYXlvdXQvY29udGFpbmVyLmpzPzMyM2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDb0I7QUFDL0M7QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLG9GQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiI3NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgdGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdkaXYnXG4gIH0sXG4gIGZsdWlkOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJDb250YWluZXIgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCQ29udGFpbmVyJyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHJldHVybiBoKHByb3BzLnRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGNvbnRhaW5lcjogIXByb3BzLmZsdWlkLFxuICAgICAgICAnY29udGFpbmVyLWZsdWlkJzogcHJvcHMuZmx1aWRcbiAgICAgIH1cbiAgICB9KSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2xheW91dC9jb250YWluZXIuanNcbi8vIG1vZHVsZSBpZCA9IDc0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///74\n"); + +/***/ }), +/* 75 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BMediaBody; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n }\n}; // @vue/component\n\nvar BMediaBody =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BMediaBody',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'media-body'\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tZWRpYS9tZWRpYS1ib2R5LmpzP2VhYjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDb0I7QUFDL0M7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isb0ZBQVM7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6Ijc1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2RpdidcbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCTWVkaWFCb2R5ID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQk1lZGlhQm9keScsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICByZXR1cm4gaChwcm9wcy50YWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ21lZGlhLWJvZHknXG4gICAgfSksIGNoaWxkcmVuKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tZWRpYS9tZWRpYS1ib2R5LmpzXG4vLyBtb2R1bGUgaWQgPSA3NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///75\n"); + +/***/ }), +/* 76 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BMediaAside; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\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\n\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n verticalAlign: {\n type: String,\n default: 'top'\n }\n}; // @vue/component\n\nvar BMediaAside =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BMediaAside',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var align = props.verticalAlign === 'top' ? 'start' : props.verticalAlign === 'bottom' ? 'end' : props.verticalAlign;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'd-flex',\n class: _defineProperty({}, \"align-self-\".concat(align), align)\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tZWRpYS9tZWRpYS1hc2lkZS5qcz81MzE2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQy9DO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLG9GQUFTO0FBQ2pDO0FBQ0EsK0JBQStCO0FBQy9CLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiNzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIHRhZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnZGl2J1xuICB9LFxuICB2ZXJ0aWNhbEFsaWduOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICd0b3AnXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQk1lZGlhQXNpZGUgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCTWVkaWFBc2lkZScsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICB2YXIgYWxpZ24gPSBwcm9wcy52ZXJ0aWNhbEFsaWduID09PSAndG9wJyA/ICdzdGFydCcgOiBwcm9wcy52ZXJ0aWNhbEFsaWduID09PSAnYm90dG9tJyA/ICdlbmQnIDogcHJvcHMudmVydGljYWxBbGlnbjtcbiAgICByZXR1cm4gaChwcm9wcy50YWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ2QtZmxleCcsXG4gICAgICBjbGFzczogX2RlZmluZVByb3BlcnR5KHt9LCBcImFsaWduLXNlbGYtXCIuY29uY2F0KGFsaWduKSwgYWxpZ24pXG4gICAgfSksIGNoaWxkcmVuKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tZWRpYS9tZWRpYS1hc2lkZS5qc1xuLy8gbW9kdWxlIGlkID0gNzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///76\n"); + +/***/ }), +/* 77 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BModal; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_bv_transition__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_key_codes__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_observe_dom__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__utils_safe_types__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__utils_transporter__ = __webpack_require__(255);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__mixins_listen_on_root__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__mixins_scoped_style_attrs__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__button_button__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__button_button_close__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__helpers_modal_manager__ = __webpack_require__(256);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__helpers_bv_modal_event_class__ = __webpack_require__(257);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // --- Constants ---\n\nvar NAME = 'BModal'; // ObserveDom config to detect changes in modal content\n// so that we can adjust the modal padding if needed\n\nvar OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}; // Options for DOM event listeners\n\nvar EVT_OPTIONS = {\n passive: true,\n capture: false\n}; // Query selector to find all tabbable elements\n// (includes tabindex=\"-1\", which we filter out after)\n\nvar TABABLE_SELECTOR = ['button', '[href]:not(.disabled)', 'input', 'select', 'textarea', '[tabindex]', '[contenteditable]'].map(function (s) {\n return \"\".concat(s, \":not(:disabled):not([disabled])\");\n}).join(', '); // --- Utility methods ---\n// Attempt to focus an element, and return true if successful\n\nvar attemptFocus = function attemptFocus(el) {\n if (el && Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"p\" /* isVisible */])(el) && el.focus) {\n try {\n el.focus();\n } catch (_unused) {}\n } // If the element has focus, then return true\n\n\n return document.activeElement === el;\n}; // --- Props ---\n\n\nvar props = {\n size: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'size');\n }\n },\n centered: {\n type: Boolean,\n default: false\n },\n scrollable: {\n type: Boolean,\n default: false\n },\n buttonSize: {\n type: String,\n default: ''\n },\n noStacking: {\n type: Boolean,\n default: false\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noCloseOnBackdrop: {\n type: Boolean,\n default: false\n },\n noCloseOnEsc: {\n type: Boolean,\n default: false\n },\n noEnforceFocus: {\n type: Boolean,\n default: false\n },\n title: {\n type: String,\n default: ''\n },\n titleHtml: {\n type: String\n },\n titleTag: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'titleTag');\n }\n },\n titleClass: {\n type: [String, Array, Object],\n default: null\n },\n titleSrOnly: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: null\n },\n headerBgVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'headerBgVariant');\n }\n },\n headerBorderVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'headerBorderVariant');\n }\n },\n headerTextVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'headerTextVariant');\n }\n },\n headerCloseVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'headerCloseVariant');\n }\n },\n headerClass: {\n type: [String, Array, Object],\n default: null\n },\n bodyBgVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'bodyBgVariant');\n }\n },\n bodyTextVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'bodyTextVariant');\n }\n },\n modalClass: {\n type: [String, Array, Object],\n default: null\n },\n dialogClass: {\n type: [String, Array, Object],\n default: null\n },\n contentClass: {\n type: [String, Array, Object],\n default: null\n },\n bodyClass: {\n type: [String, Array, Object],\n default: null\n },\n footerBgVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'footerBgVariant');\n }\n },\n footerBorderVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'footerBorderVariant');\n }\n },\n footerTextVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'footerTextVariant');\n }\n },\n footerClass: {\n type: [String, Array, Object],\n default: null\n },\n hideHeader: {\n type: Boolean,\n default: false\n },\n hideFooter: {\n type: Boolean,\n default: false\n },\n hideHeaderClose: {\n type: Boolean,\n default: false\n },\n hideBackdrop: {\n type: Boolean,\n default: false\n },\n okOnly: {\n type: Boolean,\n default: false\n },\n okDisabled: {\n type: Boolean,\n default: false\n },\n cancelDisabled: {\n type: Boolean,\n default: false\n },\n visible: {\n type: Boolean,\n default: false\n },\n returnFocus: {\n // HTML Element, CSS selector string or Vue component instance\n type: [__WEBPACK_IMPORTED_MODULE_10__utils_safe_types__[\"b\" /* HTMLElement */], String, Object],\n default: null\n },\n headerCloseLabel: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'headerCloseLabel');\n }\n },\n cancelTitle: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'cancelTitle');\n }\n },\n cancelTitleHtml: {\n type: String\n },\n okTitle: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'okTitle');\n }\n },\n okTitleHtml: {\n type: String\n },\n cancelVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'cancelVariant');\n }\n },\n okVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'okVariant');\n }\n },\n lazy: {\n type: Boolean,\n default: false\n },\n busy: {\n type: Boolean,\n default: false\n },\n static: {\n type: Boolean,\n default: false\n },\n autoFocusButton: {\n type: String,\n default: null,\n validator: function validator(val) {\n /* istanbul ignore next */\n return Object(__WEBPACK_IMPORTED_MODULE_9__utils_inspect__[\"o\" /* isUndefinedOrNull */])(val) || Object(__WEBPACK_IMPORTED_MODULE_4__utils_array__[\"a\" /* arrayIncludes */])(['ok', 'cancel', 'close'], val);\n }\n }\n}; // @vue/component\n\nvar BModal =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_12__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_13__mixins_listen_on_root__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_14__mixins_normalize_slot__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_15__mixins_scoped_style_attrs__[\"a\" /* default */]],\n inheritAttrs: false,\n model: {\n prop: 'visible',\n event: 'change'\n },\n props: props,\n data: function data() {\n return {\n isHidden: true,\n // If modal should not be in document\n isVisible: false,\n // Controls modal visible state\n isTransitioning: false,\n // Used for style control\n isShow: false,\n // Used for style control\n isBlock: false,\n // Used for style control\n isOpening: false,\n // To signal that the modal is in the process of opening\n isClosing: false,\n // To signal that the modal is in the process of closing\n ignoreBackdropClick: false,\n // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n return_focus: this.returnFocus || null,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: __WEBPACK_IMPORTED_MODULE_18__helpers_modal_manager__[\"a\" /* modalManager */].getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n };\n },\n computed: {\n modalClasses: function modalClasses() {\n return [{\n fade: !this.noFade,\n show: this.isShow\n }, this.modalClass];\n },\n modalStyles: function modalStyles() {\n var sbWidth = \"\".concat(this.scrollbarWidth, \"px\");\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n };\n },\n dialogClasses: function dialogClasses() {\n var _ref;\n\n return [(_ref = {}, _defineProperty(_ref, \"modal-\".concat(this.size), Boolean(this.size)), _defineProperty(_ref, 'modal-dialog-centered', this.centered), _defineProperty(_ref, 'modal-dialog-scrollable', this.scrollable), _ref), this.dialogClass];\n },\n headerClasses: function headerClasses() {\n var _ref2;\n\n return [(_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(this.headerBgVariant), Boolean(this.headerBgVariant)), _defineProperty(_ref2, \"text-\".concat(this.headerTextVariant), Boolean(this.headerTextVariant)), _defineProperty(_ref2, \"border-\".concat(this.headerBorderVariant), Boolean(this.headerBorderVariant)), _ref2), this.headerClass];\n },\n titleClasses: function titleClasses() {\n return [{\n 'sr-only': this.titleSrOnly\n }, this.titleClass];\n },\n bodyClasses: function bodyClasses() {\n var _ref3;\n\n return [(_ref3 = {}, _defineProperty(_ref3, \"bg-\".concat(this.bodyBgVariant), Boolean(this.bodyBgVariant)), _defineProperty(_ref3, \"text-\".concat(this.bodyTextVariant), Boolean(this.bodyTextVariant)), _ref3), this.bodyClass];\n },\n footerClasses: function footerClasses() {\n var _ref4;\n\n return [(_ref4 = {}, _defineProperty(_ref4, \"bg-\".concat(this.footerBgVariant), Boolean(this.footerBgVariant)), _defineProperty(_ref4, \"text-\".concat(this.footerTextVariant), Boolean(this.footerTextVariant)), _defineProperty(_ref4, \"border-\".concat(this.footerBorderVariant), Boolean(this.footerBorderVariant)), _ref4), this.footerClass];\n },\n modalOuterStyle: function modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n };\n },\n slotScope: function slotScope() {\n return {\n ok: this.onOk,\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n visible: this.isVisible\n };\n }\n },\n watch: {\n visible: function visible(newVal, oldVal) {\n if (newVal !== oldVal) {\n this[newVal ? 'show' : 'hide']();\n }\n }\n },\n created: function created() {\n // Define non-reactive properties\n this._observer = null;\n },\n mounted: function mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = __WEBPACK_IMPORTED_MODULE_18__helpers_modal_manager__[\"a\" /* modalManager */].getBaseZIndex(); // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n\n this.listenOnRoot('bv::show::modal', this.showHandler);\n this.listenOnRoot('bv::hide::modal', this.hideHandler);\n this.listenOnRoot('bv::toggle::modal', this.toggleHandler); // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n\n this.listenOnRoot('bv::modal::show', this.modalListener); // Initially show modal?\n\n if (this.visible === true) {\n this.$nextTick(this.show);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Ensure everything is back to normal\n if (this._observer) {\n this._observer.disconnect();\n\n this._observer = null;\n }\n\n this.setEnforceFocus(false);\n this.setResizeEvent(false);\n\n if (this.isVisible) {\n this.isVisible = false;\n this.isShow = false;\n this.isTransitioning = false;\n }\n },\n methods: {\n // Private method to update the v-model\n updateModel: function updateModel(val) {\n if (val !== this.visible) {\n this.$emit('change', val);\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent: function buildEvent(type) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new __WEBPACK_IMPORTED_MODULE_19__helpers_bv_modal_event_class__[\"a\" /* BvModalEvent */](type, _objectSpread({\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null\n }, opts, {\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.safeId()\n }));\n },\n // Public method to show modal\n show: function show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n\n /* istanbul ignore next */\n this.$once('hidden', this.show);\n /* istanbul ignore next */\n\n return;\n }\n\n this.isOpening = true; // Set the element to return focus to when closed\n\n this.return_focus = this.return_focus || this.getActiveElement();\n var showEvt = this.buildEvent('show', {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if canceled\n\n if (showEvt.defaultPrevented || this.isVisible) {\n this.isOpening = false; // Ensure the v-model reflects the current state\n\n this.updateModel(false);\n return;\n } // Show the modal\n\n\n this.doShow();\n },\n // Public method to hide modal\n hide: function hide() {\n var trigger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return;\n }\n\n this.isClosing = true;\n var hideEvt = this.buildEvent('hide', {\n cancelable: trigger !== 'FORCE',\n trigger: trigger || null\n }); // We emit specific event for one of the three built-in buttons\n\n if (trigger === 'ok') {\n this.$emit('ok', hideEvt);\n } else if (trigger === 'cancel') {\n this.$emit('cancel', hideEvt);\n } else if (trigger === 'headerclose') {\n this.$emit('close', hideEvt);\n }\n\n this.emitEvent(hideEvt); // Hide if not canceled\n\n if (hideEvt.defaultPrevented || !this.isVisible) {\n this.isClosing = false; // Ensure v-model reflects current state\n\n this.updateModel(true);\n return;\n } // Stop observing for content changes\n\n\n if (this._observer) {\n this._observer.disconnect();\n\n this._observer = null;\n } // Trigger the hide transition\n\n\n this.isVisible = false; // Update the v-model\n\n this.updateModel(false);\n },\n // Public method to toggle modal visibility\n toggle: function toggle(triggerEl) {\n if (triggerEl) {\n this.return_focus = triggerEl;\n }\n\n if (this.isVisible) {\n this.hide('toggle');\n } else {\n this.show();\n }\n },\n // Private method to get the current document active element\n getActiveElement: function getActiveElement() {\n if (__WEBPACK_IMPORTED_MODULE_7__utils_env__[\"j\" /* isBrowser */]) {\n var activeElement = document.activeElement; // Note: On IE11, `document.activeElement` may be null.\n // So we test it for truthiness first.\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n // Returning focus to document.body may cause unwanted scrolls, so we\n // exclude setting focus on body\n\n if (activeElement && activeElement !== document.body && activeElement.focus) {\n // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n return activeElement;\n }\n }\n\n return null;\n },\n // Private method to get a list of all tabable elements within modal content\n getTabables: function getTabables() {\n // Find all tabable elements in the modal content\n // Assumes users have not used tabindex > 0 on elements!\n return Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"y\" /* selectAll */])(TABABLE_SELECTOR, this.$refs.content).filter(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"p\" /* isVisible */]).filter(function (i) {\n return i.tabIndex > -1 && !i.disabled;\n });\n },\n // Private method to finish showing modal\n doShow: function doShow() {\n var _this = this;\n\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (__WEBPACK_IMPORTED_MODULE_18__helpers_modal_manager__[\"a\" /* modalManager */].modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce('bv::modal::hidden', this.doShow);\n return;\n }\n\n __WEBPACK_IMPORTED_MODULE_18__helpers_modal_manager__[\"a\" /* modalManager */].registerModal(this); // Place modal in DOM\n\n this.isHidden = false;\n this.$nextTick(function () {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n _this.isVisible = true;\n _this.isOpening = false; // Update the v-model\n\n _this.updateModel(true);\n\n _this.$nextTick(function () {\n // In a nextTick in case modal content is lazy\n // Observe changes in modal content and adjust if necessary\n _this._observer = Object(__WEBPACK_IMPORTED_MODULE_3__utils_observe_dom__[\"a\" /* default */])(_this.$refs.content, _this.checkModalOverflow.bind(_this), OBSERVER_CONFIG);\n });\n });\n },\n // Transition handlers\n onBeforeEnter: function onBeforeEnter() {\n this.isTransitioning = true;\n this.setResizeEvent(true);\n },\n onEnter: function onEnter() {\n this.isBlock = true;\n },\n onAfterEnter: function onAfterEnter() {\n var _this2 = this;\n\n this.checkModalOverflow();\n this.isShow = true;\n this.isTransitioning = false; // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"w\" /* requestAF */])(function () {\n _this2.emitEvent(_this2.buildEvent('shown'));\n\n _this2.setEnforceFocus(true);\n\n _this2.$nextTick(function () {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n _this2.focusFirst();\n });\n });\n },\n onBeforeLeave: function onBeforeLeave() {\n this.isTransitioning = true;\n this.setResizeEvent(false);\n this.setEnforceFocus(false);\n },\n onLeave: function onLeave() {\n // Remove the 'show' class\n this.isShow = false;\n },\n onAfterLeave: function onAfterLeave() {\n var _this3 = this;\n\n this.isBlock = false;\n this.isTransitioning = false;\n this.isModalOverflowing = false;\n this.isHidden = true;\n this.$nextTick(function () {\n _this3.isClosing = false;\n __WEBPACK_IMPORTED_MODULE_18__helpers_modal_manager__[\"a\" /* modalManager */].unregisterModal(_this3);\n\n _this3.returnFocusTo(); // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n\n\n _this3.emitEvent(_this3.buildEvent('hidden'));\n });\n },\n // Event emitter\n emitEvent: function emitEvent(bvModalEvt) {\n var type = bvModalEvt.type; // We emit on root first incase a global listener wants to cancel\n // the event first before the instance emits it's event\n\n this.emitOnRoot(\"bv::modal::\".concat(type), bvModalEvt, bvModalEvt.componentId);\n this.$emit(type, bvModalEvt);\n },\n // UI event handlers\n onDialogMousedown: function onDialogMousedown() {\n var _this4 = this;\n\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n var modal = this.$refs.modal;\n\n var onceModalMouseup = function onceModalMouseup(evt) {\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"e\" /* eventOff */])(modal, 'mouseup', onceModalMouseup, EVT_OPTIONS);\n\n if (evt.target === modal) {\n _this4.ignoreBackdropClick = true;\n }\n };\n\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"f\" /* eventOn */])(modal, 'mouseup', onceModalMouseup, EVT_OPTIONS);\n },\n onClickOut: function onClickOut(evt) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false;\n return;\n } // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n\n\n if (!this.isVisible || this.noCloseOnBackdrop || !Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"d\" /* contains */])(document.body, evt.target)) {\n return;\n } // If backdrop clicked, hide modal\n\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"d\" /* contains */])(this.$refs.content, evt.target)) {\n this.hide('backdrop');\n }\n },\n onOk: function onOk() {\n this.hide('ok');\n },\n onCancel: function onCancel() {\n this.hide('cancel');\n },\n onClose: function onClose() {\n this.hide('headerclose');\n },\n onEsc: function onEsc(evt) {\n // If ESC pressed, hide modal\n if (evt.keyCode === __WEBPACK_IMPORTED_MODULE_2__utils_key_codes__[\"a\" /* default */].ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide('esc');\n }\n },\n // Document focusin listener\n focusHandler: function focusHandler(evt) {\n // If focus leaves modal content, bring it back\n var content = this.$refs.content;\n var target = evt.target;\n\n if (!this.noEnforceFocus && this.isTop && this.isVisible && content && document !== target && !Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"d\" /* contains */])(content, target)) {\n var tabables = this.getTabables();\n\n if (this.$refs.bottomTrap && target === this.$refs.bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return;\n }\n } else if (this.$refs.topTrap && target === this.$refs.topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return;\n }\n } // Otherwise focus the modal content container\n\n\n content.focus({\n preventScroll: true\n });\n }\n },\n // Turn on/off focusin listener\n setEnforceFocus: function setEnforceFocus(on) {\n var method = on ? __WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"f\" /* eventOn */] : __WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"e\" /* eventOff */];\n method(document, 'focusin', this.focusHandler, EVT_OPTIONS);\n },\n // Resize listener\n setResizeEvent: function setResizeEvent(on) {\n var method = on ? __WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"f\" /* eventOn */] : __WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"e\" /* eventOff */]; // These events should probably also check if\n // body is overflowing\n\n method(window, 'resize', this.checkModalOverflow, EVT_OPTIONS);\n method(window, 'orientationchange', this.checkModalOverflow, EVT_OPTIONS);\n },\n // Root listener handlers\n showHandler: function showHandler(id, triggerEl) {\n if (id === this.safeId()) {\n this.return_focus = triggerEl || this.getActiveElement();\n this.show();\n }\n },\n hideHandler: function hideHandler(id) {\n if (id === this.safeId()) {\n this.hide('event');\n }\n },\n toggleHandler: function toggleHandler(id, triggerEl) {\n if (id === this.safeId()) {\n this.toggle(triggerEl);\n }\n },\n modalListener: function modalListener(bvEvt) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvt.vueTarget !== this) {\n this.hide();\n }\n },\n // Focus control handlers\n focusFirst: function focusFirst() {\n var _this5 = this;\n\n // Don't try and focus if we are SSR\n if (__WEBPACK_IMPORTED_MODULE_7__utils_env__[\"j\" /* isBrowser */]) {\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"w\" /* requestAF */])(function () {\n var modal = _this5.$refs.modal;\n var content = _this5.$refs.content;\n\n var activeElement = _this5.getActiveElement(); // If the modal contains the activeElement, we don't do anything\n\n\n if (modal && content && !(activeElement && Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"d\" /* contains */])(content, activeElement))) {\n var ok = _this5.$refs['ok-button'];\n var cancel = _this5.$refs['cancel-button'];\n var close = _this5.$refs['close-button']; // Focus the appropriate button or modal content wrapper\n\n var autoFocus = _this5.autoFocusButton;\n var el = autoFocus === 'ok' && ok ? ok.$el || ok : autoFocus === 'cancel' && cancel ? cancel.$el || cancel : autoFocus === 'close' && close ? close.$el || close : content; // Focus the element\n\n attemptFocus(el);\n\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n _this5.$nextTick(function () {\n modal.scrollTop = 0;\n });\n }\n }\n });\n }\n },\n returnFocusTo: function returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n var el = this.returnFocus || this.return_focus || null;\n this.return_focus = null;\n this.$nextTick(function () {\n // Is el a string CSS selector?\n el = Object(__WEBPACK_IMPORTED_MODULE_9__utils_inspect__[\"m\" /* isString */])(el) ? Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"x\" /* select */])(el) : el;\n\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el;\n attemptFocus(el);\n }\n });\n },\n checkModalOverflow: function checkModalOverflow() {\n if (this.isVisible) {\n var modal = this.$refs.modal;\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight;\n }\n },\n makeModal: function makeModal(h) {\n // Modal header\n var header = h();\n\n if (!this.hideHeader) {\n var modalHeader = this.normalizeSlot('modal-header', this.slotScope);\n\n if (!modalHeader) {\n var closeButton = h();\n\n if (!this.hideHeaderClose) {\n closeButton = h(__WEBPACK_IMPORTED_MODULE_17__button_button_close__[\"a\" /* BButtonClose */], {\n ref: 'close-button',\n props: {\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: {\n click: this.onClose\n }\n }, [this.normalizeSlot('modal-header-close')]);\n }\n\n var domProps = !this.hasNormalizedSlot('modal-title') && this.titleHtml ? {\n innerHTML: this.titleHtml\n } : {};\n modalHeader = [h(this.titleTag, {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: {\n id: this.safeId('__BV_modal_title_')\n },\n domProps: domProps\n }, [this.normalizeSlot('modal-title', this.slotScope) || Object(__WEBPACK_IMPORTED_MODULE_8__utils_html__[\"b\" /* stripTags */])(this.title)]), closeButton];\n }\n\n header = h('header', {\n ref: 'header',\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: {\n id: this.safeId('__BV_modal_header_')\n }\n }, [modalHeader]);\n } // Modal body\n\n\n var body = h('div', {\n ref: 'body',\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: {\n id: this.safeId('__BV_modal_body_')\n }\n }, this.normalizeSlot('default', this.slotScope)); // Modal footer\n\n var footer = h();\n\n if (!this.hideFooter) {\n var modalFooter = this.normalizeSlot('modal-footer', this.slotScope);\n\n if (!modalFooter) {\n var cancelButton = h();\n\n if (!this.okOnly) {\n var cancelHtml = this.cancelTitleHtml ? {\n innerHTML: this.cancelTitleHtml\n } : null;\n cancelButton = h(__WEBPACK_IMPORTED_MODULE_16__button_button__[\"a\" /* BButton */], {\n ref: 'cancel-button',\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n on: {\n click: this.onCancel\n }\n }, [this.normalizeSlot('modal-cancel') || (cancelHtml ? h('span', {\n domProps: cancelHtml\n }) : Object(__WEBPACK_IMPORTED_MODULE_8__utils_html__[\"b\" /* stripTags */])(this.cancelTitle))]);\n }\n\n var okHtml = this.okTitleHtml ? {\n innerHTML: this.okTitleHtml\n } : null;\n var okButton = h(__WEBPACK_IMPORTED_MODULE_16__button_button__[\"a\" /* BButton */], {\n ref: 'ok-button',\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n on: {\n click: this.onOk\n }\n }, [this.normalizeSlot('modal-ok') || (okHtml ? h('span', {\n domProps: okHtml\n }) : Object(__WEBPACK_IMPORTED_MODULE_8__utils_html__[\"b\" /* stripTags */])(this.okTitle))]);\n modalFooter = [cancelButton, okButton];\n }\n\n footer = h('footer', {\n ref: 'footer',\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: {\n id: this.safeId('__BV_modal_footer_')\n }\n }, [modalFooter]);\n } // Assemble modal content\n\n\n var modalContent = h('div', {\n ref: 'content',\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n role: 'document',\n id: this.safeId('__BV_modal_content_'),\n tabindex: '-1'\n }\n }, [header, body, footer]); // Tab trap to prevent page from scrolling to next element in\n // tab index during enforce focus tab cycle\n\n var tabTrapTop = h();\n var tabTrapBottom = h();\n\n if (this.isVisible && !this.noEnforceFocus) {\n tabTrapTop = h('span', {\n ref: 'topTrap',\n attrs: {\n tabindex: '0'\n }\n });\n tabTrapBottom = h('span', {\n ref: 'bottomTrap',\n attrs: {\n tabindex: '0'\n }\n });\n } // Modal dialog wrapper\n\n\n var modalDialog = h('div', {\n ref: 'dialog',\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: {\n mousedown: this.onDialogMousedown\n }\n }, [tabTrapTop, modalContent, tabTrapBottom]); // Modal\n\n var modal = h('div', {\n ref: 'modal',\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n directives: [{\n name: 'show',\n rawName: 'v-show',\n value: this.isVisible,\n expression: 'isVisible'\n }],\n attrs: {\n id: this.safeId(),\n role: 'dialog',\n 'aria-hidden': this.isVisible ? null : 'true',\n 'aria-modal': this.isVisible ? 'true' : null,\n 'aria-label': this.ariaLabel,\n 'aria-labelledby': this.hideHeader || this.ariaLabel || !(this.hasNormalizedSlot('modal-title') || this.titleHtml || this.title) ? null : this.safeId('__BV_modal_title_'),\n 'aria-describedby': this.safeId('__BV_modal_body_')\n },\n on: {\n keydown: this.onEsc,\n click: this.onClickOut\n }\n }, [modalDialog]); // Wrap modal in transition\n // Sadly, we can't use BVTransition here due to the differences in\n // transition durations for .modal and .modal-dialog. Not until\n // issue https://github.com/vuejs/vue/issues/9986 is resolved\n\n modal = h('transition', {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [modal]); // Modal backdrop\n\n var backdrop = h();\n\n if (!this.hideBackdrop && this.isVisible) {\n backdrop = h('div', {\n staticClass: 'modal-backdrop',\n attrs: {\n id: this.safeId('__BV_modal_backdrop_')\n }\n }, [this.normalizeSlot('modal-backdrop')]);\n }\n\n backdrop = h(__WEBPACK_IMPORTED_MODULE_1__utils_bv_transition__[\"b\" /* default */], {\n props: {\n noFade: this.noFade\n }\n }, [backdrop]); // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n\n var scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}; // Assemble modal and backdrop in an outer <div>\n\n return h('div', {\n key: \"modal-outer-\".concat(this._uid),\n style: this.modalOuterStyle,\n attrs: _objectSpread({}, scopedStyleAttrs, {}, this.$attrs, {\n id: this.safeId('__BV_modal_outer_')\n })\n }, [modal, backdrop]);\n }\n },\n render: function render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h);\n } else {\n return this.isHidden ? h() : h(__WEBPACK_IMPORTED_MODULE_11__utils_transporter__[\"a\" /* BTransporterSingle */], {}, [this.makeModal(h)]);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tb2RhbC9tb2RhbC5qcz8wZWVkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNtQjtBQUNSO0FBQ0k7QUFDQztBQUNNO0FBQytDO0FBQzNEO0FBQ0M7QUFDcUI7QUFDYjtBQUNRO0FBQ3ZCO0FBQ3NCO0FBQ0M7QUFDTztBQUN6QjtBQUNXO0FBQ0M7QUFDTzs7QUFFOUQsb0JBQW9CO0FBQ3BCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQSxDQUFDLGFBQWE7QUFDZDs7QUFFQTtBQUNBLFlBQVkscUVBQVM7QUFDckI7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHOzs7QUFHSDtBQUNBLEVBQUU7OztBQUdLO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxXQUFXLHVFQUFXO0FBQ3RCO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBaUIsU0FBUywyRUFBYTtBQUNwRDtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsNERBQU8sRUFBRSx3RUFBaUIsRUFBRSx3RUFBa0IsRUFBRSw0RUFBcUI7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsNkVBQVk7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBLHdCQUF3QjtBQUN4QixLQUFLO0FBQ0w7QUFDQTs7QUFFQSx5QkFBeUI7QUFDekIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQSx5QkFBeUI7QUFDekIsS0FBSztBQUNMO0FBQ0E7O0FBRUEseUJBQXlCO0FBQ3pCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLGtCQUFrQiw2RUFBWSxpQkFBaUI7QUFDL0M7O0FBRUE7QUFDQTtBQUNBLCtEQUErRDtBQUMvRDs7QUFFQSw2REFBNkQ7O0FBRTdEO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLG9GQUFZO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSw0QkFBNEI7O0FBRTVCO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCw4QkFBOEI7O0FBRTlCO0FBQ0EsK0JBQStCOztBQUUvQjtBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxFQUFFOztBQUVUO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQSw4QkFBOEI7O0FBRTlCO0FBQ0EsK0JBQStCOztBQUUvQjtBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTs7QUFFQTtBQUNBLE9BQU87OztBQUdQLDZCQUE2Qjs7QUFFN0I7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLFVBQVUsNkRBQVM7QUFDbkIsbURBQW1EO0FBQ25EO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHFFQUFTLDhDQUE4Qyw2REFBUztBQUM3RTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVSw2RUFBWTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLDZFQUFZLHFCQUFxQjs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLDJFQUFVO0FBQ3RDLFNBQVM7QUFDVCxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLHFFQUFTO0FBQ2Y7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDZFQUFZOztBQUVwQiwrQkFBK0I7QUFDL0I7OztBQUdBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVEsb0VBQVE7O0FBRWhCO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU0sbUVBQU87QUFDYixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOzs7QUFHQSx3REFBd0Qsb0VBQVE7QUFDaEU7QUFDQSxPQUFPOzs7QUFHUCxXQUFXLG9FQUFRO0FBQ25CO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLDBCQUEwQixpRUFBUTtBQUNsQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUdBQXFHLG9FQUFRO0FBQzdHOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7OztBQUdUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLHdCQUF3QiwyREFBTyxHQUFHLDREQUFRO0FBQzFDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSx3QkFBd0IsMkRBQU8sR0FBRyw0REFBUSxDQUFDO0FBQzNDOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVSw2REFBUztBQUNuQixRQUFRLHFFQUFTO0FBQ2pCO0FBQ0E7O0FBRUEsd0RBQXdEOzs7QUFHeEQscURBQXFELG9FQUFRO0FBQzdEO0FBQ0E7QUFDQSxxREFBcUQ7O0FBRXJEO0FBQ0EsdUxBQXVMOztBQUV2TDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSx3RUFBUSxPQUFPLGtFQUFNOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSw0QkFBNEIsMkVBQVk7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsV0FBVyx3REFBd0Qsc0VBQVM7QUFDNUU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTzs7O0FBR1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLGlEQUFpRDs7QUFFeEQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYiw2QkFBNkIsZ0VBQU87QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxhQUFhLElBQUksc0VBQVM7QUFDMUI7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWCwyQkFBMkIsZ0VBQU87QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxXQUFXLElBQUksc0VBQVM7QUFDeEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPOzs7QUFHUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLDBCQUEwQjtBQUNqQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyw2Q0FBNkM7O0FBRXBEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLGlCQUFpQjtBQUN4QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxXQUFXOztBQUVsQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUEsbUJBQW1CLHFFQUFZO0FBQy9CO0FBQ0E7QUFDQTtBQUNBLE9BQU8sY0FBYztBQUNyQjs7QUFFQSx1RUFBdUU7O0FBRXZFO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxxQ0FBcUMsK0VBQWtCLElBQUk7QUFDM0Q7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiNzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgQlZUcmFuc2l0aW9uIGZyb20gJy4uLy4uL3V0aWxzL2J2LXRyYW5zaXRpb24nO1xuaW1wb3J0IEtleUNvZGVzIGZyb20gJy4uLy4uL3V0aWxzL2tleS1jb2Rlcyc7XG5pbXBvcnQgb2JzZXJ2ZURvbSBmcm9tICcuLi8uLi91dGlscy9vYnNlcnZlLWRvbSc7XG5pbXBvcnQgeyBhcnJheUluY2x1ZGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IGNvbnRhaW5zLCBldmVudE9mZiwgZXZlbnRPbiwgaXNWaXNpYmxlLCByZXF1ZXN0QUYsIHNlbGVjdCwgc2VsZWN0QWxsIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJy4uLy4uL3V0aWxzL2Vudic7XG5pbXBvcnQgeyBzdHJpcFRhZ3MgfSBmcm9tICcuLi8uLi91dGlscy9odG1sJztcbmltcG9ydCB7IGlzU3RyaW5nLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsgSFRNTEVsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9zYWZlLXR5cGVzJztcbmltcG9ydCB7IEJUcmFuc3BvcnRlclNpbmdsZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RyYW5zcG9ydGVyJztcbmltcG9ydCBpZE1peGluIGZyb20gJy4uLy4uL21peGlucy9pZCc7XG5pbXBvcnQgbGlzdGVuT25Sb290TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2xpc3Rlbi1vbi1yb290JztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCBzY29wZWRTdHlsZUF0dHJzTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL3Njb3BlZC1zdHlsZS1hdHRycyc7XG5pbXBvcnQgeyBCQnV0dG9uIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbic7XG5pbXBvcnQgeyBCQnV0dG9uQ2xvc2UgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLWNsb3NlJztcbmltcG9ydCB7IG1vZGFsTWFuYWdlciB9IGZyb20gJy4vaGVscGVycy9tb2RhbC1tYW5hZ2VyJztcbmltcG9ydCB7IEJ2TW9kYWxFdmVudCB9IGZyb20gJy4vaGVscGVycy9idi1tb2RhbC1ldmVudC5jbGFzcyc7IC8vIC0tLSBDb25zdGFudHMgLS0tXG5cbnZhciBOQU1FID0gJ0JNb2RhbCc7IC8vIE9ic2VydmVEb20gY29uZmlnIHRvIGRldGVjdCBjaGFuZ2VzIGluIG1vZGFsIGNvbnRlbnRcbi8vIHNvIHRoYXQgd2UgY2FuIGFkanVzdCB0aGUgbW9kYWwgcGFkZGluZyBpZiBuZWVkZWRcblxudmFyIE9CU0VSVkVSX0NPTkZJRyA9IHtcbiAgc3VidHJlZTogdHJ1ZSxcbiAgY2hpbGRMaXN0OiB0cnVlLFxuICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICBhdHRyaWJ1dGVzOiB0cnVlLFxuICBhdHRyaWJ1dGVGaWx0ZXI6IFsnc3R5bGUnLCAnY2xhc3MnXVxufTsgLy8gT3B0aW9ucyBmb3IgRE9NIGV2ZW50IGxpc3RlbmVyc1xuXG52YXIgRVZUX09QVElPTlMgPSB7XG4gIHBhc3NpdmU6IHRydWUsXG4gIGNhcHR1cmU6IGZhbHNlXG59OyAvLyBRdWVyeSBzZWxlY3RvciB0byBmaW5kIGFsbCB0YWJiYWJsZSBlbGVtZW50c1xuLy8gKGluY2x1ZGVzIHRhYmluZGV4PVwiLTFcIiwgd2hpY2ggd2UgZmlsdGVyIG91dCBhZnRlcilcblxudmFyIFRBQkFCTEVfU0VMRUNUT1IgPSBbJ2J1dHRvbicsICdbaHJlZl06bm90KC5kaXNhYmxlZCknLCAnaW5wdXQnLCAnc2VsZWN0JywgJ3RleHRhcmVhJywgJ1t0YWJpbmRleF0nLCAnW2NvbnRlbnRlZGl0YWJsZV0nXS5tYXAoZnVuY3Rpb24gKHMpIHtcbiAgcmV0dXJuIFwiXCIuY29uY2F0KHMsIFwiOm5vdCg6ZGlzYWJsZWQpOm5vdChbZGlzYWJsZWRdKVwiKTtcbn0pLmpvaW4oJywgJyk7IC8vIC0tLSBVdGlsaXR5IG1ldGhvZHMgLS0tXG4vLyBBdHRlbXB0IHRvIGZvY3VzIGFuIGVsZW1lbnQsIGFuZCByZXR1cm4gdHJ1ZSBpZiBzdWNjZXNzZnVsXG5cbnZhciBhdHRlbXB0Rm9jdXMgPSBmdW5jdGlvbiBhdHRlbXB0Rm9jdXMoZWwpIHtcbiAgaWYgKGVsICYmIGlzVmlzaWJsZShlbCkgJiYgZWwuZm9jdXMpIHtcbiAgICB0cnkge1xuICAgICAgZWwuZm9jdXMoKTtcbiAgICB9IGNhdGNoIChfdW51c2VkKSB7fVxuICB9IC8vIElmIHRoZSBlbGVtZW50IGhhcyBmb2N1cywgdGhlbiByZXR1cm4gdHJ1ZVxuXG5cbiAgcmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGVsO1xufTsgLy8gLS0tIFByb3BzIC0tLVxuXG5cbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIHNpemU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdzaXplJyk7XG4gICAgfVxuICB9LFxuICBjZW50ZXJlZDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgc2Nyb2xsYWJsZToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgYnV0dG9uU2l6ZToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnJ1xuICB9LFxuICBub1N0YWNraW5nOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBub0ZhZGU6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIG5vQ2xvc2VPbkJhY2tkcm9wOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBub0Nsb3NlT25Fc2M6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIG5vRW5mb3JjZUZvY3VzOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICB0aXRsZToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnJ1xuICB9LFxuICB0aXRsZUh0bWw6IHtcbiAgICB0eXBlOiBTdHJpbmdcbiAgfSxcbiAgdGl0bGVUYWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd0aXRsZVRhZycpO1xuICAgIH1cbiAgfSxcbiAgdGl0bGVDbGFzczoge1xuICAgIHR5cGU6IFtTdHJpbmcsIEFycmF5LCBPYmplY3RdLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgdGl0bGVTck9ubHk6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGFyaWFMYWJlbDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGhlYWRlckJnVmFyaWFudDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2hlYWRlckJnVmFyaWFudCcpO1xuICAgIH1cbiAgfSxcbiAgaGVhZGVyQm9yZGVyVmFyaWFudDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2hlYWRlckJvcmRlclZhcmlhbnQnKTtcbiAgICB9XG4gIH0sXG4gIGhlYWRlclRleHRWYXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnaGVhZGVyVGV4dFZhcmlhbnQnKTtcbiAgICB9XG4gIH0sXG4gIGhlYWRlckNsb3NlVmFyaWFudDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2hlYWRlckNsb3NlVmFyaWFudCcpO1xuICAgIH1cbiAgfSxcbiAgaGVhZGVyQ2xhc3M6IHtcbiAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGJvZHlCZ1ZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdib2R5QmdWYXJpYW50Jyk7XG4gICAgfVxuICB9LFxuICBib2R5VGV4dFZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdib2R5VGV4dFZhcmlhbnQnKTtcbiAgICB9XG4gIH0sXG4gIG1vZGFsQ2xhc3M6IHtcbiAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGRpYWxvZ0NsYXNzOiB7XG4gICAgdHlwZTogW1N0cmluZywgQXJyYXksIE9iamVjdF0sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBjb250ZW50Q2xhc3M6IHtcbiAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGJvZHlDbGFzczoge1xuICAgIHR5cGU6IFtTdHJpbmcsIEFycmF5LCBPYmplY3RdLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgZm9vdGVyQmdWYXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnZm9vdGVyQmdWYXJpYW50Jyk7XG4gICAgfVxuICB9LFxuICBmb290ZXJCb3JkZXJWYXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnZm9vdGVyQm9yZGVyVmFyaWFudCcpO1xuICAgIH1cbiAgfSxcbiAgZm9vdGVyVGV4dFZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdmb290ZXJUZXh0VmFyaWFudCcpO1xuICAgIH1cbiAgfSxcbiAgZm9vdGVyQ2xhc3M6IHtcbiAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGhpZGVIZWFkZXI6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGhpZGVGb290ZXI6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGhpZGVIZWFkZXJDbG9zZToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgaGlkZUJhY2tkcm9wOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBva09ubHk6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIG9rRGlzYWJsZWQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGNhbmNlbERpc2FibGVkOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICB2aXNpYmxlOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICByZXR1cm5Gb2N1czoge1xuICAgIC8vIEhUTUwgRWxlbWVudCwgQ1NTIHNlbGVjdG9yIHN0cmluZyBvciBWdWUgY29tcG9uZW50IGluc3RhbmNlXG4gICAgdHlwZTogW0hUTUxFbGVtZW50LCBTdHJpbmcsIE9iamVjdF0sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBoZWFkZXJDbG9zZUxhYmVsOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnaGVhZGVyQ2xvc2VMYWJlbCcpO1xuICAgIH1cbiAgfSxcbiAgY2FuY2VsVGl0bGU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdjYW5jZWxUaXRsZScpO1xuICAgIH1cbiAgfSxcbiAgY2FuY2VsVGl0bGVIdG1sOiB7XG4gICAgdHlwZTogU3RyaW5nXG4gIH0sXG4gIG9rVGl0bGU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdva1RpdGxlJyk7XG4gICAgfVxuICB9LFxuICBva1RpdGxlSHRtbDoge1xuICAgIHR5cGU6IFN0cmluZ1xuICB9LFxuICBjYW5jZWxWYXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnY2FuY2VsVmFyaWFudCcpO1xuICAgIH1cbiAgfSxcbiAgb2tWYXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnb2tWYXJpYW50Jyk7XG4gICAgfVxuICB9LFxuICBsYXp5OiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBidXN5OiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBzdGF0aWM6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGF1dG9Gb2N1c0J1dHRvbjoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsLFxuICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbCkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybiBpc1VuZGVmaW5lZE9yTnVsbCh2YWwpIHx8IGFycmF5SW5jbHVkZXMoWydvaycsICdjYW5jZWwnLCAnY2xvc2UnXSwgdmFsKTtcbiAgICB9XG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQk1vZGFsID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBtaXhpbnM6IFtpZE1peGluLCBsaXN0ZW5PblJvb3RNaXhpbiwgbm9ybWFsaXplU2xvdE1peGluLCBzY29wZWRTdHlsZUF0dHJzTWl4aW5dLFxuICBpbmhlcml0QXR0cnM6IGZhbHNlLFxuICBtb2RlbDoge1xuICAgIHByb3A6ICd2aXNpYmxlJyxcbiAgICBldmVudDogJ2NoYW5nZSdcbiAgfSxcbiAgcHJvcHM6IHByb3BzLFxuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpc0hpZGRlbjogdHJ1ZSxcbiAgICAgIC8vIElmIG1vZGFsIHNob3VsZCBub3QgYmUgaW4gZG9jdW1lbnRcbiAgICAgIGlzVmlzaWJsZTogZmFsc2UsXG4gICAgICAvLyBDb250cm9scyBtb2RhbCB2aXNpYmxlIHN0YXRlXG4gICAgICBpc1RyYW5zaXRpb25pbmc6IGZhbHNlLFxuICAgICAgLy8gVXNlZCBmb3Igc3R5bGUgY29udHJvbFxuICAgICAgaXNTaG93OiBmYWxzZSxcbiAgICAgIC8vIFVzZWQgZm9yIHN0eWxlIGNvbnRyb2xcbiAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgLy8gVXNlZCBmb3Igc3R5bGUgY29udHJvbFxuICAgICAgaXNPcGVuaW5nOiBmYWxzZSxcbiAgICAgIC8vIFRvIHNpZ25hbCB0aGF0IHRoZSBtb2RhbCBpcyBpbiB0aGUgcHJvY2VzcyBvZiBvcGVuaW5nXG4gICAgICBpc0Nsb3Npbmc6IGZhbHNlLFxuICAgICAgLy8gVG8gc2lnbmFsIHRoYXQgdGhlIG1vZGFsIGlzIGluIHRoZSBwcm9jZXNzIG9mIGNsb3NpbmdcbiAgICAgIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IGZhbHNlLFxuICAgICAgLy8gVXNlZCB0byBzaWduaWZ5IGlmIGNsaWNrIG91dCBsaXN0ZW5lciBzaG91bGQgaWdub3JlIHRoZSBjbGlja1xuICAgICAgaXNNb2RhbE92ZXJmbG93aW5nOiBmYWxzZSxcbiAgICAgIHJldHVybl9mb2N1czogdGhpcy5yZXR1cm5Gb2N1cyB8fCBudWxsLFxuICAgICAgLy8gVGhlIGZvbGxvd2luZyBpdGVtcyBhcmUgY29udHJvbGxlZCBieSB0aGUgbW9kYWxNYW5hZ2VyIGluc3RhbmNlXG4gICAgICBzY3JvbGxiYXJXaWR0aDogMCxcbiAgICAgIHpJbmRleDogbW9kYWxNYW5hZ2VyLmdldEJhc2VaSW5kZXgoKSxcbiAgICAgIGlzVG9wOiB0cnVlLFxuICAgICAgaXNCb2R5T3ZlcmZsb3dpbmc6IGZhbHNlXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBtb2RhbENsYXNzZXM6IGZ1bmN0aW9uIG1vZGFsQ2xhc3NlcygpIHtcbiAgICAgIHJldHVybiBbe1xuICAgICAgICBmYWRlOiAhdGhpcy5ub0ZhZGUsXG4gICAgICAgIHNob3c6IHRoaXMuaXNTaG93XG4gICAgICB9LCB0aGlzLm1vZGFsQ2xhc3NdO1xuICAgIH0sXG4gICAgbW9kYWxTdHlsZXM6IGZ1bmN0aW9uIG1vZGFsU3R5bGVzKCkge1xuICAgICAgdmFyIHNiV2lkdGggPSBcIlwiLmNvbmNhdCh0aGlzLnNjcm9sbGJhcldpZHRoLCBcInB4XCIpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFkZGluZ0xlZnQ6ICF0aGlzLmlzQm9keU92ZXJmbG93aW5nICYmIHRoaXMuaXNNb2RhbE92ZXJmbG93aW5nID8gc2JXaWR0aCA6ICcnLFxuICAgICAgICBwYWRkaW5nUmlnaHQ6IHRoaXMuaXNCb2R5T3ZlcmZsb3dpbmcgJiYgIXRoaXMuaXNNb2RhbE92ZXJmbG93aW5nID8gc2JXaWR0aCA6ICcnLFxuICAgICAgICAvLyBOZWVkZWQgdG8gZml4IGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ib290c3RyYXAtdnVlL2Jvb3RzdHJhcC12dWUvaXNzdWVzLzM0NTdcbiAgICAgICAgLy8gRXZlbiB0aG91Z2ggd2UgYXJlIHVzaW5nIHYtc2hvdywgd2UgbXVzdCBlbnN1cmUgJ25vbmUnIGlzIHJlc3RvcmVkIGluIHRoZSBzdHlsZXNcbiAgICAgICAgZGlzcGxheTogdGhpcy5pc0Jsb2NrID8gJ2Jsb2NrJyA6ICdub25lJ1xuICAgICAgfTtcbiAgICB9LFxuICAgIGRpYWxvZ0NsYXNzZXM6IGZ1bmN0aW9uIGRpYWxvZ0NsYXNzZXMoKSB7XG4gICAgICB2YXIgX3JlZjtcblxuICAgICAgcmV0dXJuIFsoX3JlZiA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX3JlZiwgXCJtb2RhbC1cIi5jb25jYXQodGhpcy5zaXplKSwgQm9vbGVhbih0aGlzLnNpemUpKSwgX2RlZmluZVByb3BlcnR5KF9yZWYsICdtb2RhbC1kaWFsb2ctY2VudGVyZWQnLCB0aGlzLmNlbnRlcmVkKSwgX2RlZmluZVByb3BlcnR5KF9yZWYsICdtb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZScsIHRoaXMuc2Nyb2xsYWJsZSksIF9yZWYpLCB0aGlzLmRpYWxvZ0NsYXNzXTtcbiAgICB9LFxuICAgIGhlYWRlckNsYXNzZXM6IGZ1bmN0aW9uIGhlYWRlckNsYXNzZXMoKSB7XG4gICAgICB2YXIgX3JlZjI7XG5cbiAgICAgIHJldHVybiBbKF9yZWYyID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfcmVmMiwgXCJiZy1cIi5jb25jYXQodGhpcy5oZWFkZXJCZ1ZhcmlhbnQpLCBCb29sZWFuKHRoaXMuaGVhZGVyQmdWYXJpYW50KSksIF9kZWZpbmVQcm9wZXJ0eShfcmVmMiwgXCJ0ZXh0LVwiLmNvbmNhdCh0aGlzLmhlYWRlclRleHRWYXJpYW50KSwgQm9vbGVhbih0aGlzLmhlYWRlclRleHRWYXJpYW50KSksIF9kZWZpbmVQcm9wZXJ0eShfcmVmMiwgXCJib3JkZXItXCIuY29uY2F0KHRoaXMuaGVhZGVyQm9yZGVyVmFyaWFudCksIEJvb2xlYW4odGhpcy5oZWFkZXJCb3JkZXJWYXJpYW50KSksIF9yZWYyKSwgdGhpcy5oZWFkZXJDbGFzc107XG4gICAgfSxcbiAgICB0aXRsZUNsYXNzZXM6IGZ1bmN0aW9uIHRpdGxlQ2xhc3NlcygpIHtcbiAgICAgIHJldHVybiBbe1xuICAgICAgICAnc3Itb25seSc6IHRoaXMudGl0bGVTck9ubHlcbiAgICAgIH0sIHRoaXMudGl0bGVDbGFzc107XG4gICAgfSxcbiAgICBib2R5Q2xhc3NlczogZnVuY3Rpb24gYm9keUNsYXNzZXMoKSB7XG4gICAgICB2YXIgX3JlZjM7XG5cbiAgICAgIHJldHVybiBbKF9yZWYzID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfcmVmMywgXCJiZy1cIi5jb25jYXQodGhpcy5ib2R5QmdWYXJpYW50KSwgQm9vbGVhbih0aGlzLmJvZHlCZ1ZhcmlhbnQpKSwgX2RlZmluZVByb3BlcnR5KF9yZWYzLCBcInRleHQtXCIuY29uY2F0KHRoaXMuYm9keVRleHRWYXJpYW50KSwgQm9vbGVhbih0aGlzLmJvZHlUZXh0VmFyaWFudCkpLCBfcmVmMyksIHRoaXMuYm9keUNsYXNzXTtcbiAgICB9LFxuICAgIGZvb3RlckNsYXNzZXM6IGZ1bmN0aW9uIGZvb3RlckNsYXNzZXMoKSB7XG4gICAgICB2YXIgX3JlZjQ7XG5cbiAgICAgIHJldHVybiBbKF9yZWY0ID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfcmVmNCwgXCJiZy1cIi5jb25jYXQodGhpcy5mb290ZXJCZ1ZhcmlhbnQpLCBCb29sZWFuKHRoaXMuZm9vdGVyQmdWYXJpYW50KSksIF9kZWZpbmVQcm9wZXJ0eShfcmVmNCwgXCJ0ZXh0LVwiLmNvbmNhdCh0aGlzLmZvb3RlclRleHRWYXJpYW50KSwgQm9vbGVhbih0aGlzLmZvb3RlclRleHRWYXJpYW50KSksIF9kZWZpbmVQcm9wZXJ0eShfcmVmNCwgXCJib3JkZXItXCIuY29uY2F0KHRoaXMuZm9vdGVyQm9yZGVyVmFyaWFudCksIEJvb2xlYW4odGhpcy5mb290ZXJCb3JkZXJWYXJpYW50KSksIF9yZWY0KSwgdGhpcy5mb290ZXJDbGFzc107XG4gICAgfSxcbiAgICBtb2RhbE91dGVyU3R5bGU6IGZ1bmN0aW9uIG1vZGFsT3V0ZXJTdHlsZSgpIHtcbiAgICAgIC8vIFN0eWxlcyBuZWVkZWQgZm9yIHByb3BlciBzdGFja2luZyBvZiBtb2RhbHNcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICB6SW5kZXg6IHRoaXMuekluZGV4XG4gICAgICB9O1xuICAgIH0sXG4gICAgc2xvdFNjb3BlOiBmdW5jdGlvbiBzbG90U2NvcGUoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvazogdGhpcy5vbk9rLFxuICAgICAgICBjYW5jZWw6IHRoaXMub25DYW5jZWwsXG4gICAgICAgIGNsb3NlOiB0aGlzLm9uQ2xvc2UsXG4gICAgICAgIGhpZGU6IHRoaXMuaGlkZSxcbiAgICAgICAgdmlzaWJsZTogdGhpcy5pc1Zpc2libGVcbiAgICAgIH07XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIHZpc2libGU6IGZ1bmN0aW9uIHZpc2libGUobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIGlmIChuZXdWYWwgIT09IG9sZFZhbCkge1xuICAgICAgICB0aGlzW25ld1ZhbCA/ICdzaG93JyA6ICdoaWRlJ10oKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7XG4gICAgLy8gRGVmaW5lIG5vbi1yZWFjdGl2ZSBwcm9wZXJ0aWVzXG4gICAgdGhpcy5fb2JzZXJ2ZXIgPSBudWxsO1xuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIC8vIFNldCBpbml0aWFsIHotaW5kZXggYXMgcXVlcmllZCBmcm9tIHRoZSBET01cbiAgICB0aGlzLnpJbmRleCA9IG1vZGFsTWFuYWdlci5nZXRCYXNlWkluZGV4KCk7IC8vIExpc3RlbiBmb3IgZXZlbnRzIGZyb20gb3RoZXJzIHRvIGVpdGhlciBvcGVuIG9yIGNsb3NlIG91cnNlbHZlc1xuICAgIC8vIGFuZCBsaXN0ZW4gdG8gYWxsIG1vZGFscyB0byBlbmFibGUvZGlzYWJsZSBlbmZvcmNlIGZvY3VzXG5cbiAgICB0aGlzLmxpc3Rlbk9uUm9vdCgnYnY6OnNob3c6Om1vZGFsJywgdGhpcy5zaG93SGFuZGxlcik7XG4gICAgdGhpcy5saXN0ZW5PblJvb3QoJ2J2OjpoaWRlOjptb2RhbCcsIHRoaXMuaGlkZUhhbmRsZXIpO1xuICAgIHRoaXMubGlzdGVuT25Sb290KCdidjo6dG9nZ2xlOjptb2RhbCcsIHRoaXMudG9nZ2xlSGFuZGxlcik7IC8vIExpc3RlbiBmb3IgYGJ2Om1vZGFsOjpzaG93IGV2ZW50c2AsIGFuZCBjbG9zZSBvdXJzZWx2ZXMgaWYgdGhlXG4gICAgLy8gb3BlbmluZyBtb2RhbCBub3QgdXNcblxuICAgIHRoaXMubGlzdGVuT25Sb290KCdidjo6bW9kYWw6OnNob3cnLCB0aGlzLm1vZGFsTGlzdGVuZXIpOyAvLyBJbml0aWFsbHkgc2hvdyBtb2RhbD9cblxuICAgIGlmICh0aGlzLnZpc2libGUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuJG5leHRUaWNrKHRoaXMuc2hvdyk7XG4gICAgfVxuICB9LFxuICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgIC8vIEVuc3VyZSBldmVyeXRoaW5nIGlzIGJhY2sgdG8gbm9ybWFsXG4gICAgaWYgKHRoaXMuX29ic2VydmVyKSB7XG4gICAgICB0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCk7XG5cbiAgICAgIHRoaXMuX29ic2VydmVyID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLnNldEVuZm9yY2VGb2N1cyhmYWxzZSk7XG4gICAgdGhpcy5zZXRSZXNpemVFdmVudChmYWxzZSk7XG5cbiAgICBpZiAodGhpcy5pc1Zpc2libGUpIHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmlzU2hvdyA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1RyYW5zaXRpb25pbmcgPSBmYWxzZTtcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICAvLyBQcml2YXRlIG1ldGhvZCB0byB1cGRhdGUgdGhlIHYtbW9kZWxcbiAgICB1cGRhdGVNb2RlbDogZnVuY3Rpb24gdXBkYXRlTW9kZWwodmFsKSB7XG4gICAgICBpZiAodmFsICE9PSB0aGlzLnZpc2libGUpIHtcbiAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgdmFsKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFByaXZhdGUgbWV0aG9kIHRvIGNyZWF0ZSBhIEJ2TW9kYWxFdmVudCBvYmplY3RcbiAgICBidWlsZEV2ZW50OiBmdW5jdGlvbiBidWlsZEV2ZW50KHR5cGUpIHtcbiAgICAgIHZhciBvcHRzID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgICAgIHJldHVybiBuZXcgQnZNb2RhbEV2ZW50KHR5cGUsIF9vYmplY3RTcHJlYWQoe1xuICAgICAgICAvLyBEZWZhdWx0IG9wdGlvbnNcbiAgICAgICAgY2FuY2VsYWJsZTogZmFsc2UsXG4gICAgICAgIHRhcmdldDogdGhpcy4kcmVmcy5tb2RhbCB8fCB0aGlzLiRlbCB8fCBudWxsLFxuICAgICAgICByZWxhdGVkVGFyZ2V0OiBudWxsLFxuICAgICAgICB0cmlnZ2VyOiBudWxsXG4gICAgICB9LCBvcHRzLCB7XG4gICAgICAgIC8vIE9wdGlvbnMgdGhhdCBjYW4ndCBiZSBvdmVycmlkZGVuXG4gICAgICAgIHZ1ZVRhcmdldDogdGhpcyxcbiAgICAgICAgY29tcG9uZW50SWQ6IHRoaXMuc2FmZUlkKClcbiAgICAgIH0pKTtcbiAgICB9LFxuICAgIC8vIFB1YmxpYyBtZXRob2QgdG8gc2hvdyBtb2RhbFxuICAgIHNob3c6IGZ1bmN0aW9uIHNob3coKSB7XG4gICAgICBpZiAodGhpcy5pc1Zpc2libGUgfHwgdGhpcy5pc09wZW5pbmcpIHtcbiAgICAgICAgLy8gSWYgYWxyZWFkeSBvcGVuLCBvciBpbiB0aGUgcHJvY2VzcyBvZiBvcGVuaW5nLCBkbyBub3RoaW5nXG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblxuXG4gICAgICBpZiAodGhpcy5pc0Nsb3NpbmcpIHtcbiAgICAgICAgLy8gSWYgd2UgYXJlIGluIHRoZSBwcm9jZXNzIG9mIGNsb3NpbmcsIHdhaXQgdW50aWwgaGlkZGVuIGJlZm9yZSByZS1vcGVuaW5nXG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgdGhpcy4kb25jZSgnaGlkZGVuJywgdGhpcy5zaG93KTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaXNPcGVuaW5nID0gdHJ1ZTsgLy8gU2V0IHRoZSBlbGVtZW50IHRvIHJldHVybiBmb2N1cyB0byB3aGVuIGNsb3NlZFxuXG4gICAgICB0aGlzLnJldHVybl9mb2N1cyA9IHRoaXMucmV0dXJuX2ZvY3VzIHx8IHRoaXMuZ2V0QWN0aXZlRWxlbWVudCgpO1xuICAgICAgdmFyIHNob3dFdnQgPSB0aGlzLmJ1aWxkRXZlbnQoJ3Nob3cnLCB7XG4gICAgICAgIGNhbmNlbGFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgICAgdGhpcy5lbWl0RXZlbnQoc2hvd0V2dCk7IC8vIERvbid0IHNob3cgaWYgY2FuY2VsZWRcblxuICAgICAgaWYgKHNob3dFdnQuZGVmYXVsdFByZXZlbnRlZCB8fCB0aGlzLmlzVmlzaWJsZSkge1xuICAgICAgICB0aGlzLmlzT3BlbmluZyA9IGZhbHNlOyAvLyBFbnN1cmUgdGhlIHYtbW9kZWwgcmVmbGVjdHMgdGhlIGN1cnJlbnQgc3RhdGVcblxuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGZhbHNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBTaG93IHRoZSBtb2RhbFxuXG5cbiAgICAgIHRoaXMuZG9TaG93KCk7XG4gICAgfSxcbiAgICAvLyBQdWJsaWMgbWV0aG9kIHRvIGhpZGUgbW9kYWxcbiAgICBoaWRlOiBmdW5jdGlvbiBoaWRlKCkge1xuICAgICAgdmFyIHRyaWdnZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6ICcnO1xuXG4gICAgICBpZiAoIXRoaXMuaXNWaXNpYmxlIHx8IHRoaXMuaXNDbG9zaW5nKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc0Nsb3NpbmcgPSB0cnVlO1xuICAgICAgdmFyIGhpZGVFdnQgPSB0aGlzLmJ1aWxkRXZlbnQoJ2hpZGUnLCB7XG4gICAgICAgIGNhbmNlbGFibGU6IHRyaWdnZXIgIT09ICdGT1JDRScsXG4gICAgICAgIHRyaWdnZXI6IHRyaWdnZXIgfHwgbnVsbFxuICAgICAgfSk7IC8vIFdlIGVtaXQgc3BlY2lmaWMgZXZlbnQgZm9yIG9uZSBvZiB0aGUgdGhyZWUgYnVpbHQtaW4gYnV0dG9uc1xuXG4gICAgICBpZiAodHJpZ2dlciA9PT0gJ29rJykge1xuICAgICAgICB0aGlzLiRlbWl0KCdvaycsIGhpZGVFdnQpO1xuICAgICAgfSBlbHNlIGlmICh0cmlnZ2VyID09PSAnY2FuY2VsJykge1xuICAgICAgICB0aGlzLiRlbWl0KCdjYW5jZWwnLCBoaWRlRXZ0KTtcbiAgICAgIH0gZWxzZSBpZiAodHJpZ2dlciA9PT0gJ2hlYWRlcmNsb3NlJykge1xuICAgICAgICB0aGlzLiRlbWl0KCdjbG9zZScsIGhpZGVFdnQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVtaXRFdmVudChoaWRlRXZ0KTsgLy8gSGlkZSBpZiBub3QgY2FuY2VsZWRcblxuICAgICAgaWYgKGhpZGVFdnQuZGVmYXVsdFByZXZlbnRlZCB8fCAhdGhpcy5pc1Zpc2libGUpIHtcbiAgICAgICAgdGhpcy5pc0Nsb3NpbmcgPSBmYWxzZTsgLy8gRW5zdXJlIHYtbW9kZWwgcmVmbGVjdHMgY3VycmVudCBzdGF0ZVxuXG4gICAgICAgIHRoaXMudXBkYXRlTW9kZWwodHJ1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gU3RvcCBvYnNlcnZpbmcgZm9yIGNvbnRlbnQgY2hhbmdlc1xuXG5cbiAgICAgIGlmICh0aGlzLl9vYnNlcnZlcikge1xuICAgICAgICB0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCk7XG5cbiAgICAgICAgdGhpcy5fb2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgfSAvLyBUcmlnZ2VyIHRoZSBoaWRlIHRyYW5zaXRpb25cblxuXG4gICAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlOyAvLyBVcGRhdGUgdGhlIHYtbW9kZWxcblxuICAgICAgdGhpcy51cGRhdGVNb2RlbChmYWxzZSk7XG4gICAgfSxcbiAgICAvLyBQdWJsaWMgbWV0aG9kIHRvIHRvZ2dsZSBtb2RhbCB2aXNpYmlsaXR5XG4gICAgdG9nZ2xlOiBmdW5jdGlvbiB0b2dnbGUodHJpZ2dlckVsKSB7XG4gICAgICBpZiAodHJpZ2dlckVsKSB7XG4gICAgICAgIHRoaXMucmV0dXJuX2ZvY3VzID0gdHJpZ2dlckVsO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc1Zpc2libGUpIHtcbiAgICAgICAgdGhpcy5oaWRlKCd0b2dnbGUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gUHJpdmF0ZSBtZXRob2QgdG8gZ2V0IHRoZSBjdXJyZW50IGRvY3VtZW50IGFjdGl2ZSBlbGVtZW50XG4gICAgZ2V0QWN0aXZlRWxlbWVudDogZnVuY3Rpb24gZ2V0QWN0aXZlRWxlbWVudCgpIHtcbiAgICAgIGlmIChpc0Jyb3dzZXIpIHtcbiAgICAgICAgdmFyIGFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OyAvLyBOb3RlOiBPbiBJRTExLCBgZG9jdW1lbnQuYWN0aXZlRWxlbWVudGAgbWF5IGJlIG51bGwuXG4gICAgICAgIC8vIFNvIHdlIHRlc3QgaXQgZm9yIHRydXRoaW5lc3MgZmlyc3QuXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ib290c3RyYXAtdnVlL2Jvb3RzdHJhcC12dWUvaXNzdWVzLzMyMDZcbiAgICAgICAgLy8gUmV0dXJuaW5nIGZvY3VzIHRvIGRvY3VtZW50LmJvZHkgbWF5IGNhdXNlIHVud2FudGVkIHNjcm9sbHMsIHNvIHdlXG4gICAgICAgIC8vIGV4Y2x1ZGUgc2V0dGluZyBmb2N1cyBvbiBib2R5XG5cbiAgICAgICAgaWYgKGFjdGl2ZUVsZW1lbnQgJiYgYWN0aXZlRWxlbWVudCAhPT0gZG9jdW1lbnQuYm9keSAmJiBhY3RpdmVFbGVtZW50LmZvY3VzKSB7XG4gICAgICAgICAgLy8gUHJlc2V0IHRoZSBmYWxsYmFjayByZXR1cm4gZm9jdXMgdmFsdWUgaWYgaXQgaXMgbm90IHNldFxuICAgICAgICAgIC8vIGBkb2N1bWVudC5hY3RpdmVFbGVtZW50YCBzaG91bGQgYmUgdGhlIHRyaWdnZXIgZWxlbWVudCB0aGF0IHdhcyBjbGlja2VkIG9yXG4gICAgICAgICAgLy8gaW4gdGhlIGNhc2Ugb2YgdXNpbmcgdGhlIHYtbW9kZWwsIHdoaWNoIGV2ZXIgZWxlbWVudCBoYXMgY3VycmVudCBmb2N1c1xuICAgICAgICAgIC8vIFdpbGwgYmUgb3ZlcnJpZGRlbiBieSBzb21lIGNvbW1hbmRzIHN1Y2ggYXMgdG9nZ2xlLCBldGMuXG4gICAgICAgICAgcmV0dXJuIGFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcbiAgICAvLyBQcml2YXRlIG1ldGhvZCB0byBnZXQgYSBsaXN0IG9mIGFsbCB0YWJhYmxlIGVsZW1lbnRzIHdpdGhpbiBtb2RhbCBjb250ZW50XG4gICAgZ2V0VGFiYWJsZXM6IGZ1bmN0aW9uIGdldFRhYmFibGVzKCkge1xuICAgICAgLy8gRmluZCBhbGwgdGFiYWJsZSBlbGVtZW50cyBpbiB0aGUgbW9kYWwgY29udGVudFxuICAgICAgLy8gQXNzdW1lcyB1c2VycyBoYXZlIG5vdCB1c2VkIHRhYmluZGV4ID4gMCBvbiBlbGVtZW50cyFcbiAgICAgIHJldHVybiBzZWxlY3RBbGwoVEFCQUJMRV9TRUxFQ1RPUiwgdGhpcy4kcmVmcy5jb250ZW50KS5maWx0ZXIoaXNWaXNpYmxlKS5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgcmV0dXJuIGkudGFiSW5kZXggPiAtMSAmJiAhaS5kaXNhYmxlZDtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLy8gUHJpdmF0ZSBtZXRob2QgdG8gZmluaXNoIHNob3dpbmcgbW9kYWxcbiAgICBkb1Nob3c6IGZ1bmN0aW9uIGRvU2hvdygpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBjb21tZW50aW5nIG91dCBmb3Igbm93IHVudGlsIHdlIGNhbiB0ZXN0IHN0YWNraW5nICovXG4gICAgICBpZiAobW9kYWxNYW5hZ2VyLm1vZGFsc0FyZU9wZW4gJiYgdGhpcy5ub1N0YWNraW5nKSB7XG4gICAgICAgIC8vIElmIGFub3RoZXIgbW9kYWwocykgaXMgYWxyZWFkeSBvcGVuLCB3YWl0IGZvciBpdCh0aGVtKSB0byBjbG9zZVxuICAgICAgICB0aGlzLmxpc3Rlbk9uUm9vdE9uY2UoJ2J2Ojptb2RhbDo6aGlkZGVuJywgdGhpcy5kb1Nob3cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG1vZGFsTWFuYWdlci5yZWdpc3Rlck1vZGFsKHRoaXMpOyAvLyBQbGFjZSBtb2RhbCBpbiBET01cblxuICAgICAgdGhpcy5pc0hpZGRlbiA9IGZhbHNlO1xuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyBXZSBkbyB0aGlzIGluIGAkbmV4dFRpY2soKWAgdG8gZW5zdXJlIHRoZSBtb2RhbCBpcyBpbiBET00gZmlyc3RcbiAgICAgICAgLy8gYmVmb3JlIHdlIHNob3cgaXRcbiAgICAgICAgX3RoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgX3RoaXMuaXNPcGVuaW5nID0gZmFsc2U7IC8vIFVwZGF0ZSB0aGUgdi1tb2RlbFxuXG4gICAgICAgIF90aGlzLnVwZGF0ZU1vZGVsKHRydWUpO1xuXG4gICAgICAgIF90aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gSW4gYSBuZXh0VGljayBpbiBjYXNlIG1vZGFsIGNvbnRlbnQgaXMgbGF6eVxuICAgICAgICAgIC8vIE9ic2VydmUgY2hhbmdlcyBpbiBtb2RhbCBjb250ZW50IGFuZCBhZGp1c3QgaWYgbmVjZXNzYXJ5XG4gICAgICAgICAgX3RoaXMuX29ic2VydmVyID0gb2JzZXJ2ZURvbShfdGhpcy4kcmVmcy5jb250ZW50LCBfdGhpcy5jaGVja01vZGFsT3ZlcmZsb3cuYmluZChfdGhpcyksIE9CU0VSVkVSX0NPTkZJRyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICAvLyBUcmFuc2l0aW9uIGhhbmRsZXJzXG4gICAgb25CZWZvcmVFbnRlcjogZnVuY3Rpb24gb25CZWZvcmVFbnRlcigpIHtcbiAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2V0UmVzaXplRXZlbnQodHJ1ZSk7XG4gICAgfSxcbiAgICBvbkVudGVyOiBmdW5jdGlvbiBvbkVudGVyKCkge1xuICAgICAgdGhpcy5pc0Jsb2NrID0gdHJ1ZTtcbiAgICB9LFxuICAgIG9uQWZ0ZXJFbnRlcjogZnVuY3Rpb24gb25BZnRlckVudGVyKCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIHRoaXMuY2hlY2tNb2RhbE92ZXJmbG93KCk7XG4gICAgICB0aGlzLmlzU2hvdyA9IHRydWU7XG4gICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IGZhbHNlOyAvLyBXZSB1c2UgYHJlcXVlc3RBRigpYCB0byBhbGxvdyB0cmFuc2l0aW9uIGhvb2tzIHRvIGNvbXBsZXRlXG4gICAgICAvLyBiZWZvcmUgcGFzc2luZyBjb250cm9sIG92ZXIgdG8gdGhlIG90aGVyIGhhbmRsZXJzXG4gICAgICAvLyBUaGlzIHdpbGwgYWxsb3cgdXNlcnMgdG8gbm90IGhhdmUgdG8gdXNlIGAkbmV4dFRpY2soKWAgb3IgYHJlcXVlc3RBRigpYFxuICAgICAgLy8gd2hlbiB0cnlpbmcgdG8gcHJlLWZvY3VzIGFuIGVsZW1lbnRcblxuICAgICAgcmVxdWVzdEFGKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgX3RoaXMyLmVtaXRFdmVudChfdGhpczIuYnVpbGRFdmVudCgnc2hvd24nKSk7XG5cbiAgICAgICAgX3RoaXMyLnNldEVuZm9yY2VGb2N1cyh0cnVlKTtcblxuICAgICAgICBfdGhpczIuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBEZWxheWVkIGluIGEgYCRuZXh0VGljaygpYCB0byBhbGxvdyB1c2VycyB0aW1lIHRvIHByZS1mb2N1c1xuICAgICAgICAgIC8vIGFuIGVsZW1lbnQgaWYgdGhlIHdpc2hcbiAgICAgICAgICBfdGhpczIuZm9jdXNGaXJzdCgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgb25CZWZvcmVMZWF2ZTogZnVuY3Rpb24gb25CZWZvcmVMZWF2ZSgpIHtcbiAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2V0UmVzaXplRXZlbnQoZmFsc2UpO1xuICAgICAgdGhpcy5zZXRFbmZvcmNlRm9jdXMoZmFsc2UpO1xuICAgIH0sXG4gICAgb25MZWF2ZTogZnVuY3Rpb24gb25MZWF2ZSgpIHtcbiAgICAgIC8vIFJlbW92ZSB0aGUgJ3Nob3cnIGNsYXNzXG4gICAgICB0aGlzLmlzU2hvdyA9IGZhbHNlO1xuICAgIH0sXG4gICAgb25BZnRlckxlYXZlOiBmdW5jdGlvbiBvbkFmdGVyTGVhdmUoKSB7XG4gICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgdGhpcy5pc0Jsb2NrID0gZmFsc2U7XG4gICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5pc01vZGFsT3ZlcmZsb3dpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNIaWRkZW4gPSB0cnVlO1xuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICBfdGhpczMuaXNDbG9zaW5nID0gZmFsc2U7XG4gICAgICAgIG1vZGFsTWFuYWdlci51bnJlZ2lzdGVyTW9kYWwoX3RoaXMzKTtcblxuICAgICAgICBfdGhpczMucmV0dXJuRm9jdXNUbygpOyAvLyBUT0RPOiBOZWVkIHRvIGZpbmQgYSB3YXkgdG8gcGFzcyB0aGUgYHRyaWdnZXJgIHByb3BlcnR5XG4gICAgICAgIC8vICAgICAgIHRvIHRoZSBgaGlkZGVuYCBldmVudCwgbm90IGp1c3Qgb25seSB0aGUgYGhpZGVgIGV2ZW50XG5cblxuICAgICAgICBfdGhpczMuZW1pdEV2ZW50KF90aGlzMy5idWlsZEV2ZW50KCdoaWRkZW4nKSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8vIEV2ZW50IGVtaXR0ZXJcbiAgICBlbWl0RXZlbnQ6IGZ1bmN0aW9uIGVtaXRFdmVudChidk1vZGFsRXZ0KSB7XG4gICAgICB2YXIgdHlwZSA9IGJ2TW9kYWxFdnQudHlwZTsgLy8gV2UgZW1pdCBvbiByb290IGZpcnN0IGluY2FzZSBhIGdsb2JhbCBsaXN0ZW5lciB3YW50cyB0byBjYW5jZWxcbiAgICAgIC8vIHRoZSBldmVudCBmaXJzdCBiZWZvcmUgdGhlIGluc3RhbmNlIGVtaXRzIGl0J3MgZXZlbnRcblxuICAgICAgdGhpcy5lbWl0T25Sb290KFwiYnY6Om1vZGFsOjpcIi5jb25jYXQodHlwZSksIGJ2TW9kYWxFdnQsIGJ2TW9kYWxFdnQuY29tcG9uZW50SWQpO1xuICAgICAgdGhpcy4kZW1pdCh0eXBlLCBidk1vZGFsRXZ0KTtcbiAgICB9LFxuICAgIC8vIFVJIGV2ZW50IGhhbmRsZXJzXG4gICAgb25EaWFsb2dNb3VzZWRvd246IGZ1bmN0aW9uIG9uRGlhbG9nTW91c2Vkb3duKCkge1xuICAgICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICAgIC8vIFdhdGNoIHRvIHNlZSBpZiB0aGUgbWF0Y2hpbmcgbW91c2V1cCBldmVudCBvY2N1cnMgb3V0c2lkZSB0aGUgZGlhbG9nXG4gICAgICAvLyBBbmQgaWYgaXQgZG9lcywgY2FuY2VsIHRoZSBjbGlja091dCBoYW5kbGVyXG4gICAgICB2YXIgbW9kYWwgPSB0aGlzLiRyZWZzLm1vZGFsO1xuXG4gICAgICB2YXIgb25jZU1vZGFsTW91c2V1cCA9IGZ1bmN0aW9uIG9uY2VNb2RhbE1vdXNldXAoZXZ0KSB7XG4gICAgICAgIGV2ZW50T2ZmKG1vZGFsLCAnbW91c2V1cCcsIG9uY2VNb2RhbE1vdXNldXAsIEVWVF9PUFRJT05TKTtcblxuICAgICAgICBpZiAoZXZ0LnRhcmdldCA9PT0gbW9kYWwpIHtcbiAgICAgICAgICBfdGhpczQuaWdub3JlQmFja2Ryb3BDbGljayA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGV2ZW50T24obW9kYWwsICdtb3VzZXVwJywgb25jZU1vZGFsTW91c2V1cCwgRVZUX09QVElPTlMpO1xuICAgIH0sXG4gICAgb25DbGlja091dDogZnVuY3Rpb24gb25DbGlja091dChldnQpIHtcbiAgICAgIGlmICh0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2spIHtcbiAgICAgICAgLy8gQ2xpY2sgd2FzIGluaXRpYXRlZCBpbnNpZGUgdGhlIG1vZGFsIGNvbnRlbnQsIGJ1dCBmaW5pc2hlZCBvdXRzaWRlLlxuICAgICAgICAvLyBTZXQgYnkgdGhlIGFib3ZlIG9uRGlhbG9nTW91c2Vkb3duIGhhbmRsZXJcbiAgICAgICAgdGhpcy5pZ25vcmVCYWNrZHJvcENsaWNrID0gZmFsc2U7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gRG8gbm90aGluZyBpZiBub3QgdmlzaWJsZSwgYmFja2Ryb3AgY2xpY2sgZGlzYWJsZWQsIG9yIGVsZW1lbnRcbiAgICAgIC8vIHRoYXQgZ2VuZXJhdGVkIGNsaWNrIGV2ZW50IGlzIG5vIGxvbmdlciBpbiBkb2N1bWVudCBib2R5XG5cblxuICAgICAgaWYgKCF0aGlzLmlzVmlzaWJsZSB8fCB0aGlzLm5vQ2xvc2VPbkJhY2tkcm9wIHx8ICFjb250YWlucyhkb2N1bWVudC5ib2R5LCBldnQudGFyZ2V0KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIElmIGJhY2tkcm9wIGNsaWNrZWQsIGhpZGUgbW9kYWxcblxuXG4gICAgICBpZiAoIWNvbnRhaW5zKHRoaXMuJHJlZnMuY29udGVudCwgZXZ0LnRhcmdldCkpIHtcbiAgICAgICAgdGhpcy5oaWRlKCdiYWNrZHJvcCcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgb25PazogZnVuY3Rpb24gb25PaygpIHtcbiAgICAgIHRoaXMuaGlkZSgnb2snKTtcbiAgICB9LFxuICAgIG9uQ2FuY2VsOiBmdW5jdGlvbiBvbkNhbmNlbCgpIHtcbiAgICAgIHRoaXMuaGlkZSgnY2FuY2VsJyk7XG4gICAgfSxcbiAgICBvbkNsb3NlOiBmdW5jdGlvbiBvbkNsb3NlKCkge1xuICAgICAgdGhpcy5oaWRlKCdoZWFkZXJjbG9zZScpO1xuICAgIH0sXG4gICAgb25Fc2M6IGZ1bmN0aW9uIG9uRXNjKGV2dCkge1xuICAgICAgLy8gSWYgRVNDIHByZXNzZWQsIGhpZGUgbW9kYWxcbiAgICAgIGlmIChldnQua2V5Q29kZSA9PT0gS2V5Q29kZXMuRVNDICYmIHRoaXMuaXNWaXNpYmxlICYmICF0aGlzLm5vQ2xvc2VPbkVzYykge1xuICAgICAgICB0aGlzLmhpZGUoJ2VzYycpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gRG9jdW1lbnQgZm9jdXNpbiBsaXN0ZW5lclxuICAgIGZvY3VzSGFuZGxlcjogZnVuY3Rpb24gZm9jdXNIYW5kbGVyKGV2dCkge1xuICAgICAgLy8gSWYgZm9jdXMgbGVhdmVzIG1vZGFsIGNvbnRlbnQsIGJyaW5nIGl0IGJhY2tcbiAgICAgIHZhciBjb250ZW50ID0gdGhpcy4kcmVmcy5jb250ZW50O1xuICAgICAgdmFyIHRhcmdldCA9IGV2dC50YXJnZXQ7XG5cbiAgICAgIGlmICghdGhpcy5ub0VuZm9yY2VGb2N1cyAmJiB0aGlzLmlzVG9wICYmIHRoaXMuaXNWaXNpYmxlICYmIGNvbnRlbnQgJiYgZG9jdW1lbnQgIT09IHRhcmdldCAmJiAhY29udGFpbnMoY29udGVudCwgdGFyZ2V0KSkge1xuICAgICAgICB2YXIgdGFiYWJsZXMgPSB0aGlzLmdldFRhYmFibGVzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuJHJlZnMuYm90dG9tVHJhcCAmJiB0YXJnZXQgPT09IHRoaXMuJHJlZnMuYm90dG9tVHJhcCkge1xuICAgICAgICAgIC8vIElmIHVzZXIgcHJlc3NlZCBUQUIgb3V0IG9mIG1vZGFsIGludG8gb3VyIGJvdHRvbSB0cmFiIHRyYXAgZWxlbWVudFxuICAgICAgICAgIC8vIEZpbmQgdGhlIGZpcnN0IHRhYmFibGUgZWxlbWVudCBpbiB0aGUgbW9kYWwgY29udGVudCBhbmQgZm9jdXMgaXRcbiAgICAgICAgICBpZiAoYXR0ZW1wdEZvY3VzKHRhYmFibGVzWzBdKSkge1xuICAgICAgICAgICAgLy8gRm9jdXMgd2FzIHN1Y2Nlc3NmdWxcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy4kcmVmcy50b3BUcmFwICYmIHRhcmdldCA9PT0gdGhpcy4kcmVmcy50b3BUcmFwKSB7XG4gICAgICAgICAgLy8gSWYgdXNlciBwcmVzc2VkIENUUkwtVEFCIG91dCBvZiBtb2RhbCBhbmQgaW50byBvdXIgdG9wIHRhYiB0cmFwIGVsZW1lbnRcbiAgICAgICAgICAvLyBGaW5kIHRoZSBsYXN0IHRhYmFibGUgZWxlbWVudCBpbiB0aGUgbW9kYWwgY29udGVudCBhbmQgZm9jdXMgaXRcbiAgICAgICAgICBpZiAoYXR0ZW1wdEZvY3VzKHRhYmFibGVzW3RhYmFibGVzLmxlbmd0aCAtIDFdKSkge1xuICAgICAgICAgICAgLy8gRm9jdXMgd2FzIHN1Y2Nlc3NmdWxcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gT3RoZXJ3aXNlIGZvY3VzIHRoZSBtb2RhbCBjb250ZW50IGNvbnRhaW5lclxuXG5cbiAgICAgICAgY29udGVudC5mb2N1cyh7XG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFR1cm4gb24vb2ZmIGZvY3VzaW4gbGlzdGVuZXJcbiAgICBzZXRFbmZvcmNlRm9jdXM6IGZ1bmN0aW9uIHNldEVuZm9yY2VGb2N1cyhvbikge1xuICAgICAgdmFyIG1ldGhvZCA9IG9uID8gZXZlbnRPbiA6IGV2ZW50T2ZmO1xuICAgICAgbWV0aG9kKGRvY3VtZW50LCAnZm9jdXNpbicsIHRoaXMuZm9jdXNIYW5kbGVyLCBFVlRfT1BUSU9OUyk7XG4gICAgfSxcbiAgICAvLyBSZXNpemUgbGlzdGVuZXJcbiAgICBzZXRSZXNpemVFdmVudDogZnVuY3Rpb24gc2V0UmVzaXplRXZlbnQob24pIHtcbiAgICAgIHZhciBtZXRob2QgPSBvbiA/IGV2ZW50T24gOiBldmVudE9mZjsgLy8gVGhlc2UgZXZlbnRzIHNob3VsZCBwcm9iYWJseSBhbHNvIGNoZWNrIGlmXG4gICAgICAvLyBib2R5IGlzIG92ZXJmbG93aW5nXG5cbiAgICAgIG1ldGhvZCh3aW5kb3csICdyZXNpemUnLCB0aGlzLmNoZWNrTW9kYWxPdmVyZmxvdywgRVZUX09QVElPTlMpO1xuICAgICAgbWV0aG9kKHdpbmRvdywgJ29yaWVudGF0aW9uY2hhbmdlJywgdGhpcy5jaGVja01vZGFsT3ZlcmZsb3csIEVWVF9PUFRJT05TKTtcbiAgICB9LFxuICAgIC8vIFJvb3QgbGlzdGVuZXIgaGFuZGxlcnNcbiAgICBzaG93SGFuZGxlcjogZnVuY3Rpb24gc2hvd0hhbmRsZXIoaWQsIHRyaWdnZXJFbCkge1xuICAgICAgaWYgKGlkID09PSB0aGlzLnNhZmVJZCgpKSB7XG4gICAgICAgIHRoaXMucmV0dXJuX2ZvY3VzID0gdHJpZ2dlckVsIHx8IHRoaXMuZ2V0QWN0aXZlRWxlbWVudCgpO1xuICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGhpZGVIYW5kbGVyOiBmdW5jdGlvbiBoaWRlSGFuZGxlcihpZCkge1xuICAgICAgaWYgKGlkID09PSB0aGlzLnNhZmVJZCgpKSB7XG4gICAgICAgIHRoaXMuaGlkZSgnZXZlbnQnKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHRvZ2dsZUhhbmRsZXI6IGZ1bmN0aW9uIHRvZ2dsZUhhbmRsZXIoaWQsIHRyaWdnZXJFbCkge1xuICAgICAgaWYgKGlkID09PSB0aGlzLnNhZmVJZCgpKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlKHRyaWdnZXJFbCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBtb2RhbExpc3RlbmVyOiBmdW5jdGlvbiBtb2RhbExpc3RlbmVyKGJ2RXZ0KSB7XG4gICAgICAvLyBJZiBhbm90aGVyIG1vZGFsIG9wZW5zLCBjbG9zZSB0aGlzIG9uZSBpZiBzdGFja2luZyBub3QgcGVybWl0dGVkXG4gICAgICBpZiAodGhpcy5ub1N0YWNraW5nICYmIGJ2RXZ0LnZ1ZVRhcmdldCAhPT0gdGhpcykge1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIEZvY3VzIGNvbnRyb2wgaGFuZGxlcnNcbiAgICBmb2N1c0ZpcnN0OiBmdW5jdGlvbiBmb2N1c0ZpcnN0KCkge1xuICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICAgIC8vIERvbid0IHRyeSBhbmQgZm9jdXMgaWYgd2UgYXJlIFNTUlxuICAgICAgaWYgKGlzQnJvd3Nlcikge1xuICAgICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHZhciBtb2RhbCA9IF90aGlzNS4kcmVmcy5tb2RhbDtcbiAgICAgICAgICB2YXIgY29udGVudCA9IF90aGlzNS4kcmVmcy5jb250ZW50O1xuXG4gICAgICAgICAgdmFyIGFjdGl2ZUVsZW1lbnQgPSBfdGhpczUuZ2V0QWN0aXZlRWxlbWVudCgpOyAvLyBJZiB0aGUgbW9kYWwgY29udGFpbnMgdGhlIGFjdGl2ZUVsZW1lbnQsIHdlIGRvbid0IGRvIGFueXRoaW5nXG5cblxuICAgICAgICAgIGlmIChtb2RhbCAmJiBjb250ZW50ICYmICEoYWN0aXZlRWxlbWVudCAmJiBjb250YWlucyhjb250ZW50LCBhY3RpdmVFbGVtZW50KSkpIHtcbiAgICAgICAgICAgIHZhciBvayA9IF90aGlzNS4kcmVmc1snb2stYnV0dG9uJ107XG4gICAgICAgICAgICB2YXIgY2FuY2VsID0gX3RoaXM1LiRyZWZzWydjYW5jZWwtYnV0dG9uJ107XG4gICAgICAgICAgICB2YXIgY2xvc2UgPSBfdGhpczUuJHJlZnNbJ2Nsb3NlLWJ1dHRvbiddOyAvLyBGb2N1cyB0aGUgYXBwcm9wcmlhdGUgYnV0dG9uIG9yIG1vZGFsIGNvbnRlbnQgd3JhcHBlclxuXG4gICAgICAgICAgICB2YXIgYXV0b0ZvY3VzID0gX3RoaXM1LmF1dG9Gb2N1c0J1dHRvbjtcbiAgICAgICAgICAgIHZhciBlbCA9IGF1dG9Gb2N1cyA9PT0gJ29rJyAmJiBvayA/IG9rLiRlbCB8fCBvayA6IGF1dG9Gb2N1cyA9PT0gJ2NhbmNlbCcgJiYgY2FuY2VsID8gY2FuY2VsLiRlbCB8fCBjYW5jZWwgOiBhdXRvRm9jdXMgPT09ICdjbG9zZScgJiYgY2xvc2UgPyBjbG9zZS4kZWwgfHwgY2xvc2UgOiBjb250ZW50OyAvLyBGb2N1cyB0aGUgZWxlbWVudFxuXG4gICAgICAgICAgICBhdHRlbXB0Rm9jdXMoZWwpO1xuXG4gICAgICAgICAgICBpZiAoZWwgPT09IGNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRvcCBvZiBtb2RhbCBpcyBzaG93aW5nIChpZiBsb25nZXIgdGhhbiB0aGUgdmlld3BvcnQpXG4gICAgICAgICAgICAgIF90aGlzNS4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIG1vZGFsLnNjcm9sbFRvcCA9IDA7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICByZXR1cm5Gb2N1c1RvOiBmdW5jdGlvbiByZXR1cm5Gb2N1c1RvKCkge1xuICAgICAgLy8gUHJlZmVyIGByZXR1cm5Gb2N1c2AgcHJvcCBvdmVyIGV2ZW50IHNwZWNpZmllZFxuICAgICAgLy8gYHJldHVybl9mb2N1c2AgdmFsdWVcbiAgICAgIHZhciBlbCA9IHRoaXMucmV0dXJuRm9jdXMgfHwgdGhpcy5yZXR1cm5fZm9jdXMgfHwgbnVsbDtcbiAgICAgIHRoaXMucmV0dXJuX2ZvY3VzID0gbnVsbDtcbiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gSXMgZWwgYSBzdHJpbmcgQ1NTIHNlbGVjdG9yP1xuICAgICAgICBlbCA9IGlzU3RyaW5nKGVsKSA/IHNlbGVjdChlbCkgOiBlbDtcblxuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAvLyBQb3NzaWJseSBjb3VsZCBiZSBhIGNvbXBvbmVudCByZWZlcmVuY2VcbiAgICAgICAgICBlbCA9IGVsLiRlbCB8fCBlbDtcbiAgICAgICAgICBhdHRlbXB0Rm9jdXMoZWwpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGNoZWNrTW9kYWxPdmVyZmxvdzogZnVuY3Rpb24gY2hlY2tNb2RhbE92ZXJmbG93KCkge1xuICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlKSB7XG4gICAgICAgIHZhciBtb2RhbCA9IHRoaXMuJHJlZnMubW9kYWw7XG4gICAgICAgIHRoaXMuaXNNb2RhbE92ZXJmbG93aW5nID0gbW9kYWwuc2Nyb2xsSGVpZ2h0ID4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICAgIH1cbiAgICB9LFxuICAgIG1ha2VNb2RhbDogZnVuY3Rpb24gbWFrZU1vZGFsKGgpIHtcbiAgICAgIC8vIE1vZGFsIGhlYWRlclxuICAgICAgdmFyIGhlYWRlciA9IGgoKTtcblxuICAgICAgaWYgKCF0aGlzLmhpZGVIZWFkZXIpIHtcbiAgICAgICAgdmFyIG1vZGFsSGVhZGVyID0gdGhpcy5ub3JtYWxpemVTbG90KCdtb2RhbC1oZWFkZXInLCB0aGlzLnNsb3RTY29wZSk7XG5cbiAgICAgICAgaWYgKCFtb2RhbEhlYWRlcikge1xuICAgICAgICAgIHZhciBjbG9zZUJ1dHRvbiA9IGgoKTtcblxuICAgICAgICAgIGlmICghdGhpcy5oaWRlSGVhZGVyQ2xvc2UpIHtcbiAgICAgICAgICAgIGNsb3NlQnV0dG9uID0gaChCQnV0dG9uQ2xvc2UsIHtcbiAgICAgICAgICAgICAgcmVmOiAnY2xvc2UtYnV0dG9uJyxcbiAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5pc1RyYW5zaXRpb25pbmcsXG4gICAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmhlYWRlckNsb3NlTGFiZWwsXG4gICAgICAgICAgICAgICAgdGV4dFZhcmlhbnQ6IHRoaXMuaGVhZGVyQ2xvc2VWYXJpYW50IHx8IHRoaXMuaGVhZGVyVGV4dFZhcmlhbnRcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICBjbGljazogdGhpcy5vbkNsb3NlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIFt0aGlzLm5vcm1hbGl6ZVNsb3QoJ21vZGFsLWhlYWRlci1jbG9zZScpXSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGRvbVByb3BzID0gIXRoaXMuaGFzTm9ybWFsaXplZFNsb3QoJ21vZGFsLXRpdGxlJykgJiYgdGhpcy50aXRsZUh0bWwgPyB7XG4gICAgICAgICAgICBpbm5lckhUTUw6IHRoaXMudGl0bGVIdG1sXG4gICAgICAgICAgfSA6IHt9O1xuICAgICAgICAgIG1vZGFsSGVhZGVyID0gW2godGhpcy50aXRsZVRhZywge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6ICdtb2RhbC10aXRsZScsXG4gICAgICAgICAgICBjbGFzczogdGhpcy50aXRsZUNsYXNzZXMsXG4gICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICBpZDogdGhpcy5zYWZlSWQoJ19fQlZfbW9kYWxfdGl0bGVfJylcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkb21Qcm9wczogZG9tUHJvcHNcbiAgICAgICAgICB9LCBbdGhpcy5ub3JtYWxpemVTbG90KCdtb2RhbC10aXRsZScsIHRoaXMuc2xvdFNjb3BlKSB8fCBzdHJpcFRhZ3ModGhpcy50aXRsZSldKSwgY2xvc2VCdXR0b25dO1xuICAgICAgICB9XG5cbiAgICAgICAgaGVhZGVyID0gaCgnaGVhZGVyJywge1xuICAgICAgICAgIHJlZjogJ2hlYWRlcicsXG4gICAgICAgICAgc3RhdGljQ2xhc3M6ICdtb2RhbC1oZWFkZXInLFxuICAgICAgICAgIGNsYXNzOiB0aGlzLmhlYWRlckNsYXNzZXMsXG4gICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgIGlkOiB0aGlzLnNhZmVJZCgnX19CVl9tb2RhbF9oZWFkZXJfJylcbiAgICAgICAgICB9XG4gICAgICAgIH0sIFttb2RhbEhlYWRlcl0pO1xuICAgICAgfSAvLyBNb2RhbCBib2R5XG5cblxuICAgICAgdmFyIGJvZHkgPSBoKCdkaXYnLCB7XG4gICAgICAgIHJlZjogJ2JvZHknLFxuICAgICAgICBzdGF0aWNDbGFzczogJ21vZGFsLWJvZHknLFxuICAgICAgICBjbGFzczogdGhpcy5ib2R5Q2xhc3NlcyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBpZDogdGhpcy5zYWZlSWQoJ19fQlZfbW9kYWxfYm9keV8nKVxuICAgICAgICB9XG4gICAgICB9LCB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnLCB0aGlzLnNsb3RTY29wZSkpOyAvLyBNb2RhbCBmb290ZXJcblxuICAgICAgdmFyIGZvb3RlciA9IGgoKTtcblxuICAgICAgaWYgKCF0aGlzLmhpZGVGb290ZXIpIHtcbiAgICAgICAgdmFyIG1vZGFsRm9vdGVyID0gdGhpcy5ub3JtYWxpemVTbG90KCdtb2RhbC1mb290ZXInLCB0aGlzLnNsb3RTY29wZSk7XG5cbiAgICAgICAgaWYgKCFtb2RhbEZvb3Rlcikge1xuICAgICAgICAgIHZhciBjYW5jZWxCdXR0b24gPSBoKCk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMub2tPbmx5KSB7XG4gICAgICAgICAgICB2YXIgY2FuY2VsSHRtbCA9IHRoaXMuY2FuY2VsVGl0bGVIdG1sID8ge1xuICAgICAgICAgICAgICBpbm5lckhUTUw6IHRoaXMuY2FuY2VsVGl0bGVIdG1sXG4gICAgICAgICAgICB9IDogbnVsbDtcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvbiA9IGgoQkJ1dHRvbiwge1xuICAgICAgICAgICAgICByZWY6ICdjYW5jZWwtYnV0dG9uJyxcbiAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB2YXJpYW50OiB0aGlzLmNhbmNlbFZhcmlhbnQsXG4gICAgICAgICAgICAgICAgc2l6ZTogdGhpcy5idXR0b25TaXplLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmNhbmNlbERpc2FibGVkIHx8IHRoaXMuYnVzeSB8fCB0aGlzLmlzVHJhbnNpdGlvbmluZ1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIGNsaWNrOiB0aGlzLm9uQ2FuY2VsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIFt0aGlzLm5vcm1hbGl6ZVNsb3QoJ21vZGFsLWNhbmNlbCcpIHx8IChjYW5jZWxIdG1sID8gaCgnc3BhbicsIHtcbiAgICAgICAgICAgICAgZG9tUHJvcHM6IGNhbmNlbEh0bWxcbiAgICAgICAgICAgIH0pIDogc3RyaXBUYWdzKHRoaXMuY2FuY2VsVGl0bGUpKV0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBva0h0bWwgPSB0aGlzLm9rVGl0bGVIdG1sID8ge1xuICAgICAgICAgICAgaW5uZXJIVE1MOiB0aGlzLm9rVGl0bGVIdG1sXG4gICAgICAgICAgfSA6IG51bGw7XG4gICAgICAgICAgdmFyIG9rQnV0dG9uID0gaChCQnV0dG9uLCB7XG4gICAgICAgICAgICByZWY6ICdvay1idXR0b24nLFxuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgdmFyaWFudDogdGhpcy5va1ZhcmlhbnQsXG4gICAgICAgICAgICAgIHNpemU6IHRoaXMuYnV0dG9uU2l6ZSxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMub2tEaXNhYmxlZCB8fCB0aGlzLmJ1c3kgfHwgdGhpcy5pc1RyYW5zaXRpb25pbmdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICBjbGljazogdGhpcy5vbk9rXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgW3RoaXMubm9ybWFsaXplU2xvdCgnbW9kYWwtb2snKSB8fCAob2tIdG1sID8gaCgnc3BhbicsIHtcbiAgICAgICAgICAgIGRvbVByb3BzOiBva0h0bWxcbiAgICAgICAgICB9KSA6IHN0cmlwVGFncyh0aGlzLm9rVGl0bGUpKV0pO1xuICAgICAgICAgIG1vZGFsRm9vdGVyID0gW2NhbmNlbEJ1dHRvbiwgb2tCdXR0b25dO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9vdGVyID0gaCgnZm9vdGVyJywge1xuICAgICAgICAgIHJlZjogJ2Zvb3RlcicsXG4gICAgICAgICAgc3RhdGljQ2xhc3M6ICdtb2RhbC1mb290ZXInLFxuICAgICAgICAgIGNsYXNzOiB0aGlzLmZvb3RlckNsYXNzZXMsXG4gICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgIGlkOiB0aGlzLnNhZmVJZCgnX19CVl9tb2RhbF9mb290ZXJfJylcbiAgICAgICAgICB9XG4gICAgICAgIH0sIFttb2RhbEZvb3Rlcl0pO1xuICAgICAgfSAvLyBBc3NlbWJsZSBtb2RhbCBjb250ZW50XG5cblxuICAgICAgdmFyIG1vZGFsQ29udGVudCA9IGgoJ2RpdicsIHtcbiAgICAgICAgcmVmOiAnY29udGVudCcsXG4gICAgICAgIHN0YXRpY0NsYXNzOiAnbW9kYWwtY29udGVudCcsXG4gICAgICAgIGNsYXNzOiB0aGlzLmNvbnRlbnRDbGFzcyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICByb2xlOiAnZG9jdW1lbnQnLFxuICAgICAgICAgIGlkOiB0aGlzLnNhZmVJZCgnX19CVl9tb2RhbF9jb250ZW50XycpLFxuICAgICAgICAgIHRhYmluZGV4OiAnLTEnXG4gICAgICAgIH1cbiAgICAgIH0sIFtoZWFkZXIsIGJvZHksIGZvb3Rlcl0pOyAvLyBUYWIgdHJhcCB0byBwcmV2ZW50IHBhZ2UgZnJvbSBzY3JvbGxpbmcgdG8gbmV4dCBlbGVtZW50IGluXG4gICAgICAvLyB0YWIgaW5kZXggZHVyaW5nIGVuZm9yY2UgZm9jdXMgdGFiIGN5Y2xlXG5cbiAgICAgIHZhciB0YWJUcmFwVG9wID0gaCgpO1xuICAgICAgdmFyIHRhYlRyYXBCb3R0b20gPSBoKCk7XG5cbiAgICAgIGlmICh0aGlzLmlzVmlzaWJsZSAmJiAhdGhpcy5ub0VuZm9yY2VGb2N1cykge1xuICAgICAgICB0YWJUcmFwVG9wID0gaCgnc3BhbicsIHtcbiAgICAgICAgICByZWY6ICd0b3BUcmFwJyxcbiAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgdGFiaW5kZXg6ICcwJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRhYlRyYXBCb3R0b20gPSBoKCdzcGFuJywge1xuICAgICAgICAgIHJlZjogJ2JvdHRvbVRyYXAnLFxuICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICB0YWJpbmRleDogJzAnXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gLy8gTW9kYWwgZGlhbG9nIHdyYXBwZXJcblxuXG4gICAgICB2YXIgbW9kYWxEaWFsb2cgPSBoKCdkaXYnLCB7XG4gICAgICAgIHJlZjogJ2RpYWxvZycsXG4gICAgICAgIHN0YXRpY0NsYXNzOiAnbW9kYWwtZGlhbG9nJyxcbiAgICAgICAgY2xhc3M6IHRoaXMuZGlhbG9nQ2xhc3NlcyxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBtb3VzZWRvd246IHRoaXMub25EaWFsb2dNb3VzZWRvd25cbiAgICAgICAgfVxuICAgICAgfSwgW3RhYlRyYXBUb3AsIG1vZGFsQ29udGVudCwgdGFiVHJhcEJvdHRvbV0pOyAvLyBNb2RhbFxuXG4gICAgICB2YXIgbW9kYWwgPSBoKCdkaXYnLCB7XG4gICAgICAgIHJlZjogJ21vZGFsJyxcbiAgICAgICAgc3RhdGljQ2xhc3M6ICdtb2RhbCcsXG4gICAgICAgIGNsYXNzOiB0aGlzLm1vZGFsQ2xhc3NlcyxcbiAgICAgICAgc3R5bGU6IHRoaXMubW9kYWxTdHlsZXMsXG4gICAgICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICAgICAgbmFtZTogJ3Nob3cnLFxuICAgICAgICAgIHJhd05hbWU6ICd2LXNob3cnLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLmlzVmlzaWJsZSxcbiAgICAgICAgICBleHByZXNzaW9uOiAnaXNWaXNpYmxlJ1xuICAgICAgICB9XSxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBpZDogdGhpcy5zYWZlSWQoKSxcbiAgICAgICAgICByb2xlOiAnZGlhbG9nJyxcbiAgICAgICAgICAnYXJpYS1oaWRkZW4nOiB0aGlzLmlzVmlzaWJsZSA/IG51bGwgOiAndHJ1ZScsXG4gICAgICAgICAgJ2FyaWEtbW9kYWwnOiB0aGlzLmlzVmlzaWJsZSA/ICd0cnVlJyA6IG51bGwsXG4gICAgICAgICAgJ2FyaWEtbGFiZWwnOiB0aGlzLmFyaWFMYWJlbCxcbiAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogdGhpcy5oaWRlSGVhZGVyIHx8IHRoaXMuYXJpYUxhYmVsIHx8ICEodGhpcy5oYXNOb3JtYWxpemVkU2xvdCgnbW9kYWwtdGl0bGUnKSB8fCB0aGlzLnRpdGxlSHRtbCB8fCB0aGlzLnRpdGxlKSA/IG51bGwgOiB0aGlzLnNhZmVJZCgnX19CVl9tb2RhbF90aXRsZV8nKSxcbiAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IHRoaXMuc2FmZUlkKCdfX0JWX21vZGFsX2JvZHlfJylcbiAgICAgICAgfSxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBrZXlkb3duOiB0aGlzLm9uRXNjLFxuICAgICAgICAgIGNsaWNrOiB0aGlzLm9uQ2xpY2tPdXRcbiAgICAgICAgfVxuICAgICAgfSwgW21vZGFsRGlhbG9nXSk7IC8vIFdyYXAgbW9kYWwgaW4gdHJhbnNpdGlvblxuICAgICAgLy8gU2FkbHksIHdlIGNhbid0IHVzZSBCVlRyYW5zaXRpb24gaGVyZSBkdWUgdG8gdGhlIGRpZmZlcmVuY2VzIGluXG4gICAgICAvLyB0cmFuc2l0aW9uIGR1cmF0aW9ucyBmb3IgLm1vZGFsIGFuZCAubW9kYWwtZGlhbG9nLiBOb3QgdW50aWxcbiAgICAgIC8vIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS92dWVqcy92dWUvaXNzdWVzLzk5ODYgaXMgcmVzb2x2ZWRcblxuICAgICAgbW9kYWwgPSBoKCd0cmFuc2l0aW9uJywge1xuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIGVudGVyQ2xhc3M6ICcnLFxuICAgICAgICAgIGVudGVyVG9DbGFzczogJycsXG4gICAgICAgICAgZW50ZXJBY3RpdmVDbGFzczogJycsXG4gICAgICAgICAgbGVhdmVDbGFzczogJycsXG4gICAgICAgICAgbGVhdmVBY3RpdmVDbGFzczogJycsXG4gICAgICAgICAgbGVhdmVUb0NsYXNzOiAnJ1xuICAgICAgICB9LFxuICAgICAgICBvbjoge1xuICAgICAgICAgIGJlZm9yZUVudGVyOiB0aGlzLm9uQmVmb3JlRW50ZXIsXG4gICAgICAgICAgZW50ZXI6IHRoaXMub25FbnRlcixcbiAgICAgICAgICBhZnRlckVudGVyOiB0aGlzLm9uQWZ0ZXJFbnRlcixcbiAgICAgICAgICBiZWZvcmVMZWF2ZTogdGhpcy5vbkJlZm9yZUxlYXZlLFxuICAgICAgICAgIGxlYXZlOiB0aGlzLm9uTGVhdmUsXG4gICAgICAgICAgYWZ0ZXJMZWF2ZTogdGhpcy5vbkFmdGVyTGVhdmVcbiAgICAgICAgfVxuICAgICAgfSwgW21vZGFsXSk7IC8vIE1vZGFsIGJhY2tkcm9wXG5cbiAgICAgIHZhciBiYWNrZHJvcCA9IGgoKTtcblxuICAgICAgaWYgKCF0aGlzLmhpZGVCYWNrZHJvcCAmJiB0aGlzLmlzVmlzaWJsZSkge1xuICAgICAgICBiYWNrZHJvcCA9IGgoJ2RpdicsIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogJ21vZGFsLWJhY2tkcm9wJyxcbiAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgaWQ6IHRoaXMuc2FmZUlkKCdfX0JWX21vZGFsX2JhY2tkcm9wXycpXG4gICAgICAgICAgfVxuICAgICAgICB9LCBbdGhpcy5ub3JtYWxpemVTbG90KCdtb2RhbC1iYWNrZHJvcCcpXSk7XG4gICAgICB9XG5cbiAgICAgIGJhY2tkcm9wID0gaChCVlRyYW5zaXRpb24sIHtcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBub0ZhZGU6IHRoaXMubm9GYWRlXG4gICAgICAgIH1cbiAgICAgIH0sIFtiYWNrZHJvcF0pOyAvLyBJZiB0aGUgcGFyZW50IGhhcyBhIHNjb3BlZCBzdHlsZSBhdHRyaWJ1dGUsIGFuZCB0aGUgbW9kYWxcbiAgICAgIC8vIGlzIHBvcnRhbGxlZCwgYWRkIHRoZSBzY29wZWQgYXR0cmlidXRlIHRvIHRoZSBtb2RhbCB3cmFwcGVyXG5cbiAgICAgIHZhciBzY29wZWRTdHlsZUF0dHJzID0gIXRoaXMuc3RhdGljID8gdGhpcy5zY29wZWRTdHlsZUF0dHJzIDoge307IC8vIEFzc2VtYmxlIG1vZGFsIGFuZCBiYWNrZHJvcCBpbiBhbiBvdXRlciA8ZGl2PlxuXG4gICAgICByZXR1cm4gaCgnZGl2Jywge1xuICAgICAgICBrZXk6IFwibW9kYWwtb3V0ZXItXCIuY29uY2F0KHRoaXMuX3VpZCksXG4gICAgICAgIHN0eWxlOiB0aGlzLm1vZGFsT3V0ZXJTdHlsZSxcbiAgICAgICAgYXR0cnM6IF9vYmplY3RTcHJlYWQoe30sIHNjb3BlZFN0eWxlQXR0cnMsIHt9LCB0aGlzLiRhdHRycywge1xuICAgICAgICAgIGlkOiB0aGlzLnNhZmVJZCgnX19CVl9tb2RhbF9vdXRlcl8nKVxuICAgICAgICB9KVxuICAgICAgfSwgW21vZGFsLCBiYWNrZHJvcF0pO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIGlmICh0aGlzLnN0YXRpYykge1xuICAgICAgcmV0dXJuIHRoaXMubGF6eSAmJiB0aGlzLmlzSGlkZGVuID8gaCgpIDogdGhpcy5tYWtlTW9kYWwoaCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmlzSGlkZGVuID8gaCgpIDogaChCVHJhbnNwb3J0ZXJTaW5nbGUsIHt9LCBbdGhpcy5tYWtlTW9kYWwoaCldKTtcbiAgICB9XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuanNcbi8vIG1vZHVsZSBpZCA9IDc3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///77\n"); + +/***/ }), +/* 78 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_get_scope_id__ = __webpack_require__(32);\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\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n computed: {\n scopedStyleAttrs: function scopedStyleAttrs() {\n var scopeId = Object(__WEBPACK_IMPORTED_MODULE_0__utils_get_scope_id__[\"a\" /* default */])(this.$parent);\n return scopeId ? _defineProperty({}, scopeId, '') : {};\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL3Njb3BlZC1zdHlsZS1hdHRycy5qcz8yMWE0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUEsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRWhLO0FBQ2hDO0FBQ2Y7QUFDQTtBQUNBLG9CQUFvQiw0RUFBVTtBQUM5Qix5Q0FBeUM7QUFDekM7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiNzguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgZ2V0U2NvcGVJZCBmcm9tICcuLi91dGlscy9nZXQtc2NvcGUtaWQnO1xuZXhwb3J0IGRlZmF1bHQge1xuICBjb21wdXRlZDoge1xuICAgIHNjb3BlZFN0eWxlQXR0cnM6IGZ1bmN0aW9uIHNjb3BlZFN0eWxlQXR0cnMoKSB7XG4gICAgICB2YXIgc2NvcGVJZCA9IGdldFNjb3BlSWQodGhpcy4kcGFyZW50KTtcbiAgICAgIHJldHVybiBzY29wZUlkID8gX2RlZmluZVByb3BlcnR5KHt9LCBzY29wZUlkLCAnJykgOiB7fTtcbiAgICB9XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL3Njb3BlZC1zdHlsZS1hdHRycy5qc1xuLy8gbW9kdWxlIGlkID0gNzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///78\n"); + +/***/ }), +/* 79 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBModal; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_object__ = __webpack_require__(8);\n\n\n // Emitted show event for modal\n\nvar EVENT_SHOW = 'bv::show::modal'; // Prop name we use to store info on root element\n\nvar HANDLER = '__bv_modal_directive__';\nvar EVENT_OPTS = {\n passive: true\n};\n\nvar getTarget = function getTarget(_ref) {\n var _ref$modifiers = _ref.modifiers,\n modifiers = _ref$modifiers === void 0 ? {} : _ref$modifiers,\n arg = _ref.arg,\n value = _ref.value;\n // Try value, then arg, otherwise pick last modifier\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"m\" /* isString */])(value) ? value : Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"m\" /* isString */])(arg) ? arg : Object(__WEBPACK_IMPORTED_MODULE_2__utils_object__[\"j\" /* keys */])(modifiers).reverse()[0];\n};\n\nvar getTriggerElement = function getTriggerElement(el) {\n // If root element is a dropdown item or nav item, we\n // need to target the inner link or button instead\n return el && Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"q\" /* matches */])(el, '.dropdown-menu > li, li.nav-item') ? Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"x\" /* select */])('a, button', el) || el : el;\n};\n\nvar setRole = function setRole(trigger) {\n // Only set a role if the trigger element doesn't have one\n if (trigger && trigger.tagName !== 'BUTTON' && !Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"l\" /* hasAttr */])(trigger, 'role')) {\n Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"z\" /* setAttr */])(trigger, 'role', 'button');\n }\n};\n\nvar bind = function bind(el, binding, vnode) {\n var target = getTarget(binding);\n var trigger = getTriggerElement(el);\n\n if (target && trigger) {\n var handler = function handler(evt) {\n // `currentTarget` is the element with the listener on it\n var currentTarget = evt.currentTarget;\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"n\" /* isDisabled */])(currentTarget)) {\n var type = evt.type; // Open modal only if trigger is not disabled\n\n if (type === 'click' || type === 'keydown' && evt.keyCode === 32) {\n vnode.context.$root.$emit(EVENT_SHOW, target, currentTarget);\n }\n }\n };\n\n el[HANDLER] = handler; // If element is not a button, we add `role=\"button\"` for accessibility\n\n setRole(trigger); // Listen for click events\n\n Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"f\" /* eventOn */])(trigger, 'click', handler, EVENT_OPTS);\n\n if (trigger.tagName !== 'BUTTON' && Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"g\" /* getAttr */])(trigger, 'role') === 'button') {\n // If trigger isn't a button but has role button,\n // we also listen for `keydown.space`\n Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"f\" /* eventOn */])(trigger, 'keydown', handler, EVENT_OPTS);\n }\n }\n};\n\nvar unbind = function unbind(el) {\n var trigger = getTriggerElement(el);\n var handler = el ? el[HANDLER] : null;\n\n if (trigger && handler) {\n Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"e\" /* eventOff */])(trigger, 'click', handler, EVENT_OPTS);\n Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"e\" /* eventOff */])(trigger, 'keydown', handler, EVENT_OPTS);\n }\n\n delete el[HANDLER];\n};\n\nvar componentUpdated = function componentUpdated(el, binding, vnode) {\n // We bind and rebind just in case target changes\n unbind(el, binding, vnode);\n bind(el, binding, vnode);\n};\n\nvar updated = function updated() {};\n/*\n * Export our directive\n */\n\n\nvar VBModal = {\n inserted: componentUpdated,\n updated: updated,\n componentUpdated: componentUpdated,\n unbind: unbind\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9tb2RhbC9tb2RhbC5qcz9mZDRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTRHO0FBQzdEO0FBQ0w7O0FBRTFDLG1DQUFtQzs7QUFFbkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDQSxTQUFTLHdFQUFRLGtCQUFrQix3RUFBUSxjQUFjLG1FQUFJO0FBQzdEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbUVBQU8sMkNBQTJDLGtFQUFNO0FBQ3ZFOztBQUVBO0FBQ0E7QUFDQSxrREFBa0QsbUVBQU87QUFDekQsSUFBSSxtRUFBTztBQUNYO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFdBQVcsc0VBQVU7QUFDckIsNEJBQTRCOztBQUU1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDBCQUEwQjs7QUFFMUIscUJBQXFCOztBQUVyQixJQUFJLG1FQUFPOztBQUVYLHdDQUF3QyxtRUFBTztBQUMvQztBQUNBO0FBQ0EsTUFBTSxtRUFBTztBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLG9FQUFRO0FBQ1osSUFBSSxvRUFBUTtBQUNaOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ijc5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXZlbnRPbiwgZXZlbnRPZmYsIGdldEF0dHIsIGhhc0F0dHIsIGlzRGlzYWJsZWQsIG1hdGNoZXMsIHNlbGVjdCwgc2V0QXR0ciB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsga2V5cyB9IGZyb20gJy4uLy4uL3V0aWxzL29iamVjdCc7IC8vIEVtaXR0ZWQgc2hvdyBldmVudCBmb3IgbW9kYWxcblxudmFyIEVWRU5UX1NIT1cgPSAnYnY6OnNob3c6Om1vZGFsJzsgLy8gUHJvcCBuYW1lIHdlIHVzZSB0byBzdG9yZSBpbmZvIG9uIHJvb3QgZWxlbWVudFxuXG52YXIgSEFORExFUiA9ICdfX2J2X21vZGFsX2RpcmVjdGl2ZV9fJztcbnZhciBFVkVOVF9PUFRTID0ge1xuICBwYXNzaXZlOiB0cnVlXG59O1xuXG52YXIgZ2V0VGFyZ2V0ID0gZnVuY3Rpb24gZ2V0VGFyZ2V0KF9yZWYpIHtcbiAgdmFyIF9yZWYkbW9kaWZpZXJzID0gX3JlZi5tb2RpZmllcnMsXG4gICAgICBtb2RpZmllcnMgPSBfcmVmJG1vZGlmaWVycyA9PT0gdm9pZCAwID8ge30gOiBfcmVmJG1vZGlmaWVycyxcbiAgICAgIGFyZyA9IF9yZWYuYXJnLFxuICAgICAgdmFsdWUgPSBfcmVmLnZhbHVlO1xuICAvLyBUcnkgdmFsdWUsIHRoZW4gYXJnLCBvdGhlcndpc2UgcGljayBsYXN0IG1vZGlmaWVyXG4gIHJldHVybiBpc1N0cmluZyh2YWx1ZSkgPyB2YWx1ZSA6IGlzU3RyaW5nKGFyZykgPyBhcmcgOiBrZXlzKG1vZGlmaWVycykucmV2ZXJzZSgpWzBdO1xufTtcblxudmFyIGdldFRyaWdnZXJFbGVtZW50ID0gZnVuY3Rpb24gZ2V0VHJpZ2dlckVsZW1lbnQoZWwpIHtcbiAgLy8gSWYgcm9vdCBlbGVtZW50IGlzIGEgZHJvcGRvd24gaXRlbSBvciBuYXYgaXRlbSwgd2VcbiAgLy8gbmVlZCB0byB0YXJnZXQgdGhlIGlubmVyIGxpbmsgb3IgYnV0dG9uIGluc3RlYWRcbiAgcmV0dXJuIGVsICYmIG1hdGNoZXMoZWwsICcuZHJvcGRvd24tbWVudSA+IGxpLCBsaS5uYXYtaXRlbScpID8gc2VsZWN0KCdhLCBidXR0b24nLCBlbCkgfHwgZWwgOiBlbDtcbn07XG5cbnZhciBzZXRSb2xlID0gZnVuY3Rpb24gc2V0Um9sZSh0cmlnZ2VyKSB7XG4gIC8vIE9ubHkgc2V0IGEgcm9sZSBpZiB0aGUgdHJpZ2dlciBlbGVtZW50IGRvZXNuJ3QgaGF2ZSBvbmVcbiAgaWYgKHRyaWdnZXIgJiYgdHJpZ2dlci50YWdOYW1lICE9PSAnQlVUVE9OJyAmJiAhaGFzQXR0cih0cmlnZ2VyLCAncm9sZScpKSB7XG4gICAgc2V0QXR0cih0cmlnZ2VyLCAncm9sZScsICdidXR0b24nKTtcbiAgfVxufTtcblxudmFyIGJpbmQgPSBmdW5jdGlvbiBiaW5kKGVsLCBiaW5kaW5nLCB2bm9kZSkge1xuICB2YXIgdGFyZ2V0ID0gZ2V0VGFyZ2V0KGJpbmRpbmcpO1xuICB2YXIgdHJpZ2dlciA9IGdldFRyaWdnZXJFbGVtZW50KGVsKTtcblxuICBpZiAodGFyZ2V0ICYmIHRyaWdnZXIpIHtcbiAgICB2YXIgaGFuZGxlciA9IGZ1bmN0aW9uIGhhbmRsZXIoZXZ0KSB7XG4gICAgICAvLyBgY3VycmVudFRhcmdldGAgaXMgdGhlIGVsZW1lbnQgd2l0aCB0aGUgbGlzdGVuZXIgb24gaXRcbiAgICAgIHZhciBjdXJyZW50VGFyZ2V0ID0gZXZ0LmN1cnJlbnRUYXJnZXQ7XG5cbiAgICAgIGlmICghaXNEaXNhYmxlZChjdXJyZW50VGFyZ2V0KSkge1xuICAgICAgICB2YXIgdHlwZSA9IGV2dC50eXBlOyAvLyBPcGVuIG1vZGFsIG9ubHkgaWYgdHJpZ2dlciBpcyBub3QgZGlzYWJsZWRcblxuICAgICAgICBpZiAodHlwZSA9PT0gJ2NsaWNrJyB8fCB0eXBlID09PSAna2V5ZG93bicgJiYgZXZ0LmtleUNvZGUgPT09IDMyKSB7XG4gICAgICAgICAgdm5vZGUuY29udGV4dC4kcm9vdC4kZW1pdChFVkVOVF9TSE9XLCB0YXJnZXQsIGN1cnJlbnRUYXJnZXQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIGVsW0hBTkRMRVJdID0gaGFuZGxlcjsgLy8gSWYgZWxlbWVudCBpcyBub3QgYSBidXR0b24sIHdlIGFkZCBgcm9sZT1cImJ1dHRvblwiYCBmb3IgYWNjZXNzaWJpbGl0eVxuXG4gICAgc2V0Um9sZSh0cmlnZ2VyKTsgLy8gTGlzdGVuIGZvciBjbGljayBldmVudHNcblxuICAgIGV2ZW50T24odHJpZ2dlciwgJ2NsaWNrJywgaGFuZGxlciwgRVZFTlRfT1BUUyk7XG5cbiAgICBpZiAodHJpZ2dlci50YWdOYW1lICE9PSAnQlVUVE9OJyAmJiBnZXRBdHRyKHRyaWdnZXIsICdyb2xlJykgPT09ICdidXR0b24nKSB7XG4gICAgICAvLyBJZiB0cmlnZ2VyIGlzbid0IGEgYnV0dG9uIGJ1dCBoYXMgcm9sZSBidXR0b24sXG4gICAgICAvLyB3ZSBhbHNvIGxpc3RlbiBmb3IgYGtleWRvd24uc3BhY2VgXG4gICAgICBldmVudE9uKHRyaWdnZXIsICdrZXlkb3duJywgaGFuZGxlciwgRVZFTlRfT1BUUyk7XG4gICAgfVxuICB9XG59O1xuXG52YXIgdW5iaW5kID0gZnVuY3Rpb24gdW5iaW5kKGVsKSB7XG4gIHZhciB0cmlnZ2VyID0gZ2V0VHJpZ2dlckVsZW1lbnQoZWwpO1xuICB2YXIgaGFuZGxlciA9IGVsID8gZWxbSEFORExFUl0gOiBudWxsO1xuXG4gIGlmICh0cmlnZ2VyICYmIGhhbmRsZXIpIHtcbiAgICBldmVudE9mZih0cmlnZ2VyLCAnY2xpY2snLCBoYW5kbGVyLCBFVkVOVF9PUFRTKTtcbiAgICBldmVudE9mZih0cmlnZ2VyLCAna2V5ZG93bicsIGhhbmRsZXIsIEVWRU5UX09QVFMpO1xuICB9XG5cbiAgZGVsZXRlIGVsW0hBTkRMRVJdO1xufTtcblxudmFyIGNvbXBvbmVudFVwZGF0ZWQgPSBmdW5jdGlvbiBjb21wb25lbnRVcGRhdGVkKGVsLCBiaW5kaW5nLCB2bm9kZSkge1xuICAvLyBXZSBiaW5kIGFuZCByZWJpbmQganVzdCBpbiBjYXNlIHRhcmdldCBjaGFuZ2VzXG4gIHVuYmluZChlbCwgYmluZGluZywgdm5vZGUpO1xuICBiaW5kKGVsLCBiaW5kaW5nLCB2bm9kZSk7XG59O1xuXG52YXIgdXBkYXRlZCA9IGZ1bmN0aW9uIHVwZGF0ZWQoKSB7fTtcbi8qXG4gKiBFeHBvcnQgb3VyIGRpcmVjdGl2ZVxuICovXG5cblxuZXhwb3J0IHZhciBWQk1vZGFsID0ge1xuICBpbnNlcnRlZDogY29tcG9uZW50VXBkYXRlZCxcbiAgdXBkYXRlZDogdXBkYXRlZCxcbiAgY29tcG9uZW50VXBkYXRlZDogY29tcG9uZW50VXBkYXRlZCxcbiAgdW5iaW5kOiB1bmJpbmRcbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9tb2RhbC9tb2RhbC5qc1xuLy8gbW9kdWxlIGlkID0gNzlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///79\n"); + +/***/ }), +/* 80 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return NavPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nav__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nav_item__ = __webpack_require__(172);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nav_text__ = __webpack_require__(173);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nav_form__ = __webpack_require__(174);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nav_item_dropdown__ = __webpack_require__(175);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__dropdown__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BNav */\n/* unused harmony reexport BNavItem */\n/* unused harmony reexport BNavText */\n/* unused harmony reexport BNavForm */\n/* unused harmony reexport BNavItemDropdown */\n\n\n\n\n\n\n\nvar NavPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_6__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BNav: __WEBPACK_IMPORTED_MODULE_0__nav__[\"a\" /* BNav */],\n BNavItem: __WEBPACK_IMPORTED_MODULE_1__nav_item__[\"a\" /* BNavItem */],\n BNavText: __WEBPACK_IMPORTED_MODULE_2__nav_text__[\"a\" /* BNavText */],\n BNavForm: __WEBPACK_IMPORTED_MODULE_3__nav_form__[\"a\" /* BNavForm */],\n BNavItemDropdown: __WEBPACK_IMPORTED_MODULE_4__nav_item_dropdown__[\"a\" /* BNavItemDropdown */],\n BNavItemDd: __WEBPACK_IMPORTED_MODULE_4__nav_item_dropdown__[\"a\" /* BNavItemDropdown */],\n BNavDropdown: __WEBPACK_IMPORTED_MODULE_4__nav_item_dropdown__[\"a\" /* BNavItemDropdown */],\n BNavDd: __WEBPACK_IMPORTED_MODULE_4__nav_item_dropdown__[\"a\" /* BNavItemDropdown */]\n },\n plugins: {\n DropdownPlugin: __WEBPACK_IMPORTED_MODULE_5__dropdown__[\"a\" /* DropdownPlugin */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXYvaW5kZXguanM/YTg0NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUE2QjtBQUNTO0FBQ0E7QUFDQTtBQUNpQjtBQUNWO0FBQ087QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxVQUFVLGtEQUFJO0FBQ2QsY0FBYywyREFBUTtBQUN0QixjQUFjLDJEQUFRO0FBQ3RCLGNBQWMsMkRBQVE7QUFDdEIsc0JBQXNCLDRFQUFnQjtBQUN0QyxnQkFBZ0IsNEVBQWdCO0FBQ2hDLGtCQUFrQiw0RUFBZ0I7QUFDbEMsWUFBWSw0RUFBZ0I7QUFDNUIsR0FBRztBQUNIO0FBQ0Esb0JBQW9CLGlFQUFjO0FBQ2xDO0FBQ0EsQ0FBQyIsImZpbGUiOiI4MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJOYXYgfSBmcm9tICcuL25hdic7XG5pbXBvcnQgeyBCTmF2SXRlbSB9IGZyb20gJy4vbmF2LWl0ZW0nO1xuaW1wb3J0IHsgQk5hdlRleHQgfSBmcm9tICcuL25hdi10ZXh0JztcbmltcG9ydCB7IEJOYXZGb3JtIH0gZnJvbSAnLi9uYXYtZm9ybSc7XG5pbXBvcnQgeyBCTmF2SXRlbURyb3Bkb3duIH0gZnJvbSAnLi9uYXYtaXRlbS1kcm9wZG93bic7XG5pbXBvcnQgeyBEcm9wZG93blBsdWdpbiB9IGZyb20gJy4uL2Ryb3Bkb3duJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBOYXZQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCTmF2OiBCTmF2LFxuICAgIEJOYXZJdGVtOiBCTmF2SXRlbSxcbiAgICBCTmF2VGV4dDogQk5hdlRleHQsXG4gICAgQk5hdkZvcm06IEJOYXZGb3JtLFxuICAgIEJOYXZJdGVtRHJvcGRvd246IEJOYXZJdGVtRHJvcGRvd24sXG4gICAgQk5hdkl0ZW1EZDogQk5hdkl0ZW1Ecm9wZG93bixcbiAgICBCTmF2RHJvcGRvd246IEJOYXZJdGVtRHJvcGRvd24sXG4gICAgQk5hdkRkOiBCTmF2SXRlbURyb3Bkb3duXG4gIH0sXG4gIHBsdWdpbnM6IHtcbiAgICBEcm9wZG93blBsdWdpbjogRHJvcGRvd25QbHVnaW5cbiAgfVxufSk7XG5leHBvcnQgeyBOYXZQbHVnaW4sIEJOYXYsIEJOYXZJdGVtLCBCTmF2VGV4dCwgQk5hdkZvcm0sIEJOYXZJdGVtRHJvcGRvd24gfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL25hdi9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gODBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///80\n"); + +/***/ }), +/* 81 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTooltip; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_get_scope_id__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_safe_types__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__helpers_bv_tooltip__ = __webpack_require__(82);\n\n\n\n\n\n\n\nvar NAME = 'BTooltip'; // @vue/component\n\nvar BTooltip =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n props: {\n title: {\n type: String // default: undefined\n\n },\n // Added in by BPopover\n // content: {\n // type: String,\n // default: undefined\n // },\n target: {\n // String ID of element, or element/component reference\n // Or function that returns one of the above\n type: [String, __WEBPACK_IMPORTED_MODULE_5__utils_safe_types__[\"b\" /* HTMLElement */], __WEBPACK_IMPORTED_MODULE_5__utils_safe_types__[\"c\" /* SVGElement */], Function, Object],\n // default: undefined,\n required: true\n },\n triggers: {\n type: [String, Array],\n default: 'hover focus'\n },\n placement: {\n type: String,\n default: 'top'\n },\n fallbackPlacement: {\n type: [String, Array],\n default: 'flip',\n validator: function validator(value) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"d\" /* isArray */])(value) && value.every(function (v) {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"m\" /* isString */])(v);\n }) || Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"a\" /* arrayIncludes */])(['flip', 'clockwise', 'counterclockwise'], value);\n }\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n customClass: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'customClass');\n }\n },\n delay: {\n type: [Number, Object, String],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'delay');\n }\n },\n boundary: {\n // String: scrollParent, window, or viewport\n // Element: element reference\n // Object: Vue component\n type: [String, __WEBPACK_IMPORTED_MODULE_5__utils_safe_types__[\"b\" /* HTMLElement */], Object],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'boundary');\n }\n },\n boundaryPadding: {\n type: [Number, String],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'boundaryPadding');\n }\n },\n offset: {\n type: [Number, String],\n default: 0\n },\n noFade: {\n type: Boolean,\n default: false\n },\n container: {\n // String: HTML ID of container, if null body is used (default)\n // HTMLElement: element reference reference\n // Object: Vue Component\n type: [String, __WEBPACK_IMPORTED_MODULE_5__utils_safe_types__[\"b\" /* HTMLElement */], Object] // default: undefined\n\n },\n show: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n id: {\n // ID to use for tooltip element\n // If not provided on will automatically be generated\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n localShow: this.show,\n localTitle: '',\n localContent: ''\n };\n },\n computed: {\n templateData: function templateData() {\n // Data that will be passed to the template and popper\n return {\n // We use massaged versions of the title and content props/slots\n title: this.localTitle,\n content: this.localContent,\n // Pass these props as is\n target: this.target,\n triggers: this.triggers,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n variant: this.variant,\n customClass: this.customClass,\n container: this.container,\n boundary: this.boundary,\n boundaryPadding: this.boundaryPadding,\n delay: this.delay,\n offset: this.offset,\n noFade: this.noFade,\n disabled: this.disabled,\n id: this.id\n };\n },\n templateTitleContent: function templateTitleContent() {\n // Used to watch for changes to the title and content props\n return {\n title: this.title,\n content: this.content\n };\n }\n },\n watch: {\n show: function show(_show, oldVal) {\n if (_show !== oldVal && _show !== this.localShow && this.$_bv_toolpop) {\n if (_show) {\n this.$_bv_toolpop.show();\n } else {\n // We use `forceHide()` to override any active triggers\n this.$_bv_toolpop.forceHide();\n }\n }\n },\n disabled: function disabled(newVal, oldVal) {\n if (newVal) {\n this.doDisable();\n } else {\n this.doEnable();\n }\n },\n localShow: function localShow(show, oldVal) {\n // TODO: May need to be done in a `$nextTick()`\n this.$emit('update:show', show);\n },\n templateData: function templateData(newVal, oldVal) {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.$_bv_toolpop) {\n _this.$_bv_toolpop.updateData(_this.templateData);\n }\n });\n },\n // Watchers for title/content props (prop changes do not trigger the `updated()` hook)\n templateTitleContent: function templateTitleContent(newVal, oldVal) {\n this.$nextTick(this.updateContent);\n }\n },\n created: function created() {\n // Non reactive properties\n this.$_bv_toolpop = null;\n },\n updated: function updated() {\n // Update the `propData` object\n // Done in a `$nextTick()` to ensure slot(s) have updated\n this.$nextTick(this.updateContent);\n },\n beforeDestroy: function beforeDestroy() {\n // Shutdown our local event listeners\n this.$off('open', this.doOpen);\n this.$off('close', this.doClose);\n this.$off('disable', this.doDisable);\n this.$off('enable', this.doEnable); // Destroy the tip instance\n\n this.$_bv_toolpop && this.$_bv_toolpop.$destroy();\n this.$_bv_toolpop = null;\n },\n mounted: function mounted() {\n var _this2 = this;\n\n // Instantiate a new BVTooltip instance\n // Done in a `$nextTick()` to ensure DOM has completed rendering\n // so that target can be found\n this.$nextTick(function () {\n // Load the on demand child instance\n var Component = _this2.getComponent(); // Ensure we have initial content\n\n\n _this2.updateContent(); // Pass down the scoped style attribute if available\n\n\n var scopeId = Object(__WEBPACK_IMPORTED_MODULE_1__utils_get_scope_id__[\"a\" /* default */])(_this2) || Object(__WEBPACK_IMPORTED_MODULE_1__utils_get_scope_id__[\"a\" /* default */])(_this2.$parent); // Create the instance\n\n var $toolpop = _this2.$_bv_toolpop = new Component({\n parent: _this2,\n // Pass down the scoped style ID\n _scopeId: scopeId || undefined\n }); // Set the initial data\n\n $toolpop.updateData(_this2.templateData); // Set listeners\n\n $toolpop.$on('show', _this2.onShow);\n $toolpop.$on('shown', _this2.onShown);\n $toolpop.$on('hide', _this2.onHide);\n $toolpop.$on('hidden', _this2.onHidden);\n $toolpop.$on('disabled', _this2.onDisabled);\n $toolpop.$on('enabled', _this2.onEnabled); // Initially disabled?\n\n if (_this2.disabled) {\n // Initially disabled\n _this2.doDisable();\n } // Listen to open signals from others\n\n\n _this2.$on('open', _this2.doOpen); // Listen to close signals from others\n\n\n _this2.$on('close', _this2.doClose); // Listen to disable signals from others\n\n\n _this2.$on('disable', _this2.doDisable); // Listen to enable signals from others\n\n\n _this2.$on('enable', _this2.doEnable); // Initially show tooltip?\n\n\n if (_this2.localShow) {\n _this2.$_bv_toolpop && _this2.$_bv_toolpop.show();\n }\n });\n },\n methods: {\n getComponent: function getComponent() {\n // Overridden by BPopover\n return __WEBPACK_IMPORTED_MODULE_6__helpers_bv_tooltip__[\"a\" /* BVTooltip */];\n },\n updateContent: function updateContent() {\n // Overridden by BPopover\n // Tooltip: Default slot is `title`\n // Popover: Default slot is `content`, `title` slot is title\n // We pass a scoped slot function reference by default (Vue v2.6x)\n // And pass the title prop as a fallback\n this.setTitle(this.$scopedSlots.default || this.title);\n },\n // Helper methods for `updateContent()`\n setTitle: function setTitle(val) {\n val = Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"o\" /* isUndefinedOrNull */])(val) ? '' : val; // We only update the value if it has changed\n\n if (this.localTitle !== val) {\n this.localTitle = val;\n }\n },\n setContent: function setContent(val) {\n val = Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"o\" /* isUndefinedOrNull */])(val) ? '' : val; // We only update the value if it has changed\n\n if (this.localContent !== val) {\n this.localContent = val;\n }\n },\n // --- Template event handlers ---\n onShow: function onShow(bvEvt) {\n // Placeholder\n this.$emit('show', bvEvt);\n\n if (bvEvt) {\n this.localShow = !bvEvt.defaultPrevented;\n }\n },\n onShown: function onShown(bvEvt) {\n // Tip is now showing\n this.localShow = true;\n this.$emit('shown', bvEvt);\n },\n onHide: function onHide(bvEvt) {\n this.$emit('hide', bvEvt);\n },\n onHidden: function onHidden(bvEvt) {\n // Tip is no longer showing\n this.$emit('hidden', bvEvt);\n this.localShow = false;\n },\n onDisabled: function onDisabled(bvEvt) {\n // Prevent possible endless loop if user mistakenly\n // fires `disabled` instead of `disable`\n if (bvEvt && bvEvt.type === 'disabled') {\n this.$emit('update:disabled', true);\n this.$emit('disabled', bvEvt);\n }\n },\n onEnabled: function onEnabled(bvEvt) {\n // Prevent possible endless loop if user mistakenly\n // fires `enabled` instead of `enable`\n if (bvEvt && bvEvt.type === 'enabled') {\n this.$emit('update:disabled', false);\n this.$emit('enabled', bvEvt);\n }\n },\n // --- Local event listeners ---\n doOpen: function doOpen() {\n !this.localShow && this.$_bv_toolpop && this.$_bv_toolpop.show();\n },\n doClose: function doClose() {\n this.localShow && this.$_bv_toolpop && this.$_bv_toolpop.hide();\n },\n doDisable: function doDisable(evt) {\n this.$_bv_toolpop && this.$_bv_toolpop.disable();\n },\n doEnable: function doEnable() {\n this.$_bv_toolpop && this.$_bv_toolpop.enable();\n }\n },\n render: function render(h) {\n // Always renders a comment node\n // TODO:\n // Future: Possibly render a target slot (single root element)\n // which we can apply the listeners to (pass `this.$el` to BVTooltip)\n return h();\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuanM/NjhlNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDO0FBQ2U7QUFDVTtBQUNIO0FBQ1U7QUFDRDtBQUNoQjtBQUNqRCxzQkFBc0I7O0FBRWY7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixzRUFBVyxFQUFFLHFFQUFVO0FBQzVDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUscUVBQU87QUFDdEIsaUJBQWlCLHdFQUFRO0FBQ3pCLFNBQVMsS0FBSywyRUFBYTtBQUMzQjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxlQUFlLGlGQUFrQjtBQUNqQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxlQUFlLGlGQUFrQjtBQUNqQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxlQUFlLGlGQUFrQjtBQUNqQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixzRUFBVztBQUNoQztBQUNBLGVBQWUsaUZBQWtCO0FBQ2pDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUZBQWtCO0FBQ2pDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsc0VBQVc7O0FBRWhDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7OztBQUc1Qyw2QkFBNkI7OztBQUc3QixvQkFBb0IsNEVBQVMsWUFBWSw0RUFBUyxpQkFBaUI7O0FBRW5FO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxFQUFFOztBQUVULCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1Asd0NBQXdDOzs7QUFHeEMsMENBQTBDOzs7QUFHMUMsOENBQThDOzs7QUFHOUMsNENBQTRDOzs7QUFHNUM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLHNFQUFTO0FBQ3RCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsWUFBWSxpRkFBaUIsaUJBQWlCOztBQUU5QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxZQUFZLGlGQUFpQixpQkFBaUI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiODEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgZ2V0U2NvcElkIGZyb20gJy4uLy4uL3V0aWxzL2dldC1zY29wZS1pZCc7XG5pbXBvcnQgeyBpc0FycmF5LCBhcnJheUluY2x1ZGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IGlzU3RyaW5nLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsgSFRNTEVsZW1lbnQsIFNWR0VsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9zYWZlLXR5cGVzJztcbmltcG9ydCB7IEJWVG9vbHRpcCB9IGZyb20gJy4vaGVscGVycy9idi10b29sdGlwJztcbnZhciBOQU1FID0gJ0JUb29sdGlwJzsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVG9vbHRpcCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgcHJvcHM6IHtcbiAgICB0aXRsZToge1xuICAgICAgdHlwZTogU3RyaW5nIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICAvLyBBZGRlZCBpbiBieSBCUG9wb3ZlclxuICAgIC8vIGNvbnRlbnQ6IHtcbiAgICAvLyAgIHR5cGU6IFN0cmluZyxcbiAgICAvLyAgIGRlZmF1bHQ6IHVuZGVmaW5lZFxuICAgIC8vIH0sXG4gICAgdGFyZ2V0OiB7XG4gICAgICAvLyBTdHJpbmcgSUQgb2YgZWxlbWVudCwgb3IgZWxlbWVudC9jb21wb25lbnQgcmVmZXJlbmNlXG4gICAgICAvLyBPciBmdW5jdGlvbiB0aGF0IHJldHVybnMgb25lIG9mIHRoZSBhYm92ZVxuICAgICAgdHlwZTogW1N0cmluZywgSFRNTEVsZW1lbnQsIFNWR0VsZW1lbnQsIEZ1bmN0aW9uLCBPYmplY3RdLFxuICAgICAgLy8gZGVmYXVsdDogdW5kZWZpbmVkLFxuICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICB9LFxuICAgIHRyaWdnZXJzOiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBBcnJheV0sXG4gICAgICBkZWZhdWx0OiAnaG92ZXIgZm9jdXMnXG4gICAgfSxcbiAgICBwbGFjZW1lbnQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICd0b3AnXG4gICAgfSxcbiAgICBmYWxsYmFja1BsYWNlbWVudDoge1xuICAgICAgdHlwZTogW1N0cmluZywgQXJyYXldLFxuICAgICAgZGVmYXVsdDogJ2ZsaXAnLFxuICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2KSB7XG4gICAgICAgICAgcmV0dXJuIGlzU3RyaW5nKHYpO1xuICAgICAgICB9KSB8fCBhcnJheUluY2x1ZGVzKFsnZmxpcCcsICdjbG9ja3dpc2UnLCAnY291bnRlcmNsb2Nrd2lzZSddLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB2YXJpYW50OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAndmFyaWFudCcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgY3VzdG9tQ2xhc3M6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdjdXN0b21DbGFzcycpO1xuICAgICAgfVxuICAgIH0sXG4gICAgZGVsYXk6IHtcbiAgICAgIHR5cGU6IFtOdW1iZXIsIE9iamVjdCwgU3RyaW5nXSxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdkZWxheScpO1xuICAgICAgfVxuICAgIH0sXG4gICAgYm91bmRhcnk6IHtcbiAgICAgIC8vIFN0cmluZzogc2Nyb2xsUGFyZW50LCB3aW5kb3csIG9yIHZpZXdwb3J0XG4gICAgICAvLyBFbGVtZW50OiBlbGVtZW50IHJlZmVyZW5jZVxuICAgICAgLy8gT2JqZWN0OiBWdWUgY29tcG9uZW50XG4gICAgICB0eXBlOiBbU3RyaW5nLCBIVE1MRWxlbWVudCwgT2JqZWN0XSxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdib3VuZGFyeScpO1xuICAgICAgfVxuICAgIH0sXG4gICAgYm91bmRhcnlQYWRkaW5nOiB7XG4gICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2JvdW5kYXJ5UGFkZGluZycpO1xuICAgICAgfVxuICAgIH0sXG4gICAgb2Zmc2V0OiB7XG4gICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgICAgZGVmYXVsdDogMFxuICAgIH0sXG4gICAgbm9GYWRlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGNvbnRhaW5lcjoge1xuICAgICAgLy8gU3RyaW5nOiBIVE1MIElEIG9mIGNvbnRhaW5lciwgaWYgbnVsbCBib2R5IGlzIHVzZWQgKGRlZmF1bHQpXG4gICAgICAvLyBIVE1MRWxlbWVudDogZWxlbWVudCByZWZlcmVuY2UgcmVmZXJlbmNlXG4gICAgICAvLyBPYmplY3Q6IFZ1ZSBDb21wb25lbnRcbiAgICAgIHR5cGU6IFtTdHJpbmcsIEhUTUxFbGVtZW50LCBPYmplY3RdIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICBzaG93OiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGRpc2FibGVkOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGlkOiB7XG4gICAgICAvLyBJRCB0byB1c2UgZm9yIHRvb2x0aXAgZWxlbWVudFxuICAgICAgLy8gSWYgbm90IHByb3ZpZGVkIG9uIHdpbGwgYXV0b21hdGljYWxseSBiZSBnZW5lcmF0ZWRcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0sXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2FsU2hvdzogdGhpcy5zaG93LFxuICAgICAgbG9jYWxUaXRsZTogJycsXG4gICAgICBsb2NhbENvbnRlbnQ6ICcnXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICB0ZW1wbGF0ZURhdGE6IGZ1bmN0aW9uIHRlbXBsYXRlRGF0YSgpIHtcbiAgICAgIC8vIERhdGEgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgdGVtcGxhdGUgYW5kIHBvcHBlclxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLy8gV2UgdXNlIG1hc3NhZ2VkIHZlcnNpb25zIG9mIHRoZSB0aXRsZSBhbmQgY29udGVudCBwcm9wcy9zbG90c1xuICAgICAgICB0aXRsZTogdGhpcy5sb2NhbFRpdGxlLFxuICAgICAgICBjb250ZW50OiB0aGlzLmxvY2FsQ29udGVudCxcbiAgICAgICAgLy8gUGFzcyB0aGVzZSBwcm9wcyBhcyBpc1xuICAgICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0LFxuICAgICAgICB0cmlnZ2VyczogdGhpcy50cmlnZ2VycyxcbiAgICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgZmFsbGJhY2tQbGFjZW1lbnQ6IHRoaXMuZmFsbGJhY2tQbGFjZW1lbnQsXG4gICAgICAgIHZhcmlhbnQ6IHRoaXMudmFyaWFudCxcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHRoaXMuY3VzdG9tQ2xhc3MsXG4gICAgICAgIGNvbnRhaW5lcjogdGhpcy5jb250YWluZXIsXG4gICAgICAgIGJvdW5kYXJ5OiB0aGlzLmJvdW5kYXJ5LFxuICAgICAgICBib3VuZGFyeVBhZGRpbmc6IHRoaXMuYm91bmRhcnlQYWRkaW5nLFxuICAgICAgICBkZWxheTogdGhpcy5kZWxheSxcbiAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgbm9GYWRlOiB0aGlzLm5vRmFkZSxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIGlkOiB0aGlzLmlkXG4gICAgICB9O1xuICAgIH0sXG4gICAgdGVtcGxhdGVUaXRsZUNvbnRlbnQ6IGZ1bmN0aW9uIHRlbXBsYXRlVGl0bGVDb250ZW50KCkge1xuICAgICAgLy8gVXNlZCB0byB3YXRjaCBmb3IgY2hhbmdlcyB0byB0aGUgdGl0bGUgYW5kIGNvbnRlbnQgcHJvcHNcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxuICAgICAgICBjb250ZW50OiB0aGlzLmNvbnRlbnRcbiAgICAgIH07XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIHNob3c6IGZ1bmN0aW9uIHNob3coX3Nob3csIG9sZFZhbCkge1xuICAgICAgaWYgKF9zaG93ICE9PSBvbGRWYWwgJiYgX3Nob3cgIT09IHRoaXMubG9jYWxTaG93ICYmIHRoaXMuJF9idl90b29scG9wKSB7XG4gICAgICAgIGlmIChfc2hvdykge1xuICAgICAgICAgIHRoaXMuJF9idl90b29scG9wLnNob3coKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBXZSB1c2UgYGZvcmNlSGlkZSgpYCB0byBvdmVycmlkZSBhbnkgYWN0aXZlIHRyaWdnZXJzXG4gICAgICAgICAgdGhpcy4kX2J2X3Rvb2xwb3AuZm9yY2VIaWRlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGRpc2FibGVkOiBmdW5jdGlvbiBkaXNhYmxlZChuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgaWYgKG5ld1ZhbCkge1xuICAgICAgICB0aGlzLmRvRGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kb0VuYWJsZSgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgbG9jYWxTaG93OiBmdW5jdGlvbiBsb2NhbFNob3coc2hvdywgb2xkVmFsKSB7XG4gICAgICAvLyBUT0RPOiBNYXkgbmVlZCB0byBiZSBkb25lIGluIGEgYCRuZXh0VGljaygpYFxuICAgICAgdGhpcy4kZW1pdCgndXBkYXRlOnNob3cnLCBzaG93KTtcbiAgICB9LFxuICAgIHRlbXBsYXRlRGF0YTogZnVuY3Rpb24gdGVtcGxhdGVEYXRhKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChfdGhpcy4kX2J2X3Rvb2xwb3ApIHtcbiAgICAgICAgICBfdGhpcy4kX2J2X3Rvb2xwb3AudXBkYXRlRGF0YShfdGhpcy50ZW1wbGF0ZURhdGEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8vIFdhdGNoZXJzIGZvciB0aXRsZS9jb250ZW50IHByb3BzIChwcm9wIGNoYW5nZXMgZG8gbm90IHRyaWdnZXIgdGhlIGB1cGRhdGVkKClgIGhvb2spXG4gICAgdGVtcGxhdGVUaXRsZUNvbnRlbnQ6IGZ1bmN0aW9uIHRlbXBsYXRlVGl0bGVDb250ZW50KG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICB0aGlzLiRuZXh0VGljayh0aGlzLnVwZGF0ZUNvbnRlbnQpO1xuICAgIH1cbiAgfSxcbiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHtcbiAgICAvLyBOb24gcmVhY3RpdmUgcHJvcGVydGllc1xuICAgIHRoaXMuJF9idl90b29scG9wID0gbnVsbDtcbiAgfSxcbiAgdXBkYXRlZDogZnVuY3Rpb24gdXBkYXRlZCgpIHtcbiAgICAvLyBVcGRhdGUgdGhlIGBwcm9wRGF0YWAgb2JqZWN0XG4gICAgLy8gRG9uZSBpbiBhIGAkbmV4dFRpY2soKWAgdG8gZW5zdXJlIHNsb3QocykgaGF2ZSB1cGRhdGVkXG4gICAgdGhpcy4kbmV4dFRpY2sodGhpcy51cGRhdGVDb250ZW50KTtcbiAgfSxcbiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICAvLyBTaHV0ZG93biBvdXIgbG9jYWwgZXZlbnQgbGlzdGVuZXJzXG4gICAgdGhpcy4kb2ZmKCdvcGVuJywgdGhpcy5kb09wZW4pO1xuICAgIHRoaXMuJG9mZignY2xvc2UnLCB0aGlzLmRvQ2xvc2UpO1xuICAgIHRoaXMuJG9mZignZGlzYWJsZScsIHRoaXMuZG9EaXNhYmxlKTtcbiAgICB0aGlzLiRvZmYoJ2VuYWJsZScsIHRoaXMuZG9FbmFibGUpOyAvLyBEZXN0cm95IHRoZSB0aXAgaW5zdGFuY2VcblxuICAgIHRoaXMuJF9idl90b29scG9wICYmIHRoaXMuJF9idl90b29scG9wLiRkZXN0cm95KCk7XG4gICAgdGhpcy4kX2J2X3Rvb2xwb3AgPSBudWxsO1xuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgLy8gSW5zdGFudGlhdGUgYSBuZXcgQlZUb29sdGlwIGluc3RhbmNlXG4gICAgLy8gRG9uZSBpbiBhIGAkbmV4dFRpY2soKWAgdG8gZW5zdXJlIERPTSBoYXMgY29tcGxldGVkIHJlbmRlcmluZ1xuICAgIC8vIHNvIHRoYXQgdGFyZ2V0IGNhbiBiZSBmb3VuZFxuICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIExvYWQgdGhlIG9uIGRlbWFuZCBjaGlsZCBpbnN0YW5jZVxuICAgICAgdmFyIENvbXBvbmVudCA9IF90aGlzMi5nZXRDb21wb25lbnQoKTsgLy8gRW5zdXJlIHdlIGhhdmUgaW5pdGlhbCBjb250ZW50XG5cblxuICAgICAgX3RoaXMyLnVwZGF0ZUNvbnRlbnQoKTsgLy8gUGFzcyBkb3duIHRoZSBzY29wZWQgc3R5bGUgYXR0cmlidXRlIGlmIGF2YWlsYWJsZVxuXG5cbiAgICAgIHZhciBzY29wZUlkID0gZ2V0U2NvcElkKF90aGlzMikgfHwgZ2V0U2NvcElkKF90aGlzMi4kcGFyZW50KTsgLy8gQ3JlYXRlIHRoZSBpbnN0YW5jZVxuXG4gICAgICB2YXIgJHRvb2xwb3AgPSBfdGhpczIuJF9idl90b29scG9wID0gbmV3IENvbXBvbmVudCh7XG4gICAgICAgIHBhcmVudDogX3RoaXMyLFxuICAgICAgICAvLyBQYXNzIGRvd24gdGhlIHNjb3BlZCBzdHlsZSBJRFxuICAgICAgICBfc2NvcGVJZDogc2NvcGVJZCB8fCB1bmRlZmluZWRcbiAgICAgIH0pOyAvLyBTZXQgdGhlIGluaXRpYWwgZGF0YVxuXG4gICAgICAkdG9vbHBvcC51cGRhdGVEYXRhKF90aGlzMi50ZW1wbGF0ZURhdGEpOyAvLyBTZXQgbGlzdGVuZXJzXG5cbiAgICAgICR0b29scG9wLiRvbignc2hvdycsIF90aGlzMi5vblNob3cpO1xuICAgICAgJHRvb2xwb3AuJG9uKCdzaG93bicsIF90aGlzMi5vblNob3duKTtcbiAgICAgICR0b29scG9wLiRvbignaGlkZScsIF90aGlzMi5vbkhpZGUpO1xuICAgICAgJHRvb2xwb3AuJG9uKCdoaWRkZW4nLCBfdGhpczIub25IaWRkZW4pO1xuICAgICAgJHRvb2xwb3AuJG9uKCdkaXNhYmxlZCcsIF90aGlzMi5vbkRpc2FibGVkKTtcbiAgICAgICR0b29scG9wLiRvbignZW5hYmxlZCcsIF90aGlzMi5vbkVuYWJsZWQpOyAvLyBJbml0aWFsbHkgZGlzYWJsZWQ/XG5cbiAgICAgIGlmIChfdGhpczIuZGlzYWJsZWQpIHtcbiAgICAgICAgLy8gSW5pdGlhbGx5IGRpc2FibGVkXG4gICAgICAgIF90aGlzMi5kb0Rpc2FibGUoKTtcbiAgICAgIH0gLy8gTGlzdGVuIHRvIG9wZW4gc2lnbmFscyBmcm9tIG90aGVyc1xuXG5cbiAgICAgIF90aGlzMi4kb24oJ29wZW4nLCBfdGhpczIuZG9PcGVuKTsgLy8gTGlzdGVuIHRvIGNsb3NlIHNpZ25hbHMgZnJvbSBvdGhlcnNcblxuXG4gICAgICBfdGhpczIuJG9uKCdjbG9zZScsIF90aGlzMi5kb0Nsb3NlKTsgLy8gTGlzdGVuIHRvIGRpc2FibGUgc2lnbmFscyBmcm9tIG90aGVyc1xuXG5cbiAgICAgIF90aGlzMi4kb24oJ2Rpc2FibGUnLCBfdGhpczIuZG9EaXNhYmxlKTsgLy8gTGlzdGVuIHRvIGVuYWJsZSBzaWduYWxzIGZyb20gb3RoZXJzXG5cblxuICAgICAgX3RoaXMyLiRvbignZW5hYmxlJywgX3RoaXMyLmRvRW5hYmxlKTsgLy8gSW5pdGlhbGx5IHNob3cgdG9vbHRpcD9cblxuXG4gICAgICBpZiAoX3RoaXMyLmxvY2FsU2hvdykge1xuICAgICAgICBfdGhpczIuJF9idl90b29scG9wICYmIF90aGlzMi4kX2J2X3Rvb2xwb3Auc2hvdygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9LFxuICBtZXRob2RzOiB7XG4gICAgZ2V0Q29tcG9uZW50OiBmdW5jdGlvbiBnZXRDb21wb25lbnQoKSB7XG4gICAgICAvLyBPdmVycmlkZGVuIGJ5IEJQb3BvdmVyXG4gICAgICByZXR1cm4gQlZUb29sdGlwO1xuICAgIH0sXG4gICAgdXBkYXRlQ29udGVudDogZnVuY3Rpb24gdXBkYXRlQ29udGVudCgpIHtcbiAgICAgIC8vIE92ZXJyaWRkZW4gYnkgQlBvcG92ZXJcbiAgICAgIC8vIFRvb2x0aXA6IERlZmF1bHQgc2xvdCBpcyBgdGl0bGVgXG4gICAgICAvLyBQb3BvdmVyOiBEZWZhdWx0IHNsb3QgaXMgYGNvbnRlbnRgLCBgdGl0bGVgIHNsb3QgaXMgdGl0bGVcbiAgICAgIC8vIFdlIHBhc3MgYSBzY29wZWQgc2xvdCBmdW5jdGlvbiByZWZlcmVuY2UgYnkgZGVmYXVsdCAoVnVlIHYyLjZ4KVxuICAgICAgLy8gQW5kIHBhc3MgdGhlIHRpdGxlIHByb3AgYXMgYSBmYWxsYmFja1xuICAgICAgdGhpcy5zZXRUaXRsZSh0aGlzLiRzY29wZWRTbG90cy5kZWZhdWx0IHx8IHRoaXMudGl0bGUpO1xuICAgIH0sXG4gICAgLy8gSGVscGVyIG1ldGhvZHMgZm9yIGB1cGRhdGVDb250ZW50KClgXG4gICAgc2V0VGl0bGU6IGZ1bmN0aW9uIHNldFRpdGxlKHZhbCkge1xuICAgICAgdmFsID0gaXNVbmRlZmluZWRPck51bGwodmFsKSA/ICcnIDogdmFsOyAvLyBXZSBvbmx5IHVwZGF0ZSB0aGUgdmFsdWUgaWYgaXQgaGFzIGNoYW5nZWRcblxuICAgICAgaWYgKHRoaXMubG9jYWxUaXRsZSAhPT0gdmFsKSB7XG4gICAgICAgIHRoaXMubG9jYWxUaXRsZSA9IHZhbDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldENvbnRlbnQ6IGZ1bmN0aW9uIHNldENvbnRlbnQodmFsKSB7XG4gICAgICB2YWwgPSBpc1VuZGVmaW5lZE9yTnVsbCh2YWwpID8gJycgOiB2YWw7IC8vIFdlIG9ubHkgdXBkYXRlIHRoZSB2YWx1ZSBpZiBpdCBoYXMgY2hhbmdlZFxuXG4gICAgICBpZiAodGhpcy5sb2NhbENvbnRlbnQgIT09IHZhbCkge1xuICAgICAgICB0aGlzLmxvY2FsQ29udGVudCA9IHZhbDtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIC0tLSBUZW1wbGF0ZSBldmVudCBoYW5kbGVycyAtLS1cbiAgICBvblNob3c6IGZ1bmN0aW9uIG9uU2hvdyhidkV2dCkge1xuICAgICAgLy8gUGxhY2Vob2xkZXJcbiAgICAgIHRoaXMuJGVtaXQoJ3Nob3cnLCBidkV2dCk7XG5cbiAgICAgIGlmIChidkV2dCkge1xuICAgICAgICB0aGlzLmxvY2FsU2hvdyA9ICFidkV2dC5kZWZhdWx0UHJldmVudGVkO1xuICAgICAgfVxuICAgIH0sXG4gICAgb25TaG93bjogZnVuY3Rpb24gb25TaG93bihidkV2dCkge1xuICAgICAgLy8gVGlwIGlzIG5vdyBzaG93aW5nXG4gICAgICB0aGlzLmxvY2FsU2hvdyA9IHRydWU7XG4gICAgICB0aGlzLiRlbWl0KCdzaG93bicsIGJ2RXZ0KTtcbiAgICB9LFxuICAgIG9uSGlkZTogZnVuY3Rpb24gb25IaWRlKGJ2RXZ0KSB7XG4gICAgICB0aGlzLiRlbWl0KCdoaWRlJywgYnZFdnQpO1xuICAgIH0sXG4gICAgb25IaWRkZW46IGZ1bmN0aW9uIG9uSGlkZGVuKGJ2RXZ0KSB7XG4gICAgICAvLyBUaXAgaXMgbm8gbG9uZ2VyIHNob3dpbmdcbiAgICAgIHRoaXMuJGVtaXQoJ2hpZGRlbicsIGJ2RXZ0KTtcbiAgICAgIHRoaXMubG9jYWxTaG93ID0gZmFsc2U7XG4gICAgfSxcbiAgICBvbkRpc2FibGVkOiBmdW5jdGlvbiBvbkRpc2FibGVkKGJ2RXZ0KSB7XG4gICAgICAvLyBQcmV2ZW50IHBvc3NpYmxlIGVuZGxlc3MgbG9vcCBpZiB1c2VyIG1pc3Rha2VubHlcbiAgICAgIC8vIGZpcmVzIGBkaXNhYmxlZGAgaW5zdGVhZCBvZiBgZGlzYWJsZWBcbiAgICAgIGlmIChidkV2dCAmJiBidkV2dC50eXBlID09PSAnZGlzYWJsZWQnKSB7XG4gICAgICAgIHRoaXMuJGVtaXQoJ3VwZGF0ZTpkaXNhYmxlZCcsIHRydWUpO1xuICAgICAgICB0aGlzLiRlbWl0KCdkaXNhYmxlZCcsIGJ2RXZ0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uRW5hYmxlZDogZnVuY3Rpb24gb25FbmFibGVkKGJ2RXZ0KSB7XG4gICAgICAvLyBQcmV2ZW50IHBvc3NpYmxlIGVuZGxlc3MgbG9vcCBpZiB1c2VyIG1pc3Rha2VubHlcbiAgICAgIC8vIGZpcmVzIGBlbmFibGVkYCBpbnN0ZWFkIG9mIGBlbmFibGVgXG4gICAgICBpZiAoYnZFdnQgJiYgYnZFdnQudHlwZSA9PT0gJ2VuYWJsZWQnKSB7XG4gICAgICAgIHRoaXMuJGVtaXQoJ3VwZGF0ZTpkaXNhYmxlZCcsIGZhbHNlKTtcbiAgICAgICAgdGhpcy4kZW1pdCgnZW5hYmxlZCcsIGJ2RXZ0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIC0tLSBMb2NhbCBldmVudCBsaXN0ZW5lcnMgLS0tXG4gICAgZG9PcGVuOiBmdW5jdGlvbiBkb09wZW4oKSB7XG4gICAgICAhdGhpcy5sb2NhbFNob3cgJiYgdGhpcy4kX2J2X3Rvb2xwb3AgJiYgdGhpcy4kX2J2X3Rvb2xwb3Auc2hvdygpO1xuICAgIH0sXG4gICAgZG9DbG9zZTogZnVuY3Rpb24gZG9DbG9zZSgpIHtcbiAgICAgIHRoaXMubG9jYWxTaG93ICYmIHRoaXMuJF9idl90b29scG9wICYmIHRoaXMuJF9idl90b29scG9wLmhpZGUoKTtcbiAgICB9LFxuICAgIGRvRGlzYWJsZTogZnVuY3Rpb24gZG9EaXNhYmxlKGV2dCkge1xuICAgICAgdGhpcy4kX2J2X3Rvb2xwb3AgJiYgdGhpcy4kX2J2X3Rvb2xwb3AuZGlzYWJsZSgpO1xuICAgIH0sXG4gICAgZG9FbmFibGU6IGZ1bmN0aW9uIGRvRW5hYmxlKCkge1xuICAgICAgdGhpcy4kX2J2X3Rvb2xwb3AgJiYgdGhpcy4kX2J2X3Rvb2xwb3AuZW5hYmxlKCk7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgLy8gQWx3YXlzIHJlbmRlcnMgYSBjb21tZW50IG5vZGVcbiAgICAvLyBUT0RPOlxuICAgIC8vICAgRnV0dXJlOiBQb3NzaWJseSByZW5kZXIgYSB0YXJnZXQgc2xvdCAoc2luZ2xlIHJvb3QgZWxlbWVudClcbiAgICAvLyAgIHdoaWNoIHdlIGNhbiBhcHBseSB0aGUgbGlzdGVuZXJzIHRvIChwYXNzIGB0aGlzLiRlbGAgdG8gQlZUb29sdGlwKVxuICAgIHJldHVybiBoKCk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmpzXG4vLyBtb2R1bGUgaWQgPSA4MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///81\n"); + +/***/ }), +/* 82 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BVTooltip; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_get_scope_id__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__utils_warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_bv_event_class__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__bv_tooltip_template__ = __webpack_require__(189);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\n\n\n\n\n\n\n\n\n\n\nvar NAME = 'BVTooltip'; // Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar MODAL_CLOSE_EVENT = 'bv::modal::hidden'; // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Options for Native Event Listeners (since we never call preventDefault)\n\nvar EvtOpts = {\n passive: true,\n capture: false\n}; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // @vue/component\n\nvar BVTooltip =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n props: {// None\n },\n data: function data() {\n return _objectSpread({}, templateData, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this._uid, \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"j\" /* isPlainObject */])(this.delay)) {\n delay.show = Math.max(parseInt(this.delay.show, 10) || 0, 0);\n delay.hide = Math.max(parseInt(this.delay.hide, 10) || 0, 0);\n } else if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"h\" /* isNumber */])(this.delay) || Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"m\" /* isString */])(this.delay)) {\n delay.show = delay.hide = Math.max(parseInt(this.delay, 10) || 0, 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"b\" /* concat */])(this.triggers).filter(Boolean).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n return {\n title: this.title,\n content: this.content,\n variant: this.variant,\n customClass: this.customClass,\n noFade: this.noFade\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__utils_loose_equal__[\"a\" /* default */])(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n disabled: function disabled(newVal) {\n newVal ? this.disable() : this.enable();\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n\n this.$_noop = function () {}; // Destroy ourselves when the parent is destroyed\n\n\n if (this.$parent) {\n this.$parent.$once('hook:beforeDestroy', this.$destroy);\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = Object(__WEBPACK_IMPORTED_MODULE_1__utils_get_scope_id__[\"a\" /* default */])(_this2.$parent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n Object(__WEBPACK_IMPORTED_MODULE_7__utils_warn__[\"b\" /* warn */])(\"\".concat(_this2.templateType, \" unable to find target element in document\"));\n }\n });\n },\n updated: function updated()\n /* istanbul ignore next */\n {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n deactivated: function deactivated()\n /* istanbul ignore next */\n {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy()\n /* istanbul ignore next */\n {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/Timers\n\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n this.destroyTemplate();\n this.restoreTitle();\n },\n methods: {\n //\n // Methods for creating and destroying the template\n //\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return __WEBPACK_IMPORTED_MODULE_9__bv_tooltip_template__[\"a\" /* BVTooltipTemplate */];\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(templateData).forEach(function (prop) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"n\" /* isUndefined */])(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n });\n\n if (titleUpdated && this.localShow) {\n // If the title has updated, we may need to handle the title\n // attribute on the trigger target. We only do this while the\n // template is open\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n // this.destroyTemplate()\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: parseInt(this.offset, 10) || 0,\n arrowPadding: parseInt(this.arrowPadding, 10) || 0,\n boundaryPadding: parseInt(this.boundaryPadding, 10) || 0\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once('show', this.onTemplateShow); // When the template has completed showing\n\n $tip.$once('shown', this.onTemplateShown); // When the template has started to hide\n\n $tip.$once('hide', this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once('hidden', this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once('hook:destroyed', this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on('focusin', this.handleEvent);\n $tip.$on('focusout', this.handleEvent);\n $tip.$on('mouseenter', this.handleEvent);\n $tip.$on('mouseleave', this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide();\n },\n destroyTemplate: function destroyTemplate() {\n // Destroy the template instance and reset state\n this.setWhileOpenListeners(false);\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimout = null;\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip && this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n //\n // Show and Hide handlers\n //\n show: function show() {\n // Show the tooltip\n var target = this.getTarget();\n\n if (!target || !Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(document.body, target) || !Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"p\" /* isVisible */])(target) || this.dropdownOpen() || (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"o\" /* isUndefinedOrNull */])(this.title) || this.title === '') && (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"o\" /* isUndefinedOrNull */])(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n }\n\n if (this.$_tip || this.localShow) {\n // If tip already exists, exit early\n\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvt = this.buildEvent('show', {\n cancelable: true\n });\n this.emitEvent(showEvt);\n /* istanbul ignore next: ignore for now */\n\n if (showEvt.defaultPrevented) {\n // Don't show if event cancelled\n // Destroy the template (if for some reason it was created)\n\n /* istanbul ignore next */\n this.destroyTemplate(); // Clear the localShow flag\n\n /* istanbul ignore next */\n\n this.localShow = false;\n /* istanbul ignore next */\n\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n this.restoreTitle();\n /* istanbul ignore next */\n\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvt = this.buildEvent('hide', {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore next: ignore for now */\n\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n\n /* istanbul ignore next */\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate(); // TODO: The following could be added to `hideTemplate()`\n // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` evt handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n clearTimeout(this.hoverTimeout);\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent('enabled', {}));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent('disabled', {}));\n },\n //\n // Handlers for template events\n //\n onTemplateShow: function onTemplateShow() {\n // When template is inserted into DOM, but not yet shown\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n onTemplateShown: function onTemplateShown() {\n // When template show transition completes\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent('shown', {}));\n },\n onTemplateHide: function onTemplateHide() {\n // When template is starting to hide\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n onTemplateHidden: function onTemplateHidden() {\n // When template has completed closing (just before it self destructs)\n // TODO:\n // The next two lines could be moved into `destroyTemplate()`\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent('hidden', {}));\n },\n //\n // Utility methods\n //\n getTarget: function getTarget() {\n // Handle case where target may be a component ref\n var target = this.target ? this.target.$el || this.target : null; // If an ID\n\n target = Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"m\" /* isString */])(target) ? Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"i\" /* getById */])(target.replace(/^#/, '')) : target; // If a function\n\n target = Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"f\" /* isFunction */])(target) ? target() : target; // If an element ref\n\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"o\" /* isElement */])(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal instead\n // of body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"c\" /* closest */])(MODAL_SELECTOR, target) || body : Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"m\" /* isString */])(container) ? Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"i\" /* getById */])(container.replace(/^#/, '')) || body : body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"c\" /* closest */])(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"m\" /* hasClass */])(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"x\" /* select */])(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"g\" /* getAttr */])(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"z\" /* setAttr */])(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"g\" /* getAttr */])(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"z\" /* setAttr */])(target, 'aria-describedby', desc);\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"u\" /* removeAttr */])(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a title attribute, null it out and\n // store on data-title\n var target = this.getTarget();\n\n if (target && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"g\" /* getAttr */])(target, 'title')) {\n // We only update title attribute if it has a value\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"z\" /* setAttr */])(target, 'data-original-title', Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"g\" /* getAttr */])(target, 'title') || '');\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"z\" /* setAttr */])(target, 'title', '');\n }\n },\n restoreTitle: function restoreTitle() {\n // If target had a title, restore the title attribute\n // and remove the data-title attribute\n var target = this.getTarget();\n\n if (target && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"l\" /* hasAttr */])(target, 'data-original-title')) {\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"z\" /* setAttr */])(target, 'title', Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"g\" /* getAttr */])(target, 'data-original-title') || '');\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"u\" /* removeAttr */])(target, 'data-original-title');\n }\n },\n //\n // BvEvent helpers\n //\n buildEvent: function buildEvent(type) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new __WEBPACK_IMPORTED_MODULE_8__utils_bv_event_class__[\"a\" /* BvEvent */](type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, opts));\n },\n emitEvent: function emitEvent(bvEvt) {\n // Emits a BvEvent on $root and this instance\n var evtName = bvEvt.type;\n var $root = this.$root;\n\n if ($root && $root.$emit) {\n // Emit an event on $root\n $root.$emit(\"bv::\".concat(this.templateType, \"::\").concat(evtName), bvEvt);\n }\n\n this.$emit(evtName, bvEvt);\n },\n //\n // Event handler setup methods\n //\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"f\" /* eventOn */])(el, 'click', _this6.handleEvent, EvtOpts);\n } else if (trigger === 'focus') {\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"f\" /* eventOn */])(el, 'focusin', _this6.handleEvent, EvtOpts);\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"f\" /* eventOn */])(el, 'focusout', _this6.handleEvent, EvtOpts);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n\n /* istanbul ignore next */\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"f\" /* eventOn */])(el, 'focusout', _this6.handleEvent, EvtOpts);\n } else if (trigger === 'hover') {\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"f\" /* eventOn */])(el, 'mouseenter', _this6.handleEvent, EvtOpts);\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"f\" /* eventOn */])(el, 'mouseleave', _this6.handleEvent, EvtOpts);\n }\n }, this);\n },\n unListen: function unListen()\n /* istanbul ignore next */\n {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (evt) {\n target && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"e\" /* eventOff */])(target, evt, _this7.handleEvent, EvtOpts);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](\"bv::hide::\".concat(type), this.doHide);\n $root[method](\"bv::show::\".concat(type), this.doShow);\n $root[method](\"bv::disable::\".concat(type), this.doDisable);\n $root[method](\"bv::enable::\".concat(type), this.doEnable);\n }\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in <keepalive>, tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n // Handler for periodic visibility check\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n var target = this.getTarget();\n var tip = this.getTemplateElement();\n\n if (on) {\n this.visibleInterval = setInterval(function () {\n if (tip && _this8.localShow && (!target.parentNode || !Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"p\" /* isVisible */])(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](MODAL_CLOSE_EVENT, this.forceHide);\n }\n },\n setOnTouchStartListener: function setOnTouchStartListener(on)\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n var method = on ? __WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"f\" /* eventOn */] : __WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"e\" /* eventOff */];\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"c\" /* from */])(document.body.children).forEach(function (el) {\n method(el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.$root || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on it's instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off']('shown', this.forceHide);\n }\n },\n //\n // Event handlers\n //\n handleEvent: function handleEvent(evt) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"n\" /* isDisabled */])(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = evt.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(triggers, 'click')) {\n this.click(evt);\n } else if (type === 'mouseenter' && Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(evt);\n } else if (type === 'focusin' && Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `evt` includes `relatedTarget` (element loosing focus)\n this.enter(evt);\n } else if (type === 'focusout' && (Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(triggers, 'focus') || Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(triggers, 'blur')) || type === 'mouseleave' && Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `evtTarget` is the element which is loosing focus/hover and\n\n var evtTarget = evt.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = evt.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(tip, evtTarget) && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(target, relatedTarget) || // From target to tip\n tip && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(target, evtTarget) && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(tip, relatedTarget) || // Within tip\n tip && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(tip, evtTarget) && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(tip, relatedTarget) || // Within target\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(target, evtTarget) && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(evt);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(evt) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n }\n\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n toggle: function toggle()\n /* istanbul ignore next */\n {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var evt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with evt === null\n if (evt) {\n this.activeTrigger[evt.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n clearTimeout(this.hoverTimeout);\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var evt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with evt === null\n if (evt) {\n this.activeTrigger[evt.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (evt.type === 'focusout' && Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n clearTimeout(this.hoverTimeout);\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\n }\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b29sdGlwL2hlbHBlcnMvYnYtdG9vbHRpcC5qcz8wZmZiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRS9NO0FBQ0E7QUFDQTtBQUNBO0FBQ3FDO0FBQ2U7QUFDQTtBQUM0QjtBQUM4RjtBQUN2RDtBQUMxRTtBQUNGO0FBQ2E7QUFDRTtBQUMxRCx1QkFBdUI7O0FBRXZCLHNDQUFzQzs7QUFFdEMsNENBQTRDOztBQUU1QztBQUNBLG1EQUFtRDs7QUFFbkQ7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxVQUFVO0FBQ1YsR0FBRztBQUNIO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsVUFBVSw2RUFBYTtBQUN2QjtBQUNBO0FBQ0EsT0FBTyxVQUFVLHdFQUFRLGdCQUFnQix3RUFBUTtBQUNqRDtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGFBQWEsb0VBQU07QUFDbkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsV0FBVywyRUFBVTtBQUNyQjtBQUNBO0FBQ0EsMkJBQTJCOzs7QUFHM0I7QUFDQSxpQkFBaUIsMkVBQWE7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7O0FBRWI7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlDQUFpQzs7O0FBR2pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG9CQUFvQixvRUFBUTtBQUM1QjtBQUNBLHlCQUF5Qiw0RUFBUyxpQkFBaUI7O0FBRW5EO0FBQ0EsT0FBTztBQUNQO0FBQ0EsUUFBUSxpRUFBSTtBQUNaO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDOztBQUV0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLCtFQUFpQjtBQUM5QixLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUVBQUk7QUFDVixhQUFhLDJFQUFXO0FBQ3hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxFQUFFOztBQUVULGtDQUFrQztBQUNsQzs7QUFFQSw4Q0FBOEM7O0FBRTlDLGdEQUFnRDs7QUFFaEQsOENBQThDOztBQUU5QyxrREFBa0Q7O0FBRWxELHlEQUF5RDtBQUN6RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQzs7QUFFL0Msd0VBQXdFO0FBQ3hFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2RUFBNkU7O0FBRTdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0Isb0VBQVEsNEJBQTRCLHFFQUFTLG9DQUFvQyxpRkFBaUIsdUNBQXVDLGlGQUFpQjtBQUNoTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87OztBQUdQLDRCQUE0Qjs7QUFFNUI7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLCtCQUErQjs7QUFFL0I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLE9BQU87OztBQUdQLHNCQUFzQjs7QUFFdEIsZ0NBQWdDOztBQUVoQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUDs7O0FBR0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87OztBQUdQLDBCQUEwQjtBQUMxQjs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7OztBQUdBLHdDQUF3Qzs7QUFFeEM7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQSxLQUFLO0FBQ0w7QUFDQSw0QkFBNEI7O0FBRTVCLGtEQUFrRDtBQUNsRCxLQUFLO0FBQ0w7QUFDQSw2QkFBNkI7O0FBRTdCLG1EQUFtRDtBQUNuRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87OztBQUdQLGdEQUFnRDtBQUNoRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCOztBQUU3QixpREFBaUQ7QUFDakQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1RUFBdUU7O0FBRXZFLGVBQWUsd0VBQVEsV0FBVyxtRUFBTyxvQ0FBb0M7O0FBRTdFLGVBQWUsMEVBQVUsNkJBQTZCOztBQUV0RCxhQUFhLHFFQUFTO0FBQ3RCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUMsbUVBQU8sbUNBQW1DLHdFQUFRLGNBQWMsbUVBQU87QUFDMUcsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLHVCQUF1QixtRUFBTztBQUM5QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLG9FQUFRO0FBQy9CLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsa0VBQU07QUFDbEQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixtRUFBTztBQUN4Qix3RUFBd0U7O0FBRXhFLE1BQU0sbUVBQU87QUFDYixLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUJBQWlCLG1FQUFPO0FBQ3hCO0FBQ0E7QUFDQSxPQUFPLG1CQUFtQjs7QUFFMUI7QUFDQTtBQUNBLFFBQVEsbUVBQU87QUFDZixPQUFPO0FBQ1AsUUFBUSxzRUFBVTtBQUNsQjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsbUVBQU87QUFDM0I7QUFDQSxRQUFRLG1FQUFPLGdDQUFnQyxtRUFBTztBQUN0RCxRQUFRLG1FQUFPO0FBQ2Y7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLG1FQUFPO0FBQzNCLFFBQVEsbUVBQU8sa0JBQWtCLG1FQUFPO0FBQ3hDLFFBQVEsc0VBQVU7QUFDbEI7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHNFQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUCxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQSxVQUFVLG1FQUFPO0FBQ2pCLFNBQVM7QUFDVCxVQUFVLG1FQUFPO0FBQ2pCLFVBQVUsbUVBQU87QUFDakIsU0FBUztBQUNUOztBQUVBO0FBQ0EsVUFBVSxtRUFBTztBQUNqQixTQUFTO0FBQ1QsVUFBVSxtRUFBTztBQUNqQixVQUFVLG1FQUFPO0FBQ2pCO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0NBQW9DOztBQUVwQyxrQ0FBa0M7O0FBRWxDO0FBQ0Esa0JBQWtCLG9FQUFRO0FBQzFCLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxpQ0FBaUMsVUFBVSxHQUFHLGdCQUFnQjtBQUM5RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQzs7QUFFaEMsbUNBQW1DO0FBQ25DOztBQUVBLDRCQUE0Qjs7QUFFNUI7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpRUFBaUUscUVBQVM7QUFDMUU7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLDJEQUFPLEdBQUcsNERBQVE7QUFDNUMsUUFBUSxrRUFBUztBQUNqQjtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLHNFQUFVO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSw4QkFBOEIsMkVBQWE7QUFDM0M7QUFDQSxPQUFPLG1DQUFtQywyRUFBYTtBQUN2RDtBQUNBO0FBQ0EsT0FBTyxnQ0FBZ0MsMkVBQWE7QUFDcEQ7QUFDQTtBQUNBO0FBQ0EsT0FBTyxrQ0FBa0MsMkVBQWEsdUJBQXVCLDJFQUFhLGdEQUFnRCwyRUFBYTtBQUN2SjtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDLG1DQUFtQzs7QUFFbkM7QUFDQTs7QUFFQTtBQUNBLGVBQWUsb0VBQVEsb0JBQW9CLG9FQUFRO0FBQ25ELGVBQWUsb0VBQVEsdUJBQXVCLG9FQUFRO0FBQ3RELGVBQWUsb0VBQVEsb0JBQW9CLG9FQUFRO0FBQ25ELFFBQVEsb0VBQVEsdUJBQXVCLG9FQUFRO0FBQy9DO0FBQ0E7QUFDQSxTQUFTOzs7QUFHVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7OztBQUdBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1Q0FBdUMsMkVBQWE7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiODIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG4vLyBUb29sdGlwIFwiQ2xhc3NcIiAoQnVpbHQgYXMgYSByZW5kZXJsZXNzIFZ1ZSBpbnN0YW5jZSlcbi8vXG4vLyBIYW5kbGVzIHRyaWdnZXIgZXZlbnRzLCBldGMuXG4vLyBJbnN0YW50aWF0ZXMgdGVtcGxhdGUgb24gZGVtYW5kXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgZ2V0U2NvcElkIGZyb20gJy4uLy4uLy4uL3V0aWxzL2dldC1zY29wZS1pZCc7XG5pbXBvcnQgbG9vc2VFcXVhbCBmcm9tICcuLi8uLi8uLi91dGlscy9sb29zZS1lcXVhbCc7XG5pbXBvcnQgeyBhcnJheUluY2x1ZGVzLCBjb25jYXQsIGZyb20gYXMgYXJyYXlGcm9tIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgaXNFbGVtZW50LCBpc0Rpc2FibGVkLCBpc1Zpc2libGUsIGNsb3Nlc3QsIGNvbnRhaW5zLCBzZWxlY3QsIGdldEJ5SWQsIGhhc0NsYXNzLCBnZXRBdHRyLCBoYXNBdHRyLCBzZXRBdHRyLCByZW1vdmVBdHRyLCBldmVudE9uLCBldmVudE9mZiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc051bWJlciwgaXNQbGFpbk9iamVjdCwgaXNTdHJpbmcsIGlzVW5kZWZpbmVkLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsga2V5cyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL29iamVjdCc7XG5pbXBvcnQgeyB3YXJuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvd2Fybic7XG5pbXBvcnQgeyBCdkV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYnYtZXZlbnQuY2xhc3MnO1xuaW1wb3J0IHsgQlZUb29sdGlwVGVtcGxhdGUgfSBmcm9tICcuL2J2LXRvb2x0aXAtdGVtcGxhdGUnO1xudmFyIE5BTUUgPSAnQlZUb29sdGlwJzsgLy8gTW9kYWwgY29udGFpbmVyIHNlbGVjdG9yIGZvciBhcHBlbmRpbmcgdG9vbHRpcC9wb3BvdmVyXG5cbnZhciBNT0RBTF9TRUxFQ1RPUiA9ICcubW9kYWwtY29udGVudCc7IC8vIE1vZGFsIGAkcm9vdGAgaGlkZGVuIGV2ZW50XG5cbnZhciBNT0RBTF9DTE9TRV9FVkVOVCA9ICdidjo6bW9kYWw6OmhpZGRlbic7IC8vIEZvciBkcm9wZG93biBzbmlmZmluZ1xuXG52YXIgRFJPUERPV05fQ0xBU1MgPSAnZHJvcGRvd24nO1xudmFyIERST1BET1dOX09QRU5fU0VMRUNUT1IgPSAnLmRyb3Bkb3duLW1lbnUuc2hvdyc7IC8vIE9wdGlvbnMgZm9yIE5hdGl2ZSBFdmVudCBMaXN0ZW5lcnMgKHNpbmNlIHdlIG5ldmVyIGNhbGwgcHJldmVudERlZmF1bHQpXG5cbnZhciBFdnRPcHRzID0ge1xuICBwYXNzaXZlOiB0cnVlLFxuICBjYXB0dXJlOiBmYWxzZVxufTsgLy8gRGF0YSBzcGVjaWZpYyB0byBwb3BwZXIgYW5kIHRlbXBsYXRlXG4vLyBXZSBkb24ndCB1c2UgcHJvcHMsIGFzIHdlIG5lZWQgcmVhY3Rpdml0eSAod2UgY2FuJ3QgcGFzcyByZWFjdGl2ZSBwcm9wcylcblxudmFyIHRlbXBsYXRlRGF0YSA9IHtcbiAgLy8gVGV4dCBzdHJpbmcgb3IgU2NvcGVkIHNsb3QgZnVuY3Rpb25cbiAgdGl0bGU6ICcnLFxuICAvLyBUZXh0IHN0cmluZyBvciBTY29wZWQgc2xvdCBmdW5jdGlvblxuICBjb250ZW50OiAnJyxcbiAgLy8gU3RyaW5nXG4gIHZhcmlhbnQ6IG51bGwsXG4gIC8vIFN0cmluZywgQXJyYXksIE9iamVjdFxuICBjdXN0b21DbGFzczogbnVsbCxcbiAgLy8gU3RyaW5nIG9yIGFycmF5IG9mIFN0cmluZ3MgKG92ZXJ3cml0dGVuIGJ5IEJWUG9wcGVyKVxuICB0cmlnZ2VyczogJycsXG4gIC8vIFN0cmluZyAob3ZlcndyaXR0ZW4gYnkgQlZQb3BwZXIpXG4gIHBsYWNlbWVudDogJ2F1dG8nLFxuICAvLyBTdHJpbmcgb3IgYXJyYXkgb2Ygc3RyaW5nc1xuICBmYWxsYmFja1BsYWNlbWVudDogJ2ZsaXAnLFxuICAvLyBFbGVtZW50IG9yIENvbXBvbmVudCByZWZlcmVuY2UgKG9yIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBlbGVtZW50KSBvZlxuICAvLyB0aGUgZWxlbWVudCB0aGF0IHdpbGwgaGF2ZSB0aGUgdHJpZ2dlciBldmVudHMgYm91bmQsIGFuZCBpcyBhbHNvXG4gIC8vIGRlZmF1bHQgZWxlbWVudCBmb3IgcG9zaXRpb25pbmdcbiAgdGFyZ2V0OiBudWxsLFxuICAvLyBIVE1MIElELCBFbGVtZW50IG9yIENvbXBvbmVudCByZWZlcmVuY2VcbiAgY29udGFpbmVyOiBudWxsLFxuICAvLyAnYm9keSdcbiAgLy8gQm9vbGVhblxuICBub0ZhZGU6IGZhbHNlLFxuICAvLyAnc2Nyb2xsUGFyZW50JywgJ3ZpZXdwb3J0JywgJ3dpbmRvdycsIEVsZW1lbnQsIG9yIENvbXBvbmVudCByZWZlcmVuY2VcbiAgYm91bmRhcnk6ICdzY3JvbGxQYXJlbnQnLFxuICAvLyBUb29sdGlwL3BvcG92ZXIgd2lsbCB0cnkgYW5kIHN0YXkgYXdheSBmcm9tXG4gIC8vIGJvdW5kYXJ5IGVkZ2UgYnkgdGhpcyBtYW55IHBpeGVscyAoTnVtYmVyKVxuICBib3VuZGFyeVBhZGRpbmc6IDUsXG4gIC8vIEFycm93IG9mZnNldCAoTnVtYmVyKVxuICBvZmZzZXQ6IDAsXG4gIC8vIEhvdmVyL2ZvY3VzIGRlbGF5IChOdW1iZXIgb3IgT2JqZWN0KVxuICBkZWxheTogMCxcbiAgLy8gQXJyb3cgb2YgVG9vbHRpcC9wb3BvdmVyIHdpbGwgdHJ5IGFuZCBzdGF5IGF3YXkgZnJvbVxuICAvLyB0aGUgZWRnZSBvZiB0b29sdGlwL3BvcG92ZXIgZWRnZSBieSB0aGlzIG1hbnkgcGl4ZWxzXG4gIGFycm93UGFkZGluZzogNixcbiAgLy8gRGlzYWJsZWQgc3RhdGUgKEJvb2xlYW4pXG4gIGRpc2FibGVkOiBmYWxzZSxcbiAgLy8gSUQgdG8gdXNlIGZvciB0b29sdGlwL3BvcG92ZXJcbiAgaWQ6IG51bGwsXG4gIC8vIEZsYWcgdXNlZCBieSBkaXJlY3RpdmVzIG9ubHksIGZvciBIVE1MIGNvbnRlbnRcbiAgaHRtbDogZmFsc2Vcbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQlZUb29sdGlwID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBwcm9wczogey8vIE5vbmVcbiAgfSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgdGVtcGxhdGVEYXRhLCB7XG4gICAgICAvLyBTdGF0ZSBtYW5hZ2VtZW50IGRhdGFcbiAgICAgIGFjdGl2ZVRyaWdnZXI6IHtcbiAgICAgICAgLy8gbWFudWFsOiBmYWxzZSxcbiAgICAgICAgaG92ZXI6IGZhbHNlLFxuICAgICAgICBjbGljazogZmFsc2UsXG4gICAgICAgIGZvY3VzOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIGxvY2FsU2hvdzogZmFsc2VcbiAgICB9KTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICB0ZW1wbGF0ZVR5cGU6IGZ1bmN0aW9uIHRlbXBsYXRlVHlwZSgpIHtcbiAgICAgIC8vIE92ZXJ3cml0dGVuIGJ5IEJWUG9wb3ZlclxuICAgICAgcmV0dXJuICd0b29sdGlwJztcbiAgICB9LFxuICAgIGNvbXB1dGVkSWQ6IGZ1bmN0aW9uIGNvbXB1dGVkSWQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5pZCB8fCBcIl9fYnZfXCIuY29uY2F0KHRoaXMudGVtcGxhdGVUeXBlLCBcIl9cIikuY29uY2F0KHRoaXMuX3VpZCwgXCJfX1wiKTtcbiAgICB9LFxuICAgIGNvbXB1dGVkRGVsYXk6IGZ1bmN0aW9uIGNvbXB1dGVkRGVsYXkoKSB7XG4gICAgICAvLyBOb3JtYWxpemVzIGRlbGF5IGludG8gb2JqZWN0IGZvcm1cbiAgICAgIHZhciBkZWxheSA9IHtcbiAgICAgICAgc2hvdzogMCxcbiAgICAgICAgaGlkZTogMFxuICAgICAgfTtcblxuICAgICAgaWYgKGlzUGxhaW5PYmplY3QodGhpcy5kZWxheSkpIHtcbiAgICAgICAgZGVsYXkuc2hvdyA9IE1hdGgubWF4KHBhcnNlSW50KHRoaXMuZGVsYXkuc2hvdywgMTApIHx8IDAsIDApO1xuICAgICAgICBkZWxheS5oaWRlID0gTWF0aC5tYXgocGFyc2VJbnQodGhpcy5kZWxheS5oaWRlLCAxMCkgfHwgMCwgMCk7XG4gICAgICB9IGVsc2UgaWYgKGlzTnVtYmVyKHRoaXMuZGVsYXkpIHx8IGlzU3RyaW5nKHRoaXMuZGVsYXkpKSB7XG4gICAgICAgIGRlbGF5LnNob3cgPSBkZWxheS5oaWRlID0gTWF0aC5tYXgocGFyc2VJbnQodGhpcy5kZWxheSwgMTApIHx8IDAsIDApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGVsYXk7XG4gICAgfSxcbiAgICBjb21wdXRlZFRyaWdnZXJzOiBmdW5jdGlvbiBjb21wdXRlZFRyaWdnZXJzKCkge1xuICAgICAgLy8gUmV0dXJucyB0aGUgdHJpZ2dlcnMgaW4gc29ydGVkIGFycmF5IGZvcm1cbiAgICAgIC8vIFRPRE86IFN3aXRjaCB0aGlzIHRvIG9iamVjdCBmb3JtIGZvciBlYXNpZXIgbG9va3VwXG4gICAgICByZXR1cm4gY29uY2F0KHRoaXMudHJpZ2dlcnMpLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLnRvTG93ZXJDYXNlKCkuc3BsaXQoL1xccysvKS5zb3J0KCk7XG4gICAgfSxcbiAgICBpc1dpdGhBY3RpdmVUcmlnZ2VyOiBmdW5jdGlvbiBpc1dpdGhBY3RpdmVUcmlnZ2VyKCkge1xuICAgICAgZm9yICh2YXIgdHJpZ2dlciBpbiB0aGlzLmFjdGl2ZVRyaWdnZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlVHJpZ2dlclt0cmlnZ2VyXSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICAgIGNvbXB1dGVkVGVtcGxhdGVEYXRhOiBmdW5jdGlvbiBjb21wdXRlZFRlbXBsYXRlRGF0YSgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxuICAgICAgICBjb250ZW50OiB0aGlzLmNvbnRlbnQsXG4gICAgICAgIHZhcmlhbnQ6IHRoaXMudmFyaWFudCxcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHRoaXMuY3VzdG9tQ2xhc3MsXG4gICAgICAgIG5vRmFkZTogdGhpcy5ub0ZhZGVcbiAgICAgIH07XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIGNvbXB1dGVkVHJpZ2dlcnM6IGZ1bmN0aW9uIGNvbXB1dGVkVHJpZ2dlcnMobmV3VHJpZ2dlcnMsIG9sZFRyaWdnZXJzKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAvLyBUcmlnZ2VycyBoYXZlIGNoYW5nZWQsIHNvIHJlLXJlZ2lzdGVyIHRoZW1cblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmICghbG9vc2VFcXVhbChuZXdUcmlnZ2Vycywgb2xkVHJpZ2dlcnMpKSB7XG4gICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBEaXNhYmxlIHRyaWdnZXIgbGlzdGVuZXJzXG4gICAgICAgICAgX3RoaXMudW5MaXN0ZW4oKTsgLy8gQ2xlYXIgYW55IGFjdGl2ZSB0cmlnZ2VycyB0aGF0IGFyZSBubyBsb25nZXIgaW4gdGhlIGxpc3Qgb2YgdHJpZ2dlcnNcblxuXG4gICAgICAgICAgb2xkVHJpZ2dlcnMuZm9yRWFjaChmdW5jdGlvbiAodHJpZ2dlcikge1xuICAgICAgICAgICAgaWYgKCFhcnJheUluY2x1ZGVzKG5ld1RyaWdnZXJzLCB0cmlnZ2VyKSkge1xuICAgICAgICAgICAgICBpZiAoX3RoaXMuYWN0aXZlVHJpZ2dlclt0cmlnZ2VyXSkge1xuICAgICAgICAgICAgICAgIF90aGlzLmFjdGl2ZVRyaWdnZXJbdHJpZ2dlcl0gPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pOyAvLyBSZS1lbmFibGUgdGhlIHRyaWdnZXIgbGlzdGVuZXJzXG5cbiAgICAgICAgICBfdGhpcy5saXN0ZW4oKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZFRlbXBsYXRlRGF0YTogZnVuY3Rpb24gY29tcHV0ZWRUZW1wbGF0ZURhdGEoKSB7XG4gICAgICAvLyBJZiBhbnkgb2YgdGhlIHdoaWxlIG9wZW4gcmVhY3RpdmUgXCJwcm9wc1wiIGNoYW5nZSxcbiAgICAgIC8vIGVuc3VyZSB0aGF0IHRoZSB0ZW1wbGF0ZSB1cGRhdGVzIGFjY29yZGluZ2x5XG4gICAgICB0aGlzLmhhbmRsZVRlbXBsYXRlVXBkYXRlKCk7XG4gICAgfSxcbiAgICBkaXNhYmxlZDogZnVuY3Rpb24gZGlzYWJsZWQobmV3VmFsKSB7XG4gICAgICBuZXdWYWwgPyB0aGlzLmRpc2FibGUoKSA6IHRoaXMuZW5hYmxlKCk7XG4gICAgfVxuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgLy8gQ3JlYXRlIG5vbi1yZWFjdGl2ZSBwcm9wZXJ0aWVzXG4gICAgdGhpcy4kX3RpcCA9IG51bGw7XG4gICAgdGhpcy4kX2hvdmVyVGltZW91dCA9IG51bGw7XG4gICAgdGhpcy4kX2hvdmVyU3RhdGUgPSAnJztcbiAgICB0aGlzLiRfdmlzaWJsZUludGVydmFsID0gbnVsbDtcbiAgICB0aGlzLiRfZW5hYmxlZCA9ICF0aGlzLmRpc2FibGVkO1xuXG4gICAgdGhpcy4kX25vb3AgPSBmdW5jdGlvbiAoKSB7fTsgLy8gRGVzdHJveSBvdXJzZWx2ZXMgd2hlbiB0aGUgcGFyZW50IGlzIGRlc3Ryb3llZFxuXG5cbiAgICBpZiAodGhpcy4kcGFyZW50KSB7XG4gICAgICB0aGlzLiRwYXJlbnQuJG9uY2UoJ2hvb2s6YmVmb3JlRGVzdHJveScsIHRoaXMuJGRlc3Ryb3kpO1xuICAgIH1cblxuICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0YXJnZXQgPSBfdGhpczIuZ2V0VGFyZ2V0KCk7XG5cbiAgICAgIGlmICh0YXJnZXQgJiYgY29udGFpbnMoZG9jdW1lbnQuYm9keSwgdGFyZ2V0KSkge1xuICAgICAgICAvLyBDb3B5IHRoZSBwYXJlbnQncyBzY29wZWQgc3R5bGUgYXR0cmlidXRlXG4gICAgICAgIF90aGlzMi5zY29wZUlkID0gZ2V0U2NvcElkKF90aGlzMi4kcGFyZW50KTsgLy8gU2V0IHVwIGFsbCB0cmlnZ2VyIGhhbmRsZXJzIGFuZCBsaXN0ZW5lcnNcblxuICAgICAgICBfdGhpczIubGlzdGVuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICB3YXJuKFwiXCIuY29uY2F0KF90aGlzMi50ZW1wbGF0ZVR5cGUsIFwiIHVuYWJsZSB0byBmaW5kIHRhcmdldCBlbGVtZW50IGluIGRvY3VtZW50XCIpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSxcbiAgdXBkYXRlZDogZnVuY3Rpb24gdXBkYXRlZCgpXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHtcbiAgICAvLyBVc3VhbGx5IGNhbGxlZCB3aGVuIHRoZSBzbG90cy9kYXRhIGNoYW5nZXNcbiAgICB0aGlzLiRuZXh0VGljayh0aGlzLmhhbmRsZVRlbXBsYXRlVXBkYXRlKTtcbiAgfSxcbiAgZGVhY3RpdmF0ZWQ6IGZ1bmN0aW9uIGRlYWN0aXZhdGVkKClcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAge1xuICAgIC8vIEluIGEga2VlcGFsaXZlIHRoYXQgaGFzIGJlZW4gZGVhY3RpdmF0ZWQsIHNvIGhpZGVcbiAgICAvLyB0aGUgdG9vbHRpcC9wb3BvdmVyIGlmIGl0IGlzIHNob3dpbmdcbiAgICB0aGlzLmZvcmNlSGlkZSgpO1xuICB9LFxuICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KClcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAge1xuICAgIC8vIFJlbW92ZSBhbGwgaGFuZGxlci9saXN0ZW5lcnNcbiAgICB0aGlzLnVuTGlzdGVuKCk7XG4gICAgdGhpcy5zZXRXaGlsZU9wZW5MaXN0ZW5lcnMoZmFsc2UpOyAvLyBDbGVhciBhbnkgdGltZW91dHMvVGltZXJzXG5cbiAgICBjbGVhclRpbWVvdXQodGhpcy4kX2hvdmVyVGltZW91dCk7XG4gICAgdGhpcy4kX2hvdmVyVGltZW91dCA9IG51bGw7XG4gICAgdGhpcy5kZXN0cm95VGVtcGxhdGUoKTtcbiAgICB0aGlzLnJlc3RvcmVUaXRsZSgpO1xuICB9LFxuICBtZXRob2RzOiB7XG4gICAgLy9cbiAgICAvLyBNZXRob2RzIGZvciBjcmVhdGluZyBhbmQgZGVzdHJveWluZyB0aGUgdGVtcGxhdGVcbiAgICAvL1xuICAgIGdldFRlbXBsYXRlOiBmdW5jdGlvbiBnZXRUZW1wbGF0ZSgpIHtcbiAgICAgIC8vIE92ZXJyaWRkZW4gYnkgQlZQb3BvdmVyXG4gICAgICByZXR1cm4gQlZUb29sdGlwVGVtcGxhdGU7XG4gICAgfSxcbiAgICB1cGRhdGVEYXRhOiBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIHZhciBkYXRhID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICAgIC8vIE1ldGhvZCBmb3IgdXBkYXRpbmcgcG9wcGVyL3RlbXBsYXRlIGRhdGFcbiAgICAgIC8vIFdlIG9ubHkgdXBkYXRlIGRhdGEgaWYgaXQgZXhpc3RzLCBhbmQgaGFzIG5vdCBjaGFuZ2VkXG4gICAgICB2YXIgdGl0bGVVcGRhdGVkID0gZmFsc2U7XG4gICAgICBrZXlzKHRlbXBsYXRlRGF0YSkuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKGRhdGFbcHJvcF0pICYmIF90aGlzM1twcm9wXSAhPT0gZGF0YVtwcm9wXSkge1xuICAgICAgICAgIF90aGlzM1twcm9wXSA9IGRhdGFbcHJvcF07XG5cbiAgICAgICAgICBpZiAocHJvcCA9PT0gJ3RpdGxlJykge1xuICAgICAgICAgICAgdGl0bGVVcGRhdGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGl0bGVVcGRhdGVkICYmIHRoaXMubG9jYWxTaG93KSB7XG4gICAgICAgIC8vIElmIHRoZSB0aXRsZSBoYXMgdXBkYXRlZCwgd2UgbWF5IG5lZWQgdG8gaGFuZGxlIHRoZSB0aXRsZVxuICAgICAgICAvLyBhdHRyaWJ1dGUgb24gdGhlIHRyaWdnZXIgdGFyZ2V0LiBXZSBvbmx5IGRvIHRoaXMgd2hpbGUgdGhlXG4gICAgICAgIC8vIHRlbXBsYXRlIGlzIG9wZW5cbiAgICAgICAgdGhpcy5maXhUaXRsZSgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlVGVtcGxhdGVBbmRTaG93OiBmdW5jdGlvbiBjcmVhdGVUZW1wbGF0ZUFuZFNob3coKSB7XG4gICAgICAvLyBDcmVhdGVzIHRoZSB0ZW1wbGF0ZSBpbnN0YW5jZSBhbmQgc2hvdyBpdFxuICAgICAgLy8gdGhpcy5kZXN0cm95VGVtcGxhdGUoKVxuICAgICAgdmFyIGNvbnRhaW5lciA9IHRoaXMuZ2V0Q29udGFpbmVyKCk7XG4gICAgICB2YXIgVGVtcGxhdGUgPSB0aGlzLmdldFRlbXBsYXRlKCk7XG4gICAgICB2YXIgJHRpcCA9IHRoaXMuJF90aXAgPSBuZXcgVGVtcGxhdGUoe1xuICAgICAgICBwYXJlbnQ6IHRoaXMsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgbm90IHJlYWN0aXZlIHRvIGNoYW5nZXMgaW4gdGhlIHByb3BzIGRhdGFcbiAgICAgICAgcHJvcHNEYXRhOiB7XG4gICAgICAgICAgLy8gVGhlc2UgdmFsdWVzIGNhbm5vdCBiZSBjaGFuZ2VkIHdoaWxlIHRlbXBsYXRlIGlzIHNob3dpbmdcbiAgICAgICAgICBpZDogdGhpcy5jb21wdXRlZElkLFxuICAgICAgICAgIGh0bWw6IHRoaXMuaHRtbCxcbiAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgIGZhbGxiYWNrUGxhY2VtZW50OiB0aGlzLmZhbGxiYWNrUGxhY2VtZW50LFxuICAgICAgICAgIHRhcmdldDogdGhpcy5nZXRQbGFjZW1lbnRUYXJnZXQoKSxcbiAgICAgICAgICBib3VuZGFyeTogdGhpcy5nZXRCb3VuZGFyeSgpLFxuICAgICAgICAgIC8vIEVuc3VyZSB0aGUgZm9sbG93aW5nIGFyZSBpbnRlZ2Vyc1xuICAgICAgICAgIG9mZnNldDogcGFyc2VJbnQodGhpcy5vZmZzZXQsIDEwKSB8fCAwLFxuICAgICAgICAgIGFycm93UGFkZGluZzogcGFyc2VJbnQodGhpcy5hcnJvd1BhZGRpbmcsIDEwKSB8fCAwLFxuICAgICAgICAgIGJvdW5kYXJ5UGFkZGluZzogcGFyc2VJbnQodGhpcy5ib3VuZGFyeVBhZGRpbmcsIDEwKSB8fCAwXG4gICAgICAgIH1cbiAgICAgIH0pOyAvLyBXZSBzZXQgdGhlIGluaXRpYWwgcmVhY3RpdmUgZGF0YSAodmFsdWVzIHRoYXQgY2FuIGJlIGNoYW5nZWQgd2hpbGUgb3BlbilcblxuICAgICAgdGhpcy5oYW5kbGVUZW1wbGF0ZVVwZGF0ZSgpOyAvLyBUZW1wbGF0ZSB0cmFuc2l0aW9uIHBoYXNlIGV2ZW50cyAoaGFuZGxlZCBvbmNlIG9ubHkpXG4gICAgICAvLyBXaGVuIHRoZSB0ZW1wbGF0ZSBoYXMgbW91bnRlZCwgYnV0IG5vdCB2aXNpYmx5IHNob3duIHlldFxuXG4gICAgICAkdGlwLiRvbmNlKCdzaG93JywgdGhpcy5vblRlbXBsYXRlU2hvdyk7IC8vIFdoZW4gdGhlIHRlbXBsYXRlIGhhcyBjb21wbGV0ZWQgc2hvd2luZ1xuXG4gICAgICAkdGlwLiRvbmNlKCdzaG93bicsIHRoaXMub25UZW1wbGF0ZVNob3duKTsgLy8gV2hlbiB0aGUgdGVtcGxhdGUgaGFzIHN0YXJ0ZWQgdG8gaGlkZVxuXG4gICAgICAkdGlwLiRvbmNlKCdoaWRlJywgdGhpcy5vblRlbXBsYXRlSGlkZSk7IC8vIFdoZW4gdGhlIHRlbXBsYXRlIGhhcyBjb21wbGV0ZWQgaGlkaW5nXG5cbiAgICAgICR0aXAuJG9uY2UoJ2hpZGRlbicsIHRoaXMub25UZW1wbGF0ZUhpZGRlbik7IC8vIFdoZW4gdGhlIHRlbXBsYXRlIGdldHMgZGVzdHJveWVkIGZvciBhbnkgcmVhc29uXG5cbiAgICAgICR0aXAuJG9uY2UoJ2hvb2s6ZGVzdHJveWVkJywgdGhpcy5kZXN0cm95VGVtcGxhdGUpOyAvLyBDb252ZW5pZW5jZSBldmVudHMgZnJvbSB0ZW1wbGF0ZVxuICAgICAgLy8gVG8gc2F2ZSB1cyBmcm9tIG1hbnVhbGx5IGFkZGluZy9yZW1vdmluZyBET01cbiAgICAgIC8vIGxpc3RlbmVycyB0byB0aXAgZWxlbWVudCB3aGVuIGl0IGlzIG9wZW5cblxuICAgICAgJHRpcC4kb24oJ2ZvY3VzaW4nLCB0aGlzLmhhbmRsZUV2ZW50KTtcbiAgICAgICR0aXAuJG9uKCdmb2N1c291dCcsIHRoaXMuaGFuZGxlRXZlbnQpO1xuICAgICAgJHRpcC4kb24oJ21vdXNlZW50ZXInLCB0aGlzLmhhbmRsZUV2ZW50KTtcbiAgICAgICR0aXAuJG9uKCdtb3VzZWxlYXZlJywgdGhpcy5oYW5kbGVFdmVudCk7IC8vIE1vdW50ICh3aGljaCB0cmlnZ2VycyB0aGUgYHNob3dgKVxuXG4gICAgICAkdGlwLiRtb3VudChjb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpKTsgLy8gVGVtcGxhdGUgd2lsbCBhdXRvbWF0aWNhbGx5IHJlbW92ZSBpdHMgbWFya3VwIGZyb20gRE9NIHdoZW4gaGlkZGVuXG4gICAgfSxcbiAgICBoaWRlVGVtcGxhdGU6IGZ1bmN0aW9uIGhpZGVUZW1wbGF0ZSgpIHtcbiAgICAgIC8vIFRyaWdnZXIgdGhlIHRlbXBsYXRlIHRvIHN0YXJ0IGhpZGluZ1xuICAgICAgLy8gVGhlIHRlbXBsYXRlIHdpbGwgZW1pdCB0aGUgYGhpZGVgIGV2ZW50IGFmdGVyIHRoaXMgYW5kXG4gICAgICAvLyB0aGVuIGVtaXQgdGhlIGBoaWRkZW5gIGV2ZW50IG9uY2UgaXQgaXMgZnVsbHkgaGlkZGVuXG4gICAgICAvLyBUaGUgYGhvb2s6ZGVzdHJveWVkYCB3aWxsIGFsc28gYmUgY2FsbGVkIChzYWZldHkgbWVhc3VyZSlcbiAgICAgIHRoaXMuJF90aXAgJiYgdGhpcy4kX3RpcC5oaWRlKCk7XG4gICAgfSxcbiAgICBkZXN0cm95VGVtcGxhdGU6IGZ1bmN0aW9uIGRlc3Ryb3lUZW1wbGF0ZSgpIHtcbiAgICAgIC8vIERlc3Ryb3kgdGhlIHRlbXBsYXRlIGluc3RhbmNlIGFuZCByZXNldCBzdGF0ZVxuICAgICAgdGhpcy5zZXRXaGlsZU9wZW5MaXN0ZW5lcnMoZmFsc2UpO1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuJF9ob3ZlclRpbWVvdXQpO1xuICAgICAgdGhpcy4kX2hvdmVyVGltb3V0ID0gbnVsbDtcbiAgICAgIHRoaXMuJF9ob3ZlclN0YXRlID0gJyc7XG4gICAgICB0aGlzLmNsZWFyQWN0aXZlVHJpZ2dlcnMoKTtcbiAgICAgIHRoaXMubG9jYWxQbGFjZW1lbnRUYXJnZXQgPSBudWxsO1xuXG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLiRfdGlwICYmIHRoaXMuJF90aXAuJGRlc3Ryb3koKTtcbiAgICAgIH0gY2F0Y2ggKF91bnVzZWQpIHt9XG5cbiAgICAgIHRoaXMuJF90aXAgPSBudWxsO1xuICAgICAgdGhpcy5sb2NhbFNob3cgPSBmYWxzZTtcbiAgICB9LFxuICAgIGdldFRlbXBsYXRlRWxlbWVudDogZnVuY3Rpb24gZ2V0VGVtcGxhdGVFbGVtZW50KCkge1xuICAgICAgcmV0dXJuIHRoaXMuJF90aXAgPyB0aGlzLiRfdGlwLiRlbCA6IG51bGw7XG4gICAgfSxcbiAgICBoYW5kbGVUZW1wbGF0ZVVwZGF0ZTogZnVuY3Rpb24gaGFuZGxlVGVtcGxhdGVVcGRhdGUoKSB7XG4gICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgLy8gVXBkYXRlIG91ciB0ZW1wbGF0ZSB0aXRsZS9jb250ZW50IFwicHJvcHNcIlxuICAgICAgLy8gU28gdGhhdCB0aGUgdGVtcGxhdGUgdXBkYXRlcyBhY2NvcmRpbmdseVxuICAgICAgdmFyICR0aXAgPSB0aGlzLiRfdGlwO1xuXG4gICAgICBpZiAoJHRpcCkge1xuICAgICAgICB2YXIgcHJvcHMgPSBbJ3RpdGxlJywgJ2NvbnRlbnQnLCAndmFyaWFudCcsICdjdXN0b21DbGFzcycsICdub0ZhZGUnXTsgLy8gT25seSB1cGRhdGUgdGhlIHZhbHVlcyBpZiB0aGV5IGhhdmUgY2hhbmdlZFxuXG4gICAgICAgIHByb3BzLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgICAgICBpZiAoJHRpcFtwcm9wXSAhPT0gX3RoaXM0W3Byb3BdKSB7XG4gICAgICAgICAgICAkdGlwW3Byb3BdID0gX3RoaXM0W3Byb3BdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICAvL1xuICAgIC8vIFNob3cgYW5kIEhpZGUgaGFuZGxlcnNcbiAgICAvL1xuICAgIHNob3c6IGZ1bmN0aW9uIHNob3coKSB7XG4gICAgICAvLyBTaG93IHRoZSB0b29sdGlwXG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoKTtcblxuICAgICAgaWYgKCF0YXJnZXQgfHwgIWNvbnRhaW5zKGRvY3VtZW50LmJvZHksIHRhcmdldCkgfHwgIWlzVmlzaWJsZSh0YXJnZXQpIHx8IHRoaXMuZHJvcGRvd25PcGVuKCkgfHwgKGlzVW5kZWZpbmVkT3JOdWxsKHRoaXMudGl0bGUpIHx8IHRoaXMudGl0bGUgPT09ICcnKSAmJiAoaXNVbmRlZmluZWRPck51bGwodGhpcy5jb250ZW50KSB8fCB0aGlzLmNvbnRlbnQgPT09ICcnKSkge1xuICAgICAgICAvLyBJZiB0cmlnZ2VyIGVsZW1lbnQgaXNuJ3QgaW4gdGhlIERPTSBvciBpcyBub3QgdmlzaWJsZSwgb3JcbiAgICAgICAgLy8gaXMgb24gYW4gb3BlbiBkcm9wZG93biB0b2dnbGUsIG9yIGhhcyBubyBjb250ZW50LCB0aGVuXG4gICAgICAgIC8vIHdlIGV4aXQgd2l0aG91dCBzaG93aW5nXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuJF90aXAgfHwgdGhpcy5sb2NhbFNob3cpIHtcbiAgICAgICAgLy8gSWYgdGlwIGFscmVhZHkgZXhpc3RzLCBleGl0IGVhcmx5XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBJbiB0aGUgcHJvY2VzcyBvZiBzaG93aW5nXG5cblxuICAgICAgdGhpcy5sb2NhbFNob3cgPSB0cnVlOyAvLyBDcmVhdGUgYSBjYW5jZWxhYmxlIEJ2RXZlbnRcblxuICAgICAgdmFyIHNob3dFdnQgPSB0aGlzLmJ1aWxkRXZlbnQoJ3Nob3cnLCB7XG4gICAgICAgIGNhbmNlbGFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgICAgdGhpcy5lbWl0RXZlbnQoc2hvd0V2dCk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogaWdub3JlIGZvciBub3cgKi9cblxuICAgICAgaWYgKHNob3dFdnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAvLyBEb24ndCBzaG93IGlmIGV2ZW50IGNhbmNlbGxlZFxuICAgICAgICAvLyBEZXN0cm95IHRoZSB0ZW1wbGF0ZSAoaWYgZm9yIHNvbWUgcmVhc29uIGl0IHdhcyBjcmVhdGVkKVxuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHRoaXMuZGVzdHJveVRlbXBsYXRlKCk7IC8vIENsZWFyIHRoZSBsb2NhbFNob3cgZmxhZ1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cbiAgICAgICAgdGhpcy5sb2NhbFNob3cgPSBmYWxzZTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblxuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIEZpeCB0aGUgdGl0bGUgYXR0cmlidXRlIG9uIHRhcmdldFxuXG5cbiAgICAgIHRoaXMuZml4VGl0bGUoKTsgLy8gU2V0IGFyaWEtZGVzY3JpYmVkYnkgb24gdGFyZ2V0XG5cbiAgICAgIHRoaXMuYWRkQXJpYURlc2NyaWJlZGJ5KCk7IC8vIENyZWF0ZSBhbmQgc2hvdyB0aGUgdG9vbHRpcFxuXG4gICAgICB0aGlzLmNyZWF0ZVRlbXBsYXRlQW5kU2hvdygpO1xuICAgIH0sXG4gICAgaGlkZTogZnVuY3Rpb24gaGlkZSgpIHtcbiAgICAgIHZhciBmb3JjZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogZmFsc2U7XG4gICAgICAvLyBIaWRlIHRoZSB0b29sdGlwXG4gICAgICB2YXIgdGlwID0gdGhpcy5nZXRUZW1wbGF0ZUVsZW1lbnQoKTtcblxuICAgICAgaWYgKCF0aXAgfHwgIXRoaXMubG9jYWxTaG93KSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHRoaXMucmVzdG9yZVRpdGxlKCk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBFbWl0IGNhbmNlbGFibGUgQnZFdmVudCAnaGlkZSdcbiAgICAgIC8vIFdlIGRpc2FibGUgY2FuY2VsbGluZyBpZiBgZm9yY2VgIGlzIHRydWVcblxuXG4gICAgICB2YXIgaGlkZUV2dCA9IHRoaXMuYnVpbGRFdmVudCgnaGlkZScsIHtcbiAgICAgICAgY2FuY2VsYWJsZTogIWZvcmNlXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZW1pdEV2ZW50KGhpZGVFdnQpO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGlnbm9yZSBmb3Igbm93ICovXG5cbiAgICAgIGlmIChoaWRlRXZ0LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgLy8gRG9uJ3QgaGlkZSBpZiBldmVudCBjYW5jZWxsZWRcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIFRlbGwgdGhlIHRlbXBsYXRlIHRvIGhpZGVcblxuXG4gICAgICB0aGlzLmhpZGVUZW1wbGF0ZSgpOyAvLyBUT0RPOiBUaGUgZm9sbG93aW5nIGNvdWxkIGJlIGFkZGVkIHRvIGBoaWRlVGVtcGxhdGUoKWBcbiAgICAgIC8vIENsZWFyIG91dCBhbnkgc3RyYWdnaW5nIGFjdGl2ZSB0cmlnZ2Vyc1xuXG4gICAgICB0aGlzLmNsZWFyQWN0aXZlVHJpZ2dlcnMoKTsgLy8gUmVzZXQgdGhlIGhvdmVyIHN0YXRlXG5cbiAgICAgIHRoaXMuJF9ob3ZlclN0YXRlID0gJyc7XG4gICAgfSxcbiAgICBmb3JjZUhpZGU6IGZ1bmN0aW9uIGZvcmNlSGlkZSgpIHtcbiAgICAgIC8vIEZvcmNlZnVsbHkgaGlkZXMvZGVzdHJveXMgdGhlIHRlbXBsYXRlLCByZWdhcmRsZXNzIG9mIGFueSBhY3RpdmUgdHJpZ2dlcnNcbiAgICAgIHZhciB0aXAgPSB0aGlzLmdldFRlbXBsYXRlRWxlbWVudCgpO1xuXG4gICAgICBpZiAoIXRpcCB8fCAhdGhpcy5sb2NhbFNob3cpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBEaXNhYmxlIHdoaWxlIG9wZW4gbGlzdGVuZXJzL3dhdGNoZXJzXG4gICAgICAvLyBUaGlzIGlzIGFsc28gZG9uZSBpbiB0aGUgdGVtcGxhdGUgYGhpZGVgIGV2dCBoYW5kbGVyXG5cblxuICAgICAgdGhpcy5zZXRXaGlsZU9wZW5MaXN0ZW5lcnMoZmFsc2UpOyAvLyBDbGVhciBhbnkgaG92ZXIgZW50ZXIvbGVhdmUgZXZlbnRcblxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaG92ZXJUaW1lb3V0KTtcbiAgICAgIHRoaXMuJF9ob3ZlclRpbWVvdXQgPSBudWxsO1xuICAgICAgdGhpcy4kX2hvdmVyU3RhdGUgPSAnJztcbiAgICAgIHRoaXMuY2xlYXJBY3RpdmVUcmlnZ2VycygpOyAvLyBEaXNhYmxlIHRoZSBmYWRlIGFuaW1hdGlvbiBvbiB0aGUgdGVtcGxhdGVcblxuICAgICAgaWYgKHRoaXMuJF90aXApIHtcbiAgICAgICAgdGhpcy4kX3RpcC5ub0ZhZGUgPSB0cnVlO1xuICAgICAgfSAvLyBIaWRlIHRoZSB0aXAgKHdpdGggZm9yY2UgPSB0cnVlKVxuXG5cbiAgICAgIHRoaXMuaGlkZSh0cnVlKTtcbiAgICB9LFxuICAgIGVuYWJsZTogZnVuY3Rpb24gZW5hYmxlKCkge1xuICAgICAgdGhpcy4kX2VuYWJsZWQgPSB0cnVlOyAvLyBDcmVhdGUgYSBub24tY2FuY2VsYWJsZSBCdkV2ZW50XG5cbiAgICAgIHRoaXMuZW1pdEV2ZW50KHRoaXMuYnVpbGRFdmVudCgnZW5hYmxlZCcsIHt9KSk7XG4gICAgfSxcbiAgICBkaXNhYmxlOiBmdW5jdGlvbiBkaXNhYmxlKCkge1xuICAgICAgdGhpcy4kX2VuYWJsZWQgPSBmYWxzZTsgLy8gQ3JlYXRlIGEgbm9uLWNhbmNlbGFibGUgQnZFdmVudFxuXG4gICAgICB0aGlzLmVtaXRFdmVudCh0aGlzLmJ1aWxkRXZlbnQoJ2Rpc2FibGVkJywge30pKTtcbiAgICB9LFxuICAgIC8vXG4gICAgLy8gSGFuZGxlcnMgZm9yIHRlbXBsYXRlIGV2ZW50c1xuICAgIC8vXG4gICAgb25UZW1wbGF0ZVNob3c6IGZ1bmN0aW9uIG9uVGVtcGxhdGVTaG93KCkge1xuICAgICAgLy8gV2hlbiB0ZW1wbGF0ZSBpcyBpbnNlcnRlZCBpbnRvIERPTSwgYnV0IG5vdCB5ZXQgc2hvd25cbiAgICAgIC8vIEVuYWJsZSB3aGlsZSBvcGVuIGxpc3RlbmVycy93YXRjaGVyc1xuICAgICAgdGhpcy5zZXRXaGlsZU9wZW5MaXN0ZW5lcnModHJ1ZSk7XG4gICAgfSxcbiAgICBvblRlbXBsYXRlU2hvd246IGZ1bmN0aW9uIG9uVGVtcGxhdGVTaG93bigpIHtcbiAgICAgIC8vIFdoZW4gdGVtcGxhdGUgc2hvdyB0cmFuc2l0aW9uIGNvbXBsZXRlc1xuICAgICAgdmFyIHByZXZIb3ZlclN0YXRlID0gdGhpcy4kX2hvdmVyU3RhdGU7XG4gICAgICB0aGlzLiRfaG92ZXJTdGF0ZSA9ICcnO1xuXG4gICAgICBpZiAocHJldkhvdmVyU3RhdGUgPT09ICdvdXQnKSB7XG4gICAgICAgIHRoaXMubGVhdmUobnVsbCk7XG4gICAgICB9IC8vIEVtaXQgYSBub24tY2FuY2VsYWJsZSBCdkV2ZW50ICdzaG93bidcblxuXG4gICAgICB0aGlzLmVtaXRFdmVudCh0aGlzLmJ1aWxkRXZlbnQoJ3Nob3duJywge30pKTtcbiAgICB9LFxuICAgIG9uVGVtcGxhdGVIaWRlOiBmdW5jdGlvbiBvblRlbXBsYXRlSGlkZSgpIHtcbiAgICAgIC8vIFdoZW4gdGVtcGxhdGUgaXMgc3RhcnRpbmcgdG8gaGlkZVxuICAgICAgLy8gRGlzYWJsZSB3aGlsZSBvcGVuIGxpc3RlbmVycy93YXRjaGVyc1xuICAgICAgdGhpcy5zZXRXaGlsZU9wZW5MaXN0ZW5lcnMoZmFsc2UpO1xuICAgIH0sXG4gICAgb25UZW1wbGF0ZUhpZGRlbjogZnVuY3Rpb24gb25UZW1wbGF0ZUhpZGRlbigpIHtcbiAgICAgIC8vIFdoZW4gdGVtcGxhdGUgaGFzIGNvbXBsZXRlZCBjbG9zaW5nIChqdXN0IGJlZm9yZSBpdCBzZWxmIGRlc3RydWN0cylcbiAgICAgIC8vIFRPRE86XG4gICAgICAvLyAgIFRoZSBuZXh0IHR3byBsaW5lcyBjb3VsZCBiZSBtb3ZlZCBpbnRvIGBkZXN0cm95VGVtcGxhdGUoKWBcbiAgICAgIHRoaXMucmVtb3ZlQXJpYURlc2NyaWJlZGJ5KCk7XG4gICAgICB0aGlzLnJlc3RvcmVUaXRsZSgpO1xuICAgICAgdGhpcy5kZXN0cm95VGVtcGxhdGUoKTsgLy8gRW1pdCBhIG5vbi1jYW5jZWxhYmxlIEJ2RXZlbnQgJ3Nob3duJ1xuXG4gICAgICB0aGlzLmVtaXRFdmVudCh0aGlzLmJ1aWxkRXZlbnQoJ2hpZGRlbicsIHt9KSk7XG4gICAgfSxcbiAgICAvL1xuICAgIC8vIFV0aWxpdHkgbWV0aG9kc1xuICAgIC8vXG4gICAgZ2V0VGFyZ2V0OiBmdW5jdGlvbiBnZXRUYXJnZXQoKSB7XG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVyZSB0YXJnZXQgbWF5IGJlIGEgY29tcG9uZW50IHJlZlxuICAgICAgdmFyIHRhcmdldCA9IHRoaXMudGFyZ2V0ID8gdGhpcy50YXJnZXQuJGVsIHx8IHRoaXMudGFyZ2V0IDogbnVsbDsgLy8gSWYgYW4gSURcblxuICAgICAgdGFyZ2V0ID0gaXNTdHJpbmcodGFyZ2V0KSA/IGdldEJ5SWQodGFyZ2V0LnJlcGxhY2UoL14jLywgJycpKSA6IHRhcmdldDsgLy8gSWYgYSBmdW5jdGlvblxuXG4gICAgICB0YXJnZXQgPSBpc0Z1bmN0aW9uKHRhcmdldCkgPyB0YXJnZXQoKSA6IHRhcmdldDsgLy8gSWYgYW4gZWxlbWVudCByZWZcblxuICAgICAgcmV0dXJuIGlzRWxlbWVudCh0YXJnZXQpID8gdGFyZ2V0IDogbnVsbDtcbiAgICB9LFxuICAgIGdldFBsYWNlbWVudFRhcmdldDogZnVuY3Rpb24gZ2V0UGxhY2VtZW50VGFyZ2V0KCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgdGFyZ2V0IHRoYXQgdGhlIHRvb2x0aXAgd2lsbCBiZSBwbGFjZWQgb24sIHdoaWNoIG1heSBub3RcbiAgICAgIC8vIG5lY2Vzc2FyaWx5IGJlIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBoYXMgdGhlIHRyaWdnZXIgZXZlbnQgbGlzdGVuZXJzXG4gICAgICAvLyBGb3Igbm93LCB0aGlzIGlzIHRoZSBzYW1lIGFzIHRhcmdldFxuICAgICAgLy8gVE9ETzpcbiAgICAgIC8vICAgQWRkIGluIGNoaWxkIHNlbGVjdG9yIHN1cHBvcnRcbiAgICAgIC8vICAgQWRkIGluIHZpc2liaWxpdHkgY2hlY2tzIGZvciB0aGlzIGVsZW1lbnRcbiAgICAgIC8vICAgRmFsbGJhY2sgdG8gdGFyZ2V0IGlmIG5vdCBmb3VuZFxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VGFyZ2V0KCk7XG4gICAgfSxcbiAgICBnZXRUYXJnZXRJZDogZnVuY3Rpb24gZ2V0VGFyZ2V0SWQoKSB7XG4gICAgICAvLyBSZXR1cm5zIHRoZSBJRCBvZiB0aGUgdHJpZ2dlciBlbGVtZW50XG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoKTtcbiAgICAgIHJldHVybiB0YXJnZXQgJiYgdGFyZ2V0LmlkID8gdGFyZ2V0LmlkIDogbnVsbDtcbiAgICB9LFxuICAgIGdldENvbnRhaW5lcjogZnVuY3Rpb24gZ2V0Q29udGFpbmVyKCkge1xuICAgICAgLy8gSGFuZGxlIGNhc2Ugd2hlcmUgY29udGFpbmVyIG1heSBiZSBhIGNvbXBvbmVudCByZWZcbiAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lciA/IHRoaXMuY29udGFpbmVyLiRlbCB8fCB0aGlzLmNvbnRhaW5lciA6IGZhbHNlO1xuICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5O1xuICAgICAgdmFyIHRhcmdldCA9IHRoaXMuZ2V0VGFyZ2V0KCk7IC8vIElmIHdlIGFyZSBpbiBhIG1vZGFsLCB3ZSBhcHBlbmQgdG8gdGhlIG1vZGFsIGluc3RlYWRcbiAgICAgIC8vIG9mIGJvZHksIHVubGVzcyBhIGNvbnRhaW5lciBpcyBzcGVjaWZpZWRcbiAgICAgIC8vIFRPRE86XG4gICAgICAvLyAgIFRlbXBsYXRlIHNob3VsZCBwZXJpb2RpY2FsbHkgY2hlY2sgdG8gc2VlIGlmIGl0IGlzIGluIGRvbVxuICAgICAgLy8gICBBbmQgaWYgbm90LCBzZWxmIGRlc3RydWN0IChpZiBjb250YWluZXIgZ290IHYtaWYnZWQgb3V0IG9mIERPTSlcbiAgICAgIC8vICAgT3IgdGhpcyBjb3VsZCBwb3NzaWJseSBiZSBwYXJ0IG9mIHRoZSB2aXNpYmlsaXR5IGNoZWNrXG5cbiAgICAgIHJldHVybiBjb250YWluZXIgPT09IGZhbHNlID8gY2xvc2VzdChNT0RBTF9TRUxFQ1RPUiwgdGFyZ2V0KSB8fCBib2R5IDogaXNTdHJpbmcoY29udGFpbmVyKSA/IGdldEJ5SWQoY29udGFpbmVyLnJlcGxhY2UoL14jLywgJycpKSB8fCBib2R5IDogYm9keTtcbiAgICB9LFxuICAgIGdldEJvdW5kYXJ5OiBmdW5jdGlvbiBnZXRCb3VuZGFyeSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmJvdW5kYXJ5ID8gdGhpcy5ib3VuZGFyeS4kZWwgfHwgdGhpcy5ib3VuZGFyeSA6ICdzY3JvbGxQYXJlbnQnO1xuICAgIH0sXG4gICAgaXNJbk1vZGFsOiBmdW5jdGlvbiBpc0luTW9kYWwoKSB7XG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoKTtcbiAgICAgIHJldHVybiB0YXJnZXQgJiYgY2xvc2VzdChNT0RBTF9TRUxFQ1RPUiwgdGFyZ2V0KTtcbiAgICB9LFxuICAgIGlzRHJvcGRvd246IGZ1bmN0aW9uIGlzRHJvcGRvd24oKSB7XG4gICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdHJpZ2dlciBpcyBhIGRyb3Bkb3duXG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoKTtcbiAgICAgIHJldHVybiB0YXJnZXQgJiYgaGFzQ2xhc3ModGFyZ2V0LCBEUk9QRE9XTl9DTEFTUyk7XG4gICAgfSxcbiAgICBkcm9wZG93bk9wZW46IGZ1bmN0aW9uIGRyb3Bkb3duT3BlbigpIHtcbiAgICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0cmlnZ2VyIGlzIGEgZHJvcGRvd24gYW5kIHRoZSBkcm9wZG93biBtZW51IGlzIG9wZW5cbiAgICAgIHZhciB0YXJnZXQgPSB0aGlzLmdldFRhcmdldCgpO1xuICAgICAgcmV0dXJuIHRoaXMuaXNEcm9wZG93bigpICYmIHRhcmdldCAmJiBzZWxlY3QoRFJPUERPV05fT1BFTl9TRUxFQ1RPUiwgdGFyZ2V0KTtcbiAgICB9LFxuICAgIGNsZWFyQWN0aXZlVHJpZ2dlcnM6IGZ1bmN0aW9uIGNsZWFyQWN0aXZlVHJpZ2dlcnMoKSB7XG4gICAgICBmb3IgKHZhciB0cmlnZ2VyIGluIHRoaXMuYWN0aXZlVHJpZ2dlcikge1xuICAgICAgICB0aGlzLmFjdGl2ZVRyaWdnZXJbdHJpZ2dlcl0gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGFkZEFyaWFEZXNjcmliZWRieTogZnVuY3Rpb24gYWRkQXJpYURlc2NyaWJlZGJ5KCkge1xuICAgICAgLy8gQWRkIGFyaWEtZGVzY3JpYmVkYnkgb24gdHJpZ2dlciBlbGVtZW50LCB3aXRob3V0IHJlbW92aW5nIGFueSBvdGhlciBJRHNcbiAgICAgIHZhciB0YXJnZXQgPSB0aGlzLmdldFRhcmdldCgpO1xuICAgICAgdmFyIGRlc2MgPSBnZXRBdHRyKHRhcmdldCwgJ2FyaWEtZGVzY3JpYmVkYnknKSB8fCAnJztcbiAgICAgIGRlc2MgPSBkZXNjLnNwbGl0KC9cXHMrLykuY29uY2F0KHRoaXMuY29tcHV0ZWRJZCkuam9pbignICcpLnRyaW0oKTsgLy8gVXBkYXRlL2FkZCBhcmlhLWRlc2NyaWJlZCBieVxuXG4gICAgICBzZXRBdHRyKHRhcmdldCwgJ2FyaWEtZGVzY3JpYmVkYnknLCBkZXNjKTtcbiAgICB9LFxuICAgIHJlbW92ZUFyaWFEZXNjcmliZWRieTogZnVuY3Rpb24gcmVtb3ZlQXJpYURlc2NyaWJlZGJ5KCkge1xuICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICAgIC8vIFJlbW92ZSBhcmlhLWRlc2NyaWJlZGJ5IG9uIHRyaWdnZXIgZWxlbWVudCwgd2l0aG91dCByZW1vdmluZyBhbnkgb3RoZXIgSURzXG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoKTtcbiAgICAgIHZhciBkZXNjID0gZ2V0QXR0cih0YXJnZXQsICdhcmlhLWRlc2NyaWJlZGJ5JykgfHwgJyc7XG4gICAgICBkZXNjID0gZGVzYy5zcGxpdCgvXFxzKy8pLmZpbHRlcihmdW5jdGlvbiAoZCkge1xuICAgICAgICByZXR1cm4gZCAhPT0gX3RoaXM1LmNvbXB1dGVkSWQ7XG4gICAgICB9KS5qb2luKCcgJykudHJpbSgpOyAvLyBVcGRhdGUgb3IgcmVtb3ZlIGFyaWEtZGVzY3JpYmVkYnlcblxuICAgICAgaWYgKGRlc2MpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgc2V0QXR0cih0YXJnZXQsICdhcmlhLWRlc2NyaWJlZGJ5JywgZGVzYyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZW1vdmVBdHRyKHRhcmdldCwgJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGZpeFRpdGxlOiBmdW5jdGlvbiBmaXhUaXRsZSgpIHtcbiAgICAgIC8vIElmIHRoZSB0YXJnZXQgaGFzIGEgdGl0bGUgYXR0cmlidXRlLCBudWxsIGl0IG91dCBhbmRcbiAgICAgIC8vIHN0b3JlIG9uIGRhdGEtdGl0bGVcbiAgICAgIHZhciB0YXJnZXQgPSB0aGlzLmdldFRhcmdldCgpO1xuXG4gICAgICBpZiAodGFyZ2V0ICYmIGdldEF0dHIodGFyZ2V0LCAndGl0bGUnKSkge1xuICAgICAgICAvLyBXZSBvbmx5IHVwZGF0ZSB0aXRsZSBhdHRyaWJ1dGUgaWYgaXQgaGFzIGEgdmFsdWVcbiAgICAgICAgc2V0QXR0cih0YXJnZXQsICdkYXRhLW9yaWdpbmFsLXRpdGxlJywgZ2V0QXR0cih0YXJnZXQsICd0aXRsZScpIHx8ICcnKTtcbiAgICAgICAgc2V0QXR0cih0YXJnZXQsICd0aXRsZScsICcnKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHJlc3RvcmVUaXRsZTogZnVuY3Rpb24gcmVzdG9yZVRpdGxlKCkge1xuICAgICAgLy8gSWYgdGFyZ2V0IGhhZCBhIHRpdGxlLCByZXN0b3JlIHRoZSB0aXRsZSBhdHRyaWJ1dGVcbiAgICAgIC8vIGFuZCByZW1vdmUgdGhlIGRhdGEtdGl0bGUgYXR0cmlidXRlXG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoKTtcblxuICAgICAgaWYgKHRhcmdldCAmJiBoYXNBdHRyKHRhcmdldCwgJ2RhdGEtb3JpZ2luYWwtdGl0bGUnKSkge1xuICAgICAgICBzZXRBdHRyKHRhcmdldCwgJ3RpdGxlJywgZ2V0QXR0cih0YXJnZXQsICdkYXRhLW9yaWdpbmFsLXRpdGxlJykgfHwgJycpO1xuICAgICAgICByZW1vdmVBdHRyKHRhcmdldCwgJ2RhdGEtb3JpZ2luYWwtdGl0bGUnKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vXG4gICAgLy8gQnZFdmVudCBoZWxwZXJzXG4gICAgLy9cbiAgICBidWlsZEV2ZW50OiBmdW5jdGlvbiBidWlsZEV2ZW50KHR5cGUpIHtcbiAgICAgIHZhciBvcHRzID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgICAgIC8vIERlZmF1bHRzIHRvIGEgbm9uLWNhbmNlbGxhYmxlIGV2ZW50XG4gICAgICByZXR1cm4gbmV3IEJ2RXZlbnQodHlwZSwgX29iamVjdFNwcmVhZCh7XG4gICAgICAgIGNhbmNlbGFibGU6IGZhbHNlLFxuICAgICAgICB0YXJnZXQ6IHRoaXMuZ2V0VGFyZ2V0KCksXG4gICAgICAgIHJlbGF0ZWRUYXJnZXQ6IHRoaXMuZ2V0VGVtcGxhdGVFbGVtZW50KCkgfHwgbnVsbCxcbiAgICAgICAgY29tcG9uZW50SWQ6IHRoaXMuY29tcHV0ZWRJZCxcbiAgICAgICAgdnVlVGFyZ2V0OiB0aGlzXG4gICAgICB9LCBvcHRzKSk7XG4gICAgfSxcbiAgICBlbWl0RXZlbnQ6IGZ1bmN0aW9uIGVtaXRFdmVudChidkV2dCkge1xuICAgICAgLy8gRW1pdHMgYSBCdkV2ZW50IG9uICRyb290IGFuZCB0aGlzIGluc3RhbmNlXG4gICAgICB2YXIgZXZ0TmFtZSA9IGJ2RXZ0LnR5cGU7XG4gICAgICB2YXIgJHJvb3QgPSB0aGlzLiRyb290O1xuXG4gICAgICBpZiAoJHJvb3QgJiYgJHJvb3QuJGVtaXQpIHtcbiAgICAgICAgLy8gRW1pdCBhbiBldmVudCBvbiAkcm9vdFxuICAgICAgICAkcm9vdC4kZW1pdChcImJ2OjpcIi5jb25jYXQodGhpcy50ZW1wbGF0ZVR5cGUsIFwiOjpcIikuY29uY2F0KGV2dE5hbWUpLCBidkV2dCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuJGVtaXQoZXZ0TmFtZSwgYnZFdnQpO1xuICAgIH0sXG4gICAgLy9cbiAgICAvLyBFdmVudCBoYW5kbGVyIHNldHVwIG1ldGhvZHNcbiAgICAvL1xuICAgIGxpc3RlbjogZnVuY3Rpb24gbGlzdGVuKCkge1xuICAgICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICAgIC8vIEVuYWJsZSB0cmlnZ2VyIGV2ZW50IGhhbmRsZXJzXG4gICAgICB2YXIgZWwgPSB0aGlzLmdldFRhcmdldCgpO1xuXG4gICAgICBpZiAoIWVsKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gTGlzdGVuIGZvciBnbG9iYWwgc2hvdy9oaWRlIGV2ZW50c1xuXG5cbiAgICAgIHRoaXMuc2V0Um9vdExpc3RlbmVyKHRydWUpOyAvLyBTZXQgdXAgb3VyIGxpc3RlbmVycyBvbiB0aGUgdGFyZ2V0IHRyaWdnZXIgZWxlbWVudFxuXG4gICAgICB0aGlzLmNvbXB1dGVkVHJpZ2dlcnMuZm9yRWFjaChmdW5jdGlvbiAodHJpZ2dlcikge1xuICAgICAgICBpZiAodHJpZ2dlciA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgIGV2ZW50T24oZWwsICdjbGljaycsIF90aGlzNi5oYW5kbGVFdmVudCwgRXZ0T3B0cyk7XG4gICAgICAgIH0gZWxzZSBpZiAodHJpZ2dlciA9PT0gJ2ZvY3VzJykge1xuICAgICAgICAgIGV2ZW50T24oZWwsICdmb2N1c2luJywgX3RoaXM2LmhhbmRsZUV2ZW50LCBFdnRPcHRzKTtcbiAgICAgICAgICBldmVudE9uKGVsLCAnZm9jdXNvdXQnLCBfdGhpczYuaGFuZGxlRXZlbnQsIEV2dE9wdHMpO1xuICAgICAgICB9IGVsc2UgaWYgKHRyaWdnZXIgPT09ICdibHVyJykge1xuICAgICAgICAgIC8vIFVzZWQgdG8gY2xvc2UgJHRpcCB3aGVuIGVsZW1lbnQgbG9vc2VzIGZvY3VzXG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgIGV2ZW50T24oZWwsICdmb2N1c291dCcsIF90aGlzNi5oYW5kbGVFdmVudCwgRXZ0T3B0cyk7XG4gICAgICAgIH0gZWxzZSBpZiAodHJpZ2dlciA9PT0gJ2hvdmVyJykge1xuICAgICAgICAgIGV2ZW50T24oZWwsICdtb3VzZWVudGVyJywgX3RoaXM2LmhhbmRsZUV2ZW50LCBFdnRPcHRzKTtcbiAgICAgICAgICBldmVudE9uKGVsLCAnbW91c2VsZWF2ZScsIF90aGlzNi5oYW5kbGVFdmVudCwgRXZ0T3B0cyk7XG4gICAgICAgIH1cbiAgICAgIH0sIHRoaXMpO1xuICAgIH0sXG4gICAgdW5MaXN0ZW46IGZ1bmN0aW9uIHVuTGlzdGVuKClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHtcbiAgICAgIHZhciBfdGhpczcgPSB0aGlzO1xuXG4gICAgICAvLyBSZW1vdmUgdHJpZ2dlciBldmVudCBoYW5kbGVyc1xuICAgICAgdmFyIGV2ZW50cyA9IFsnY2xpY2snLCAnZm9jdXNpbicsICdmb2N1c291dCcsICdtb3VzZWVudGVyJywgJ21vdXNlbGVhdmUnXTtcbiAgICAgIHZhciB0YXJnZXQgPSB0aGlzLmdldFRhcmdldCgpOyAvLyBTdG9wIGxpc3RlbmluZyBmb3IgZ2xvYmFsIHNob3cvaGlkZS9lbmFibGUvZGlzYWJsZSBldmVudHNcblxuICAgICAgdGhpcy5zZXRSb290TGlzdGVuZXIoZmFsc2UpOyAvLyBDbGVhciBvdXQgYW55IGFjdGl2ZSB0YXJnZXQgbGlzdGVuZXJzXG5cbiAgICAgIGV2ZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgdGFyZ2V0ICYmIGV2ZW50T2ZmKHRhcmdldCwgZXZ0LCBfdGhpczcuaGFuZGxlRXZlbnQsIEV2dE9wdHMpO1xuICAgICAgfSwgdGhpcyk7XG4gICAgfSxcbiAgICBzZXRSb290TGlzdGVuZXI6IGZ1bmN0aW9uIHNldFJvb3RMaXN0ZW5lcihvbikge1xuICAgICAgLy8gTGlzdGVuIGZvciBnbG9iYWwgYGJ2Ojp7aGlkZXxzaG93fTo6e3Rvb2x0aXB8cG9wb3Zlcn1gIGhpZGUgcmVxdWVzdCBldmVudFxuICAgICAgdmFyICRyb290ID0gdGhpcy4kcm9vdDtcblxuICAgICAgaWYgKCRyb290KSB7XG4gICAgICAgIHZhciBtZXRob2QgPSBvbiA/ICckb24nIDogJyRvZmYnO1xuICAgICAgICB2YXIgdHlwZSA9IHRoaXMudGVtcGxhdGVUeXBlO1xuICAgICAgICAkcm9vdFttZXRob2RdKFwiYnY6OmhpZGU6OlwiLmNvbmNhdCh0eXBlKSwgdGhpcy5kb0hpZGUpO1xuICAgICAgICAkcm9vdFttZXRob2RdKFwiYnY6OnNob3c6OlwiLmNvbmNhdCh0eXBlKSwgdGhpcy5kb1Nob3cpO1xuICAgICAgICAkcm9vdFttZXRob2RdKFwiYnY6OmRpc2FibGU6OlwiLmNvbmNhdCh0eXBlKSwgdGhpcy5kb0Rpc2FibGUpO1xuICAgICAgICAkcm9vdFttZXRob2RdKFwiYnY6OmVuYWJsZTo6XCIuY29uY2F0KHR5cGUpLCB0aGlzLmRvRW5hYmxlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldFdoaWxlT3Blbkxpc3RlbmVyczogZnVuY3Rpb24gc2V0V2hpbGVPcGVuTGlzdGVuZXJzKG9uKSB7XG4gICAgICAvLyBFdmVudHMgdGhhdCBhcmUgb25seSByZWdpc3RlcmVkIHdoZW4gdGhlIHRlbXBsYXRlIGlzIHNob3dpbmdcbiAgICAgIC8vIE1vZGFsIGNsb3NlIGV2ZW50c1xuICAgICAgdGhpcy5zZXRNb2RhbExpc3RlbmVyKG9uKTsgLy8gRHJvcGRvd24gb3BlbiBldmVudHMgKGlmIHdlIGFyZSBhdHRhY2hlZCB0byBhIGRyb3Bkb3duKVxuXG4gICAgICB0aGlzLnNldERyb3Bkb3duTGlzdGVuZXIob24pOyAvLyBQZXJpb2RpYyAkZWxlbWVudCB2aXNpYmlsaXR5IGNoZWNrXG4gICAgICAvLyBGb3IgaGFuZGxpbmcgd2hlbiB0aXAgdGFyZ2V0IGlzIGluIDxrZWVwYWxpdmU+LCB0YWJzLCBjYXJvdXNlbCwgZXRjXG5cbiAgICAgIHRoaXMudmlzaWJsZUNoZWNrKG9uKTsgLy8gT24tdG91Y2ggc3RhcnQgbGlzdGVuZXJzXG5cbiAgICAgIHRoaXMuc2V0T25Ub3VjaFN0YXJ0TGlzdGVuZXIob24pO1xuICAgIH0sXG4gICAgdmlzaWJsZUNoZWNrOiBmdW5jdGlvbiB2aXNpYmxlQ2hlY2sob24pIHtcbiAgICAgIHZhciBfdGhpczggPSB0aGlzO1xuXG4gICAgICAvLyBIYW5kbGVyIGZvciBwZXJpb2RpYyB2aXNpYmlsaXR5IGNoZWNrXG4gICAgICBjbGVhckludGVydmFsKHRoaXMuJF92aXNpYmxlSW50ZXJ2YWwpO1xuICAgICAgdGhpcy4kX3Zpc2libGVJbnRlcnZhbCA9IG51bGw7XG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoKTtcbiAgICAgIHZhciB0aXAgPSB0aGlzLmdldFRlbXBsYXRlRWxlbWVudCgpO1xuXG4gICAgICBpZiAob24pIHtcbiAgICAgICAgdGhpcy52aXNpYmxlSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKHRpcCAmJiBfdGhpczgubG9jYWxTaG93ICYmICghdGFyZ2V0LnBhcmVudE5vZGUgfHwgIWlzVmlzaWJsZSh0YXJnZXQpKSkge1xuICAgICAgICAgICAgLy8gVGFyZ2V0IGVsZW1lbnQgaXMgbm8gbG9uZ2VyIHZpc2libGUgb3Igbm90IGluIERPTSwgc28gZm9yY2UtaGlkZSB0aGUgdG9vbHRpcFxuICAgICAgICAgICAgX3RoaXM4LmZvcmNlSGlkZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldE1vZGFsTGlzdGVuZXI6IGZ1bmN0aW9uIHNldE1vZGFsTGlzdGVuZXIob24pIHtcbiAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZXJlIHRvb2x0aXAvdGFyZ2V0IGlzIGluIGEgbW9kYWxcbiAgICAgIGlmICh0aGlzLmlzSW5Nb2RhbCgpKSB7XG4gICAgICAgIC8vIFdlIGNhbiBsaXN0ZW4gZm9yIG1vZGFsIGhpZGRlbiBldmVudHMgb24gYCRyb290YFxuICAgICAgICB0aGlzLiRyb290W29uID8gJyRvbicgOiAnJG9mZiddKE1PREFMX0NMT1NFX0VWRU5ULCB0aGlzLmZvcmNlSGlkZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXRPblRvdWNoU3RhcnRMaXN0ZW5lcjogZnVuY3Rpb24gc2V0T25Ub3VjaFN0YXJ0TGlzdGVuZXIob24pXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IEpTRE9NIGRvZXNuJ3Qgc3VwcG9ydCBgb250b3VjaHN0YXJ0YCAqL1xuICAgIHtcbiAgICAgIHZhciBfdGhpczkgPSB0aGlzO1xuXG4gICAgICAvLyBJZiB0aGlzIGlzIGEgdG91Y2gtZW5hYmxlZCBkZXZpY2Ugd2UgYWRkIGV4dHJhIGVtcHR5XG4gICAgICAvLyBgbW91c2VvdmVyYCBsaXN0ZW5lcnMgdG8gdGhlIGJvZHkncyBpbW1lZGlhdGUgY2hpbGRyZW5cbiAgICAgIC8vIE9ubHkgbmVlZGVkIGJlY2F1c2Ugb2YgYnJva2VuIGV2ZW50IGRlbGVnYXRpb24gb24gaU9TXG4gICAgICAvLyBodHRwczovL3d3dy5xdWlya3Ntb2RlLm9yZy9ibG9nL2FyY2hpdmVzLzIwMTQvMDIvbW91c2VfZXZlbnRfYnViLmh0bWxcbiAgICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgICAgdmFyIG1ldGhvZCA9IG9uID8gZXZlbnRPbiA6IGV2ZW50T2ZmO1xuICAgICAgICBhcnJheUZyb20oZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbiAoZWwpIHtcbiAgICAgICAgICBtZXRob2QoZWwsICdtb3VzZW92ZXInLCBfdGhpczkuJF9ub29wKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXREcm9wZG93bkxpc3RlbmVyOiBmdW5jdGlvbiBzZXREcm9wZG93bkxpc3RlbmVyKG9uKSB7XG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoKTtcblxuICAgICAgaWYgKCF0YXJnZXQgfHwgIXRoaXMuJHJvb3QgfHwgIXRoaXMuaXNEcm9wZG93bikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIFdlIGNhbiBsaXN0ZW4gZm9yIGRyb3Bkb3duIHNob3duIGV2ZW50cyBvbiBpdCdzIGluc3RhbmNlXG4gICAgICAvLyBUT0RPOlxuICAgICAgLy8gICBXZSBjb3VsZCBncmFiIHRoZSBJRCBmcm9tIHRoZSBkcm9wZG93biwgYW5kIGxpc3RlbiBmb3JcbiAgICAgIC8vICAgJHJvb3QgZXZlbnRzIGZvciB0aGF0IHBhcnRpY3VsYXIgZHJvcGRvd24gaWRcbiAgICAgIC8vICAgRHJvcGRvd24gc2hvd24gYW5kIGhpZGRlbiBldmVudHMgd2lsbCBuZWVkIHRvIGVtaXRcbiAgICAgIC8vICAgTm90ZTogRHJvcGRvd24gYXV0by1JRCBoYXBwZW5zIGluIGEgYCRuZXh0VGljaygpYCBhZnRlciBtb3VudFxuICAgICAgLy8gICAgICAgICBTbyB0aGUgSUQgbG9va3VwIHdvdWxkIG5lZWQgdG8gYmUgZG9uZSBpbiBhIGAkbmV4dFRpY2soKWBcblxuXG4gICAgICBpZiAodGFyZ2V0Ll9fdnVlX18pIHtcbiAgICAgICAgdGFyZ2V0Ll9fdnVlX19bb24gPyAnJG9uJyA6ICckb2ZmJ10oJ3Nob3duJywgdGhpcy5mb3JjZUhpZGUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy9cbiAgICAvLyBFdmVudCBoYW5kbGVyc1xuICAgIC8vXG4gICAgaGFuZGxlRXZlbnQ6IGZ1bmN0aW9uIGhhbmRsZUV2ZW50KGV2dCkge1xuICAgICAgLy8gR2VuZXJhbCB0cmlnZ2VyIGV2ZW50IGhhbmRsZXJcbiAgICAgIC8vIHRhcmdldCBpcyB0aGUgdHJpZ2dlciBlbGVtZW50XG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoKTtcblxuICAgICAgaWYgKCF0YXJnZXQgfHwgaXNEaXNhYmxlZCh0YXJnZXQpIHx8ICF0aGlzLiRfZW5hYmxlZCB8fCB0aGlzLmRyb3Bkb3duT3BlbigpKSB7XG4gICAgICAgIC8vIElmIGRpc2FibGVkIG9yIG5vdCBlbmFibGVkLCBvciBpZiBhIGRyb3Bkb3duIHRoYXQgaXMgb3BlbiwgZG9uJ3QgZG8gYW55dGhpbmdcbiAgICAgICAgLy8gSWYgdGlwIGlzIHNob3duIGJlZm9yZSBlbGVtZW50IGdldHMgZGlzYWJsZWQsIHRoZW4gdGlwIHdpbGwgbm90XG4gICAgICAgIC8vIGNsb3NlIHVudGlsIG5vIGxvbmdlciBkaXNhYmxlZCBvciBmb3JjZWZ1bGx5IGNsb3NlZFxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciB0eXBlID0gZXZ0LnR5cGU7XG4gICAgICB2YXIgdHJpZ2dlcnMgPSB0aGlzLmNvbXB1dGVkVHJpZ2dlcnM7XG5cbiAgICAgIGlmICh0eXBlID09PSAnY2xpY2snICYmIGFycmF5SW5jbHVkZXModHJpZ2dlcnMsICdjbGljaycpKSB7XG4gICAgICAgIHRoaXMuY2xpY2soZXZ0KTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ21vdXNlZW50ZXInICYmIGFycmF5SW5jbHVkZXModHJpZ2dlcnMsICdob3ZlcicpKSB7XG4gICAgICAgIC8vIGBtb3VzZWVudGVyYCBpcyBhIG5vbi1idWJibGluZyBldmVudFxuICAgICAgICB0aGlzLmVudGVyKGV2dCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdmb2N1c2luJyAmJiBhcnJheUluY2x1ZGVzKHRyaWdnZXJzLCAnZm9jdXMnKSkge1xuICAgICAgICAvLyBgZm9jdXNpbmAgaXMgYSBidWJibGluZyBldmVudFxuICAgICAgICAvLyBgZXZ0YCBpbmNsdWRlcyBgcmVsYXRlZFRhcmdldGAgKGVsZW1lbnQgbG9vc2luZyBmb2N1cylcbiAgICAgICAgdGhpcy5lbnRlcihldnQpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnZm9jdXNvdXQnICYmIChhcnJheUluY2x1ZGVzKHRyaWdnZXJzLCAnZm9jdXMnKSB8fCBhcnJheUluY2x1ZGVzKHRyaWdnZXJzLCAnYmx1cicpKSB8fCB0eXBlID09PSAnbW91c2VsZWF2ZScgJiYgYXJyYXlJbmNsdWRlcyh0cmlnZ2VycywgJ2hvdmVyJykpIHtcbiAgICAgICAgLy8gYGZvY3Vzb3V0YCBpcyBhIGJ1YmJsaW5nIGV2ZW50XG4gICAgICAgIC8vIGBtb3VzZWxlYXZlYCBpcyBhIG5vbi1idWJibGluZyBldmVudFxuICAgICAgICAvLyBgdGlwYCBpcyB0aGUgdGVtcGxhdGUgKHdpbGwgYmUgbnVsbCBpZiBub3Qgb3BlbilcbiAgICAgICAgdmFyIHRpcCA9IHRoaXMuZ2V0VGVtcGxhdGVFbGVtZW50KCk7IC8vIGBldnRUYXJnZXRgIGlzIHRoZSBlbGVtZW50IHdoaWNoIGlzIGxvb3NpbmcgZm9jdXMvaG92ZXIgYW5kXG5cbiAgICAgICAgdmFyIGV2dFRhcmdldCA9IGV2dC50YXJnZXQ7IC8vIGByZWxhdGVkVGFyZ2V0YCBpcyB0aGUgZWxlbWVudCBnYWluaW5nIGZvY3VzL2hvdmVyXG5cbiAgICAgICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSBldnQucmVsYXRlZFRhcmdldDtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblxuICAgICAgICBpZiAoIC8vIEZyb20gdGlwIHRvIHRhcmdldFxuICAgICAgICB0aXAgJiYgY29udGFpbnModGlwLCBldnRUYXJnZXQpICYmIGNvbnRhaW5zKHRhcmdldCwgcmVsYXRlZFRhcmdldCkgfHwgLy8gRnJvbSB0YXJnZXQgdG8gdGlwXG4gICAgICAgIHRpcCAmJiBjb250YWlucyh0YXJnZXQsIGV2dFRhcmdldCkgJiYgY29udGFpbnModGlwLCByZWxhdGVkVGFyZ2V0KSB8fCAvLyBXaXRoaW4gdGlwXG4gICAgICAgIHRpcCAmJiBjb250YWlucyh0aXAsIGV2dFRhcmdldCkgJiYgY29udGFpbnModGlwLCByZWxhdGVkVGFyZ2V0KSB8fCAvLyBXaXRoaW4gdGFyZ2V0XG4gICAgICAgIGNvbnRhaW5zKHRhcmdldCwgZXZ0VGFyZ2V0KSAmJiBjb250YWlucyh0YXJnZXQsIHJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICAgICAgLy8gSWYgZm9jdXMvaG92ZXIgbW92ZXMgd2l0aGluIGB0aXBgIGFuZCBgdGFyZ2V0YCwgZG9uJ3QgdHJpZ2dlciBhIGxlYXZlXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIE90aGVyd2lzZSB0cmlnZ2VyIGEgbGVhdmVcblxuXG4gICAgICAgIHRoaXMubGVhdmUoZXZ0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGRvSGlkZTogZnVuY3Rpb24gZG9IaWRlKGlkKSB7XG4gICAgICAvLyBQcm9ncmFtbWF0aWNhbGx5IGhpZGUgdG9vbHRpcCBvciBwb3BvdmVyXG4gICAgICBpZiAoIWlkIHx8IHRoaXMuZ2V0VGFyZ2V0SWQoKSA9PT0gaWQgfHwgdGhpcy5jb21wdXRlZElkID09PSBpZCkge1xuICAgICAgICAvLyBDbG9zZSBhbGwgdG9vbHRpcHMgb3IgcG9wb3ZlcnMsIG9yIHRoaXMgc3BlY2lmaWMgdGlwICh3aXRoIElEKVxuICAgICAgICB0aGlzLmZvcmNlSGlkZSgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgZG9TaG93OiBmdW5jdGlvbiBkb1Nob3coaWQpIHtcbiAgICAgIC8vIFByb2dyYW1tYXRpY2FsbHkgc2hvdyB0b29sdGlwIG9yIHBvcG92ZXJcbiAgICAgIGlmICghaWQgfHwgdGhpcy5nZXRUYXJnZXRJZCgpID09PSBpZCB8fCB0aGlzLmNvbXB1dGVkSWQgPT09IGlkKSB7XG4gICAgICAgIC8vIE9wZW4gYWxsIHRvb2x0aXBzIG9yIHBvcG92ZXJzLCBvciB0aGlzIHNwZWNpZmljIHRpcCAod2l0aCBJRClcbiAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBkb0Rpc2FibGU6IGZ1bmN0aW9uIGRvRGlzYWJsZShpZClcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0OiBpZ25vcmUgZm9yIG5vdyAqL1xuICAgIHtcbiAgICAgIC8vIFByb2dyYW1tYXRpY2FsbHkgZGlzYWJsZSB0b29sdGlwIG9yIHBvcG92ZXJcbiAgICAgIGlmICghaWQgfHwgdGhpcy5nZXRUYXJnZXRJZCgpID09PSBpZCB8fCB0aGlzLmNvbXB1dGVkSWQgPT09IGlkKSB7XG4gICAgICAgIC8vIERpc2FibGUgYWxsIHRvb2x0aXBzIG9yIHBvcG92ZXJzIChubyBJRCksIG9yIHRoaXMgc3BlY2lmaWMgdGlwICh3aXRoIElEKVxuICAgICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGRvRW5hYmxlOiBmdW5jdGlvbiBkb0VuYWJsZShpZClcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0OiBpZ25vcmUgZm9yIG5vdyAqL1xuICAgIHtcbiAgICAgIC8vIFByb2dyYW1tYXRpY2FsbHkgZW5hYmxlIHRvb2x0aXAgb3IgcG9wb3ZlclxuICAgICAgaWYgKCFpZCB8fCB0aGlzLmdldFRhcmdldElkKCkgPT09IGlkIHx8IHRoaXMuY29tcHV0ZWRJZCA9PT0gaWQpIHtcbiAgICAgICAgLy8gRW5hYmxlIGFsbCB0b29sdGlwcyBvciBwb3BvdmVycyAobm8gSUQpLCBvciB0aGlzIHNwZWNpZmljIHRpcCAod2l0aCBJRClcbiAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGNsaWNrOiBmdW5jdGlvbiBjbGljayhldnQpIHtcbiAgICAgIGlmICghdGhpcy4kX2VuYWJsZWQgfHwgdGhpcy5kcm9wZG93bk9wZW4oKSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWN0aXZlVHJpZ2dlci5jbGljayA9ICF0aGlzLmFjdGl2ZVRyaWdnZXIuY2xpY2s7XG5cbiAgICAgIGlmICh0aGlzLmlzV2l0aEFjdGl2ZVRyaWdnZXIpIHtcbiAgICAgICAgdGhpcy5lbnRlcihudWxsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHRoaXMubGVhdmUobnVsbCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB0b2dnbGU6IGZ1bmN0aW9uIHRvZ2dsZSgpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB7XG4gICAgICAvLyBNYW51YWwgdG9nZ2xlIGhhbmRsZXJcbiAgICAgIGlmICghdGhpcy4kX2VuYWJsZWQgfHwgdGhpcy5kcm9wZG93bk9wZW4oKSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIFNob3VsZCB3ZSByZWdpc3RlciBhcyBhbiBhY3RpdmUgdHJpZ2dlcj9cbiAgICAgIC8vIHRoaXMuYWN0aXZlVHJpZ2dlci5tYW51YWwgPSAhdGhpcy5hY3RpdmVUcmlnZ2VyLm1hbnVhbFxuXG5cbiAgICAgIGlmICh0aGlzLmxvY2FsU2hvdykge1xuICAgICAgICB0aGlzLmxlYXZlKG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5lbnRlcihudWxsKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGVudGVyOiBmdW5jdGlvbiBlbnRlcigpIHtcbiAgICAgIHZhciBfdGhpczEwID0gdGhpcztcblxuICAgICAgdmFyIGV2dCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogbnVsbDtcblxuICAgICAgLy8gT3BlbmluZyB0cmlnZ2VyIGhhbmRsZXJcbiAgICAgIC8vIE5vdGU6IENsaWNrIGV2ZW50cyBhcmUgc2VudCB3aXRoIGV2dCA9PT0gbnVsbFxuICAgICAgaWYgKGV2dCkge1xuICAgICAgICB0aGlzLmFjdGl2ZVRyaWdnZXJbZXZ0LnR5cGUgPT09ICdmb2N1c2luJyA/ICdmb2N1cycgOiAnaG92ZXInXSA9IHRydWU7XG4gICAgICB9XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG5cbiAgICAgIGlmICh0aGlzLmxvY2FsU2hvdyB8fCB0aGlzLiRfaG92ZXJTdGF0ZSA9PT0gJ2luJykge1xuICAgICAgICB0aGlzLiRfaG92ZXJTdGF0ZSA9ICdpbic7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaG92ZXJUaW1lb3V0KTtcbiAgICAgIHRoaXMuJF9ob3ZlclN0YXRlID0gJ2luJztcblxuICAgICAgaWYgKCF0aGlzLmNvbXB1dGVkRGVsYXkuc2hvdykge1xuICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEhpZGUgYW55IHRpdGxlIGF0dHJpYnV0ZSB3aGlsZSBlbnRlciBkZWxheSBpcyBhY3RpdmVcbiAgICAgICAgdGhpcy5maXhUaXRsZSgpO1xuICAgICAgICB0aGlzLmhvdmVyVGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKF90aGlzMTAuJF9ob3ZlclN0YXRlID09PSAnaW4nKSB7XG4gICAgICAgICAgICBfdGhpczEwLnNob3coKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCFfdGhpczEwLmxvY2FsU2hvdykge1xuICAgICAgICAgICAgX3RoaXMxMC5yZXN0b3JlVGl0bGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMuY29tcHV0ZWREZWxheS5zaG93KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGxlYXZlOiBmdW5jdGlvbiBsZWF2ZSgpIHtcbiAgICAgIHZhciBfdGhpczExID0gdGhpcztcblxuICAgICAgdmFyIGV2dCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogbnVsbDtcblxuICAgICAgLy8gQ2xvc2luZyB0cmlnZ2VyIGhhbmRsZXJcbiAgICAgIC8vIE5vdGU6IENsaWNrIGV2ZW50cyBhcmUgc2VudCB3aXRoIGV2dCA9PT0gbnVsbFxuICAgICAgaWYgKGV2dCkge1xuICAgICAgICB0aGlzLmFjdGl2ZVRyaWdnZXJbZXZ0LnR5cGUgPT09ICdmb2N1c291dCcgPyAnZm9jdXMnIDogJ2hvdmVyJ10gPSBmYWxzZTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblxuICAgICAgICBpZiAoZXZ0LnR5cGUgPT09ICdmb2N1c291dCcgJiYgYXJyYXlJbmNsdWRlcyh0aGlzLmNvbXB1dGVkVHJpZ2dlcnMsICdibHVyJykpIHtcbiAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIGBibHVyYDogd2UgY2xlYXIgb3V0IHRoZSBvdGhlciB0cmlnZ2Vyc1xuICAgICAgICAgIHRoaXMuYWN0aXZlVHJpZ2dlci5jbGljayA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuYWN0aXZlVHJpZ2dlci5ob3ZlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogaWdub3JlIGZvciBub3cgKi9cblxuXG4gICAgICBpZiAodGhpcy5pc1dpdGhBY3RpdmVUcmlnZ2VyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaG92ZXJUaW1lb3V0KTtcbiAgICAgIHRoaXMuJF9ob3ZlclN0YXRlID0gJ291dCc7XG5cbiAgICAgIGlmICghdGhpcy5jb21wdXRlZERlbGF5LmhpZGUpIHtcbiAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiRob3ZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAoX3RoaXMxMS4kX2hvdmVyU3RhdGUgPT09ICdvdXQnKSB7XG4gICAgICAgICAgICBfdGhpczExLmhpZGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMuY29tcHV0ZWREZWxheS5oaWRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdG9vbHRpcC9oZWxwZXJzL2J2LXRvb2x0aXAuanNcbi8vIG1vZHVsZSBpZCA9IDgyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///82\n"); + +/***/ }), +/* 83 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBPopoverPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popover__ = __webpack_require__(191);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport VBPopover */\n\n\nvar VBPopoverPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n directives: {\n VBPopover: __WEBPACK_IMPORTED_MODULE_0__popover__[\"a\" /* VBPopover */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9wb3BvdmVyL2luZGV4LmpzPzAxNjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBc0M7QUFDYztBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGVBQWUsMkRBQVM7QUFDeEI7QUFDQSxDQUFDIiwiZmlsZSI6IjgzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkJQb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVyJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBWQlBvcG92ZXJQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGRpcmVjdGl2ZXM6IHtcbiAgICBWQlBvcG92ZXI6IFZCUG9wb3ZlclxuICB9XG59KTtcbmV4cG9ydCB7IFZCUG9wb3ZlclBsdWdpbiwgVkJQb3BvdmVyIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9wb3BvdmVyL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSA4M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///83\n"); + +/***/ }), +/* 84 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BProgressBar; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_normalize_slot__ = __webpack_require__(5);\n\n\n\n\n\nvar NAME = 'BProgressBar'; // @vue/component\n\nvar BProgressBar =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_4__mixins_normalize_slot__[\"a\" /* default */]],\n inject: {\n bvProgress: {\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: {\n value: {\n type: Number,\n default: 0\n },\n label: {\n type: String,\n default: null\n },\n labelHtml: {\n type: String\n },\n // $parent (this.bvProgress) prop values may take precedence over the following props\n // Which is why they are defaulted to null\n max: {\n type: Number,\n default: null\n },\n precision: {\n type: Number,\n default: null\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n striped: {\n type: Boolean,\n default: null\n },\n animated: {\n type: Boolean,\n default: null\n },\n showProgress: {\n type: Boolean,\n default: null\n },\n showValue: {\n type: Boolean,\n default: null\n }\n },\n computed: {\n progressBarClasses: function progressBarClasses() {\n return [this.computedVariant ? \"bg-\".concat(this.computedVariant) : '', this.computedStriped || this.computedAnimated ? 'progress-bar-striped' : '', this.computedAnimated ? 'progress-bar-animated' : ''];\n },\n progressBarStyles: function progressBarStyles() {\n return {\n width: 100 * (this.value / this.computedMax) + '%'\n };\n },\n computedProgress: function computedProgress() {\n var p = Math.pow(10, this.computedPrecision);\n return Math.round(100 * p * this.value / this.computedMax) / p;\n },\n computedMax: function computedMax() {\n // Prefer our max over parent setting\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"h\" /* isNumber */])(this.max) ? this.max : this.bvProgress.max || 100;\n },\n computedVariant: function computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant;\n },\n computedPrecision: function computedPrecision() {\n // Prefer our precision over parent setting\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"h\" /* isNumber */])(this.precision) ? this.precision : this.bvProgress.precision || 0;\n },\n computedStriped: function computedStriped() {\n // Prefer our striped over parent setting\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"b\" /* isBoolean */])(this.striped) ? this.striped : this.bvProgress.striped || false;\n },\n computedAnimated: function computedAnimated() {\n // Prefer our animated over parent setting\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"b\" /* isBoolean */])(this.animated) ? this.animated : this.bvProgress.animated || false;\n },\n computedShowProgress: function computedShowProgress() {\n // Prefer our showProgress over parent setting\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"b\" /* isBoolean */])(this.showProgress) ? this.showProgress : this.bvProgress.showProgress || false;\n },\n computedShowValue: function computedShowValue() {\n // Prefer our showValue over parent setting\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"b\" /* isBoolean */])(this.showValue) ? this.showValue : this.bvProgress.showValue || false;\n }\n },\n render: function render(h) {\n var childNodes = h();\n\n if (this.hasNormalizedSlot('default')) {\n childNodes = this.normalizeSlot('default');\n } else if (this.label || this.labelHtml) {\n childNodes = h('span', {\n domProps: Object(__WEBPACK_IMPORTED_MODULE_2__utils_html__[\"a\" /* htmlOrText */])(this.labelHtml, this.label)\n });\n } else if (this.computedShowProgress) {\n childNodes = this.computedProgress.toFixed(this.computedPrecision);\n } else if (this.computedShowValue) {\n childNodes = this.value.toFixed(this.computedPrecision);\n }\n\n return h('div', {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': this.computedMax.toString(),\n 'aria-valuenow': this.value.toFixed(this.computedPrecision)\n }\n }, [childNodes]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wcm9ncmVzcy9wcm9ncmVzcy1iYXIuanM/NjczOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDc0I7QUFDVjtBQUNZO0FBQ0c7QUFDN0QsMEJBQTBCOztBQUVuQjtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsdUVBQWtCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsYUFBYSx3RUFBUTtBQUNyQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxhQUFhLHdFQUFRO0FBQ3JCLEtBQUs7QUFDTDtBQUNBO0FBQ0EsYUFBYSx5RUFBUztBQUN0QixLQUFLO0FBQ0w7QUFDQTtBQUNBLGFBQWEseUVBQVM7QUFDdEIsS0FBSztBQUNMO0FBQ0E7QUFDQSxhQUFhLHlFQUFTO0FBQ3RCLEtBQUs7QUFDTDtBQUNBO0FBQ0EsYUFBYSx5RUFBUztBQUN0QjtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxrQkFBa0IsdUVBQVU7QUFDNUIsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiI4NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBodG1sT3JUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvaHRtbCc7XG5pbXBvcnQgeyBpc0Jvb2xlYW4sIGlzTnVtYmVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7XG52YXIgTkFNRSA9ICdCUHJvZ3Jlc3NCYXInOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJQcm9ncmVzc0JhciA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgbWl4aW5zOiBbbm9ybWFsaXplU2xvdE1peGluXSxcbiAgaW5qZWN0OiB7XG4gICAgYnZQcm9ncmVzczoge1xuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgcHJvcHM6IHtcbiAgICB2YWx1ZToge1xuICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgZGVmYXVsdDogMFxuICAgIH0sXG4gICAgbGFiZWw6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIGxhYmVsSHRtbDoge1xuICAgICAgdHlwZTogU3RyaW5nXG4gICAgfSxcbiAgICAvLyAkcGFyZW50ICh0aGlzLmJ2UHJvZ3Jlc3MpIHByb3AgdmFsdWVzIG1heSB0YWtlIHByZWNlZGVuY2Ugb3ZlciB0aGUgZm9sbG93aW5nIHByb3BzXG4gICAgLy8gV2hpY2ggaXMgd2h5IHRoZXkgYXJlIGRlZmF1bHRlZCB0byBudWxsXG4gICAgbWF4OiB7XG4gICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBwcmVjaXNpb246IHtcbiAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIHZhcmlhbnQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd2YXJpYW50Jyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzdHJpcGVkOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgYW5pbWF0ZWQ6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBzaG93UHJvZ3Jlc3M6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBzaG93VmFsdWU6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfVxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIHByb2dyZXNzQmFyQ2xhc3NlczogZnVuY3Rpb24gcHJvZ3Jlc3NCYXJDbGFzc2VzKCkge1xuICAgICAgcmV0dXJuIFt0aGlzLmNvbXB1dGVkVmFyaWFudCA/IFwiYmctXCIuY29uY2F0KHRoaXMuY29tcHV0ZWRWYXJpYW50KSA6ICcnLCB0aGlzLmNvbXB1dGVkU3RyaXBlZCB8fCB0aGlzLmNvbXB1dGVkQW5pbWF0ZWQgPyAncHJvZ3Jlc3MtYmFyLXN0cmlwZWQnIDogJycsIHRoaXMuY29tcHV0ZWRBbmltYXRlZCA/ICdwcm9ncmVzcy1iYXItYW5pbWF0ZWQnIDogJyddO1xuICAgIH0sXG4gICAgcHJvZ3Jlc3NCYXJTdHlsZXM6IGZ1bmN0aW9uIHByb2dyZXNzQmFyU3R5bGVzKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IDEwMCAqICh0aGlzLnZhbHVlIC8gdGhpcy5jb21wdXRlZE1heCkgKyAnJSdcbiAgICAgIH07XG4gICAgfSxcbiAgICBjb21wdXRlZFByb2dyZXNzOiBmdW5jdGlvbiBjb21wdXRlZFByb2dyZXNzKCkge1xuICAgICAgdmFyIHAgPSBNYXRoLnBvdygxMCwgdGhpcy5jb21wdXRlZFByZWNpc2lvbik7XG4gICAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAgKiBwICogdGhpcy52YWx1ZSAvIHRoaXMuY29tcHV0ZWRNYXgpIC8gcDtcbiAgICB9LFxuICAgIGNvbXB1dGVkTWF4OiBmdW5jdGlvbiBjb21wdXRlZE1heCgpIHtcbiAgICAgIC8vIFByZWZlciBvdXIgbWF4IG92ZXIgcGFyZW50IHNldHRpbmdcbiAgICAgIHJldHVybiBpc051bWJlcih0aGlzLm1heCkgPyB0aGlzLm1heCA6IHRoaXMuYnZQcm9ncmVzcy5tYXggfHwgMTAwO1xuICAgIH0sXG4gICAgY29tcHV0ZWRWYXJpYW50OiBmdW5jdGlvbiBjb21wdXRlZFZhcmlhbnQoKSB7XG4gICAgICAvLyBQcmVmZXIgb3VyIHZhcmlhbnQgb3ZlciBwYXJlbnQgc2V0dGluZ1xuICAgICAgcmV0dXJuIHRoaXMudmFyaWFudCB8fCB0aGlzLmJ2UHJvZ3Jlc3MudmFyaWFudDtcbiAgICB9LFxuICAgIGNvbXB1dGVkUHJlY2lzaW9uOiBmdW5jdGlvbiBjb21wdXRlZFByZWNpc2lvbigpIHtcbiAgICAgIC8vIFByZWZlciBvdXIgcHJlY2lzaW9uIG92ZXIgcGFyZW50IHNldHRpbmdcbiAgICAgIHJldHVybiBpc051bWJlcih0aGlzLnByZWNpc2lvbikgPyB0aGlzLnByZWNpc2lvbiA6IHRoaXMuYnZQcm9ncmVzcy5wcmVjaXNpb24gfHwgMDtcbiAgICB9LFxuICAgIGNvbXB1dGVkU3RyaXBlZDogZnVuY3Rpb24gY29tcHV0ZWRTdHJpcGVkKCkge1xuICAgICAgLy8gUHJlZmVyIG91ciBzdHJpcGVkIG92ZXIgcGFyZW50IHNldHRpbmdcbiAgICAgIHJldHVybiBpc0Jvb2xlYW4odGhpcy5zdHJpcGVkKSA/IHRoaXMuc3RyaXBlZCA6IHRoaXMuYnZQcm9ncmVzcy5zdHJpcGVkIHx8IGZhbHNlO1xuICAgIH0sXG4gICAgY29tcHV0ZWRBbmltYXRlZDogZnVuY3Rpb24gY29tcHV0ZWRBbmltYXRlZCgpIHtcbiAgICAgIC8vIFByZWZlciBvdXIgYW5pbWF0ZWQgb3ZlciBwYXJlbnQgc2V0dGluZ1xuICAgICAgcmV0dXJuIGlzQm9vbGVhbih0aGlzLmFuaW1hdGVkKSA/IHRoaXMuYW5pbWF0ZWQgOiB0aGlzLmJ2UHJvZ3Jlc3MuYW5pbWF0ZWQgfHwgZmFsc2U7XG4gICAgfSxcbiAgICBjb21wdXRlZFNob3dQcm9ncmVzczogZnVuY3Rpb24gY29tcHV0ZWRTaG93UHJvZ3Jlc3MoKSB7XG4gICAgICAvLyBQcmVmZXIgb3VyIHNob3dQcm9ncmVzcyBvdmVyIHBhcmVudCBzZXR0aW5nXG4gICAgICByZXR1cm4gaXNCb29sZWFuKHRoaXMuc2hvd1Byb2dyZXNzKSA/IHRoaXMuc2hvd1Byb2dyZXNzIDogdGhpcy5idlByb2dyZXNzLnNob3dQcm9ncmVzcyB8fCBmYWxzZTtcbiAgICB9LFxuICAgIGNvbXB1dGVkU2hvd1ZhbHVlOiBmdW5jdGlvbiBjb21wdXRlZFNob3dWYWx1ZSgpIHtcbiAgICAgIC8vIFByZWZlciBvdXIgc2hvd1ZhbHVlIG92ZXIgcGFyZW50IHNldHRpbmdcbiAgICAgIHJldHVybiBpc0Jvb2xlYW4odGhpcy5zaG93VmFsdWUpID8gdGhpcy5zaG93VmFsdWUgOiB0aGlzLmJ2UHJvZ3Jlc3Muc2hvd1ZhbHVlIHx8IGZhbHNlO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBjaGlsZE5vZGVzID0gaCgpO1xuXG4gICAgaWYgKHRoaXMuaGFzTm9ybWFsaXplZFNsb3QoJ2RlZmF1bHQnKSkge1xuICAgICAgY2hpbGROb2RlcyA9IHRoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sYWJlbCB8fCB0aGlzLmxhYmVsSHRtbCkge1xuICAgICAgY2hpbGROb2RlcyA9IGgoJ3NwYW4nLCB7XG4gICAgICAgIGRvbVByb3BzOiBodG1sT3JUZXh0KHRoaXMubGFiZWxIdG1sLCB0aGlzLmxhYmVsKVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXB1dGVkU2hvd1Byb2dyZXNzKSB7XG4gICAgICBjaGlsZE5vZGVzID0gdGhpcy5jb21wdXRlZFByb2dyZXNzLnRvRml4ZWQodGhpcy5jb21wdXRlZFByZWNpc2lvbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXB1dGVkU2hvd1ZhbHVlKSB7XG4gICAgICBjaGlsZE5vZGVzID0gdGhpcy52YWx1ZS50b0ZpeGVkKHRoaXMuY29tcHV0ZWRQcmVjaXNpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBoKCdkaXYnLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ3Byb2dyZXNzLWJhcicsXG4gICAgICBjbGFzczogdGhpcy5wcm9ncmVzc0JhckNsYXNzZXMsXG4gICAgICBzdHlsZTogdGhpcy5wcm9ncmVzc0JhclN0eWxlcyxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6ICdwcm9ncmVzc2JhcicsXG4gICAgICAgICdhcmlhLXZhbHVlbWluJzogJzAnLFxuICAgICAgICAnYXJpYS12YWx1ZW1heCc6IHRoaXMuY29tcHV0ZWRNYXgudG9TdHJpbmcoKSxcbiAgICAgICAgJ2FyaWEtdmFsdWVub3cnOiB0aGlzLnZhbHVlLnRvRml4ZWQodGhpcy5jb21wdXRlZFByZWNpc2lvbilcbiAgICAgIH1cbiAgICB9LCBbY2hpbGROb2Rlc10pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3Byb2dyZXNzL3Byb2dyZXNzLWJhci5qc1xuLy8gbW9kdWxlIGlkID0gODRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///84\n"); + +/***/ }), +/* 85 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/**\n * Converts a string, including strings in camelCase or snake_case, into Start Case (a variant\n * of Title Case where all words start with a capital letter), it keeps original single quote\n * and hyphen in the word.\n *\n * Copyright (c) 2017 Compass (MIT)\n * https://github.com/UrbanCompass/to-start-case\n * @author Zhuoyuan Zhang <https://github.com/drawyan>\n * @author Wei Wang <https://github.com/onlywei>\n *\n *\n * 'management_companies' to 'Management Companies'\n * 'managementCompanies' to 'Management Companies'\n * `hell's kitchen` to `Hell's Kitchen`\n * `co-op` to `Co-op`\n *\n * @param {String} str\n * @returns {String}\n */\nvar startCase = function startCase(str) {\n return str.replace(/_/g, ' ').replace(/([a-z])([A-Z])/g, function (str, $1, $2) {\n return $1 + ' ' + $2;\n }).replace(/(\\s|^)(\\w)/g, function (str, $1, $2) {\n return $1 + $2.toUpperCase();\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (startCase);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvc3RhcnRjYXNlLmpzP2U1ZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIOztBQUVlLGtFQUFTIiwiZmlsZSI6Ijg1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZywgaW5jbHVkaW5nIHN0cmluZ3MgaW4gY2FtZWxDYXNlIG9yIHNuYWtlX2Nhc2UsIGludG8gU3RhcnQgQ2FzZSAoYSB2YXJpYW50XG4gKiBvZiBUaXRsZSBDYXNlIHdoZXJlIGFsbCB3b3JkcyBzdGFydCB3aXRoIGEgY2FwaXRhbCBsZXR0ZXIpLCBpdCBrZWVwcyBvcmlnaW5hbCBzaW5nbGUgcXVvdGVcbiAqIGFuZCBoeXBoZW4gaW4gdGhlIHdvcmQuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDE3IENvbXBhc3MgKE1JVClcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9VcmJhbkNvbXBhc3MvdG8tc3RhcnQtY2FzZVxuICogQGF1dGhvciBaaHVveXVhbiBaaGFuZyA8aHR0cHM6Ly9naXRodWIuY29tL2RyYXd5YW4+XG4gKiBAYXV0aG9yIFdlaSBXYW5nIDxodHRwczovL2dpdGh1Yi5jb20vb25seXdlaT5cbiAqXG4gKlxuICogICAnbWFuYWdlbWVudF9jb21wYW5pZXMnIHRvICdNYW5hZ2VtZW50IENvbXBhbmllcydcbiAqICAgJ21hbmFnZW1lbnRDb21wYW5pZXMnIHRvICdNYW5hZ2VtZW50IENvbXBhbmllcydcbiAqICAgYGhlbGwncyBraXRjaGVuYCB0byBgSGVsbCdzIEtpdGNoZW5gXG4gKiAgIGBjby1vcGAgdG8gYENvLW9wYFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHJcbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbnZhciBzdGFydENhc2UgPSBmdW5jdGlvbiBzdGFydENhc2Uoc3RyKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvXy9nLCAnICcpLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIGZ1bmN0aW9uIChzdHIsICQxLCAkMikge1xuICAgIHJldHVybiAkMSArICcgJyArICQyO1xuICB9KS5yZXBsYWNlKC8oXFxzfF4pKFxcdykvZywgZnVuY3Rpb24gKHN0ciwgJDEsICQyKSB7XG4gICAgcmV0dXJuICQxICsgJDIudG9VcHBlckNhc2UoKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBzdGFydENhc2U7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvc3RhcnRjYXNlLmpzXG4vLyBtb2R1bGUgaWQgPSA4NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///85\n"); + +/***/ }), +/* 86 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return IGNORED_FIELD_KEYS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EVENT_FILTER; });\n// Constants used by table helpers\n// Object of item keys that should be ignored for headers and\n// stringification and filter events\nvar IGNORED_FIELD_KEYS = {\n _rowVariant: true,\n _cellVariants: true,\n _showDetails: true\n}; // Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\n\nvar EVENT_FILTER = ['a', 'a *', // Include content inside links\n'button', 'button *', // Include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL2NvbnN0YW50cy5qcz9iNzNlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFTztBQUNQO0FBQ0EiLCJmaWxlIjoiODYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb25zdGFudHMgdXNlZCBieSB0YWJsZSBoZWxwZXJzXG4vLyBPYmplY3Qgb2YgaXRlbSBrZXlzIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQgZm9yIGhlYWRlcnMgYW5kXG4vLyBzdHJpbmdpZmljYXRpb24gYW5kIGZpbHRlciBldmVudHNcbmV4cG9ydCB2YXIgSUdOT1JFRF9GSUVMRF9LRVlTID0ge1xuICBfcm93VmFyaWFudDogdHJ1ZSxcbiAgX2NlbGxWYXJpYW50czogdHJ1ZSxcbiAgX3Nob3dEZXRhaWxzOiB0cnVlXG59OyAvLyBGaWx0ZXIgQ1NTIHNlbGVjdG9yIGZvciBjbGljay9kYmxjbGljay9ldGMuIGV2ZW50c1xuLy8gSWYgYW55IG9mIHRoZXNlIHNlbGVjdG9ycyBtYXRjaCB0aGUgY2xpY2tlZCBlbGVtZW50LCB3ZSBpZ25vcmUgdGhlIGV2ZW50XG5cbmV4cG9ydCB2YXIgRVZFTlRfRklMVEVSID0gWydhJywgJ2EgKicsIC8vIEluY2x1ZGUgY29udGVudCBpbnNpZGUgbGlua3NcbididXR0b24nLCAnYnV0dG9uIConLCAvLyBJbmNsdWRlIGNvbnRlbnQgaW5zaWRlIGJ1dHRvbnNcbidpbnB1dDpub3QoLmRpc2FibGVkKTpub3QoW2Rpc2FibGVkXSknLCAnc2VsZWN0Om5vdCguZGlzYWJsZWQpOm5vdChbZGlzYWJsZWRdKScsICd0ZXh0YXJlYTpub3QoLmRpc2FibGVkKTpub3QoW2Rpc2FibGVkXSknLCAnW3JvbGU9XCJsaW5rXCJdJywgJ1tyb2xlPVwibGlua1wiXSAqJywgJ1tyb2xlPVwiYnV0dG9uXCJdJywgJ1tyb2xlPVwiYnV0dG9uXCJdIConLCAnW3RhYmluZGV4XTpub3QoLmRpc2FibGVkKTpub3QoW2Rpc2FibGVkXSknXS5qb2luKCcsJyk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL2NvbnN0YW50cy5qc1xuLy8gbW9kdWxlIGlkID0gODZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///86\n"); + +/***/ }), +/* 87 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("function _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\n// Mixin for providing stacked tables\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n stacked: {\n type: [Boolean, String],\n default: false\n }\n },\n computed: {\n isStacked: function isStacked() {\n // `true` when always stacked, or returns breakpoint specified\n return this.stacked === '' ? true : this.stacked;\n },\n isStackedAlways: function isStackedAlways() {\n return this.isStacked === true;\n },\n stackedTableClasses: function stackedTableClasses() {\n return _defineProperty({\n 'b-table-stacked': this.isStackedAlways\n }, \"b-table-stacked-\".concat(this.stacked), !this.isStackedAlways && this.isStacked);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXN0YWNrZWQuanM/NTNmZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL007QUFDZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiODcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG4vLyBNaXhpbiBmb3IgcHJvdmlkaW5nIHN0YWNrZWQgdGFibGVzXG5leHBvcnQgZGVmYXVsdCB7XG4gIHByb3BzOiB7XG4gICAgc3RhY2tlZDoge1xuICAgICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZ10sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH1cbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBpc1N0YWNrZWQ6IGZ1bmN0aW9uIGlzU3RhY2tlZCgpIHtcbiAgICAgIC8vIGB0cnVlYCB3aGVuIGFsd2F5cyBzdGFja2VkLCBvciByZXR1cm5zIGJyZWFrcG9pbnQgc3BlY2lmaWVkXG4gICAgICByZXR1cm4gdGhpcy5zdGFja2VkID09PSAnJyA/IHRydWUgOiB0aGlzLnN0YWNrZWQ7XG4gICAgfSxcbiAgICBpc1N0YWNrZWRBbHdheXM6IGZ1bmN0aW9uIGlzU3RhY2tlZEFsd2F5cygpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU3RhY2tlZCA9PT0gdHJ1ZTtcbiAgICB9LFxuICAgIHN0YWNrZWRUYWJsZUNsYXNzZXM6IGZ1bmN0aW9uIHN0YWNrZWRUYWJsZUNsYXNzZXMoKSB7XG4gICAgICByZXR1cm4gX2RlZmluZVByb3BlcnR5KHtcbiAgICAgICAgJ2ItdGFibGUtc3RhY2tlZCc6IHRoaXMuaXNTdGFja2VkQWx3YXlzXG4gICAgICB9LCBcImItdGFibGUtc3RhY2tlZC1cIi5jb25jYXQodGhpcy5zdGFja2VkKSwgIXRoaXMuaXNTdGFja2VkQWx3YXlzICYmIHRoaXMuaXNTdGFja2VkKTtcbiAgICB9XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXN0YWNrZWQuanNcbi8vIG1vZHVsZSBpZCA9IDg3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///87\n"); + +/***/ }), +/* 88 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BThead; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__ = __webpack_require__(5);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\nvar props = {\n headVariant: {\n // Also sniffed by <b-tr> / <b-td> / <b-th>\n type: String,\n // supported values: 'lite', 'dark', or null\n default: null\n }\n}; // @vue/component\n\nvar BThead =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BThead',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n bvTable: {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: props,\n computed: {\n isThead: function isThead() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return true;\n },\n isDark: function isDark() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.dark;\n },\n isStacked: function isStacked() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isStacked;\n },\n isResponsive: function isResponsive() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isResponsive;\n },\n isStickyHeader: function isStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n tableVariant: function tableVariant() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.tableVariant;\n },\n theadClasses: function theadClasses() {\n return [this.headVariant ? \"thead-\".concat(this.headVariant) : null];\n },\n theadAttrs: function theadAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.$attrs);\n }\n },\n render: function render(h) {\n return h('thead', {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.$listeners\n }, this.normalizeSlot('default', {}));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90aGVhZC5qcz8zNzVjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUMyQjtBQUN0RDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxXQUFXLHVFQUFrQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxrQ0FBa0M7QUFDdkM7QUFDQSxDQUFDIiwiZmlsZSI6Ijg4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IG5vcm1hbGl6ZVNsb3RNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvbm9ybWFsaXplLXNsb3QnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgaGVhZFZhcmlhbnQ6IHtcbiAgICAvLyBBbHNvIHNuaWZmZWQgYnkgPGItdHI+IC8gPGItdGQ+IC8gPGItdGg+XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIC8vIHN1cHBvcnRlZCB2YWx1ZXM6ICdsaXRlJywgJ2RhcmsnLCBvciBudWxsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJUaGVhZCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JUaGVhZCcsXG4gIG1peGluczogW25vcm1hbGl6ZVNsb3RNaXhpbl0sXG4gIGluaGVyaXRBdHRyczogZmFsc2UsXG4gIHByb3ZpZGU6IGZ1bmN0aW9uIHByb3ZpZGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ2VGFibGVSb3dHcm91cDogdGhpc1xuICAgIH07XG4gIH0sXG4gIGluamVjdDoge1xuICAgIGJ2VGFibGU6IHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgPGItdHI+IC8gPGItdGQ+IC8gPGItdGg+XG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBwcm9wczogcHJvcHMsXG4gIGNvbXB1dGVkOiB7XG4gICAgaXNUaGVhZDogZnVuY3Rpb24gaXNUaGVhZCgpIHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgPGItdHI+IC8gPGItdGQ+IC8gPGItdGg+XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIGlzRGFyazogZnVuY3Rpb24gaXNEYXJrKCkge1xuICAgICAgLy8gU25pZmZlZCBieSA8Yi10cj4gLyA8Yi10ZD4gLyA8Yi10aD5cbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGUuZGFyaztcbiAgICB9LFxuICAgIGlzU3RhY2tlZDogZnVuY3Rpb24gaXNTdGFja2VkKCkge1xuICAgICAgLy8gU25pZmZlZCBieSA8Yi10cj4gLyA8Yi10ZD4gLyA8Yi10aD5cbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGUuaXNTdGFja2VkO1xuICAgIH0sXG4gICAgaXNSZXNwb25zaXZlOiBmdW5jdGlvbiBpc1Jlc3BvbnNpdmUoKSB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRyPiAvIDxiLXRkPiAvIDxiLXRoPlxuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZS5pc1Jlc3BvbnNpdmU7XG4gICAgfSxcbiAgICBpc1N0aWNreUhlYWRlcjogZnVuY3Rpb24gaXNTdGlja3lIZWFkZXIoKSB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRyPiAvIDxiLXRkPiAvIDxiLXRoPlxuICAgICAgLy8gTmVlZGVkIHRvIGhhbmRsZSBoZWFkZXIgYmFja2dyb3VuZCBjbGFzc2VzLCBkdWUgdG8gbGFjayBvZlxuICAgICAgLy8gYmFja2dyb3VuZCBjb2xvciBpbmhlcml0YW5jZSB3aXRoIEJvb3RzdHJhcCB2NCB0YWJsZSBDU1NcbiAgICAgIC8vIFN0aWNreSBoZWFkZXJzIG9ubHkgYXBwbHkgdG8gY2VsbHMgaW4gdGFibGUgYHRoZWFkYFxuICAgICAgcmV0dXJuICF0aGlzLmlzU3RhY2tlZCAmJiB0aGlzLmJ2VGFibGUuc3RpY2t5SGVhZGVyO1xuICAgIH0sXG4gICAgdGFibGVWYXJpYW50OiBmdW5jdGlvbiB0YWJsZVZhcmlhbnQoKSB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRyPiAvIDxiLXRkPiAvIDxiLXRoPlxuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZS50YWJsZVZhcmlhbnQ7XG4gICAgfSxcbiAgICB0aGVhZENsYXNzZXM6IGZ1bmN0aW9uIHRoZWFkQ2xhc3NlcygpIHtcbiAgICAgIHJldHVybiBbdGhpcy5oZWFkVmFyaWFudCA/IFwidGhlYWQtXCIuY29uY2F0KHRoaXMuaGVhZFZhcmlhbnQpIDogbnVsbF07XG4gICAgfSxcbiAgICB0aGVhZEF0dHJzOiBmdW5jdGlvbiB0aGVhZEF0dHJzKCkge1xuICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgICAgICByb2xlOiAncm93Z3JvdXAnXG4gICAgICB9LCB0aGlzLiRhdHRycyk7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgcmV0dXJuIGgoJ3RoZWFkJywge1xuICAgICAgY2xhc3M6IHRoaXMudGhlYWRDbGFzc2VzLFxuICAgICAgYXR0cnM6IHRoaXMudGhlYWRBdHRycyxcbiAgICAgIC8vIFBhc3MgZG93biBhbnkgbmF0aXZlIGxpc3RlbmVyc1xuICAgICAgb246IHRoaXMuJGxpc3RlbmVyc1xuICAgIH0sIHRoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcsIHt9KSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvdGhlYWQuanNcbi8vIG1vZHVsZSBpZCA9IDg4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///88\n"); + +/***/ }), +/* 89 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTbody; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__ = __webpack_require__(5);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\nvar props = {\n tbodyTransitionProps: {\n type: Object // default: undefined\n\n },\n tbodyTransitionHandlers: {\n type: Object // default: undefined\n\n }\n}; // @vue/component\n\nvar BTbody =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTbody',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n bvTable: {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: props,\n computed: {\n isTbody: function isTbody() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return true;\n },\n isDark: function isDark() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.dark;\n },\n isStacked: function isStacked() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isStacked;\n },\n isResponsive: function isResponsive() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isResponsive;\n },\n isStickyHeader: function isStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Sticky headers are only supported in thead\n return false;\n },\n tableVariant: function tableVariant()\n /* istanbul ignore next: Not currently sniffed in tests */\n {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.tableVariant;\n },\n isTransitionGroup: function isTransitionGroup() {\n return this.tbodyTransitionProps || this.tbodyTransitionHandlers;\n },\n tbodyAttrs: function tbodyAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.$attrs);\n },\n tbodyProps: function tbodyProps() {\n return this.tbodyTransitionProps ? _objectSpread({}, this.tbodyTransitionProps, {\n tag: 'tbody'\n }) : {};\n },\n tbodyListeners: function tbodyListeners() {\n var handlers = this.tbodyTransitionHandlers || {};\n return _objectSpread({}, this.$listeners, {}, handlers);\n }\n },\n render: function render(h) {\n return h(this.isTransitionGroup ? 'transition-group' : 'tbody', {\n props: this.tbodyProps,\n attrs: this.tbodyAttrs,\n // Pass down any listeners\n on: this.tbodyListeners\n }, this.normalizeSlot('default', {}));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90Ym9keS5qcz8yMWIwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUMyQjtBQUN0RDtBQUNQO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVyx1RUFBa0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBLDZCQUE2QixxQkFBcUI7QUFDbEQ7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxrQ0FBa0M7QUFDdkM7QUFDQSxDQUFDIiwiZmlsZSI6Ijg5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IG5vcm1hbGl6ZVNsb3RNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvbm9ybWFsaXplLXNsb3QnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgdGJvZHlUcmFuc2l0aW9uUHJvcHM6IHtcbiAgICB0eXBlOiBPYmplY3QgLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgfSxcbiAgdGJvZHlUcmFuc2l0aW9uSGFuZGxlcnM6IHtcbiAgICB0eXBlOiBPYmplY3QgLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVGJvZHkgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCVGJvZHknLFxuICBtaXhpbnM6IFtub3JtYWxpemVTbG90TWl4aW5dLFxuICBpbmhlcml0QXR0cnM6IGZhbHNlLFxuICBwcm92aWRlOiBmdW5jdGlvbiBwcm92aWRlKCkge1xuICAgIHJldHVybiB7XG4gICAgICBidlRhYmxlUm93R3JvdXA6IHRoaXNcbiAgICB9O1xuICB9LFxuICBpbmplY3Q6IHtcbiAgICBidlRhYmxlOiB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRyPiAvIDxiLXRkPiAvIDxiLXRoPlxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgcHJvcHM6IHByb3BzLFxuICBjb21wdXRlZDoge1xuICAgIGlzVGJvZHk6IGZ1bmN0aW9uIGlzVGJvZHkoKSB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRyPiAvIDxiLXRkPiAvIDxiLXRoPlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBpc0Rhcms6IGZ1bmN0aW9uIGlzRGFyaygpIHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgPGItdHI+IC8gPGItdGQ+IC8gPGItdGg+XG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlLmRhcms7XG4gICAgfSxcbiAgICBpc1N0YWNrZWQ6IGZ1bmN0aW9uIGlzU3RhY2tlZCgpIHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgPGItdHI+IC8gPGItdGQ+IC8gPGItdGg+XG4gICAgICByZXR1cm4gdGhpcy5idlRhYmxlLmlzU3RhY2tlZDtcbiAgICB9LFxuICAgIGlzUmVzcG9uc2l2ZTogZnVuY3Rpb24gaXNSZXNwb25zaXZlKCkge1xuICAgICAgLy8gU25pZmZlZCBieSA8Yi10cj4gLyA8Yi10ZD4gLyA8Yi10aD5cbiAgICAgIHJldHVybiB0aGlzLmJ2VGFibGUuaXNSZXNwb25zaXZlO1xuICAgIH0sXG4gICAgaXNTdGlja3lIZWFkZXI6IGZ1bmN0aW9uIGlzU3RpY2t5SGVhZGVyKCkge1xuICAgICAgLy8gU25pZmZlZCBieSA8Yi10cj4gLyA8Yi10ZD4gLyA8Yi10aD5cbiAgICAgIC8vIFN0aWNreSBoZWFkZXJzIGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB0aGVhZFxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgdGFibGVWYXJpYW50OiBmdW5jdGlvbiB0YWJsZVZhcmlhbnQoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBOb3QgY3VycmVudGx5IHNuaWZmZWQgaW4gdGVzdHMgKi9cbiAgICB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IDxiLXRyPiAvIDxiLXRkPiAvIDxiLXRoPlxuICAgICAgcmV0dXJuIHRoaXMuYnZUYWJsZS50YWJsZVZhcmlhbnQ7XG4gICAgfSxcbiAgICBpc1RyYW5zaXRpb25Hcm91cDogZnVuY3Rpb24gaXNUcmFuc2l0aW9uR3JvdXAoKSB7XG4gICAgICByZXR1cm4gdGhpcy50Ym9keVRyYW5zaXRpb25Qcm9wcyB8fCB0aGlzLnRib2R5VHJhbnNpdGlvbkhhbmRsZXJzO1xuICAgIH0sXG4gICAgdGJvZHlBdHRyczogZnVuY3Rpb24gdGJvZHlBdHRycygpIHtcbiAgICAgIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICAgICAgcm9sZTogJ3Jvd2dyb3VwJ1xuICAgICAgfSwgdGhpcy4kYXR0cnMpO1xuICAgIH0sXG4gICAgdGJvZHlQcm9wczogZnVuY3Rpb24gdGJvZHlQcm9wcygpIHtcbiAgICAgIHJldHVybiB0aGlzLnRib2R5VHJhbnNpdGlvblByb3BzID8gX29iamVjdFNwcmVhZCh7fSwgdGhpcy50Ym9keVRyYW5zaXRpb25Qcm9wcywge1xuICAgICAgICB0YWc6ICd0Ym9keSdcbiAgICAgIH0pIDoge307XG4gICAgfSxcbiAgICB0Ym9keUxpc3RlbmVyczogZnVuY3Rpb24gdGJvZHlMaXN0ZW5lcnMoKSB7XG4gICAgICB2YXIgaGFuZGxlcnMgPSB0aGlzLnRib2R5VHJhbnNpdGlvbkhhbmRsZXJzIHx8IHt9O1xuICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe30sIHRoaXMuJGxpc3RlbmVycywge30sIGhhbmRsZXJzKTtcbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICByZXR1cm4gaCh0aGlzLmlzVHJhbnNpdGlvbkdyb3VwID8gJ3RyYW5zaXRpb24tZ3JvdXAnIDogJ3Rib2R5Jywge1xuICAgICAgcHJvcHM6IHRoaXMudGJvZHlQcm9wcyxcbiAgICAgIGF0dHJzOiB0aGlzLnRib2R5QXR0cnMsXG4gICAgICAvLyBQYXNzIGRvd24gYW55IGxpc3RlbmVyc1xuICAgICAgb246IHRoaXMudGJvZHlMaXN0ZW5lcnNcbiAgICB9LCB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnLCB7fSkpO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL3Rib2R5LmpzXG4vLyBtb2R1bGUgaWQgPSA4OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///89\n"); + +/***/ }), +/* 90 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_inspect__ = __webpack_require__(1);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n // Main `<table>` render mixin\n// Includes all main table styling options\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n // Don't place attributes on root element automatically,\n // as table could be wrapped in responsive `<div>`\n inheritAttrs: false,\n provide: function provide() {\n return {\n bvTable: this\n };\n },\n props: {\n striped: {\n type: Boolean,\n default: false\n },\n bordered: {\n type: Boolean,\n default: false\n },\n borderless: {\n type: Boolean,\n default: false\n },\n outlined: {\n type: Boolean,\n default: false\n },\n dark: {\n type: Boolean,\n default: false\n },\n hover: {\n type: Boolean,\n default: false\n },\n small: {\n type: Boolean,\n default: false\n },\n fixed: {\n type: Boolean,\n default: false\n },\n responsive: {\n type: [Boolean, String],\n default: false\n },\n stickyHeader: {\n // If a string, it is assumed to be the table `max-height` value\n type: [Boolean, String],\n default: false\n },\n noBorderCollapse: {\n type: Boolean,\n default: false\n },\n captionTop: {\n type: Boolean,\n default: false\n },\n tableVariant: {\n type: String,\n default: null\n },\n tableClass: {\n type: [String, Array, Object],\n default: null\n }\n },\n computed: {\n // Layout related computed props\n isResponsive: function isResponsive() {\n var responsive = this.responsive === '' ? true : this.responsive;\n return this.isStacked ? false : responsive;\n },\n isStickyHeader: function isStickyHeader() {\n var stickyHeader = this.stickyHeader === '' ? true : this.stickyHeader;\n return this.isStacked ? false : stickyHeader;\n },\n wrapperClasses: function wrapperClasses() {\n return [this.isStickyHeader ? 'b-table-sticky-header' : '', this.isResponsive === true ? 'table-responsive' : this.isResponsive ? \"table-responsive-\".concat(this.responsive) : ''].filter(Boolean);\n },\n wrapperStyles: function wrapperStyles() {\n return this.isStickyHeader && !Object(__WEBPACK_IMPORTED_MODULE_0__utils_inspect__[\"b\" /* isBoolean */])(this.isStickyHeader) ? {\n maxHeight: this.isStickyHeader\n } : {};\n },\n tableClasses: function tableClasses() {\n var hover = this.isTableSimple ? this.hover : this.hover && this.computedItems.length > 0 && !this.computedBusy;\n return [// User supplied classes\n this.tableClass, // Styling classes\n {\n 'table-striped': this.striped,\n 'table-hover': hover,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n // The following are b-table custom styles\n border: this.outlined,\n 'b-table-fixed': this.fixed,\n 'b-table-caption-top': this.captionTop,\n 'b-table-no-border-collapse': this.noBorderCollapse\n }, this.tableVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(this.tableVariant) : '', // Stacked table classes\n this.stackedTableClasses, // Selectable classes\n this.selectableTableClasses];\n },\n tableAttrs: function tableAttrs() {\n // Preserve user supplied aria-describedby, if provided in `$attrs`\n var adb = [(this.$attrs || {})['aria-describedby'], this.captionId].filter(Boolean).join(' ') || null;\n var items = this.computedItems;\n var filteredItems = this.filteredItems;\n var fields = this.computedFields;\n var selectableAttrs = this.selectableTableAttrs || {};\n var ariaAttrs = this.isTableSimple ? {} : {\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': String(fields.length),\n 'aria-describedby': adb\n };\n var rowCount = items && filteredItems && filteredItems.length > items.length ? String(filteredItems.length) : null;\n return _objectSpread({\n // We set `aria-rowcount` before merging in `$attrs`,\n // in case user has supplied their own\n 'aria-rowcount': rowCount\n }, this.$attrs, {\n // Now we can override any `$attrs` here\n id: this.safeId(),\n role: 'table'\n }, ariaAttrs, {}, selectableAttrs);\n }\n },\n render: function render(h) {\n var $content = [];\n\n if (this.isTableSimple) {\n $content.push(this.normalizeSlot('default', {}));\n } else {\n // Build the `<caption>` (from caption mixin)\n $content.push(this.renderCaption ? this.renderCaption() : null); // Build the `<colgroup>`\n\n $content.push(this.renderColgroup ? this.renderColgroup() : null); // Build the `<thead>`\n\n $content.push(this.renderThead ? this.renderThead() : null); // Build the `<tbody>`\n\n $content.push(this.renderTbody ? this.renderTbody() : null); // Build the `<tfoot>`\n\n $content.push(this.renderTfoot ? this.renderTfoot() : null);\n } // Assemble `<table>`\n\n\n var $table = h('table', {\n key: 'b-table',\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs\n }, $content.filter(Boolean)); // Add responsive/sticky wrapper if needed and return table\n\n return this.wrapperClasses.length > 0 ? h('div', {\n key: 'wrap',\n class: this.wrapperClasses,\n style: this.wrapperStyles\n }, [$table]) : $table;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXRhYmxlLXJlbmRlcmVyLmpzPzgwYWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTVKO0FBQ25EOztBQUVlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EscUNBQXFDLHlFQUFTO0FBQzlDO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU8sZUFBZTtBQUN0QjtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0Esb0RBQW9EO0FBQ3BELEtBQUs7QUFDTDtBQUNBLHNFQUFzRTs7QUFFdEUsd0VBQXdFOztBQUV4RSxrRUFBa0U7O0FBRWxFLGtFQUFrRTs7QUFFbEU7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyw0QkFBNEI7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiI5MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCB7IGlzQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2luc3BlY3QnOyAvLyBNYWluIGA8dGFibGU+YCByZW5kZXIgbWl4aW5cbi8vIEluY2x1ZGVzIGFsbCBtYWluIHRhYmxlIHN0eWxpbmcgb3B0aW9uc1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIC8vIERvbid0IHBsYWNlIGF0dHJpYnV0ZXMgb24gcm9vdCBlbGVtZW50IGF1dG9tYXRpY2FsbHksXG4gIC8vIGFzIHRhYmxlIGNvdWxkIGJlIHdyYXBwZWQgaW4gcmVzcG9uc2l2ZSBgPGRpdj5gXG4gIGluaGVyaXRBdHRyczogZmFsc2UsXG4gIHByb3ZpZGU6IGZ1bmN0aW9uIHByb3ZpZGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ2VGFibGU6IHRoaXNcbiAgICB9O1xuICB9LFxuICBwcm9wczoge1xuICAgIHN0cmlwZWQ6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgYm9yZGVyZWQ6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgYm9yZGVybGVzczoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBvdXRsaW5lZDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBkYXJrOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHNtYWxsOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGZpeGVkOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHJlc3BvbnNpdmU6IHtcbiAgICAgIHR5cGU6IFtCb29sZWFuLCBTdHJpbmddLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHN0aWNreUhlYWRlcjoge1xuICAgICAgLy8gSWYgYSBzdHJpbmcsIGl0IGlzIGFzc3VtZWQgdG8gYmUgdGhlIHRhYmxlIGBtYXgtaGVpZ2h0YCB2YWx1ZVxuICAgICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZ10sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbm9Cb3JkZXJDb2xsYXBzZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBjYXB0aW9uVG9wOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHRhYmxlVmFyaWFudDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgdGFibGVDbGFzczoge1xuICAgICAgdHlwZTogW1N0cmluZywgQXJyYXksIE9iamVjdF0sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfVxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIC8vIExheW91dCByZWxhdGVkIGNvbXB1dGVkIHByb3BzXG4gICAgaXNSZXNwb25zaXZlOiBmdW5jdGlvbiBpc1Jlc3BvbnNpdmUoKSB7XG4gICAgICB2YXIgcmVzcG9uc2l2ZSA9IHRoaXMucmVzcG9uc2l2ZSA9PT0gJycgPyB0cnVlIDogdGhpcy5yZXNwb25zaXZlO1xuICAgICAgcmV0dXJuIHRoaXMuaXNTdGFja2VkID8gZmFsc2UgOiByZXNwb25zaXZlO1xuICAgIH0sXG4gICAgaXNTdGlja3lIZWFkZXI6IGZ1bmN0aW9uIGlzU3RpY2t5SGVhZGVyKCkge1xuICAgICAgdmFyIHN0aWNreUhlYWRlciA9IHRoaXMuc3RpY2t5SGVhZGVyID09PSAnJyA/IHRydWUgOiB0aGlzLnN0aWNreUhlYWRlcjtcbiAgICAgIHJldHVybiB0aGlzLmlzU3RhY2tlZCA/IGZhbHNlIDogc3RpY2t5SGVhZGVyO1xuICAgIH0sXG4gICAgd3JhcHBlckNsYXNzZXM6IGZ1bmN0aW9uIHdyYXBwZXJDbGFzc2VzKCkge1xuICAgICAgcmV0dXJuIFt0aGlzLmlzU3RpY2t5SGVhZGVyID8gJ2ItdGFibGUtc3RpY2t5LWhlYWRlcicgOiAnJywgdGhpcy5pc1Jlc3BvbnNpdmUgPT09IHRydWUgPyAndGFibGUtcmVzcG9uc2l2ZScgOiB0aGlzLmlzUmVzcG9uc2l2ZSA/IFwidGFibGUtcmVzcG9uc2l2ZS1cIi5jb25jYXQodGhpcy5yZXNwb25zaXZlKSA6ICcnXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfSxcbiAgICB3cmFwcGVyU3R5bGVzOiBmdW5jdGlvbiB3cmFwcGVyU3R5bGVzKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTdGlja3lIZWFkZXIgJiYgIWlzQm9vbGVhbih0aGlzLmlzU3RpY2t5SGVhZGVyKSA/IHtcbiAgICAgICAgbWF4SGVpZ2h0OiB0aGlzLmlzU3RpY2t5SGVhZGVyXG4gICAgICB9IDoge307XG4gICAgfSxcbiAgICB0YWJsZUNsYXNzZXM6IGZ1bmN0aW9uIHRhYmxlQ2xhc3NlcygpIHtcbiAgICAgIHZhciBob3ZlciA9IHRoaXMuaXNUYWJsZVNpbXBsZSA/IHRoaXMuaG92ZXIgOiB0aGlzLmhvdmVyICYmIHRoaXMuY29tcHV0ZWRJdGVtcy5sZW5ndGggPiAwICYmICF0aGlzLmNvbXB1dGVkQnVzeTtcbiAgICAgIHJldHVybiBbLy8gVXNlciBzdXBwbGllZCBjbGFzc2VzXG4gICAgICB0aGlzLnRhYmxlQ2xhc3MsIC8vIFN0eWxpbmcgY2xhc3Nlc1xuICAgICAge1xuICAgICAgICAndGFibGUtc3RyaXBlZCc6IHRoaXMuc3RyaXBlZCxcbiAgICAgICAgJ3RhYmxlLWhvdmVyJzogaG92ZXIsXG4gICAgICAgICd0YWJsZS1kYXJrJzogdGhpcy5kYXJrLFxuICAgICAgICAndGFibGUtYm9yZGVyZWQnOiB0aGlzLmJvcmRlcmVkLFxuICAgICAgICAndGFibGUtYm9yZGVybGVzcyc6IHRoaXMuYm9yZGVybGVzcyxcbiAgICAgICAgJ3RhYmxlLXNtJzogdGhpcy5zbWFsbCxcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmUgYi10YWJsZSBjdXN0b20gc3R5bGVzXG4gICAgICAgIGJvcmRlcjogdGhpcy5vdXRsaW5lZCxcbiAgICAgICAgJ2ItdGFibGUtZml4ZWQnOiB0aGlzLmZpeGVkLFxuICAgICAgICAnYi10YWJsZS1jYXB0aW9uLXRvcCc6IHRoaXMuY2FwdGlvblRvcCxcbiAgICAgICAgJ2ItdGFibGUtbm8tYm9yZGVyLWNvbGxhcHNlJzogdGhpcy5ub0JvcmRlckNvbGxhcHNlXG4gICAgICB9LCB0aGlzLnRhYmxlVmFyaWFudCA/IFwiXCIuY29uY2F0KHRoaXMuZGFyayA/ICdiZycgOiAndGFibGUnLCBcIi1cIikuY29uY2F0KHRoaXMudGFibGVWYXJpYW50KSA6ICcnLCAvLyBTdGFja2VkIHRhYmxlIGNsYXNzZXNcbiAgICAgIHRoaXMuc3RhY2tlZFRhYmxlQ2xhc3NlcywgLy8gU2VsZWN0YWJsZSBjbGFzc2VzXG4gICAgICB0aGlzLnNlbGVjdGFibGVUYWJsZUNsYXNzZXNdO1xuICAgIH0sXG4gICAgdGFibGVBdHRyczogZnVuY3Rpb24gdGFibGVBdHRycygpIHtcbiAgICAgIC8vIFByZXNlcnZlIHVzZXIgc3VwcGxpZWQgYXJpYS1kZXNjcmliZWRieSwgaWYgcHJvdmlkZWQgaW4gYCRhdHRyc2BcbiAgICAgIHZhciBhZGIgPSBbKHRoaXMuJGF0dHJzIHx8IHt9KVsnYXJpYS1kZXNjcmliZWRieSddLCB0aGlzLmNhcHRpb25JZF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSB8fCBudWxsO1xuICAgICAgdmFyIGl0ZW1zID0gdGhpcy5jb21wdXRlZEl0ZW1zO1xuICAgICAgdmFyIGZpbHRlcmVkSXRlbXMgPSB0aGlzLmZpbHRlcmVkSXRlbXM7XG4gICAgICB2YXIgZmllbGRzID0gdGhpcy5jb21wdXRlZEZpZWxkcztcbiAgICAgIHZhciBzZWxlY3RhYmxlQXR0cnMgPSB0aGlzLnNlbGVjdGFibGVUYWJsZUF0dHJzIHx8IHt9O1xuICAgICAgdmFyIGFyaWFBdHRycyA9IHRoaXMuaXNUYWJsZVNpbXBsZSA/IHt9IDoge1xuICAgICAgICAnYXJpYS1idXN5JzogdGhpcy5jb21wdXRlZEJ1c3kgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgICAnYXJpYS1jb2xjb3VudCc6IFN0cmluZyhmaWVsZHMubGVuZ3RoKSxcbiAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiBhZGJcbiAgICAgIH07XG4gICAgICB2YXIgcm93Q291bnQgPSBpdGVtcyAmJiBmaWx0ZXJlZEl0ZW1zICYmIGZpbHRlcmVkSXRlbXMubGVuZ3RoID4gaXRlbXMubGVuZ3RoID8gU3RyaW5nKGZpbHRlcmVkSXRlbXMubGVuZ3RoKSA6IG51bGw7XG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgICAgIC8vIFdlIHNldCBgYXJpYS1yb3djb3VudGAgYmVmb3JlIG1lcmdpbmcgaW4gYCRhdHRyc2AsXG4gICAgICAgIC8vIGluIGNhc2UgdXNlciBoYXMgc3VwcGxpZWQgdGhlaXIgb3duXG4gICAgICAgICdhcmlhLXJvd2NvdW50Jzogcm93Q291bnRcbiAgICAgIH0sIHRoaXMuJGF0dHJzLCB7XG4gICAgICAgIC8vIE5vdyB3ZSBjYW4gb3ZlcnJpZGUgYW55IGAkYXR0cnNgIGhlcmVcbiAgICAgICAgaWQ6IHRoaXMuc2FmZUlkKCksXG4gICAgICAgIHJvbGU6ICd0YWJsZSdcbiAgICAgIH0sIGFyaWFBdHRycywge30sIHNlbGVjdGFibGVBdHRycyk7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgdmFyICRjb250ZW50ID0gW107XG5cbiAgICBpZiAodGhpcy5pc1RhYmxlU2ltcGxlKSB7XG4gICAgICAkY29udGVudC5wdXNoKHRoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcsIHt9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEJ1aWxkIHRoZSBgPGNhcHRpb24+YCAoZnJvbSBjYXB0aW9uIG1peGluKVxuICAgICAgJGNvbnRlbnQucHVzaCh0aGlzLnJlbmRlckNhcHRpb24gPyB0aGlzLnJlbmRlckNhcHRpb24oKSA6IG51bGwpOyAvLyBCdWlsZCB0aGUgYDxjb2xncm91cD5gXG5cbiAgICAgICRjb250ZW50LnB1c2godGhpcy5yZW5kZXJDb2xncm91cCA/IHRoaXMucmVuZGVyQ29sZ3JvdXAoKSA6IG51bGwpOyAvLyBCdWlsZCB0aGUgYDx0aGVhZD5gXG5cbiAgICAgICRjb250ZW50LnB1c2godGhpcy5yZW5kZXJUaGVhZCA/IHRoaXMucmVuZGVyVGhlYWQoKSA6IG51bGwpOyAvLyBCdWlsZCB0aGUgYDx0Ym9keT5gXG5cbiAgICAgICRjb250ZW50LnB1c2godGhpcy5yZW5kZXJUYm9keSA/IHRoaXMucmVuZGVyVGJvZHkoKSA6IG51bGwpOyAvLyBCdWlsZCB0aGUgYDx0Zm9vdD5gXG5cbiAgICAgICRjb250ZW50LnB1c2godGhpcy5yZW5kZXJUZm9vdCA/IHRoaXMucmVuZGVyVGZvb3QoKSA6IG51bGwpO1xuICAgIH0gLy8gQXNzZW1ibGUgYDx0YWJsZT5gXG5cblxuICAgIHZhciAkdGFibGUgPSBoKCd0YWJsZScsIHtcbiAgICAgIGtleTogJ2ItdGFibGUnLFxuICAgICAgc3RhdGljQ2xhc3M6ICd0YWJsZSBiLXRhYmxlJyxcbiAgICAgIGNsYXNzOiB0aGlzLnRhYmxlQ2xhc3NlcyxcbiAgICAgIGF0dHJzOiB0aGlzLnRhYmxlQXR0cnNcbiAgICB9LCAkY29udGVudC5maWx0ZXIoQm9vbGVhbikpOyAvLyBBZGQgcmVzcG9uc2l2ZS9zdGlja3kgd3JhcHBlciBpZiBuZWVkZWQgYW5kIHJldHVybiB0YWJsZVxuXG4gICAgcmV0dXJuIHRoaXMud3JhcHBlckNsYXNzZXMubGVuZ3RoID4gMCA/IGgoJ2RpdicsIHtcbiAgICAgIGtleTogJ3dyYXAnLFxuICAgICAgY2xhc3M6IHRoaXMud3JhcHBlckNsYXNzZXMsXG4gICAgICBzdHlsZTogdGhpcy53cmFwcGVyU3R5bGVzXG4gICAgfSwgWyR0YWJsZV0pIDogJHRhYmxlO1xuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvaGVscGVycy9taXhpbi10YWJsZS1yZW5kZXJlci5qc1xuLy8gbW9kdWxlIGlkID0gOTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///90\n"); + +/***/ }), +/* 91 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BToast; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_portal_vue__ = __webpack_require__(216);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_portal_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_portal_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_bv_transition__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_bv_event_class__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_listen_on_root__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mixins_scoped_style_attrs__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__toaster__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__button_button_close__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__link_link__ = __webpack_require__(14);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n\n\n\n\n // --- Constants ---\n\nvar NAME = 'BToast';\nvar MIN_DURATION = 1000;\nvar EVENT_OPTIONS = {\n passive: true,\n capture: false\n}; // --- Props ---\n\nvar props = {\n id: {\n // Even though the ID prop is provided by idMixin, we\n // add it here for $bvToast props filtering\n type: String,\n default: null\n },\n title: {\n type: String,\n default: null\n },\n toaster: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'toaster');\n }\n },\n visible: {\n type: Boolean,\n default: false\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n isStatus: {\n // Switches role to 'status' and aria-live to 'polite'\n type: Boolean,\n default: false\n },\n appendToast: {\n type: Boolean,\n default: false\n },\n noAutoHide: {\n type: Boolean,\n default: false\n },\n autoHideDelay: {\n type: [Number, String],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'autoHideDelay');\n }\n },\n noCloseButton: {\n type: Boolean,\n default: false\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noHoverPause: {\n type: Boolean,\n default: false\n },\n solid: {\n type: Boolean,\n default: false\n },\n toastClass: {\n type: [String, Object, Array],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'toastClass');\n }\n },\n headerClass: {\n type: [String, Object, Array],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'headerClass');\n }\n },\n bodyClass: {\n type: [String, Object, Array],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'bodyClass');\n }\n },\n href: {\n type: String,\n default: null\n },\n to: {\n type: [String, Object],\n default: null\n },\n static: {\n // Render the toast in place, rather than in a portal-target\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nvar BToast =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_6__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_7__mixins_listen_on_root__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_8__mixins_normalize_slot__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_9__mixins_scoped_style_attrs__[\"a\" /* default */]],\n inheritAttrs: false,\n model: {\n prop: 'visible',\n event: 'change'\n },\n props: props,\n data: function data() {\n return {\n isMounted: false,\n doRender: false,\n localShow: false,\n isTransitioning: false,\n isHiding: false,\n order: 0,\n timer: null,\n dismissStarted: 0,\n resumeDismiss: 0\n };\n },\n computed: {\n bToastClasses: function bToastClasses() {\n return _defineProperty({\n 'b-toast-solid': this.solid,\n 'b-toast-append': this.appendToast,\n 'b-toast-prepend': !this.appendToast\n }, \"b-toast-\".concat(this.variant), this.variant);\n },\n slotScope: function slotScope() {\n return {\n hide: this.hide\n };\n },\n computedDuration: function computedDuration() {\n // Minimum supported duration is 1 second\n return Math.max(parseInt(this.autoHideDelay, 10) || 0, MIN_DURATION);\n },\n computedToaster: function computedToaster() {\n return String(this.toaster);\n },\n transitionHandlers: function transitionHandlers() {\n return {\n beforeEnter: this.onBeforeEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n afterLeave: this.onAfterLeave\n };\n }\n },\n watch: {\n visible: function visible(newVal) {\n newVal ? this.show() : this.hide();\n },\n localShow: function localShow(newVal) {\n if (newVal !== this.visible) {\n this.$emit('change', newVal);\n }\n },\n toaster: function toaster(newVal)\n /* istanbul ignore next */\n {\n var _this = this;\n\n // If toaster target changed, make sure toaster exists\n this.$nextTick(function () {\n return _this.ensureToaster;\n });\n },\n static: function _static(newVal)\n /* istanbul ignore next */\n {\n // If static changes to true, and the toast is showing,\n // ensure the toaster target exists\n if (newVal && this.localShow) {\n this.ensureToaster();\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.isMounted = true;\n this.$nextTick(function () {\n if (_this2.visible) {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"w\" /* requestAF */])(function () {\n _this2.show();\n });\n }\n }); // Listen for global $root show events\n\n this.listenOnRoot('bv::show::toast', function (id) {\n if (id === _this2.safeId()) {\n _this2.show();\n }\n }); // Listen for global $root hide events\n\n this.listenOnRoot('bv::hide::toast', function (id) {\n if (!id || id === _this2.safeId()) {\n _this2.hide();\n }\n }); // Make sure we hide when toaster is destroyed\n\n /* istanbul ignore next: difficult to test */\n\n this.listenOnRoot('bv::toaster::destroyed', function (toaster) {\n /* istanbul ignore next */\n if (toaster === _this2.computedToaster) {\n /* istanbul ignore next */\n _this2.hide();\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDismissTimer();\n },\n methods: {\n show: function show() {\n var _this3 = this;\n\n if (!this.localShow) {\n this.ensureToaster();\n var showEvt = this.buildEvent('show');\n this.emitEvent(showEvt);\n this.dismissStarted = this.resumeDismiss = 0;\n this.order = Date.now() * (this.appendToast ? 1 : -1);\n this.isHiding = false;\n this.doRender = true;\n this.$nextTick(function () {\n // We show the toast after we have rendered the portal and b-toast wrapper\n // so that screen readers will properly announce the toast\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"w\" /* requestAF */])(function () {\n _this3.localShow = true;\n });\n });\n }\n },\n hide: function hide() {\n var _this4 = this;\n\n if (this.localShow) {\n var hideEvt = this.buildEvent('hide');\n this.emitEvent(hideEvt);\n this.setHoverHandler(false);\n this.dismissStarted = this.resumeDismiss = 0;\n this.clearDismissTimer();\n this.isHiding = true;\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"w\" /* requestAF */])(function () {\n _this4.localShow = false;\n });\n }\n },\n buildEvent: function buildEvent(type) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new __WEBPACK_IMPORTED_MODULE_3__utils_bv_event_class__[\"a\" /* BvEvent */](type, _objectSpread({\n cancelable: false,\n target: this.$el || null,\n relatedTarget: null\n }, opts, {\n vueTarget: this,\n componentId: this.safeId()\n }));\n },\n emitEvent: function emitEvent(bvEvt) {\n var type = bvEvt.type;\n this.$root.$emit(\"bv::toast:\".concat(type), bvEvt);\n this.$emit(type, bvEvt);\n },\n ensureToaster: function ensureToaster() {\n if (this.static) {\n return;\n }\n\n if (!__WEBPACK_IMPORTED_MODULE_1_portal_vue__[\"Wormhole\"].hasTarget(this.computedToaster)) {\n var div = document.createElement('div');\n document.body.appendChild(div);\n var toaster = new __WEBPACK_IMPORTED_MODULE_10__toaster__[\"a\" /* BToaster */]({\n parent: this.$root,\n propsData: {\n name: this.computedToaster\n }\n });\n toaster.$mount(div);\n }\n },\n startDismissTimer: function startDismissTimer() {\n this.clearDismissTimer();\n\n if (!this.noAutoHide) {\n this.timer = setTimeout(this.hide, this.resumeDismiss || this.computedDuration);\n this.dismissStarted = Date.now();\n this.resumeDismiss = 0;\n }\n },\n clearDismissTimer: function clearDismissTimer() {\n clearTimeout(this.timer);\n this.timer = null;\n },\n setHoverHandler: function setHoverHandler(on) {\n var method = on ? __WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"f\" /* eventOn */] : __WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"e\" /* eventOff */];\n var el = this.$refs['b-toast'];\n method(el, 'mouseenter', this.onPause, EVENT_OPTIONS);\n method(el, 'mouseleave', this.onUnPause, EVENT_OPTIONS);\n },\n onPause: function onPause(evt) {\n // Determine time remaining, and then pause timer\n if (this.noAutoHide || this.noHoverPause || !this.timer || this.resumeDismiss) {\n return;\n }\n\n var passed = Date.now() - this.dismissStarted;\n\n if (passed > 0) {\n this.clearDismissTimer();\n this.resumeDismiss = Math.max(this.computedDuration - passed, MIN_DURATION);\n }\n },\n onUnPause: function onUnPause(evt) {\n // Restart timer with max of time remaining or 1 second\n if (this.noAutoHide || this.noHoverPause || !this.resumeDismiss) {\n this.resumeDismiss = this.dismissStarted = 0;\n return;\n }\n\n this.startDismissTimer();\n },\n onLinkClick: function onLinkClick() {\n var _this5 = this;\n\n // We delay the close to allow time for the\n // browser to process the link click\n this.$nextTick(function () {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"w\" /* requestAF */])(function () {\n _this5.hide();\n });\n });\n },\n onBeforeEnter: function onBeforeEnter() {\n this.isTransitioning = true;\n },\n onAfterEnter: function onAfterEnter() {\n this.isTransitioning = false;\n var hiddenEvt = this.buildEvent('shown');\n this.emitEvent(hiddenEvt);\n this.startDismissTimer();\n this.setHoverHandler(true);\n },\n onBeforeLeave: function onBeforeLeave() {\n this.isTransitioning = true;\n },\n onAfterLeave: function onAfterLeave() {\n this.isTransitioning = false;\n this.order = 0;\n this.resumeDismiss = this.dismissStarted = 0;\n var hiddenEvt = this.buildEvent('hidden');\n this.emitEvent(hiddenEvt);\n this.doRender = false;\n },\n makeToast: function makeToast(h) {\n var _this6 = this;\n\n // Render helper for generating the toast\n // Assemble the header content\n var $headerContent = [];\n var $title = this.normalizeSlot('toast-title', this.slotScope);\n\n if ($title) {\n $headerContent.push($title);\n } else if (this.title) {\n $headerContent.push(h('strong', {\n staticClass: 'mr-2'\n }, this.title));\n }\n\n if (!this.noCloseButton) {\n $headerContent.push(h(__WEBPACK_IMPORTED_MODULE_11__button_button_close__[\"a\" /* BButtonClose */], {\n staticClass: 'ml-auto mb-1',\n on: {\n click: function click(evt) {\n _this6.hide();\n }\n }\n }));\n } // Assemble the header (if needed)\n\n\n var $header = h();\n\n if ($headerContent.length > 0) {\n $header = h('header', {\n staticClass: 'toast-header',\n class: this.headerClass\n }, $headerContent);\n } // Toast body\n\n\n var isLink = this.href || this.to;\n var $body = h(isLink ? __WEBPACK_IMPORTED_MODULE_12__link_link__[\"a\" /* BLink */] : 'div', {\n staticClass: 'toast-body',\n class: this.bodyClass,\n props: isLink ? {\n to: this.to,\n href: this.href\n } : {},\n on: isLink ? {\n click: this.onLinkClick\n } : {}\n }, [this.normalizeSlot('default', this.slotScope) || h()]); // Build the toast\n\n var $toast = h('div', {\n key: \"toast-\".concat(this._uid),\n ref: 'toast',\n staticClass: 'toast',\n class: this.toastClass,\n attrs: _objectSpread({}, this.$attrs, {\n tabindex: '0',\n id: this.safeId()\n })\n }, [$header, $body]);\n return $toast;\n }\n },\n render: function render(h) {\n if (!this.doRender || !this.isMounted) {\n return h();\n }\n\n var name = \"b-toast-\".concat(this._uid); // If scoped styles are applied and the toast is not static,\n // make sure the scoped style data attribute is applied\n\n var scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {};\n return h(__WEBPACK_IMPORTED_MODULE_1_portal_vue__[\"Portal\"], {\n props: {\n name: name,\n to: this.computedToaster,\n order: this.order,\n slim: true,\n disabled: this.static\n }\n }, [h('div', {\n key: name,\n ref: 'b-toast',\n staticClass: 'b-toast',\n class: this.bToastClasses,\n attrs: _objectSpread({}, scopedStyleAttrs, {\n id: this.safeId('_toast_outer'),\n role: this.isHiding ? null : this.isStatus ? 'status' : 'alert',\n 'aria-live': this.isHiding ? null : this.isStatus ? 'polite' : 'assertive',\n 'aria-atomic': this.isHiding ? null : 'true'\n })\n }, [h(__WEBPACK_IMPORTED_MODULE_2__utils_bv_transition__[\"b\" /* default */], {\n props: {\n noFade: this.noFade\n },\n on: this.transitionHandlers\n }, [this.localShow ? this.makeToast(h) : h()])])]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b2FzdC90b2FzdC5qcz9kYmE0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNZO0FBQ087QUFDQTtBQUNHO0FBQ087QUFDekI7QUFDc0I7QUFDQztBQUNPO0FBQy9CO0FBQ2lCO0FBQ2pCOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVywyREFBTyxFQUFFLHVFQUFpQixFQUFFLHVFQUFrQixFQUFFLDJFQUFxQjtBQUNoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUSxxRUFBUztBQUNqQjtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUssRUFBRTs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssRUFBRTs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssRUFBRTs7QUFFUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLHFFQUFTO0FBQ25CO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxxRUFBUztBQUNqQjtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsaUJBQWlCLHNFQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxXQUFXLG9EQUFRO0FBQ25CO0FBQ0E7QUFDQSwwQkFBMEIsMkRBQVE7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esd0JBQXdCLDJEQUFPLEdBQUcsNERBQVE7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUSxxRUFBUztBQUNqQjtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQSw4QkFBOEIsMkVBQVk7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87OztBQUdQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87OztBQUdQO0FBQ0EsNkJBQTZCLDBEQUFLO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLEtBQUs7QUFDZDtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU8sMERBQTBEOztBQUVqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNENBQTRDO0FBQzVDOztBQUVBO0FBQ0EsYUFBYSxrREFBTTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEtBQUsscUVBQVk7QUFDdEI7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiOTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBQb3J0YWwsIFdvcm1ob2xlIH0gZnJvbSAncG9ydGFsLXZ1ZSc7XG5pbXBvcnQgQlZUcmFuc2l0aW9uIGZyb20gJy4uLy4uL3V0aWxzL2J2LXRyYW5zaXRpb24nO1xuaW1wb3J0IHsgQnZFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2J2LWV2ZW50LmNsYXNzJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyByZXF1ZXN0QUYsIGV2ZW50T24sIGV2ZW50T2ZmIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCBpZE1peGluIGZyb20gJy4uLy4uL21peGlucy9pZCc7XG5pbXBvcnQgbGlzdGVuT25Sb290TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2xpc3Rlbi1vbi1yb290JztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCBzY29wZWRTdHlsZUF0dHJzTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL3Njb3BlZC1zdHlsZS1hdHRycyc7XG5pbXBvcnQgeyBCVG9hc3RlciB9IGZyb20gJy4vdG9hc3Rlcic7XG5pbXBvcnQgeyBCQnV0dG9uQ2xvc2UgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLWNsb3NlJztcbmltcG9ydCB7IEJMaW5rIH0gZnJvbSAnLi4vbGluay9saW5rJzsgLy8gLS0tIENvbnN0YW50cyAtLS1cblxudmFyIE5BTUUgPSAnQlRvYXN0JztcbnZhciBNSU5fRFVSQVRJT04gPSAxMDAwO1xudmFyIEVWRU5UX09QVElPTlMgPSB7XG4gIHBhc3NpdmU6IHRydWUsXG4gIGNhcHR1cmU6IGZhbHNlXG59OyAvLyAtLS0gUHJvcHMgLS0tXG5cbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIGlkOiB7XG4gICAgLy8gRXZlbiB0aG91Z2ggdGhlIElEIHByb3AgaXMgcHJvdmlkZWQgYnkgaWRNaXhpbiwgd2VcbiAgICAvLyBhZGQgaXQgaGVyZSBmb3IgJGJ2VG9hc3QgcHJvcHMgZmlsdGVyaW5nXG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgdGl0bGU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICB0b2FzdGVyOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAndG9hc3RlcicpO1xuICAgIH1cbiAgfSxcbiAgdmlzaWJsZToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgdmFyaWFudDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ3ZhcmlhbnQnKTtcbiAgICB9XG4gIH0sXG4gIGlzU3RhdHVzOiB7XG4gICAgLy8gU3dpdGNoZXMgcm9sZSB0byAnc3RhdHVzJyBhbmQgYXJpYS1saXZlIHRvICdwb2xpdGUnXG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBhcHBlbmRUb2FzdDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgbm9BdXRvSGlkZToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgYXV0b0hpZGVEZWxheToge1xuICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdhdXRvSGlkZURlbGF5Jyk7XG4gICAgfVxuICB9LFxuICBub0Nsb3NlQnV0dG9uOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBub0ZhZGU6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIG5vSG92ZXJQYXVzZToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgc29saWQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIHRvYXN0Q2xhc3M6IHtcbiAgICB0eXBlOiBbU3RyaW5nLCBPYmplY3QsIEFycmF5XSxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ3RvYXN0Q2xhc3MnKTtcbiAgICB9XG4gIH0sXG4gIGhlYWRlckNsYXNzOiB7XG4gICAgdHlwZTogW1N0cmluZywgT2JqZWN0LCBBcnJheV0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdoZWFkZXJDbGFzcycpO1xuICAgIH1cbiAgfSxcbiAgYm9keUNsYXNzOiB7XG4gICAgdHlwZTogW1N0cmluZywgT2JqZWN0LCBBcnJheV0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdib2R5Q2xhc3MnKTtcbiAgICB9XG4gIH0sXG4gIGhyZWY6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICB0bzoge1xuICAgIHR5cGU6IFtTdHJpbmcsIE9iamVjdF0sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBzdGF0aWM6IHtcbiAgICAvLyBSZW5kZXIgdGhlIHRvYXN0IGluIHBsYWNlLCByYXRoZXIgdGhhbiBpbiBhIHBvcnRhbC10YXJnZXRcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQlRvYXN0ID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBtaXhpbnM6IFtpZE1peGluLCBsaXN0ZW5PblJvb3RNaXhpbiwgbm9ybWFsaXplU2xvdE1peGluLCBzY29wZWRTdHlsZUF0dHJzTWl4aW5dLFxuICBpbmhlcml0QXR0cnM6IGZhbHNlLFxuICBtb2RlbDoge1xuICAgIHByb3A6ICd2aXNpYmxlJyxcbiAgICBldmVudDogJ2NoYW5nZSdcbiAgfSxcbiAgcHJvcHM6IHByb3BzLFxuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpc01vdW50ZWQ6IGZhbHNlLFxuICAgICAgZG9SZW5kZXI6IGZhbHNlLFxuICAgICAgbG9jYWxTaG93OiBmYWxzZSxcbiAgICAgIGlzVHJhbnNpdGlvbmluZzogZmFsc2UsXG4gICAgICBpc0hpZGluZzogZmFsc2UsXG4gICAgICBvcmRlcjogMCxcbiAgICAgIHRpbWVyOiBudWxsLFxuICAgICAgZGlzbWlzc1N0YXJ0ZWQ6IDAsXG4gICAgICByZXN1bWVEaXNtaXNzOiAwXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBiVG9hc3RDbGFzc2VzOiBmdW5jdGlvbiBiVG9hc3RDbGFzc2VzKCkge1xuICAgICAgcmV0dXJuIF9kZWZpbmVQcm9wZXJ0eSh7XG4gICAgICAgICdiLXRvYXN0LXNvbGlkJzogdGhpcy5zb2xpZCxcbiAgICAgICAgJ2ItdG9hc3QtYXBwZW5kJzogdGhpcy5hcHBlbmRUb2FzdCxcbiAgICAgICAgJ2ItdG9hc3QtcHJlcGVuZCc6ICF0aGlzLmFwcGVuZFRvYXN0XG4gICAgICB9LCBcImItdG9hc3QtXCIuY29uY2F0KHRoaXMudmFyaWFudCksIHRoaXMudmFyaWFudCk7XG4gICAgfSxcbiAgICBzbG90U2NvcGU6IGZ1bmN0aW9uIHNsb3RTY29wZSgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGhpZGU6IHRoaXMuaGlkZVxuICAgICAgfTtcbiAgICB9LFxuICAgIGNvbXB1dGVkRHVyYXRpb246IGZ1bmN0aW9uIGNvbXB1dGVkRHVyYXRpb24oKSB7XG4gICAgICAvLyBNaW5pbXVtIHN1cHBvcnRlZCBkdXJhdGlvbiBpcyAxIHNlY29uZFxuICAgICAgcmV0dXJuIE1hdGgubWF4KHBhcnNlSW50KHRoaXMuYXV0b0hpZGVEZWxheSwgMTApIHx8IDAsIE1JTl9EVVJBVElPTik7XG4gICAgfSxcbiAgICBjb21wdXRlZFRvYXN0ZXI6IGZ1bmN0aW9uIGNvbXB1dGVkVG9hc3RlcigpIHtcbiAgICAgIHJldHVybiBTdHJpbmcodGhpcy50b2FzdGVyKTtcbiAgICB9LFxuICAgIHRyYW5zaXRpb25IYW5kbGVyczogZnVuY3Rpb24gdHJhbnNpdGlvbkhhbmRsZXJzKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYmVmb3JlRW50ZXI6IHRoaXMub25CZWZvcmVFbnRlcixcbiAgICAgICAgYWZ0ZXJFbnRlcjogdGhpcy5vbkFmdGVyRW50ZXIsXG4gICAgICAgIGJlZm9yZUxlYXZlOiB0aGlzLm9uQmVmb3JlTGVhdmUsXG4gICAgICAgIGFmdGVyTGVhdmU6IHRoaXMub25BZnRlckxlYXZlXG4gICAgICB9O1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICB2aXNpYmxlOiBmdW5jdGlvbiB2aXNpYmxlKG5ld1ZhbCkge1xuICAgICAgbmV3VmFsID8gdGhpcy5zaG93KCkgOiB0aGlzLmhpZGUoKTtcbiAgICB9LFxuICAgIGxvY2FsU2hvdzogZnVuY3Rpb24gbG9jYWxTaG93KG5ld1ZhbCkge1xuICAgICAgaWYgKG5ld1ZhbCAhPT0gdGhpcy52aXNpYmxlKSB7XG4gICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIG5ld1ZhbCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB0b2FzdGVyOiBmdW5jdGlvbiB0b2FzdGVyKG5ld1ZhbClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIC8vIElmIHRvYXN0ZXIgdGFyZ2V0IGNoYW5nZWQsIG1ha2Ugc3VyZSB0b2FzdGVyIGV4aXN0c1xuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gX3RoaXMuZW5zdXJlVG9hc3RlcjtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgc3RhdGljOiBmdW5jdGlvbiBfc3RhdGljKG5ld1ZhbClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHtcbiAgICAgIC8vIElmIHN0YXRpYyBjaGFuZ2VzIHRvIHRydWUsIGFuZCB0aGUgdG9hc3QgaXMgc2hvd2luZyxcbiAgICAgIC8vIGVuc3VyZSB0aGUgdG9hc3RlciB0YXJnZXQgZXhpc3RzXG4gICAgICBpZiAobmV3VmFsICYmIHRoaXMubG9jYWxTaG93KSB7XG4gICAgICAgIHRoaXMuZW5zdXJlVG9hc3RlcigpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHRoaXMuaXNNb3VudGVkID0gdHJ1ZTtcbiAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoX3RoaXMyLnZpc2libGUpIHtcbiAgICAgICAgcmVxdWVzdEFGKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBfdGhpczIuc2hvdygpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTsgLy8gTGlzdGVuIGZvciBnbG9iYWwgJHJvb3Qgc2hvdyBldmVudHNcblxuICAgIHRoaXMubGlzdGVuT25Sb290KCdidjo6c2hvdzo6dG9hc3QnLCBmdW5jdGlvbiAoaWQpIHtcbiAgICAgIGlmIChpZCA9PT0gX3RoaXMyLnNhZmVJZCgpKSB7XG4gICAgICAgIF90aGlzMi5zaG93KCk7XG4gICAgICB9XG4gICAgfSk7IC8vIExpc3RlbiBmb3IgZ2xvYmFsICRyb290IGhpZGUgZXZlbnRzXG5cbiAgICB0aGlzLmxpc3Rlbk9uUm9vdCgnYnY6OmhpZGU6OnRvYXN0JywgZnVuY3Rpb24gKGlkKSB7XG4gICAgICBpZiAoIWlkIHx8IGlkID09PSBfdGhpczIuc2FmZUlkKCkpIHtcbiAgICAgICAgX3RoaXMyLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gTWFrZSBzdXJlIHdlIGhpZGUgd2hlbiB0b2FzdGVyIGlzIGRlc3Ryb3llZFxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGRpZmZpY3VsdCB0byB0ZXN0ICovXG5cbiAgICB0aGlzLmxpc3Rlbk9uUm9vdCgnYnY6OnRvYXN0ZXI6OmRlc3Ryb3llZCcsIGZ1bmN0aW9uICh0b2FzdGVyKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgaWYgKHRvYXN0ZXIgPT09IF90aGlzMi5jb21wdXRlZFRvYXN0ZXIpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgX3RoaXMyLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSxcbiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsZWFyRGlzbWlzc1RpbWVyKCk7XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBzaG93OiBmdW5jdGlvbiBzaG93KCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIGlmICghdGhpcy5sb2NhbFNob3cpIHtcbiAgICAgICAgdGhpcy5lbnN1cmVUb2FzdGVyKCk7XG4gICAgICAgIHZhciBzaG93RXZ0ID0gdGhpcy5idWlsZEV2ZW50KCdzaG93Jyk7XG4gICAgICAgIHRoaXMuZW1pdEV2ZW50KHNob3dFdnQpO1xuICAgICAgICB0aGlzLmRpc21pc3NTdGFydGVkID0gdGhpcy5yZXN1bWVEaXNtaXNzID0gMDtcbiAgICAgICAgdGhpcy5vcmRlciA9IERhdGUubm93KCkgKiAodGhpcy5hcHBlbmRUb2FzdCA/IDEgOiAtMSk7XG4gICAgICAgIHRoaXMuaXNIaWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kb1JlbmRlciA9IHRydWU7XG4gICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBXZSBzaG93IHRoZSB0b2FzdCBhZnRlciB3ZSBoYXZlIHJlbmRlcmVkIHRoZSBwb3J0YWwgYW5kIGItdG9hc3Qgd3JhcHBlclxuICAgICAgICAgIC8vIHNvIHRoYXQgc2NyZWVuIHJlYWRlcnMgd2lsbCBwcm9wZXJseSBhbm5vdW5jZSB0aGUgdG9hc3RcbiAgICAgICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgX3RoaXMzLmxvY2FsU2hvdyA9IHRydWU7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgaGlkZTogZnVuY3Rpb24gaGlkZSgpIHtcbiAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICBpZiAodGhpcy5sb2NhbFNob3cpIHtcbiAgICAgICAgdmFyIGhpZGVFdnQgPSB0aGlzLmJ1aWxkRXZlbnQoJ2hpZGUnKTtcbiAgICAgICAgdGhpcy5lbWl0RXZlbnQoaGlkZUV2dCk7XG4gICAgICAgIHRoaXMuc2V0SG92ZXJIYW5kbGVyKGZhbHNlKTtcbiAgICAgICAgdGhpcy5kaXNtaXNzU3RhcnRlZCA9IHRoaXMucmVzdW1lRGlzbWlzcyA9IDA7XG4gICAgICAgIHRoaXMuY2xlYXJEaXNtaXNzVGltZXIoKTtcbiAgICAgICAgdGhpcy5pc0hpZGluZyA9IHRydWU7XG4gICAgICAgIHJlcXVlc3RBRihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgX3RoaXM0LmxvY2FsU2hvdyA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGJ1aWxkRXZlbnQ6IGZ1bmN0aW9uIGJ1aWxkRXZlbnQodHlwZSkge1xuICAgICAgdmFyIG9wdHMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICAgICAgcmV0dXJuIG5ldyBCdkV2ZW50KHR5cGUsIF9vYmplY3RTcHJlYWQoe1xuICAgICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcbiAgICAgICAgdGFyZ2V0OiB0aGlzLiRlbCB8fCBudWxsLFxuICAgICAgICByZWxhdGVkVGFyZ2V0OiBudWxsXG4gICAgICB9LCBvcHRzLCB7XG4gICAgICAgIHZ1ZVRhcmdldDogdGhpcyxcbiAgICAgICAgY29tcG9uZW50SWQ6IHRoaXMuc2FmZUlkKClcbiAgICAgIH0pKTtcbiAgICB9LFxuICAgIGVtaXRFdmVudDogZnVuY3Rpb24gZW1pdEV2ZW50KGJ2RXZ0KSB7XG4gICAgICB2YXIgdHlwZSA9IGJ2RXZ0LnR5cGU7XG4gICAgICB0aGlzLiRyb290LiRlbWl0KFwiYnY6OnRvYXN0OlwiLmNvbmNhdCh0eXBlKSwgYnZFdnQpO1xuICAgICAgdGhpcy4kZW1pdCh0eXBlLCBidkV2dCk7XG4gICAgfSxcbiAgICBlbnN1cmVUb2FzdGVyOiBmdW5jdGlvbiBlbnN1cmVUb2FzdGVyKCkge1xuICAgICAgaWYgKHRoaXMuc3RhdGljKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFXb3JtaG9sZS5oYXNUYXJnZXQodGhpcy5jb21wdXRlZFRvYXN0ZXIpKSB7XG4gICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpO1xuICAgICAgICB2YXIgdG9hc3RlciA9IG5ldyBCVG9hc3Rlcih7XG4gICAgICAgICAgcGFyZW50OiB0aGlzLiRyb290LFxuICAgICAgICAgIHByb3BzRGF0YToge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5jb21wdXRlZFRvYXN0ZXJcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0b2FzdGVyLiRtb3VudChkaXYpO1xuICAgICAgfVxuICAgIH0sXG4gICAgc3RhcnREaXNtaXNzVGltZXI6IGZ1bmN0aW9uIHN0YXJ0RGlzbWlzc1RpbWVyKCkge1xuICAgICAgdGhpcy5jbGVhckRpc21pc3NUaW1lcigpO1xuXG4gICAgICBpZiAoIXRoaXMubm9BdXRvSGlkZSkge1xuICAgICAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dCh0aGlzLmhpZGUsIHRoaXMucmVzdW1lRGlzbWlzcyB8fCB0aGlzLmNvbXB1dGVkRHVyYXRpb24pO1xuICAgICAgICB0aGlzLmRpc21pc3NTdGFydGVkID0gRGF0ZS5ub3coKTtcbiAgICAgICAgdGhpcy5yZXN1bWVEaXNtaXNzID0gMDtcbiAgICAgIH1cbiAgICB9LFxuICAgIGNsZWFyRGlzbWlzc1RpbWVyOiBmdW5jdGlvbiBjbGVhckRpc21pc3NUaW1lcigpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuICAgIH0sXG4gICAgc2V0SG92ZXJIYW5kbGVyOiBmdW5jdGlvbiBzZXRIb3ZlckhhbmRsZXIob24pIHtcbiAgICAgIHZhciBtZXRob2QgPSBvbiA/IGV2ZW50T24gOiBldmVudE9mZjtcbiAgICAgIHZhciBlbCA9IHRoaXMuJHJlZnNbJ2ItdG9hc3QnXTtcbiAgICAgIG1ldGhvZChlbCwgJ21vdXNlZW50ZXInLCB0aGlzLm9uUGF1c2UsIEVWRU5UX09QVElPTlMpO1xuICAgICAgbWV0aG9kKGVsLCAnbW91c2VsZWF2ZScsIHRoaXMub25VblBhdXNlLCBFVkVOVF9PUFRJT05TKTtcbiAgICB9LFxuICAgIG9uUGF1c2U6IGZ1bmN0aW9uIG9uUGF1c2UoZXZ0KSB7XG4gICAgICAvLyBEZXRlcm1pbmUgdGltZSByZW1haW5pbmcsIGFuZCB0aGVuIHBhdXNlIHRpbWVyXG4gICAgICBpZiAodGhpcy5ub0F1dG9IaWRlIHx8IHRoaXMubm9Ib3ZlclBhdXNlIHx8ICF0aGlzLnRpbWVyIHx8IHRoaXMucmVzdW1lRGlzbWlzcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBwYXNzZWQgPSBEYXRlLm5vdygpIC0gdGhpcy5kaXNtaXNzU3RhcnRlZDtcblxuICAgICAgaWYgKHBhc3NlZCA+IDApIHtcbiAgICAgICAgdGhpcy5jbGVhckRpc21pc3NUaW1lcigpO1xuICAgICAgICB0aGlzLnJlc3VtZURpc21pc3MgPSBNYXRoLm1heCh0aGlzLmNvbXB1dGVkRHVyYXRpb24gLSBwYXNzZWQsIE1JTl9EVVJBVElPTik7XG4gICAgICB9XG4gICAgfSxcbiAgICBvblVuUGF1c2U6IGZ1bmN0aW9uIG9uVW5QYXVzZShldnQpIHtcbiAgICAgIC8vIFJlc3RhcnQgdGltZXIgd2l0aCBtYXggb2YgdGltZSByZW1haW5pbmcgb3IgMSBzZWNvbmRcbiAgICAgIGlmICh0aGlzLm5vQXV0b0hpZGUgfHwgdGhpcy5ub0hvdmVyUGF1c2UgfHwgIXRoaXMucmVzdW1lRGlzbWlzcykge1xuICAgICAgICB0aGlzLnJlc3VtZURpc21pc3MgPSB0aGlzLmRpc21pc3NTdGFydGVkID0gMDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnN0YXJ0RGlzbWlzc1RpbWVyKCk7XG4gICAgfSxcbiAgICBvbkxpbmtDbGljazogZnVuY3Rpb24gb25MaW5rQ2xpY2soKSB7XG4gICAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgICAgLy8gV2UgZGVsYXkgdGhlIGNsb3NlIHRvIGFsbG93IHRpbWUgZm9yIHRoZVxuICAgICAgLy8gYnJvd3NlciB0byBwcm9jZXNzIHRoZSBsaW5rIGNsaWNrXG4gICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJlcXVlc3RBRihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgX3RoaXM1LmhpZGUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIG9uQmVmb3JlRW50ZXI6IGZ1bmN0aW9uIG9uQmVmb3JlRW50ZXIoKSB7XG4gICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IHRydWU7XG4gICAgfSxcbiAgICBvbkFmdGVyRW50ZXI6IGZ1bmN0aW9uIG9uQWZ0ZXJFbnRlcigpIHtcbiAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG4gICAgICB2YXIgaGlkZGVuRXZ0ID0gdGhpcy5idWlsZEV2ZW50KCdzaG93bicpO1xuICAgICAgdGhpcy5lbWl0RXZlbnQoaGlkZGVuRXZ0KTtcbiAgICAgIHRoaXMuc3RhcnREaXNtaXNzVGltZXIoKTtcbiAgICAgIHRoaXMuc2V0SG92ZXJIYW5kbGVyKHRydWUpO1xuICAgIH0sXG4gICAgb25CZWZvcmVMZWF2ZTogZnVuY3Rpb24gb25CZWZvcmVMZWF2ZSgpIHtcbiAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gdHJ1ZTtcbiAgICB9LFxuICAgIG9uQWZ0ZXJMZWF2ZTogZnVuY3Rpb24gb25BZnRlckxlYXZlKCkge1xuICAgICAgdGhpcy5pc1RyYW5zaXRpb25pbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMub3JkZXIgPSAwO1xuICAgICAgdGhpcy5yZXN1bWVEaXNtaXNzID0gdGhpcy5kaXNtaXNzU3RhcnRlZCA9IDA7XG4gICAgICB2YXIgaGlkZGVuRXZ0ID0gdGhpcy5idWlsZEV2ZW50KCdoaWRkZW4nKTtcbiAgICAgIHRoaXMuZW1pdEV2ZW50KGhpZGRlbkV2dCk7XG4gICAgICB0aGlzLmRvUmVuZGVyID0gZmFsc2U7XG4gICAgfSxcbiAgICBtYWtlVG9hc3Q6IGZ1bmN0aW9uIG1ha2VUb2FzdChoKSB7XG4gICAgICB2YXIgX3RoaXM2ID0gdGhpcztcblxuICAgICAgLy8gUmVuZGVyIGhlbHBlciBmb3IgZ2VuZXJhdGluZyB0aGUgdG9hc3RcbiAgICAgIC8vIEFzc2VtYmxlIHRoZSBoZWFkZXIgY29udGVudFxuICAgICAgdmFyICRoZWFkZXJDb250ZW50ID0gW107XG4gICAgICB2YXIgJHRpdGxlID0gdGhpcy5ub3JtYWxpemVTbG90KCd0b2FzdC10aXRsZScsIHRoaXMuc2xvdFNjb3BlKTtcblxuICAgICAgaWYgKCR0aXRsZSkge1xuICAgICAgICAkaGVhZGVyQ29udGVudC5wdXNoKCR0aXRsZSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudGl0bGUpIHtcbiAgICAgICAgJGhlYWRlckNvbnRlbnQucHVzaChoKCdzdHJvbmcnLCB7XG4gICAgICAgICAgc3RhdGljQ2xhc3M6ICdtci0yJ1xuICAgICAgICB9LCB0aGlzLnRpdGxlKSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5ub0Nsb3NlQnV0dG9uKSB7XG4gICAgICAgICRoZWFkZXJDb250ZW50LnB1c2goaChCQnV0dG9uQ2xvc2UsIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogJ21sLWF1dG8gbWItMScsXG4gICAgICAgICAgb246IHtcbiAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbiBjbGljayhldnQpIHtcbiAgICAgICAgICAgICAgX3RoaXM2LmhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICAgIH0gLy8gQXNzZW1ibGUgdGhlIGhlYWRlciAoaWYgbmVlZGVkKVxuXG5cbiAgICAgIHZhciAkaGVhZGVyID0gaCgpO1xuXG4gICAgICBpZiAoJGhlYWRlckNvbnRlbnQubGVuZ3RoID4gMCkge1xuICAgICAgICAkaGVhZGVyID0gaCgnaGVhZGVyJywge1xuICAgICAgICAgIHN0YXRpY0NsYXNzOiAndG9hc3QtaGVhZGVyJyxcbiAgICAgICAgICBjbGFzczogdGhpcy5oZWFkZXJDbGFzc1xuICAgICAgICB9LCAkaGVhZGVyQ29udGVudCk7XG4gICAgICB9IC8vIFRvYXN0IGJvZHlcblxuXG4gICAgICB2YXIgaXNMaW5rID0gdGhpcy5ocmVmIHx8IHRoaXMudG87XG4gICAgICB2YXIgJGJvZHkgPSBoKGlzTGluayA/IEJMaW5rIDogJ2RpdicsIHtcbiAgICAgICAgc3RhdGljQ2xhc3M6ICd0b2FzdC1ib2R5JyxcbiAgICAgICAgY2xhc3M6IHRoaXMuYm9keUNsYXNzLFxuICAgICAgICBwcm9wczogaXNMaW5rID8ge1xuICAgICAgICAgIHRvOiB0aGlzLnRvLFxuICAgICAgICAgIGhyZWY6IHRoaXMuaHJlZlxuICAgICAgICB9IDoge30sXG4gICAgICAgIG9uOiBpc0xpbmsgPyB7XG4gICAgICAgICAgY2xpY2s6IHRoaXMub25MaW5rQ2xpY2tcbiAgICAgICAgfSA6IHt9XG4gICAgICB9LCBbdGhpcy5ub3JtYWxpemVTbG90KCdkZWZhdWx0JywgdGhpcy5zbG90U2NvcGUpIHx8IGgoKV0pOyAvLyBCdWlsZCB0aGUgdG9hc3RcblxuICAgICAgdmFyICR0b2FzdCA9IGgoJ2RpdicsIHtcbiAgICAgICAga2V5OiBcInRvYXN0LVwiLmNvbmNhdCh0aGlzLl91aWQpLFxuICAgICAgICByZWY6ICd0b2FzdCcsXG4gICAgICAgIHN0YXRpY0NsYXNzOiAndG9hc3QnLFxuICAgICAgICBjbGFzczogdGhpcy50b2FzdENsYXNzLFxuICAgICAgICBhdHRyczogX29iamVjdFNwcmVhZCh7fSwgdGhpcy4kYXR0cnMsIHtcbiAgICAgICAgICB0YWJpbmRleDogJzAnLFxuICAgICAgICAgIGlkOiB0aGlzLnNhZmVJZCgpXG4gICAgICAgIH0pXG4gICAgICB9LCBbJGhlYWRlciwgJGJvZHldKTtcbiAgICAgIHJldHVybiAkdG9hc3Q7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgaWYgKCF0aGlzLmRvUmVuZGVyIHx8ICF0aGlzLmlzTW91bnRlZCkge1xuICAgICAgcmV0dXJuIGgoKTtcbiAgICB9XG5cbiAgICB2YXIgbmFtZSA9IFwiYi10b2FzdC1cIi5jb25jYXQodGhpcy5fdWlkKTsgLy8gSWYgc2NvcGVkIHN0eWxlcyBhcmUgYXBwbGllZCBhbmQgdGhlIHRvYXN0IGlzIG5vdCBzdGF0aWMsXG4gICAgLy8gbWFrZSBzdXJlIHRoZSBzY29wZWQgc3R5bGUgZGF0YSBhdHRyaWJ1dGUgaXMgYXBwbGllZFxuXG4gICAgdmFyIHNjb3BlZFN0eWxlQXR0cnMgPSAhdGhpcy5zdGF0aWMgPyB0aGlzLnNjb3BlZFN0eWxlQXR0cnMgOiB7fTtcbiAgICByZXR1cm4gaChQb3J0YWwsIHtcbiAgICAgIHByb3BzOiB7XG4gICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgIHRvOiB0aGlzLmNvbXB1dGVkVG9hc3RlcixcbiAgICAgICAgb3JkZXI6IHRoaXMub3JkZXIsXG4gICAgICAgIHNsaW06IHRydWUsXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLnN0YXRpY1xuICAgICAgfVxuICAgIH0sIFtoKCdkaXYnLCB7XG4gICAgICBrZXk6IG5hbWUsXG4gICAgICByZWY6ICdiLXRvYXN0JyxcbiAgICAgIHN0YXRpY0NsYXNzOiAnYi10b2FzdCcsXG4gICAgICBjbGFzczogdGhpcy5iVG9hc3RDbGFzc2VzLFxuICAgICAgYXR0cnM6IF9vYmplY3RTcHJlYWQoe30sIHNjb3BlZFN0eWxlQXR0cnMsIHtcbiAgICAgICAgaWQ6IHRoaXMuc2FmZUlkKCdfdG9hc3Rfb3V0ZXInKSxcbiAgICAgICAgcm9sZTogdGhpcy5pc0hpZGluZyA/IG51bGwgOiB0aGlzLmlzU3RhdHVzID8gJ3N0YXR1cycgOiAnYWxlcnQnLFxuICAgICAgICAnYXJpYS1saXZlJzogdGhpcy5pc0hpZGluZyA/IG51bGwgOiB0aGlzLmlzU3RhdHVzID8gJ3BvbGl0ZScgOiAnYXNzZXJ0aXZlJyxcbiAgICAgICAgJ2FyaWEtYXRvbWljJzogdGhpcy5pc0hpZGluZyA/IG51bGwgOiAndHJ1ZSdcbiAgICAgIH0pXG4gICAgfSwgW2goQlZUcmFuc2l0aW9uLCB7XG4gICAgICBwcm9wczoge1xuICAgICAgICBub0ZhZGU6IHRoaXMubm9GYWRlXG4gICAgICB9LFxuICAgICAgb246IHRoaXMudHJhbnNpdGlvbkhhbmRsZXJzXG4gICAgfSwgW3RoaXMubG9jYWxTaG93ID8gdGhpcy5tYWtlVG9hc3QoaCkgOiBoKCldKV0pXSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuanNcbi8vIG1vZHVsZSBpZCA9IDkxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///91\n"); + +/***/ }), +/* 92 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* unused harmony export DefaultTransition */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BToaster; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_portal_vue__ = __webpack_require__(216);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_portal_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_portal_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_dom__ = __webpack_require__(6);\n\n\n\n\n // --- Constants ---\n\nvar NAME = 'BToaster';\nvar props = {\n name: {\n type: String,\n required: true\n },\n ariaLive: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'ariaLive');\n }\n },\n ariaAtomic: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'ariaAtomic');\n } // Allowed: 'true' or 'false' or null\n\n },\n role: {\n // Aria role\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'role');\n }\n }\n /*\n transition: {\n type: [Boolean, String, Object],\n default: false\n }\n */\n\n}; // @vue/component\n\nvar DefaultTransition =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n data: function data() {\n return {\n // Transition classes base name\n name: 'b-toaster'\n };\n },\n methods: {\n onAfterEnter: function onAfterEnter(el) {\n var _this = this;\n\n // Handle bug where enter-to class is not removed.\n // Bug is related to portal-vue and transition-groups.\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"w\" /* requestAF */])(function () {\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"v\" /* removeClass */])(el, \"\".concat(_this.name, \"-enter-to\")); // The *-move class is also stuck on elements that moved,\n // but there are no javascript hooks to handle after move.\n });\n }\n },\n render: function render(h) {\n return h('transition-group', {\n props: {\n tag: 'div',\n name: this.name\n },\n on: {\n afterEnter: this.onAfterEnter\n }\n }, this.$slots.default);\n }\n}); // @vue/component\n\nvar BToaster =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n props: props,\n data: function data() {\n return {\n // We don't render on SSR or if a an existing target found\n doRender: false,\n dead: false,\n // Toaster names cannot change once created\n staticName: this.name\n };\n },\n beforeMount: function beforeMount() {\n var _this2 = this;\n\n this.staticName = this.name;\n /* istanbul ignore if */\n\n if (__WEBPACK_IMPORTED_MODULE_1_portal_vue__[\"Wormhole\"].hasTarget(this.staticName)) {\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_warn__[\"a\" /* default */])(\"b-toaster: A <portal-target> with name '\".concat(this.name, \"' already exists in the document.\"));\n this.dead = true;\n } else {\n this.doRender = true;\n this.$once('hook:beforeDestroy', function () {\n // Let toasts made with `this.$bvToast.toast()` know that this toaster\n // is being destroyed and should should also destroy/hide themselves\n _this2.$root.$emit('bv::toaster::destroyed', _this2.staticName);\n });\n }\n },\n destroyed: function destroyed() {\n // Remove from DOM if needed\n\n /* istanbul ignore next: difficult to test */\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n },\n render: function render(h) {\n var $toaster = h('div', {\n class: ['d-none', {\n 'b-dead-toaster': this.dead\n }]\n });\n\n if (this.doRender) {\n var $target = h(__WEBPACK_IMPORTED_MODULE_1_portal_vue__[\"PortalTarget\"], {\n staticClass: 'b-toaster-slot',\n props: {\n name: this.staticName,\n multiple: true,\n tag: 'div',\n slim: false,\n // transition: this.transition || DefaultTransition\n transition: DefaultTransition\n }\n });\n $toaster = h('div', {\n staticClass: 'b-toaster',\n class: [this.staticName],\n attrs: {\n id: this.staticName,\n role: this.role || null,\n // Fallback to null to make sure attribute doesn't exist\n 'aria-live': this.ariaLive,\n 'aria-atomic': this.ariaAtomic\n }\n }, [$target]);\n }\n\n return $toaster;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b2FzdC90b2FzdGVyLmpzP2E1MTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDO0FBQ2tCO0FBQ2hCO0FBQ29CO0FBQ0M7O0FBRXpEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0IsS0FBSzs7QUFFTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU0scUVBQVM7QUFDZixRQUFRLHVFQUFXLHlDQUF5QztBQUM1RDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMsRUFBRTs7QUFFSTtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsUUFBUSxvREFBUTtBQUNoQixNQUFNLG9FQUFJO0FBQ1Y7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQSxzQkFBc0Isd0RBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjkyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgUG9ydGFsVGFyZ2V0LCBXb3JtaG9sZSB9IGZyb20gJ3BvcnRhbC12dWUnO1xuaW1wb3J0IHdhcm4gZnJvbSAnLi4vLi4vdXRpbHMvd2Fybic7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWcnO1xuaW1wb3J0IHsgcmVtb3ZlQ2xhc3MsIHJlcXVlc3RBRiB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbSc7IC8vIC0tLSBDb25zdGFudHMgLS0tXG5cbnZhciBOQU1FID0gJ0JUb2FzdGVyJztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIG5hbWU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgcmVxdWlyZWQ6IHRydWVcbiAgfSxcbiAgYXJpYUxpdmU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdhcmlhTGl2ZScpO1xuICAgIH1cbiAgfSxcbiAgYXJpYUF0b21pYzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2FyaWFBdG9taWMnKTtcbiAgICB9IC8vIEFsbG93ZWQ6ICd0cnVlJyBvciAnZmFsc2UnIG9yIG51bGxcblxuICB9LFxuICByb2xlOiB7XG4gICAgLy8gQXJpYSByb2xlXG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAncm9sZScpO1xuICAgIH1cbiAgfVxuICAvKlxuICB0cmFuc2l0aW9uOiB7XG4gICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZywgT2JqZWN0XSxcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9XG4gICovXG5cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgRGVmYXVsdFRyYW5zaXRpb24gPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIFRyYW5zaXRpb24gY2xhc3NlcyBiYXNlIG5hbWVcbiAgICAgIG5hbWU6ICdiLXRvYXN0ZXInXG4gICAgfTtcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIG9uQWZ0ZXJFbnRlcjogZnVuY3Rpb24gb25BZnRlckVudGVyKGVsKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAvLyBIYW5kbGUgYnVnIHdoZXJlIGVudGVyLXRvIGNsYXNzIGlzIG5vdCByZW1vdmVkLlxuICAgICAgLy8gQnVnIGlzIHJlbGF0ZWQgdG8gcG9ydGFsLXZ1ZSBhbmQgdHJhbnNpdGlvbi1ncm91cHMuXG4gICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICByZW1vdmVDbGFzcyhlbCwgXCJcIi5jb25jYXQoX3RoaXMubmFtZSwgXCItZW50ZXItdG9cIikpOyAvLyBUaGUgKi1tb3ZlIGNsYXNzIGlzIGFsc28gc3R1Y2sgb24gZWxlbWVudHMgdGhhdCBtb3ZlZCxcbiAgICAgICAgLy8gYnV0IHRoZXJlIGFyZSBubyBqYXZhc2NyaXB0IGhvb2tzIHRvIGhhbmRsZSBhZnRlciBtb3ZlLlxuICAgICAgfSk7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgcmV0dXJuIGgoJ3RyYW5zaXRpb24tZ3JvdXAnLCB7XG4gICAgICBwcm9wczoge1xuICAgICAgICB0YWc6ICdkaXYnLFxuICAgICAgICBuYW1lOiB0aGlzLm5hbWVcbiAgICAgIH0sXG4gICAgICBvbjoge1xuICAgICAgICBhZnRlckVudGVyOiB0aGlzLm9uQWZ0ZXJFbnRlclxuICAgICAgfVxuICAgIH0sIHRoaXMuJHNsb3RzLmRlZmF1bHQpO1xuICB9XG59KTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVG9hc3RlciA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgcHJvcHM6IHByb3BzLFxuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICAvLyBXZSBkb24ndCByZW5kZXIgb24gU1NSIG9yIGlmIGEgYW4gZXhpc3RpbmcgdGFyZ2V0IGZvdW5kXG4gICAgICBkb1JlbmRlcjogZmFsc2UsXG4gICAgICBkZWFkOiBmYWxzZSxcbiAgICAgIC8vIFRvYXN0ZXIgbmFtZXMgY2Fubm90IGNoYW5nZSBvbmNlIGNyZWF0ZWRcbiAgICAgIHN0YXRpY05hbWU6IHRoaXMubmFtZVxuICAgIH07XG4gIH0sXG4gIGJlZm9yZU1vdW50OiBmdW5jdGlvbiBiZWZvcmVNb3VudCgpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHRoaXMuc3RhdGljTmFtZSA9IHRoaXMubmFtZTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuICAgIGlmIChXb3JtaG9sZS5oYXNUYXJnZXQodGhpcy5zdGF0aWNOYW1lKSkge1xuICAgICAgd2FybihcImItdG9hc3RlcjogQSA8cG9ydGFsLXRhcmdldD4gd2l0aCBuYW1lICdcIi5jb25jYXQodGhpcy5uYW1lLCBcIicgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGRvY3VtZW50LlwiKSk7XG4gICAgICB0aGlzLmRlYWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRvUmVuZGVyID0gdHJ1ZTtcbiAgICAgIHRoaXMuJG9uY2UoJ2hvb2s6YmVmb3JlRGVzdHJveScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gTGV0IHRvYXN0cyBtYWRlIHdpdGggYHRoaXMuJGJ2VG9hc3QudG9hc3QoKWAga25vdyB0aGF0IHRoaXMgdG9hc3RlclxuICAgICAgICAvLyBpcyBiZWluZyBkZXN0cm95ZWQgYW5kIHNob3VsZCBzaG91bGQgYWxzbyBkZXN0cm95L2hpZGUgdGhlbXNlbHZlc1xuICAgICAgICBfdGhpczIuJHJvb3QuJGVtaXQoJ2J2Ojp0b2FzdGVyOjpkZXN0cm95ZWQnLCBfdGhpczIuc3RhdGljTmFtZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sXG4gIGRlc3Ryb3llZDogZnVuY3Rpb24gZGVzdHJveWVkKCkge1xuICAgIC8vIFJlbW92ZSBmcm9tIERPTSBpZiBuZWVkZWRcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBkaWZmaWN1bHQgdG8gdGVzdCAqL1xuICAgIGlmICh0aGlzLiRlbCAmJiB0aGlzLiRlbC5wYXJlbnROb2RlKSB7XG4gICAgICB0aGlzLiRlbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuJGVsKTtcbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICB2YXIgJHRvYXN0ZXIgPSBoKCdkaXYnLCB7XG4gICAgICBjbGFzczogWydkLW5vbmUnLCB7XG4gICAgICAgICdiLWRlYWQtdG9hc3Rlcic6IHRoaXMuZGVhZFxuICAgICAgfV1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmRvUmVuZGVyKSB7XG4gICAgICB2YXIgJHRhcmdldCA9IGgoUG9ydGFsVGFyZ2V0LCB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiAnYi10b2FzdGVyLXNsb3QnLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIG5hbWU6IHRoaXMuc3RhdGljTmFtZSxcbiAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICB0YWc6ICdkaXYnLFxuICAgICAgICAgIHNsaW06IGZhbHNlLFxuICAgICAgICAgIC8vIHRyYW5zaXRpb246IHRoaXMudHJhbnNpdGlvbiB8fCBEZWZhdWx0VHJhbnNpdGlvblxuICAgICAgICAgIHRyYW5zaXRpb246IERlZmF1bHRUcmFuc2l0aW9uXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgJHRvYXN0ZXIgPSBoKCdkaXYnLCB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiAnYi10b2FzdGVyJyxcbiAgICAgICAgY2xhc3M6IFt0aGlzLnN0YXRpY05hbWVdLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGlkOiB0aGlzLnN0YXRpY05hbWUsXG4gICAgICAgICAgcm9sZTogdGhpcy5yb2xlIHx8IG51bGwsXG4gICAgICAgICAgLy8gRmFsbGJhY2sgdG8gbnVsbCB0byBtYWtlIHN1cmUgYXR0cmlidXRlIGRvZXNuJ3QgZXhpc3RcbiAgICAgICAgICAnYXJpYS1saXZlJzogdGhpcy5hcmlhTGl2ZSxcbiAgICAgICAgICAnYXJpYS1hdG9taWMnOiB0aGlzLmFyaWFBdG9taWNcbiAgICAgICAgfVxuICAgICAgfSwgWyR0YXJnZXRdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJHRvYXN0ZXI7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdG9hc3QvdG9hc3Rlci5qc1xuLy8gbW9kdWxlIGlkID0gOTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///92\n"); + +/***/ }), +/* 93 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBTooltipPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tooltip__ = __webpack_require__(218);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport VBTooltip */\n\n\nvar VBTooltipPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n directives: {\n VBTooltip: __WEBPACK_IMPORTED_MODULE_0__tooltip__[\"a\" /* VBTooltip */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy90b29sdGlwL2luZGV4LmpzP2E4Y2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBc0M7QUFDYztBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGVBQWUsMkRBQVM7QUFDeEI7QUFDQSxDQUFDIiwiZmlsZSI6IjkzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkJUb29sdGlwIH0gZnJvbSAnLi90b29sdGlwJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBWQlRvb2x0aXBQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGRpcmVjdGl2ZXM6IHtcbiAgICBWQlRvb2x0aXA6IFZCVG9vbHRpcFxuICB9XG59KTtcbmV4cG9ydCB7IFZCVG9vbHRpcFBsdWdpbiwgVkJUb29sdGlwIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy90b29sdGlwL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSA5M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///93\n"); + +/***/ }), +/* 94 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__OcrdProcessorList_vue__ = __webpack_require__(230);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__OcrdProjectList_vue__ = __webpack_require__(234);\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n components: {\n OcrdProcessorList: __WEBPACK_IMPORTED_MODULE_0__OcrdProcessorList_vue__[\"a\" /* default */],\n OcrdProjectList: __WEBPACK_IMPORTED_MODULE_1__OcrdProjectList_vue__[\"a\" /* default */]\n },\n data: function data() {\n return {\n repos_raw: [],\n category_filter: [],\n step_filter: []\n };\n },\n\n computed: {\n repos: function repos() {\n return this.repos_raw;\n },\n steps: function steps() {\n return this.all_processors.reduce(function (all, processor) {\n all.push.apply(all, _toConsumableArray(processor.steps.filter(function (step) {\n return all.indexOf(step) == -1;\n })));\n return all;\n }, []);\n },\n categories: function categories() {\n return this.all_processors.reduce(function (all, processor) {\n all.push.apply(all, _toConsumableArray(processor.categories.filter(function (category) {\n return all.indexOf(category) == -1;\n })));\n return all;\n }, []);\n },\n all_processors: function all_processors() {\n return this.repos_raw.reduce(function (all, repo) {\n if (repo.ocrd_tool) all.push.apply(all, _toConsumableArray(Object.values(repo.ocrd_tool.tools).map(function (tool) {\n tool.part_of = repo.org_plus_name;\n return tool;\n })));\n return all;\n }, []);\n },\n processors: function processors() {\n var _this = this;\n\n return this.all_processors.filter(function (tool) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = _this.step_filter[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var step_filter = _step.value;\n\n if (tool.steps.indexOf(step_filter) == -1) return false;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _this.category_filter[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var category_filter = _step2.value;\n\n if (tool.categories.indexOf(category_filter) == -1) return false;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return true;\n });\n }\n },\n mounted: function mounted() {\n this.fetchRepoData();\n },\n\n methods: {\n fetchRepoData: function fetchRepoData() {\n var _this2 = this;\n\n fetch('repos.json').then(function (resp) {\n return resp.json();\n }).then(function (repos) {\n var _repos_raw;\n\n _this2.repos_raw.splice(0, _this2.repos_raw.length);\n (_repos_raw = _this2.repos_raw).push.apply(_repos_raw, _toConsumableArray(repos));\n });\n },\n toggleStepFilter: function toggleStepFilter(v) {\n if (v in this.step_filter) {\n this.step_filter = this.step_filter.splice(this.step_filter.indexOf(v), 1);\n } else {\n this.step_filter.push(v);\n }\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL0FwcC52dWU/ZWE5OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhGQURBO0FBRUE7QUFGQSxHQURBO0FBS0EsTUFMQSxrQkFLQTtBQUNBO0FBQ0EsbUJBREE7QUFFQSx5QkFGQTtBQUdBO0FBSEE7QUFLQSxHQVhBOztBQVlBO0FBQ0EsU0FEQSxtQkFDQTtBQUNBO0FBQ0EsS0FIQTtBQUlBLFNBSkEsbUJBSUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0EsT0FIQSxFQUdBLEVBSEE7QUFJQSxLQVRBO0FBVUEsY0FWQSx3QkFVQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQSxPQUhBLEVBR0EsRUFIQTtBQUlBLEtBZkE7QUFnQkEsa0JBaEJBLDRCQWdCQTtBQUNBO0FBQ0EsNEJBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBO0FBQ0EsT0FQQSxFQU9BLEVBUEE7QUFRQSxLQXpCQTtBQTBCQSxjQTFCQSx3QkEwQkE7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUNBO0FBQUE7O0FBQ0EsdURBQ0E7QUFDQTtBQUpBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBS0E7QUFBQTs7QUFDQSxnRUFDQTtBQUNBO0FBUkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFTQTtBQUNBLE9BVkE7QUFXQTtBQXRDQSxHQVpBO0FBb0RBLFNBcERBLHFCQW9EQTtBQUNBO0FBQ0EsR0F0REE7O0FBdURBO0FBQ0EsaUJBREEsMkJBQ0E7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUNBO0FBQ0EsT0FIQTtBQUtBLEtBUEE7QUFRQSxvQkFSQSw0QkFRQSxDQVJBLEVBUUE7QUFDQTtBQUNBO0FBQ0EsT0FGQSxNQUVBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QUF2REEiLCJmaWxlIjoiOTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gIDxiLWNvbnRhaW5lciBmbHVpZD5cbiAgICA8Yi1yb3c+XG4gICAgICA8YnV0dG9uIEBjbGljaz1cImZldGNoUmVwb0RhdGFcIj5GZXRjaCE8L2J1dHRvbj5cbiAgICA8L2Itcm93PlxuICAgIDxiLXRhYnM+XG4gICAgICA8Yi10YWIgdGl0bGU9XCJQcm9jZXNzb3JzXCI+XG4gICAgICAgIDxvY3JkLXByb2Nlc3Nvci1saXN0XG4gICAgICAgICAgOnByb2Nlc3NvcnM9XCJwcm9jZXNzb3JzXCJcbiAgICAgICAgICA6c3RlcHM9XCJzdGVwc1wiXG4gICAgICAgICAgOnN0ZXBfZmlsdGVyPVwic3RlcF9maWx0ZXJcIlxuICAgICAgICAgIDpjYXRlZ29yaWVzPVwiY2F0ZWdvcmllc1wiXG4gICAgICAgICAgOmNhdGVnb3J5X2ZpbHRlcj1cImNhdGVnb3J5X2ZpbHRlclwiXG4gICAgICAgICAgPjwvb2NyZC1wcm9jZXNzb3ItbGlzdD5cbiAgICAgIDwvYi10YWI+XG4gICAgICA8Yi10YWIgdGl0bGU9XCJQcm9qZWN0c1wiPlxuICAgICAgICA8b2NyZC1wcm9qZWN0LWxpc3RcbiAgICAgICAgICA6cmVwb3M9XCJyZXBvc1wiXG4gICAgICAgICAgPjwvb2NyZC1wcm9qZWN0LWxpc3Q+XG4gICAgICA8L2ItdGFiPlxuICAgIDwvYi10YWJzPlxuICA8L2ItY29udGFpbmVyPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBPY3JkUHJvY2Vzc29yTGlzdCBmcm9tICcuL09jcmRQcm9jZXNzb3JMaXN0LnZ1ZSdcbmltcG9ydCBPY3JkUHJvamVjdExpc3QgZnJvbSAnLi9PY3JkUHJvamVjdExpc3QudnVlJ1xuZXhwb3J0IGRlZmF1bHQge1xuICBjb21wb25lbnRzOiB7XG4gICAgT2NyZFByb2Nlc3Nvckxpc3QsXG4gICAgT2NyZFByb2plY3RMaXN0XG4gIH0sXG4gIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcG9zX3JhdzogW10sXG4gICAgICBjYXRlZ29yeV9maWx0ZXI6IFtdLFxuICAgICAgc3RlcF9maWx0ZXI6IFtdLFxuICAgIH1cbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICByZXBvcygpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlcG9zX3Jhd1xuICAgIH0sXG4gICAgc3RlcHMoKSB7XG4gICAgICByZXR1cm4gdGhpcy5hbGxfcHJvY2Vzc29ycy5yZWR1Y2UoKGFsbCwgcHJvY2Vzc29yKSA9PiB7XG4gICAgICAgIGFsbC5wdXNoKC4uLnByb2Nlc3Nvci5zdGVwcy5maWx0ZXIoc3RlcCA9PiBhbGwuaW5kZXhPZihzdGVwKSA9PSAtMSkpXG4gICAgICAgIHJldHVybiBhbGxcbiAgICAgIH0sIFtdKVxuICAgIH0sXG4gICAgY2F0ZWdvcmllcygpIHtcbiAgICAgIHJldHVybiB0aGlzLmFsbF9wcm9jZXNzb3JzLnJlZHVjZSgoYWxsLCBwcm9jZXNzb3IpID0+IHtcbiAgICAgICAgYWxsLnB1c2goLi4ucHJvY2Vzc29yLmNhdGVnb3JpZXMuZmlsdGVyKGNhdGVnb3J5ID0+IGFsbC5pbmRleE9mKGNhdGVnb3J5KSA9PSAtMSkpXG4gICAgICAgIHJldHVybiBhbGxcbiAgICAgIH0sIFtdKVxuICAgIH0sXG4gICAgYWxsX3Byb2Nlc3NvcnMoKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvc19yYXcucmVkdWNlKChhbGwsIHJlcG8pID0+IHtcbiAgICAgICAgaWYgKHJlcG8ub2NyZF90b29sKVxuICAgICAgICAgIGFsbC5wdXNoKC4uLk9iamVjdC52YWx1ZXMocmVwby5vY3JkX3Rvb2wudG9vbHMpLm1hcCh0b29sID0+IHtcbiAgICAgICAgICAgIHRvb2wucGFydF9vZiA9IHJlcG8ub3JnX3BsdXNfbmFtZVxuICAgICAgICAgICAgcmV0dXJuIHRvb2xcbiAgICAgICAgICB9KSlcbiAgICAgICAgcmV0dXJuIGFsbFxuICAgICAgfSwgW10pXG4gICAgfSxcbiAgICBwcm9jZXNzb3JzKCkge1xuICAgICAgcmV0dXJuIHRoaXMuYWxsX3Byb2Nlc3NvcnMuZmlsdGVyKHRvb2wgPT4ge1xuICAgICAgICBmb3IgKGxldCBzdGVwX2ZpbHRlciBvZiB0aGlzLnN0ZXBfZmlsdGVyKSB7XG4gICAgICAgICAgaWYgKHRvb2wuc3RlcHMuaW5kZXhPZihzdGVwX2ZpbHRlcikgPT0gLTEpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBjYXRlZ29yeV9maWx0ZXIgb2YgdGhpcy5jYXRlZ29yeV9maWx0ZXIpIHtcbiAgICAgICAgICBpZiAodG9vbC5jYXRlZ29yaWVzLmluZGV4T2YoY2F0ZWdvcnlfZmlsdGVyKSA9PSAtMSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9KVxuICAgIH1cbiAgfSxcbiAgbW91bnRlZCgpIHtcbiAgICAgIHRoaXMuZmV0Y2hSZXBvRGF0YSgpXG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBmZXRjaFJlcG9EYXRhKCkge1xuICAgICAgZmV0Y2goJ3JlcG9zLmpzb24nKS50aGVuKHJlc3AgPT4gcmVzcC5qc29uKCkpLnRoZW4ocmVwb3MgPT4ge1xuICAgICAgICAgIHRoaXMucmVwb3NfcmF3LnNwbGljZSgwLCB0aGlzLnJlcG9zX3Jhdy5sZW5ndGgpXG4gICAgICAgICAgdGhpcy5yZXBvc19yYXcucHVzaCguLi5yZXBvcylcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0sXG4gICAgdG9nZ2xlU3RlcEZpbHRlcih2KSB7XG4gICAgICBpZiAodiBpbiB0aGlzLnN0ZXBfZmlsdGVyKSB7XG4gICAgICAgIHRoaXMuc3RlcF9maWx0ZXIgPSB0aGlzLnN0ZXBfZmlsdGVyLnNwbGljZSh0aGlzLnN0ZXBfZmlsdGVyLmluZGV4T2YodiksIDEpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0ZXBfZmlsdGVyLnB1c2godilcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbjwvc2NyaXB0PlxuXG48c3R5bGU+XG48L3N0eWxlPlxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHNyYy9BcHAudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///94\n"); + +/***/ }), +/* 95 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__OcrdProcessorListItem_vue__ = __webpack_require__(231);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n components: {\n OcrdProcessorListItem: __WEBPACK_IMPORTED_MODULE_0__OcrdProcessorListItem_vue__[\"a\" /* default */]\n },\n props: {\n processors: { required: true },\n steps: { required: true },\n step_filter: { require: true },\n categories: { required: true },\n category_filter: { require: true }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL09jcmRQcm9jZXNzb3JMaXN0LnZ1ZT83NDIzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdDQTtBQUNBO0FBQ0E7QUFDQTtBQURBLEdBREE7QUFJQTtBQUNBLGtDQURBO0FBRUEsNkJBRkE7QUFHQSxrQ0FIQTtBQUlBLGtDQUpBO0FBS0E7QUFMQTtBQUpBIiwiZmlsZSI6Ijk1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICA8ZGl2PlxuICAgIDxiLXJvdz5cbiAgICAgIEZpbHRlciBieSBjYXRlZ29yeTpcbiAgICAgIDxiLWJhZGdlXG4gICAgICAgIHYtZm9yPVwiY2F0ZWdvcnkgaW4gY2F0ZWdvcmllc1wiXG4gICAgICAgIDp2YXJpYW50PVwiY2F0ZWdvcnlfZmlsdGVyLmluZGV4T2YoY2F0ZWdvcnkpICE9IC0xID8gJ3ByaW1hcnknIDogJ3NlY29uZGFyeSdcIlxuICAgICAgICBAY2xpY2s9XCJjYXRlZ29yeV9maWx0ZXIuaW5kZXhPZihjYXRlZ29yeSkgIT0gLTEgPyBjYXRlZ29yeV9maWx0ZXIuc3BsaWNlKGNhdGVnb3J5X2ZpbHRlci5pbmRleE9mKGNhdGVnb3J5KSwgMSkgOiBjYXRlZ29yeV9maWx0ZXIucHVzaChjYXRlZ29yeSlcIlxuICAgICAgICA+XG4gICAgICAgIHt7IGNhdGVnb3J5IH19XG4gICAgICA8L2ItYmFkZ2U+XG4gICAgPC9iLXJvdz5cbiAgICA8Yi1yb3c+XG4gICAgICBGaWx0ZXIgYnkgc3RlcDpcbiAgICAgIDxiLWJhZGdlXG4gICAgICAgIHYtZm9yPVwic3RlcCBpbiBzdGVwc1wiXG4gICAgICAgIDp2YXJpYW50PVwic3RlcF9maWx0ZXIuaW5kZXhPZihzdGVwKSAhPSAtMSA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknXCJcbiAgICAgICAgQGNsaWNrPVwic3RlcF9maWx0ZXIuaW5kZXhPZihzdGVwKSAhPSAtMSA/IHN0ZXBfZmlsdGVyLnNwbGljZShzdGVwX2ZpbHRlci5pbmRleE9mKHN0ZXApLCAxKSA6IHN0ZXBfZmlsdGVyLnB1c2goc3RlcClcIlxuICAgICAgICA+XG4gICAgICAgIHt7IHN0ZXAgfX1cbiAgICAgIDwvYi1iYWRnZT5cbiAgICA8L2Itcm93PlxuICAgIDxiLXJvdz5cbiAgICAgICAgPG9jcmQtcHJvY2Vzc29yLWxpc3QtaXRlbVxuICAgICAgICAgIHYtZm9yPVwicHJvY2Vzc29yIGluIHByb2Nlc3NvcnNcIlxuICAgICAgICAgIDpwcm9jZXNzb3I9XCJwcm9jZXNzb3JcIlxuICAgICAgICA+PC9vY3JkLXByb2Nlc3Nvci1saXN0LWl0ZW0+XG4gICAgPC9iLXJvdz5cbiAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IE9jcmRQcm9jZXNzb3JMaXN0SXRlbSBmcm9tICcuL09jcmRQcm9jZXNzb3JMaXN0SXRlbS52dWUnXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBPY3JkUHJvY2Vzc29yTGlzdEl0ZW1cbiAgfSxcbiAgcHJvcHM6IHtcbiAgICBwcm9jZXNzb3JzOiB7cmVxdWlyZWQ6IHRydWV9LFxuICAgIHN0ZXBzOiB7cmVxdWlyZWQ6IHRydWV9LFxuICAgIHN0ZXBfZmlsdGVyOiB7cmVxdWlyZTogdHJ1ZX0sXG4gICAgY2F0ZWdvcmllczoge3JlcXVpcmVkOiB0cnVlfSxcbiAgICBjYXRlZ29yeV9maWx0ZXI6IHtyZXF1aXJlOiB0cnVlfSxcbiAgfSxcbn1cbjwvc2NyaXB0PlxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHNyYy9PY3JkUHJvY2Vzc29yTGlzdC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///95\n"); + +/***/ }), +/* 96 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n processor: { required: true }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL09jcmRQcm9jZXNzb3JMaXN0SXRlbS52dWU/NDk1MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNDQTtBQUNBO0FBQ0E7QUFEQTtBQURBIiwiZmlsZSI6Ijk2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICA8Yi1jYXJkXG4gICAgdGFnPVwiYXJ0aWNsZVwiXG4gICAgOnRpdGxlPVwicHJvY2Vzc29yLmV4ZWN1dGFibGUucmVwbGFjZSgnb2NyZC0nLCAnJylcIlxuICAgIGNsYXNzPVwibWItNVwiXG4gICAgPlxuICAgIDxiLWNhcmQtdGV4dD5cblxuICAgICAgPGItdGFicz5cbiAgICAgICAgPGItdGFiIHRpdGxlPVwiRGVzY3JpcHRpb25cIj5cbiAgICAgICAgICA8YmxvY2txdW90ZT5cbiAgICAgICAgICAgIHt7IHByb2Nlc3Nvci5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgIDwvYmxvY2txdW90ZT5cbiAgICAgICAgICA8Yi1iYWRnZSB2YXJpYW50PVwiaW5mb1wiIHYtZm9yPVwic3RlcCBpbiBwcm9jZXNzb3Iuc3RlcHNcIj57eyBzdGVwIH19PC9iLWJhZGdlPlxuICA8Yi1iYWRnZSB2YXJpYW50PVwic3VjY2Vzc1wiIHYtZm9yPVwiY2F0ZWdvcnkgaW4gcHJvY2Vzc29yLmNhdGVnb3JpZXNcIj57eyBjYXRlZ29yeSB9fTwvYi1iYWRnZT5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgIFBhcnQgb2YgPGEgaHJlZj1cIlwiPnt7IHByb2Nlc3Nvci5wYXJ0X29mIH19PC9hPlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJcIj5SZWFkIHRoZSBEb2N1bWVudGF0aW9uITwvYT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvYi10YWI+XG5cbiAgICAgICAgPGItdGFiIHRpdGxlPVwiUGFyYW1ldGVyc1wiPlxuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaSB2LWZvcj1cInBhcmFtLCBuYW1lIGluIHByb2Nlc3Nvci5wYXJhbWV0ZXJzXCI+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgbmFtZSB9fTwvc3Ryb25nPiB7eyBwYXJhbSB9fVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2ItdGFiPlxuXG4gICAgICA8L2ItdGFicz5cblxuICAgIDwvYi1jYXJkLXRleHQ+XG4gIDwvYi1jYXJkPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBwcm9jZXNzb3I6IHtyZXF1aXJlZDogdHJ1ZX1cbiAgfVxufVxuPC9zY3JpcHQ+XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL09jcmRQcm9jZXNzb3JMaXN0SXRlbS52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///96\n"); + +/***/ }), +/* 97 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__OcrdProjectListItem_vue__ = __webpack_require__(237);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n components: {\n OcrdProjectListItem: __WEBPACK_IMPORTED_MODULE_0__OcrdProjectListItem_vue__[\"a\" /* default */]\n },\n props: {\n repos: { required: true }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL09jcmRQcm9qZWN0TGlzdC52dWU/ZDRmNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFEQSxHQURBO0FBSUE7QUFDQTtBQURBO0FBSkEiLCJmaWxlIjoiOTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gIDxkaXY+XG4gICAgPGItcm93PlxuICAgICAgPG9jcmQtcHJvamVjdC1saXN0LWl0ZW1cbiAgICAgICAgdi1mb3I9XCJyZXBvIGluIHJlcG9zXCJcbiAgICAgICAgOmtleT1cInJlcG8ub3JnX3BsdXNfbmFtZVwiXG4gICAgICAgIDpyZXBvPVwicmVwb1wiXG4gICAgICA+XG4gICAgICA8L29jcmQtcHJvamVjdC1saXN0LWl0ZW0+XG4gICAgPC9iLXJvdz5cblxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgT2NyZFByb2plY3RMaXN0SXRlbSBmcm9tICcuL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlJ1xuZXhwb3J0IGRlZmF1bHQge1xuICBjb21wb25lbnRzOiB7XG4gICAgT2NyZFByb2plY3RMaXN0SXRlbVxuICB9LFxuICBwcm9wczoge1xuICAgIHJlcG9zOiB7cmVxdWlyZWQ6IHRydWV9XG4gIH1cbn1cbjwvc2NyaXB0PlxuXG48c3R5bGU+XG5cbjwvc3R5bGU+XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL09jcmRQcm9qZWN0TGlzdC52dWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///97\n"); + +/***/ }), +/* 98 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_marked__ = __webpack_require__(240);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_marked___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_marked__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_code_highlight__ = __webpack_require__(241);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n components: {\n VueCodeHighlight: __WEBPACK_IMPORTED_MODULE_1_vue_code_highlight__[\"a\" /* component */]\n },\n props: {\n repo: { required: true }\n },\n computed: {\n cleanId: function cleanId() {\n return this.repo.org_plus_name.replace(/[^A-Za-z0-9]/g, '-');\n },\n compiledReadme: function compiledReadme() {\n var src = this.repo.files['README.md'];\n if (!src) src = '`# NO README`';\n return __WEBPACK_IMPORTED_MODULE_0_marked___default()(src);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlP2NjZWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBREEsR0FEQTtBQUlBO0FBQ0E7QUFEQSxHQUpBO0FBT0E7QUFDQSxXQURBLHFCQUNBO0FBQ0E7QUFDQSxLQUhBO0FBSUEsa0JBSkEsNEJBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBUEEiLCJmaWxlIjoiOTguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gIDxiLWNhcmRcbiAgICA6dGl0bGU9XCJyZXBvLm9yZ19wbHVzX25hbWVcIlxuICAgIHRhZz1cImFydGljbGVcIlxuICAgIGNsYXNzPVwibWItNSBvY3JkLXByb2plY3QtbGlzdC1pdGVtXCJcbiAgICA+XG4gICAgPGItdGFicz5cbiAgICAgIDxiLXRhYiB0aXRsZT1cIlJFQURNRVwiPlxuICAgICAgICA8ZGl2IHYtaHRtbD1cImNvbXBpbGVkUmVhZG1lXCI+PC9kaXY+XG4gICAgICA8L2ItdGFiPlxuICAgICAgPGItdGFiIHRpdGxlPVwiRG9ja2VyZmlsZVwiPlxuICAgICAgICA8dnVlLWNvZGUtaGlnaGxpZ2h0Pnt7IHJlcG8uZmlsZXMuRG9ja2VyZmlsZSB8fCAnIyBOTyBET0NLRVJGSUxFJyB9fTwvdnVlLWNvZGUtaGlnaGxpZ2h0PlxuICAgICAgPC9iLXRhYj5cbiAgICAgIDxiLXRhYiB0aXRsZT1cIkdpdFwiPlxuICAgICAgICA8Yi1jYXJkLXRleHQ+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8YSBocmVmPVwiYGh0dHBzOi8vcHlwaS5vcmcvcHJvamVjdC8keyByZXBvLnB5dGhvbi5uYW1lIH0vYFwiPiAgICAgICAgICAgICA8aW1nIDpzcmM9XCJgaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9weXBpL3YvJHsgcmVwby5weXRob24ubmFtZSB9LnN2Z2BcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPiA8L2E+XG4gICAgICAgICAgICA8IS0tIDxhIGhyZWY9XCJgaHR0cHM6Ly90cmF2aXMtY2kub3JnLyR7IHJlcG8ub3JnX3BsdXNfbmFtZSB9YFwiPiAgICAgICAgICAgICAgIDxpbWcgOnNyYz1cImBodHRwczovL3RyYXZpcy1jaS5vcmcvJHsgcmVwby5vcmdfcGx1c19uYW1lIH0uc3ZnP2JyYW5jaD1tYXN0ZXJgXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+IDwvYT4gLS0+XG4gICAgICAgICAgICA8IS0tIDxhIGhyZWY9XCJgaHR0cHM6Ly9jaXJjbGVjaS5jb20vZ2gvJHsgcmVwby5vcmdfcGx1c19uYW1lIH1gXCI+ICAgICAgICAgICAgIDxpbWcgOnNyYz1cImBodHRwczovL2NpcmNsZWNpLmNvbS9naC8keyByZXBvLm9yZ19wbHVzX25hbWUgfS5zdmc/c3R5bGU9c3ZnYFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+IDwvYT4gLS0+XG4gICAgICAgICAgICA8IS0tIDxhIGhyZWY9XCJgaHR0cHM6Ly9odWIuZG9ja2VyLmNvbS9yL29jcmQvY29yZS90YWdzL2BcIj4gICAgICAgICAgICAgICAgICAgICA8aW1nIDpzcmM9XCJgaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9kb2NrZXIvYXV0b21hdGVkL29jcmQvY29yZS5zdmdgXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz4gPC9hPiAtLT5cbiAgICAgICAgICAgIDwhLS0gPGEgaHJlZj1cImBodHRwczovL2NvZGVjb3YuaW8vZ2gvJHsgcmVwby5vcmdfcGx1c19uYW1lIH1gXCI+ICAgICAgICAgICAgICAgPGltZyA6c3JjPVwiYGh0dHBzOi8vY29kZWNvdi5pby9naC8keyByZXBvLm9yZ19wbHVzX25hbWUgfS9icmFuY2gvbWFzdGVyL2dyYXBoL2JhZGdlLnN2Z2BcIiAgICAgICAgICAgICAgICAgLz4gPC9hPiAtLT5cbiAgICAgICAgICAgIDwhLS0gPGEgaHJlZj1cImBodHRwczovL3NjcnV0aW5pemVyLWNpLmNvbS9nLyR7IHJlcG8ub3JnX3BsdXNfbmFtZSB9YFwiPiAgICAgICAgPGltZyA6c3JjPVwiYGh0dHBzOi8vc2NydXRpbml6ZXItY2kuY29tL2cvJHsgcmVwby5vcmdfcGx1c19uYW1lIH0vYmFkZ2VzL3F1YWxpdHktc2NvcmUucG5nP2I9bWFzdGVyYFwiICAgICAgLz4gPC9hPiAtLT5cbiAgICAgICAgICAgIDwhLS0gPGEgaHJlZj1cImBodHRwczovL2xndG0uY29tL3Byb2plY3RzL2cvJHsgcmVwby5vcmdfcGx1c19uYW1lIH0vYWxlcnRzL2BcIj4gPGltZyA6c3JjPVwiYGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vbGd0bS9hbGVydHMvZy8keyByZXBvLm9yZ19wbHVzX25hbWUgfS5zdmc/bG9nbz1sZ3RtJmFtcDtsb2dvV2lkdGg9MThgXCIgLz4gPC9hPiAtLT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGItdGFibGUgdi1pZj1cInJlcG8uZ2l0XCIgOml0ZW1zPVwiW3JlcG8uZ2l0XVwiPjwvYi10YWJsZT5cbiAgICAgICAgPC9iLWNhcmQtdGV4dD5cbiAgICAgIDwvYi10YWI+XG5cbiAgICAgIDxiLXRhYiB0aXRsZT1cIm9jcmQtdG9vbCB2YWxpZGF0aW9uXCI+XG4gICAgICAgIDxiLWNhcmQtdGV4dD5cbiAgICAgICAgICA8dnVlLWNvZGUtaGlnaGxpZ2h0Pnt7IHJlcG8ub2NyZF90b29sX3ZhbGlkYXRlIHx8ICcjIE5PIHZhbGlkYXRpb24gZGF0YScgfX08L3Z1ZS1jb2RlLWhpZ2hsaWdodD5cbiAgICAgICAgPC9iLWNhcmQtdGV4dD5cbiAgICAgIDwvYi10YWI+XG5cbiAgICAgIDxiLXRhYiB0aXRsZT1cIlB5dGhvblwiPlxuICAgICAgICA8Yi1jYXJkLXRleHQ+XG4gICAgICAgICAgPGItdGFibGUgdi1pZj1cInJlcG8ucHl0aG9uXCIgOml0ZW1zPVwiW3JlcG8ucHl0aG9uXVwiPjwvYi10YWJsZT5cbiAgICAgICAgPC9iLWNhcmQtdGV4dD5cbiAgICAgIDwvYi10YWI+XG5cbiAgICA8L2ItdGFicz5cbiAgPC9iLWNhcmQ+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IG1hcmtlZCBmcm9tICdtYXJrZWQnXG5pbXBvcnQgeyBjb21wb25lbnQgYXMgVnVlQ29kZUhpZ2hsaWdodCB9IGZyb20gJ3Z1ZS1jb2RlLWhpZ2hsaWdodCdcblxuZXhwb3J0IGRlZmF1bHQge1xuICBjb21wb25lbnRzOiB7XG4gICAgVnVlQ29kZUhpZ2hsaWdodFxuICB9LFxuICBwcm9wczoge1xuICAgIHJlcG86IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgY2xlYW5JZCgpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlcG8ub3JnX3BsdXNfbmFtZS5yZXBsYWNlKC9bXkEtWmEtejAtOV0vZywgJy0nKVxuICAgIH0sXG4gICAgY29tcGlsZWRSZWFkbWUoKSB7XG4gICAgICBsZXQgc3JjID0gdGhpcy5yZXBvLmZpbGVzWydSRUFETUUubWQnXVxuICAgICAgaWYgKCFzcmMpIHNyYyA9ICdgIyBOTyBSRUFETUVgJ1xuICAgICAgcmV0dXJuIG1hcmtlZChzcmMpXG4gICAgfVxuICB9XG59XG48L3NjcmlwdD5cblxuPHN0eWxlPlxuXG4ub2NyZC1wcm9qZWN0LWxpc3QtaXRlbSB7XG4gIG1heC13aWR0aDogMzByZW07XG4gIG1heC1oZWlnaHQ6IDMwcmVtO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbjwvc3R5bGU+XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///98\n"); + +/***/ }), +/* 99 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__object__ = __webpack_require__(8);\n // --- General BootstrapVue configuration ---\n// NOTES\n//\n// The global config SHALL NOT be used to set defaults for Boolean props, as the props\n// would loose their semantic meaning, and force people writing 3rd party components to\n// explicity set a true or false value using the v-bind syntax on boolean props\n//\n// Supported config values (depending on the prop's supported type(s)):\n// `String`, `Array`, `Object`, `null` or `undefined`\n// BREAKPOINT DEFINITIONS\n//\n// Some components (`<b-col>` and `<b-form-group>`) generate props based on breakpoints,\n// and this occurs when the component is first loaded (evaluated), which may happen\n// before the config is created/modified\n//\n// To get around this we make these components' props async (lazy evaluation)\n// The component definition is only called/executed when the first access to the\n// component is used (and cached on subsequent uses)\n// PROP DEFAULTS\n//\n// For default values on props, we use the default value factory function approach so\n// that the default values are pulled in at each component instantiation\n//\n// props: {\n// variant: {\n// type: String,\n// default: () => getConfigComponent('BAlert', 'variant')\n// }\n// }\n//\n// We also provide a cached getter for breakpoints, which are \"frozen\" on first access\n// prettier-ignore\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"c\" /* deepFreeze */])({\n // Breakpoints\n breakpoints: ['xs', 'sm', 'md', 'lg', 'xl'],\n // Form controls\n formControls: {\n size: null\n },\n // Component specific defaults are keyed by the component\n // name (PascalCase) and prop name (camelCase)\n BAlert: {\n dismissLabel: 'Close',\n variant: 'info'\n },\n BBadge: {\n variant: 'secondary'\n },\n BButton: {\n size: null,\n variant: 'secondary'\n },\n BButtonClose: {\n // `textVariant` is `null` to inherit the current text color\n textVariant: null,\n ariaLabel: 'Close'\n },\n BCardSubTitle: {\n // `<b-card>` and `<b-card-body>` also inherit this prop\n subTitleTextVariant: 'muted'\n },\n BCarousel: {\n labelPrev: 'Previous Slide',\n labelNext: 'Next Slide',\n labelGotoSlide: 'Goto Slide',\n labelIndicators: 'Select a slide to display'\n },\n BDropdown: {\n toggleText: 'Toggle Dropdown',\n size: null,\n variant: 'secondary',\n splitVariant: null\n },\n BFormFile: {\n browseText: 'Browse',\n // Chrome default file prompt\n placeholder: 'No file chosen',\n dropPlaceholder: 'Drop files here'\n },\n BFormText: {\n textVariant: 'muted'\n },\n BImg: {\n blankColor: 'transparent'\n },\n BImgLazy: {\n blankColor: 'transparent'\n },\n BInputGroup: {\n size: null\n },\n BJumbotron: {\n bgVariant: null,\n borderVariant: null,\n textVariant: null\n },\n BListGroupItem: {\n variant: null\n },\n BModal: {\n titleTag: 'h5',\n size: 'md',\n headerBgVariant: null,\n headerBorderVariant: null,\n headerTextVariant: null,\n headerCloseVariant: null,\n bodyBgVariant: null,\n bodyTextVariant: null,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerTextVariant: null,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n okTitle: 'OK',\n okVariant: 'primary',\n headerCloseLabel: 'Close'\n },\n BNavbar: {\n variant: null\n },\n BNavbarToggle: {\n label: 'Toggle navigation'\n },\n BPagination: {\n size: null\n },\n BPaginationNav: {\n size: null\n },\n BPopover: {\n boundary: 'scrollParent',\n boundaryPadding: 5,\n customClass: null,\n delay: 50,\n variant: null\n },\n BProgress: {\n variant: null\n },\n BProgressBar: {\n variant: null\n },\n BSpinner: {\n variant: null\n },\n BTable: {\n selectedVariant: 'primary',\n headVariant: null,\n footVariant: null\n },\n BToast: {\n toaster: 'b-toaster-top-right',\n autoHideDelay: 5000,\n variant: null,\n toastClass: null,\n headerClass: null,\n bodyClass: null\n },\n BToaster: {\n ariaLive: null,\n ariaAtomic: null,\n role: null\n },\n BTooltip: {\n boundary: 'scrollParent',\n boundaryPadding: 5,\n customClass: null,\n delay: 50,\n variant: null\n }\n}));\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvY29uZmlnLWRlZmF1bHRzLmpzPzk1ZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWUsNEhBQVU7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyIsImZpbGUiOiI5OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZXBGcmVlemUgfSBmcm9tICcuL29iamVjdCc7IC8vIC0tLSBHZW5lcmFsIEJvb3RzdHJhcFZ1ZSBjb25maWd1cmF0aW9uIC0tLVxuLy8gTk9URVNcbi8vXG4vLyBUaGUgZ2xvYmFsIGNvbmZpZyBTSEFMTCBOT1QgYmUgdXNlZCB0byBzZXQgZGVmYXVsdHMgZm9yIEJvb2xlYW4gcHJvcHMsIGFzIHRoZSBwcm9wc1xuLy8gd291bGQgbG9vc2UgdGhlaXIgc2VtYW50aWMgbWVhbmluZywgYW5kIGZvcmNlIHBlb3BsZSB3cml0aW5nIDNyZCBwYXJ0eSBjb21wb25lbnRzIHRvXG4vLyBleHBsaWNpdHkgc2V0IGEgdHJ1ZSBvciBmYWxzZSB2YWx1ZSB1c2luZyB0aGUgdi1iaW5kIHN5bnRheCBvbiBib29sZWFuIHByb3BzXG4vL1xuLy8gU3VwcG9ydGVkIGNvbmZpZyB2YWx1ZXMgKGRlcGVuZGluZyBvbiB0aGUgcHJvcCdzIHN1cHBvcnRlZCB0eXBlKHMpKTpcbi8vIGBTdHJpbmdgLCBgQXJyYXlgLCBgT2JqZWN0YCwgYG51bGxgIG9yIGB1bmRlZmluZWRgXG4vLyBCUkVBS1BPSU5UIERFRklOSVRJT05TXG4vL1xuLy8gU29tZSBjb21wb25lbnRzIChgPGItY29sPmAgYW5kIGA8Yi1mb3JtLWdyb3VwPmApIGdlbmVyYXRlIHByb3BzIGJhc2VkIG9uIGJyZWFrcG9pbnRzLFxuLy8gYW5kIHRoaXMgb2NjdXJzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBmaXJzdCBsb2FkZWQgKGV2YWx1YXRlZCksIHdoaWNoIG1heSBoYXBwZW5cbi8vIGJlZm9yZSB0aGUgY29uZmlnIGlzIGNyZWF0ZWQvbW9kaWZpZWRcbi8vXG4vLyBUbyBnZXQgYXJvdW5kIHRoaXMgd2UgbWFrZSB0aGVzZSBjb21wb25lbnRzJyBwcm9wcyBhc3luYyAobGF6eSBldmFsdWF0aW9uKVxuLy8gVGhlIGNvbXBvbmVudCBkZWZpbml0aW9uIGlzIG9ubHkgY2FsbGVkL2V4ZWN1dGVkIHdoZW4gdGhlIGZpcnN0IGFjY2VzcyB0byB0aGVcbi8vIGNvbXBvbmVudCBpcyB1c2VkIChhbmQgY2FjaGVkIG9uIHN1YnNlcXVlbnQgdXNlcylcbi8vIFBST1AgREVGQVVMVFNcbi8vXG4vLyBGb3IgZGVmYXVsdCB2YWx1ZXMgb24gcHJvcHMsIHdlIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZSBmYWN0b3J5IGZ1bmN0aW9uIGFwcHJvYWNoIHNvXG4vLyB0aGF0IHRoZSBkZWZhdWx0IHZhbHVlcyBhcmUgcHVsbGVkIGluIGF0IGVhY2ggY29tcG9uZW50IGluc3RhbnRpYXRpb25cbi8vXG4vLyAgcHJvcHM6IHtcbi8vICAgIHZhcmlhbnQ6IHtcbi8vICAgICAgdHlwZTogU3RyaW5nLFxuLy8gICAgICBkZWZhdWx0OiAoKSA9PiBnZXRDb25maWdDb21wb25lbnQoJ0JBbGVydCcsICd2YXJpYW50Jylcbi8vICAgIH1cbi8vICB9XG4vL1xuLy8gV2UgYWxzbyBwcm92aWRlIGEgY2FjaGVkIGdldHRlciBmb3IgYnJlYWtwb2ludHMsIHdoaWNoIGFyZSBcImZyb3plblwiIG9uIGZpcnN0IGFjY2Vzc1xuLy8gcHJldHRpZXItaWdub3JlXG5cbmV4cG9ydCBkZWZhdWx0IGRlZXBGcmVlemUoe1xuICAvLyBCcmVha3BvaW50c1xuICBicmVha3BvaW50czogWyd4cycsICdzbScsICdtZCcsICdsZycsICd4bCddLFxuICAvLyBGb3JtIGNvbnRyb2xzXG4gIGZvcm1Db250cm9sczoge1xuICAgIHNpemU6IG51bGxcbiAgfSxcbiAgLy8gQ29tcG9uZW50IHNwZWNpZmljIGRlZmF1bHRzIGFyZSBrZXllZCBieSB0aGUgY29tcG9uZW50XG4gIC8vIG5hbWUgKFBhc2NhbENhc2UpIGFuZCBwcm9wIG5hbWUgKGNhbWVsQ2FzZSlcbiAgQkFsZXJ0OiB7XG4gICAgZGlzbWlzc0xhYmVsOiAnQ2xvc2UnLFxuICAgIHZhcmlhbnQ6ICdpbmZvJ1xuICB9LFxuICBCQmFkZ2U6IHtcbiAgICB2YXJpYW50OiAnc2Vjb25kYXJ5J1xuICB9LFxuICBCQnV0dG9uOiB7XG4gICAgc2l6ZTogbnVsbCxcbiAgICB2YXJpYW50OiAnc2Vjb25kYXJ5J1xuICB9LFxuICBCQnV0dG9uQ2xvc2U6IHtcbiAgICAvLyBgdGV4dFZhcmlhbnRgIGlzIGBudWxsYCB0byBpbmhlcml0IHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAgICB0ZXh0VmFyaWFudDogbnVsbCxcbiAgICBhcmlhTGFiZWw6ICdDbG9zZSdcbiAgfSxcbiAgQkNhcmRTdWJUaXRsZToge1xuICAgIC8vIGA8Yi1jYXJkPmAgYW5kIGA8Yi1jYXJkLWJvZHk+YCBhbHNvIGluaGVyaXQgdGhpcyBwcm9wXG4gICAgc3ViVGl0bGVUZXh0VmFyaWFudDogJ211dGVkJ1xuICB9LFxuICBCQ2Fyb3VzZWw6IHtcbiAgICBsYWJlbFByZXY6ICdQcmV2aW91cyBTbGlkZScsXG4gICAgbGFiZWxOZXh0OiAnTmV4dCBTbGlkZScsXG4gICAgbGFiZWxHb3RvU2xpZGU6ICdHb3RvIFNsaWRlJyxcbiAgICBsYWJlbEluZGljYXRvcnM6ICdTZWxlY3QgYSBzbGlkZSB0byBkaXNwbGF5J1xuICB9LFxuICBCRHJvcGRvd246IHtcbiAgICB0b2dnbGVUZXh0OiAnVG9nZ2xlIERyb3Bkb3duJyxcbiAgICBzaXplOiBudWxsLFxuICAgIHZhcmlhbnQ6ICdzZWNvbmRhcnknLFxuICAgIHNwbGl0VmFyaWFudDogbnVsbFxuICB9LFxuICBCRm9ybUZpbGU6IHtcbiAgICBicm93c2VUZXh0OiAnQnJvd3NlJyxcbiAgICAvLyBDaHJvbWUgZGVmYXVsdCBmaWxlIHByb21wdFxuICAgIHBsYWNlaG9sZGVyOiAnTm8gZmlsZSBjaG9zZW4nLFxuICAgIGRyb3BQbGFjZWhvbGRlcjogJ0Ryb3AgZmlsZXMgaGVyZSdcbiAgfSxcbiAgQkZvcm1UZXh0OiB7XG4gICAgdGV4dFZhcmlhbnQ6ICdtdXRlZCdcbiAgfSxcbiAgQkltZzoge1xuICAgIGJsYW5rQ29sb3I6ICd0cmFuc3BhcmVudCdcbiAgfSxcbiAgQkltZ0xhenk6IHtcbiAgICBibGFua0NvbG9yOiAndHJhbnNwYXJlbnQnXG4gIH0sXG4gIEJJbnB1dEdyb3VwOiB7XG4gICAgc2l6ZTogbnVsbFxuICB9LFxuICBCSnVtYm90cm9uOiB7XG4gICAgYmdWYXJpYW50OiBudWxsLFxuICAgIGJvcmRlclZhcmlhbnQ6IG51bGwsXG4gICAgdGV4dFZhcmlhbnQ6IG51bGxcbiAgfSxcbiAgQkxpc3RHcm91cEl0ZW06IHtcbiAgICB2YXJpYW50OiBudWxsXG4gIH0sXG4gIEJNb2RhbDoge1xuICAgIHRpdGxlVGFnOiAnaDUnLFxuICAgIHNpemU6ICdtZCcsXG4gICAgaGVhZGVyQmdWYXJpYW50OiBudWxsLFxuICAgIGhlYWRlckJvcmRlclZhcmlhbnQ6IG51bGwsXG4gICAgaGVhZGVyVGV4dFZhcmlhbnQ6IG51bGwsXG4gICAgaGVhZGVyQ2xvc2VWYXJpYW50OiBudWxsLFxuICAgIGJvZHlCZ1ZhcmlhbnQ6IG51bGwsXG4gICAgYm9keVRleHRWYXJpYW50OiBudWxsLFxuICAgIGZvb3RlckJnVmFyaWFudDogbnVsbCxcbiAgICBmb290ZXJCb3JkZXJWYXJpYW50OiBudWxsLFxuICAgIGZvb3RlclRleHRWYXJpYW50OiBudWxsLFxuICAgIGNhbmNlbFRpdGxlOiAnQ2FuY2VsJyxcbiAgICBjYW5jZWxWYXJpYW50OiAnc2Vjb25kYXJ5JyxcbiAgICBva1RpdGxlOiAnT0snLFxuICAgIG9rVmFyaWFudDogJ3ByaW1hcnknLFxuICAgIGhlYWRlckNsb3NlTGFiZWw6ICdDbG9zZSdcbiAgfSxcbiAgQk5hdmJhcjoge1xuICAgIHZhcmlhbnQ6IG51bGxcbiAgfSxcbiAgQk5hdmJhclRvZ2dsZToge1xuICAgIGxhYmVsOiAnVG9nZ2xlIG5hdmlnYXRpb24nXG4gIH0sXG4gIEJQYWdpbmF0aW9uOiB7XG4gICAgc2l6ZTogbnVsbFxuICB9LFxuICBCUGFnaW5hdGlvbk5hdjoge1xuICAgIHNpemU6IG51bGxcbiAgfSxcbiAgQlBvcG92ZXI6IHtcbiAgICBib3VuZGFyeTogJ3Njcm9sbFBhcmVudCcsXG4gICAgYm91bmRhcnlQYWRkaW5nOiA1LFxuICAgIGN1c3RvbUNsYXNzOiBudWxsLFxuICAgIGRlbGF5OiA1MCxcbiAgICB2YXJpYW50OiBudWxsXG4gIH0sXG4gIEJQcm9ncmVzczoge1xuICAgIHZhcmlhbnQ6IG51bGxcbiAgfSxcbiAgQlByb2dyZXNzQmFyOiB7XG4gICAgdmFyaWFudDogbnVsbFxuICB9LFxuICBCU3Bpbm5lcjoge1xuICAgIHZhcmlhbnQ6IG51bGxcbiAgfSxcbiAgQlRhYmxlOiB7XG4gICAgc2VsZWN0ZWRWYXJpYW50OiAncHJpbWFyeScsXG4gICAgaGVhZFZhcmlhbnQ6IG51bGwsXG4gICAgZm9vdFZhcmlhbnQ6IG51bGxcbiAgfSxcbiAgQlRvYXN0OiB7XG4gICAgdG9hc3RlcjogJ2ItdG9hc3Rlci10b3AtcmlnaHQnLFxuICAgIGF1dG9IaWRlRGVsYXk6IDUwMDAsXG4gICAgdmFyaWFudDogbnVsbCxcbiAgICB0b2FzdENsYXNzOiBudWxsLFxuICAgIGhlYWRlckNsYXNzOiBudWxsLFxuICAgIGJvZHlDbGFzczogbnVsbFxuICB9LFxuICBCVG9hc3Rlcjoge1xuICAgIGFyaWFMaXZlOiBudWxsLFxuICAgIGFyaWFBdG9taWM6IG51bGwsXG4gICAgcm9sZTogbnVsbFxuICB9LFxuICBCVG9vbHRpcDoge1xuICAgIGJvdW5kYXJ5OiAnc2Nyb2xsUGFyZW50JyxcbiAgICBib3VuZGFyeVBhZGRpbmc6IDUsXG4gICAgY3VzdG9tQ2xhc3M6IG51bGwsXG4gICAgZGVsYXk6IDUwLFxuICAgIHZhcmlhbnQ6IG51bGxcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvY29uZmlnLWRlZmF1bHRzLmpzXG4vLyBtb2R1bGUgaWQgPSA5OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///99\n"); + +/***/ }), +/* 100 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AlertPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__alert__ = __webpack_require__(101);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BAlert */\n\n\nvar AlertPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BAlert: __WEBPACK_IMPORTED_MODULE_0__alert__[\"a\" /* BAlert */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9hbGVydC9pbmRleC5qcz8wMTEyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlDO0FBQ21CO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsWUFBWSxzREFBTTtBQUNsQjtBQUNBLENBQUMiLCJmaWxlIjoiMTAwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgQWxlcnRQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCQWxlcnQ6IEJBbGVydFxuICB9XG59KTtcbmV4cG9ydCB7IEFsZXJ0UGx1Z2luLCBCQWxlcnQgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2FsZXJ0L2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxMDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///100\n"); + +/***/ }), +/* 101 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BAlert; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_bv_transition__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__button_button_close__ = __webpack_require__(31);\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\n\n\n\n\n\n\n\nvar NAME = 'BAlert'; // Convert `show` value to a number\n\nvar parseCountDown = function parseCountDown(show) {\n if (show === '' || Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"b\" /* isBoolean */])(show)) {\n return 0;\n }\n\n show = parseInt(show, 10);\n return show > 0 ? show : 0;\n}; // Convert `show` value to a boolean\n\n\nvar parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (parseInt(show, 10) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return Boolean(show);\n}; // Is a value number like (i.e. a number or a number as string)\n\n\nvar isNumericLike = function isNumericLike(value) {\n return !isNaN(parseInt(value, 10));\n}; // @vue/component\n\n\nvar BAlert =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_5__mixins_normalize_slot__[\"a\" /* default */]],\n model: {\n prop: 'show',\n event: 'input'\n },\n props: {\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n dismissible: {\n type: Boolean,\n default: false\n },\n dismissLabel: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'dismissLabel');\n }\n },\n show: {\n type: [Boolean, Number, String],\n default: false\n },\n fade: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n countDownTimerId: null,\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this.show)\n };\n },\n watch: {\n show: function show(newVal) {\n this.countDown = parseCountDown(newVal);\n this.localShow = parseShow(newVal);\n },\n countDown: function countDown(newVal) {\n var _this = this;\n\n this.clearTimer();\n\n if (isNumericLike(this.show)) {\n // Ignore if this.show transitions to a boolean value.\n this.$emit('dismiss-count-down', newVal);\n\n if (this.show !== newVal) {\n // Update the v-model if needed\n this.$emit('input', newVal);\n }\n\n if (newVal > 0) {\n this.localShow = true;\n this.countDownTimerId = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"w\" /* requestAF */])(function () {\n _this.localShow = false;\n });\n });\n }\n }\n },\n localShow: function localShow(newVal) {\n if (!newVal && (this.dismissible || isNumericLike(this.show))) {\n // Only emit dismissed events for dismissible or auto dismissing alerts\n this.$emit('dismissed');\n }\n\n if (!isNumericLike(this.show) && this.show !== newVal) {\n // Only emit booleans if we weren't passed a number via `this.show`\n this.$emit('input', newVal);\n }\n }\n },\n created: function created() {\n this.countDown = parseCountDown(this.show);\n this.localShow = parseShow(this.show);\n },\n mounted: function mounted() {\n this.countDown = parseCountDown(this.show);\n this.localShow = parseShow(this.show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearTimer();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearTimer();\n this.countDown = 0;\n this.localShow = false;\n },\n clearTimer: function clearTimer() {\n if (this.countDownTimerId) {\n clearInterval(this.countDownTimerId);\n this.countDownTimerId = null;\n }\n }\n },\n render: function render(h) {\n var $alert; // undefined\n\n if (this.localShow) {\n var $dismissBtn = h();\n\n if (this.dismissible) {\n // Add dismiss button\n $dismissBtn = h(__WEBPACK_IMPORTED_MODULE_6__button_button_close__[\"a\" /* BButtonClose */], {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [this.normalizeSlot('dismiss')]);\n }\n\n $alert = h('div', {\n key: this._uid,\n staticClass: 'alert',\n class: _defineProperty({\n 'alert-dismissible': this.dismissible\n }, \"alert-\".concat(this.variant), this.variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n }\n }, [$dismissBtn, this.normalizeSlot('default')]);\n $alert = [$alert];\n }\n\n return h(__WEBPACK_IMPORTED_MODULE_4__utils_bv_transition__[\"b\" /* default */], {\n props: {\n noFade: !this.fade\n }\n }, $alert);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9hbGVydC9hbGVydC5qcz8yMmRlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDc0I7QUFDWjtBQUNJO0FBQ0s7QUFDUTtBQUNQO0FBQ3RELG9CQUFvQjs7QUFFcEI7QUFDQSxxQkFBcUIseUVBQVM7QUFDOUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0s7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxXQUFXLHVFQUFrQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGlGQUFrQjtBQUNqQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBO0FBQ0EsWUFBWSxxRUFBUztBQUNyQjtBQUNBLGFBQWE7QUFDYixXQUFXO0FBQ1g7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZUFBZTs7QUFFZjtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3QkFBd0IsMEVBQVk7QUFDcEM7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUEsYUFBYSxxRUFBWTtBQUN6QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjEwMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyByZXF1ZXN0QUYgfSBmcm9tICcuLi8uLi91dGlscy9kb20nO1xuaW1wb3J0IHsgaXNCb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgQlZUcmFuc2l0aW9uIGZyb20gJy4uLy4uL3V0aWxzL2J2LXRyYW5zaXRpb24nO1xuaW1wb3J0IG5vcm1hbGl6ZVNsb3RNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvbm9ybWFsaXplLXNsb3QnO1xuaW1wb3J0IHsgQkJ1dHRvbkNsb3NlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi1jbG9zZSc7XG52YXIgTkFNRSA9ICdCQWxlcnQnOyAvLyBDb252ZXJ0IGBzaG93YCB2YWx1ZSB0byBhIG51bWJlclxuXG52YXIgcGFyc2VDb3VudERvd24gPSBmdW5jdGlvbiBwYXJzZUNvdW50RG93bihzaG93KSB7XG4gIGlmIChzaG93ID09PSAnJyB8fCBpc0Jvb2xlYW4oc2hvdykpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHNob3cgPSBwYXJzZUludChzaG93LCAxMCk7XG4gIHJldHVybiBzaG93ID4gMCA/IHNob3cgOiAwO1xufTsgLy8gQ29udmVydCBgc2hvd2AgdmFsdWUgdG8gYSBib29sZWFuXG5cblxudmFyIHBhcnNlU2hvdyA9IGZ1bmN0aW9uIHBhcnNlU2hvdyhzaG93KSB7XG4gIGlmIChzaG93ID09PSAnJyB8fCBzaG93ID09PSB0cnVlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAocGFyc2VJbnQoc2hvdywgMTApIDwgMSkge1xuICAgIC8vIEJvb2xlYW4gd2lsbCBhbHdheXMgcmV0dXJuIGZhbHNlIGZvciB0aGUgYWJvdmUgY29tcGFyaXNvblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBCb29sZWFuKHNob3cpO1xufTsgLy8gSXMgYSB2YWx1ZSBudW1iZXIgbGlrZSAoaS5lLiBhIG51bWJlciBvciBhIG51bWJlciBhcyBzdHJpbmcpXG5cblxudmFyIGlzTnVtZXJpY0xpa2UgPSBmdW5jdGlvbiBpc051bWVyaWNMaWtlKHZhbHVlKSB7XG4gIHJldHVybiAhaXNOYU4ocGFyc2VJbnQodmFsdWUsIDEwKSk7XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5cbmV4cG9ydCB2YXIgQkFsZXJ0ID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBtaXhpbnM6IFtub3JtYWxpemVTbG90TWl4aW5dLFxuICBtb2RlbDoge1xuICAgIHByb3A6ICdzaG93JyxcbiAgICBldmVudDogJ2lucHV0J1xuICB9LFxuICBwcm9wczoge1xuICAgIHZhcmlhbnQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd2YXJpYW50Jyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBkaXNtaXNzaWJsZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBkaXNtaXNzTGFiZWw6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdkaXNtaXNzTGFiZWwnKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNob3c6IHtcbiAgICAgIHR5cGU6IFtCb29sZWFuLCBOdW1iZXIsIFN0cmluZ10sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgZmFkZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfVxuICB9LFxuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb3VudERvd25UaW1lcklkOiBudWxsLFxuICAgICAgY291bnREb3duOiAwLFxuICAgICAgLy8gSWYgaW5pdGlhbGx5IHNob3duLCB3ZSBuZWVkIHRvIHNldCB0aGVzZSBmb3IgU1NSXG4gICAgICBsb2NhbFNob3c6IHBhcnNlU2hvdyh0aGlzLnNob3cpXG4gICAgfTtcbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBzaG93OiBmdW5jdGlvbiBzaG93KG5ld1ZhbCkge1xuICAgICAgdGhpcy5jb3VudERvd24gPSBwYXJzZUNvdW50RG93bihuZXdWYWwpO1xuICAgICAgdGhpcy5sb2NhbFNob3cgPSBwYXJzZVNob3cobmV3VmFsKTtcbiAgICB9LFxuICAgIGNvdW50RG93bjogZnVuY3Rpb24gY291bnREb3duKG5ld1ZhbCkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgdGhpcy5jbGVhclRpbWVyKCk7XG5cbiAgICAgIGlmIChpc051bWVyaWNMaWtlKHRoaXMuc2hvdykpIHtcbiAgICAgICAgLy8gSWdub3JlIGlmIHRoaXMuc2hvdyB0cmFuc2l0aW9ucyB0byBhIGJvb2xlYW4gdmFsdWUuXG4gICAgICAgIHRoaXMuJGVtaXQoJ2Rpc21pc3MtY291bnQtZG93bicsIG5ld1ZhbCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvdyAhPT0gbmV3VmFsKSB7XG4gICAgICAgICAgLy8gVXBkYXRlIHRoZSB2LW1vZGVsIGlmIG5lZWRlZFxuICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgbmV3VmFsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXdWYWwgPiAwKSB7XG4gICAgICAgICAgdGhpcy5sb2NhbFNob3cgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuY291bnREb3duVGltZXJJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgX3RoaXMuY291bnREb3duLS07XG4gICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gU2xpZ2h0bHkgZGVsYXkgdGhlIGhpZGUgdG8gYWxsb3cgYW55IFVJIHVwZGF0ZXNcbiAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICBfdGhpcy5sb2NhbFNob3cgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBsb2NhbFNob3c6IGZ1bmN0aW9uIGxvY2FsU2hvdyhuZXdWYWwpIHtcbiAgICAgIGlmICghbmV3VmFsICYmICh0aGlzLmRpc21pc3NpYmxlIHx8IGlzTnVtZXJpY0xpa2UodGhpcy5zaG93KSkpIHtcbiAgICAgICAgLy8gT25seSBlbWl0IGRpc21pc3NlZCBldmVudHMgZm9yIGRpc21pc3NpYmxlIG9yIGF1dG8gZGlzbWlzc2luZyBhbGVydHNcbiAgICAgICAgdGhpcy4kZW1pdCgnZGlzbWlzc2VkJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNOdW1lcmljTGlrZSh0aGlzLnNob3cpICYmIHRoaXMuc2hvdyAhPT0gbmV3VmFsKSB7XG4gICAgICAgIC8vIE9ubHkgZW1pdCBib29sZWFucyBpZiB3ZSB3ZXJlbid0IHBhc3NlZCBhIG51bWJlciB2aWEgYHRoaXMuc2hvd2BcbiAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCBuZXdWYWwpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHtcbiAgICB0aGlzLmNvdW50RG93biA9IHBhcnNlQ291bnREb3duKHRoaXMuc2hvdyk7XG4gICAgdGhpcy5sb2NhbFNob3cgPSBwYXJzZVNob3codGhpcy5zaG93KTtcbiAgfSxcbiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICB0aGlzLmNvdW50RG93biA9IHBhcnNlQ291bnREb3duKHRoaXMuc2hvdyk7XG4gICAgdGhpcy5sb2NhbFNob3cgPSBwYXJzZVNob3codGhpcy5zaG93KTtcbiAgfSxcbiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsZWFyVGltZXIoKTtcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIGRpc21pc3M6IGZ1bmN0aW9uIGRpc21pc3MoKSB7XG4gICAgICB0aGlzLmNsZWFyVGltZXIoKTtcbiAgICAgIHRoaXMuY291bnREb3duID0gMDtcbiAgICAgIHRoaXMubG9jYWxTaG93ID0gZmFsc2U7XG4gICAgfSxcbiAgICBjbGVhclRpbWVyOiBmdW5jdGlvbiBjbGVhclRpbWVyKCkge1xuICAgICAgaWYgKHRoaXMuY291bnREb3duVGltZXJJZCkge1xuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuY291bnREb3duVGltZXJJZCk7XG4gICAgICAgIHRoaXMuY291bnREb3duVGltZXJJZCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgdmFyICRhbGVydDsgLy8gdW5kZWZpbmVkXG5cbiAgICBpZiAodGhpcy5sb2NhbFNob3cpIHtcbiAgICAgIHZhciAkZGlzbWlzc0J0biA9IGgoKTtcblxuICAgICAgaWYgKHRoaXMuZGlzbWlzc2libGUpIHtcbiAgICAgICAgLy8gQWRkIGRpc21pc3MgYnV0dG9uXG4gICAgICAgICRkaXNtaXNzQnRuID0gaChCQnV0dG9uQ2xvc2UsIHtcbiAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiB0aGlzLmRpc21pc3NMYWJlbFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb246IHtcbiAgICAgICAgICAgIGNsaWNrOiB0aGlzLmRpc21pc3NcbiAgICAgICAgICB9XG4gICAgICAgIH0sIFt0aGlzLm5vcm1hbGl6ZVNsb3QoJ2Rpc21pc3MnKV0pO1xuICAgICAgfVxuXG4gICAgICAkYWxlcnQgPSBoKCdkaXYnLCB7XG4gICAgICAgIGtleTogdGhpcy5fdWlkLFxuICAgICAgICBzdGF0aWNDbGFzczogJ2FsZXJ0JyxcbiAgICAgICAgY2xhc3M6IF9kZWZpbmVQcm9wZXJ0eSh7XG4gICAgICAgICAgJ2FsZXJ0LWRpc21pc3NpYmxlJzogdGhpcy5kaXNtaXNzaWJsZVxuICAgICAgICB9LCBcImFsZXJ0LVwiLmNvbmNhdCh0aGlzLnZhcmlhbnQpLCB0aGlzLnZhcmlhbnQpLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIHJvbGU6ICdhbGVydCcsXG4gICAgICAgICAgJ2FyaWEtbGl2ZSc6ICdwb2xpdGUnLFxuICAgICAgICAgICdhcmlhLWF0b21pYyc6IHRydWVcbiAgICAgICAgfVxuICAgICAgfSwgWyRkaXNtaXNzQnRuLCB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKV0pO1xuICAgICAgJGFsZXJ0ID0gWyRhbGVydF07XG4gICAgfVxuXG4gICAgcmV0dXJuIGgoQlZUcmFuc2l0aW9uLCB7XG4gICAgICBwcm9wczoge1xuICAgICAgICBub0ZhZGU6ICF0aGlzLmZhZGVcbiAgICAgIH1cbiAgICB9LCAkYWxlcnQpO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmpzXG4vLyBtb2R1bGUgaWQgPSAxMDFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///101\n"); + +/***/ }), +/* 102 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BadgePlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__badge__ = __webpack_require__(103);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BBadge */\n\n\nvar BadgePlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BBadge: __WEBPACK_IMPORTED_MODULE_0__badge__[\"a\" /* BBadge */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9iYWRnZS9pbmRleC5qcz9mMTU2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlDO0FBQ21CO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsWUFBWSxzREFBTTtBQUNsQjtBQUNBLENBQUMiLCJmaWxlIjoiMTAyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkJhZGdlIH0gZnJvbSAnLi9iYWRnZSc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgQmFkZ2VQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCQmFkZ2U6IEJCYWRnZVxuICB9XG59KTtcbmV4cG9ydCB7IEJhZGdlUGx1Z2luLCBCQmFkZ2UgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2JhZGdlL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxMDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///102\n"); + +/***/ }), +/* 103 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BBadge; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_pluck_props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__link_link__ = __webpack_require__(14);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\nvar NAME = 'BBadge';\nvar linkProps = Object(__WEBPACK_IMPORTED_MODULE_4__link_link__[\"b\" /* propsFactory */])();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nvar props = _objectSpread({}, linkProps, {\n tag: {\n type: String,\n default: 'span'\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n pill: {\n type: Boolean,\n default: false\n }\n}); // @vue/component\n\nvar BBadge =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = !props.href && !props.to ? props.tag : __WEBPACK_IMPORTED_MODULE_4__link_link__[\"a\" /* BLink */];\n var componentData = {\n staticClass: 'badge',\n class: [props.variant ? \"badge-\".concat(props.variant) : 'badge-secondary', {\n 'badge-pill': Boolean(props.pill),\n active: props.active,\n disabled: props.disabled\n }],\n props: Object(__WEBPACK_IMPORTED_MODULE_3__utils_pluck_props__[\"a\" /* default */])(linkProps, props)\n };\n return h(tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, componentData), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9iYWRnZS9iYWRnZS5qcz8yM2Q5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNvQjtBQUNFO0FBQ1A7QUFDc0I7QUFDdkU7QUFDQSxnQkFBZ0Isd0VBQWdCO0FBQ2hDO0FBQ0E7QUFDTyw0QkFBNEI7QUFDbkM7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFOztBQUVJO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFELHlEQUFLO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxhQUFhLDJFQUFVO0FBQ3ZCO0FBQ0Esa0JBQWtCLG9GQUFTO0FBQzNCO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMDMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgcGx1Y2tQcm9wcyBmcm9tICcuLi8uLi91dGlscy9wbHVjay1wcm9wcyc7XG5pbXBvcnQgeyBCTGluaywgcHJvcHNGYWN0b3J5IGFzIGxpbmtQcm9wc0ZhY3RvcnkgfSBmcm9tICcuLi9saW5rL2xpbmsnO1xudmFyIE5BTUUgPSAnQkJhZGdlJztcbnZhciBsaW5rUHJvcHMgPSBsaW5rUHJvcHNGYWN0b3J5KCk7XG5kZWxldGUgbGlua1Byb3BzLmhyZWYuZGVmYXVsdDtcbmRlbGV0ZSBsaW5rUHJvcHMudG8uZGVmYXVsdDtcbmV4cG9ydCB2YXIgcHJvcHMgPSBfb2JqZWN0U3ByZWFkKHt9LCBsaW5rUHJvcHMsIHtcbiAgdGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdzcGFuJ1xuICB9LFxuICB2YXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAndmFyaWFudCcpO1xuICAgIH1cbiAgfSxcbiAgcGlsbDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfVxufSk7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkJhZGdlID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgdmFyIHRhZyA9ICFwcm9wcy5ocmVmICYmICFwcm9wcy50byA/IHByb3BzLnRhZyA6IEJMaW5rO1xuICAgIHZhciBjb21wb25lbnREYXRhID0ge1xuICAgICAgc3RhdGljQ2xhc3M6ICdiYWRnZScsXG4gICAgICBjbGFzczogW3Byb3BzLnZhcmlhbnQgPyBcImJhZGdlLVwiLmNvbmNhdChwcm9wcy52YXJpYW50KSA6ICdiYWRnZS1zZWNvbmRhcnknLCB7XG4gICAgICAgICdiYWRnZS1waWxsJzogQm9vbGVhbihwcm9wcy5waWxsKSxcbiAgICAgICAgYWN0aXZlOiBwcm9wcy5hY3RpdmUsXG4gICAgICAgIGRpc2FibGVkOiBwcm9wcy5kaXNhYmxlZFxuICAgICAgfV0sXG4gICAgICBwcm9wczogcGx1Y2tQcm9wcyhsaW5rUHJvcHMsIHByb3BzKVxuICAgIH07XG4gICAgcmV0dXJuIGgodGFnLCBtZXJnZURhdGEoZGF0YSwgY29tcG9uZW50RGF0YSksIGNoaWxkcmVuKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9iYWRnZS9iYWRnZS5qc1xuLy8gbW9kdWxlIGlkID0gMTAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///103\n"); + +/***/ }), +/* 104 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("var identity = function identity(x) {\n return x;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (identity);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvaWRlbnRpdHkuanM/ZmM3OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7O0FBRWUsaUVBQVEiLCJmaWxlIjoiMTA0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGlkZW50aXR5ID0gZnVuY3Rpb24gaWRlbnRpdHkoeCkge1xuICByZXR1cm4geDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGlkZW50aXR5O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL2lkZW50aXR5LmpzXG4vLyBtb2R1bGUgaWQgPSAxMDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///104\n"); + +/***/ }), +/* 105 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export stringifyQueryObj */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return parseQuery; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return isRouterLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return computeTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return computeRel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return computeHref; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__to_string__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__object__ = __webpack_require__(8);\n\n\n\nvar ANCHOR_TAG = 'a'; // Precompile RegExp\n\nvar commaRE = /%2C/g;\nvar encodeReserveRE = /[!'()*]/g; // Method to replace reserved chars\n\nvar encodeReserveReplacer = function encodeReserveReplacer(c) {\n return '%' + c.charCodeAt(0).toString(16);\n}; // Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\n\n\nvar encode = function encode(str) {\n return encodeURIComponent(Object(__WEBPACK_IMPORTED_MODULE_0__to_string__[\"a\" /* default */])(str)).replace(encodeReserveRE, encodeReserveReplacer).replace(commaRE, ',');\n};\n\nvar decode = decodeURIComponent; // Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\n\nvar stringifyQueryObj = function stringifyQueryObj(obj) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"j\" /* isPlainObject */])(obj)) {\n return '';\n }\n\n var query = Object(__WEBPACK_IMPORTED_MODULE_2__object__[\"j\" /* keys */])(obj).map(function (key) {\n var val = obj[key];\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"n\" /* isUndefined */])(val)) {\n return '';\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"g\" /* isNull */])(val)) {\n return encode(key);\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"a\" /* isArray */])(val)) {\n return val.reduce(function (results, val2) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"g\" /* isNull */])(val2)) {\n results.push(encode(key));\n } else if (!Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"n\" /* isUndefined */])(val2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(val2));\n }\n\n return results;\n }, []).join('&');\n } // Faster than string interpolation\n\n\n return encode(key) + '=' + encode(val);\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(function (x) {\n return x.length > 0;\n }).join('&');\n return query ? \"?\".concat(query) : '';\n};\nvar parseQuery = function parseQuery(query) {\n var parsed = {};\n query = Object(__WEBPACK_IMPORTED_MODULE_0__to_string__[\"a\" /* default */])(query).trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return parsed;\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"n\" /* isUndefined */])(parsed[key])) {\n parsed[key] = val;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"a\" /* isArray */])(parsed[key])) {\n parsed[key].push(val);\n } else {\n parsed[key] = [parsed[key], val];\n }\n });\n return parsed;\n};\nvar isRouterLink = function isRouterLink(tag) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__to_string__[\"a\" /* default */])(tag).toLowerCase() !== ANCHOR_TAG;\n};\nvar computeTag = function computeTag() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n to = _ref.to,\n disabled = _ref.disabled;\n\n var thisOrParent = arguments.length > 1 ? arguments[1] : undefined;\n return thisOrParent.$router && to && !disabled ? thisOrParent.$nuxt ? 'nuxt-link' : 'router-link' : ANCHOR_TAG;\n};\nvar computeRel = function computeRel() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n target = _ref2.target,\n rel = _ref2.rel;\n\n if (target === '_blank' && Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"g\" /* isNull */])(rel)) {\n return 'noopener';\n }\n\n return rel || null;\n};\nvar computeHref = function computeHref() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n href = _ref3.href,\n to = _ref3.to;\n\n var tag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ANCHOR_TAG;\n var fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '#';\n var toFallback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '/';\n\n // We've already checked the $router in computeTag(), so isRouterLink() indicates a live router.\n // When deferring to Vue Router's router-link, don't use the href attribute at all.\n // We return null, and then remove href from the attributes passed to router-link\n if (isRouterLink(tag)) {\n return null;\n } // Return `href` when explicitly provided\n\n\n if (href) {\n return href;\n } // Reconstruct `href` when `to` used, but no router\n\n\n if (to) {\n // Fallback to `to` prop (if `to` is a string)\n if (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"m\" /* isString */])(to)) {\n return to || toFallback;\n } // Fallback to `to.path + to.query + to.hash` prop (if `to` is an object)\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__inspect__[\"j\" /* isPlainObject */])(to) && (to.path || to.query || to.hash)) {\n var path = Object(__WEBPACK_IMPORTED_MODULE_0__to_string__[\"a\" /* default */])(to.path);\n var query = stringifyQueryObj(to.query);\n var hash = Object(__WEBPACK_IMPORTED_MODULE_0__to_string__[\"a\" /* default */])(to.hash);\n hash = !hash || hash.charAt(0) === '#' ? hash : \"#\".concat(hash);\n return \"\".concat(path).concat(query).concat(hash) || toFallback;\n }\n } // If nothing is provided return the fallback\n\n\n return fallback;\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvcm91dGVyLmpzPzVlNGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW1DO0FBQytDO0FBQ2xEO0FBQ2hDLHFCQUFxQjs7QUFFckI7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0E7QUFDQSw0QkFBNEIsbUVBQVE7QUFDcEM7O0FBRUEsZ0NBQWdDO0FBQ2hDOztBQUVPO0FBQ1AsT0FBTyx1RUFBYTtBQUNwQjtBQUNBOztBQUVBLGNBQWMsNkRBQUk7QUFDbEI7O0FBRUEsUUFBUSxxRUFBVztBQUNuQjtBQUNBLEtBQUssVUFBVSxnRUFBTTtBQUNyQjtBQUNBLEtBQUssVUFBVSxpRUFBTztBQUN0QjtBQUNBLFlBQVksZ0VBQU07QUFDbEI7QUFDQSxTQUFTLFdBQVcscUVBQVc7QUFDL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7OztBQUdMO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ087QUFDUDtBQUNBLFVBQVUsbUVBQVE7O0FBRWxCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLHFFQUFXO0FBQ25CO0FBQ0EsS0FBSyxVQUFVLGlFQUFPO0FBQ3RCO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNPO0FBQ1AsU0FBUyxtRUFBUTtBQUNqQjtBQUNPO0FBQ1AsbUZBQW1GO0FBQ25GO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ087QUFDUCxvRkFBb0Y7QUFDcEY7QUFDQTs7QUFFQSw2QkFBNkIsZ0VBQU07QUFDbkM7QUFDQTs7QUFFQTtBQUNBO0FBQ087QUFDUCxvRkFBb0Y7QUFDcEY7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0EsUUFBUSxrRUFBUTtBQUNoQjtBQUNBLEtBQUs7OztBQUdMLFFBQVEsdUVBQWE7QUFDckIsaUJBQWlCLG1FQUFRO0FBQ3pCO0FBQ0EsaUJBQWlCLG1FQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0EiLCJmaWxlIjoiMTA1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvU3RyaW5nIGZyb20gJy4vdG8tc3RyaW5nJztcbmltcG9ydCB7IGlzQXJyYXksIGlzTnVsbCwgaXNQbGFpbk9iamVjdCwgaXNTdHJpbmcsIGlzVW5kZWZpbmVkIH0gZnJvbSAnLi9pbnNwZWN0JztcbmltcG9ydCB7IGtleXMgfSBmcm9tICcuL29iamVjdCc7XG52YXIgQU5DSE9SX1RBRyA9ICdhJzsgLy8gUHJlY29tcGlsZSBSZWdFeHBcblxudmFyIGNvbW1hUkUgPSAvJTJDL2c7XG52YXIgZW5jb2RlUmVzZXJ2ZVJFID0gL1shJygpKl0vZzsgLy8gTWV0aG9kIHRvIHJlcGxhY2UgcmVzZXJ2ZWQgY2hhcnNcblxudmFyIGVuY29kZVJlc2VydmVSZXBsYWNlciA9IGZ1bmN0aW9uIGVuY29kZVJlc2VydmVSZXBsYWNlcihjKSB7XG4gIHJldHVybiAnJScgKyBjLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpO1xufTsgLy8gRml4ZWQgZW5jb2RlVVJJQ29tcG9uZW50IHdoaWNoIGlzIG1vcmUgY29uZm9ybWFudCB0byBSRkMzOTg2OlxuLy8gLSBlc2NhcGVzIFshJygpKl1cbi8vIC0gcHJlc2VydmUgY29tbWFzXG5cblxudmFyIGVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShzdHIpIHtcbiAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0b1N0cmluZyhzdHIpKS5yZXBsYWNlKGVuY29kZVJlc2VydmVSRSwgZW5jb2RlUmVzZXJ2ZVJlcGxhY2VyKS5yZXBsYWNlKGNvbW1hUkUsICcsJyk7XG59O1xuXG52YXIgZGVjb2RlID0gZGVjb2RlVVJJQ29tcG9uZW50OyAvLyBTdHJpbmdpZmllcyBhbiBvYmplY3Qgb2YgcXVlcnkgcGFyYW1ldGVyc1xuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdnVlanMvdnVlLXJvdXRlci9ibG9iL2Rldi9zcmMvdXRpbC9xdWVyeS5qc1xuXG5leHBvcnQgdmFyIHN0cmluZ2lmeVF1ZXJ5T2JqID0gZnVuY3Rpb24gc3RyaW5naWZ5UXVlcnlPYmoob2JqKSB7XG4gIGlmICghaXNQbGFpbk9iamVjdChvYmopKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgdmFyIHF1ZXJ5ID0ga2V5cyhvYmopLm1hcChmdW5jdGlvbiAoa2V5KSB7XG4gICAgdmFyIHZhbCA9IG9ialtrZXldO1xuXG4gICAgaWYgKGlzVW5kZWZpbmVkKHZhbCkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IGVsc2UgaWYgKGlzTnVsbCh2YWwpKSB7XG4gICAgICByZXR1cm4gZW5jb2RlKGtleSk7XG4gICAgfSBlbHNlIGlmIChpc0FycmF5KHZhbCkpIHtcbiAgICAgIHJldHVybiB2YWwucmVkdWNlKGZ1bmN0aW9uIChyZXN1bHRzLCB2YWwyKSB7XG4gICAgICAgIGlmIChpc051bGwodmFsMikpIHtcbiAgICAgICAgICByZXN1bHRzLnB1c2goZW5jb2RlKGtleSkpO1xuICAgICAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZCh2YWwyKSkge1xuICAgICAgICAgIC8vIEZhc3RlciB0aGFuIHN0cmluZyBpbnRlcnBvbGF0aW9uXG4gICAgICAgICAgcmVzdWx0cy5wdXNoKGVuY29kZShrZXkpICsgJz0nICsgZW5jb2RlKHZhbDIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgfSwgW10pLmpvaW4oJyYnKTtcbiAgICB9IC8vIEZhc3RlciB0aGFuIHN0cmluZyBpbnRlcnBvbGF0aW9uXG5cblxuICAgIHJldHVybiBlbmNvZGUoa2V5KSArICc9JyArIGVuY29kZSh2YWwpO1xuICB9KVxuICAvKiBtdXN0IGNoZWNrIGZvciBsZW5ndGgsIGFzIHdlIG9ubHkgd2FudCB0byBmaWx0ZXIgZW1wdHkgc3RyaW5ncywgbm90IHRoaW5ncyB0aGF0IGxvb2sgZmFsc2V5ISAqL1xuICAuZmlsdGVyKGZ1bmN0aW9uICh4KSB7XG4gICAgcmV0dXJuIHgubGVuZ3RoID4gMDtcbiAgfSkuam9pbignJicpO1xuICByZXR1cm4gcXVlcnkgPyBcIj9cIi5jb25jYXQocXVlcnkpIDogJyc7XG59O1xuZXhwb3J0IHZhciBwYXJzZVF1ZXJ5ID0gZnVuY3Rpb24gcGFyc2VRdWVyeShxdWVyeSkge1xuICB2YXIgcGFyc2VkID0ge307XG4gIHF1ZXJ5ID0gdG9TdHJpbmcocXVlcnkpLnRyaW0oKS5yZXBsYWNlKC9eKFxcP3wjfCYpLywgJycpO1xuXG4gIGlmICghcXVlcnkpIHtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9XG5cbiAgcXVlcnkuc3BsaXQoJyYnKS5mb3JFYWNoKGZ1bmN0aW9uIChwYXJhbSkge1xuICAgIHZhciBwYXJ0cyA9IHBhcmFtLnJlcGxhY2UoL1xcKy9nLCAnICcpLnNwbGl0KCc9Jyk7XG4gICAgdmFyIGtleSA9IGRlY29kZShwYXJ0cy5zaGlmdCgpKTtcbiAgICB2YXIgdmFsID0gcGFydHMubGVuZ3RoID4gMCA/IGRlY29kZShwYXJ0cy5qb2luKCc9JykpIDogbnVsbDtcblxuICAgIGlmIChpc1VuZGVmaW5lZChwYXJzZWRba2V5XSkpIHtcbiAgICAgIHBhcnNlZFtrZXldID0gdmFsO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShwYXJzZWRba2V5XSkpIHtcbiAgICAgIHBhcnNlZFtrZXldLnB1c2godmFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VkW2tleV0gPSBbcGFyc2VkW2tleV0sIHZhbF07XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHBhcnNlZDtcbn07XG5leHBvcnQgdmFyIGlzUm91dGVyTGluayA9IGZ1bmN0aW9uIGlzUm91dGVyTGluayh0YWcpIHtcbiAgcmV0dXJuIHRvU3RyaW5nKHRhZykudG9Mb3dlckNhc2UoKSAhPT0gQU5DSE9SX1RBRztcbn07XG5leHBvcnQgdmFyIGNvbXB1dGVUYWcgPSBmdW5jdGlvbiBjb21wdXRlVGFnKCkge1xuICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sXG4gICAgICB0byA9IF9yZWYudG8sXG4gICAgICBkaXNhYmxlZCA9IF9yZWYuZGlzYWJsZWQ7XG5cbiAgdmFyIHRoaXNPclBhcmVudCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkO1xuICByZXR1cm4gdGhpc09yUGFyZW50LiRyb3V0ZXIgJiYgdG8gJiYgIWRpc2FibGVkID8gdGhpc09yUGFyZW50LiRudXh0ID8gJ251eHQtbGluaycgOiAncm91dGVyLWxpbmsnIDogQU5DSE9SX1RBRztcbn07XG5leHBvcnQgdmFyIGNvbXB1dGVSZWwgPSBmdW5jdGlvbiBjb21wdXRlUmVsKCkge1xuICB2YXIgX3JlZjIgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LFxuICAgICAgdGFyZ2V0ID0gX3JlZjIudGFyZ2V0LFxuICAgICAgcmVsID0gX3JlZjIucmVsO1xuXG4gIGlmICh0YXJnZXQgPT09ICdfYmxhbmsnICYmIGlzTnVsbChyZWwpKSB7XG4gICAgcmV0dXJuICdub29wZW5lcic7XG4gIH1cblxuICByZXR1cm4gcmVsIHx8IG51bGw7XG59O1xuZXhwb3J0IHZhciBjb21wdXRlSHJlZiA9IGZ1bmN0aW9uIGNvbXB1dGVIcmVmKCkge1xuICB2YXIgX3JlZjMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LFxuICAgICAgaHJlZiA9IF9yZWYzLmhyZWYsXG4gICAgICB0byA9IF9yZWYzLnRvO1xuXG4gIHZhciB0YWcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IEFOQ0hPUl9UQUc7XG4gIHZhciBmYWxsYmFjayA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogJyMnO1xuICB2YXIgdG9GYWxsYmFjayA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogJy8nO1xuXG4gIC8vIFdlJ3ZlIGFscmVhZHkgY2hlY2tlZCB0aGUgJHJvdXRlciBpbiBjb21wdXRlVGFnKCksIHNvIGlzUm91dGVyTGluaygpIGluZGljYXRlcyBhIGxpdmUgcm91dGVyLlxuICAvLyBXaGVuIGRlZmVycmluZyB0byBWdWUgUm91dGVyJ3Mgcm91dGVyLWxpbmssIGRvbid0IHVzZSB0aGUgaHJlZiBhdHRyaWJ1dGUgYXQgYWxsLlxuICAvLyBXZSByZXR1cm4gbnVsbCwgYW5kIHRoZW4gcmVtb3ZlIGhyZWYgZnJvbSB0aGUgYXR0cmlidXRlcyBwYXNzZWQgdG8gcm91dGVyLWxpbmtcbiAgaWYgKGlzUm91dGVyTGluayh0YWcpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gUmV0dXJuIGBocmVmYCB3aGVuIGV4cGxpY2l0bHkgcHJvdmlkZWRcblxuXG4gIGlmIChocmVmKSB7XG4gICAgcmV0dXJuIGhyZWY7XG4gIH0gLy8gUmVjb25zdHJ1Y3QgYGhyZWZgIHdoZW4gYHRvYCB1c2VkLCBidXQgbm8gcm91dGVyXG5cblxuICBpZiAodG8pIHtcbiAgICAvLyBGYWxsYmFjayB0byBgdG9gIHByb3AgKGlmIGB0b2AgaXMgYSBzdHJpbmcpXG4gICAgaWYgKGlzU3RyaW5nKHRvKSkge1xuICAgICAgcmV0dXJuIHRvIHx8IHRvRmFsbGJhY2s7XG4gICAgfSAvLyBGYWxsYmFjayB0byBgdG8ucGF0aCArIHRvLnF1ZXJ5ICsgdG8uaGFzaGAgcHJvcCAoaWYgYHRvYCBpcyBhbiBvYmplY3QpXG5cblxuICAgIGlmIChpc1BsYWluT2JqZWN0KHRvKSAmJiAodG8ucGF0aCB8fCB0by5xdWVyeSB8fCB0by5oYXNoKSkge1xuICAgICAgdmFyIHBhdGggPSB0b1N0cmluZyh0by5wYXRoKTtcbiAgICAgIHZhciBxdWVyeSA9IHN0cmluZ2lmeVF1ZXJ5T2JqKHRvLnF1ZXJ5KTtcbiAgICAgIHZhciBoYXNoID0gdG9TdHJpbmcodG8uaGFzaCk7XG4gICAgICBoYXNoID0gIWhhc2ggfHwgaGFzaC5jaGFyQXQoMCkgPT09ICcjJyA/IGhhc2ggOiBcIiNcIi5jb25jYXQoaGFzaCk7XG4gICAgICByZXR1cm4gXCJcIi5jb25jYXQocGF0aCkuY29uY2F0KHF1ZXJ5KS5jb25jYXQoaGFzaCkgfHwgdG9GYWxsYmFjaztcbiAgICB9XG4gIH0gLy8gSWYgbm90aGluZyBpcyBwcm92aWRlZCByZXR1cm4gdGhlIGZhbGxiYWNrXG5cblxuICByZXR1cm4gZmFsbGJhY2s7XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL3JvdXRlci5qc1xuLy8gbW9kdWxlIGlkID0gMTA1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///105\n"); + +/***/ }), +/* 106 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BreadcrumbPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__breadcrumb__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__breadcrumb_item__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__breadcrumb_link__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BBreadcrumb */\n/* unused harmony reexport BBreadcrumbItem */\n/* unused harmony reexport BBreadcrumbLink */\n\n\n\n\nvar BreadcrumbPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_3__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BBreadcrumb: __WEBPACK_IMPORTED_MODULE_0__breadcrumb__[\"a\" /* BBreadcrumb */],\n BBreadcrumbItem: __WEBPACK_IMPORTED_MODULE_1__breadcrumb_item__[\"a\" /* BBreadcrumbItem */],\n BBreadcrumbLink: __WEBPACK_IMPORTED_MODULE_2__breadcrumb_link__[\"a\" /* BBreadcrumbLink */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9icmVhZGNydW1iL2luZGV4LmpzP2Q4ZWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUEyQztBQUNTO0FBQ0E7QUFDQTtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGlCQUFpQixnRUFBVztBQUM1QixxQkFBcUIseUVBQWU7QUFDcEMscUJBQXFCLHlFQUFlO0FBQ3BDO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCQnJlYWRjcnVtYiB9IGZyb20gJy4vYnJlYWRjcnVtYic7XG5pbXBvcnQgeyBCQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuL2JyZWFkY3J1bWItaXRlbSc7XG5pbXBvcnQgeyBCQnJlYWRjcnVtYkxpbmsgfSBmcm9tICcuL2JyZWFkY3J1bWItbGluayc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgQnJlYWRjcnVtYlBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJCcmVhZGNydW1iOiBCQnJlYWRjcnVtYixcbiAgICBCQnJlYWRjcnVtYkl0ZW06IEJCcmVhZGNydW1iSXRlbSxcbiAgICBCQnJlYWRjcnVtYkxpbms6IEJCcmVhZGNydW1iTGlua1xuICB9XG59KTtcbmV4cG9ydCB7IEJyZWFkY3J1bWJQbHVnaW4sIEJCcmVhZGNydW1iLCBCQnJlYWRjcnVtYkl0ZW0sIEJCcmVhZGNydW1iTGluayB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///106\n"); + +/***/ }), +/* 107 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BBreadcrumb; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_to_string__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__breadcrumb_item__ = __webpack_require__(54);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\nvar props = {\n items: {\n type: Array,\n default: null\n }\n}; // @vue/component\n\nvar BBreadcrumb =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BBreadcrumb',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var childNodes = children; // Build child nodes from items if given.\n\n if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"a\" /* isArray */])(props.items)) {\n var activeDefined = false;\n childNodes = props.items.map(function (item, idx) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"i\" /* isObject */])(item)) {\n item = {\n text: Object(__WEBPACK_IMPORTED_MODULE_2__utils_to_string__[\"a\" /* default */])(item)\n };\n } // Copy the value here so we can normalize it.\n\n\n var active = item.active;\n\n if (active) {\n activeDefined = true;\n }\n\n if (!active && !activeDefined) {\n // Auto-detect active by position in list.\n active = idx + 1 === props.items.length;\n }\n\n return h(__WEBPACK_IMPORTED_MODULE_4__breadcrumb_item__[\"a\" /* BBreadcrumbItem */], {\n props: _objectSpread({}, item, {\n active: active\n })\n });\n });\n }\n\n return h('ol', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'breadcrumb'\n }), childNodes);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuanM/YTNlMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7QUFDVDtBQUNXO0FBQ0o7QUFDN0M7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7O0FBRTlCLFFBQVEsdUVBQU87QUFDZjtBQUNBO0FBQ0EsYUFBYSx3RUFBUTtBQUNyQjtBQUNBLGtCQUFrQix5RUFBUTtBQUMxQjtBQUNBLFNBQVM7OztBQUdUOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIseUVBQWU7QUFDaEMsaUNBQWlDO0FBQ2pDO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVCxPQUFPO0FBQ1A7O0FBRUEsbUJBQW1CLG9GQUFTO0FBQzVCO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMDcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB0b1N0cmluZyBmcm9tICcuLi8uLi91dGlscy90by1zdHJpbmcnO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNPYmplY3QgfSBmcm9tICcuLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7IEJCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtJztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIGl0ZW1zOiB7XG4gICAgdHlwZTogQXJyYXksXG4gICAgZGVmYXVsdDogbnVsbFxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJCcmVhZGNydW1iID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkJyZWFkY3J1bWInLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgdmFyIGNoaWxkTm9kZXMgPSBjaGlsZHJlbjsgLy8gQnVpbGQgY2hpbGQgbm9kZXMgZnJvbSBpdGVtcyBpZiBnaXZlbi5cblxuICAgIGlmIChpc0FycmF5KHByb3BzLml0ZW1zKSkge1xuICAgICAgdmFyIGFjdGl2ZURlZmluZWQgPSBmYWxzZTtcbiAgICAgIGNoaWxkTm9kZXMgPSBwcm9wcy5pdGVtcy5tYXAoZnVuY3Rpb24gKGl0ZW0sIGlkeCkge1xuICAgICAgICBpZiAoIWlzT2JqZWN0KGl0ZW0pKSB7XG4gICAgICAgICAgaXRlbSA9IHtcbiAgICAgICAgICAgIHRleHQ6IHRvU3RyaW5nKGl0ZW0pXG4gICAgICAgICAgfTtcbiAgICAgICAgfSAvLyBDb3B5IHRoZSB2YWx1ZSBoZXJlIHNvIHdlIGNhbiBub3JtYWxpemUgaXQuXG5cblxuICAgICAgICB2YXIgYWN0aXZlID0gaXRlbS5hY3RpdmU7XG5cbiAgICAgICAgaWYgKGFjdGl2ZSkge1xuICAgICAgICAgIGFjdGl2ZURlZmluZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFhY3RpdmUgJiYgIWFjdGl2ZURlZmluZWQpIHtcbiAgICAgICAgICAvLyBBdXRvLWRldGVjdCBhY3RpdmUgYnkgcG9zaXRpb24gaW4gbGlzdC5cbiAgICAgICAgICBhY3RpdmUgPSBpZHggKyAxID09PSBwcm9wcy5pdGVtcy5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaChCQnJlYWRjcnVtYkl0ZW0sIHtcbiAgICAgICAgICBwcm9wczogX29iamVjdFNwcmVhZCh7fSwgaXRlbSwge1xuICAgICAgICAgICAgYWN0aXZlOiBhY3RpdmVcbiAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBoKCdvbCcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ2JyZWFkY3J1bWInXG4gICAgfSksIGNoaWxkTm9kZXMpO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5qc1xuLy8gbW9kdWxlIGlkID0gMTA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///107\n"); + +/***/ }), +/* 108 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return props; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BBreadcrumbLink; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__link_link__ = __webpack_require__(14);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\nvar props = _objectSpread({}, Object(__WEBPACK_IMPORTED_MODULE_4__link_link__[\"b\" /* propsFactory */])(), {\n text: {\n type: String,\n default: null\n },\n html: {\n type: String,\n default: null\n },\n ariaCurrent: {\n type: String,\n default: 'location'\n }\n}); // @vue/component\n\nvar BBreadcrumbLink =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BBreadcrumbLink',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var suppliedProps = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = suppliedProps.active ? 'span' : __WEBPACK_IMPORTED_MODULE_4__link_link__[\"a\" /* BLink */];\n var componentData = {\n props: Object(__WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__[\"a\" /* default */])(props, suppliedProps)\n };\n\n if (suppliedProps.active) {\n componentData.attrs = {\n 'aria-current': suppliedProps.ariaCurrent\n };\n }\n\n if (!children) {\n componentData.domProps = Object(__WEBPACK_IMPORTED_MODULE_3__utils_html__[\"a\" /* htmlOrText */])(suppliedProps.html, suppliedProps.text);\n }\n\n return h(tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, componentData), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWItbGluay5qcz9mMGQyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNvQjtBQUNMO0FBQ0g7QUFDeUI7QUFDaEUsNEJBQTRCLEVBQUUsd0VBQWdCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUU7O0FBRUk7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMseURBQUs7QUFDbkQ7QUFDQSxhQUFhLDJFQUFVO0FBQ3ZCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0IsdUVBQVU7QUFDekM7O0FBRUEsa0JBQWtCLG9GQUFTO0FBQzNCO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMDguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCBwbHVja1Byb3BzIGZyb20gJy4uLy4uL3V0aWxzL3BsdWNrLXByb3BzJztcbmltcG9ydCB7IGh0bWxPclRleHQgfSBmcm9tICcuLi8uLi91dGlscy9odG1sJztcbmltcG9ydCB7IEJMaW5rLCBwcm9wc0ZhY3RvcnkgYXMgbGlua1Byb3BzRmFjdG9yeSB9IGZyb20gJy4uL2xpbmsvbGluayc7XG5leHBvcnQgdmFyIHByb3BzID0gX29iamVjdFNwcmVhZCh7fSwgbGlua1Byb3BzRmFjdG9yeSgpLCB7XG4gIHRleHQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBodG1sOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgYXJpYUN1cnJlbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2xvY2F0aW9uJ1xuICB9XG59KTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCQnJlYWRjcnVtYkxpbmsgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCQnJlYWRjcnVtYkxpbmsnLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgc3VwcGxpZWRQcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICB2YXIgdGFnID0gc3VwcGxpZWRQcm9wcy5hY3RpdmUgPyAnc3BhbicgOiBCTGluaztcbiAgICB2YXIgY29tcG9uZW50RGF0YSA9IHtcbiAgICAgIHByb3BzOiBwbHVja1Byb3BzKHByb3BzLCBzdXBwbGllZFByb3BzKVxuICAgIH07XG5cbiAgICBpZiAoc3VwcGxpZWRQcm9wcy5hY3RpdmUpIHtcbiAgICAgIGNvbXBvbmVudERhdGEuYXR0cnMgPSB7XG4gICAgICAgICdhcmlhLWN1cnJlbnQnOiBzdXBwbGllZFByb3BzLmFyaWFDdXJyZW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICghY2hpbGRyZW4pIHtcbiAgICAgIGNvbXBvbmVudERhdGEuZG9tUHJvcHMgPSBodG1sT3JUZXh0KHN1cHBsaWVkUHJvcHMuaHRtbCwgc3VwcGxpZWRQcm9wcy50ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gaCh0YWcsIG1lcmdlRGF0YShkYXRhLCBjb21wb25lbnREYXRhKSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1saW5rLmpzXG4vLyBtb2R1bGUgaWQgPSAxMDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///108\n"); + +/***/ }), +/* 109 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ButtonPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__button__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__button_close__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BButton */\n/* unused harmony reexport BButtonClose */\n\n\n\nvar ButtonPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BButton: __WEBPACK_IMPORTED_MODULE_0__button__[\"a\" /* BButton */],\n BBtn: __WEBPACK_IMPORTED_MODULE_0__button__[\"a\" /* BButton */],\n BButtonClose: __WEBPACK_IMPORTED_MODULE_1__button_close__[\"a\" /* BButtonClose */],\n BBtnClose: __WEBPACK_IMPORTED_MODULE_1__button_close__[\"a\" /* BButtonClose */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24vaW5kZXguanM/ZGU1YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBbUM7QUFDVztBQUNNO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsYUFBYSx3REFBTztBQUNwQixVQUFVLHdEQUFPO0FBQ2pCLGtCQUFrQixtRUFBWTtBQUM5QixlQUFlLG1FQUFZO0FBQzNCO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCQnV0dG9uIH0gZnJvbSAnLi9idXR0b24nO1xuaW1wb3J0IHsgQkJ1dHRvbkNsb3NlIH0gZnJvbSAnLi9idXR0b24tY2xvc2UnO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIEJ1dHRvblBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJCdXR0b246IEJCdXR0b24sXG4gICAgQkJ0bjogQkJ1dHRvbixcbiAgICBCQnV0dG9uQ2xvc2U6IEJCdXR0b25DbG9zZSxcbiAgICBCQnRuQ2xvc2U6IEJCdXR0b25DbG9zZVxuICB9XG59KTtcbmV4cG9ydCB7IEJ1dHRvblBsdWdpbiwgQkJ1dHRvbiwgQkJ1dHRvbkNsb3NlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24vaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDEwOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///109\n"); + +/***/ }), +/* 110 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ButtonGroupPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__button_group__ = __webpack_require__(111);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BButtonGroup */\n\n\nvar ButtonGroupPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BButtonGroup: __WEBPACK_IMPORTED_MODULE_0__button_group__[\"a\" /* BButtonGroup */],\n BBtnGroup: __WEBPACK_IMPORTED_MODULE_0__button_group__[\"a\" /* BButtonGroup */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24tZ3JvdXAvaW5kZXguanM/Y2U5MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUE4QztBQUNNO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0Esa0JBQWtCLG1FQUFZO0FBQzlCLGVBQWUsbUVBQVk7QUFDM0I7QUFDQSxDQUFDIiwiZmlsZSI6IjExMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJCdXR0b25Hcm91cCB9IGZyb20gJy4vYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBCdXR0b25Hcm91cFBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJCdXR0b25Hcm91cDogQkJ1dHRvbkdyb3VwLFxuICAgIEJCdG5Hcm91cDogQkJ1dHRvbkdyb3VwXG4gIH1cbn0pO1xuZXhwb3J0IHsgQnV0dG9uR3JvdXBQbHVnaW4sIEJCdXR0b25Hcm91cCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxMTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///110\n"); + +/***/ }), +/* 111 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BButtonGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\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\n\n\n\nvar NAME = 'BButtonGroup';\nvar props = {\n vertical: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])('BButton', 'size');\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n ariaRole: {\n type: String,\n default: 'group'\n }\n}; // @vue/component\n\nvar BButtonGroup =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: _defineProperty({\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical\n }, \"btn-group-\".concat(props.size), Boolean(props.size)),\n attrs: {\n role: props.ariaRole\n }\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmpzPzUzNDYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNvQjtBQUNFO0FBQ3hEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixvRkFBUztBQUNqQztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG52YXIgTkFNRSA9ICdCQnV0dG9uR3JvdXAnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgdmVydGljYWw6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIHNpemU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKCdCQnV0dG9uJywgJ3NpemUnKTtcbiAgICB9XG4gIH0sXG4gIHRhZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnZGl2J1xuICB9LFxuICBhcmlhUm9sZToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnZ3JvdXAnXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkJ1dHRvbkdyb3VwID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgcmV0dXJuIGgocHJvcHMudGFnLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgY2xhc3M6IF9kZWZpbmVQcm9wZXJ0eSh7XG4gICAgICAgICdidG4tZ3JvdXAnOiAhcHJvcHMudmVydGljYWwsXG4gICAgICAgICdidG4tZ3JvdXAtdmVydGljYWwnOiBwcm9wcy52ZXJ0aWNhbFxuICAgICAgfSwgXCJidG4tZ3JvdXAtXCIuY29uY2F0KHByb3BzLnNpemUpLCBCb29sZWFuKHByb3BzLnNpemUpKSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6IHByb3BzLmFyaWFSb2xlXG4gICAgICB9XG4gICAgfSksIGNoaWxkcmVuKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmpzXG4vLyBtb2R1bGUgaWQgPSAxMTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///111\n"); + +/***/ }), +/* 112 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ButtonToolbarPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__button_toolbar__ = __webpack_require__(113);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BButtonToolbar */\n\n\nvar ButtonToolbarPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BButtonToolbar: __WEBPACK_IMPORTED_MODULE_0__button_toolbar__[\"a\" /* BButtonToolbar */],\n BBtnToolbar: __WEBPACK_IMPORTED_MODULE_0__button_toolbar__[\"a\" /* BButtonToolbar */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24tdG9vbGJhci9pbmRleC5qcz81NjY2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtEO0FBQ0U7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxvQkFBb0IsdUVBQWM7QUFDbEMsaUJBQWlCLHVFQUFjO0FBQy9CO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCQnV0dG9uVG9vbGJhciB9IGZyb20gJy4vYnV0dG9uLXRvb2xiYXInO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIEJ1dHRvblRvb2xiYXJQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCQnV0dG9uVG9vbGJhcjogQkJ1dHRvblRvb2xiYXIsXG4gICAgQkJ0blRvb2xiYXI6IEJCdXR0b25Ub29sYmFyXG4gIH1cbn0pO1xuZXhwb3J0IHsgQnV0dG9uVG9vbGJhclBsdWdpbiwgQkJ1dHRvblRvb2xiYXIgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2J1dHRvbi10b29sYmFyL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxMTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///112\n"); + +/***/ }), +/* 113 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BButtonToolbar; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_key_codes__ = __webpack_require__(19);\n\n\n\n\nvar ITEM_SELECTOR = ['.btn:not(.disabled):not([disabled]):not(.dropdown-item)', '.form-control:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'input[type=\"checkbox\"]:not(.disabled)', 'input[type=\"radio\"]:not(.disabled)'].join(','); // @vue/component\n\nvar BButtonToolbar =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BButtonToolbar',\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */]],\n props: {\n justify: {\n type: Boolean,\n default: false\n },\n keyNav: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n if (this.keyNav) {\n // Pre-set the tabindexes if the markup does not include tabindex=\"-1\" on the toolbar items\n this.getItems();\n }\n },\n methods: {\n onFocusin: function onFocusin(evt) {\n if (evt.target === this.$el) {\n evt.preventDefault();\n evt.stopPropagation();\n this.focusFirst(evt);\n }\n },\n stop: function stop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n },\n onKeydown: function onKeydown(evt) {\n if (!this.keyNav) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var key = evt.keyCode;\n var shift = evt.shiftKey;\n\n if (key === __WEBPACK_IMPORTED_MODULE_3__utils_key_codes__[\"a\" /* default */].UP || key === __WEBPACK_IMPORTED_MODULE_3__utils_key_codes__[\"a\" /* default */].LEFT) {\n this.stop(evt);\n shift ? this.focusFirst(evt) : this.focusPrev(evt);\n } else if (key === __WEBPACK_IMPORTED_MODULE_3__utils_key_codes__[\"a\" /* default */].DOWN || key === __WEBPACK_IMPORTED_MODULE_3__utils_key_codes__[\"a\" /* default */].RIGHT) {\n this.stop(evt);\n shift ? this.focusLast(evt) : this.focusNext(evt);\n }\n },\n setItemFocus: function setItemFocus(item) {\n item && item.focus && item.focus();\n },\n focusFirst: function focusFirst(evt) {\n var items = this.getItems();\n this.setItemFocus(items[0]);\n },\n focusPrev: function focusPrev(evt) {\n var items = this.getItems();\n var index = items.indexOf(evt.target);\n\n if (index > -1) {\n items = items.slice(0, index).reverse();\n this.setItemFocus(items[0]);\n }\n },\n focusNext: function focusNext(evt) {\n var items = this.getItems();\n var index = items.indexOf(evt.target);\n\n if (index > -1) {\n items = items.slice(index + 1);\n this.setItemFocus(items[0]);\n }\n },\n focusLast: function focusLast(evt) {\n var items = this.getItems().reverse();\n this.setItemFocus(items[0]);\n },\n getItems: function getItems() {\n var items = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"y\" /* selectAll */])(ITEM_SELECTOR, this.$el);\n items.forEach(function (item) {\n // Ensure tabfocus is -1 on any new elements\n item.tabIndex = -1;\n });\n return items.filter(function (el) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"p\" /* isVisible */])(el);\n });\n }\n },\n render: function render(h) {\n return h('div', {\n staticClass: 'btn-toolbar',\n class: {\n 'justify-content-between': this.justify\n },\n attrs: {\n role: 'toolbar',\n tabindex: this.keyNav ? '0' : null\n },\n on: this.keyNav ? {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n } : {}\n }, [this.normalizeSlot('default')]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24tdG9vbGJhci9idXR0b24tdG9vbGJhci5qcz80NjcyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDcUI7QUFDTTtBQUNoQjtBQUM3QyxrUUFBa1E7O0FBRTNQO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVyx1RUFBa0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtCQUFrQixpRUFBUSxlQUFlLGlFQUFRO0FBQ2pEO0FBQ0E7QUFDQSxPQUFPLGtCQUFrQixpRUFBUSxpQkFBaUIsaUVBQVE7QUFDMUQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esa0JBQWtCLHFFQUFTO0FBQzNCO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLGVBQWUscUVBQVM7QUFDeEIsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjExMy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IGlzVmlzaWJsZSwgc2VsZWN0QWxsIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCBLZXlDb2RlcyBmcm9tICcuLi8uLi91dGlscy9rZXktY29kZXMnO1xudmFyIElURU1fU0VMRUNUT1IgPSBbJy5idG46bm90KC5kaXNhYmxlZCk6bm90KFtkaXNhYmxlZF0pOm5vdCguZHJvcGRvd24taXRlbSknLCAnLmZvcm0tY29udHJvbDpub3QoLmRpc2FibGVkKTpub3QoW2Rpc2FibGVkXSknLCAnc2VsZWN0Om5vdCguZGlzYWJsZWQpOm5vdChbZGlzYWJsZWRdKScsICdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KC5kaXNhYmxlZCknLCAnaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCguZGlzYWJsZWQpJ10uam9pbignLCcpOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJCdXR0b25Ub29sYmFyID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkJ1dHRvblRvb2xiYXInLFxuICBtaXhpbnM6IFtub3JtYWxpemVTbG90TWl4aW5dLFxuICBwcm9wczoge1xuICAgIGp1c3RpZnk6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAga2V5TmF2OiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9XG4gIH0sXG4gIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgaWYgKHRoaXMua2V5TmF2KSB7XG4gICAgICAvLyBQcmUtc2V0IHRoZSB0YWJpbmRleGVzIGlmIHRoZSBtYXJrdXAgZG9lcyBub3QgaW5jbHVkZSB0YWJpbmRleD1cIi0xXCIgb24gdGhlIHRvb2xiYXIgaXRlbXNcbiAgICAgIHRoaXMuZ2V0SXRlbXMoKTtcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBvbkZvY3VzaW46IGZ1bmN0aW9uIG9uRm9jdXNpbihldnQpIHtcbiAgICAgIGlmIChldnQudGFyZ2V0ID09PSB0aGlzLiRlbCkge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3QoZXZ0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHN0b3A6IGZ1bmN0aW9uIHN0b3AoZXZ0KSB7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9LFxuICAgIG9uS2V5ZG93bjogZnVuY3Rpb24gb25LZXlkb3duKGV2dCkge1xuICAgICAgaWYgKCF0aGlzLmtleU5hdikge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogc2hvdWxkIG5ldmVyIGhhcHBlbiAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBrZXkgPSBldnQua2V5Q29kZTtcbiAgICAgIHZhciBzaGlmdCA9IGV2dC5zaGlmdEtleTtcblxuICAgICAgaWYgKGtleSA9PT0gS2V5Q29kZXMuVVAgfHwga2V5ID09PSBLZXlDb2Rlcy5MRUZUKSB7XG4gICAgICAgIHRoaXMuc3RvcChldnQpO1xuICAgICAgICBzaGlmdCA/IHRoaXMuZm9jdXNGaXJzdChldnQpIDogdGhpcy5mb2N1c1ByZXYoZXZ0KTtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBLZXlDb2Rlcy5ET1dOIHx8IGtleSA9PT0gS2V5Q29kZXMuUklHSFQpIHtcbiAgICAgICAgdGhpcy5zdG9wKGV2dCk7XG4gICAgICAgIHNoaWZ0ID8gdGhpcy5mb2N1c0xhc3QoZXZ0KSA6IHRoaXMuZm9jdXNOZXh0KGV2dCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXRJdGVtRm9jdXM6IGZ1bmN0aW9uIHNldEl0ZW1Gb2N1cyhpdGVtKSB7XG4gICAgICBpdGVtICYmIGl0ZW0uZm9jdXMgJiYgaXRlbS5mb2N1cygpO1xuICAgIH0sXG4gICAgZm9jdXNGaXJzdDogZnVuY3Rpb24gZm9jdXNGaXJzdChldnQpIHtcbiAgICAgIHZhciBpdGVtcyA9IHRoaXMuZ2V0SXRlbXMoKTtcbiAgICAgIHRoaXMuc2V0SXRlbUZvY3VzKGl0ZW1zWzBdKTtcbiAgICB9LFxuICAgIGZvY3VzUHJldjogZnVuY3Rpb24gZm9jdXNQcmV2KGV2dCkge1xuICAgICAgdmFyIGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuICAgICAgdmFyIGluZGV4ID0gaXRlbXMuaW5kZXhPZihldnQudGFyZ2V0KTtcblxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgaXRlbXMgPSBpdGVtcy5zbGljZSgwLCBpbmRleCkucmV2ZXJzZSgpO1xuICAgICAgICB0aGlzLnNldEl0ZW1Gb2N1cyhpdGVtc1swXSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBmb2N1c05leHQ6IGZ1bmN0aW9uIGZvY3VzTmV4dChldnQpIHtcbiAgICAgIHZhciBpdGVtcyA9IHRoaXMuZ2V0SXRlbXMoKTtcbiAgICAgIHZhciBpbmRleCA9IGl0ZW1zLmluZGV4T2YoZXZ0LnRhcmdldCk7XG5cbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGl0ZW1zID0gaXRlbXMuc2xpY2UoaW5kZXggKyAxKTtcbiAgICAgICAgdGhpcy5zZXRJdGVtRm9jdXMoaXRlbXNbMF0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgZm9jdXNMYXN0OiBmdW5jdGlvbiBmb2N1c0xhc3QoZXZ0KSB7XG4gICAgICB2YXIgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCkucmV2ZXJzZSgpO1xuICAgICAgdGhpcy5zZXRJdGVtRm9jdXMoaXRlbXNbMF0pO1xuICAgIH0sXG4gICAgZ2V0SXRlbXM6IGZ1bmN0aW9uIGdldEl0ZW1zKCkge1xuICAgICAgdmFyIGl0ZW1zID0gc2VsZWN0QWxsKElURU1fU0VMRUNUT1IsIHRoaXMuJGVsKTtcbiAgICAgIGl0ZW1zLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgLy8gRW5zdXJlIHRhYmZvY3VzIGlzIC0xIG9uIGFueSBuZXcgZWxlbWVudHNcbiAgICAgICAgaXRlbS50YWJJbmRleCA9IC0xO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKGZ1bmN0aW9uIChlbCkge1xuICAgICAgICByZXR1cm4gaXNWaXNpYmxlKGVsKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHJldHVybiBoKCdkaXYnLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ2J0bi10b29sYmFyJyxcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbic6IHRoaXMuanVzdGlmeVxuICAgICAgfSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6ICd0b29sYmFyJyxcbiAgICAgICAgdGFiaW5kZXg6IHRoaXMua2V5TmF2ID8gJzAnIDogbnVsbFxuICAgICAgfSxcbiAgICAgIG9uOiB0aGlzLmtleU5hdiA/IHtcbiAgICAgICAgZm9jdXNpbjogdGhpcy5vbkZvY3VzaW4sXG4gICAgICAgIGtleWRvd246IHRoaXMub25LZXlkb3duXG4gICAgICB9IDoge31cbiAgICB9LCBbdGhpcy5ub3JtYWxpemVTbG90KCdkZWZhdWx0JyldKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9idXR0b24tdG9vbGJhci9idXR0b24tdG9vbGJhci5qc1xuLy8gbW9kdWxlIGlkID0gMTEzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///113\n"); + +/***/ }), +/* 114 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return CardPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__card__ = __webpack_require__(115);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__card_header__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__card_body__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__card_title__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__card_sub_title__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__card_footer__ = __webpack_require__(60);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__card_img__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__card_img_lazy__ = __webpack_require__(116);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__card_text__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__card_group__ = __webpack_require__(119);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BCard */\n/* unused harmony reexport BCardHeader */\n/* unused harmony reexport BCardBody */\n/* unused harmony reexport BCardTitle */\n/* unused harmony reexport BCardSubTitle */\n/* unused harmony reexport BCardFooter */\n/* unused harmony reexport BCardImg */\n/* unused harmony reexport BCardImgLazy */\n/* unused harmony reexport BCardText */\n/* unused harmony reexport BCardGroup */\n\n\n\n\n\n\n\n\n\n\n\nvar CardPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_10__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BCard: __WEBPACK_IMPORTED_MODULE_0__card__[\"a\" /* BCard */],\n BCardHeader: __WEBPACK_IMPORTED_MODULE_1__card_header__[\"a\" /* BCardHeader */],\n BCardBody: __WEBPACK_IMPORTED_MODULE_2__card_body__[\"a\" /* BCardBody */],\n BCardTitle: __WEBPACK_IMPORTED_MODULE_3__card_title__[\"a\" /* BCardTitle */],\n BCardSubTitle: __WEBPACK_IMPORTED_MODULE_4__card_sub_title__[\"a\" /* BCardSubTitle */],\n BCardFooter: __WEBPACK_IMPORTED_MODULE_5__card_footer__[\"a\" /* BCardFooter */],\n BCardImg: __WEBPACK_IMPORTED_MODULE_6__card_img__[\"a\" /* BCardImg */],\n BCardImgLazy: __WEBPACK_IMPORTED_MODULE_7__card_img_lazy__[\"a\" /* BCardImgLazy */],\n BCardText: __WEBPACK_IMPORTED_MODULE_8__card_text__[\"a\" /* BCardText */],\n BCardGroup: __WEBPACK_IMPORTED_MODULE_9__card_group__[\"a\" /* BCardGroup */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2luZGV4LmpzPzNkOTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK0I7QUFDYTtBQUNKO0FBQ0U7QUFDTztBQUNMO0FBQ047QUFDUztBQUNQO0FBQ0U7QUFDVTtBQUNwRDtBQUNBO0FBQ0EsOEVBQWE7QUFDYjtBQUNBLFdBQVcsb0RBQUs7QUFDaEIsaUJBQWlCLGlFQUFXO0FBQzVCLGVBQWUsNkRBQVM7QUFDeEIsZ0JBQWdCLCtEQUFVO0FBQzFCLG1CQUFtQixzRUFBYTtBQUNoQyxpQkFBaUIsaUVBQVc7QUFDNUIsY0FBYywyREFBUTtBQUN0QixrQkFBa0Isb0VBQVk7QUFDOUIsZUFBZSw2REFBUztBQUN4QixnQkFBZ0IsK0RBQVU7QUFDMUI7QUFDQSxDQUFDIiwiZmlsZSI6IjExNC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJDYXJkIH0gZnJvbSAnLi9jYXJkJztcbmltcG9ydCB7IEJDYXJkSGVhZGVyIH0gZnJvbSAnLi9jYXJkLWhlYWRlcic7XG5pbXBvcnQgeyBCQ2FyZEJvZHkgfSBmcm9tICcuL2NhcmQtYm9keSc7XG5pbXBvcnQgeyBCQ2FyZFRpdGxlIH0gZnJvbSAnLi9jYXJkLXRpdGxlJztcbmltcG9ydCB7IEJDYXJkU3ViVGl0bGUgfSBmcm9tICcuL2NhcmQtc3ViLXRpdGxlJztcbmltcG9ydCB7IEJDYXJkRm9vdGVyIH0gZnJvbSAnLi9jYXJkLWZvb3Rlcic7XG5pbXBvcnQgeyBCQ2FyZEltZyB9IGZyb20gJy4vY2FyZC1pbWcnO1xuaW1wb3J0IHsgQkNhcmRJbWdMYXp5IH0gZnJvbSAnLi9jYXJkLWltZy1sYXp5JztcbmltcG9ydCB7IEJDYXJkVGV4dCB9IGZyb20gJy4vY2FyZC10ZXh0JztcbmltcG9ydCB7IEJDYXJkR3JvdXAgfSBmcm9tICcuL2NhcmQtZ3JvdXAnO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIENhcmRQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCQ2FyZDogQkNhcmQsXG4gICAgQkNhcmRIZWFkZXI6IEJDYXJkSGVhZGVyLFxuICAgIEJDYXJkQm9keTogQkNhcmRCb2R5LFxuICAgIEJDYXJkVGl0bGU6IEJDYXJkVGl0bGUsXG4gICAgQkNhcmRTdWJUaXRsZTogQkNhcmRTdWJUaXRsZSxcbiAgICBCQ2FyZEZvb3RlcjogQkNhcmRGb290ZXIsXG4gICAgQkNhcmRJbWc6IEJDYXJkSW1nLFxuICAgIEJDYXJkSW1nTGF6eTogQkNhcmRJbWdMYXp5LFxuICAgIEJDYXJkVGV4dDogQkNhcmRUZXh0LFxuICAgIEJDYXJkR3JvdXA6IEJDYXJkR3JvdXBcbiAgfVxufSk7XG5leHBvcnQgeyBDYXJkUGx1Z2luLCBCQ2FyZCwgQkNhcmRIZWFkZXIsIEJDYXJkQm9keSwgQkNhcmRUaXRsZSwgQkNhcmRTdWJUaXRsZSwgQkNhcmRGb290ZXIsIEJDYXJkSW1nLCBCQ2FyZEltZ0xhenksIEJDYXJkVGV4dCwgQkNhcmRHcm91cCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvY2FyZC9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///114\n"); + +/***/ }), +/* 115 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCard; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_prefix_prop_name__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_unprefix_prop_name__ = __webpack_require__(249);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_copy_props__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_pluck_props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_normalize_slot__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_card__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__card_body__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__card_header__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__card_footer__ = __webpack_require__(60);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__card_img__ = __webpack_require__(61);\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n\n\n\n\nvar cardImgProps = Object(__WEBPACK_IMPORTED_MODULE_4__utils_copy_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_11__card_img__[\"b\" /* props */], __WEBPACK_IMPORTED_MODULE_2__utils_prefix_prop_name__[\"a\" /* default */].bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nvar props = _objectSpread({}, __WEBPACK_IMPORTED_MODULE_8__card_body__[\"b\" /* props */], {}, __WEBPACK_IMPORTED_MODULE_9__card_header__[\"b\" /* props */], {}, __WEBPACK_IMPORTED_MODULE_10__card_footer__[\"b\" /* props */], {}, cardImgProps, {}, Object(__WEBPACK_IMPORTED_MODULE_4__utils_copy_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_7__mixins_card__[\"a\" /* default */].props), {\n align: {\n type: String,\n default: null\n },\n noBody: {\n type: Boolean,\n default: false\n }\n}); // @vue/component\n\nvar BCard =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCard',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots(); // Vue < 2.6.x may return undefined for scopedSlots\n\n var $scopedSlots = scopedSlots || {}; // Create placeholder elements for each section\n\n var imgFirst = h();\n var header = h();\n var content = h();\n var footer = h();\n var imgLast = h();\n\n if (props.imgSrc) {\n var img = h(__WEBPACK_IMPORTED_MODULE_11__card_img__[\"a\" /* BCardImg */], {\n props: Object(__WEBPACK_IMPORTED_MODULE_5__utils_pluck_props__[\"a\" /* default */])(cardImgProps, props, __WEBPACK_IMPORTED_MODULE_3__utils_unprefix_prop_name__[\"a\" /* default */].bind(null, 'img'))\n });\n\n if (props.imgBottom) {\n imgLast = img;\n } else {\n imgFirst = img;\n }\n }\n\n if (props.header || Object(__WEBPACK_IMPORTED_MODULE_6__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('header', $scopedSlots, $slots)) {\n header = h(__WEBPACK_IMPORTED_MODULE_9__card_header__[\"a\" /* BCardHeader */], {\n props: Object(__WEBPACK_IMPORTED_MODULE_5__utils_pluck_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_9__card_header__[\"b\" /* props */], props)\n }, Object(__WEBPACK_IMPORTED_MODULE_6__utils_normalize_slot__[\"b\" /* normalizeSlot */])('header', {}, $scopedSlots, $slots));\n }\n\n content = Object(__WEBPACK_IMPORTED_MODULE_6__utils_normalize_slot__[\"b\" /* normalizeSlot */])('default', {}, $scopedSlots, $slots) || [];\n\n if (!props.noBody) {\n // Wrap content in card-body\n content = [h(__WEBPACK_IMPORTED_MODULE_8__card_body__[\"a\" /* BCardBody */], {\n props: Object(__WEBPACK_IMPORTED_MODULE_5__utils_pluck_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_8__card_body__[\"b\" /* props */], props)\n }, _toConsumableArray(content))];\n }\n\n if (props.footer || Object(__WEBPACK_IMPORTED_MODULE_6__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('footer', $scopedSlots, $slots)) {\n footer = h(__WEBPACK_IMPORTED_MODULE_10__card_footer__[\"a\" /* BCardFooter */], {\n props: Object(__WEBPACK_IMPORTED_MODULE_5__utils_pluck_props__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_10__card_footer__[\"b\" /* props */], props)\n }, Object(__WEBPACK_IMPORTED_MODULE_6__utils_normalize_slot__[\"b\" /* normalizeSlot */])('footer', {}, $scopedSlots, $slots));\n }\n\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': props.imgLeft || props.imgStart,\n 'flex-row-reverse': (props.imgRight || props.imgEnd) && !(props.imgLeft || props.imgStart)\n }, _defineProperty(_class, \"text-\".concat(props.align), Boolean(props.align)), _defineProperty(_class, \"bg-\".concat(props.bgVariant), Boolean(props.bgVariant)), _defineProperty(_class, \"border-\".concat(props.borderVariant), Boolean(props.borderVariant)), _defineProperty(_class, \"text-\".concat(props.textVariant), Boolean(props.textVariant)), _class)\n }), [imgFirst, header].concat(_toConsumableArray(content), [footer, imgLast]));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQuanM/OGUzMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0NBQWtDLGlGQUFpRjs7QUFFbkgsK0JBQStCLHdFQUF3RTs7QUFFdkcsaUNBQWlDLCtIQUErSDs7QUFFaEssa0NBQWtDLDBCQUEwQiw4Q0FBOEMsZ0JBQWdCLE9BQU8sa0JBQWtCLEVBQUUsYUFBYSxFQUFFOztBQUVwSywwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ0k7QUFDSTtBQUNmO0FBQ0U7QUFDNkI7QUFDcEM7QUFDa0I7QUFDTTtBQUNBO0FBQ1Q7QUFDekQsbUJBQW1CLDBFQUFTLENBQUMseURBQVEsRUFBRSx3RUFBYztBQUNyRDtBQUNPLDRCQUE0QixFQUFFLHlEQUFTLElBQUksRUFBRSwyREFBVyxJQUFJLEVBQUUsNERBQVcsSUFBSSxrQkFBa0IsRUFBRSwwRUFBUyxDQUFDLDZEQUFTO0FBQzNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBRTs7QUFFSTtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCOztBQUV6Qix5Q0FBeUM7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsNERBQVE7QUFDMUIsZUFBZSwyRUFBVSxzQkFBc0IsMEVBQWdCO0FBQy9ELE9BQU87O0FBRVA7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLHdGQUFpQjtBQUN6QyxpQkFBaUIsaUVBQVc7QUFDNUIsZUFBZSwyRUFBVSxDQUFDLDJEQUFXO0FBQ3JDLE9BQU8sRUFBRSxvRkFBYSxhQUFhO0FBQ25DOztBQUVBLGNBQWMsb0ZBQWEsY0FBYzs7QUFFekM7QUFDQTtBQUNBLG1CQUFtQiw2REFBUztBQUM1QixlQUFlLDJFQUFVLENBQUMseURBQVM7QUFDbkMsT0FBTztBQUNQOztBQUVBLHdCQUF3Qix3RkFBaUI7QUFDekMsaUJBQWlCLGtFQUFXO0FBQzVCLGVBQWUsMkVBQVUsQ0FBQyw0REFBVztBQUNyQyxPQUFPLEVBQUUsb0ZBQWEsYUFBYTtBQUNuQzs7QUFFQSx3QkFBd0Isb0ZBQVM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7IHJldHVybiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5KGFycikgfHwgX25vbkl0ZXJhYmxlU3ByZWFkKCk7IH1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2VcIik7IH1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheShpdGVyKSB7IGlmIChTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXIpIHx8IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpdGVyKSA9PT0gXCJbb2JqZWN0IEFyZ3VtZW50c11cIikgcmV0dXJuIEFycmF5LmZyb20oaXRlcik7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7IGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGFyci5sZW5ndGgpOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7IGFycjJbaV0gPSBhcnJbaV07IH0gcmV0dXJuIGFycjI7IH0gfVxuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCBwcmVmaXhQcm9wTmFtZSBmcm9tICcuLi8uLi91dGlscy9wcmVmaXgtcHJvcC1uYW1lJztcbmltcG9ydCB1blByZWZpeFByb3BOYW1lIGZyb20gJy4uLy4uL3V0aWxzL3VucHJlZml4LXByb3AtbmFtZSc7XG5pbXBvcnQgY29weVByb3BzIGZyb20gJy4uLy4uL3V0aWxzL2NvcHktcHJvcHMnO1xuaW1wb3J0IHBsdWNrUHJvcHMgZnJvbSAnLi4vLi4vdXRpbHMvcGx1Y2stcHJvcHMnO1xuaW1wb3J0IHsgaGFzTm9ybWFsaXplZFNsb3QsIG5vcm1hbGl6ZVNsb3QgfSBmcm9tICcuLi8uLi91dGlscy9ub3JtYWxpemUtc2xvdCc7XG5pbXBvcnQgY2FyZE1peGluIGZyb20gJy4uLy4uL21peGlucy9jYXJkJztcbmltcG9ydCB7IEJDYXJkQm9keSwgcHJvcHMgYXMgYm9keVByb3BzIH0gZnJvbSAnLi9jYXJkLWJvZHknO1xuaW1wb3J0IHsgQkNhcmRIZWFkZXIsIHByb3BzIGFzIGhlYWRlclByb3BzIH0gZnJvbSAnLi9jYXJkLWhlYWRlcic7XG5pbXBvcnQgeyBCQ2FyZEZvb3RlciwgcHJvcHMgYXMgZm9vdGVyUHJvcHMgfSBmcm9tICcuL2NhcmQtZm9vdGVyJztcbmltcG9ydCB7IEJDYXJkSW1nLCBwcm9wcyBhcyBpbWdQcm9wcyB9IGZyb20gJy4vY2FyZC1pbWcnO1xudmFyIGNhcmRJbWdQcm9wcyA9IGNvcHlQcm9wcyhpbWdQcm9wcywgcHJlZml4UHJvcE5hbWUuYmluZChudWxsLCAnaW1nJykpO1xuY2FyZEltZ1Byb3BzLmltZ1NyYy5yZXF1aXJlZCA9IGZhbHNlO1xuZXhwb3J0IHZhciBwcm9wcyA9IF9vYmplY3RTcHJlYWQoe30sIGJvZHlQcm9wcywge30sIGhlYWRlclByb3BzLCB7fSwgZm9vdGVyUHJvcHMsIHt9LCBjYXJkSW1nUHJvcHMsIHt9LCBjb3B5UHJvcHMoY2FyZE1peGluLnByb3BzKSwge1xuICBhbGlnbjoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIG5vQm9keToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfVxufSk7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkNhcmQgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCQ2FyZCcsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBfY2xhc3M7XG5cbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBzbG90cyA9IF9yZWYuc2xvdHMsXG4gICAgICAgIHNjb3BlZFNsb3RzID0gX3JlZi5zY29wZWRTbG90cztcbiAgICB2YXIgJHNsb3RzID0gc2xvdHMoKTsgLy8gVnVlIDwgMi42LnggbWF5IHJldHVybiB1bmRlZmluZWQgZm9yIHNjb3BlZFNsb3RzXG5cbiAgICB2YXIgJHNjb3BlZFNsb3RzID0gc2NvcGVkU2xvdHMgfHwge307IC8vIENyZWF0ZSBwbGFjZWhvbGRlciBlbGVtZW50cyBmb3IgZWFjaCBzZWN0aW9uXG5cbiAgICB2YXIgaW1nRmlyc3QgPSBoKCk7XG4gICAgdmFyIGhlYWRlciA9IGgoKTtcbiAgICB2YXIgY29udGVudCA9IGgoKTtcbiAgICB2YXIgZm9vdGVyID0gaCgpO1xuICAgIHZhciBpbWdMYXN0ID0gaCgpO1xuXG4gICAgaWYgKHByb3BzLmltZ1NyYykge1xuICAgICAgdmFyIGltZyA9IGgoQkNhcmRJbWcsIHtcbiAgICAgICAgcHJvcHM6IHBsdWNrUHJvcHMoY2FyZEltZ1Byb3BzLCBwcm9wcywgdW5QcmVmaXhQcm9wTmFtZS5iaW5kKG51bGwsICdpbWcnKSlcbiAgICAgIH0pO1xuXG4gICAgICBpZiAocHJvcHMuaW1nQm90dG9tKSB7XG4gICAgICAgIGltZ0xhc3QgPSBpbWc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpbWdGaXJzdCA9IGltZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJvcHMuaGVhZGVyIHx8IGhhc05vcm1hbGl6ZWRTbG90KCdoZWFkZXInLCAkc2NvcGVkU2xvdHMsICRzbG90cykpIHtcbiAgICAgIGhlYWRlciA9IGgoQkNhcmRIZWFkZXIsIHtcbiAgICAgICAgcHJvcHM6IHBsdWNrUHJvcHMoaGVhZGVyUHJvcHMsIHByb3BzKVxuICAgICAgfSwgbm9ybWFsaXplU2xvdCgnaGVhZGVyJywge30sICRzY29wZWRTbG90cywgJHNsb3RzKSk7XG4gICAgfVxuXG4gICAgY29udGVudCA9IG5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnLCB7fSwgJHNjb3BlZFNsb3RzLCAkc2xvdHMpIHx8IFtdO1xuXG4gICAgaWYgKCFwcm9wcy5ub0JvZHkpIHtcbiAgICAgIC8vIFdyYXAgY29udGVudCBpbiBjYXJkLWJvZHlcbiAgICAgIGNvbnRlbnQgPSBbaChCQ2FyZEJvZHksIHtcbiAgICAgICAgcHJvcHM6IHBsdWNrUHJvcHMoYm9keVByb3BzLCBwcm9wcylcbiAgICAgIH0sIF90b0NvbnN1bWFibGVBcnJheShjb250ZW50KSldO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5mb290ZXIgfHwgaGFzTm9ybWFsaXplZFNsb3QoJ2Zvb3RlcicsICRzY29wZWRTbG90cywgJHNsb3RzKSkge1xuICAgICAgZm9vdGVyID0gaChCQ2FyZEZvb3Rlciwge1xuICAgICAgICBwcm9wczogcGx1Y2tQcm9wcyhmb290ZXJQcm9wcywgcHJvcHMpXG4gICAgICB9LCBub3JtYWxpemVTbG90KCdmb290ZXInLCB7fSwgJHNjb3BlZFNsb3RzLCAkc2xvdHMpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaChwcm9wcy50YWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ2NhcmQnLFxuICAgICAgY2xhc3M6IChfY2xhc3MgPSB7XG4gICAgICAgICdmbGV4LXJvdyc6IHByb3BzLmltZ0xlZnQgfHwgcHJvcHMuaW1nU3RhcnQsXG4gICAgICAgICdmbGV4LXJvdy1yZXZlcnNlJzogKHByb3BzLmltZ1JpZ2h0IHx8IHByb3BzLmltZ0VuZCkgJiYgIShwcm9wcy5pbWdMZWZ0IHx8IHByb3BzLmltZ1N0YXJ0KVxuICAgICAgfSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJ0ZXh0LVwiLmNvbmNhdChwcm9wcy5hbGlnbiksIEJvb2xlYW4ocHJvcHMuYWxpZ24pKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJiZy1cIi5jb25jYXQocHJvcHMuYmdWYXJpYW50KSwgQm9vbGVhbihwcm9wcy5iZ1ZhcmlhbnQpKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJib3JkZXItXCIuY29uY2F0KHByb3BzLmJvcmRlclZhcmlhbnQpLCBCb29sZWFuKHByb3BzLmJvcmRlclZhcmlhbnQpKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJ0ZXh0LVwiLmNvbmNhdChwcm9wcy50ZXh0VmFyaWFudCksIEJvb2xlYW4ocHJvcHMudGV4dFZhcmlhbnQpKSwgX2NsYXNzKVxuICAgIH0pLCBbaW1nRmlyc3QsIGhlYWRlcl0uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShjb250ZW50KSwgW2Zvb3RlciwgaW1nTGFzdF0pKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQuanNcbi8vIG1vZHVsZSBpZCA9IDExNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///115\n"); + +/***/ }), +/* 116 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCardImgLazy; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__image_img_lazy__ = __webpack_require__(62);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n // Copy of `<b-img-lazy>` props, and remove conflicting/non-applicable props\n// The `omit()` util creates a new object, so we can just pass the original props\n\nvar lazyProps = Object(__WEBPACK_IMPORTED_MODULE_1__utils_object__[\"k\" /* omit */])(__WEBPACK_IMPORTED_MODULE_3__image_img_lazy__[\"b\" /* props */], ['left', 'right', 'center', 'block', 'rounded', 'thumbnail', 'fluid', 'fluidGrow']);\nvar props = _objectSpread({}, lazyProps, {\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n start: {\n type: Boolean,\n default: false\n },\n left: {\n // alias of 'start'\n type: Boolean,\n default: false\n },\n end: {\n type: Boolean,\n default: false\n },\n right: {\n // alias of 'end'\n type: Boolean,\n default: false\n }\n}); // @vue/component\n\nvar BCardImgLazy =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCardImgLazy',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n } // False out the left/center/right props before passing to b-img-lazy\n\n\n var lazyProps = _objectSpread({}, props, {\n left: false,\n right: false,\n center: false\n });\n\n return h(__WEBPACK_IMPORTED_MODULE_3__image_img_lazy__[\"a\" /* BImgLazy */], Object(__WEBPACK_IMPORTED_MODULE_2_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: [baseClass],\n props: lazyProps\n }));\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtaW1nLWxhenkuanM/OTM3MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ1E7QUFDWTtBQUNjO0FBQ3BFOztBQUVBLGdCQUFnQixtRUFBSSxDQUFDLDhEQUFZO0FBQzFCLDRCQUE0QjtBQUNuQztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBRTs7QUFFSTtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSzs7O0FBR0wsb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUwsYUFBYSxpRUFBUSxFQUFFLG9GQUFTO0FBQ2hDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjExNi5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG9taXQgfSBmcm9tICcuLi8uLi91dGlscy9vYmplY3QnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgeyBCSW1nTGF6eSwgcHJvcHMgYXMgaW1nTGF6eVByb3BzIH0gZnJvbSAnLi4vaW1hZ2UvaW1nLWxhenknOyAvLyBDb3B5IG9mIGA8Yi1pbWctbGF6eT5gIHByb3BzLCBhbmQgcmVtb3ZlIGNvbmZsaWN0aW5nL25vbi1hcHBsaWNhYmxlIHByb3BzXG4vLyBUaGUgYG9taXQoKWAgdXRpbCBjcmVhdGVzIGEgbmV3IG9iamVjdCwgc28gd2UgY2FuIGp1c3QgcGFzcyB0aGUgb3JpZ2luYWwgcHJvcHNcblxudmFyIGxhenlQcm9wcyA9IG9taXQoaW1nTGF6eVByb3BzLCBbJ2xlZnQnLCAncmlnaHQnLCAnY2VudGVyJywgJ2Jsb2NrJywgJ3JvdW5kZWQnLCAndGh1bWJuYWlsJywgJ2ZsdWlkJywgJ2ZsdWlkR3JvdyddKTtcbmV4cG9ydCB2YXIgcHJvcHMgPSBfb2JqZWN0U3ByZWFkKHt9LCBsYXp5UHJvcHMsIHtcbiAgdG9wOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBib3R0b206IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIHN0YXJ0OiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBsZWZ0OiB7XG4gICAgLy8gYWxpYXMgb2YgJ3N0YXJ0J1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgZW5kOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICByaWdodDoge1xuICAgIC8vIGFsaWFzIG9mICdlbmQnXG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9XG59KTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCQ2FyZEltZ0xhenkgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCQ2FyZEltZ0xhenknLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhO1xuICAgIHZhciBiYXNlQ2xhc3MgPSAnY2FyZC1pbWcnO1xuXG4gICAgaWYgKHByb3BzLnRvcCkge1xuICAgICAgYmFzZUNsYXNzICs9ICctdG9wJztcbiAgICB9IGVsc2UgaWYgKHByb3BzLnJpZ2h0IHx8IHByb3BzLmVuZCkge1xuICAgICAgYmFzZUNsYXNzICs9ICctcmlnaHQnO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuYm90dG9tKSB7XG4gICAgICBiYXNlQ2xhc3MgKz0gJy1ib3R0b20nO1xuICAgIH0gZWxzZSBpZiAocHJvcHMubGVmdCB8fCBwcm9wcy5zdGFydCkge1xuICAgICAgYmFzZUNsYXNzICs9ICctbGVmdCc7XG4gICAgfSAvLyBGYWxzZSBvdXQgdGhlIGxlZnQvY2VudGVyL3JpZ2h0IHByb3BzIGJlZm9yZSBwYXNzaW5nIHRvIGItaW1nLWxhenlcblxuXG4gICAgdmFyIGxhenlQcm9wcyA9IF9vYmplY3RTcHJlYWQoe30sIHByb3BzLCB7XG4gICAgICBsZWZ0OiBmYWxzZSxcbiAgICAgIHJpZ2h0OiBmYWxzZSxcbiAgICAgIGNlbnRlcjogZmFsc2VcbiAgICB9KTtcblxuICAgIHJldHVybiBoKEJJbWdMYXp5LCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgY2xhc3M6IFtiYXNlQ2xhc3NdLFxuICAgICAgcHJvcHM6IGxhenlQcm9wc1xuICAgIH0pKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtaW1nLWxhenkuanNcbi8vIG1vZHVsZSBpZCA9IDExNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///116\n"); + +/***/ }), +/* 117 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBVisible; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_object__ = __webpack_require__(8);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility.<margin>.<once>=\"<callback>\"\n//\n// Value:\n// <callback>: method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// <margin>: a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// <once>: keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\n\n\n\n\nvar OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\nvar VisibilityObserver =\n/*#__PURE__*/\nfunction () {\n function VisibilityObserver(el, options, vnode) {\n _classCallCheck(this, VisibilityObserver);\n\n this.el = el;\n this.callback = options.callback;\n this.margin = options.margin || 0;\n this.once = options.once || false;\n this.observer = null;\n this.visible = undefined;\n this.doneOnce = false; // Create the observer instance (if possible)\n\n this.createObserver(vnode);\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver(vnode) {\n var _this = this;\n\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop();\n } // Should only be called once and `callback` prop should be a function\n\n\n if (this.doneOnce || !Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(this.callback)) {\n /* istanbul ignore next */\n return;\n } // Create the observer instance\n\n\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n });\n } catch (_unused) {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true;\n this.observer = undefined;\n this.callback(null);\n return;\n } // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n\n\n vnode.context.$nextTick(function () {\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"w\" /* requestAF */])(function () {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n });\n }\n }, {\n key: \"handler\",\n value: function handler(entries)\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n {\n var entry = entries ? entries[0] : {};\n var isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0);\n\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting;\n this.callback(isIntersecting);\n\n if (this.once && this.visible) {\n this.doneOnce = true;\n this.stop();\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var observer = this.observer;\n /* istanbul ignore next */\n\n if (observer && observer.disconnect) {\n observer.disconnect();\n }\n\n this.observer = null;\n }\n }]);\n\n return VisibilityObserver;\n}();\n\nvar destroy = function destroy(el) {\n var observer = el[OBSERVER_PROP_NAME];\n\n if (observer && observer.stop) {\n observer.stop();\n }\n\n delete el[OBSERVER_PROP_NAME];\n};\n\nvar bind = function bind(el, _ref, vnode) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n // `value` is the callback function\n var options = {\n margin: '0px',\n once: false,\n callback: value\n }; // Parse modifiers\n\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_object__[\"j\" /* keys */])(modifiers).forEach(function (mod) {\n /* istanbul ignore else: Until <b-img-lazy> is switched to use this directive */\n if (/^\\d+$/.test(mod)) {\n options.margin = \"\".concat(mod, \"px\");\n } else if (mod.toLowerCase() === 'once') {\n options.once = true;\n }\n }); // Destroy any previous observer\n\n destroy(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode); // Store the current modifiers on the object (cloned)\n\n el[OBSERVER_PROP_NAME]._prevModifiers = _objectSpread({}, modifiers);\n}; // When the directive options may have been updated (or element)\n\n\nvar componentUpdated = function componentUpdated(el, _ref2, vnode) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n\n /* istanbul ignore next */\n if (value !== oldValue || !el[OBSERVER_PROP_NAME] || !Object(__WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__[\"a\" /* default */])(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers)) {\n // Re-bind on element\n bind(el, {\n value: value,\n modifiers: modifiers\n }, vnode);\n }\n}; // When directive un-binds from element\n\n\nvar unbind = function unbind(el) {\n // Remove the observer\n destroy(el);\n}; // Export the directive\n\n\nvar VBVisible = {\n bind: bind,\n componentUpdated: componentUpdated,\n unbind: unbind\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy92aXNpYmxlLmpzP2FjNmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00saURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdkosMkNBQTJDLGdCQUFnQixrQkFBa0IsT0FBTywyQkFBMkIsd0RBQXdELGdDQUFnQyx1REFBdUQsMkRBQTJELEVBQUU7O0FBRTNULDZEQUE2RCxzRUFBc0UsOERBQThELG9CQUFvQjs7QUFFck47QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHlCQUF5QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxxREFBcUQsMEJBQTBCO0FBQzdGO0FBQ0E7QUFDQTtBQUNBO0FBQzhDO0FBQ0w7QUFDSztBQUNQO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCOztBQUUxQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1AsNEJBQTRCLDBFQUFVO0FBQ3RDO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7OztBQUdBO0FBQ0EsUUFBUSxxRUFBUztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUosRUFBRSxtRUFBSTtBQUNOO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRyxFQUFFOztBQUVMLGNBQWM7O0FBRWQsc0VBQXNFOztBQUV0RSwwREFBMEQ7QUFDMUQsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RCwyRUFBVTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdLO0FBQ1A7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMTE3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vLyB2LWItdmlzaWJsZVxuLy8gUHJpdmF0ZSB2aXNpYmlsaXR5IGNoZWNrIGRpcmVjdGl2ZVxuLy8gQmFzZWQgb24gSW50ZXJzZWN0aW9uT2JzZXJ2ZXJcbi8vXG4vLyBVc2FnZTpcbi8vICB2LWItdmlzaWJpbGl0eS48bWFyZ2luPi48b25jZT49XCI8Y2FsbGJhY2s+XCJcbi8vXG4vLyAgVmFsdWU6XG4vLyAgPGNhbGxiYWNrPjogbWV0aG9kIHRvIGJlIGNhbGxlZCB3aGVuIHZpc2liaWxpdHkgc3RhdGUgY2hhbmdlcywgcmVjZWl2ZXMgb25lIGFyZzpcbi8vICAgICB0cnVlOiAgZWxlbWVudCBpcyB2aXNpYmxlXG4vLyAgICAgZmFsc2U6IGVsZW1lbnQgaXMgbm90IHZpc2libGVcbi8vICAgICBudWxsOiAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgbm90IHN1cHBvcnRlZFxuLy9cbi8vICBNb2RpZmllcnM6XG4vLyAgICA8bWFyZ2luPjogYSBwb3NpdGl2ZSBkZWNpbWFsIHZhbHVlIG9mIHBpeGVscyBhd2F5IGZyb20gdmlld3BvcnQgZWRnZVxuLy8gICAgICAgICAgICAgIGJlZm9yZSBiZWluZyBjb25zaWRlcmVkIFwidmlzaWJsZVwiLiBkZWZhdWx0IGlzIDBcbi8vICAgIDxvbmNlPjogICBrZXl3b3JkICdvbmNlJywgbWVhbmluZyB3aGVuIHRoZSBlbGVtZW50IGJlY29tZXMgdmlzaWJsZSBhbmRcbi8vICAgICAgICAgICAgICBjYWxsYmFjayBpcyBjYWxsZWQgb2JzZXJ2YXRpb24vbm90aWZpY2F0aW9uIHdpbGwgc3RvcC5cbi8vXG4vLyBXaGVuIHVzZWQgaW4gYSByZW5kZXIgZnVuY3Rpb246XG4vLyBleHBvcnQgZGVmYXVsdCB7XG4vLyAgIGRpcmVjdGl2ZXM6IHsgJ2ItdmlzaWJsZSc6IFZCVmlzaWJsZSB9LFxuLy8gICByZW5kZXIoaCkge1xuLy8gICAgIGgoXG4vLyAgICAgICAnZGl2Jyxcbi8vICAgICAgIHtcbi8vICAgICAgICAgZGlyZWN0aXZlczogW1xuLy8gICAgICAgICAgIHsgbmFtZTogJ2ItdmlzaWJsZScsIHZhbHVlPXRoaXMuY2FsbGJhY2ssIG1vZGlmaWVyczogeyAnMTIzJzp0cnVlLCAnb25jZSc6dHJ1ZSB9IH1cbi8vICAgICAgICAgXVxuLy8gICAgICAgfVxuLy8gICAgIClcbi8vICAgfVxuaW1wb3J0IGxvb3NlRXF1YWwgZnJvbSAnLi4vdXRpbHMvbG9vc2UtZXF1YWwnO1xuaW1wb3J0IHsgcmVxdWVzdEFGIH0gZnJvbSAnLi4vdXRpbHMvZG9tJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7IGtleXMgfSBmcm9tICcuLi91dGlscy9vYmplY3QnO1xudmFyIE9CU0VSVkVSX1BST1BfTkFNRSA9ICdfX2J2X192aXNpYmlsaXR5X29ic2VydmVyJztcblxudmFyIFZpc2liaWxpdHlPYnNlcnZlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFZpc2liaWxpdHlPYnNlcnZlcihlbCwgb3B0aW9ucywgdm5vZGUpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgVmlzaWJpbGl0eU9ic2VydmVyKTtcblxuICAgIHRoaXMuZWwgPSBlbDtcbiAgICB0aGlzLmNhbGxiYWNrID0gb3B0aW9ucy5jYWxsYmFjaztcbiAgICB0aGlzLm1hcmdpbiA9IG9wdGlvbnMubWFyZ2luIHx8IDA7XG4gICAgdGhpcy5vbmNlID0gb3B0aW9ucy5vbmNlIHx8IGZhbHNlO1xuICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgIHRoaXMudmlzaWJsZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRvbmVPbmNlID0gZmFsc2U7IC8vIENyZWF0ZSB0aGUgb2JzZXJ2ZXIgaW5zdGFuY2UgKGlmIHBvc3NpYmxlKVxuXG4gICAgdGhpcy5jcmVhdGVPYnNlcnZlcih2bm9kZSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVmlzaWJpbGl0eU9ic2VydmVyLCBbe1xuICAgIGtleTogXCJjcmVhdGVPYnNlcnZlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVPYnNlcnZlcih2bm9kZSkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgLy8gUmVtb3ZlIGFueSBwcmV2aW91cyBvYnNlcnZlclxuICAgICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgdGhpcy5zdG9wKCk7XG4gICAgICB9IC8vIFNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbmNlIGFuZCBgY2FsbGJhY2tgIHByb3Agc2hvdWxkIGJlIGEgZnVuY3Rpb25cblxuXG4gICAgICBpZiAodGhpcy5kb25lT25jZSB8fCAhaXNGdW5jdGlvbih0aGlzLmNhbGxiYWNrKSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIENyZWF0ZSB0aGUgb2JzZXJ2ZXIgaW5zdGFuY2VcblxuXG4gICAgICB0cnkge1xuICAgICAgICAvLyBGdXR1cmU6IFBvc3NpYmx5IGFkZCBpbiBvdGhlciBtb2RpZmllcnMgZm9yIGxlZnQvcmlnaHQvdG9wL2JvdHRvbVxuICAgICAgICAvLyBvZmZzZXRzLCByb290IGVsZW1lbnQgcmVmZXJlbmNlLCBhbmQgdGhyZXNob2xkc1xuICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMuaGFuZGxlci5iaW5kKHRoaXMpLCB7XG4gICAgICAgICAgLy8gYG51bGxgID0gJ3ZpZXdwb3J0J1xuICAgICAgICAgIHJvb3Q6IG51bGwsXG4gICAgICAgICAgLy8gUGl4ZWxzIGF3YXkgZnJvbSB2aWV3IHBvcnQgdG8gY29uc2lkZXIgXCJ2aXNpYmxlXCJcbiAgICAgICAgICByb290TWFyZ2luOiB0aGlzLm1hcmdpbixcbiAgICAgICAgICAvLyBJbnRlcnNlY3Rpb24gcmF0aW8gb2YgZWwgYW5kIHJvb3QgKGFzIGEgdmFsdWUgZnJvbSAwIHRvIDEpXG4gICAgICAgICAgdGhyZXNob2xkOiAwXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoX3VudXNlZCkge1xuICAgICAgICAvLyBObyBJbnRlcnNlY3Rpb25PYnNlcnZlciBzdXBwb3J0LCBzbyBqdXN0IHN0b3AgdHJ5aW5nIHRvIG9ic2VydmVcbiAgICAgICAgdGhpcy5kb25lT25jZSA9IHRydWU7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuY2FsbGJhY2sobnVsbCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gU3RhcnQgb2JzZXJ2aW5nIGluIGEgYCRuZXh0VGljaygpYCAodG8gYWxsb3cgRE9NIHRvIGNvbXBsZXRlIHJlbmRlcmluZylcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IEludGVyc2VjdGlvbk9ic2VydmVyIG5vdCBzdXBwb3J0ZWQgaW4gSlNET00gKi9cblxuXG4gICAgICB2bm9kZS5jb250ZXh0LiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJlcXVlc3RBRihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gUGxhY2VkIGluIGFuIGBpZmAganVzdCBpbiBjYXNlIHdlIHdlcmUgZGVzdHJveWVkIGJlZm9yZVxuICAgICAgICAgIC8vIHRoaXMgYHJlcXVlc3RBbmltYXRpb25GcmFtZWAgcnVuc1xuICAgICAgICAgIGlmIChfdGhpcy5vYnNlcnZlcikge1xuICAgICAgICAgICAgX3RoaXMub2JzZXJ2ZXIub2JzZXJ2ZShfdGhpcy5lbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJoYW5kbGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGhhbmRsZXIoZW50cmllcylcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgbm90IHN1cHBvcnRlZCBpbiBKU0RPTSAqL1xuICAgIHtcbiAgICAgIHZhciBlbnRyeSA9IGVudHJpZXMgPyBlbnRyaWVzWzBdIDoge307XG4gICAgICB2YXIgaXNJbnRlcnNlY3RpbmcgPSBCb29sZWFuKGVudHJ5LmlzSW50ZXJzZWN0aW5nIHx8IGVudHJ5LmludGVyc2VjdGlvblJhdGlvID4gMC4wKTtcblxuICAgICAgaWYgKGlzSW50ZXJzZWN0aW5nICE9PSB0aGlzLnZpc2libGUpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gaXNJbnRlcnNlY3Rpbmc7XG4gICAgICAgIHRoaXMuY2FsbGJhY2soaXNJbnRlcnNlY3RpbmcpO1xuXG4gICAgICAgIGlmICh0aGlzLm9uY2UgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgdGhpcy5kb25lT25jZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5zdG9wKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic3RvcFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzdG9wKCkge1xuICAgICAgdmFyIG9ic2VydmVyID0gdGhpcy5vYnNlcnZlcjtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cbiAgICAgIGlmIChvYnNlcnZlciAmJiBvYnNlcnZlci5kaXNjb25uZWN0KSB7XG4gICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5vYnNlcnZlciA9IG51bGw7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFZpc2liaWxpdHlPYnNlcnZlcjtcbn0oKTtcblxudmFyIGRlc3Ryb3kgPSBmdW5jdGlvbiBkZXN0cm95KGVsKSB7XG4gIHZhciBvYnNlcnZlciA9IGVsW09CU0VSVkVSX1BST1BfTkFNRV07XG5cbiAgaWYgKG9ic2VydmVyICYmIG9ic2VydmVyLnN0b3ApIHtcbiAgICBvYnNlcnZlci5zdG9wKCk7XG4gIH1cblxuICBkZWxldGUgZWxbT0JTRVJWRVJfUFJPUF9OQU1FXTtcbn07XG5cbnZhciBiaW5kID0gZnVuY3Rpb24gYmluZChlbCwgX3JlZiwgdm5vZGUpIHtcbiAgdmFyIHZhbHVlID0gX3JlZi52YWx1ZSxcbiAgICAgIG1vZGlmaWVycyA9IF9yZWYubW9kaWZpZXJzO1xuICAvLyBgdmFsdWVgIGlzIHRoZSBjYWxsYmFjayBmdW5jdGlvblxuICB2YXIgb3B0aW9ucyA9IHtcbiAgICBtYXJnaW46ICcwcHgnLFxuICAgIG9uY2U6IGZhbHNlLFxuICAgIGNhbGxiYWNrOiB2YWx1ZVxuICB9OyAvLyBQYXJzZSBtb2RpZmllcnNcblxuICBrZXlzKG1vZGlmaWVycykuZm9yRWFjaChmdW5jdGlvbiAobW9kKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2U6IFVudGlsIDxiLWltZy1sYXp5PiBpcyBzd2l0Y2hlZCB0byB1c2UgdGhpcyBkaXJlY3RpdmUgKi9cbiAgICBpZiAoL15cXGQrJC8udGVzdChtb2QpKSB7XG4gICAgICBvcHRpb25zLm1hcmdpbiA9IFwiXCIuY29uY2F0KG1vZCwgXCJweFwiKTtcbiAgICB9IGVsc2UgaWYgKG1vZC50b0xvd2VyQ2FzZSgpID09PSAnb25jZScpIHtcbiAgICAgIG9wdGlvbnMub25jZSA9IHRydWU7XG4gICAgfVxuICB9KTsgLy8gRGVzdHJveSBhbnkgcHJldmlvdXMgb2JzZXJ2ZXJcblxuICBkZXN0cm95KGVsKTsgLy8gQ3JlYXRlIG5ldyBvYnNlcnZlclxuXG4gIGVsW09CU0VSVkVSX1BST1BfTkFNRV0gPSBuZXcgVmlzaWJpbGl0eU9ic2VydmVyKGVsLCBvcHRpb25zLCB2bm9kZSk7IC8vIFN0b3JlIHRoZSBjdXJyZW50IG1vZGlmaWVycyBvbiB0aGUgb2JqZWN0IChjbG9uZWQpXG5cbiAgZWxbT0JTRVJWRVJfUFJPUF9OQU1FXS5fcHJldk1vZGlmaWVycyA9IF9vYmplY3RTcHJlYWQoe30sIG1vZGlmaWVycyk7XG59OyAvLyBXaGVuIHRoZSBkaXJlY3RpdmUgb3B0aW9ucyBtYXkgaGF2ZSBiZWVuIHVwZGF0ZWQgKG9yIGVsZW1lbnQpXG5cblxudmFyIGNvbXBvbmVudFVwZGF0ZWQgPSBmdW5jdGlvbiBjb21wb25lbnRVcGRhdGVkKGVsLCBfcmVmMiwgdm5vZGUpIHtcbiAgdmFyIHZhbHVlID0gX3JlZjIudmFsdWUsXG4gICAgICBvbGRWYWx1ZSA9IF9yZWYyLm9sZFZhbHVlLFxuICAgICAgbW9kaWZpZXJzID0gX3JlZjIubW9kaWZpZXJzO1xuXG4gIC8vIENvbXBhcmUgdmFsdWUvb2xkVmFsdWUgYW5kIG1vZGlmaWVycyB0byBzZWUgaWYgYW55dGhpbmcgaGFzIGNoYW5nZWRcbiAgLy8gYW5kIGlmIHNvLCBkZXN0cm95IG9sZCBvYnNlcnZlciBhbmQgY3JlYXRlIG5ldyBvYnNlcnZlclxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmICh2YWx1ZSAhPT0gb2xkVmFsdWUgfHwgIWVsW09CU0VSVkVSX1BST1BfTkFNRV0gfHwgIWxvb3NlRXF1YWwobW9kaWZpZXJzLCBlbFtPQlNFUlZFUl9QUk9QX05BTUVdLl9wcmV2TW9kaWZpZXJzKSkge1xuICAgIC8vIFJlLWJpbmQgb24gZWxlbWVudFxuICAgIGJpbmQoZWwsIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIG1vZGlmaWVyczogbW9kaWZpZXJzXG4gICAgfSwgdm5vZGUpO1xuICB9XG59OyAvLyBXaGVuIGRpcmVjdGl2ZSB1bi1iaW5kcyBmcm9tIGVsZW1lbnRcblxuXG52YXIgdW5iaW5kID0gZnVuY3Rpb24gdW5iaW5kKGVsKSB7XG4gIC8vIFJlbW92ZSB0aGUgb2JzZXJ2ZXJcbiAgZGVzdHJveShlbCk7XG59OyAvLyBFeHBvcnQgdGhlIGRpcmVjdGl2ZVxuXG5cbmV4cG9ydCB2YXIgVkJWaXNpYmxlID0ge1xuICBiaW5kOiBiaW5kLFxuICBjb21wb25lbnRVcGRhdGVkOiBjb21wb25lbnRVcGRhdGVkLFxuICB1bmJpbmQ6IHVuYmluZFxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9kaXJlY3RpdmVzL3Zpc2libGUuanNcbi8vIG1vZHVsZSBpZCA9IDExN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///117\n"); + +/***/ }), +/* 118 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCardText; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n textTag: {\n type: String,\n default: 'p'\n }\n}; // @vue/component\n\nvar BCardText =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCardText',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'card-text'\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtdGV4dC5qcz9hY2M1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDO0FBQ29CO0FBQy9DO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLG9GQUFTO0FBQ3JDO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIHRleHRUYWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ3AnXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkNhcmRUZXh0ID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkNhcmRUZXh0JyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHJldHVybiBoKHByb3BzLnRleHRUYWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ2NhcmQtdGV4dCdcbiAgICB9KSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2NhcmQvY2FyZC10ZXh0LmpzXG4vLyBtb2R1bGUgaWQgPSAxMThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///118\n"); + +/***/ }), +/* 119 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCardGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n deck: {\n type: Boolean,\n default: false\n },\n columns: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nvar BCardGroup =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCardGroup',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var baseClass = 'card-group';\n\n if (props.deck) {\n baseClass = 'card-deck';\n } else if (props.columns) {\n baseClass = 'card-columns';\n }\n\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n class: baseClass\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJkL2NhcmQtZ3JvdXAuanM/ZjE4OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNvQjtBQUMvQztBQUNQO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBLHdCQUF3QixvRkFBUztBQUNqQztBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTE5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2RpdidcbiAgfSxcbiAgZGVjazoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgY29sdW1uczoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCQ2FyZEdyb3VwID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkNhcmRHcm91cCcsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICB2YXIgYmFzZUNsYXNzID0gJ2NhcmQtZ3JvdXAnO1xuXG4gICAgaWYgKHByb3BzLmRlY2spIHtcbiAgICAgIGJhc2VDbGFzcyA9ICdjYXJkLWRlY2snO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuY29sdW1ucykge1xuICAgICAgYmFzZUNsYXNzID0gJ2NhcmQtY29sdW1ucyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGgocHJvcHMudGFnLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgY2xhc3M6IGJhc2VDbGFzc1xuICAgIH0pLCBjaGlsZHJlbik7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvY2FyZC9jYXJkLWdyb3VwLmpzXG4vLyBtb2R1bGUgaWQgPSAxMTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///119\n"); + +/***/ }), +/* 120 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return CarouselPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__carousel__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__carousel_slide__ = __webpack_require__(122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BCarousel */\n/* unused harmony reexport BCarouselSlide */\n\n\n\nvar CarouselPlugin =\n/*#__PURE*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BCarousel: __WEBPACK_IMPORTED_MODULE_0__carousel__[\"a\" /* BCarousel */],\n BCarouselSlide: __WEBPACK_IMPORTED_MODULE_1__carousel_slide__[\"a\" /* BCarouselSlide */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJvdXNlbC9pbmRleC5qcz81YzZiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF1QztBQUNXO0FBQ0U7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxlQUFlLDREQUFTO0FBQ3hCLG9CQUFvQix1RUFBYztBQUNsQztBQUNBLENBQUMiLCJmaWxlIjoiMTIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkNhcm91c2VsIH0gZnJvbSAnLi9jYXJvdXNlbCc7XG5pbXBvcnQgeyBCQ2Fyb3VzZWxTbGlkZSB9IGZyb20gJy4vY2Fyb3VzZWwtc2xpZGUnO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIENhcm91c2VsUGx1Z2luID1cbi8qI19fUFVSRSovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJDYXJvdXNlbDogQkNhcm91c2VsLFxuICAgIEJDYXJvdXNlbFNsaWRlOiBCQ2Fyb3VzZWxTbGlkZVxuICB9XG59KTtcbmV4cG9ydCB7IENhcm91c2VsUGx1Z2luLCBCQ2Fyb3VzZWwsIEJDYXJvdXNlbFNsaWRlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJvdXNlbC9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTIwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///120\n"); + +/***/ }), +/* 121 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCarousel; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_noop__ = __webpack_require__(251);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_observe_dom__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mixins_normalize_slot__ = __webpack_require__(5);\n\n\n\n\n\n\n\n\n\n\nvar NAME = 'BCarousel'; // Slide directional classes\n\nvar DIRECTION = {\n next: {\n dirClass: 'carousel-item-left',\n overlayClass: 'carousel-item-next'\n },\n prev: {\n dirClass: 'carousel-item-right',\n overlayClass: 'carousel-item-prev'\n }\n}; // Fallback Transition duration (with a little buffer) in ms\n\nvar TRANS_DURATION = 600 + 50; // Time for mouse compat events to fire after touch\n\nvar TOUCH_EVENT_COMPAT_WAIT = 500; // Number of pixels to consider touch move a swipe\n\nvar SWIPE_THRESHOLD = 40; // PointerEvent pointer types\n\nvar PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}; // Transition Event names\n\nvar TransitionEndEvents = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n};\nvar EventOptions = {\n passive: true,\n capture: false\n}; // Return the browser specific transitionEnd event name\n\nvar getTransitionEndEvent = function getTransitionEndEvent(el) {\n for (var name in TransitionEndEvents) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"n\" /* isUndefined */])(el.style[name])) {\n return TransitionEndEvents[name];\n }\n } // Fallback\n\n /* istanbul ignore next */\n\n\n return null;\n}; // @vue/component\n\n\nvar BCarousel =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_8__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_9__mixins_normalize_slot__[\"a\" /* default */]],\n provide: function provide() {\n return {\n bvCarousel: this\n };\n },\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n labelPrev: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'labelPrev');\n }\n },\n labelNext: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'labelNext');\n }\n },\n labelGotoSlide: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'labelGotoSlide');\n }\n },\n labelIndicators: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'labelIndicators');\n }\n },\n interval: {\n type: Number,\n default: 5000\n },\n indicators: {\n type: Boolean,\n default: false\n },\n controls: {\n type: Boolean,\n default: false\n },\n noAnimation: {\n // Disable slide/fade animation\n type: Boolean,\n default: false\n },\n fade: {\n // Enable cross-fade animation instead of slide animation\n type: Boolean,\n default: false\n },\n noWrap: {\n // Disable wrapping/looping when start/end is reached\n type: Boolean,\n default: false\n },\n noTouch: {\n // Sniffed by carousel-slide\n type: Boolean,\n default: false\n },\n noHoverPause: {\n // Disable pause on hover\n type: Boolean,\n default: false\n },\n imgWidth: {\n // Sniffed by carousel-slide\n type: [Number, String] // default: undefined\n\n },\n imgHeight: {\n // Sniffed by carousel-slide\n type: [Number, String] // default: undefined\n\n },\n background: {\n type: String // default: undefined\n\n },\n value: {\n type: Number,\n default: 0\n }\n },\n data: function data() {\n return {\n index: this.value || 0,\n isSliding: false,\n transitionEndEvent: null,\n slides: [],\n direction: null,\n isPaused: !(parseInt(this.interval, 10) > 0),\n // Touch event handling values\n touchStartX: 0,\n touchDeltaX: 0\n };\n },\n computed: {\n numSlides: function numSlides() {\n return this.slides.length;\n }\n },\n watch: {\n value: function value(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.setSlide(parseInt(newVal, 10) || 0);\n }\n },\n interval: function interval(newVal, oldVal) {\n if (newVal === oldVal) {\n /* istanbul ignore next */\n return;\n }\n\n if (!newVal) {\n // Pausing slide show\n this.pause(false);\n } else {\n // Restarting or Changing interval\n this.pause(true);\n this.start(false);\n }\n },\n isPaused: function isPaused(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit(newVal ? 'paused' : 'unpaused');\n }\n },\n index: function index(to, from) {\n if (to === from || this.isSliding) {\n /* istanbul ignore next */\n return;\n }\n\n this.doSlide(to, from);\n }\n },\n created: function created() {\n // Create private non-reactive props\n this._intervalId = null;\n this._animationTimeout = null;\n this._touchTimeout = null; // Set initial paused state\n\n this.isPaused = !(parseInt(this.interval, 10) > 0);\n },\n mounted: function mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransitionEndEvent(this.$el) || null; // Get all slides\n\n this.updateSlides(); // Observe child changes so we can update slide list\n\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_observe_dom__[\"a\" /* default */])(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n });\n },\n beforeDestroy: function beforeDestroy() {\n clearTimeout(this._animationTimeout);\n clearTimeout(this._touchTimeout);\n clearInterval(this._intervalId);\n this._intervalId = null;\n this._animationTimeout = null;\n this._touchTimeout = null;\n },\n methods: {\n // Set slide\n setSlide: function setSlide(slide) {\n var _this = this;\n\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // Don't animate when page is not visible\n\n /* istanbul ignore if: difficult to test */\n if (__WEBPACK_IMPORTED_MODULE_6__utils_env__[\"j\" /* isBrowser */] && document.visibilityState && document.hidden) {\n return;\n }\n\n var noWrap = this.noWrap;\n var numSlides = this.numSlides; // Make sure we have an integer (you never know!)\n\n slide = Math.floor(slide); // Don't do anything if nothing to slide to\n\n if (numSlides === 0) {\n return;\n } // Don't change slide while transitioning, wait until transition is done\n\n\n if (this.isSliding) {\n // Schedule slide after sliding complete\n this.$once('sliding-end', function () {\n return _this.setSlide(slide, direction);\n });\n return;\n }\n\n this.direction = direction; // Set new slide index\n // Wrap around if necessary (if no-wrap not enabled)\n\n this.index = slide >= numSlides ? noWrap ? numSlides - 1 : 0 : slide < 0 ? noWrap ? 0 : numSlides - 1 : slide; // Ensure the v-model is synched up if no-wrap is enabled\n // and user tried to slide pass either ends\n\n if (noWrap && this.index !== slide && this.index !== this.value) {\n this.$emit('input', this.index);\n }\n },\n // Previous slide\n prev: function prev() {\n this.setSlide(this.index - 1, 'prev');\n },\n // Next slide\n next: function next() {\n this.setSlide(this.index + 1, 'next');\n },\n // Pause auto rotation\n pause: function pause(evt) {\n if (!evt) {\n this.isPaused = true;\n }\n\n if (this._intervalId) {\n clearInterval(this._intervalId);\n this._intervalId = null;\n }\n },\n // Start auto rotate slides\n start: function start(evt) {\n if (!evt) {\n this.isPaused = false;\n }\n /* istanbul ignore next: most likely will never happen, but just in case */\n\n\n if (this._intervalId) {\n clearInterval(this._intervalId);\n this._intervalId = null;\n } // Don't start if no interval, or less than 2 slides\n\n\n if (this.interval && this.numSlides > 1) {\n this._intervalId = setInterval(this.next, Math.max(1000, this.interval));\n }\n },\n // Restart auto rotate slides when focus/hover leaves the carousel\n restart: function restart(evt)\n /* istanbul ignore next: difficult to test */\n {\n if (!this.$el.contains(document.activeElement)) {\n this.start();\n }\n },\n doSlide: function doSlide(to, from) {\n var _this2 = this;\n\n var isCycling = Boolean(this.interval); // Determine sliding direction\n\n var direction = this.calcDirection(this.direction, from, to);\n var overlayClass = direction.overlayClass;\n var dirClass = direction.dirClass; // Determine current and next slides\n\n var currentSlide = this.slides[from];\n var nextSlide = this.slides[to]; // Don't do anything if there aren't any slides to slide to\n\n if (!currentSlide || !nextSlide) {\n /* istanbul ignore next */\n return;\n } // Start animating\n\n\n this.isSliding = true;\n\n if (isCycling) {\n this.pause(false);\n }\n\n this.$emit('sliding-start', to); // Update v-model\n\n this.$emit('input', this.index);\n\n if (this.noAnimation) {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"b\" /* addClass */])(nextSlide, 'active');\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"v\" /* removeClass */])(currentSlide, 'active');\n this.isSliding = false; // Notify ourselves that we're done sliding (slid)\n\n this.$nextTick(function () {\n return _this2.$emit('sliding-end', to);\n });\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"b\" /* addClass */])(nextSlide, overlayClass); // Trigger a reflow of next slide\n\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"t\" /* reflow */])(nextSlide);\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"b\" /* addClass */])(currentSlide, dirClass);\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"b\" /* addClass */])(nextSlide, dirClass); // Transition End handler\n\n var called = false;\n /* istanbul ignore next: difficult to test */\n\n var onceTransEnd = function onceTransEnd(evt) {\n if (called) {\n return;\n }\n\n called = true;\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n if (_this2.transitionEndEvent) {\n var events = _this2.transitionEndEvent.split(/\\s+/);\n\n events.forEach(function (evt) {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"e\" /* eventOff */])(currentSlide, evt, onceTransEnd, EventOptions);\n });\n }\n\n _this2._animationTimeout = null;\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"v\" /* removeClass */])(nextSlide, dirClass);\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"v\" /* removeClass */])(nextSlide, overlayClass);\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"b\" /* addClass */])(nextSlide, 'active');\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"v\" /* removeClass */])(currentSlide, 'active');\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"v\" /* removeClass */])(currentSlide, dirClass);\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"v\" /* removeClass */])(currentSlide, overlayClass);\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"z\" /* setAttr */])(currentSlide, 'aria-current', 'false');\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"z\" /* setAttr */])(nextSlide, 'aria-current', 'true');\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"z\" /* setAttr */])(currentSlide, 'aria-hidden', 'true');\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"z\" /* setAttr */])(nextSlide, 'aria-hidden', 'false');\n _this2.isSliding = false;\n _this2.direction = null; // Notify ourselves that we're done sliding (slid)\n\n _this2.$nextTick(function () {\n return _this2.$emit('sliding-end', to);\n });\n }; // Set up transitionend handler\n\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n\n if (this.transitionEndEvent) {\n var events = this.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"f\" /* eventOn */])(currentSlide, event, onceTransEnd, EventOptions);\n });\n } // Fallback to setTimeout()\n\n\n this._animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION);\n }\n\n if (isCycling) {\n this.start(false);\n }\n },\n // Update slide list\n updateSlides: function updateSlides() {\n this.pause(true); // Get all slides as DOM elements\n\n this.slides = Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"y\" /* selectAll */])('.carousel-item', this.$refs.inner);\n var numSlides = this.slides.length; // Keep slide number in range\n\n var index = Math.max(0, Math.min(Math.floor(this.index), numSlides - 1));\n this.slides.forEach(function (slide, idx) {\n var n = idx + 1;\n\n if (idx === index) {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"b\" /* addClass */])(slide, 'active');\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"z\" /* setAttr */])(slide, 'aria-current', 'true');\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"v\" /* removeClass */])(slide, 'active');\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"z\" /* setAttr */])(slide, 'aria-current', 'false');\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"z\" /* setAttr */])(slide, 'aria-posinset', String(n));\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"z\" /* setAttr */])(slide, 'aria-setsize', String(numSlides));\n }); // Set slide as active\n\n this.setSlide(index);\n this.start(this.isPaused);\n },\n calcDirection: function calcDirection() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var curIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var nextIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (!direction) {\n return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev;\n }\n\n return DIRECTION[direction];\n },\n handleClick: function handleClick(evt, fn) {\n var keyCode = evt.keyCode;\n\n if (evt.type === 'click' || keyCode === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].SPACE || keyCode === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].ENTER) {\n evt.preventDefault();\n evt.stopPropagation();\n fn();\n }\n },\n handleSwipe: function handleSwipe()\n /* istanbul ignore next: JSDOM doesn't support touch events */\n {\n var absDeltaX = Math.abs(this.touchDeltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltaX / this.touchDeltaX; // Reset touch delta X\n // https://github.com/twbs/bootstrap/pull/28558\n\n this.touchDeltaX = 0;\n\n if (direction > 0) {\n // Swipe left\n this.prev();\n } else if (direction < 0) {\n // Swipe right\n this.next();\n }\n },\n touchStart: function touchStart(evt)\n /* istanbul ignore next: JSDOM doesn't support touch events */\n {\n if (__WEBPACK_IMPORTED_MODULE_6__utils_env__[\"f\" /* hasPointerEventSupport */] && PointerType[evt.pointerType.toUpperCase()]) {\n this.touchStartX = evt.clientX;\n } else if (!__WEBPACK_IMPORTED_MODULE_6__utils_env__[\"f\" /* hasPointerEventSupport */]) {\n this.touchStartX = evt.touches[0].clientX;\n }\n },\n touchMove: function touchMove(evt)\n /* istanbul ignore next: JSDOM doesn't support touch events */\n {\n // Ensure swiping with one touch and not pinching\n if (evt.touches && evt.touches.length > 1) {\n this.touchDeltaX = 0;\n } else {\n this.touchDeltaX = evt.touches[0].clientX - this.touchStartX;\n }\n },\n touchEnd: function touchEnd(evt)\n /* istanbul ignore next: JSDOM doesn't support touch events */\n {\n if (__WEBPACK_IMPORTED_MODULE_6__utils_env__[\"f\" /* hasPointerEventSupport */] && PointerType[evt.pointerType.toUpperCase()]) {\n this.touchDeltaX = evt.clientX - this.touchStartX;\n }\n\n this.handleSwipe(); // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause(false);\n\n if (this._touchTimeout) {\n clearTimeout(this._touchTimeout);\n }\n\n this._touchTimeout = setTimeout(this.start, TOUCH_EVENT_COMPAT_WAIT + Math.max(1000, this.interval));\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n // Wrapper for slides\n var inner = h('div', {\n ref: 'inner',\n class: ['carousel-inner'],\n attrs: {\n id: this.safeId('__BV_inner_'),\n role: 'list'\n }\n }, [this.normalizeSlot('default')]); // Prev and next controls\n\n var controls = h();\n\n if (this.controls) {\n var prevHandler = function prevHandler(evt) {\n /* istanbul ignore next */\n if (!_this3.isSliding) {\n _this3.handleClick(evt, _this3.prev);\n } else {\n evt.preventDefault();\n }\n };\n\n var nextHandler = function nextHandler(evt) {\n /* istanbul ignore next */\n if (!_this3.isSliding) {\n _this3.handleClick(evt, _this3.next);\n } else {\n evt.preventDefault();\n }\n };\n\n controls = [h('a', {\n class: ['carousel-control-prev'],\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': this.safeId('__BV_inner_'),\n 'aria-disabled': this.isSliding ? 'true' : null\n },\n on: {\n click: prevHandler,\n keydown: prevHandler\n }\n }, [h('span', {\n class: ['carousel-control-prev-icon'],\n attrs: {\n 'aria-hidden': 'true'\n }\n }), h('span', {\n class: ['sr-only']\n }, [this.labelPrev])]), h('a', {\n class: ['carousel-control-next'],\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': this.safeId('__BV_inner_'),\n 'aria-disabled': this.isSliding ? 'true' : null\n },\n on: {\n click: nextHandler,\n keydown: nextHandler\n }\n }, [h('span', {\n class: ['carousel-control-next-icon'],\n attrs: {\n 'aria-hidden': 'true'\n }\n }), h('span', {\n class: ['sr-only']\n }, [this.labelNext])])];\n } // Indicators\n\n\n var indicators = h('ol', {\n class: ['carousel-indicators'],\n directives: [{\n name: 'show',\n rawName: 'v-show',\n value: this.indicators,\n expression: 'indicators'\n }],\n attrs: {\n id: this.safeId('__BV_indicators_'),\n 'aria-hidden': this.indicators ? 'false' : 'true',\n 'aria-label': this.labelIndicators,\n 'aria-owns': this.safeId('__BV_inner_')\n }\n }, this.slides.map(function (slide, n) {\n return h('li', {\n key: \"slide_\".concat(n),\n class: {\n active: n === _this3.index\n },\n attrs: {\n role: 'button',\n id: _this3.safeId(\"__BV_indicator_\".concat(n + 1, \"_\")),\n tabindex: _this3.indicators ? '0' : '-1',\n 'aria-current': n === _this3.index ? 'true' : 'false',\n 'aria-label': \"\".concat(_this3.labelGotoSlide, \" \").concat(n + 1),\n 'aria-describedby': _this3.slides[n].id || null,\n 'aria-controls': _this3.safeId('__BV_inner_')\n },\n on: {\n click: function click(evt) {\n _this3.handleClick(evt, function () {\n _this3.setSlide(n);\n });\n },\n keydown: function keydown(evt) {\n _this3.handleClick(evt, function () {\n _this3.setSlide(n);\n });\n }\n }\n });\n }));\n var on = {\n mouseenter: this.noHoverPause ? __WEBPACK_IMPORTED_MODULE_2__utils_noop__[\"a\" /* default */] : this.pause,\n mouseleave: this.noHoverPause ? __WEBPACK_IMPORTED_MODULE_2__utils_noop__[\"a\" /* default */] : this.restart,\n focusin: this.pause,\n focusout: this.restart,\n keydown: function keydown(evt) {\n if (/input|textarea/i.test(evt.target.tagName)) {\n /* istanbul ignore next */\n return;\n }\n\n var keyCode = evt.keyCode;\n\n if (keyCode === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].LEFT || keyCode === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].RIGHT) {\n evt.preventDefault();\n evt.stopPropagation();\n\n _this3[keyCode === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].LEFT ? 'prev' : 'next']();\n }\n }\n }; // Touch support event handlers for environment\n\n if (!this.noTouch && __WEBPACK_IMPORTED_MODULE_6__utils_env__[\"h\" /* hasTouchSupport */]) {\n // Attach appropriate listeners (prepend event name with '&' for passive mode)\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n if (__WEBPACK_IMPORTED_MODULE_6__utils_env__[\"f\" /* hasPointerEventSupport */]) {\n on['&pointerdown'] = this.touchStart;\n on['&pointerup'] = this.touchEnd;\n } else {\n on['&touchstart'] = this.touchStart;\n on['&touchmove'] = this.touchMove;\n on['&touchend'] = this.touchEnd;\n }\n } // Return the carousel\n\n\n return h('div', {\n staticClass: 'carousel',\n class: {\n slide: !this.noAnimation,\n 'carousel-fade': !this.noAnimation && this.fade,\n 'pointer-event': !this.noTouch && __WEBPACK_IMPORTED_MODULE_6__utils_env__[\"h\" /* hasTouchSupport */] && __WEBPACK_IMPORTED_MODULE_6__utils_env__[\"f\" /* hasPointerEventSupport */]\n },\n style: {\n background: this.background\n },\n attrs: {\n role: 'region',\n id: this.safeId(),\n 'aria-busy': this.isSliding ? 'true' : 'false'\n },\n on: on\n }, [inner, controls, indicators]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5qcz83NTIzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDVztBQUNUO0FBQ2E7QUFDTztBQUMrQztBQUNsQjtBQUNuQztBQUNaO0FBQ3VCO0FBQzdELHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGLDhCQUE4Qjs7QUFFOUIsa0NBQWtDOztBQUVsQyx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0EsU0FBUywyRUFBVztBQUNwQjtBQUNBO0FBQ0EsR0FBRzs7QUFFSDs7O0FBR0E7QUFDQSxFQUFFOzs7QUFHSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsMkRBQU8sRUFBRSx1RUFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4Qjs7QUFFOUI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLHNFQUFzRTs7QUFFdEUsd0JBQXdCOztBQUV4QixJQUFJLDJFQUFVO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0EsVUFBVSw2REFBUztBQUNuQjtBQUNBOztBQUVBO0FBQ0EscUNBQXFDOztBQUVyQyxnQ0FBZ0M7O0FBRWhDO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBLGlDQUFpQztBQUNqQzs7QUFFQSxvSEFBb0g7QUFDcEg7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBLDZDQUE2Qzs7QUFFN0M7QUFDQTtBQUNBLHdDQUF3Qzs7QUFFeEM7QUFDQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7O0FBRXRDOztBQUVBO0FBQ0EsUUFBUSxvRUFBUTtBQUNoQixRQUFRLHVFQUFXO0FBQ25CLCtCQUErQjs7QUFFL0I7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1AsUUFBUSxvRUFBUSwwQkFBMEI7O0FBRTFDLFFBQVEsa0VBQU07QUFDZCxRQUFRLG9FQUFRO0FBQ2hCLFFBQVEsb0VBQVEsc0JBQXNCOztBQUV0QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQixvRUFBUTtBQUM3QixhQUFhO0FBQ2I7O0FBRUE7QUFDQSxVQUFVLHVFQUFXO0FBQ3JCLFVBQVUsdUVBQVc7QUFDckIsVUFBVSxvRUFBUTtBQUNsQixVQUFVLHVFQUFXO0FBQ3JCLFVBQVUsdUVBQVc7QUFDckIsVUFBVSx1RUFBVztBQUNyQixVQUFVLG1FQUFPO0FBQ2pCLFVBQVUsbUVBQU87QUFDakIsVUFBVSxtRUFBTztBQUNqQixVQUFVLG1FQUFPO0FBQ2pCO0FBQ0Esa0NBQWtDOztBQUVsQztBQUNBO0FBQ0EsV0FBVztBQUNYLFVBQVU7O0FBRVY7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixtRUFBTztBQUMxQixXQUFXO0FBQ1gsU0FBUzs7O0FBR1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkIsb0JBQW9CLHFFQUFTO0FBQzdCLHlDQUF5Qzs7QUFFekM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVSxvRUFBUTtBQUNsQixVQUFVLG1FQUFPO0FBQ2pCLFNBQVM7QUFDVCxVQUFVLHVFQUFXO0FBQ3JCLFVBQVUsbUVBQU87QUFDakI7O0FBRUEsUUFBUSxtRUFBTztBQUNmLFFBQVEsbUVBQU87QUFDZixPQUFPLEVBQUU7O0FBRVQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSw4Q0FBOEMsaUVBQVEsc0JBQXNCLGlFQUFRO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtREFBbUQ7QUFDbkQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxVQUFVLDBFQUFzQjtBQUNoQztBQUNBLE9BQU8sV0FBVywwRUFBc0I7QUFDeEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxVQUFVLDBFQUFzQjtBQUNoQztBQUNBOztBQUVBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxtQ0FBbUM7O0FBRXhDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBLHNDQUFzQyw0REFBSTtBQUMxQyxzQ0FBc0MsNERBQUk7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsd0JBQXdCLGlFQUFRLHFCQUFxQixpRUFBUTtBQUM3RDtBQUNBOztBQUVBLDZCQUE2QixpRUFBUTtBQUNyQztBQUNBO0FBQ0EsTUFBTTs7QUFFTix5QkFBeUIsbUVBQWU7QUFDeEM7O0FBRUE7QUFDQSxVQUFVLDBFQUFzQjtBQUNoQztBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxtRUFBZSxJQUFJLDBFQUFzQjtBQUNuRixPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTIxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IEtleUNvZGVzIGZyb20gJy4uLy4uL3V0aWxzL2tleS1jb2Rlcyc7XG5pbXBvcnQgbm9vcCBmcm9tICcuLi8uLi91dGlscy9ub29wJztcbmltcG9ydCBvYnNlcnZlRG9tIGZyb20gJy4uLy4uL3V0aWxzL29ic2VydmUtZG9tJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBzZWxlY3RBbGwsIHJlZmxvdywgYWRkQ2xhc3MsIHJlbW92ZUNsYXNzLCBzZXRBdHRyLCBldmVudE9uLCBldmVudE9mZiB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBpc0Jyb3dzZXIsIGhhc1RvdWNoU3VwcG9ydCwgaGFzUG9pbnRlckV2ZW50U3VwcG9ydCB9IGZyb20gJy4uLy4uL3V0aWxzL2Vudic7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IGlkTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2lkJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbnZhciBOQU1FID0gJ0JDYXJvdXNlbCc7IC8vIFNsaWRlIGRpcmVjdGlvbmFsIGNsYXNzZXNcblxudmFyIERJUkVDVElPTiA9IHtcbiAgbmV4dDoge1xuICAgIGRpckNsYXNzOiAnY2Fyb3VzZWwtaXRlbS1sZWZ0JyxcbiAgICBvdmVybGF5Q2xhc3M6ICdjYXJvdXNlbC1pdGVtLW5leHQnXG4gIH0sXG4gIHByZXY6IHtcbiAgICBkaXJDbGFzczogJ2Nhcm91c2VsLWl0ZW0tcmlnaHQnLFxuICAgIG92ZXJsYXlDbGFzczogJ2Nhcm91c2VsLWl0ZW0tcHJldidcbiAgfVxufTsgLy8gRmFsbGJhY2sgVHJhbnNpdGlvbiBkdXJhdGlvbiAod2l0aCBhIGxpdHRsZSBidWZmZXIpIGluIG1zXG5cbnZhciBUUkFOU19EVVJBVElPTiA9IDYwMCArIDUwOyAvLyBUaW1lIGZvciBtb3VzZSBjb21wYXQgZXZlbnRzIHRvIGZpcmUgYWZ0ZXIgdG91Y2hcblxudmFyIFRPVUNIX0VWRU5UX0NPTVBBVF9XQUlUID0gNTAwOyAvLyBOdW1iZXIgb2YgcGl4ZWxzIHRvIGNvbnNpZGVyIHRvdWNoIG1vdmUgYSBzd2lwZVxuXG52YXIgU1dJUEVfVEhSRVNIT0xEID0gNDA7IC8vIFBvaW50ZXJFdmVudCBwb2ludGVyIHR5cGVzXG5cbnZhciBQb2ludGVyVHlwZSA9IHtcbiAgVE9VQ0g6ICd0b3VjaCcsXG4gIFBFTjogJ3Blbidcbn07IC8vIFRyYW5zaXRpb24gRXZlbnQgbmFtZXNcblxudmFyIFRyYW5zaXRpb25FbmRFdmVudHMgPSB7XG4gIFdlYmtpdFRyYW5zaXRpb246ICd3ZWJraXRUcmFuc2l0aW9uRW5kJyxcbiAgTW96VHJhbnNpdGlvbjogJ3RyYW5zaXRpb25lbmQnLFxuICBPVHJhbnNpdGlvbjogJ290cmFuc2l0aW9uZW5kIG9UcmFuc2l0aW9uRW5kJyxcbiAgdHJhbnNpdGlvbjogJ3RyYW5zaXRpb25lbmQnXG59O1xudmFyIEV2ZW50T3B0aW9ucyA9IHtcbiAgcGFzc2l2ZTogdHJ1ZSxcbiAgY2FwdHVyZTogZmFsc2Vcbn07IC8vIFJldHVybiB0aGUgYnJvd3NlciBzcGVjaWZpYyB0cmFuc2l0aW9uRW5kIGV2ZW50IG5hbWVcblxudmFyIGdldFRyYW5zaXRpb25FbmRFdmVudCA9IGZ1bmN0aW9uIGdldFRyYW5zaXRpb25FbmRFdmVudChlbCkge1xuICBmb3IgKHZhciBuYW1lIGluIFRyYW5zaXRpb25FbmRFdmVudHMpIHtcbiAgICBpZiAoIWlzVW5kZWZpbmVkKGVsLnN0eWxlW25hbWVdKSkge1xuICAgICAgcmV0dXJuIFRyYW5zaXRpb25FbmRFdmVudHNbbmFtZV07XG4gICAgfVxuICB9IC8vIEZhbGxiYWNrXG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblxuXG4gIHJldHVybiBudWxsO1xufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuXG5leHBvcnQgdmFyIEJDYXJvdXNlbCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgbWl4aW5zOiBbaWRNaXhpbiwgbm9ybWFsaXplU2xvdE1peGluXSxcbiAgcHJvdmlkZTogZnVuY3Rpb24gcHJvdmlkZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnZDYXJvdXNlbDogdGhpc1xuICAgIH07XG4gIH0sXG4gIG1vZGVsOiB7XG4gICAgcHJvcDogJ3ZhbHVlJyxcbiAgICBldmVudDogJ2lucHV0J1xuICB9LFxuICBwcm9wczoge1xuICAgIGxhYmVsUHJldjoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2xhYmVsUHJldicpO1xuICAgICAgfVxuICAgIH0sXG4gICAgbGFiZWxOZXh0OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnbGFiZWxOZXh0Jyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsYWJlbEdvdG9TbGlkZToge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2xhYmVsR290b1NsaWRlJyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsYWJlbEluZGljYXRvcnM6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdsYWJlbEluZGljYXRvcnMnKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGludGVydmFsOiB7XG4gICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICBkZWZhdWx0OiA1MDAwXG4gICAgfSxcbiAgICBpbmRpY2F0b3JzOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGNvbnRyb2xzOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIG5vQW5pbWF0aW9uOiB7XG4gICAgICAvLyBEaXNhYmxlIHNsaWRlL2ZhZGUgYW5pbWF0aW9uXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGZhZGU6IHtcbiAgICAgIC8vIEVuYWJsZSBjcm9zcy1mYWRlIGFuaW1hdGlvbiBpbnN0ZWFkIG9mIHNsaWRlIGFuaW1hdGlvblxuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBub1dyYXA6IHtcbiAgICAgIC8vIERpc2FibGUgd3JhcHBpbmcvbG9vcGluZyB3aGVuIHN0YXJ0L2VuZCBpcyByZWFjaGVkXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIG5vVG91Y2g6IHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgY2Fyb3VzZWwtc2xpZGVcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbm9Ib3ZlclBhdXNlOiB7XG4gICAgICAvLyBEaXNhYmxlIHBhdXNlIG9uIGhvdmVyXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGltZ1dpZHRoOiB7XG4gICAgICAvLyBTbmlmZmVkIGJ5IGNhcm91c2VsLXNsaWRlXG4gICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICBpbWdIZWlnaHQ6IHtcbiAgICAgIC8vIFNuaWZmZWQgYnkgY2Fyb3VzZWwtc2xpZGVcbiAgICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10gLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgICB9LFxuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyAvLyBkZWZhdWx0OiB1bmRlZmluZWRcblxuICAgIH0sXG4gICAgdmFsdWU6IHtcbiAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgIGRlZmF1bHQ6IDBcbiAgICB9XG4gIH0sXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiB0aGlzLnZhbHVlIHx8IDAsXG4gICAgICBpc1NsaWRpbmc6IGZhbHNlLFxuICAgICAgdHJhbnNpdGlvbkVuZEV2ZW50OiBudWxsLFxuICAgICAgc2xpZGVzOiBbXSxcbiAgICAgIGRpcmVjdGlvbjogbnVsbCxcbiAgICAgIGlzUGF1c2VkOiAhKHBhcnNlSW50KHRoaXMuaW50ZXJ2YWwsIDEwKSA+IDApLFxuICAgICAgLy8gVG91Y2ggZXZlbnQgaGFuZGxpbmcgdmFsdWVzXG4gICAgICB0b3VjaFN0YXJ0WDogMCxcbiAgICAgIHRvdWNoRGVsdGFYOiAwXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBudW1TbGlkZXM6IGZ1bmN0aW9uIG51bVNsaWRlcygpIHtcbiAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5sZW5ndGg7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgaWYgKG5ld1ZhbCAhPT0gb2xkVmFsKSB7XG4gICAgICAgIHRoaXMuc2V0U2xpZGUocGFyc2VJbnQobmV3VmFsLCAxMCkgfHwgMCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBpbnRlcnZhbDogZnVuY3Rpb24gaW50ZXJ2YWwobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIGlmIChuZXdWYWwgPT09IG9sZFZhbCkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghbmV3VmFsKSB7XG4gICAgICAgIC8vIFBhdXNpbmcgc2xpZGUgc2hvd1xuICAgICAgICB0aGlzLnBhdXNlKGZhbHNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFJlc3RhcnRpbmcgb3IgQ2hhbmdpbmcgaW50ZXJ2YWxcbiAgICAgICAgdGhpcy5wYXVzZSh0cnVlKTtcbiAgICAgICAgdGhpcy5zdGFydChmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBpc1BhdXNlZDogZnVuY3Rpb24gaXNQYXVzZWQobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIGlmIChuZXdWYWwgIT09IG9sZFZhbCkge1xuICAgICAgICB0aGlzLiRlbWl0KG5ld1ZhbCA/ICdwYXVzZWQnIDogJ3VucGF1c2VkJyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBpbmRleDogZnVuY3Rpb24gaW5kZXgodG8sIGZyb20pIHtcbiAgICAgIGlmICh0byA9PT0gZnJvbSB8fCB0aGlzLmlzU2xpZGluZykge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZG9TbGlkZSh0bywgZnJvbSk7XG4gICAgfVxuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIC8vIENyZWF0ZSBwcml2YXRlIG5vbi1yZWFjdGl2ZSBwcm9wc1xuICAgIHRoaXMuX2ludGVydmFsSWQgPSBudWxsO1xuICAgIHRoaXMuX2FuaW1hdGlvblRpbWVvdXQgPSBudWxsO1xuICAgIHRoaXMuX3RvdWNoVGltZW91dCA9IG51bGw7IC8vIFNldCBpbml0aWFsIHBhdXNlZCBzdGF0ZVxuXG4gICAgdGhpcy5pc1BhdXNlZCA9ICEocGFyc2VJbnQodGhpcy5pbnRlcnZhbCwgMTApID4gMCk7XG4gIH0sXG4gIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgLy8gQ2FjaGUgY3VycmVudCBicm93c2VyIHRyYW5zaXRpb25lbmQgZXZlbnQgbmFtZVxuICAgIHRoaXMudHJhbnNpdGlvbkVuZEV2ZW50ID0gZ2V0VHJhbnNpdGlvbkVuZEV2ZW50KHRoaXMuJGVsKSB8fCBudWxsOyAvLyBHZXQgYWxsIHNsaWRlc1xuXG4gICAgdGhpcy51cGRhdGVTbGlkZXMoKTsgLy8gT2JzZXJ2ZSBjaGlsZCBjaGFuZ2VzIHNvIHdlIGNhbiB1cGRhdGUgc2xpZGUgbGlzdFxuXG4gICAgb2JzZXJ2ZURvbSh0aGlzLiRyZWZzLmlubmVyLCB0aGlzLnVwZGF0ZVNsaWRlcy5iaW5kKHRoaXMpLCB7XG4gICAgICBzdWJ0cmVlOiBmYWxzZSxcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXVxuICAgIH0pO1xuICB9LFxuICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9hbmltYXRpb25UaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fdG91Y2hUaW1lb3V0KTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsSWQpO1xuICAgIHRoaXMuX2ludGVydmFsSWQgPSBudWxsO1xuICAgIHRoaXMuX2FuaW1hdGlvblRpbWVvdXQgPSBudWxsO1xuICAgIHRoaXMuX3RvdWNoVGltZW91dCA9IG51bGw7XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICAvLyBTZXQgc2xpZGVcbiAgICBzZXRTbGlkZTogZnVuY3Rpb24gc2V0U2xpZGUoc2xpZGUpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHZhciBkaXJlY3Rpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IG51bGw7XG5cbiAgICAgIC8vIERvbid0IGFuaW1hdGUgd2hlbiBwYWdlIGlzIG5vdCB2aXNpYmxlXG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZjogZGlmZmljdWx0IHRvIHRlc3QgKi9cbiAgICAgIGlmIChpc0Jyb3dzZXIgJiYgZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlICYmIGRvY3VtZW50LmhpZGRlbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBub1dyYXAgPSB0aGlzLm5vV3JhcDtcbiAgICAgIHZhciBudW1TbGlkZXMgPSB0aGlzLm51bVNsaWRlczsgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYW4gaW50ZWdlciAoeW91IG5ldmVyIGtub3chKVxuXG4gICAgICBzbGlkZSA9IE1hdGguZmxvb3Ioc2xpZGUpOyAvLyBEb24ndCBkbyBhbnl0aGluZyBpZiBub3RoaW5nIHRvIHNsaWRlIHRvXG5cbiAgICAgIGlmIChudW1TbGlkZXMgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBEb24ndCBjaGFuZ2Ugc2xpZGUgd2hpbGUgdHJhbnNpdGlvbmluZywgd2FpdCB1bnRpbCB0cmFuc2l0aW9uIGlzIGRvbmVcblxuXG4gICAgICBpZiAodGhpcy5pc1NsaWRpbmcpIHtcbiAgICAgICAgLy8gU2NoZWR1bGUgc2xpZGUgYWZ0ZXIgc2xpZGluZyBjb21wbGV0ZVxuICAgICAgICB0aGlzLiRvbmNlKCdzbGlkaW5nLWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMuc2V0U2xpZGUoc2xpZGUsIGRpcmVjdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlyZWN0aW9uID0gZGlyZWN0aW9uOyAvLyBTZXQgbmV3IHNsaWRlIGluZGV4XG4gICAgICAvLyBXcmFwIGFyb3VuZCBpZiBuZWNlc3NhcnkgKGlmIG5vLXdyYXAgbm90IGVuYWJsZWQpXG5cbiAgICAgIHRoaXMuaW5kZXggPSBzbGlkZSA+PSBudW1TbGlkZXMgPyBub1dyYXAgPyBudW1TbGlkZXMgLSAxIDogMCA6IHNsaWRlIDwgMCA/IG5vV3JhcCA/IDAgOiBudW1TbGlkZXMgLSAxIDogc2xpZGU7IC8vIEVuc3VyZSB0aGUgdi1tb2RlbCBpcyBzeW5jaGVkIHVwIGlmIG5vLXdyYXAgaXMgZW5hYmxlZFxuICAgICAgLy8gYW5kIHVzZXIgdHJpZWQgdG8gc2xpZGUgcGFzcyBlaXRoZXIgZW5kc1xuXG4gICAgICBpZiAobm9XcmFwICYmIHRoaXMuaW5kZXggIT09IHNsaWRlICYmIHRoaXMuaW5kZXggIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCB0aGlzLmluZGV4KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFByZXZpb3VzIHNsaWRlXG4gICAgcHJldjogZnVuY3Rpb24gcHJldigpIHtcbiAgICAgIHRoaXMuc2V0U2xpZGUodGhpcy5pbmRleCAtIDEsICdwcmV2Jyk7XG4gICAgfSxcbiAgICAvLyBOZXh0IHNsaWRlXG4gICAgbmV4dDogZnVuY3Rpb24gbmV4dCgpIHtcbiAgICAgIHRoaXMuc2V0U2xpZGUodGhpcy5pbmRleCArIDEsICduZXh0Jyk7XG4gICAgfSxcbiAgICAvLyBQYXVzZSBhdXRvIHJvdGF0aW9uXG4gICAgcGF1c2U6IGZ1bmN0aW9uIHBhdXNlKGV2dCkge1xuICAgICAgaWYgKCFldnQpIHtcbiAgICAgICAgdGhpcy5pc1BhdXNlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9pbnRlcnZhbElkKSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWxJZCk7XG4gICAgICAgIHRoaXMuX2ludGVydmFsSWQgPSBudWxsO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gU3RhcnQgYXV0byByb3RhdGUgc2xpZGVzXG4gICAgc3RhcnQ6IGZ1bmN0aW9uIHN0YXJ0KGV2dCkge1xuICAgICAgaWYgKCFldnQpIHtcbiAgICAgICAgdGhpcy5pc1BhdXNlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IG1vc3QgbGlrZWx5IHdpbGwgbmV2ZXIgaGFwcGVuLCBidXQganVzdCBpbiBjYXNlICovXG5cblxuICAgICAgaWYgKHRoaXMuX2ludGVydmFsSWQpIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbElkKTtcbiAgICAgICAgdGhpcy5faW50ZXJ2YWxJZCA9IG51bGw7XG4gICAgICB9IC8vIERvbid0IHN0YXJ0IGlmIG5vIGludGVydmFsLCBvciBsZXNzIHRoYW4gMiBzbGlkZXNcblxuXG4gICAgICBpZiAodGhpcy5pbnRlcnZhbCAmJiB0aGlzLm51bVNsaWRlcyA+IDEpIHtcbiAgICAgICAgdGhpcy5faW50ZXJ2YWxJZCA9IHNldEludGVydmFsKHRoaXMubmV4dCwgTWF0aC5tYXgoMTAwMCwgdGhpcy5pbnRlcnZhbCkpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gUmVzdGFydCBhdXRvIHJvdGF0ZSBzbGlkZXMgd2hlbiBmb2N1cy9ob3ZlciBsZWF2ZXMgdGhlIGNhcm91c2VsXG4gICAgcmVzdGFydDogZnVuY3Rpb24gcmVzdGFydChldnQpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGRpZmZpY3VsdCB0byB0ZXN0ICovXG4gICAge1xuICAgICAgaWYgKCF0aGlzLiRlbC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkge1xuICAgICAgICB0aGlzLnN0YXJ0KCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBkb1NsaWRlOiBmdW5jdGlvbiBkb1NsaWRlKHRvLCBmcm9tKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgdmFyIGlzQ3ljbGluZyA9IEJvb2xlYW4odGhpcy5pbnRlcnZhbCk7IC8vIERldGVybWluZSBzbGlkaW5nIGRpcmVjdGlvblxuXG4gICAgICB2YXIgZGlyZWN0aW9uID0gdGhpcy5jYWxjRGlyZWN0aW9uKHRoaXMuZGlyZWN0aW9uLCBmcm9tLCB0byk7XG4gICAgICB2YXIgb3ZlcmxheUNsYXNzID0gZGlyZWN0aW9uLm92ZXJsYXlDbGFzcztcbiAgICAgIHZhciBkaXJDbGFzcyA9IGRpcmVjdGlvbi5kaXJDbGFzczsgLy8gRGV0ZXJtaW5lIGN1cnJlbnQgYW5kIG5leHQgc2xpZGVzXG5cbiAgICAgIHZhciBjdXJyZW50U2xpZGUgPSB0aGlzLnNsaWRlc1tmcm9tXTtcbiAgICAgIHZhciBuZXh0U2xpZGUgPSB0aGlzLnNsaWRlc1t0b107IC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHRoZXJlIGFyZW4ndCBhbnkgc2xpZGVzIHRvIHNsaWRlIHRvXG5cbiAgICAgIGlmICghY3VycmVudFNsaWRlIHx8ICFuZXh0U2xpZGUpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBTdGFydCBhbmltYXRpbmdcblxuXG4gICAgICB0aGlzLmlzU2xpZGluZyA9IHRydWU7XG5cbiAgICAgIGlmIChpc0N5Y2xpbmcpIHtcbiAgICAgICAgdGhpcy5wYXVzZShmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuJGVtaXQoJ3NsaWRpbmctc3RhcnQnLCB0byk7IC8vIFVwZGF0ZSB2LW1vZGVsXG5cbiAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgdGhpcy5pbmRleCk7XG5cbiAgICAgIGlmICh0aGlzLm5vQW5pbWF0aW9uKSB7XG4gICAgICAgIGFkZENsYXNzKG5leHRTbGlkZSwgJ2FjdGl2ZScpO1xuICAgICAgICByZW1vdmVDbGFzcyhjdXJyZW50U2xpZGUsICdhY3RpdmUnKTtcbiAgICAgICAgdGhpcy5pc1NsaWRpbmcgPSBmYWxzZTsgLy8gTm90aWZ5IG91cnNlbHZlcyB0aGF0IHdlJ3JlIGRvbmUgc2xpZGluZyAoc2xpZClcblxuICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIF90aGlzMi4kZW1pdCgnc2xpZGluZy1lbmQnLCB0byk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWRkQ2xhc3MobmV4dFNsaWRlLCBvdmVybGF5Q2xhc3MpOyAvLyBUcmlnZ2VyIGEgcmVmbG93IG9mIG5leHQgc2xpZGVcblxuICAgICAgICByZWZsb3cobmV4dFNsaWRlKTtcbiAgICAgICAgYWRkQ2xhc3MoY3VycmVudFNsaWRlLCBkaXJDbGFzcyk7XG4gICAgICAgIGFkZENsYXNzKG5leHRTbGlkZSwgZGlyQ2xhc3MpOyAvLyBUcmFuc2l0aW9uIEVuZCBoYW5kbGVyXG5cbiAgICAgICAgdmFyIGNhbGxlZCA9IGZhbHNlO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogZGlmZmljdWx0IHRvIHRlc3QgKi9cblxuICAgICAgICB2YXIgb25jZVRyYW5zRW5kID0gZnVuY3Rpb24gb25jZVRyYW5zRW5kKGV2dCkge1xuICAgICAgICAgIGlmIChjYWxsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZjogdHJhbnNpdGlvbiBldmVudHMgY2FudCBiZSB0ZXN0ZWQgaW4gSlNET00gKi9cblxuICAgICAgICAgIGlmIChfdGhpczIudHJhbnNpdGlvbkVuZEV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgZXZlbnRzID0gX3RoaXMyLnRyYW5zaXRpb25FbmRFdmVudC5zcGxpdCgvXFxzKy8pO1xuXG4gICAgICAgICAgICBldmVudHMuZm9yRWFjaChmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgIHJldHVybiBldmVudE9mZihjdXJyZW50U2xpZGUsIGV2dCwgb25jZVRyYW5zRW5kLCBFdmVudE9wdGlvbnMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX3RoaXMyLl9hbmltYXRpb25UaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgICByZW1vdmVDbGFzcyhuZXh0U2xpZGUsIGRpckNsYXNzKTtcbiAgICAgICAgICByZW1vdmVDbGFzcyhuZXh0U2xpZGUsIG92ZXJsYXlDbGFzcyk7XG4gICAgICAgICAgYWRkQ2xhc3MobmV4dFNsaWRlLCAnYWN0aXZlJyk7XG4gICAgICAgICAgcmVtb3ZlQ2xhc3MoY3VycmVudFNsaWRlLCAnYWN0aXZlJyk7XG4gICAgICAgICAgcmVtb3ZlQ2xhc3MoY3VycmVudFNsaWRlLCBkaXJDbGFzcyk7XG4gICAgICAgICAgcmVtb3ZlQ2xhc3MoY3VycmVudFNsaWRlLCBvdmVybGF5Q2xhc3MpO1xuICAgICAgICAgIHNldEF0dHIoY3VycmVudFNsaWRlLCAnYXJpYS1jdXJyZW50JywgJ2ZhbHNlJyk7XG4gICAgICAgICAgc2V0QXR0cihuZXh0U2xpZGUsICdhcmlhLWN1cnJlbnQnLCAndHJ1ZScpO1xuICAgICAgICAgIHNldEF0dHIoY3VycmVudFNsaWRlLCAnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICAgIHNldEF0dHIobmV4dFNsaWRlLCAnYXJpYS1oaWRkZW4nLCAnZmFsc2UnKTtcbiAgICAgICAgICBfdGhpczIuaXNTbGlkaW5nID0gZmFsc2U7XG4gICAgICAgICAgX3RoaXMyLmRpcmVjdGlvbiA9IG51bGw7IC8vIE5vdGlmeSBvdXJzZWx2ZXMgdGhhdCB3ZSdyZSBkb25lIHNsaWRpbmcgKHNsaWQpXG5cbiAgICAgICAgICBfdGhpczIuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBfdGhpczIuJGVtaXQoJ3NsaWRpbmctZW5kJywgdG8pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9OyAvLyBTZXQgdXAgdHJhbnNpdGlvbmVuZCBoYW5kbGVyXG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmOiB0cmFuc2l0aW9uIGV2ZW50cyBjYW50IGJlIHRlc3RlZCBpbiBKU0RPTSAqL1xuXG5cbiAgICAgICAgaWYgKHRoaXMudHJhbnNpdGlvbkVuZEV2ZW50KSB7XG4gICAgICAgICAgdmFyIGV2ZW50cyA9IHRoaXMudHJhbnNpdGlvbkVuZEV2ZW50LnNwbGl0KC9cXHMrLyk7XG4gICAgICAgICAgZXZlbnRzLmZvckVhY2goZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnRPbihjdXJyZW50U2xpZGUsIGV2ZW50LCBvbmNlVHJhbnNFbmQsIEV2ZW50T3B0aW9ucyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gLy8gRmFsbGJhY2sgdG8gc2V0VGltZW91dCgpXG5cblxuICAgICAgICB0aGlzLl9hbmltYXRpb25UaW1lb3V0ID0gc2V0VGltZW91dChvbmNlVHJhbnNFbmQsIFRSQU5TX0RVUkFUSU9OKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzQ3ljbGluZykge1xuICAgICAgICB0aGlzLnN0YXJ0KGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFVwZGF0ZSBzbGlkZSBsaXN0XG4gICAgdXBkYXRlU2xpZGVzOiBmdW5jdGlvbiB1cGRhdGVTbGlkZXMoKSB7XG4gICAgICB0aGlzLnBhdXNlKHRydWUpOyAvLyBHZXQgYWxsIHNsaWRlcyBhcyBET00gZWxlbWVudHNcblxuICAgICAgdGhpcy5zbGlkZXMgPSBzZWxlY3RBbGwoJy5jYXJvdXNlbC1pdGVtJywgdGhpcy4kcmVmcy5pbm5lcik7XG4gICAgICB2YXIgbnVtU2xpZGVzID0gdGhpcy5zbGlkZXMubGVuZ3RoOyAvLyBLZWVwIHNsaWRlIG51bWJlciBpbiByYW5nZVxuXG4gICAgICB2YXIgaW5kZXggPSBNYXRoLm1heCgwLCBNYXRoLm1pbihNYXRoLmZsb29yKHRoaXMuaW5kZXgpLCBudW1TbGlkZXMgLSAxKSk7XG4gICAgICB0aGlzLnNsaWRlcy5mb3JFYWNoKGZ1bmN0aW9uIChzbGlkZSwgaWR4KSB7XG4gICAgICAgIHZhciBuID0gaWR4ICsgMTtcblxuICAgICAgICBpZiAoaWR4ID09PSBpbmRleCkge1xuICAgICAgICAgIGFkZENsYXNzKHNsaWRlLCAnYWN0aXZlJyk7XG4gICAgICAgICAgc2V0QXR0cihzbGlkZSwgJ2FyaWEtY3VycmVudCcsICd0cnVlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVtb3ZlQ2xhc3Moc2xpZGUsICdhY3RpdmUnKTtcbiAgICAgICAgICBzZXRBdHRyKHNsaWRlLCAnYXJpYS1jdXJyZW50JywgJ2ZhbHNlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRBdHRyKHNsaWRlLCAnYXJpYS1wb3NpbnNldCcsIFN0cmluZyhuKSk7XG4gICAgICAgIHNldEF0dHIoc2xpZGUsICdhcmlhLXNldHNpemUnLCBTdHJpbmcobnVtU2xpZGVzKSk7XG4gICAgICB9KTsgLy8gU2V0IHNsaWRlIGFzIGFjdGl2ZVxuXG4gICAgICB0aGlzLnNldFNsaWRlKGluZGV4KTtcbiAgICAgIHRoaXMuc3RhcnQodGhpcy5pc1BhdXNlZCk7XG4gICAgfSxcbiAgICBjYWxjRGlyZWN0aW9uOiBmdW5jdGlvbiBjYWxjRGlyZWN0aW9uKCkge1xuICAgICAgdmFyIGRpcmVjdGlvbiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogbnVsbDtcbiAgICAgIHZhciBjdXJJbmRleCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogMDtcbiAgICAgIHZhciBuZXh0SW5kZXggPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IDA7XG5cbiAgICAgIGlmICghZGlyZWN0aW9uKSB7XG4gICAgICAgIHJldHVybiBuZXh0SW5kZXggPiBjdXJJbmRleCA/IERJUkVDVElPTi5uZXh0IDogRElSRUNUSU9OLnByZXY7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBESVJFQ1RJT05bZGlyZWN0aW9uXTtcbiAgICB9LFxuICAgIGhhbmRsZUNsaWNrOiBmdW5jdGlvbiBoYW5kbGVDbGljayhldnQsIGZuKSB7XG4gICAgICB2YXIga2V5Q29kZSA9IGV2dC5rZXlDb2RlO1xuXG4gICAgICBpZiAoZXZ0LnR5cGUgPT09ICdjbGljaycgfHwga2V5Q29kZSA9PT0gS2V5Q29kZXMuU1BBQ0UgfHwga2V5Q29kZSA9PT0gS2V5Q29kZXMuRU5URVIpIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZm4oKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGhhbmRsZVN3aXBlOiBmdW5jdGlvbiBoYW5kbGVTd2lwZSgpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IEpTRE9NIGRvZXNuJ3Qgc3VwcG9ydCB0b3VjaCBldmVudHMgKi9cbiAgICB7XG4gICAgICB2YXIgYWJzRGVsdGFYID0gTWF0aC5hYnModGhpcy50b3VjaERlbHRhWCk7XG5cbiAgICAgIGlmIChhYnNEZWx0YVggPD0gU1dJUEVfVEhSRVNIT0xEKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIGRpcmVjdGlvbiA9IGFic0RlbHRhWCAvIHRoaXMudG91Y2hEZWx0YVg7IC8vIFJlc2V0IHRvdWNoIGRlbHRhIFhcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4NTU4XG5cbiAgICAgIHRoaXMudG91Y2hEZWx0YVggPSAwO1xuXG4gICAgICBpZiAoZGlyZWN0aW9uID4gMCkge1xuICAgICAgICAvLyBTd2lwZSBsZWZ0XG4gICAgICAgIHRoaXMucHJldigpO1xuICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPCAwKSB7XG4gICAgICAgIC8vIFN3aXBlIHJpZ2h0XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdG91Y2hTdGFydDogZnVuY3Rpb24gdG91Y2hTdGFydChldnQpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IEpTRE9NIGRvZXNuJ3Qgc3VwcG9ydCB0b3VjaCBldmVudHMgKi9cbiAgICB7XG4gICAgICBpZiAoaGFzUG9pbnRlckV2ZW50U3VwcG9ydCAmJiBQb2ludGVyVHlwZVtldnQucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0pIHtcbiAgICAgICAgdGhpcy50b3VjaFN0YXJ0WCA9IGV2dC5jbGllbnRYO1xuICAgICAgfSBlbHNlIGlmICghaGFzUG9pbnRlckV2ZW50U3VwcG9ydCkge1xuICAgICAgICB0aGlzLnRvdWNoU3RhcnRYID0gZXZ0LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHRvdWNoTW92ZTogZnVuY3Rpb24gdG91Y2hNb3ZlKGV2dClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogSlNET00gZG9lc24ndCBzdXBwb3J0IHRvdWNoIGV2ZW50cyAqL1xuICAgIHtcbiAgICAgIC8vIEVuc3VyZSBzd2lwaW5nIHdpdGggb25lIHRvdWNoIGFuZCBub3QgcGluY2hpbmdcbiAgICAgIGlmIChldnQudG91Y2hlcyAmJiBldnQudG91Y2hlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRoaXMudG91Y2hEZWx0YVggPSAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b3VjaERlbHRhWCA9IGV2dC50b3VjaGVzWzBdLmNsaWVudFggLSB0aGlzLnRvdWNoU3RhcnRYO1xuICAgICAgfVxuICAgIH0sXG4gICAgdG91Y2hFbmQ6IGZ1bmN0aW9uIHRvdWNoRW5kKGV2dClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogSlNET00gZG9lc24ndCBzdXBwb3J0IHRvdWNoIGV2ZW50cyAqL1xuICAgIHtcbiAgICAgIGlmIChoYXNQb2ludGVyRXZlbnRTdXBwb3J0ICYmIFBvaW50ZXJUeXBlW2V2dC5wb2ludGVyVHlwZS50b1VwcGVyQ2FzZSgpXSkge1xuICAgICAgICB0aGlzLnRvdWNoRGVsdGFYID0gZXZ0LmNsaWVudFggLSB0aGlzLnRvdWNoU3RhcnRYO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmhhbmRsZVN3aXBlKCk7IC8vIElmIGl0J3MgYSB0b3VjaC1lbmFibGVkIGRldmljZSwgbW91c2VlbnRlci9sZWF2ZSBhcmUgZmlyZWQgYXNcbiAgICAgIC8vIHBhcnQgb2YgdGhlIG1vdXNlIGNvbXBhdGliaWxpdHkgZXZlbnRzIG9uIGZpcnN0IHRhcCAtIHRoZSBjYXJvdXNlbFxuICAgICAgLy8gd291bGQgc3RvcCBjeWNsaW5nIHVudGlsIHVzZXIgdGFwcGVkIG91dCBvZiBpdDtcbiAgICAgIC8vIGhlcmUsIHdlIGxpc3RlbiBmb3IgdG91Y2hlbmQsIGV4cGxpY2l0bHkgcGF1c2UgdGhlIGNhcm91c2VsXG4gICAgICAvLyAoYXMgaWYgaXQncyB0aGUgc2Vjb25kIHRpbWUgd2UgdGFwIG9uIGl0LCBtb3VzZWVudGVyIGNvbXBhdCBldmVudFxuICAgICAgLy8gaXMgTk9UIGZpcmVkKSBhbmQgYWZ0ZXIgYSB0aW1lb3V0ICh0byBhbGxvdyBmb3IgbW91c2UgY29tcGF0aWJpbGl0eVxuICAgICAgLy8gZXZlbnRzIHRvIGZpcmUpIHdlIGV4cGxpY2l0bHkgcmVzdGFydCBjeWNsaW5nXG5cbiAgICAgIHRoaXMucGF1c2UoZmFsc2UpO1xuXG4gICAgICBpZiAodGhpcy5fdG91Y2hUaW1lb3V0KSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90b3VjaFRpbWVvdXQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl90b3VjaFRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuc3RhcnQsIFRPVUNIX0VWRU5UX0NPTVBBVF9XQUlUICsgTWF0aC5tYXgoMTAwMCwgdGhpcy5pbnRlcnZhbCkpO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgLy8gV3JhcHBlciBmb3Igc2xpZGVzXG4gICAgdmFyIGlubmVyID0gaCgnZGl2Jywge1xuICAgICAgcmVmOiAnaW5uZXInLFxuICAgICAgY2xhc3M6IFsnY2Fyb3VzZWwtaW5uZXInXSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiB0aGlzLnNhZmVJZCgnX19CVl9pbm5lcl8nKSxcbiAgICAgICAgcm9sZTogJ2xpc3QnXG4gICAgICB9XG4gICAgfSwgW3RoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcpXSk7IC8vIFByZXYgYW5kIG5leHQgY29udHJvbHNcblxuICAgIHZhciBjb250cm9scyA9IGgoKTtcblxuICAgIGlmICh0aGlzLmNvbnRyb2xzKSB7XG4gICAgICB2YXIgcHJldkhhbmRsZXIgPSBmdW5jdGlvbiBwcmV2SGFuZGxlcihldnQpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgaWYgKCFfdGhpczMuaXNTbGlkaW5nKSB7XG4gICAgICAgICAgX3RoaXMzLmhhbmRsZUNsaWNrKGV2dCwgX3RoaXMzLnByZXYpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB2YXIgbmV4dEhhbmRsZXIgPSBmdW5jdGlvbiBuZXh0SGFuZGxlcihldnQpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgaWYgKCFfdGhpczMuaXNTbGlkaW5nKSB7XG4gICAgICAgICAgX3RoaXMzLmhhbmRsZUNsaWNrKGV2dCwgX3RoaXMzLm5leHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb250cm9scyA9IFtoKCdhJywge1xuICAgICAgICBjbGFzczogWydjYXJvdXNlbC1jb250cm9sLXByZXYnXSxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBocmVmOiAnIycsXG4gICAgICAgICAgcm9sZTogJ2J1dHRvbicsXG4gICAgICAgICAgJ2FyaWEtY29udHJvbHMnOiB0aGlzLnNhZmVJZCgnX19CVl9pbm5lcl8nKSxcbiAgICAgICAgICAnYXJpYS1kaXNhYmxlZCc6IHRoaXMuaXNTbGlkaW5nID8gJ3RydWUnIDogbnVsbFxuICAgICAgICB9LFxuICAgICAgICBvbjoge1xuICAgICAgICAgIGNsaWNrOiBwcmV2SGFuZGxlcixcbiAgICAgICAgICBrZXlkb3duOiBwcmV2SGFuZGxlclxuICAgICAgICB9XG4gICAgICB9LCBbaCgnc3BhbicsIHtcbiAgICAgICAgY2xhc3M6IFsnY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24nXSxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAnYXJpYS1oaWRkZW4nOiAndHJ1ZSdcbiAgICAgICAgfVxuICAgICAgfSksIGgoJ3NwYW4nLCB7XG4gICAgICAgIGNsYXNzOiBbJ3NyLW9ubHknXVxuICAgICAgfSwgW3RoaXMubGFiZWxQcmV2XSldKSwgaCgnYScsIHtcbiAgICAgICAgY2xhc3M6IFsnY2Fyb3VzZWwtY29udHJvbC1uZXh0J10sXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgaHJlZjogJyMnLFxuICAgICAgICAgIHJvbGU6ICdidXR0b24nLFxuICAgICAgICAgICdhcmlhLWNvbnRyb2xzJzogdGhpcy5zYWZlSWQoJ19fQlZfaW5uZXJfJyksXG4gICAgICAgICAgJ2FyaWEtZGlzYWJsZWQnOiB0aGlzLmlzU2xpZGluZyA/ICd0cnVlJyA6IG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBjbGljazogbmV4dEhhbmRsZXIsXG4gICAgICAgICAga2V5ZG93bjogbmV4dEhhbmRsZXJcbiAgICAgICAgfVxuICAgICAgfSwgW2goJ3NwYW4nLCB7XG4gICAgICAgIGNsYXNzOiBbJ2Nhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uJ10sXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgJ2FyaWEtaGlkZGVuJzogJ3RydWUnXG4gICAgICAgIH1cbiAgICAgIH0pLCBoKCdzcGFuJywge1xuICAgICAgICBjbGFzczogWydzci1vbmx5J11cbiAgICAgIH0sIFt0aGlzLmxhYmVsTmV4dF0pXSldO1xuICAgIH0gLy8gSW5kaWNhdG9yc1xuXG5cbiAgICB2YXIgaW5kaWNhdG9ycyA9IGgoJ29sJywge1xuICAgICAgY2xhc3M6IFsnY2Fyb3VzZWwtaW5kaWNhdG9ycyddLFxuICAgICAgZGlyZWN0aXZlczogW3tcbiAgICAgICAgbmFtZTogJ3Nob3cnLFxuICAgICAgICByYXdOYW1lOiAndi1zaG93JyxcbiAgICAgICAgdmFsdWU6IHRoaXMuaW5kaWNhdG9ycyxcbiAgICAgICAgZXhwcmVzc2lvbjogJ2luZGljYXRvcnMnXG4gICAgICB9XSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiB0aGlzLnNhZmVJZCgnX19CVl9pbmRpY2F0b3JzXycpLFxuICAgICAgICAnYXJpYS1oaWRkZW4nOiB0aGlzLmluZGljYXRvcnMgPyAnZmFsc2UnIDogJ3RydWUnLFxuICAgICAgICAnYXJpYS1sYWJlbCc6IHRoaXMubGFiZWxJbmRpY2F0b3JzLFxuICAgICAgICAnYXJpYS1vd25zJzogdGhpcy5zYWZlSWQoJ19fQlZfaW5uZXJfJylcbiAgICAgIH1cbiAgICB9LCB0aGlzLnNsaWRlcy5tYXAoZnVuY3Rpb24gKHNsaWRlLCBuKSB7XG4gICAgICByZXR1cm4gaCgnbGknLCB7XG4gICAgICAgIGtleTogXCJzbGlkZV9cIi5jb25jYXQobiksXG4gICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgYWN0aXZlOiBuID09PSBfdGhpczMuaW5kZXhcbiAgICAgICAgfSxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICByb2xlOiAnYnV0dG9uJyxcbiAgICAgICAgICBpZDogX3RoaXMzLnNhZmVJZChcIl9fQlZfaW5kaWNhdG9yX1wiLmNvbmNhdChuICsgMSwgXCJfXCIpKSxcbiAgICAgICAgICB0YWJpbmRleDogX3RoaXMzLmluZGljYXRvcnMgPyAnMCcgOiAnLTEnLFxuICAgICAgICAgICdhcmlhLWN1cnJlbnQnOiBuID09PSBfdGhpczMuaW5kZXggPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgICAgICdhcmlhLWxhYmVsJzogXCJcIi5jb25jYXQoX3RoaXMzLmxhYmVsR290b1NsaWRlLCBcIiBcIikuY29uY2F0KG4gKyAxKSxcbiAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IF90aGlzMy5zbGlkZXNbbl0uaWQgfHwgbnVsbCxcbiAgICAgICAgICAnYXJpYS1jb250cm9scyc6IF90aGlzMy5zYWZlSWQoJ19fQlZfaW5uZXJfJylcbiAgICAgICAgfSxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBjbGljazogZnVuY3Rpb24gY2xpY2soZXZ0KSB7XG4gICAgICAgICAgICBfdGhpczMuaGFuZGxlQ2xpY2soZXZ0LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIF90aGlzMy5zZXRTbGlkZShuKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAga2V5ZG93bjogZnVuY3Rpb24ga2V5ZG93bihldnQpIHtcbiAgICAgICAgICAgIF90aGlzMy5oYW5kbGVDbGljayhldnQsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgX3RoaXMzLnNldFNsaWRlKG4pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KSk7XG4gICAgdmFyIG9uID0ge1xuICAgICAgbW91c2VlbnRlcjogdGhpcy5ub0hvdmVyUGF1c2UgPyBub29wIDogdGhpcy5wYXVzZSxcbiAgICAgIG1vdXNlbGVhdmU6IHRoaXMubm9Ib3ZlclBhdXNlID8gbm9vcCA6IHRoaXMucmVzdGFydCxcbiAgICAgIGZvY3VzaW46IHRoaXMucGF1c2UsXG4gICAgICBmb2N1c291dDogdGhpcy5yZXN0YXJ0LFxuICAgICAga2V5ZG93bjogZnVuY3Rpb24ga2V5ZG93bihldnQpIHtcbiAgICAgICAgaWYgKC9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QoZXZ0LnRhcmdldC50YWdOYW1lKSkge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGtleUNvZGUgPSBldnQua2V5Q29kZTtcblxuICAgICAgICBpZiAoa2V5Q29kZSA9PT0gS2V5Q29kZXMuTEVGVCB8fCBrZXlDb2RlID09PSBLZXlDb2Rlcy5SSUdIVCkge1xuICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgIF90aGlzM1trZXlDb2RlID09PSBLZXlDb2Rlcy5MRUZUID8gJ3ByZXYnIDogJ25leHQnXSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTsgLy8gVG91Y2ggc3VwcG9ydCBldmVudCBoYW5kbGVycyBmb3IgZW52aXJvbm1lbnRcblxuICAgIGlmICghdGhpcy5ub1RvdWNoICYmIGhhc1RvdWNoU3VwcG9ydCkge1xuICAgICAgLy8gQXR0YWNoIGFwcHJvcHJpYXRlIGxpc3RlbmVycyAocHJlcGVuZCBldmVudCBuYW1lIHdpdGggJyYnIGZvciBwYXNzaXZlIG1vZGUpXG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBKU0RPTSBkb2Vzbid0IHN1cHBvcnQgdG91Y2ggZXZlbnRzICovXG4gICAgICBpZiAoaGFzUG9pbnRlckV2ZW50U3VwcG9ydCkge1xuICAgICAgICBvblsnJnBvaW50ZXJkb3duJ10gPSB0aGlzLnRvdWNoU3RhcnQ7XG4gICAgICAgIG9uWycmcG9pbnRlcnVwJ10gPSB0aGlzLnRvdWNoRW5kO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb25bJyZ0b3VjaHN0YXJ0J10gPSB0aGlzLnRvdWNoU3RhcnQ7XG4gICAgICAgIG9uWycmdG91Y2htb3ZlJ10gPSB0aGlzLnRvdWNoTW92ZTtcbiAgICAgICAgb25bJyZ0b3VjaGVuZCddID0gdGhpcy50b3VjaEVuZDtcbiAgICAgIH1cbiAgICB9IC8vIFJldHVybiB0aGUgY2Fyb3VzZWxcblxuXG4gICAgcmV0dXJuIGgoJ2RpdicsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnY2Fyb3VzZWwnLFxuICAgICAgY2xhc3M6IHtcbiAgICAgICAgc2xpZGU6ICF0aGlzLm5vQW5pbWF0aW9uLFxuICAgICAgICAnY2Fyb3VzZWwtZmFkZSc6ICF0aGlzLm5vQW5pbWF0aW9uICYmIHRoaXMuZmFkZSxcbiAgICAgICAgJ3BvaW50ZXItZXZlbnQnOiAhdGhpcy5ub1RvdWNoICYmIGhhc1RvdWNoU3VwcG9ydCAmJiBoYXNQb2ludGVyRXZlbnRTdXBwb3J0XG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgYmFja2dyb3VuZDogdGhpcy5iYWNrZ3JvdW5kXG4gICAgICB9LFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgcm9sZTogJ3JlZ2lvbicsXG4gICAgICAgIGlkOiB0aGlzLnNhZmVJZCgpLFxuICAgICAgICAnYXJpYS1idXN5JzogdGhpcy5pc1NsaWRpbmcgPyAndHJ1ZScgOiAnZmFsc2UnXG4gICAgICB9LFxuICAgICAgb246IG9uXG4gICAgfSwgW2lubmVyLCBjb250cm9scywgaW5kaWNhdG9yc10pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmpzXG4vLyBtb2R1bGUgaWQgPSAxMjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///121\n"); + +/***/ }), +/* 122 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCarouselSlide; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__image_img__ = __webpack_require__(38);\n\n\n\n\n\n\nvar props = {\n imgSrc: {\n type: String // default: undefined\n\n },\n imgAlt: {\n type: String // default: undefined\n\n },\n imgWidth: {\n type: [Number, String] // default: undefined\n\n },\n imgHeight: {\n type: [Number, String] // default: undefined\n\n },\n imgBlank: {\n type: Boolean,\n default: false\n },\n imgBlankColor: {\n type: String,\n default: 'transparent'\n },\n contentVisibleUp: {\n type: String\n },\n contentTag: {\n type: String,\n default: 'div'\n },\n caption: {\n type: String\n },\n captionHtml: {\n type: String\n },\n captionTag: {\n type: String,\n default: 'h3'\n },\n text: {\n type: String\n },\n textHtml: {\n type: String\n },\n textTag: {\n type: String,\n default: 'p'\n },\n background: {\n type: String\n }\n}; // @vue/component\n\nvar BCarouselSlide =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCarouselSlide',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */]],\n inject: {\n bvCarousel: {\n default: function _default() {\n return {\n // Explicitly disable touch if not a child of carousel\n noTouch: true\n };\n }\n }\n },\n props: props,\n computed: {\n contentClasses: function contentClasses() {\n return [this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? \"d-\".concat(this.contentVisibleUp, \"-block\") : ''];\n },\n computedWidth: function computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.bvCarousel.imgWidth || null;\n },\n computedHeight: function computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.bvCarousel.imgHeight || null;\n }\n },\n render: function render(h) {\n var noDrag = !this.bvCarousel.noTouch && __WEBPACK_IMPORTED_MODULE_3__utils_env__[\"h\" /* hasTouchSupport */];\n var img = this.normalizeSlot('img');\n\n if (!img && (this.imgSrc || this.imgBlank)) {\n img = h(__WEBPACK_IMPORTED_MODULE_5__image_img__[\"a\" /* BImg */], {\n props: {\n fluidGrow: true,\n block: true,\n src: this.imgSrc,\n blank: this.imgBlank,\n blankColor: this.imgBlankColor,\n width: this.computedWidth,\n height: this.computedHeight,\n alt: this.imgAlt\n },\n // Touch support event handler\n on: noDrag ? {\n dragstart: function dragstart(e) {\n /* istanbul ignore next: difficult to test in JSDOM */\n e.preventDefault();\n }\n } : {}\n });\n }\n\n if (!img) {\n img = h();\n }\n\n var content = h();\n var contentChildren = [this.caption || this.captionHtml ? h(this.captionTag, {\n domProps: Object(__WEBPACK_IMPORTED_MODULE_4__utils_html__[\"a\" /* htmlOrText */])(this.captionHtml, this.caption)\n }) : false, this.text || this.textHtml ? h(this.textTag, {\n domProps: Object(__WEBPACK_IMPORTED_MODULE_4__utils_html__[\"a\" /* htmlOrText */])(this.textHtml, this.text)\n }) : false, this.normalizeSlot('default') || false];\n\n if (contentChildren.some(Boolean)) {\n content = h(this.contentTag, {\n staticClass: 'carousel-caption',\n class: this.contentClasses\n }, contentChildren.map(function (i) {\n return i || h();\n }));\n }\n\n return h('div', {\n staticClass: 'carousel-item',\n style: {\n background: this.background || this.bvCarousel.background || null\n },\n attrs: {\n id: this.safeId(),\n role: 'listitem'\n }\n }, [img, content]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1zbGlkZS5qcz9mM2MyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDSTtBQUN1QjtBQUNYO0FBQ0o7QUFDVjtBQUM3QjtBQUNQO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxXQUFXLDJEQUFPLEVBQUUsdUVBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSw2Q0FBNkMsbUVBQWU7QUFDNUQ7O0FBRUE7QUFDQSxjQUFjLHdEQUFJO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0JBQWdCLHVFQUFVO0FBQzFCLEtBQUs7QUFDTCxnQkFBZ0IsdUVBQVU7QUFDMUIsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IGlkTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2lkJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCB7IGhhc1RvdWNoU3VwcG9ydCB9IGZyb20gJy4uLy4uL3V0aWxzL2Vudic7XG5pbXBvcnQgeyBodG1sT3JUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvaHRtbCc7XG5pbXBvcnQgeyBCSW1nIH0gZnJvbSAnLi4vaW1hZ2UvaW1nJztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIGltZ1NyYzoge1xuICAgIHR5cGU6IFN0cmluZyAvLyBkZWZhdWx0OiB1bmRlZmluZWRcblxuICB9LFxuICBpbWdBbHQ6IHtcbiAgICB0eXBlOiBTdHJpbmcgLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgfSxcbiAgaW1nV2lkdGg6IHtcbiAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gIH0sXG4gIGltZ0hlaWdodDoge1xuICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10gLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgfSxcbiAgaW1nQmxhbms6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGltZ0JsYW5rQ29sb3I6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ3RyYW5zcGFyZW50J1xuICB9LFxuICBjb250ZW50VmlzaWJsZVVwOiB7XG4gICAgdHlwZTogU3RyaW5nXG4gIH0sXG4gIGNvbnRlbnRUYWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2RpdidcbiAgfSxcbiAgY2FwdGlvbjoge1xuICAgIHR5cGU6IFN0cmluZ1xuICB9LFxuICBjYXB0aW9uSHRtbDoge1xuICAgIHR5cGU6IFN0cmluZ1xuICB9LFxuICBjYXB0aW9uVGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdoMydcbiAgfSxcbiAgdGV4dDoge1xuICAgIHR5cGU6IFN0cmluZ1xuICB9LFxuICB0ZXh0SHRtbDoge1xuICAgIHR5cGU6IFN0cmluZ1xuICB9LFxuICB0ZXh0VGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdwJ1xuICB9LFxuICBiYWNrZ3JvdW5kOiB7XG4gICAgdHlwZTogU3RyaW5nXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkNhcm91c2VsU2xpZGUgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCQ2Fyb3VzZWxTbGlkZScsXG4gIG1peGluczogW2lkTWl4aW4sIG5vcm1hbGl6ZVNsb3RNaXhpbl0sXG4gIGluamVjdDoge1xuICAgIGJ2Q2Fyb3VzZWw6IHtcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC8vIEV4cGxpY2l0bHkgZGlzYWJsZSB0b3VjaCBpZiBub3QgYSBjaGlsZCBvZiBjYXJvdXNlbFxuICAgICAgICAgIG5vVG91Y2g6IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHByb3BzOiBwcm9wcyxcbiAgY29tcHV0ZWQ6IHtcbiAgICBjb250ZW50Q2xhc3NlczogZnVuY3Rpb24gY29udGVudENsYXNzZXMoKSB7XG4gICAgICByZXR1cm4gW3RoaXMuY29udGVudFZpc2libGVVcCA/ICdkLW5vbmUnIDogJycsIHRoaXMuY29udGVudFZpc2libGVVcCA/IFwiZC1cIi5jb25jYXQodGhpcy5jb250ZW50VmlzaWJsZVVwLCBcIi1ibG9ja1wiKSA6ICcnXTtcbiAgICB9LFxuICAgIGNvbXB1dGVkV2lkdGg6IGZ1bmN0aW9uIGNvbXB1dGVkV2lkdGgoKSB7XG4gICAgICAvLyBVc2UgbG9jYWwgd2lkdGgsIG9yIHRyeSBwYXJlbnQgd2lkdGhcbiAgICAgIHJldHVybiB0aGlzLmltZ1dpZHRoIHx8IHRoaXMuYnZDYXJvdXNlbC5pbWdXaWR0aCB8fCBudWxsO1xuICAgIH0sXG4gICAgY29tcHV0ZWRIZWlnaHQ6IGZ1bmN0aW9uIGNvbXB1dGVkSGVpZ2h0KCkge1xuICAgICAgLy8gVXNlIGxvY2FsIGhlaWdodCwgb3IgdHJ5IHBhcmVudCBoZWlnaHRcbiAgICAgIHJldHVybiB0aGlzLmltZ0hlaWdodCB8fCB0aGlzLmJ2Q2Fyb3VzZWwuaW1nSGVpZ2h0IHx8IG51bGw7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgdmFyIG5vRHJhZyA9ICF0aGlzLmJ2Q2Fyb3VzZWwubm9Ub3VjaCAmJiBoYXNUb3VjaFN1cHBvcnQ7XG4gICAgdmFyIGltZyA9IHRoaXMubm9ybWFsaXplU2xvdCgnaW1nJyk7XG5cbiAgICBpZiAoIWltZyAmJiAodGhpcy5pbWdTcmMgfHwgdGhpcy5pbWdCbGFuaykpIHtcbiAgICAgIGltZyA9IGgoQkltZywge1xuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIGZsdWlkR3JvdzogdHJ1ZSxcbiAgICAgICAgICBibG9jazogdHJ1ZSxcbiAgICAgICAgICBzcmM6IHRoaXMuaW1nU3JjLFxuICAgICAgICAgIGJsYW5rOiB0aGlzLmltZ0JsYW5rLFxuICAgICAgICAgIGJsYW5rQ29sb3I6IHRoaXMuaW1nQmxhbmtDb2xvcixcbiAgICAgICAgICB3aWR0aDogdGhpcy5jb21wdXRlZFdpZHRoLFxuICAgICAgICAgIGhlaWdodDogdGhpcy5jb21wdXRlZEhlaWdodCxcbiAgICAgICAgICBhbHQ6IHRoaXMuaW1nQWx0XG4gICAgICAgIH0sXG4gICAgICAgIC8vIFRvdWNoIHN1cHBvcnQgZXZlbnQgaGFuZGxlclxuICAgICAgICBvbjogbm9EcmFnID8ge1xuICAgICAgICAgIGRyYWdzdGFydDogZnVuY3Rpb24gZHJhZ3N0YXJ0KGUpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBkaWZmaWN1bHQgdG8gdGVzdCBpbiBKU0RPTSAqL1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSA6IHt9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIWltZykge1xuICAgICAgaW1nID0gaCgpO1xuICAgIH1cblxuICAgIHZhciBjb250ZW50ID0gaCgpO1xuICAgIHZhciBjb250ZW50Q2hpbGRyZW4gPSBbdGhpcy5jYXB0aW9uIHx8IHRoaXMuY2FwdGlvbkh0bWwgPyBoKHRoaXMuY2FwdGlvblRhZywge1xuICAgICAgZG9tUHJvcHM6IGh0bWxPclRleHQodGhpcy5jYXB0aW9uSHRtbCwgdGhpcy5jYXB0aW9uKVxuICAgIH0pIDogZmFsc2UsIHRoaXMudGV4dCB8fCB0aGlzLnRleHRIdG1sID8gaCh0aGlzLnRleHRUYWcsIHtcbiAgICAgIGRvbVByb3BzOiBodG1sT3JUZXh0KHRoaXMudGV4dEh0bWwsIHRoaXMudGV4dClcbiAgICB9KSA6IGZhbHNlLCB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKSB8fCBmYWxzZV07XG5cbiAgICBpZiAoY29udGVudENoaWxkcmVuLnNvbWUoQm9vbGVhbikpIHtcbiAgICAgIGNvbnRlbnQgPSBoKHRoaXMuY29udGVudFRhZywge1xuICAgICAgICBzdGF0aWNDbGFzczogJ2Nhcm91c2VsLWNhcHRpb24nLFxuICAgICAgICBjbGFzczogdGhpcy5jb250ZW50Q2xhc3Nlc1xuICAgICAgfSwgY29udGVudENoaWxkcmVuLm1hcChmdW5jdGlvbiAoaSkge1xuICAgICAgICByZXR1cm4gaSB8fCBoKCk7XG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGgoJ2RpdicsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnY2Fyb3VzZWwtaXRlbScsXG4gICAgICBzdHlsZToge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0aGlzLmJhY2tncm91bmQgfHwgdGhpcy5idkNhcm91c2VsLmJhY2tncm91bmQgfHwgbnVsbFxuICAgICAgfSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiB0aGlzLnNhZmVJZCgpLFxuICAgICAgICByb2xlOiAnbGlzdGl0ZW0nXG4gICAgICB9XG4gICAgfSwgW2ltZywgY29udGVudF0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLXNsaWRlLmpzXG4vLyBtb2R1bGUgaWQgPSAxMjJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///122\n"); + +/***/ }), +/* 123 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BCollapse; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_listen_on_root__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_dom__ = __webpack_require__(6);\n\n\n\n\n\n // Events we emit on $root\n\nvar EVENT_STATE = 'bv::collapse::state';\nvar EVENT_ACCORDION = 'bv::collapse::accordion'; // Private event we emit on `$root` to ensure the toggle state is\n// always synced. It gets emitted even if the state has not changed!\n// This event is NOT to be documented as people should not be using it\n\nvar EVENT_STATE_SYNC = 'bv::collapse::sync::state'; // Events we listen to on `$root`\n\nvar EVENT_TOGGLE = 'bv::toggle::collapse';\nvar EVENT_STATE_REQUEST = 'bv::request::collapse::state'; // Event listener options\n\nvar EventOptions = {\n passive: true,\n capture: false\n}; // @vue/component\n\nvar BCollapse =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BCollapse',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_listen_on_root__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__mixins_normalize_slot__[\"a\" /* default */]],\n model: {\n prop: 'visible',\n event: 'input'\n },\n props: {\n isNav: {\n type: Boolean,\n default: false\n },\n accordion: {\n type: String,\n default: null\n },\n visible: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n }\n },\n data: function data() {\n return {\n show: this.visible,\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n return {\n 'navbar-collapse': this.isNav,\n collapse: !this.transitioning,\n show: this.show && !this.transitioning\n };\n }\n },\n watch: {\n visible: function visible(newVal) {\n if (newVal !== this.show) {\n this.show = newVal;\n }\n },\n show: function show(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.emitState();\n }\n }\n },\n created: function created() {\n this.show = this.visible;\n },\n mounted: function mounted() {\n var _this = this;\n\n this.show = this.visible; // Listen for toggle events to open/close us\n\n this.listenOnRoot(EVENT_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events\n\n this.listenOnRoot(EVENT_ACCORDION, this.handleAccordionEvt);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(EVENT_STATE_REQUEST, function (id) {\n if (id === _this.safeId()) {\n _this.$nextTick(_this.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n deactivated: function deactivated()\n /* istanbul ignore next */\n {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n activated: function activated()\n /* istanbul ignore next */\n {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && __WEBPACK_IMPORTED_MODULE_4__utils_env__[\"j\" /* isBrowser */]) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n var method = on ? __WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"f\" /* eventOn */] : __WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"e\" /* eventOff */];\n method(window, 'resize', this.handleResize, EventOptions);\n method(window, 'orientationchange', this.handleResize, EventOptions);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter(el) {\n el.style.height = 0;\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"t\" /* reflow */])(el);\n el.style.height = el.scrollHeight + 'px';\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit('show');\n },\n onAfterEnter: function onAfterEnter(el) {\n el.style.height = null;\n this.transitioning = false;\n this.$emit('shown');\n },\n onLeave: function onLeave(el) {\n el.style.height = 'auto';\n el.style.display = 'block';\n el.style.height = Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"h\" /* getBCR */])(el).height + 'px';\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"t\" /* reflow */])(el);\n this.transitioning = true;\n el.style.height = 0; // This should be moved out so we can add cancellable events\n\n this.$emit('hide');\n },\n onAfterLeave: function onAfterLeave(el) {\n el.style.height = null;\n this.transitioning = false;\n this.$emit('hidden');\n },\n emitState: function emitState() {\n this.$emit('input', this.show); // Let v-b-toggle know the state of this collapse\n\n this.$root.$emit(EVENT_STATE, this.safeId(), this.show);\n\n if (this.accordion && this.show) {\n // Tell the other collapses in this accordion to close\n this.$root.$emit(EVENT_ACCORDION, this.safeId(), this.accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.$root.$emit(EVENT_STATE_SYNC, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important;` set.\n // We can't set `display: none;` directly on this.$el, as it would\n // trigger a new transition to start (or cancel a current one).\n var restore = Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"m\" /* hasClass */])(this.$el, 'show');\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"v\" /* removeClass */])(this.$el, 'show');\n var isBlock = Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"j\" /* getCS */])(this.$el).display === 'block';\n restore && Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"b\" /* addClass */])(this.$el, 'show');\n return isBlock;\n },\n clickHandler: function clickHandler(evt) {\n // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n var el = evt.target;\n\n if (!this.isNav || !el || Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"j\" /* getCS */])(this.$el).display !== 'block') {\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n return;\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"q\" /* matches */])(el, '.nav-link,.dropdown-item') || Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"c\" /* closest */])('.nav-link,.dropdown-item', el)) {\n if (!this.checkDisplayBlock()) {\n // Only close the collapse if it is not forced to be 'display: block !important;'\n this.show = false;\n }\n }\n },\n handleToggleEvt: function handleToggleEvt(target) {\n if (target !== this.safeId()) {\n return;\n }\n\n this.toggle();\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, accordion) {\n if (!this.accordion || accordion !== this.accordion) {\n return;\n }\n\n if (openedId === this.safeId()) {\n // Open this collapse if not shown\n if (!this.show) {\n this.toggle();\n }\n } else {\n // Close this collapse if shown\n if (this.show) {\n this.toggle();\n }\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"j\" /* getCS */])(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, [this.normalizeSlot('default')]);\n return h('transition', {\n props: {\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: '',\n leaveClass: '',\n leaveActiveClass: 'collapsing',\n leaveToClass: ''\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [content]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9jb2xsYXBzZS9jb2xsYXBzZS5qcz9hMGMwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDO0FBQ0k7QUFDc0I7QUFDQztBQUNqQjtBQUNrRjs7QUFFOUg7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTs7QUFFQSxtREFBbUQ7O0FBRW5EO0FBQ0EseURBQXlEOztBQUV6RDtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVywyREFBTyxFQUFFLHVFQUFpQixFQUFFLHVFQUFrQjtBQUN6RDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQSw2QkFBNkI7O0FBRTdCLDBEQUEwRDs7QUFFMUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLHNCQUFzQiw2REFBUztBQUMvQjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSx3QkFBd0IsMkRBQU8sR0FBRyw0REFBUTtBQUMxQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLE1BQU0sa0VBQU07QUFDWjtBQUNBLGdDQUFnQzs7QUFFaEM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGtFQUFNO0FBQzlCLE1BQU0sa0VBQU07QUFDWjtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxxQ0FBcUM7O0FBRXJDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxxRUFBcUU7QUFDckUscUNBQXFDO0FBQ3JDO0FBQ0Esb0JBQW9CLG9FQUFRO0FBQzVCLE1BQU0sdUVBQVc7QUFDakIsb0JBQW9CLGlFQUFLO0FBQ3pCLGlCQUFpQixvRUFBUTtBQUN6QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEsZ0NBQWdDLGlFQUFLO0FBQ3JDO0FBQ0E7QUFDQTs7QUFFQSxVQUFVLG1FQUFPLG9DQUFvQyxtRUFBTztBQUM1RDtBQUNBLDBGQUEwRjtBQUMxRjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxrQkFBa0IsaUVBQUs7QUFDdkI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgaWRNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvaWQnO1xuaW1wb3J0IGxpc3Rlbk9uUm9vdE1peGluIGZyb20gJy4uLy4uL21peGlucy9saXN0ZW4tb24tcm9vdCc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7XG5pbXBvcnQgeyBpc0Jyb3dzZXIgfSBmcm9tICcuLi8uLi91dGlscy9lbnYnO1xuaW1wb3J0IHsgYWRkQ2xhc3MsIGhhc0NsYXNzLCByZW1vdmVDbGFzcywgY2xvc2VzdCwgbWF0Y2hlcywgcmVmbG93LCBnZXRDUywgZ2V0QkNSLCBldmVudE9uLCBldmVudE9mZiB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbSc7IC8vIEV2ZW50cyB3ZSBlbWl0IG9uICRyb290XG5cbnZhciBFVkVOVF9TVEFURSA9ICdidjo6Y29sbGFwc2U6OnN0YXRlJztcbnZhciBFVkVOVF9BQ0NPUkRJT04gPSAnYnY6OmNvbGxhcHNlOjphY2NvcmRpb24nOyAvLyBQcml2YXRlIGV2ZW50IHdlIGVtaXQgb24gYCRyb290YCB0byBlbnN1cmUgdGhlIHRvZ2dsZSBzdGF0ZSBpc1xuLy8gYWx3YXlzIHN5bmNlZC4gSXQgZ2V0cyBlbWl0dGVkIGV2ZW4gaWYgdGhlIHN0YXRlIGhhcyBub3QgY2hhbmdlZCFcbi8vIFRoaXMgZXZlbnQgaXMgTk9UIHRvIGJlIGRvY3VtZW50ZWQgYXMgcGVvcGxlIHNob3VsZCBub3QgYmUgdXNpbmcgaXRcblxudmFyIEVWRU5UX1NUQVRFX1NZTkMgPSAnYnY6OmNvbGxhcHNlOjpzeW5jOjpzdGF0ZSc7IC8vIEV2ZW50cyB3ZSBsaXN0ZW4gdG8gb24gYCRyb290YFxuXG52YXIgRVZFTlRfVE9HR0xFID0gJ2J2Ojp0b2dnbGU6OmNvbGxhcHNlJztcbnZhciBFVkVOVF9TVEFURV9SRVFVRVNUID0gJ2J2OjpyZXF1ZXN0Ojpjb2xsYXBzZTo6c3RhdGUnOyAvLyBFdmVudCBsaXN0ZW5lciBvcHRpb25zXG5cbnZhciBFdmVudE9wdGlvbnMgPSB7XG4gIHBhc3NpdmU6IHRydWUsXG4gIGNhcHR1cmU6IGZhbHNlXG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJDb2xsYXBzZSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JDb2xsYXBzZScsXG4gIG1peGluczogW2lkTWl4aW4sIGxpc3Rlbk9uUm9vdE1peGluLCBub3JtYWxpemVTbG90TWl4aW5dLFxuICBtb2RlbDoge1xuICAgIHByb3A6ICd2aXNpYmxlJyxcbiAgICBldmVudDogJ2lucHV0J1xuICB9LFxuICBwcm9wczoge1xuICAgIGlzTmF2OiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGFjY29yZGlvbjoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgdmlzaWJsZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICB0YWc6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICdkaXYnXG4gICAgfVxuICB9LFxuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzaG93OiB0aGlzLnZpc2libGUsXG4gICAgICB0cmFuc2l0aW9uaW5nOiBmYWxzZVxuICAgIH07XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgY2xhc3NPYmplY3Q6IGZ1bmN0aW9uIGNsYXNzT2JqZWN0KCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJ25hdmJhci1jb2xsYXBzZSc6IHRoaXMuaXNOYXYsXG4gICAgICAgIGNvbGxhcHNlOiAhdGhpcy50cmFuc2l0aW9uaW5nLFxuICAgICAgICBzaG93OiB0aGlzLnNob3cgJiYgIXRoaXMudHJhbnNpdGlvbmluZ1xuICAgICAgfTtcbiAgICB9XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgdmlzaWJsZTogZnVuY3Rpb24gdmlzaWJsZShuZXdWYWwpIHtcbiAgICAgIGlmIChuZXdWYWwgIT09IHRoaXMuc2hvdykge1xuICAgICAgICB0aGlzLnNob3cgPSBuZXdWYWw7XG4gICAgICB9XG4gICAgfSxcbiAgICBzaG93OiBmdW5jdGlvbiBzaG93KG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICBpZiAobmV3VmFsICE9PSBvbGRWYWwpIHtcbiAgICAgICAgdGhpcy5lbWl0U3RhdGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7XG4gICAgdGhpcy5zaG93ID0gdGhpcy52aXNpYmxlO1xuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB0aGlzLnNob3cgPSB0aGlzLnZpc2libGU7IC8vIExpc3RlbiBmb3IgdG9nZ2xlIGV2ZW50cyB0byBvcGVuL2Nsb3NlIHVzXG5cbiAgICB0aGlzLmxpc3Rlbk9uUm9vdChFVkVOVF9UT0dHTEUsIHRoaXMuaGFuZGxlVG9nZ2xlRXZ0KTsgLy8gTGlzdGVuIHRvIG90aGVyIGNvbGxhcHNlcyBmb3IgYWNjb3JkaW9uIGV2ZW50c1xuXG4gICAgdGhpcy5saXN0ZW5PblJvb3QoRVZFTlRfQUNDT1JESU9OLCB0aGlzLmhhbmRsZUFjY29yZGlvbkV2dCk7XG5cbiAgICBpZiAodGhpcy5pc05hdikge1xuICAgICAgLy8gU2V0IHVwIGhhbmRsZXJzXG4gICAgICB0aGlzLnNldFdpbmRvd0V2ZW50cyh0cnVlKTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzaXplKCk7XG4gICAgfVxuXG4gICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMuZW1pdFN0YXRlKCk7XG4gICAgfSk7IC8vIExpc3RlbiBmb3IgXCJTeW5jIHN0YXRlXCIgcmVxdWVzdHMgZnJvbSBgdi1iLXRvZ2dsZWBcblxuICAgIHRoaXMubGlzdGVuT25Sb290KEVWRU5UX1NUQVRFX1JFUVVFU1QsIGZ1bmN0aW9uIChpZCkge1xuICAgICAgaWYgKGlkID09PSBfdGhpcy5zYWZlSWQoKSkge1xuICAgICAgICBfdGhpcy4kbmV4dFRpY2soX3RoaXMuZW1pdFN5bmMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9LFxuICB1cGRhdGVkOiBmdW5jdGlvbiB1cGRhdGVkKCkge1xuICAgIC8vIEVtaXQgYSBwcml2YXRlIGV2ZW50IGV2ZXJ5IHRpbWUgdGhpcyBjb21wb25lbnQgdXBkYXRlcyB0byBlbnN1cmVcbiAgICAvLyB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBpbiBzeW5jIHdpdGggdGhlIGNvbGxhcHNlJ3Mgc3RhdGVcbiAgICAvLyBJdCBpcyBlbWl0dGVkIHJlZ2FyZGxlc3MgaWYgdGhlIHZpc2libGUgc3RhdGUgY2hhbmdlc1xuICAgIHRoaXMuZW1pdFN5bmMoKTtcbiAgfSxcbiAgZGVhY3RpdmF0ZWQ6IGZ1bmN0aW9uIGRlYWN0aXZhdGVkKClcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAge1xuICAgIGlmICh0aGlzLmlzTmF2KSB7XG4gICAgICB0aGlzLnNldFdpbmRvd0V2ZW50cyhmYWxzZSk7XG4gICAgfVxuICB9LFxuICBhY3RpdmF0ZWQ6IGZ1bmN0aW9uIGFjdGl2YXRlZCgpXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHtcbiAgICBpZiAodGhpcy5pc05hdikge1xuICAgICAgdGhpcy5zZXRXaW5kb3dFdmVudHModHJ1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0U3luYygpO1xuICB9LFxuICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgIC8vIFRyaWdnZXIgc3RhdGUgZW1pdCBpZiBuZWVkZWRcbiAgICB0aGlzLnNob3cgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLmlzTmF2ICYmIGlzQnJvd3Nlcikge1xuICAgICAgdGhpcy5zZXRXaW5kb3dFdmVudHMoZmFsc2UpO1xuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIHNldFdpbmRvd0V2ZW50czogZnVuY3Rpb24gc2V0V2luZG93RXZlbnRzKG9uKSB7XG4gICAgICB2YXIgbWV0aG9kID0gb24gPyBldmVudE9uIDogZXZlbnRPZmY7XG4gICAgICBtZXRob2Qod2luZG93LCAncmVzaXplJywgdGhpcy5oYW5kbGVSZXNpemUsIEV2ZW50T3B0aW9ucyk7XG4gICAgICBtZXRob2Qod2luZG93LCAnb3JpZW50YXRpb25jaGFuZ2UnLCB0aGlzLmhhbmRsZVJlc2l6ZSwgRXZlbnRPcHRpb25zKTtcbiAgICB9LFxuICAgIHRvZ2dsZTogZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgICAgdGhpcy5zaG93ID0gIXRoaXMuc2hvdztcbiAgICB9LFxuICAgIG9uRW50ZXI6IGZ1bmN0aW9uIG9uRW50ZXIoZWwpIHtcbiAgICAgIGVsLnN0eWxlLmhlaWdodCA9IDA7XG4gICAgICByZWZsb3coZWwpO1xuICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gZWwuc2Nyb2xsSGVpZ2h0ICsgJ3B4JztcbiAgICAgIHRoaXMudHJhbnNpdGlvbmluZyA9IHRydWU7IC8vIFRoaXMgc2hvdWxkIGJlIG1vdmVkIG91dCBzbyB3ZSBjYW4gYWRkIGNhbmNlbGxhYmxlIGV2ZW50c1xuXG4gICAgICB0aGlzLiRlbWl0KCdzaG93Jyk7XG4gICAgfSxcbiAgICBvbkFmdGVyRW50ZXI6IGZ1bmN0aW9uIG9uQWZ0ZXJFbnRlcihlbCkge1xuICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gbnVsbDtcbiAgICAgIHRoaXMudHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgICAgdGhpcy4kZW1pdCgnc2hvd24nKTtcbiAgICB9LFxuICAgIG9uTGVhdmU6IGZ1bmN0aW9uIG9uTGVhdmUoZWwpIHtcbiAgICAgIGVsLnN0eWxlLmhlaWdodCA9ICdhdXRvJztcbiAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gZ2V0QkNSKGVsKS5oZWlnaHQgKyAncHgnO1xuICAgICAgcmVmbG93KGVsKTtcbiAgICAgIHRoaXMudHJhbnNpdGlvbmluZyA9IHRydWU7XG4gICAgICBlbC5zdHlsZS5oZWlnaHQgPSAwOyAvLyBUaGlzIHNob3VsZCBiZSBtb3ZlZCBvdXQgc28gd2UgY2FuIGFkZCBjYW5jZWxsYWJsZSBldmVudHNcblxuICAgICAgdGhpcy4kZW1pdCgnaGlkZScpO1xuICAgIH0sXG4gICAgb25BZnRlckxlYXZlOiBmdW5jdGlvbiBvbkFmdGVyTGVhdmUoZWwpIHtcbiAgICAgIGVsLnN0eWxlLmhlaWdodCA9IG51bGw7XG4gICAgICB0aGlzLnRyYW5zaXRpb25pbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuJGVtaXQoJ2hpZGRlbicpO1xuICAgIH0sXG4gICAgZW1pdFN0YXRlOiBmdW5jdGlvbiBlbWl0U3RhdGUoKSB7XG4gICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHRoaXMuc2hvdyk7IC8vIExldCB2LWItdG9nZ2xlIGtub3cgdGhlIHN0YXRlIG9mIHRoaXMgY29sbGFwc2VcblxuICAgICAgdGhpcy4kcm9vdC4kZW1pdChFVkVOVF9TVEFURSwgdGhpcy5zYWZlSWQoKSwgdGhpcy5zaG93KTtcblxuICAgICAgaWYgKHRoaXMuYWNjb3JkaW9uICYmIHRoaXMuc2hvdykge1xuICAgICAgICAvLyBUZWxsIHRoZSBvdGhlciBjb2xsYXBzZXMgaW4gdGhpcyBhY2NvcmRpb24gdG8gY2xvc2VcbiAgICAgICAgdGhpcy4kcm9vdC4kZW1pdChFVkVOVF9BQ0NPUkRJT04sIHRoaXMuc2FmZUlkKCksIHRoaXMuYWNjb3JkaW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGVtaXRTeW5jOiBmdW5jdGlvbiBlbWl0U3luYygpIHtcbiAgICAgIC8vIEVtaXQgYSBwcml2YXRlIGV2ZW50IGV2ZXJ5IHRpbWUgdGhpcyBjb21wb25lbnQgdXBkYXRlcyB0byBlbnN1cmVcbiAgICAgIC8vIHRoZSB0b2dnbGUgYnV0dG9uIGlzIGluIHN5bmMgd2l0aCB0aGUgY29sbGFwc2UncyBzdGF0ZVxuICAgICAgLy8gSXQgaXMgZW1pdHRlZCByZWdhcmRsZXNzIGlmIHRoZSB2aXNpYmxlIHN0YXRlIGNoYW5nZXNcbiAgICAgIHRoaXMuJHJvb3QuJGVtaXQoRVZFTlRfU1RBVEVfU1lOQywgdGhpcy5zYWZlSWQoKSwgdGhpcy5zaG93KTtcbiAgICB9LFxuICAgIGNoZWNrRGlzcGxheUJsb2NrOiBmdW5jdGlvbiBjaGVja0Rpc3BsYXlCbG9jaygpIHtcbiAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgY29sbGFwc2UgaGFzIGBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O2Agc2V0LlxuICAgICAgLy8gV2UgY2FuJ3Qgc2V0IGBkaXNwbGF5OiBub25lO2AgZGlyZWN0bHkgb24gdGhpcy4kZWwsIGFzIGl0IHdvdWxkXG4gICAgICAvLyB0cmlnZ2VyIGEgbmV3IHRyYW5zaXRpb24gdG8gc3RhcnQgKG9yIGNhbmNlbCBhIGN1cnJlbnQgb25lKS5cbiAgICAgIHZhciByZXN0b3JlID0gaGFzQ2xhc3ModGhpcy4kZWwsICdzaG93Jyk7XG4gICAgICByZW1vdmVDbGFzcyh0aGlzLiRlbCwgJ3Nob3cnKTtcbiAgICAgIHZhciBpc0Jsb2NrID0gZ2V0Q1ModGhpcy4kZWwpLmRpc3BsYXkgPT09ICdibG9jayc7XG4gICAgICByZXN0b3JlICYmIGFkZENsYXNzKHRoaXMuJGVsLCAnc2hvdycpO1xuICAgICAgcmV0dXJuIGlzQmxvY2s7XG4gICAgfSxcbiAgICBjbGlja0hhbmRsZXI6IGZ1bmN0aW9uIGNsaWNrSGFuZGxlcihldnQpIHtcbiAgICAgIC8vIElmIHdlIGFyZSBpbiBhIG5hdi9uYXZiYXIsIGNsb3NlIHRoZSBjb2xsYXBzZSB3aGVuIG5vbi1kaXNhYmxlZCBsaW5rIGNsaWNrZWRcbiAgICAgIHZhciBlbCA9IGV2dC50YXJnZXQ7XG5cbiAgICAgIGlmICghdGhpcy5pc05hdiB8fCAhZWwgfHwgZ2V0Q1ModGhpcy4kZWwpLmRpc3BsYXkgIT09ICdibG9jaycpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGNhbid0IHRlc3QgZ2V0Q29tcHV0ZWRTdHlsZSBpbiBKU0RPTSAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChtYXRjaGVzKGVsLCAnLm5hdi1saW5rLC5kcm9wZG93bi1pdGVtJykgfHwgY2xvc2VzdCgnLm5hdi1saW5rLC5kcm9wZG93bi1pdGVtJywgZWwpKSB7XG4gICAgICAgIGlmICghdGhpcy5jaGVja0Rpc3BsYXlCbG9jaygpKSB7XG4gICAgICAgICAgLy8gT25seSBjbG9zZSB0aGUgY29sbGFwc2UgaWYgaXQgaXMgbm90IGZvcmNlZCB0byBiZSAnZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsnXG4gICAgICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGhhbmRsZVRvZ2dsZUV2dDogZnVuY3Rpb24gaGFuZGxlVG9nZ2xlRXZ0KHRhcmdldCkge1xuICAgICAgaWYgKHRhcmdldCAhPT0gdGhpcy5zYWZlSWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfSxcbiAgICBoYW5kbGVBY2NvcmRpb25FdnQ6IGZ1bmN0aW9uIGhhbmRsZUFjY29yZGlvbkV2dChvcGVuZWRJZCwgYWNjb3JkaW9uKSB7XG4gICAgICBpZiAoIXRoaXMuYWNjb3JkaW9uIHx8IGFjY29yZGlvbiAhPT0gdGhpcy5hY2NvcmRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAob3BlbmVkSWQgPT09IHRoaXMuc2FmZUlkKCkpIHtcbiAgICAgICAgLy8gT3BlbiB0aGlzIGNvbGxhcHNlIGlmIG5vdCBzaG93blxuICAgICAgICBpZiAoIXRoaXMuc2hvdykge1xuICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIENsb3NlIHRoaXMgY29sbGFwc2UgaWYgc2hvd25cbiAgICAgICAgaWYgKHRoaXMuc2hvdykge1xuICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGhhbmRsZVJlc2l6ZTogZnVuY3Rpb24gaGFuZGxlUmVzaXplKCkge1xuICAgICAgLy8gSGFuZGxlciBmb3Igb3JpZW50YXRpb24vcmVzaXplIHRvIHNldCBjb2xsYXBzZWQgc3RhdGUgaW4gbmF2L25hdmJhclxuICAgICAgdGhpcy5zaG93ID0gZ2V0Q1ModGhpcy4kZWwpLmRpc3BsYXkgPT09ICdibG9jayc7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgdmFyIGNvbnRlbnQgPSBoKHRoaXMudGFnLCB7XG4gICAgICBjbGFzczogdGhpcy5jbGFzc09iamVjdCxcbiAgICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICAgIG5hbWU6ICdzaG93JyxcbiAgICAgICAgdmFsdWU6IHRoaXMuc2hvd1xuICAgICAgfV0sXG4gICAgICBhdHRyczoge1xuICAgICAgICBpZDogdGhpcy5zYWZlSWQoKVxuICAgICAgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIGNsaWNrOiB0aGlzLmNsaWNrSGFuZGxlclxuICAgICAgfVxuICAgIH0sIFt0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKV0pO1xuICAgIHJldHVybiBoKCd0cmFuc2l0aW9uJywge1xuICAgICAgcHJvcHM6IHtcbiAgICAgICAgZW50ZXJDbGFzczogJycsXG4gICAgICAgIGVudGVyQWN0aXZlQ2xhc3M6ICdjb2xsYXBzaW5nJyxcbiAgICAgICAgZW50ZXJUb0NsYXNzOiAnJyxcbiAgICAgICAgbGVhdmVDbGFzczogJycsXG4gICAgICAgIGxlYXZlQWN0aXZlQ2xhc3M6ICdjb2xsYXBzaW5nJyxcbiAgICAgICAgbGVhdmVUb0NsYXNzOiAnJ1xuICAgICAgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIGVudGVyOiB0aGlzLm9uRW50ZXIsXG4gICAgICAgIGFmdGVyRW50ZXI6IHRoaXMub25BZnRlckVudGVyLFxuICAgICAgICBsZWF2ZTogdGhpcy5vbkxlYXZlLFxuICAgICAgICBhZnRlckxlYXZlOiB0aGlzLm9uQWZ0ZXJMZWF2ZVxuICAgICAgfVxuICAgIH0sIFtjb250ZW50XSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvY29sbGFwc2UvY29sbGFwc2UuanNcbi8vIG1vZHVsZSBpZCA9IDEyM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///123\n"); + +/***/ }), +/* 124 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_popper_js__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_bv_event_class__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__id__ = __webpack_require__(9);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n // Return an array of visible items\n\nvar filterVisibles = function filterVisibles(els) {\n return (els || []).filter(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"p\" /* isVisible */]);\n}; // Root dropdown event names\n\n\nvar ROOT_DROPDOWN_PREFIX = 'bv::dropdown::';\nvar ROOT_DROPDOWN_SHOWN = \"\".concat(ROOT_DROPDOWN_PREFIX, \"shown\");\nvar ROOT_DROPDOWN_HIDDEN = \"\".concat(ROOT_DROPDOWN_PREFIX, \"hidden\"); // Delay when loosing focus before closing menu (in ms)\n\nvar FOCUSOUT_DELAY = 100; // Dropdown item CSS selectors\n\nvar Selector = {\n FORM_CHILD: '.dropdown form',\n ITEM_SELECTOR: ['.dropdown-item', '.b-dropdown-form'].map(function (selector) {\n return \"\".concat(selector, \":not(.disabled):not([disabled])\");\n }).join(', ')\n}; // Popper attachment positions\n\nvar AttachmentMap = {\n // Dropup left align\n TOP: 'top-start',\n // Dropup right align\n TOPEND: 'top-end',\n // Dropdown left align\n BOTTOM: 'bottom-start',\n // Dropdown right align\n BOTTOMEND: 'bottom-end',\n // Dropright left align\n RIGHT: 'right-start',\n // Dropright right align\n RIGHTEND: 'right-end',\n // Dropleft left align\n LEFT: 'left-start',\n // Dropleft right align\n LEFTEND: 'left-end'\n}; // @vue/component\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_6__id__[\"a\" /* default */]],\n provide: function provide() {\n return {\n bvDropdown: this\n };\n },\n props: {\n disabled: {\n type: Boolean,\n default: false\n },\n text: {\n // Button label\n type: String,\n default: ''\n },\n html: {\n // Button label\n type: String\n },\n dropup: {\n // place on top if possible\n type: Boolean,\n default: false\n },\n dropright: {\n // place right if possible\n type: Boolean,\n default: false\n },\n dropleft: {\n // place left if possible\n type: Boolean,\n default: false\n },\n right: {\n // Right align menu (default is left align)\n type: Boolean,\n default: false\n },\n offset: {\n // Number of pixels to offset menu, or a CSS unit value (i.e. 1px, 1rem, etc)\n type: [Number, String],\n default: 0\n },\n noFlip: {\n // Disable auto-flipping of menu from bottom<=>top\n type: Boolean,\n default: false\n },\n lazy: {\n // If true, only render menu contents when open\n type: Boolean,\n default: false\n },\n popperOpts: {\n // type: Object,\n default: function _default() {}\n }\n },\n data: function data() {\n return {\n visible: false,\n inNavbar: null,\n visibleChangePrevented: false\n };\n },\n computed: {\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var evtName = newValue ? 'show' : 'hide';\n var bvEvt = new __WEBPACK_IMPORTED_MODULE_3__utils_bv_event_class__[\"a\" /* BvEvent */](evtName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n });\n this.emitEvent(bvEvt);\n\n if (bvEvt.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggered this.hide(true)\n\n this.$off('hidden', this.focusToggler);\n return;\n }\n\n if (evtName === 'show') {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create non-reactive property\n this._popper = null;\n },\n deactivated: function deactivated()\n /* istanbul ignore next: not easy to test */\n {\n // In case we are inside a `<keep-alive>`\n this.visible = false;\n this.whileOpenListen(false);\n this.removePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.removePopper();\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvt) {\n var type = bvEvt.type;\n this.$emit(type, bvEvt);\n this.$root.$emit(\"\".concat(ROOT_DROPDOWN_PREFIX).concat(type), bvEvt);\n },\n showMenu: function showMenu() {\n var _this = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Are we in a navbar ?\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"g\" /* isNull */])(this.inNavbar) && this.isNav) {\n // We should use an injection for this\n\n /* istanbul ignore next */\n this.inNavbar = Boolean(Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"c\" /* closest */])('.navbar', this.$el));\n } // Disable totally Popper.js for Dropdown in Navbar\n\n\n if (!this.inNavbar) {\n if (typeof __WEBPACK_IMPORTED_MODULE_0_popper_js__[\"a\" /* default */] === 'undefined') {\n /* istanbul ignore next */\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_warn__[\"a\" /* default */])('b-dropdown: Popper.js not found. Falling back to CSS positioning.');\n } else {\n // for dropup with alignment we use the parent element as popper container\n var element = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n element = element.$el || element; // Instantiate popper.js\n\n this.createPopper(element);\n }\n } // Ensure other menus are closed\n\n\n this.$root.$emit(ROOT_DROPDOWN_SHOWN, this);\n this.whileOpenListen(true); // Wrap in nextTick to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this.focusMenu(); // Emit the shown event\n\n\n _this.$emit('shown');\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.$root.$emit(ROOT_DROPDOWN_HIDDEN, this);\n this.$emit('hidden');\n this.removePopper();\n },\n createPopper: function createPopper(element) {\n this.removePopper();\n this._popper = new __WEBPACK_IMPORTED_MODULE_0_popper_js__[\"a\" /* default */](element, this.$refs.menu, this.getPopperConfig());\n },\n removePopper: function removePopper() {\n if (this._popper) {\n // Ensure popper event listeners are removed cleanly\n this._popper.destroy();\n }\n\n this._popper = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = AttachmentMap.BOTTOM;\n\n if (this.dropup) {\n placement = this.right ? AttachmentMap.TOPEND : AttachmentMap.TOP;\n } else if (this.dropright) {\n placement = AttachmentMap.RIGHT;\n } else if (this.dropleft) {\n placement = AttachmentMap.LEFT;\n } else if (this.right) {\n placement = AttachmentMap.BOTTOMEND;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n\n if (this.boundary) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: this.boundary\n };\n }\n\n return _objectSpread({}, popperConfig, {}, this.popperOpts || {});\n },\n whileOpenListen: function whileOpenListen(isOpen) {\n // turn listeners on/off while open\n if (isOpen) {\n // If another dropdown is opened\n this.$root.$on(ROOT_DROPDOWN_SHOWN, this.rootCloseListener); // Hide the menu when focus moves out\n\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"f\" /* eventOn */])(this.$el, 'focusout', this.onFocusOut, {\n passive: true\n });\n } else {\n this.$root.$off(ROOT_DROPDOWN_SHOWN, this.rootCloseListener);\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"e\" /* eventOff */])(this.$el, 'focusout', this.onFocusOut, {\n passive: true\n });\n }\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n show: function show() {\n var _this2 = this;\n\n // Public method to show dropdown\n if (this.disabled) {\n return;\n } // Wrap in a requestAnimationFrame to allow any previous\n // click handling to occur first\n\n\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"w\" /* requestAF */])(function () {\n _this2.visible = true;\n });\n },\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n // Public method to hide dropdown\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once('hidden', this.focusToggler);\n }\n },\n // Called only by a button that toggles the menu\n toggle: function toggle(evt) {\n evt = evt || {};\n var type = evt.type;\n var key = evt.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && (key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].ENTER || key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].SPACE || key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].DOWN))) {\n // We only toggle on Click, Enter, Space, and Arrow Down\n\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit('toggle', evt);\n evt.preventDefault();\n evt.stopPropagation(); // Toggle visibility\n\n if (this.visible) {\n this.hide(true);\n } else {\n this.show();\n }\n },\n // Called only in split button mode, for the split button\n click: function click(evt) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit('click', evt);\n },\n // Called from dropdown menu context\n onKeydown: function onKeydown(evt) {\n var key = evt.keyCode;\n\n if (key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].ESC) {\n // Close on ESC\n this.onEsc(evt);\n } else if (key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].DOWN) {\n // Down Arrow\n this.focusNext(evt, false);\n } else if (key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].UP) {\n // Up Arrow\n this.focusNext(evt, true);\n }\n },\n // If uses presses ESC to close menu\n onEsc: function onEsc(evt) {\n if (this.visible) {\n this.visible = false;\n evt.preventDefault();\n evt.stopPropagation(); // Return focus to original trigger button\n\n this.$once('hidden', this.focusToggler);\n }\n },\n // Dropdown wrapper focusOut handler\n onFocusOut: function onFocusOut(evt) {\n var _this3 = this;\n\n // `relatedTarget` is the element gaining focus\n var relatedTarget = evt.relatedTarget; // If focus moves outside the menu or toggler, then close menu\n\n if (this.visible && !Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(this.$refs.menu, relatedTarget) && !Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"d\" /* contains */])(this.toggler, relatedTarget)) {\n var doHide = function doHide() {\n _this3.visible = false;\n }; // When we are in a navbar (which has been responsively stacked), we\n // delay the dropdown's closing so that the next element has a chance\n // to have it's click handler fired (in case it's position moves on\n // the screen do to a navbar menu above it collapsing)\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/4113\n\n\n this.inNavbar ? setTimeout(doHide, FOCUSOUT_DELAY) : doHide();\n }\n },\n // Keyboard nav\n focusNext: function focusNext(evt, up) {\n var _this4 = this;\n\n // Ignore key up/down on form elements\n if (!this.visible || evt && Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"c\" /* closest */])(Selector.FORM_CHILD, evt.target)) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n evt.preventDefault();\n evt.stopPropagation();\n this.$nextTick(function () {\n var items = _this4.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(evt.target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this4.focusItem(index, items);\n });\n },\n focusItem: function focusItem(idx, items) {\n var el = items.find(function (el, i) {\n return i === idx;\n });\n\n if (el && el.focus) {\n el.focus();\n }\n },\n getItems: function getItems() {\n // Get all items\n return filterVisibles(Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"y\" /* selectAll */])(Selector.ITEM_SELECTOR, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n this.$refs.menu.focus && this.$refs.menu.focus();\n },\n focusToggler: function focusToggler() {\n var _this5 = this;\n\n this.$nextTick(function () {\n var toggler = _this5.toggler;\n\n if (toggler && toggler.focus) {\n toggler.focus();\n }\n });\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Ryb3Bkb3duLmpzP2MwYmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRWhMO0FBQ1c7QUFDVDtBQUNpQjtBQUNtRDtBQUMzRDtBQUNmOztBQUUzQjtBQUNBLDRCQUE0Qiw2REFBUztBQUNyQyxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EscUVBQXFFOztBQUVyRSx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRWE7QUFDZixXQUFXLG9EQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdCQUF3QixzRUFBTztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1AsVUFBVSxzRUFBTTtBQUNoQjs7QUFFQTtBQUNBLGdDQUFnQyxtRUFBTztBQUN2QyxPQUFPOzs7QUFHUDtBQUNBLG1CQUFtQiwwREFBTTtBQUN6QjtBQUNBLFVBQVUsb0VBQUk7QUFDZCxTQUFTO0FBQ1Q7QUFDQSwrRkFBK0Y7O0FBRS9GLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBO0FBQ0EsMEJBQTBCOzs7QUFHMUI7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLHlCQUF5QiwwREFBTTtBQUMvQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw2QkFBNkIsa0JBQWtCLHVCQUF1QjtBQUN0RSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRUFBb0U7O0FBRXBFLFFBQVEsbUVBQU87QUFDZjtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSxRQUFRLG9FQUFRO0FBQ2hCO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOzs7QUFHQSxNQUFNLHFFQUFTO0FBQ2Y7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLCtEQUErRCxpRUFBUSxrQkFBa0IsaUVBQVEsa0JBQWtCLGlFQUFRO0FBQzNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEJBQTRCOztBQUU1QjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixpRUFBUTtBQUMxQjtBQUNBO0FBQ0EsT0FBTyxrQkFBa0IsaUVBQVE7QUFDakM7QUFDQTtBQUNBLE9BQU8sa0JBQWtCLGlFQUFRO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCOztBQUU5QjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRDQUE0Qzs7QUFFNUMsMkJBQTJCLG9FQUFRLHFDQUFxQyxvRUFBUTtBQUNoRjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtDQUFrQyxtRUFBTztBQUN6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsNEJBQTRCLHFFQUFTO0FBQ3JDLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMTI0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFBvcHBlciBmcm9tICdwb3BwZXIuanMnO1xuaW1wb3J0IEtleUNvZGVzIGZyb20gJy4uL3V0aWxzL2tleS1jb2Rlcyc7XG5pbXBvcnQgd2FybiBmcm9tICcuLi91dGlscy93YXJuJztcbmltcG9ydCB7IEJ2RXZlbnQgfSBmcm9tICcuLi91dGlscy9idi1ldmVudC5jbGFzcyc7XG5pbXBvcnQgeyBjbG9zZXN0LCBjb250YWlucywgaXNWaXNpYmxlLCByZXF1ZXN0QUYsIHNlbGVjdEFsbCwgZXZlbnRPbiwgZXZlbnRPZmYgfSBmcm9tICcuLi91dGlscy9kb20nO1xuaW1wb3J0IHsgaXNOdWxsIH0gZnJvbSAnLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgaWRNaXhpbiBmcm9tICcuL2lkJzsgLy8gUmV0dXJuIGFuIGFycmF5IG9mIHZpc2libGUgaXRlbXNcblxudmFyIGZpbHRlclZpc2libGVzID0gZnVuY3Rpb24gZmlsdGVyVmlzaWJsZXMoZWxzKSB7XG4gIHJldHVybiAoZWxzIHx8IFtdKS5maWx0ZXIoaXNWaXNpYmxlKTtcbn07IC8vIFJvb3QgZHJvcGRvd24gZXZlbnQgbmFtZXNcblxuXG52YXIgUk9PVF9EUk9QRE9XTl9QUkVGSVggPSAnYnY6OmRyb3Bkb3duOjonO1xudmFyIFJPT1RfRFJPUERPV05fU0hPV04gPSBcIlwiLmNvbmNhdChST09UX0RST1BET1dOX1BSRUZJWCwgXCJzaG93blwiKTtcbnZhciBST09UX0RST1BET1dOX0hJRERFTiA9IFwiXCIuY29uY2F0KFJPT1RfRFJPUERPV05fUFJFRklYLCBcImhpZGRlblwiKTsgLy8gRGVsYXkgd2hlbiBsb29zaW5nIGZvY3VzIGJlZm9yZSBjbG9zaW5nIG1lbnUgKGluIG1zKVxuXG52YXIgRk9DVVNPVVRfREVMQVkgPSAxMDA7IC8vIERyb3Bkb3duIGl0ZW0gQ1NTIHNlbGVjdG9yc1xuXG52YXIgU2VsZWN0b3IgPSB7XG4gIEZPUk1fQ0hJTEQ6ICcuZHJvcGRvd24gZm9ybScsXG4gIElURU1fU0VMRUNUT1I6IFsnLmRyb3Bkb3duLWl0ZW0nLCAnLmItZHJvcGRvd24tZm9ybSddLm1hcChmdW5jdGlvbiAoc2VsZWN0b3IpIHtcbiAgICByZXR1cm4gXCJcIi5jb25jYXQoc2VsZWN0b3IsIFwiOm5vdCguZGlzYWJsZWQpOm5vdChbZGlzYWJsZWRdKVwiKTtcbiAgfSkuam9pbignLCAnKVxufTsgLy8gUG9wcGVyIGF0dGFjaG1lbnQgcG9zaXRpb25zXG5cbnZhciBBdHRhY2htZW50TWFwID0ge1xuICAvLyBEcm9wdXAgbGVmdCBhbGlnblxuICBUT1A6ICd0b3Atc3RhcnQnLFxuICAvLyBEcm9wdXAgcmlnaHQgYWxpZ25cbiAgVE9QRU5EOiAndG9wLWVuZCcsXG4gIC8vIERyb3Bkb3duIGxlZnQgYWxpZ25cbiAgQk9UVE9NOiAnYm90dG9tLXN0YXJ0JyxcbiAgLy8gRHJvcGRvd24gcmlnaHQgYWxpZ25cbiAgQk9UVE9NRU5EOiAnYm90dG9tLWVuZCcsXG4gIC8vIERyb3ByaWdodCBsZWZ0IGFsaWduXG4gIFJJR0hUOiAncmlnaHQtc3RhcnQnLFxuICAvLyBEcm9wcmlnaHQgcmlnaHQgYWxpZ25cbiAgUklHSFRFTkQ6ICdyaWdodC1lbmQnLFxuICAvLyBEcm9wbGVmdCBsZWZ0IGFsaWduXG4gIExFRlQ6ICdsZWZ0LXN0YXJ0JyxcbiAgLy8gRHJvcGxlZnQgcmlnaHQgYWxpZ25cbiAgTEVGVEVORDogJ2xlZnQtZW5kJ1xufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IGRlZmF1bHQge1xuICBtaXhpbnM6IFtpZE1peGluXSxcbiAgcHJvdmlkZTogZnVuY3Rpb24gcHJvdmlkZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnZEcm9wZG93bjogdGhpc1xuICAgIH07XG4gIH0sXG4gIHByb3BzOiB7XG4gICAgZGlzYWJsZWQ6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgdGV4dDoge1xuICAgICAgLy8gQnV0dG9uIGxhYmVsXG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnJ1xuICAgIH0sXG4gICAgaHRtbDoge1xuICAgICAgLy8gQnV0dG9uIGxhYmVsXG4gICAgICB0eXBlOiBTdHJpbmdcbiAgICB9LFxuICAgIGRyb3B1cDoge1xuICAgICAgLy8gcGxhY2Ugb24gdG9wIGlmIHBvc3NpYmxlXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGRyb3ByaWdodDoge1xuICAgICAgLy8gcGxhY2UgcmlnaHQgaWYgcG9zc2libGVcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgZHJvcGxlZnQ6IHtcbiAgICAgIC8vIHBsYWNlIGxlZnQgaWYgcG9zc2libGVcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgcmlnaHQ6IHtcbiAgICAgIC8vIFJpZ2h0IGFsaWduIG1lbnUgKGRlZmF1bHQgaXMgbGVmdCBhbGlnbilcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgb2Zmc2V0OiB7XG4gICAgICAvLyBOdW1iZXIgb2YgcGl4ZWxzIHRvIG9mZnNldCBtZW51LCBvciBhIENTUyB1bml0IHZhbHVlIChpLmUuIDFweCwgMXJlbSwgZXRjKVxuICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICAgIGRlZmF1bHQ6IDBcbiAgICB9LFxuICAgIG5vRmxpcDoge1xuICAgICAgLy8gRGlzYWJsZSBhdXRvLWZsaXBwaW5nIG9mIG1lbnUgZnJvbSBib3R0b208PT50b3BcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbGF6eToge1xuICAgICAgLy8gSWYgdHJ1ZSwgb25seSByZW5kZXIgbWVudSBjb250ZW50cyB3aGVuIG9wZW5cbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgcG9wcGVyT3B0czoge1xuICAgICAgLy8gdHlwZTogT2JqZWN0LFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7fVxuICAgIH1cbiAgfSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmlzaWJsZTogZmFsc2UsXG4gICAgICBpbk5hdmJhcjogbnVsbCxcbiAgICAgIHZpc2libGVDaGFuZ2VQcmV2ZW50ZWQ6IGZhbHNlXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICB0b2dnbGVyOiBmdW5jdGlvbiB0b2dnbGVyKCkge1xuICAgICAgdmFyIHRvZ2dsZSA9IHRoaXMuJHJlZnMudG9nZ2xlO1xuICAgICAgcmV0dXJuIHRvZ2dsZSA/IHRvZ2dsZS4kZWwgfHwgdG9nZ2xlIDogbnVsbDtcbiAgICB9LFxuICAgIGRpcmVjdGlvbkNsYXNzOiBmdW5jdGlvbiBkaXJlY3Rpb25DbGFzcygpIHtcbiAgICAgIGlmICh0aGlzLmRyb3B1cCkge1xuICAgICAgICByZXR1cm4gJ2Ryb3B1cCc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZHJvcHJpZ2h0KSB7XG4gICAgICAgIHJldHVybiAnZHJvcHJpZ2h0JztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wbGVmdCkge1xuICAgICAgICByZXR1cm4gJ2Ryb3BsZWZ0JztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICB2aXNpYmxlOiBmdW5jdGlvbiB2aXNpYmxlKG5ld1ZhbHVlLCBvbGRWYWx1ZSkge1xuICAgICAgaWYgKHRoaXMudmlzaWJsZUNoYW5nZVByZXZlbnRlZCkge1xuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2VQcmV2ZW50ZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICAgIHZhciBldnROYW1lID0gbmV3VmFsdWUgPyAnc2hvdycgOiAnaGlkZSc7XG4gICAgICAgIHZhciBidkV2dCA9IG5ldyBCdkV2ZW50KGV2dE5hbWUsIHtcbiAgICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICAgIHZ1ZVRhcmdldDogdGhpcyxcbiAgICAgICAgICB0YXJnZXQ6IHRoaXMuJHJlZnMubWVudSxcbiAgICAgICAgICByZWxhdGVkVGFyZ2V0OiBudWxsLFxuICAgICAgICAgIGNvbXBvbmVudElkOiB0aGlzLnNhZmVJZCA/IHRoaXMuc2FmZUlkKCkgOiB0aGlzLmlkIHx8IG51bGxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZW1pdEV2ZW50KGJ2RXZ0KTtcblxuICAgICAgICBpZiAoYnZFdnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgIC8vIFJlc2V0IHZhbHVlIGFuZCBleGl0IGlmIGNhbmNlbGVkXG4gICAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlUHJldmVudGVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBvbGRWYWx1ZTsgLy8gSnVzdCBpbiBjYXNlIGEgY2hpbGQgZWxlbWVudCB0cmlnZ2VyZWQgdGhpcy5oaWRlKHRydWUpXG5cbiAgICAgICAgICB0aGlzLiRvZmYoJ2hpZGRlbicsIHRoaXMuZm9jdXNUb2dnbGVyKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZ0TmFtZSA9PT0gJ3Nob3cnKSB7XG4gICAgICAgICAgdGhpcy5zaG93TWVudSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgZGlzYWJsZWQ6IGZ1bmN0aW9uIGRpc2FibGVkKG5ld1ZhbHVlLCBvbGRWYWx1ZSkge1xuICAgICAgaWYgKG5ld1ZhbHVlICE9PSBvbGRWYWx1ZSAmJiBuZXdWYWx1ZSAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgICAgLy8gSGlkZSBkcm9wZG93biBpZiBkaXNhYmxlZCBjaGFuZ2VzIHRvIHRydWVcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIC8vIENyZWF0ZSBub24tcmVhY3RpdmUgcHJvcGVydHlcbiAgICB0aGlzLl9wb3BwZXIgPSBudWxsO1xuICB9LFxuICBkZWFjdGl2YXRlZDogZnVuY3Rpb24gZGVhY3RpdmF0ZWQoKVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm90IGVhc3kgdG8gdGVzdCAqL1xuICB7XG4gICAgLy8gSW4gY2FzZSB3ZSBhcmUgaW5zaWRlIGEgYDxrZWVwLWFsaXZlPmBcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLndoaWxlT3Blbkxpc3RlbihmYWxzZSk7XG4gICAgdGhpcy5yZW1vdmVQb3BwZXIoKTtcbiAgfSxcbiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLndoaWxlT3Blbkxpc3RlbihmYWxzZSk7XG4gICAgdGhpcy5yZW1vdmVQb3BwZXIoKTtcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIC8vIEV2ZW50IGVtaXR0ZXJcbiAgICBlbWl0RXZlbnQ6IGZ1bmN0aW9uIGVtaXRFdmVudChidkV2dCkge1xuICAgICAgdmFyIHR5cGUgPSBidkV2dC50eXBlO1xuICAgICAgdGhpcy4kZW1pdCh0eXBlLCBidkV2dCk7XG4gICAgICB0aGlzLiRyb290LiRlbWl0KFwiXCIuY29uY2F0KFJPT1RfRFJPUERPV05fUFJFRklYKS5jb25jYXQodHlwZSksIGJ2RXZ0KTtcbiAgICB9LFxuICAgIHNob3dNZW51OiBmdW5jdGlvbiBzaG93TWVudSgpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gQXJlIHdlIGluIGEgbmF2YmFyID9cblxuXG4gICAgICBpZiAoaXNOdWxsKHRoaXMuaW5OYXZiYXIpICYmIHRoaXMuaXNOYXYpIHtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIHVzZSBhbiBpbmplY3Rpb24gZm9yIHRoaXNcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICB0aGlzLmluTmF2YmFyID0gQm9vbGVhbihjbG9zZXN0KCcubmF2YmFyJywgdGhpcy4kZWwpKTtcbiAgICAgIH0gLy8gRGlzYWJsZSB0b3RhbGx5IFBvcHBlci5qcyBmb3IgRHJvcGRvd24gaW4gTmF2YmFyXG5cblxuICAgICAgaWYgKCF0aGlzLmluTmF2YmFyKSB7XG4gICAgICAgIGlmICh0eXBlb2YgUG9wcGVyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgd2FybignYi1kcm9wZG93bjogUG9wcGVyLmpzIG5vdCBmb3VuZC4gRmFsbGluZyBiYWNrIHRvIENTUyBwb3NpdGlvbmluZy4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBmb3IgZHJvcHVwIHdpdGggYWxpZ25tZW50IHdlIHVzZSB0aGUgcGFyZW50IGVsZW1lbnQgYXMgcG9wcGVyIGNvbnRhaW5lclxuICAgICAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5kcm9wdXAgJiYgdGhpcy5yaWdodCB8fCB0aGlzLnNwbGl0ID8gdGhpcy4kZWwgOiB0aGlzLiRyZWZzLnRvZ2dsZTsgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYSByZWZlcmVuY2UgdG8gYW4gZWxlbWVudCwgbm90IGEgY29tcG9uZW50IVxuXG4gICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQuJGVsIHx8IGVsZW1lbnQ7IC8vIEluc3RhbnRpYXRlIHBvcHBlci5qc1xuXG4gICAgICAgICAgdGhpcy5jcmVhdGVQb3BwZXIoZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gRW5zdXJlIG90aGVyIG1lbnVzIGFyZSBjbG9zZWRcblxuXG4gICAgICB0aGlzLiRyb290LiRlbWl0KFJPT1RfRFJPUERPV05fU0hPV04sIHRoaXMpO1xuICAgICAgdGhpcy53aGlsZU9wZW5MaXN0ZW4odHJ1ZSk7IC8vIFdyYXAgaW4gbmV4dFRpY2sgdG8gZW5zdXJlIG1lbnUgaXMgZnVsbHkgcmVuZGVyZWQvc2hvd25cblxuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyBGb2N1cyBvbiB0aGUgbWVudSBjb250YWluZXIgb24gc2hvd1xuICAgICAgICBfdGhpcy5mb2N1c01lbnUoKTsgLy8gRW1pdCB0aGUgc2hvd24gZXZlbnRcblxuXG4gICAgICAgIF90aGlzLiRlbWl0KCdzaG93bicpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBoaWRlTWVudTogZnVuY3Rpb24gaGlkZU1lbnUoKSB7XG4gICAgICB0aGlzLndoaWxlT3Blbkxpc3RlbihmYWxzZSk7XG4gICAgICB0aGlzLiRyb290LiRlbWl0KFJPT1RfRFJPUERPV05fSElEREVOLCB0aGlzKTtcbiAgICAgIHRoaXMuJGVtaXQoJ2hpZGRlbicpO1xuICAgICAgdGhpcy5yZW1vdmVQb3BwZXIoKTtcbiAgICB9LFxuICAgIGNyZWF0ZVBvcHBlcjogZnVuY3Rpb24gY3JlYXRlUG9wcGVyKGVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVtb3ZlUG9wcGVyKCk7XG4gICAgICB0aGlzLl9wb3BwZXIgPSBuZXcgUG9wcGVyKGVsZW1lbnQsIHRoaXMuJHJlZnMubWVudSwgdGhpcy5nZXRQb3BwZXJDb25maWcoKSk7XG4gICAgfSxcbiAgICByZW1vdmVQb3BwZXI6IGZ1bmN0aW9uIHJlbW92ZVBvcHBlcigpIHtcbiAgICAgIGlmICh0aGlzLl9wb3BwZXIpIHtcbiAgICAgICAgLy8gRW5zdXJlIHBvcHBlciBldmVudCBsaXN0ZW5lcnMgYXJlIHJlbW92ZWQgY2xlYW5seVxuICAgICAgICB0aGlzLl9wb3BwZXIuZGVzdHJveSgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9wb3BwZXIgPSBudWxsO1xuICAgIH0sXG4gICAgZ2V0UG9wcGVyQ29uZmlnOiBmdW5jdGlvbiBnZXRQb3BwZXJDb25maWcoKSB7XG4gICAgICB2YXIgcGxhY2VtZW50ID0gQXR0YWNobWVudE1hcC5CT1RUT007XG5cbiAgICAgIGlmICh0aGlzLmRyb3B1cCkge1xuICAgICAgICBwbGFjZW1lbnQgPSB0aGlzLnJpZ2h0ID8gQXR0YWNobWVudE1hcC5UT1BFTkQgOiBBdHRhY2htZW50TWFwLlRPUDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wcmlnaHQpIHtcbiAgICAgICAgcGxhY2VtZW50ID0gQXR0YWNobWVudE1hcC5SSUdIVDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wbGVmdCkge1xuICAgICAgICBwbGFjZW1lbnQgPSBBdHRhY2htZW50TWFwLkxFRlQ7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucmlnaHQpIHtcbiAgICAgICAgcGxhY2VtZW50ID0gQXR0YWNobWVudE1hcC5CT1RUT01FTkQ7XG4gICAgICB9XG5cbiAgICAgIHZhciBwb3BwZXJDb25maWcgPSB7XG4gICAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50LFxuICAgICAgICBtb2RpZmllcnM6IHtcbiAgICAgICAgICBvZmZzZXQ6IHtcbiAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQgfHwgMFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmxpcDoge1xuICAgICAgICAgICAgZW5hYmxlZDogIXRoaXMubm9GbGlwXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5ib3VuZGFyeSkge1xuICAgICAgICBwb3BwZXJDb25maWcubW9kaWZpZXJzLnByZXZlbnRPdmVyZmxvdyA9IHtcbiAgICAgICAgICBib3VuZGFyaWVzRWxlbWVudDogdGhpcy5ib3VuZGFyeVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgcG9wcGVyQ29uZmlnLCB7fSwgdGhpcy5wb3BwZXJPcHRzIHx8IHt9KTtcbiAgICB9LFxuICAgIHdoaWxlT3Blbkxpc3RlbjogZnVuY3Rpb24gd2hpbGVPcGVuTGlzdGVuKGlzT3Blbikge1xuICAgICAgLy8gdHVybiBsaXN0ZW5lcnMgb24vb2ZmIHdoaWxlIG9wZW5cbiAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgLy8gSWYgYW5vdGhlciBkcm9wZG93biBpcyBvcGVuZWRcbiAgICAgICAgdGhpcy4kcm9vdC4kb24oUk9PVF9EUk9QRE9XTl9TSE9XTiwgdGhpcy5yb290Q2xvc2VMaXN0ZW5lcik7IC8vIEhpZGUgdGhlIG1lbnUgd2hlbiBmb2N1cyBtb3ZlcyBvdXRcblxuICAgICAgICBldmVudE9uKHRoaXMuJGVsLCAnZm9jdXNvdXQnLCB0aGlzLm9uRm9jdXNPdXQsIHtcbiAgICAgICAgICBwYXNzaXZlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4kcm9vdC4kb2ZmKFJPT1RfRFJPUERPV05fU0hPV04sIHRoaXMucm9vdENsb3NlTGlzdGVuZXIpO1xuICAgICAgICBldmVudE9mZih0aGlzLiRlbCwgJ2ZvY3Vzb3V0JywgdGhpcy5vbkZvY3VzT3V0LCB7XG4gICAgICAgICAgcGFzc2l2ZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHJvb3RDbG9zZUxpc3RlbmVyOiBmdW5jdGlvbiByb290Q2xvc2VMaXN0ZW5lcih2bSkge1xuICAgICAgaWYgKHZtICE9PSB0aGlzKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2hvdzogZnVuY3Rpb24gc2hvdygpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAvLyBQdWJsaWMgbWV0aG9kIHRvIHNob3cgZHJvcGRvd25cbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gV3JhcCBpbiBhIHJlcXVlc3RBbmltYXRpb25GcmFtZSB0byBhbGxvdyBhbnkgcHJldmlvdXNcbiAgICAgIC8vIGNsaWNrIGhhbmRsaW5nIHRvIG9jY3VyIGZpcnN0XG5cblxuICAgICAgcmVxdWVzdEFGKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgX3RoaXMyLnZpc2libGUgPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBoaWRlOiBmdW5jdGlvbiBoaWRlKCkge1xuICAgICAgdmFyIHJlZm9jdXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGZhbHNlO1xuXG4gICAgICAvLyBQdWJsaWMgbWV0aG9kIHRvIGhpZGUgZHJvcGRvd25cbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG5cbiAgICAgIGlmIChyZWZvY3VzKSB7XG4gICAgICAgIC8vIENoaWxkIGVsZW1lbnQgaXMgY2xvc2luZyB0aGUgZHJvcGRvd24gb24gY2xpY2tcbiAgICAgICAgdGhpcy4kb25jZSgnaGlkZGVuJywgdGhpcy5mb2N1c1RvZ2dsZXIpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gQ2FsbGVkIG9ubHkgYnkgYSBidXR0b24gdGhhdCB0b2dnbGVzIHRoZSBtZW51XG4gICAgdG9nZ2xlOiBmdW5jdGlvbiB0b2dnbGUoZXZ0KSB7XG4gICAgICBldnQgPSBldnQgfHwge307XG4gICAgICB2YXIgdHlwZSA9IGV2dC50eXBlO1xuICAgICAgdmFyIGtleSA9IGV2dC5rZXlDb2RlO1xuXG4gICAgICBpZiAodHlwZSAhPT0gJ2NsaWNrJyAmJiAhKHR5cGUgPT09ICdrZXlkb3duJyAmJiAoa2V5ID09PSBLZXlDb2Rlcy5FTlRFUiB8fCBrZXkgPT09IEtleUNvZGVzLlNQQUNFIHx8IGtleSA9PT0gS2V5Q29kZXMuRE9XTikpKSB7XG4gICAgICAgIC8vIFdlIG9ubHkgdG9nZ2xlIG9uIENsaWNrLCBFbnRlciwgU3BhY2UsIGFuZCBBcnJvdyBEb3duXG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblxuXG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiRlbWl0KCd0b2dnbGUnLCBldnQpO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIFRvZ2dsZSB2aXNpYmlsaXR5XG5cbiAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgdGhpcy5oaWRlKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBDYWxsZWQgb25seSBpbiBzcGxpdCBidXR0b24gbW9kZSwgZm9yIHRoZSBzcGxpdCBidXR0b25cbiAgICBjbGljazogZnVuY3Rpb24gY2xpY2soZXZ0KSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy4kZW1pdCgnY2xpY2snLCBldnQpO1xuICAgIH0sXG4gICAgLy8gQ2FsbGVkIGZyb20gZHJvcGRvd24gbWVudSBjb250ZXh0XG4gICAgb25LZXlkb3duOiBmdW5jdGlvbiBvbktleWRvd24oZXZ0KSB7XG4gICAgICB2YXIga2V5ID0gZXZ0LmtleUNvZGU7XG5cbiAgICAgIGlmIChrZXkgPT09IEtleUNvZGVzLkVTQykge1xuICAgICAgICAvLyBDbG9zZSBvbiBFU0NcbiAgICAgICAgdGhpcy5vbkVzYyhldnQpO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT09IEtleUNvZGVzLkRPV04pIHtcbiAgICAgICAgLy8gRG93biBBcnJvd1xuICAgICAgICB0aGlzLmZvY3VzTmV4dChldnQsIGZhbHNlKTtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBLZXlDb2Rlcy5VUCkge1xuICAgICAgICAvLyBVcCBBcnJvd1xuICAgICAgICB0aGlzLmZvY3VzTmV4dChldnQsIHRydWUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gSWYgdXNlcyBwcmVzc2VzIEVTQyB0byBjbG9zZSBtZW51XG4gICAgb25Fc2M6IGZ1bmN0aW9uIG9uRXNjKGV2dCkge1xuICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gUmV0dXJuIGZvY3VzIHRvIG9yaWdpbmFsIHRyaWdnZXIgYnV0dG9uXG5cbiAgICAgICAgdGhpcy4kb25jZSgnaGlkZGVuJywgdGhpcy5mb2N1c1RvZ2dsZXIpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gRHJvcGRvd24gd3JhcHBlciBmb2N1c091dCBoYW5kbGVyXG4gICAgb25Gb2N1c091dDogZnVuY3Rpb24gb25Gb2N1c091dChldnQpIHtcbiAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICAvLyBgcmVsYXRlZFRhcmdldGAgaXMgdGhlIGVsZW1lbnQgZ2FpbmluZyBmb2N1c1xuICAgICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSBldnQucmVsYXRlZFRhcmdldDsgLy8gSWYgZm9jdXMgbW92ZXMgb3V0c2lkZSB0aGUgbWVudSBvciB0b2dnbGVyLCB0aGVuIGNsb3NlIG1lbnVcblxuICAgICAgaWYgKHRoaXMudmlzaWJsZSAmJiAhY29udGFpbnModGhpcy4kcmVmcy5tZW51LCByZWxhdGVkVGFyZ2V0KSAmJiAhY29udGFpbnModGhpcy50b2dnbGVyLCByZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgICB2YXIgZG9IaWRlID0gZnVuY3Rpb24gZG9IaWRlKCkge1xuICAgICAgICAgIF90aGlzMy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH07IC8vIFdoZW4gd2UgYXJlIGluIGEgbmF2YmFyICh3aGljaCBoYXMgYmVlbiByZXNwb25zaXZlbHkgc3RhY2tlZCksIHdlXG4gICAgICAgIC8vIGRlbGF5IHRoZSBkcm9wZG93bidzIGNsb3Npbmcgc28gdGhhdCB0aGUgbmV4dCBlbGVtZW50IGhhcyBhIGNoYW5jZVxuICAgICAgICAvLyB0byBoYXZlIGl0J3MgY2xpY2sgaGFuZGxlciBmaXJlZCAoaW4gY2FzZSBpdCdzIHBvc2l0aW9uIG1vdmVzIG9uXG4gICAgICAgIC8vIHRoZSBzY3JlZW4gZG8gdG8gYSBuYXZiYXIgbWVudSBhYm92ZSBpdCBjb2xsYXBzaW5nKVxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYm9vdHN0cmFwLXZ1ZS9ib290c3RyYXAtdnVlL2lzc3Vlcy80MTEzXG5cblxuICAgICAgICB0aGlzLmluTmF2YmFyID8gc2V0VGltZW91dChkb0hpZGUsIEZPQ1VTT1VUX0RFTEFZKSA6IGRvSGlkZSgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gS2V5Ym9hcmQgbmF2XG4gICAgZm9jdXNOZXh0OiBmdW5jdGlvbiBmb2N1c05leHQoZXZ0LCB1cCkge1xuICAgICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICAgIC8vIElnbm9yZSBrZXkgdXAvZG93biBvbiBmb3JtIGVsZW1lbnRzXG4gICAgICBpZiAoIXRoaXMudmlzaWJsZSB8fCBldnQgJiYgY2xvc2VzdChTZWxlY3Rvci5GT1JNX0NISUxELCBldnQudGFyZ2V0KSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogc2hvdWxkIG5ldmVyIGhhcHBlbiAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaXRlbXMgPSBfdGhpczQuZ2V0SXRlbXMoKTtcblxuICAgICAgICBpZiAoaXRlbXMubGVuZ3RoIDwgMSkge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBzaG91bGQgbmV2ZXIgaGFwcGVuICovXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGluZGV4ID0gaXRlbXMuaW5kZXhPZihldnQudGFyZ2V0KTtcblxuICAgICAgICBpZiAodXAgJiYgaW5kZXggPiAwKSB7XG4gICAgICAgICAgaW5kZXgtLTtcbiAgICAgICAgfSBlbHNlIGlmICghdXAgJiYgaW5kZXggPCBpdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogc2hvdWxkIG5ldmVyIGhhcHBlbiAqL1xuICAgICAgICAgIGluZGV4ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIF90aGlzNC5mb2N1c0l0ZW0oaW5kZXgsIGl0ZW1zKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZm9jdXNJdGVtOiBmdW5jdGlvbiBmb2N1c0l0ZW0oaWR4LCBpdGVtcykge1xuICAgICAgdmFyIGVsID0gaXRlbXMuZmluZChmdW5jdGlvbiAoZWwsIGkpIHtcbiAgICAgICAgcmV0dXJuIGkgPT09IGlkeDtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoZWwgJiYgZWwuZm9jdXMpIHtcbiAgICAgICAgZWwuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldEl0ZW1zOiBmdW5jdGlvbiBnZXRJdGVtcygpIHtcbiAgICAgIC8vIEdldCBhbGwgaXRlbXNcbiAgICAgIHJldHVybiBmaWx0ZXJWaXNpYmxlcyhzZWxlY3RBbGwoU2VsZWN0b3IuSVRFTV9TRUxFQ1RPUiwgdGhpcy4kcmVmcy5tZW51KSk7XG4gICAgfSxcbiAgICBmb2N1c01lbnU6IGZ1bmN0aW9uIGZvY3VzTWVudSgpIHtcbiAgICAgIHRoaXMuJHJlZnMubWVudS5mb2N1cyAmJiB0aGlzLiRyZWZzLm1lbnUuZm9jdXMoKTtcbiAgICB9LFxuICAgIGZvY3VzVG9nZ2xlcjogZnVuY3Rpb24gZm9jdXNUb2dnbGVyKCkge1xuICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHRvZ2dsZXIgPSBfdGhpczUudG9nZ2xlcjtcblxuICAgICAgICBpZiAodG9nZ2xlciAmJiB0b2dnbGVyLmZvY3VzKSB7XG4gICAgICAgICAgdG9nZ2xlci5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Ryb3Bkb3duLmpzXG4vLyBtb2R1bGUgaWQgPSAxMjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///124\n"); + +/***/ }), +/* 125 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(global) {/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\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'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\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, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\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, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Popper);\n//# sourceMappingURL=popper.js.map\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(25)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcG9wcGVyLmpzL2Rpc3QvZXNtL3BvcHBlci5qcz82NjBjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUIsa0NBQWtDO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxJQUFJO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsZUFBZTtBQUMxQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLFlBQVk7QUFDdkIsV0FBVyxRQUFRO0FBQ25CLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxvQkFBb0I7QUFDL0I7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWSxPQUFPO0FBQ25COztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1CQUFtQixrQkFBa0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7OztBQU1EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkIsWUFBWSxPQUFPO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsYUFBYSxRQUFRO0FBQ3JCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkIsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsT0FBTztBQUNsQixXQUFXLFlBQVk7QUFDdkIsV0FBVyxRQUFRO0FBQ25CLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsb0JBQW9CO0FBQ3BCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsWUFBWTtBQUN2QixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxNQUFNO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE1BQU07QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFdBQVc7QUFDdEIsV0FBVyxNQUFNO0FBQ2pCLFdBQVcsT0FBTztBQUNsQixhQUFhO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2QsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlCQUFpQixxQkFBcUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLGdCQUFnQjs7QUFFNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRUFBc0UsZ0JBQWdCOztBQUV0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixjQUFjLE9BQU87QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkIsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsT0FBTztBQUNsQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCLHlEQUF5RDs7QUFFOUU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0I7QUFDL0IsMkJBQTJCO0FBQzNCLGdDQUFnQzs7QUFFaEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEOztBQUVoRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVixVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLFFBQVE7QUFDdEIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsTUFBTTtBQUNuQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxjQUFjO0FBQzVCO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixHQUFHOztBQUVIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhCQUE4QjtBQUM5Qiw0QkFBNEI7QUFDNUI7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFdBQVc7QUFDekIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsV0FBVztBQUN4Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0EsZUFBZSxjQUFjO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0E7QUFDQSxjQUFjLE1BQU07QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLG1CQUFtQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQSxlQUFlLG1CQUFtQjtBQUNsQztBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0E7QUFDQSxjQUFjLGFBQWE7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxtQkFBbUI7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLFFBQVE7QUFDdEIsY0FBYyxRQUFRO0FBQ3RCLGNBQWMsWUFBWTtBQUMxQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBLElBQUk7QUFDSjtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGtCQUFrQjtBQUM5QjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQSxrQ0FBa0M7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxXQUFXO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQSxXQUFXLFdBQVc7QUFDdEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSx3QkFBd0I7QUFDckMsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsT0FBTztBQUNwQixjQUFjLE9BQU87QUFDckI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsY0FBYztBQUNkLDhCQUE4Qjs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCLGlEQUFpRCx1Q0FBdUMsa0RBQWtEO0FBQzFJLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxTQUFTO0FBQ3ZCO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFZSwrREFBTSxFQUFDO0FBQ3RCIiwiZmlsZSI6IjEyNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiFcbiAqIEBmaWxlT3ZlcnZpZXcgS2lja2FzcyBsaWJyYXJ5IHRvIGNyZWF0ZSBhbmQgcGxhY2UgcG9wcGVycyBuZWFyIHRoZWlyIHJlZmVyZW5jZSBlbGVtZW50cy5cbiAqIEB2ZXJzaW9uIDEuMTYuMFxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoYykgMjAxNiBGZWRlcmljbyBaaXZvbG8gYW5kIGNvbnRyaWJ1dG9yc1xuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cbnZhciBpc0Jyb3dzZXIgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnO1xuXG52YXIgdGltZW91dER1cmF0aW9uID0gZnVuY3Rpb24gKCkge1xuICB2YXIgbG9uZ2VyVGltZW91dEJyb3dzZXJzID0gWydFZGdlJywgJ1RyaWRlbnQnLCAnRmlyZWZveCddO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxvbmdlclRpbWVvdXRCcm93c2Vycy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGlmIChpc0Jyb3dzZXIgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKGxvbmdlclRpbWVvdXRCcm93c2Vyc1tpXSkgPj0gMCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG4gIHJldHVybiAwO1xufSgpO1xuXG5mdW5jdGlvbiBtaWNyb3Rhc2tEZWJvdW5jZShmbikge1xuICB2YXIgY2FsbGVkID0gZmFsc2U7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGNhbGxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYWxsZWQgPSB0cnVlO1xuICAgIHdpbmRvdy5Qcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIGNhbGxlZCA9IGZhbHNlO1xuICAgICAgZm4oKTtcbiAgICB9KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gdGFza0RlYm91bmNlKGZuKSB7XG4gIHZhciBzY2hlZHVsZWQgPSBmYWxzZTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXNjaGVkdWxlZCkge1xuICAgICAgc2NoZWR1bGVkID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBzY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgICAgZm4oKTtcbiAgICAgIH0sIHRpbWVvdXREdXJhdGlvbik7XG4gICAgfVxuICB9O1xufVxuXG52YXIgc3VwcG9ydHNNaWNyb1Rhc2tzID0gaXNCcm93c2VyICYmIHdpbmRvdy5Qcm9taXNlO1xuXG4vKipcbiogQ3JlYXRlIGEgZGVib3VuY2VkIHZlcnNpb24gb2YgYSBtZXRob2QsIHRoYXQncyBhc3luY2hyb25vdXNseSBkZWZlcnJlZFxuKiBidXQgY2FsbGVkIGluIHRoZSBtaW5pbXVtIHRpbWUgcG9zc2libGUuXG4qXG4qIEBtZXRob2RcbiogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuKiBAYXJndW1lbnQge0Z1bmN0aW9ufSBmblxuKiBAcmV0dXJucyB7RnVuY3Rpb259XG4qL1xudmFyIGRlYm91bmNlID0gc3VwcG9ydHNNaWNyb1Rhc2tzID8gbWljcm90YXNrRGVib3VuY2UgOiB0YXNrRGVib3VuY2U7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGdpdmVuIHZhcmlhYmxlIGlzIGEgZnVuY3Rpb25cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7QW55fSBmdW5jdGlvblRvQ2hlY2sgLSB2YXJpYWJsZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IGFuc3dlciB0bzogaXMgYSBmdW5jdGlvbj9cbiAqL1xuZnVuY3Rpb24gaXNGdW5jdGlvbihmdW5jdGlvblRvQ2hlY2spIHtcbiAgdmFyIGdldFR5cGUgPSB7fTtcbiAgcmV0dXJuIGZ1bmN0aW9uVG9DaGVjayAmJiBnZXRUeXBlLnRvU3RyaW5nLmNhbGwoZnVuY3Rpb25Ub0NoZWNrKSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJztcbn1cblxuLyoqXG4gKiBHZXQgQ1NTIGNvbXB1dGVkIHByb3BlcnR5IG9mIHRoZSBnaXZlbiBlbGVtZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VlbWVudH0gZWxlbWVudFxuICogQGFyZ3VtZW50IHtTdHJpbmd9IHByb3BlcnR5XG4gKi9cbmZ1bmN0aW9uIGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShlbGVtZW50LCBwcm9wZXJ0eSkge1xuICBpZiAoZWxlbWVudC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICAvLyBOT1RFOiAxIERPTSBhY2Nlc3MgaGVyZVxuICB2YXIgd2luZG93ID0gZWxlbWVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICB2YXIgY3NzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgbnVsbCk7XG4gIHJldHVybiBwcm9wZXJ0eSA/IGNzc1twcm9wZXJ0eV0gOiBjc3M7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGFyZW50Tm9kZSBvciB0aGUgaG9zdCBvZiB0aGUgZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudH0gcGFyZW50XG4gKi9cbmZ1bmN0aW9uIGdldFBhcmVudE5vZGUoZWxlbWVudCkge1xuICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0hUTUwnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cbiAgcmV0dXJuIGVsZW1lbnQucGFyZW50Tm9kZSB8fCBlbGVtZW50Lmhvc3Q7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc2Nyb2xsaW5nIHBhcmVudCBvZiB0aGUgZ2l2ZW4gZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudH0gc2Nyb2xsIHBhcmVudFxuICovXG5mdW5jdGlvbiBnZXRTY3JvbGxQYXJlbnQoZWxlbWVudCkge1xuICAvLyBSZXR1cm4gYm9keSwgYGdldFNjcm9sbGAgd2lsbCB0YWtlIGNhcmUgdG8gZ2V0IHRoZSBjb3JyZWN0IGBzY3JvbGxUb3BgIGZyb20gaXRcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gIH1cblxuICBzd2l0Y2ggKGVsZW1lbnQubm9kZU5hbWUpIHtcbiAgICBjYXNlICdIVE1MJzpcbiAgICBjYXNlICdCT0RZJzpcbiAgICAgIHJldHVybiBlbGVtZW50Lm93bmVyRG9jdW1lbnQuYm9keTtcbiAgICBjYXNlICcjZG9jdW1lbnQnOlxuICAgICAgcmV0dXJuIGVsZW1lbnQuYm9keTtcbiAgfVxuXG4gIC8vIEZpcmVmb3ggd2FudCB1cyB0byBjaGVjayBgLXhgIGFuZCBgLXlgIHZhcmlhdGlvbnMgYXMgd2VsbFxuXG4gIHZhciBfZ2V0U3R5bGVDb21wdXRlZFByb3AgPSBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkoZWxlbWVudCksXG4gICAgICBvdmVyZmxvdyA9IF9nZXRTdHlsZUNvbXB1dGVkUHJvcC5vdmVyZmxvdyxcbiAgICAgIG92ZXJmbG93WCA9IF9nZXRTdHlsZUNvbXB1dGVkUHJvcC5vdmVyZmxvd1gsXG4gICAgICBvdmVyZmxvd1kgPSBfZ2V0U3R5bGVDb21wdXRlZFByb3Aub3ZlcmZsb3dZO1xuXG4gIGlmICgvKGF1dG98c2Nyb2xsfG92ZXJsYXkpLy50ZXN0KG92ZXJmbG93ICsgb3ZlcmZsb3dZICsgb3ZlcmZsb3dYKSkge1xuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG5cbiAgcmV0dXJuIGdldFNjcm9sbFBhcmVudChnZXRQYXJlbnROb2RlKGVsZW1lbnQpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSByZWZlcmVuY2Ugbm9kZSBvZiB0aGUgcmVmZXJlbmNlIG9iamVjdCwgb3IgdGhlIHJlZmVyZW5jZSBvYmplY3QgaXRzZWxmLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtFbGVtZW50fE9iamVjdH0gcmVmZXJlbmNlIC0gdGhlIHJlZmVyZW5jZSBlbGVtZW50ICh0aGUgcG9wcGVyIHdpbGwgYmUgcmVsYXRpdmUgdG8gdGhpcylcbiAqIEByZXR1cm5zIHtFbGVtZW50fSBwYXJlbnRcbiAqL1xuZnVuY3Rpb24gZ2V0UmVmZXJlbmNlTm9kZShyZWZlcmVuY2UpIHtcbiAgcmV0dXJuIHJlZmVyZW5jZSAmJiByZWZlcmVuY2UucmVmZXJlbmNlTm9kZSA/IHJlZmVyZW5jZS5yZWZlcmVuY2VOb2RlIDogcmVmZXJlbmNlO1xufVxuXG52YXIgaXNJRTExID0gaXNCcm93c2VyICYmICEhKHdpbmRvdy5NU0lucHV0TWV0aG9kQ29udGV4dCAmJiBkb2N1bWVudC5kb2N1bWVudE1vZGUpO1xudmFyIGlzSUUxMCA9IGlzQnJvd3NlciAmJiAvTVNJRSAxMC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBicm93c2VyIGlzIEludGVybmV0IEV4cGxvcmVyXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcGFyYW0ge051bWJlcn0gdmVyc2lvbiB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IGlzSUVcbiAqL1xuZnVuY3Rpb24gaXNJRSh2ZXJzaW9uKSB7XG4gIGlmICh2ZXJzaW9uID09PSAxMSkge1xuICAgIHJldHVybiBpc0lFMTE7XG4gIH1cbiAgaWYgKHZlcnNpb24gPT09IDEwKSB7XG4gICAgcmV0dXJuIGlzSUUxMDtcbiAgfVxuICByZXR1cm4gaXNJRTExIHx8IGlzSUUxMDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvZmZzZXQgcGFyZW50IG9mIHRoZSBnaXZlbiBlbGVtZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnRcbiAqIEByZXR1cm5zIHtFbGVtZW50fSBvZmZzZXQgcGFyZW50XG4gKi9cbmZ1bmN0aW9uIGdldE9mZnNldFBhcmVudChlbGVtZW50KSB7XG4gIGlmICghZWxlbWVudCkge1xuICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIH1cblxuICB2YXIgbm9PZmZzZXRQYXJlbnQgPSBpc0lFKDEwKSA/IGRvY3VtZW50LmJvZHkgOiBudWxsO1xuXG4gIC8vIE5PVEU6IDEgRE9NIGFjY2VzcyBoZXJlXG4gIHZhciBvZmZzZXRQYXJlbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudCB8fCBudWxsO1xuICAvLyBTa2lwIGhpZGRlbiBlbGVtZW50cyB3aGljaCBkb24ndCBoYXZlIGFuIG9mZnNldFBhcmVudFxuICB3aGlsZSAob2Zmc2V0UGFyZW50ID09PSBub09mZnNldFBhcmVudCAmJiBlbGVtZW50Lm5leHRFbGVtZW50U2libGluZykge1xuICAgIG9mZnNldFBhcmVudCA9IChlbGVtZW50ID0gZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcpLm9mZnNldFBhcmVudDtcbiAgfVxuXG4gIHZhciBub2RlTmFtZSA9IG9mZnNldFBhcmVudCAmJiBvZmZzZXRQYXJlbnQubm9kZU5hbWU7XG5cbiAgaWYgKCFub2RlTmFtZSB8fCBub2RlTmFtZSA9PT0gJ0JPRFknIHx8IG5vZGVOYW1lID09PSAnSFRNTCcpIHtcbiAgICByZXR1cm4gZWxlbWVudCA/IGVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIH1cblxuICAvLyAub2Zmc2V0UGFyZW50IHdpbGwgcmV0dXJuIHRoZSBjbG9zZXN0IFRILCBURCBvciBUQUJMRSBpbiBjYXNlXG4gIC8vIG5vIG9mZnNldFBhcmVudCBpcyBwcmVzZW50LCBJIGhhdGUgdGhpcyBqb2IuLi5cbiAgaWYgKFsnVEgnLCAnVEQnLCAnVEFCTEUnXS5pbmRleE9mKG9mZnNldFBhcmVudC5ub2RlTmFtZSkgIT09IC0xICYmIGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShvZmZzZXRQYXJlbnQsICdwb3NpdGlvbicpID09PSAnc3RhdGljJykge1xuICAgIHJldHVybiBnZXRPZmZzZXRQYXJlbnQob2Zmc2V0UGFyZW50KTtcbiAgfVxuXG4gIHJldHVybiBvZmZzZXRQYXJlbnQ7XG59XG5cbmZ1bmN0aW9uIGlzT2Zmc2V0Q29udGFpbmVyKGVsZW1lbnQpIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdCT0RZJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gbm9kZU5hbWUgPT09ICdIVE1MJyB8fCBnZXRPZmZzZXRQYXJlbnQoZWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCkgPT09IGVsZW1lbnQ7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIHJvb3Qgbm9kZSAoZG9jdW1lbnQsIHNoYWRvd0RPTSByb290KSBvZiB0aGUgZ2l2ZW4gZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBub2RlXG4gKiBAcmV0dXJucyB7RWxlbWVudH0gcm9vdCBub2RlXG4gKi9cbmZ1bmN0aW9uIGdldFJvb3Qobm9kZSkge1xuICBpZiAobm9kZS5wYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGdldFJvb3Qobm9kZS5wYXJlbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBub2RlO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBvZmZzZXQgcGFyZW50IGNvbW1vbiB0byB0aGUgdHdvIHByb3ZpZGVkIG5vZGVzXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnQxXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnQyXG4gKiBAcmV0dXJucyB7RWxlbWVudH0gY29tbW9uIG9mZnNldCBwYXJlbnRcbiAqL1xuZnVuY3Rpb24gZmluZENvbW1vbk9mZnNldFBhcmVudChlbGVtZW50MSwgZWxlbWVudDIpIHtcbiAgLy8gVGhpcyBjaGVjayBpcyBuZWVkZWQgdG8gYXZvaWQgZXJyb3JzIGluIGNhc2Ugb25lIG9mIHRoZSBlbGVtZW50cyBpc24ndCBkZWZpbmVkIGZvciBhbnkgcmVhc29uXG4gIGlmICghZWxlbWVudDEgfHwgIWVsZW1lbnQxLm5vZGVUeXBlIHx8ICFlbGVtZW50MiB8fCAhZWxlbWVudDIubm9kZVR5cGUpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICB9XG5cbiAgLy8gSGVyZSB3ZSBtYWtlIHN1cmUgdG8gZ2l2ZSBhcyBcInN0YXJ0XCIgdGhlIGVsZW1lbnQgdGhhdCBjb21lcyBmaXJzdCBpbiB0aGUgRE9NXG4gIHZhciBvcmRlciA9IGVsZW1lbnQxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGVsZW1lbnQyKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HO1xuICB2YXIgc3RhcnQgPSBvcmRlciA/IGVsZW1lbnQxIDogZWxlbWVudDI7XG4gIHZhciBlbmQgPSBvcmRlciA/IGVsZW1lbnQyIDogZWxlbWVudDE7XG5cbiAgLy8gR2V0IGNvbW1vbiBhbmNlc3RvciBjb250YWluZXJcbiAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnQsIDApO1xuICByYW5nZS5zZXRFbmQoZW5kLCAwKTtcbiAgdmFyIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyID0gcmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXI7XG5cbiAgLy8gQm90aCBub2RlcyBhcmUgaW5zaWRlICNkb2N1bWVudFxuXG4gIGlmIChlbGVtZW50MSAhPT0gY29tbW9uQW5jZXN0b3JDb250YWluZXIgJiYgZWxlbWVudDIgIT09IGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyIHx8IHN0YXJ0LmNvbnRhaW5zKGVuZCkpIHtcbiAgICBpZiAoaXNPZmZzZXRDb250YWluZXIoY29tbW9uQW5jZXN0b3JDb250YWluZXIpKSB7XG4gICAgICByZXR1cm4gY29tbW9uQW5jZXN0b3JDb250YWluZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldE9mZnNldFBhcmVudChjb21tb25BbmNlc3RvckNvbnRhaW5lcik7XG4gIH1cblxuICAvLyBvbmUgb2YgdGhlIG5vZGVzIGlzIGluc2lkZSBzaGFkb3dET00sIGZpbmQgd2hpY2ggb25lXG4gIHZhciBlbGVtZW50MXJvb3QgPSBnZXRSb290KGVsZW1lbnQxKTtcbiAgaWYgKGVsZW1lbnQxcm9vdC5ob3N0KSB7XG4gICAgcmV0dXJuIGZpbmRDb21tb25PZmZzZXRQYXJlbnQoZWxlbWVudDFyb290Lmhvc3QsIGVsZW1lbnQyKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmluZENvbW1vbk9mZnNldFBhcmVudChlbGVtZW50MSwgZ2V0Um9vdChlbGVtZW50MikuaG9zdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBzY3JvbGwgdmFsdWUgb2YgdGhlIGdpdmVuIGVsZW1lbnQgaW4gdGhlIGdpdmVuIHNpZGUgKHRvcCBhbmQgbGVmdClcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudFxuICogQGFyZ3VtZW50IHtTdHJpbmd9IHNpZGUgYHRvcGAgb3IgYGxlZnRgXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBhbW91bnQgb2Ygc2Nyb2xsZWQgcGl4ZWxzXG4gKi9cbmZ1bmN0aW9uIGdldFNjcm9sbChlbGVtZW50KSB7XG4gIHZhciBzaWRlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAndG9wJztcblxuICB2YXIgdXBwZXJTaWRlID0gc2lkZSA9PT0gJ3RvcCcgPyAnc2Nyb2xsVG9wJyA6ICdzY3JvbGxMZWZ0JztcbiAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdCT0RZJyB8fCBub2RlTmFtZSA9PT0gJ0hUTUwnKSB7XG4gICAgdmFyIGh0bWwgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIHZhciBzY3JvbGxpbmdFbGVtZW50ID0gZWxlbWVudC5vd25lckRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQgfHwgaHRtbDtcbiAgICByZXR1cm4gc2Nyb2xsaW5nRWxlbWVudFt1cHBlclNpZGVdO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRbdXBwZXJTaWRlXTtcbn1cblxuLypcbiAqIFN1bSBvciBzdWJ0cmFjdCB0aGUgZWxlbWVudCBzY3JvbGwgdmFsdWVzIChsZWZ0IGFuZCB0b3ApIGZyb20gYSBnaXZlbiByZWN0IG9iamVjdFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtPYmplY3R9IHJlY3QgLSBSZWN0IG9iamVjdCB5b3Ugd2FudCB0byBjaGFuZ2VcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCBmcm9tIHRoZSBmdW5jdGlvbiByZWFkcyB0aGUgc2Nyb2xsIHZhbHVlc1xuICogQHBhcmFtIHtCb29sZWFufSBzdWJ0cmFjdCAtIHNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIHN1YnRyYWN0IHRoZSBzY3JvbGwgdmFsdWVzXG4gKiBAcmV0dXJuIHtPYmplY3R9IHJlY3QgLSBUaGUgbW9kaWZpZXIgcmVjdCBvYmplY3RcbiAqL1xuZnVuY3Rpb24gaW5jbHVkZVNjcm9sbChyZWN0LCBlbGVtZW50KSB7XG4gIHZhciBzdWJ0cmFjdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogZmFsc2U7XG5cbiAgdmFyIHNjcm9sbFRvcCA9IGdldFNjcm9sbChlbGVtZW50LCAndG9wJyk7XG4gIHZhciBzY3JvbGxMZWZ0ID0gZ2V0U2Nyb2xsKGVsZW1lbnQsICdsZWZ0Jyk7XG4gIHZhciBtb2RpZmllciA9IHN1YnRyYWN0ID8gLTEgOiAxO1xuICByZWN0LnRvcCArPSBzY3JvbGxUb3AgKiBtb2RpZmllcjtcbiAgcmVjdC5ib3R0b20gKz0gc2Nyb2xsVG9wICogbW9kaWZpZXI7XG4gIHJlY3QubGVmdCArPSBzY3JvbGxMZWZ0ICogbW9kaWZpZXI7XG4gIHJlY3QucmlnaHQgKz0gc2Nyb2xsTGVmdCAqIG1vZGlmaWVyO1xuICByZXR1cm4gcmVjdDtcbn1cblxuLypcbiAqIEhlbHBlciB0byBkZXRlY3QgYm9yZGVycyBvZiBhIGdpdmVuIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7Q1NTU3R5bGVEZWNsYXJhdGlvbn0gc3R5bGVzXG4gKiBSZXN1bHQgb2YgYGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eWAgb24gdGhlIGdpdmVuIGVsZW1lbnRcbiAqIEBwYXJhbSB7U3RyaW5nfSBheGlzIC0gYHhgIG9yIGB5YFxuICogQHJldHVybiB7bnVtYmVyfSBib3JkZXJzIC0gVGhlIGJvcmRlcnMgc2l6ZSBvZiB0aGUgZ2l2ZW4gYXhpc1xuICovXG5cbmZ1bmN0aW9uIGdldEJvcmRlcnNTaXplKHN0eWxlcywgYXhpcykge1xuICB2YXIgc2lkZUEgPSBheGlzID09PSAneCcgPyAnTGVmdCcgOiAnVG9wJztcbiAgdmFyIHNpZGVCID0gc2lkZUEgPT09ICdMZWZ0JyA/ICdSaWdodCcgOiAnQm90dG9tJztcblxuICByZXR1cm4gcGFyc2VGbG9hdChzdHlsZXNbJ2JvcmRlcicgKyBzaWRlQSArICdXaWR0aCddLCAxMCkgKyBwYXJzZUZsb2F0KHN0eWxlc1snYm9yZGVyJyArIHNpZGVCICsgJ1dpZHRoJ10sIDEwKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2l6ZShheGlzLCBib2R5LCBodG1sLCBjb21wdXRlZFN0eWxlKSB7XG4gIHJldHVybiBNYXRoLm1heChib2R5WydvZmZzZXQnICsgYXhpc10sIGJvZHlbJ3Njcm9sbCcgKyBheGlzXSwgaHRtbFsnY2xpZW50JyArIGF4aXNdLCBodG1sWydvZmZzZXQnICsgYXhpc10sIGh0bWxbJ3Njcm9sbCcgKyBheGlzXSwgaXNJRSgxMCkgPyBwYXJzZUludChodG1sWydvZmZzZXQnICsgYXhpc10pICsgcGFyc2VJbnQoY29tcHV0ZWRTdHlsZVsnbWFyZ2luJyArIChheGlzID09PSAnSGVpZ2h0JyA/ICdUb3AnIDogJ0xlZnQnKV0pICsgcGFyc2VJbnQoY29tcHV0ZWRTdHlsZVsnbWFyZ2luJyArIChheGlzID09PSAnSGVpZ2h0JyA/ICdCb3R0b20nIDogJ1JpZ2h0JyldKSA6IDApO1xufVxuXG5mdW5jdGlvbiBnZXRXaW5kb3dTaXplcyhkb2N1bWVudCkge1xuICB2YXIgYm9keSA9IGRvY3VtZW50LmJvZHk7XG4gIHZhciBodG1sID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICB2YXIgY29tcHV0ZWRTdHlsZSA9IGlzSUUoMTApICYmIGdldENvbXB1dGVkU3R5bGUoaHRtbCk7XG5cbiAgcmV0dXJuIHtcbiAgICBoZWlnaHQ6IGdldFNpemUoJ0hlaWdodCcsIGJvZHksIGh0bWwsIGNvbXB1dGVkU3R5bGUpLFxuICAgIHdpZHRoOiBnZXRTaXplKCdXaWR0aCcsIGJvZHksIGh0bWwsIGNvbXB1dGVkU3R5bGUpXG4gIH07XG59XG5cbnZhciBjbGFzc0NhbGxDaGVjayA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICB9XG59O1xuXG52YXIgY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7XG4gICAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gICAgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTtcbiAgICBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgICByZXR1cm4gQ29uc3RydWN0b3I7XG4gIH07XG59KCk7XG5cblxuXG5cblxudmFyIGRlZmluZVByb3BlcnR5ID0gZnVuY3Rpb24gKG9iaiwga2V5LCB2YWx1ZSkge1xuICBpZiAoa2V5IGluIG9iaikge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59O1xuXG52YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufTtcblxuLyoqXG4gKiBHaXZlbiBlbGVtZW50IG9mZnNldHMsIGdlbmVyYXRlIGFuIG91dHB1dCBzaW1pbGFyIHRvIGdldEJvdW5kaW5nQ2xpZW50UmVjdFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IG9mZnNldHNcbiAqIEByZXR1cm5zIHtPYmplY3R9IENsaWVudFJlY3QgbGlrZSBvdXRwdXRcbiAqL1xuZnVuY3Rpb24gZ2V0Q2xpZW50UmVjdChvZmZzZXRzKSB7XG4gIHJldHVybiBfZXh0ZW5kcyh7fSwgb2Zmc2V0cywge1xuICAgIHJpZ2h0OiBvZmZzZXRzLmxlZnQgKyBvZmZzZXRzLndpZHRoLFxuICAgIGJvdHRvbTogb2Zmc2V0cy50b3AgKyBvZmZzZXRzLmhlaWdodFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgYm91bmRpbmcgY2xpZW50IHJlY3Qgb2YgZ2l2ZW4gZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudFxuICogQHJldHVybiB7T2JqZWN0fSBjbGllbnQgcmVjdFxuICovXG5mdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCkge1xuICB2YXIgcmVjdCA9IHt9O1xuXG4gIC8vIElFMTAgMTAgRklYOiBQbGVhc2UsIGRvbid0IGFzaywgdGhlIGVsZW1lbnQgaXNuJ3RcbiAgLy8gY29uc2lkZXJlZCBpbiBET00gaW4gc29tZSBjaXJjdW1zdGFuY2VzLi4uXG4gIC8vIFRoaXMgaXNuJ3QgcmVwcm9kdWNpYmxlIGluIElFMTAgY29tcGF0aWJpbGl0eSBtb2RlIG9mIElFMTFcbiAgdHJ5IHtcbiAgICBpZiAoaXNJRSgxMCkpIHtcbiAgICAgIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdmFyIHNjcm9sbFRvcCA9IGdldFNjcm9sbChlbGVtZW50LCAndG9wJyk7XG4gICAgICB2YXIgc2Nyb2xsTGVmdCA9IGdldFNjcm9sbChlbGVtZW50LCAnbGVmdCcpO1xuICAgICAgcmVjdC50b3AgKz0gc2Nyb2xsVG9wO1xuICAgICAgcmVjdC5sZWZ0ICs9IHNjcm9sbExlZnQ7XG4gICAgICByZWN0LmJvdHRvbSArPSBzY3JvbGxUb3A7XG4gICAgICByZWN0LnJpZ2h0ICs9IHNjcm9sbExlZnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge31cblxuICB2YXIgcmVzdWx0ID0ge1xuICAgIGxlZnQ6IHJlY3QubGVmdCxcbiAgICB0b3A6IHJlY3QudG9wLFxuICAgIHdpZHRoOiByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0LFxuICAgIGhlaWdodDogcmVjdC5ib3R0b20gLSByZWN0LnRvcFxuICB9O1xuXG4gIC8vIHN1YnRyYWN0IHNjcm9sbGJhciBzaXplIGZyb20gc2l6ZXNcbiAgdmFyIHNpemVzID0gZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0hUTUwnID8gZ2V0V2luZG93U2l6ZXMoZWxlbWVudC5vd25lckRvY3VtZW50KSA6IHt9O1xuICB2YXIgd2lkdGggPSBzaXplcy53aWR0aCB8fCBlbGVtZW50LmNsaWVudFdpZHRoIHx8IHJlc3VsdC53aWR0aDtcbiAgdmFyIGhlaWdodCA9IHNpemVzLmhlaWdodCB8fCBlbGVtZW50LmNsaWVudEhlaWdodCB8fCByZXN1bHQuaGVpZ2h0O1xuXG4gIHZhciBob3JpelNjcm9sbGJhciA9IGVsZW1lbnQub2Zmc2V0V2lkdGggLSB3aWR0aDtcbiAgdmFyIHZlcnRTY3JvbGxiYXIgPSBlbGVtZW50Lm9mZnNldEhlaWdodCAtIGhlaWdodDtcblxuICAvLyBpZiBhbiBoeXBvdGhldGljYWwgc2Nyb2xsYmFyIGlzIGRldGVjdGVkLCB3ZSBtdXN0IGJlIHN1cmUgaXQncyBub3QgYSBgYm9yZGVyYFxuICAvLyB3ZSBtYWtlIHRoaXMgY2hlY2sgY29uZGl0aW9uYWwgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgaWYgKGhvcml6U2Nyb2xsYmFyIHx8IHZlcnRTY3JvbGxiYXIpIHtcbiAgICB2YXIgc3R5bGVzID0gZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KGVsZW1lbnQpO1xuICAgIGhvcml6U2Nyb2xsYmFyIC09IGdldEJvcmRlcnNTaXplKHN0eWxlcywgJ3gnKTtcbiAgICB2ZXJ0U2Nyb2xsYmFyIC09IGdldEJvcmRlcnNTaXplKHN0eWxlcywgJ3knKTtcblxuICAgIHJlc3VsdC53aWR0aCAtPSBob3JpelNjcm9sbGJhcjtcbiAgICByZXN1bHQuaGVpZ2h0IC09IHZlcnRTY3JvbGxiYXI7XG4gIH1cblxuICByZXR1cm4gZ2V0Q2xpZW50UmVjdChyZXN1bHQpO1xufVxuXG5mdW5jdGlvbiBnZXRPZmZzZXRSZWN0UmVsYXRpdmVUb0FyYml0cmFyeU5vZGUoY2hpbGRyZW4sIHBhcmVudCkge1xuICB2YXIgZml4ZWRQb3NpdGlvbiA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogZmFsc2U7XG5cbiAgdmFyIGlzSUUxMCA9IGlzSUUoMTApO1xuICB2YXIgaXNIVE1MID0gcGFyZW50Lm5vZGVOYW1lID09PSAnSFRNTCc7XG4gIHZhciBjaGlsZHJlblJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoY2hpbGRyZW4pO1xuICB2YXIgcGFyZW50UmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChwYXJlbnQpO1xuICB2YXIgc2Nyb2xsUGFyZW50ID0gZ2V0U2Nyb2xsUGFyZW50KGNoaWxkcmVuKTtcblxuICB2YXIgc3R5bGVzID0gZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KHBhcmVudCk7XG4gIHZhciBib3JkZXJUb3BXaWR0aCA9IHBhcnNlRmxvYXQoc3R5bGVzLmJvcmRlclRvcFdpZHRoLCAxMCk7XG4gIHZhciBib3JkZXJMZWZ0V2lkdGggPSBwYXJzZUZsb2F0KHN0eWxlcy5ib3JkZXJMZWZ0V2lkdGgsIDEwKTtcblxuICAvLyBJbiBjYXNlcyB3aGVyZSB0aGUgcGFyZW50IGlzIGZpeGVkLCB3ZSBtdXN0IGlnbm9yZSBuZWdhdGl2ZSBzY3JvbGwgaW4gb2Zmc2V0IGNhbGNcbiAgaWYgKGZpeGVkUG9zaXRpb24gJiYgaXNIVE1MKSB7XG4gICAgcGFyZW50UmVjdC50b3AgPSBNYXRoLm1heChwYXJlbnRSZWN0LnRvcCwgMCk7XG4gICAgcGFyZW50UmVjdC5sZWZ0ID0gTWF0aC5tYXgocGFyZW50UmVjdC5sZWZ0LCAwKTtcbiAgfVxuICB2YXIgb2Zmc2V0cyA9IGdldENsaWVudFJlY3Qoe1xuICAgIHRvcDogY2hpbGRyZW5SZWN0LnRvcCAtIHBhcmVudFJlY3QudG9wIC0gYm9yZGVyVG9wV2lkdGgsXG4gICAgbGVmdDogY2hpbGRyZW5SZWN0LmxlZnQgLSBwYXJlbnRSZWN0LmxlZnQgLSBib3JkZXJMZWZ0V2lkdGgsXG4gICAgd2lkdGg6IGNoaWxkcmVuUmVjdC53aWR0aCxcbiAgICBoZWlnaHQ6IGNoaWxkcmVuUmVjdC5oZWlnaHRcbiAgfSk7XG4gIG9mZnNldHMubWFyZ2luVG9wID0gMDtcbiAgb2Zmc2V0cy5tYXJnaW5MZWZ0ID0gMDtcblxuICAvLyBTdWJ0cmFjdCBtYXJnaW5zIG9mIGRvY3VtZW50RWxlbWVudCBpbiBjYXNlIGl0J3MgYmVpbmcgdXNlZCBhcyBwYXJlbnRcbiAgLy8gd2UgZG8gdGhpcyBvbmx5IG9uIEhUTUwgYmVjYXVzZSBpdCdzIHRoZSBvbmx5IGVsZW1lbnQgdGhhdCBiZWhhdmVzXG4gIC8vIGRpZmZlcmVudGx5IHdoZW4gbWFyZ2lucyBhcmUgYXBwbGllZCB0byBpdC4gVGhlIG1hcmdpbnMgYXJlIGluY2x1ZGVkIGluXG4gIC8vIHRoZSBib3ggb2YgdGhlIGRvY3VtZW50RWxlbWVudCwgaW4gdGhlIG90aGVyIGNhc2VzIG5vdC5cbiAgaWYgKCFpc0lFMTAgJiYgaXNIVE1MKSB7XG4gICAgdmFyIG1hcmdpblRvcCA9IHBhcnNlRmxvYXQoc3R5bGVzLm1hcmdpblRvcCwgMTApO1xuICAgIHZhciBtYXJnaW5MZWZ0ID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luTGVmdCwgMTApO1xuXG4gICAgb2Zmc2V0cy50b3AgLT0gYm9yZGVyVG9wV2lkdGggLSBtYXJnaW5Ub3A7XG4gICAgb2Zmc2V0cy5ib3R0b20gLT0gYm9yZGVyVG9wV2lkdGggLSBtYXJnaW5Ub3A7XG4gICAgb2Zmc2V0cy5sZWZ0IC09IGJvcmRlckxlZnRXaWR0aCAtIG1hcmdpbkxlZnQ7XG4gICAgb2Zmc2V0cy5yaWdodCAtPSBib3JkZXJMZWZ0V2lkdGggLSBtYXJnaW5MZWZ0O1xuXG4gICAgLy8gQXR0YWNoIG1hcmdpblRvcCBhbmQgbWFyZ2luTGVmdCBiZWNhdXNlIGluIHNvbWUgY2lyY3Vtc3RhbmNlcyB3ZSBtYXkgbmVlZCB0aGVtXG4gICAgb2Zmc2V0cy5tYXJnaW5Ub3AgPSBtYXJnaW5Ub3A7XG4gICAgb2Zmc2V0cy5tYXJnaW5MZWZ0ID0gbWFyZ2luTGVmdDtcbiAgfVxuXG4gIGlmIChpc0lFMTAgJiYgIWZpeGVkUG9zaXRpb24gPyBwYXJlbnQuY29udGFpbnMoc2Nyb2xsUGFyZW50KSA6IHBhcmVudCA9PT0gc2Nyb2xsUGFyZW50ICYmIHNjcm9sbFBhcmVudC5ub2RlTmFtZSAhPT0gJ0JPRFknKSB7XG4gICAgb2Zmc2V0cyA9IGluY2x1ZGVTY3JvbGwob2Zmc2V0cywgcGFyZW50KTtcbiAgfVxuXG4gIHJldHVybiBvZmZzZXRzO1xufVxuXG5mdW5jdGlvbiBnZXRWaWV3cG9ydE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJ0Yml0cmFyeU5vZGUoZWxlbWVudCkge1xuICB2YXIgZXhjbHVkZVNjcm9sbCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7XG5cbiAgdmFyIGh0bWwgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICB2YXIgcmVsYXRpdmVPZmZzZXQgPSBnZXRPZmZzZXRSZWN0UmVsYXRpdmVUb0FyYml0cmFyeU5vZGUoZWxlbWVudCwgaHRtbCk7XG4gIHZhciB3aWR0aCA9IE1hdGgubWF4KGh0bWwuY2xpZW50V2lkdGgsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApO1xuICB2YXIgaGVpZ2h0ID0gTWF0aC5tYXgoaHRtbC5jbGllbnRIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdodCB8fCAwKTtcblxuICB2YXIgc2Nyb2xsVG9wID0gIWV4Y2x1ZGVTY3JvbGwgPyBnZXRTY3JvbGwoaHRtbCkgOiAwO1xuICB2YXIgc2Nyb2xsTGVmdCA9ICFleGNsdWRlU2Nyb2xsID8gZ2V0U2Nyb2xsKGh0bWwsICdsZWZ0JykgOiAwO1xuXG4gIHZhciBvZmZzZXQgPSB7XG4gICAgdG9wOiBzY3JvbGxUb3AgLSByZWxhdGl2ZU9mZnNldC50b3AgKyByZWxhdGl2ZU9mZnNldC5tYXJnaW5Ub3AsXG4gICAgbGVmdDogc2Nyb2xsTGVmdCAtIHJlbGF0aXZlT2Zmc2V0LmxlZnQgKyByZWxhdGl2ZU9mZnNldC5tYXJnaW5MZWZ0LFxuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodFxuICB9O1xuXG4gIHJldHVybiBnZXRDbGllbnRSZWN0KG9mZnNldCk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGdpdmVuIGVsZW1lbnQgaXMgZml4ZWQgb3IgaXMgaW5zaWRlIGEgZml4ZWQgcGFyZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gY3VzdG9tQ29udGFpbmVyXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gYW5zd2VyIHRvIFwiaXNGaXhlZD9cIlxuICovXG5mdW5jdGlvbiBpc0ZpeGVkKGVsZW1lbnQpIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZTtcbiAgaWYgKG5vZGVOYW1lID09PSAnQk9EWScgfHwgbm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KGVsZW1lbnQsICdwb3NpdGlvbicpID09PSAnZml4ZWQnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFyIHBhcmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGVsZW1lbnQpO1xuICBpZiAoIXBhcmVudE5vZGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGlzRml4ZWQocGFyZW50Tm9kZSk7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIGZpcnN0IHBhcmVudCBvZiBhbiBlbGVtZW50IHRoYXQgaGFzIGEgdHJhbnNmb3JtZWQgcHJvcGVydHkgZGVmaW5lZFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudH0gZmlyc3QgdHJhbnNmb3JtZWQgcGFyZW50IG9yIGRvY3VtZW50RWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGdldEZpeGVkUG9zaXRpb25PZmZzZXRQYXJlbnQoZWxlbWVudCkge1xuICAvLyBUaGlzIGNoZWNrIGlzIG5lZWRlZCB0byBhdm9pZCBlcnJvcnMgaW4gY2FzZSBvbmUgb2YgdGhlIGVsZW1lbnRzIGlzbid0IGRlZmluZWQgZm9yIGFueSByZWFzb25cbiAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LnBhcmVudEVsZW1lbnQgfHwgaXNJRSgpKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgfVxuICB2YXIgZWwgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gIHdoaWxlIChlbCAmJiBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkoZWwsICd0cmFuc2Zvcm0nKSA9PT0gJ25vbmUnKSB7XG4gICAgZWwgPSBlbC5wYXJlbnRFbGVtZW50O1xuICB9XG4gIHJldHVybiBlbCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZWQgdGhlIGJvdW5kYXJpZXMgbGltaXRzIGFuZCByZXR1cm4gdGhlbVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wcGVyXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSByZWZlcmVuY2VcbiAqIEBwYXJhbSB7bnVtYmVyfSBwYWRkaW5nXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBib3VuZGFyaWVzRWxlbWVudCAtIEVsZW1lbnQgdXNlZCB0byBkZWZpbmUgdGhlIGJvdW5kYXJpZXNcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gZml4ZWRQb3NpdGlvbiAtIElzIGluIGZpeGVkIHBvc2l0aW9uIG1vZGVcbiAqIEByZXR1cm5zIHtPYmplY3R9IENvb3JkaW5hdGVzIG9mIHRoZSBib3VuZGFyaWVzXG4gKi9cbmZ1bmN0aW9uIGdldEJvdW5kYXJpZXMocG9wcGVyLCByZWZlcmVuY2UsIHBhZGRpbmcsIGJvdW5kYXJpZXNFbGVtZW50KSB7XG4gIHZhciBmaXhlZFBvc2l0aW9uID0gYXJndW1lbnRzLmxlbmd0aCA+IDQgJiYgYXJndW1lbnRzWzRdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbNF0gOiBmYWxzZTtcblxuICAvLyBOT1RFOiAxIERPTSBhY2Nlc3MgaGVyZVxuXG4gIHZhciBib3VuZGFyaWVzID0geyB0b3A6IDAsIGxlZnQ6IDAgfTtcbiAgdmFyIG9mZnNldFBhcmVudCA9IGZpeGVkUG9zaXRpb24gPyBnZXRGaXhlZFBvc2l0aW9uT2Zmc2V0UGFyZW50KHBvcHBlcikgOiBmaW5kQ29tbW9uT2Zmc2V0UGFyZW50KHBvcHBlciwgZ2V0UmVmZXJlbmNlTm9kZShyZWZlcmVuY2UpKTtcblxuICAvLyBIYW5kbGUgdmlld3BvcnQgY2FzZVxuICBpZiAoYm91bmRhcmllc0VsZW1lbnQgPT09ICd2aWV3cG9ydCcpIHtcbiAgICBib3VuZGFyaWVzID0gZ2V0Vmlld3BvcnRPZmZzZXRSZWN0UmVsYXRpdmVUb0FydGJpdHJhcnlOb2RlKG9mZnNldFBhcmVudCwgZml4ZWRQb3NpdGlvbik7XG4gIH0gZWxzZSB7XG4gICAgLy8gSGFuZGxlIG90aGVyIGNhc2VzIGJhc2VkIG9uIERPTSBlbGVtZW50IHVzZWQgYXMgYm91bmRhcmllc1xuICAgIHZhciBib3VuZGFyaWVzTm9kZSA9IHZvaWQgMDtcbiAgICBpZiAoYm91bmRhcmllc0VsZW1lbnQgPT09ICdzY3JvbGxQYXJlbnQnKSB7XG4gICAgICBib3VuZGFyaWVzTm9kZSA9IGdldFNjcm9sbFBhcmVudChnZXRQYXJlbnROb2RlKHJlZmVyZW5jZSkpO1xuICAgICAgaWYgKGJvdW5kYXJpZXNOb2RlLm5vZGVOYW1lID09PSAnQk9EWScpIHtcbiAgICAgICAgYm91bmRhcmllc05vZGUgPSBwb3BwZXIub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChib3VuZGFyaWVzRWxlbWVudCA9PT0gJ3dpbmRvdycpIHtcbiAgICAgIGJvdW5kYXJpZXNOb2RlID0gcG9wcGVyLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBib3VuZGFyaWVzTm9kZSA9IGJvdW5kYXJpZXNFbGVtZW50O1xuICAgIH1cblxuICAgIHZhciBvZmZzZXRzID0gZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlKGJvdW5kYXJpZXNOb2RlLCBvZmZzZXRQYXJlbnQsIGZpeGVkUG9zaXRpb24pO1xuXG4gICAgLy8gSW4gY2FzZSBvZiBIVE1MLCB3ZSBuZWVkIGEgZGlmZmVyZW50IGNvbXB1dGF0aW9uXG4gICAgaWYgKGJvdW5kYXJpZXNOb2RlLm5vZGVOYW1lID09PSAnSFRNTCcgJiYgIWlzRml4ZWQob2Zmc2V0UGFyZW50KSkge1xuICAgICAgdmFyIF9nZXRXaW5kb3dTaXplcyA9IGdldFdpbmRvd1NpemVzKHBvcHBlci5vd25lckRvY3VtZW50KSxcbiAgICAgICAgICBoZWlnaHQgPSBfZ2V0V2luZG93U2l6ZXMuaGVpZ2h0LFxuICAgICAgICAgIHdpZHRoID0gX2dldFdpbmRvd1NpemVzLndpZHRoO1xuXG4gICAgICBib3VuZGFyaWVzLnRvcCArPSBvZmZzZXRzLnRvcCAtIG9mZnNldHMubWFyZ2luVG9wO1xuICAgICAgYm91bmRhcmllcy5ib3R0b20gPSBoZWlnaHQgKyBvZmZzZXRzLnRvcDtcbiAgICAgIGJvdW5kYXJpZXMubGVmdCArPSBvZmZzZXRzLmxlZnQgLSBvZmZzZXRzLm1hcmdpbkxlZnQ7XG4gICAgICBib3VuZGFyaWVzLnJpZ2h0ID0gd2lkdGggKyBvZmZzZXRzLmxlZnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGZvciBhbGwgdGhlIG90aGVyIERPTSBlbGVtZW50cywgdGhpcyBvbmUgaXMgZ29vZFxuICAgICAgYm91bmRhcmllcyA9IG9mZnNldHM7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHBhZGRpbmdzXG4gIHBhZGRpbmcgPSBwYWRkaW5nIHx8IDA7XG4gIHZhciBpc1BhZGRpbmdOdW1iZXIgPSB0eXBlb2YgcGFkZGluZyA9PT0gJ251bWJlcic7XG4gIGJvdW5kYXJpZXMubGVmdCArPSBpc1BhZGRpbmdOdW1iZXIgPyBwYWRkaW5nIDogcGFkZGluZy5sZWZ0IHx8IDA7XG4gIGJvdW5kYXJpZXMudG9wICs9IGlzUGFkZGluZ051bWJlciA/IHBhZGRpbmcgOiBwYWRkaW5nLnRvcCB8fCAwO1xuICBib3VuZGFyaWVzLnJpZ2h0IC09IGlzUGFkZGluZ051bWJlciA/IHBhZGRpbmcgOiBwYWRkaW5nLnJpZ2h0IHx8IDA7XG4gIGJvdW5kYXJpZXMuYm90dG9tIC09IGlzUGFkZGluZ051bWJlciA/IHBhZGRpbmcgOiBwYWRkaW5nLmJvdHRvbSB8fCAwO1xuXG4gIHJldHVybiBib3VuZGFyaWVzO1xufVxuXG5mdW5jdGlvbiBnZXRBcmVhKF9yZWYpIHtcbiAgdmFyIHdpZHRoID0gX3JlZi53aWR0aCxcbiAgICAgIGhlaWdodCA9IF9yZWYuaGVpZ2h0O1xuXG4gIHJldHVybiB3aWR0aCAqIGhlaWdodDtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IHVzZWQgdG8gdHJhbnNmb3JtIHRoZSBgYXV0b2AgcGxhY2VtZW50IHRvIHRoZSBwbGFjZW1lbnQgd2l0aCBtb3JlXG4gKiBhdmFpbGFibGUgc3BhY2UuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBjb21wdXRlQXV0b1BsYWNlbWVudChwbGFjZW1lbnQsIHJlZlJlY3QsIHBvcHBlciwgcmVmZXJlbmNlLCBib3VuZGFyaWVzRWxlbWVudCkge1xuICB2YXIgcGFkZGluZyA9IGFyZ3VtZW50cy5sZW5ndGggPiA1ICYmIGFyZ3VtZW50c1s1XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzVdIDogMDtcblxuICBpZiAocGxhY2VtZW50LmluZGV4T2YoJ2F1dG8nKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gcGxhY2VtZW50O1xuICB9XG5cbiAgdmFyIGJvdW5kYXJpZXMgPSBnZXRCb3VuZGFyaWVzKHBvcHBlciwgcmVmZXJlbmNlLCBwYWRkaW5nLCBib3VuZGFyaWVzRWxlbWVudCk7XG5cbiAgdmFyIHJlY3RzID0ge1xuICAgIHRvcDoge1xuICAgICAgd2lkdGg6IGJvdW5kYXJpZXMud2lkdGgsXG4gICAgICBoZWlnaHQ6IHJlZlJlY3QudG9wIC0gYm91bmRhcmllcy50b3BcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICB3aWR0aDogYm91bmRhcmllcy5yaWdodCAtIHJlZlJlY3QucmlnaHQsXG4gICAgICBoZWlnaHQ6IGJvdW5kYXJpZXMuaGVpZ2h0XG4gICAgfSxcbiAgICBib3R0b206IHtcbiAgICAgIHdpZHRoOiBib3VuZGFyaWVzLndpZHRoLFxuICAgICAgaGVpZ2h0OiBib3VuZGFyaWVzLmJvdHRvbSAtIHJlZlJlY3QuYm90dG9tXG4gICAgfSxcbiAgICBsZWZ0OiB7XG4gICAgICB3aWR0aDogcmVmUmVjdC5sZWZ0IC0gYm91bmRhcmllcy5sZWZ0LFxuICAgICAgaGVpZ2h0OiBib3VuZGFyaWVzLmhlaWdodFxuICAgIH1cbiAgfTtcblxuICB2YXIgc29ydGVkQXJlYXMgPSBPYmplY3Qua2V5cyhyZWN0cykubWFwKGZ1bmN0aW9uIChrZXkpIHtcbiAgICByZXR1cm4gX2V4dGVuZHMoe1xuICAgICAga2V5OiBrZXlcbiAgICB9LCByZWN0c1trZXldLCB7XG4gICAgICBhcmVhOiBnZXRBcmVhKHJlY3RzW2tleV0pXG4gICAgfSk7XG4gIH0pLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICByZXR1cm4gYi5hcmVhIC0gYS5hcmVhO1xuICB9KTtcblxuICB2YXIgZmlsdGVyZWRBcmVhcyA9IHNvcnRlZEFyZWFzLmZpbHRlcihmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICB2YXIgd2lkdGggPSBfcmVmMi53aWR0aCxcbiAgICAgICAgaGVpZ2h0ID0gX3JlZjIuaGVpZ2h0O1xuICAgIHJldHVybiB3aWR0aCA+PSBwb3BwZXIuY2xpZW50V2lkdGggJiYgaGVpZ2h0ID49IHBvcHBlci5jbGllbnRIZWlnaHQ7XG4gIH0pO1xuXG4gIHZhciBjb21wdXRlZFBsYWNlbWVudCA9IGZpbHRlcmVkQXJlYXMubGVuZ3RoID4gMCA/IGZpbHRlcmVkQXJlYXNbMF0ua2V5IDogc29ydGVkQXJlYXNbMF0ua2V5O1xuXG4gIHZhciB2YXJpYXRpb24gPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVsxXTtcblxuICByZXR1cm4gY29tcHV0ZWRQbGFjZW1lbnQgKyAodmFyaWF0aW9uID8gJy0nICsgdmFyaWF0aW9uIDogJycpO1xufVxuXG4vKipcbiAqIEdldCBvZmZzZXRzIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtPYmplY3R9IHN0YXRlXG4gKiBAcGFyYW0ge0VsZW1lbnR9IHBvcHBlciAtIHRoZSBwb3BwZXIgZWxlbWVudFxuICogQHBhcmFtIHtFbGVtZW50fSByZWZlcmVuY2UgLSB0aGUgcmVmZXJlbmNlIGVsZW1lbnQgKHRoZSBwb3BwZXIgd2lsbCBiZSByZWxhdGl2ZSB0byB0aGlzKVxuICogQHBhcmFtIHtFbGVtZW50fSBmaXhlZFBvc2l0aW9uIC0gaXMgaW4gZml4ZWQgcG9zaXRpb24gbW9kZVxuICogQHJldHVybnMge09iamVjdH0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9mZnNldHMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwb3BwZXJcbiAqL1xuZnVuY3Rpb24gZ2V0UmVmZXJlbmNlT2Zmc2V0cyhzdGF0ZSwgcG9wcGVyLCByZWZlcmVuY2UpIHtcbiAgdmFyIGZpeGVkUG9zaXRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IG51bGw7XG5cbiAgdmFyIGNvbW1vbk9mZnNldFBhcmVudCA9IGZpeGVkUG9zaXRpb24gPyBnZXRGaXhlZFBvc2l0aW9uT2Zmc2V0UGFyZW50KHBvcHBlcikgOiBmaW5kQ29tbW9uT2Zmc2V0UGFyZW50KHBvcHBlciwgZ2V0UmVmZXJlbmNlTm9kZShyZWZlcmVuY2UpKTtcbiAgcmV0dXJuIGdldE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJiaXRyYXJ5Tm9kZShyZWZlcmVuY2UsIGNvbW1vbk9mZnNldFBhcmVudCwgZml4ZWRQb3NpdGlvbik7XG59XG5cbi8qKlxuICogR2V0IHRoZSBvdXRlciBzaXplcyBvZiB0aGUgZ2l2ZW4gZWxlbWVudCAob2Zmc2V0IHNpemUgKyBtYXJnaW5zKVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7T2JqZWN0fSBvYmplY3QgY29udGFpbmluZyB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXNcbiAqL1xuZnVuY3Rpb24gZ2V0T3V0ZXJTaXplcyhlbGVtZW50KSB7XG4gIHZhciB3aW5kb3cgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gIHZhciBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgdmFyIHggPSBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5Ub3AgfHwgMCkgKyBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5Cb3R0b20gfHwgMCk7XG4gIHZhciB5ID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luTGVmdCB8fCAwKSArIHBhcnNlRmxvYXQoc3R5bGVzLm1hcmdpblJpZ2h0IHx8IDApO1xuICB2YXIgcmVzdWx0ID0ge1xuICAgIHdpZHRoOiBlbGVtZW50Lm9mZnNldFdpZHRoICsgeSxcbiAgICBoZWlnaHQ6IGVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgeFxuICB9O1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEdldCB0aGUgb3Bwb3NpdGUgcGxhY2VtZW50IG9mIHRoZSBnaXZlbiBvbmVcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBwbGFjZW1lbnRcbiAqIEByZXR1cm5zIHtTdHJpbmd9IGZsaXBwZWQgcGxhY2VtZW50XG4gKi9cbmZ1bmN0aW9uIGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCkge1xuICB2YXIgaGFzaCA9IHsgbGVmdDogJ3JpZ2h0JywgcmlnaHQ6ICdsZWZ0JywgYm90dG9tOiAndG9wJywgdG9wOiAnYm90dG9tJyB9O1xuICByZXR1cm4gcGxhY2VtZW50LnJlcGxhY2UoL2xlZnR8cmlnaHR8Ym90dG9tfHRvcC9nLCBmdW5jdGlvbiAobWF0Y2hlZCkge1xuICAgIHJldHVybiBoYXNoW21hdGNoZWRdO1xuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgb2Zmc2V0cyB0byB0aGUgcG9wcGVyXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcGFyYW0ge09iamVjdH0gcG9zaXRpb24gLSBDU1MgcG9zaXRpb24gdGhlIFBvcHBlciB3aWxsIGdldCBhcHBsaWVkXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBwb3BwZXIgLSB0aGUgcG9wcGVyIGVsZW1lbnRcbiAqIEBwYXJhbSB7T2JqZWN0fSByZWZlcmVuY2VPZmZzZXRzIC0gdGhlIHJlZmVyZW5jZSBvZmZzZXRzICh0aGUgcG9wcGVyIHdpbGwgYmUgcmVsYXRpdmUgdG8gdGhpcylcbiAqIEBwYXJhbSB7U3RyaW5nfSBwbGFjZW1lbnQgLSBvbmUgb2YgdGhlIHZhbGlkIHBsYWNlbWVudCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBwb3BwZXJPZmZzZXRzIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9mZnNldHMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwb3BwZXJcbiAqL1xuZnVuY3Rpb24gZ2V0UG9wcGVyT2Zmc2V0cyhwb3BwZXIsIHJlZmVyZW5jZU9mZnNldHMsIHBsYWNlbWVudCkge1xuICBwbGFjZW1lbnQgPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcblxuICAvLyBHZXQgcG9wcGVyIG5vZGUgc2l6ZXNcbiAgdmFyIHBvcHBlclJlY3QgPSBnZXRPdXRlclNpemVzKHBvcHBlcik7XG5cbiAgLy8gQWRkIHBvc2l0aW9uLCB3aWR0aCBhbmQgaGVpZ2h0IHRvIG91ciBvZmZzZXRzIG9iamVjdFxuICB2YXIgcG9wcGVyT2Zmc2V0cyA9IHtcbiAgICB3aWR0aDogcG9wcGVyUmVjdC53aWR0aCxcbiAgICBoZWlnaHQ6IHBvcHBlclJlY3QuaGVpZ2h0XG4gIH07XG5cbiAgLy8gZGVwZW5kaW5nIGJ5IHRoZSBwb3BwZXIgcGxhY2VtZW50IHdlIGhhdmUgdG8gY29tcHV0ZSBpdHMgb2Zmc2V0cyBzbGlnaHRseSBkaWZmZXJlbnRseVxuICB2YXIgaXNIb3JpeiA9IFsncmlnaHQnLCAnbGVmdCddLmluZGV4T2YocGxhY2VtZW50KSAhPT0gLTE7XG4gIHZhciBtYWluU2lkZSA9IGlzSG9yaXogPyAndG9wJyA6ICdsZWZ0JztcbiAgdmFyIHNlY29uZGFyeVNpZGUgPSBpc0hvcml6ID8gJ2xlZnQnIDogJ3RvcCc7XG4gIHZhciBtZWFzdXJlbWVudCA9IGlzSG9yaXogPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG4gIHZhciBzZWNvbmRhcnlNZWFzdXJlbWVudCA9ICFpc0hvcml6ID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuXG4gIHBvcHBlck9mZnNldHNbbWFpblNpZGVdID0gcmVmZXJlbmNlT2Zmc2V0c1ttYWluU2lkZV0gKyByZWZlcmVuY2VPZmZzZXRzW21lYXN1cmVtZW50XSAvIDIgLSBwb3BwZXJSZWN0W21lYXN1cmVtZW50XSAvIDI7XG4gIGlmIChwbGFjZW1lbnQgPT09IHNlY29uZGFyeVNpZGUpIHtcbiAgICBwb3BwZXJPZmZzZXRzW3NlY29uZGFyeVNpZGVdID0gcmVmZXJlbmNlT2Zmc2V0c1tzZWNvbmRhcnlTaWRlXSAtIHBvcHBlclJlY3Rbc2Vjb25kYXJ5TWVhc3VyZW1lbnRdO1xuICB9IGVsc2Uge1xuICAgIHBvcHBlck9mZnNldHNbc2Vjb25kYXJ5U2lkZV0gPSByZWZlcmVuY2VPZmZzZXRzW2dldE9wcG9zaXRlUGxhY2VtZW50KHNlY29uZGFyeVNpZGUpXTtcbiAgfVxuXG4gIHJldHVybiBwb3BwZXJPZmZzZXRzO1xufVxuXG4vKipcbiAqIE1pbWljcyB0aGUgYGZpbmRgIG1ldGhvZCBvZiBBcnJheVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtBcnJheX0gYXJyXG4gKiBAYXJndW1lbnQgcHJvcFxuICogQGFyZ3VtZW50IHZhbHVlXG4gKiBAcmV0dXJucyBpbmRleCBvciAtMVxuICovXG5mdW5jdGlvbiBmaW5kKGFyciwgY2hlY2spIHtcbiAgLy8gdXNlIG5hdGl2ZSBmaW5kIGlmIHN1cHBvcnRlZFxuICBpZiAoQXJyYXkucHJvdG90eXBlLmZpbmQpIHtcbiAgICByZXR1cm4gYXJyLmZpbmQoY2hlY2spO1xuICB9XG5cbiAgLy8gdXNlIGBmaWx0ZXJgIHRvIG9idGFpbiB0aGUgc2FtZSBiZWhhdmlvciBvZiBgZmluZGBcbiAgcmV0dXJuIGFyci5maWx0ZXIoY2hlY2spWzBdO1xufVxuXG4vKipcbiAqIFJldHVybiB0aGUgaW5kZXggb2YgdGhlIG1hdGNoaW5nIG9iamVjdFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtBcnJheX0gYXJyXG4gKiBAYXJndW1lbnQgcHJvcFxuICogQGFyZ3VtZW50IHZhbHVlXG4gKiBAcmV0dXJucyBpbmRleCBvciAtMVxuICovXG5mdW5jdGlvbiBmaW5kSW5kZXgoYXJyLCBwcm9wLCB2YWx1ZSkge1xuICAvLyB1c2UgbmF0aXZlIGZpbmRJbmRleCBpZiBzdXBwb3J0ZWRcbiAgaWYgKEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgpIHtcbiAgICByZXR1cm4gYXJyLmZpbmRJbmRleChmdW5jdGlvbiAoY3VyKSB7XG4gICAgICByZXR1cm4gY3VyW3Byb3BdID09PSB2YWx1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIHVzZSBgZmluZGAgKyBgaW5kZXhPZmAgaWYgYGZpbmRJbmRleGAgaXNuJ3Qgc3VwcG9ydGVkXG4gIHZhciBtYXRjaCA9IGZpbmQoYXJyLCBmdW5jdGlvbiAob2JqKSB7XG4gICAgcmV0dXJuIG9ialtwcm9wXSA9PT0gdmFsdWU7XG4gIH0pO1xuICByZXR1cm4gYXJyLmluZGV4T2YobWF0Y2gpO1xufVxuXG4vKipcbiAqIExvb3AgdHJvdWdoIHRoZSBsaXN0IG9mIG1vZGlmaWVycyBhbmQgcnVuIHRoZW0gaW4gb3JkZXIsXG4gKiBlYWNoIG9mIHRoZW0gd2lsbCB0aGVuIGVkaXQgdGhlIGRhdGEgb2JqZWN0LlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtkYXRhT2JqZWN0fSBkYXRhXG4gKiBAcGFyYW0ge0FycmF5fSBtb2RpZmllcnNcbiAqIEBwYXJhbSB7U3RyaW5nfSBlbmRzIC0gT3B0aW9uYWwgbW9kaWZpZXIgbmFtZSB1c2VkIGFzIHN0b3BwZXJcbiAqIEByZXR1cm5zIHtkYXRhT2JqZWN0fVxuICovXG5mdW5jdGlvbiBydW5Nb2RpZmllcnMobW9kaWZpZXJzLCBkYXRhLCBlbmRzKSB7XG4gIHZhciBtb2RpZmllcnNUb1J1biA9IGVuZHMgPT09IHVuZGVmaW5lZCA/IG1vZGlmaWVycyA6IG1vZGlmaWVycy5zbGljZSgwLCBmaW5kSW5kZXgobW9kaWZpZXJzLCAnbmFtZScsIGVuZHMpKTtcblxuICBtb2RpZmllcnNUb1J1bi5mb3JFYWNoKGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgIGlmIChtb2RpZmllclsnZnVuY3Rpb24nXSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBkb3Qtbm90YXRpb25cbiAgICAgIGNvbnNvbGUud2FybignYG1vZGlmaWVyLmZ1bmN0aW9uYCBpcyBkZXByZWNhdGVkLCB1c2UgYG1vZGlmaWVyLmZuYCEnKTtcbiAgICB9XG4gICAgdmFyIGZuID0gbW9kaWZpZXJbJ2Z1bmN0aW9uJ10gfHwgbW9kaWZpZXIuZm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZG90LW5vdGF0aW9uXG4gICAgaWYgKG1vZGlmaWVyLmVuYWJsZWQgJiYgaXNGdW5jdGlvbihmbikpIHtcbiAgICAgIC8vIEFkZCBwcm9wZXJ0aWVzIHRvIG9mZnNldHMgdG8gbWFrZSB0aGVtIGEgY29tcGxldGUgY2xpZW50UmVjdCBvYmplY3RcbiAgICAgIC8vIHdlIGRvIHRoaXMgYmVmb3JlIGVhY2ggbW9kaWZpZXIgdG8gbWFrZSBzdXJlIHRoZSBwcmV2aW91cyBvbmUgZG9lc24ndFxuICAgICAgLy8gbWVzcyB3aXRoIHRoZXNlIHZhbHVlc1xuICAgICAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IGdldENsaWVudFJlY3QoZGF0YS5vZmZzZXRzLnBvcHBlcik7XG4gICAgICBkYXRhLm9mZnNldHMucmVmZXJlbmNlID0gZ2V0Q2xpZW50UmVjdChkYXRhLm9mZnNldHMucmVmZXJlbmNlKTtcblxuICAgICAgZGF0YSA9IGZuKGRhdGEsIG1vZGlmaWVyKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3BwZXIsIGNvbXB1dGluZyB0aGUgbmV3IG9mZnNldHMgYW5kIGFwcGx5aW5nXG4gKiB0aGUgbmV3IHN0eWxlLjxiciAvPlxuICogUHJlZmVyIGBzY2hlZHVsZVVwZGF0ZWAgb3ZlciBgdXBkYXRlYCBiZWNhdXNlIG9mIHBlcmZvcm1hbmNlIHJlYXNvbnMuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZSgpIHtcbiAgLy8gaWYgcG9wcGVyIGlzIGRlc3Ryb3llZCwgZG9uJ3QgcGVyZm9ybSBhbnkgZnVydGhlciB1cGRhdGVcbiAgaWYgKHRoaXMuc3RhdGUuaXNEZXN0cm95ZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZGF0YSA9IHtcbiAgICBpbnN0YW5jZTogdGhpcyxcbiAgICBzdHlsZXM6IHt9LFxuICAgIGFycm93U3R5bGVzOiB7fSxcbiAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICBmbGlwcGVkOiBmYWxzZSxcbiAgICBvZmZzZXRzOiB7fVxuICB9O1xuXG4gIC8vIGNvbXB1dGUgcmVmZXJlbmNlIGVsZW1lbnQgb2Zmc2V0c1xuICBkYXRhLm9mZnNldHMucmVmZXJlbmNlID0gZ2V0UmVmZXJlbmNlT2Zmc2V0cyh0aGlzLnN0YXRlLCB0aGlzLnBvcHBlciwgdGhpcy5yZWZlcmVuY2UsIHRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkKTtcblxuICAvLyBjb21wdXRlIGF1dG8gcGxhY2VtZW50LCBzdG9yZSBwbGFjZW1lbnQgaW5zaWRlIHRoZSBkYXRhIG9iamVjdCxcbiAgLy8gbW9kaWZpZXJzIHdpbGwgYmUgYWJsZSB0byBlZGl0IGBwbGFjZW1lbnRgIGlmIG5lZWRlZFxuICAvLyBhbmQgcmVmZXIgdG8gb3JpZ2luYWxQbGFjZW1lbnQgdG8ga25vdyB0aGUgb3JpZ2luYWwgdmFsdWVcbiAgZGF0YS5wbGFjZW1lbnQgPSBjb21wdXRlQXV0b1BsYWNlbWVudCh0aGlzLm9wdGlvbnMucGxhY2VtZW50LCBkYXRhLm9mZnNldHMucmVmZXJlbmNlLCB0aGlzLnBvcHBlciwgdGhpcy5yZWZlcmVuY2UsIHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCwgdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO1xuXG4gIC8vIHN0b3JlIHRoZSBjb21wdXRlZCBwbGFjZW1lbnQgaW5zaWRlIGBvcmlnaW5hbFBsYWNlbWVudGBcbiAgZGF0YS5vcmlnaW5hbFBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50O1xuXG4gIGRhdGEucG9zaXRpb25GaXhlZCA9IHRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkO1xuXG4gIC8vIGNvbXB1dGUgdGhlIHBvcHBlciBvZmZzZXRzXG4gIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBnZXRQb3BwZXJPZmZzZXRzKHRoaXMucG9wcGVyLCBkYXRhLm9mZnNldHMucmVmZXJlbmNlLCBkYXRhLnBsYWNlbWVudCk7XG5cbiAgZGF0YS5vZmZzZXRzLnBvcHBlci5wb3NpdGlvbiA9IHRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkID8gJ2ZpeGVkJyA6ICdhYnNvbHV0ZSc7XG5cbiAgLy8gcnVuIHRoZSBtb2RpZmllcnNcbiAgZGF0YSA9IHJ1bk1vZGlmaWVycyh0aGlzLm1vZGlmaWVycywgZGF0YSk7XG5cbiAgLy8gdGhlIGZpcnN0IGB1cGRhdGVgIHdpbGwgY2FsbCBgb25DcmVhdGVgIGNhbGxiYWNrXG4gIC8vIHRoZSBvdGhlciBvbmVzIHdpbGwgY2FsbCBgb25VcGRhdGVgIGNhbGxiYWNrXG4gIGlmICghdGhpcy5zdGF0ZS5pc0NyZWF0ZWQpIHtcbiAgICB0aGlzLnN0YXRlLmlzQ3JlYXRlZCA9IHRydWU7XG4gICAgdGhpcy5vcHRpb25zLm9uQ3JlYXRlKGRhdGEpO1xuICB9IGVsc2Uge1xuICAgIHRoaXMub3B0aW9ucy5vblVwZGF0ZShkYXRhKTtcbiAgfVxufVxuXG4vKipcbiAqIEhlbHBlciB1c2VkIHRvIGtub3cgaWYgdGhlIGdpdmVuIG1vZGlmaWVyIGlzIGVuYWJsZWQuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNNb2RpZmllckVuYWJsZWQobW9kaWZpZXJzLCBtb2RpZmllck5hbWUpIHtcbiAgcmV0dXJuIG1vZGlmaWVycy5zb21lKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIG5hbWUgPSBfcmVmLm5hbWUsXG4gICAgICAgIGVuYWJsZWQgPSBfcmVmLmVuYWJsZWQ7XG4gICAgcmV0dXJuIGVuYWJsZWQgJiYgbmFtZSA9PT0gbW9kaWZpZXJOYW1lO1xuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHByZWZpeGVkIHN1cHBvcnRlZCBwcm9wZXJ0eSBuYW1lXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge1N0cmluZ30gcHJvcGVydHkgKGNhbWVsQ2FzZSlcbiAqIEByZXR1cm5zIHtTdHJpbmd9IHByZWZpeGVkIHByb3BlcnR5IChjYW1lbENhc2Ugb3IgUGFzY2FsQ2FzZSwgZGVwZW5kaW5nIG9uIHRoZSB2ZW5kb3IgcHJlZml4KVxuICovXG5mdW5jdGlvbiBnZXRTdXBwb3J0ZWRQcm9wZXJ0eU5hbWUocHJvcGVydHkpIHtcbiAgdmFyIHByZWZpeGVzID0gW2ZhbHNlLCAnbXMnLCAnV2Via2l0JywgJ01veicsICdPJ107XG4gIHZhciB1cHBlclByb3AgPSBwcm9wZXJ0eS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHByb3BlcnR5LnNsaWNlKDEpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJlZml4ZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcHJlZml4ID0gcHJlZml4ZXNbaV07XG4gICAgdmFyIHRvQ2hlY2sgPSBwcmVmaXggPyAnJyArIHByZWZpeCArIHVwcGVyUHJvcCA6IHByb3BlcnR5O1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQuYm9keS5zdHlsZVt0b0NoZWNrXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB0b0NoZWNrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBEZXN0cm95cyB0aGUgcG9wcGVyLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlclxuICovXG5mdW5jdGlvbiBkZXN0cm95KCkge1xuICB0aGlzLnN0YXRlLmlzRGVzdHJveWVkID0gdHJ1ZTtcblxuICAvLyB0b3VjaCBET00gb25seSBpZiBgYXBwbHlTdHlsZWAgbW9kaWZpZXIgaXMgZW5hYmxlZFxuICBpZiAoaXNNb2RpZmllckVuYWJsZWQodGhpcy5tb2RpZmllcnMsICdhcHBseVN0eWxlJykpIHtcbiAgICB0aGlzLnBvcHBlci5yZW1vdmVBdHRyaWJ1dGUoJ3gtcGxhY2VtZW50Jyk7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGUucG9zaXRpb24gPSAnJztcbiAgICB0aGlzLnBvcHBlci5zdHlsZS50b3AgPSAnJztcbiAgICB0aGlzLnBvcHBlci5zdHlsZS5sZWZ0ID0gJyc7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGUucmlnaHQgPSAnJztcbiAgICB0aGlzLnBvcHBlci5zdHlsZS5ib3R0b20gPSAnJztcbiAgICB0aGlzLnBvcHBlci5zdHlsZS53aWxsQ2hhbmdlID0gJyc7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGVbZ2V0U3VwcG9ydGVkUHJvcGVydHlOYW1lKCd0cmFuc2Zvcm0nKV0gPSAnJztcbiAgfVxuXG4gIHRoaXMuZGlzYWJsZUV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgLy8gcmVtb3ZlIHRoZSBwb3BwZXIgaWYgdXNlciBleHBsaWNpdGx5IGFza2VkIGZvciB0aGUgZGVsZXRpb24gb24gZGVzdHJveVxuICAvLyBkbyBub3QgdXNlIGByZW1vdmVgIGJlY2F1c2UgSUUxMSBkb2Vzbid0IHN1cHBvcnQgaXRcbiAgaWYgKHRoaXMub3B0aW9ucy5yZW1vdmVPbkRlc3Ryb3kpIHtcbiAgICB0aGlzLnBvcHBlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucG9wcGVyKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHdpbmRvdyBhc3NvY2lhdGVkIHdpdGggdGhlIGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudFxuICogQHJldHVybnMge1dpbmRvd31cbiAqL1xuZnVuY3Rpb24gZ2V0V2luZG93KGVsZW1lbnQpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG4gIHJldHVybiBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyA6IHdpbmRvdztcbn1cblxuZnVuY3Rpb24gYXR0YWNoVG9TY3JvbGxQYXJlbnRzKHNjcm9sbFBhcmVudCwgZXZlbnQsIGNhbGxiYWNrLCBzY3JvbGxQYXJlbnRzKSB7XG4gIHZhciBpc0JvZHkgPSBzY3JvbGxQYXJlbnQubm9kZU5hbWUgPT09ICdCT0RZJztcbiAgdmFyIHRhcmdldCA9IGlzQm9keSA/IHNjcm9sbFBhcmVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IDogc2Nyb2xsUGFyZW50O1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgY2FsbGJhY2ssIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblxuICBpZiAoIWlzQm9keSkge1xuICAgIGF0dGFjaFRvU2Nyb2xsUGFyZW50cyhnZXRTY3JvbGxQYXJlbnQodGFyZ2V0LnBhcmVudE5vZGUpLCBldmVudCwgY2FsbGJhY2ssIHNjcm9sbFBhcmVudHMpO1xuICB9XG4gIHNjcm9sbFBhcmVudHMucHVzaCh0YXJnZXQpO1xufVxuXG4vKipcbiAqIFNldHVwIG5lZWRlZCBldmVudCBsaXN0ZW5lcnMgdXNlZCB0byB1cGRhdGUgdGhlIHBvcHBlciBwb3NpdGlvblxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gc2V0dXBFdmVudExpc3RlbmVycyhyZWZlcmVuY2UsIG9wdGlvbnMsIHN0YXRlLCB1cGRhdGVCb3VuZCkge1xuICAvLyBSZXNpemUgZXZlbnQgbGlzdGVuZXIgb24gd2luZG93XG4gIHN0YXRlLnVwZGF0ZUJvdW5kID0gdXBkYXRlQm91bmQ7XG4gIGdldFdpbmRvdyhyZWZlcmVuY2UpLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHN0YXRlLnVwZGF0ZUJvdW5kLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cbiAgLy8gU2Nyb2xsIGV2ZW50IGxpc3RlbmVyIG9uIHNjcm9sbCBwYXJlbnRzXG4gIHZhciBzY3JvbGxFbGVtZW50ID0gZ2V0U2Nyb2xsUGFyZW50KHJlZmVyZW5jZSk7XG4gIGF0dGFjaFRvU2Nyb2xsUGFyZW50cyhzY3JvbGxFbGVtZW50LCAnc2Nyb2xsJywgc3RhdGUudXBkYXRlQm91bmQsIHN0YXRlLnNjcm9sbFBhcmVudHMpO1xuICBzdGF0ZS5zY3JvbGxFbGVtZW50ID0gc2Nyb2xsRWxlbWVudDtcbiAgc3RhdGUuZXZlbnRzRW5hYmxlZCA9IHRydWU7XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG4vKipcbiAqIEl0IHdpbGwgYWRkIHJlc2l6ZS9zY3JvbGwgZXZlbnRzIGFuZCBzdGFydCByZWNhbGN1bGF0aW5nXG4gKiBwb3NpdGlvbiBvZiB0aGUgcG9wcGVyIGVsZW1lbnQgd2hlbiB0aGV5IGFyZSB0cmlnZ2VyZWQuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGVuYWJsZUV2ZW50TGlzdGVuZXJzKCkge1xuICBpZiAoIXRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCkge1xuICAgIHRoaXMuc3RhdGUgPSBzZXR1cEV2ZW50TGlzdGVuZXJzKHRoaXMucmVmZXJlbmNlLCB0aGlzLm9wdGlvbnMsIHRoaXMuc3RhdGUsIHRoaXMuc2NoZWR1bGVVcGRhdGUpO1xuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlIGV2ZW50IGxpc3RlbmVycyB1c2VkIHRvIHVwZGF0ZSB0aGUgcG9wcGVyIHBvc2l0aW9uXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVycyhyZWZlcmVuY2UsIHN0YXRlKSB7XG4gIC8vIFJlbW92ZSByZXNpemUgZXZlbnQgbGlzdGVuZXIgb24gd2luZG93XG4gIGdldFdpbmRvdyhyZWZlcmVuY2UpLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHN0YXRlLnVwZGF0ZUJvdW5kKTtcblxuICAvLyBSZW1vdmUgc2Nyb2xsIGV2ZW50IGxpc3RlbmVyIG9uIHNjcm9sbCBwYXJlbnRzXG4gIHN0YXRlLnNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHN0YXRlLnVwZGF0ZUJvdW5kKTtcbiAgfSk7XG5cbiAgLy8gUmVzZXQgc3RhdGVcbiAgc3RhdGUudXBkYXRlQm91bmQgPSBudWxsO1xuICBzdGF0ZS5zY3JvbGxQYXJlbnRzID0gW107XG4gIHN0YXRlLnNjcm9sbEVsZW1lbnQgPSBudWxsO1xuICBzdGF0ZS5ldmVudHNFbmFibGVkID0gZmFsc2U7XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuLyoqXG4gKiBJdCB3aWxsIHJlbW92ZSByZXNpemUvc2Nyb2xsIGV2ZW50cyBhbmQgd29uJ3QgcmVjYWxjdWxhdGUgcG9wcGVyIHBvc2l0aW9uXG4gKiB3aGVuIHRoZXkgYXJlIHRyaWdnZXJlZC4gSXQgYWxzbyB3b24ndCB0cmlnZ2VyIGBvblVwZGF0ZWAgY2FsbGJhY2sgYW55bW9yZSxcbiAqIHVubGVzcyB5b3UgY2FsbCBgdXBkYXRlYCBtZXRob2QgbWFudWFsbHkuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGRpc2FibGVFdmVudExpc3RlbmVycygpIHtcbiAgaWYgKHRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCkge1xuICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuc2NoZWR1bGVVcGRhdGUpO1xuICAgIHRoaXMuc3RhdGUgPSByZW1vdmVFdmVudExpc3RlbmVycyh0aGlzLnJlZmVyZW5jZSwgdGhpcy5zdGF0ZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUZWxscyBpZiBhIGdpdmVuIGlucHV0IGlzIGEgbnVtYmVyXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcGFyYW0geyp9IGlucHV0IHRvIGNoZWNrXG4gKiBAcmV0dXJuIHtCb29sZWFufVxuICovXG5mdW5jdGlvbiBpc051bWVyaWMobikge1xuICByZXR1cm4gbiAhPT0gJycgJiYgIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pO1xufVxuXG4vKipcbiAqIFNldCB0aGUgc3R5bGUgdG8gdGhlIGdpdmVuIHBvcHBlclxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50IC0gRWxlbWVudCB0byBhcHBseSB0aGUgc3R5bGUgdG9cbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBzdHlsZXNcbiAqIE9iamVjdCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50XG4gKi9cbmZ1bmN0aW9uIHNldFN0eWxlcyhlbGVtZW50LCBzdHlsZXMpIHtcbiAgT2JqZWN0LmtleXMoc3R5bGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgdmFyIHVuaXQgPSAnJztcbiAgICAvLyBhZGQgdW5pdCBpZiB0aGUgdmFsdWUgaXMgbnVtZXJpYyBhbmQgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmdcbiAgICBpZiAoWyd3aWR0aCcsICdoZWlnaHQnLCAndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J10uaW5kZXhPZihwcm9wKSAhPT0gLTEgJiYgaXNOdW1lcmljKHN0eWxlc1twcm9wXSkpIHtcbiAgICAgIHVuaXQgPSAncHgnO1xuICAgIH1cbiAgICBlbGVtZW50LnN0eWxlW3Byb3BdID0gc3R5bGVzW3Byb3BdICsgdW5pdDtcbiAgfSk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBhdHRyaWJ1dGVzIHRvIHRoZSBnaXZlbiBwb3BwZXJcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudCAtIEVsZW1lbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgdG9cbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBzdHlsZXNcbiAqIE9iamVjdCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50XG4gKi9cbmZ1bmN0aW9uIHNldEF0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cmlidXRlcykge1xuICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgdmFyIHZhbHVlID0gYXR0cmlidXRlc1twcm9wXTtcbiAgICBpZiAodmFsdWUgIT09IGZhbHNlKSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShwcm9wLCBhdHRyaWJ1dGVzW3Byb3BdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUocHJvcCk7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhLnN0eWxlcyAtIExpc3Qgb2Ygc3R5bGUgcHJvcGVydGllcyAtIHZhbHVlcyB0byBhcHBseSB0byBwb3BwZXIgZWxlbWVudFxuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEuYXR0cmlidXRlcyAtIExpc3Qgb2YgYXR0cmlidXRlIHByb3BlcnRpZXMgLSB2YWx1ZXMgdG8gYXBwbHkgdG8gcG9wcGVyIGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBzYW1lIGRhdGEgb2JqZWN0XG4gKi9cbmZ1bmN0aW9uIGFwcGx5U3R5bGUoZGF0YSkge1xuICAvLyBhbnkgcHJvcGVydHkgcHJlc2VudCBpbiBgZGF0YS5zdHlsZXNgIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLFxuICAvLyBpbiB0aGlzIHdheSB3ZSBjYW4gbWFrZSB0aGUgM3JkIHBhcnR5IG1vZGlmaWVycyBhZGQgY3VzdG9tIHN0eWxlcyB0byBpdFxuICAvLyBCZSBhd2FyZSwgbW9kaWZpZXJzIGNvdWxkIG92ZXJyaWRlIHRoZSBwcm9wZXJ0aWVzIGRlZmluZWQgaW4gdGhlIHByZXZpb3VzXG4gIC8vIGxpbmVzIG9mIHRoaXMgbW9kaWZpZXIhXG4gIHNldFN0eWxlcyhkYXRhLmluc3RhbmNlLnBvcHBlciwgZGF0YS5zdHlsZXMpO1xuXG4gIC8vIGFueSBwcm9wZXJ0eSBwcmVzZW50IGluIGBkYXRhLmF0dHJpYnV0ZXNgIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLFxuICAvLyB0aGV5IHdpbGwgYmUgc2V0IGFzIEhUTUwgYXR0cmlidXRlcyBvZiB0aGUgZWxlbWVudFxuICBzZXRBdHRyaWJ1dGVzKGRhdGEuaW5zdGFuY2UucG9wcGVyLCBkYXRhLmF0dHJpYnV0ZXMpO1xuXG4gIC8vIGlmIGFycm93RWxlbWVudCBpcyBkZWZpbmVkIGFuZCBhcnJvd1N0eWxlcyBoYXMgc29tZSBwcm9wZXJ0aWVzXG4gIGlmIChkYXRhLmFycm93RWxlbWVudCAmJiBPYmplY3Qua2V5cyhkYXRhLmFycm93U3R5bGVzKS5sZW5ndGgpIHtcbiAgICBzZXRTdHlsZXMoZGF0YS5hcnJvd0VsZW1lbnQsIGRhdGEuYXJyb3dTdHlsZXMpO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogU2V0IHRoZSB4LXBsYWNlbWVudCBhdHRyaWJ1dGUgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZSBiZWNhdXNlIGl0IGNvdWxkIGJlIHVzZWRcbiAqIHRvIGFkZCBtYXJnaW5zIHRvIHRoZSBwb3BwZXIgbWFyZ2lucyBuZWVkcyB0byBiZSBjYWxjdWxhdGVkIHRvIGdldCB0aGVcbiAqIGNvcnJlY3QgcG9wcGVyIG9mZnNldHMuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLm1vZGlmaWVyc1xuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSBlbGVtZW50IHVzZWQgdG8gcG9zaXRpb24gdGhlIHBvcHBlclxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wcGVyIC0gVGhlIEhUTUwgZWxlbWVudCB1c2VkIGFzIHBvcHBlclxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBQb3BwZXIuanMgb3B0aW9uc1xuICovXG5mdW5jdGlvbiBhcHBseVN0eWxlT25Mb2FkKHJlZmVyZW5jZSwgcG9wcGVyLCBvcHRpb25zLCBtb2RpZmllck9wdGlvbnMsIHN0YXRlKSB7XG4gIC8vIGNvbXB1dGUgcmVmZXJlbmNlIGVsZW1lbnQgb2Zmc2V0c1xuICB2YXIgcmVmZXJlbmNlT2Zmc2V0cyA9IGdldFJlZmVyZW5jZU9mZnNldHMoc3RhdGUsIHBvcHBlciwgcmVmZXJlbmNlLCBvcHRpb25zLnBvc2l0aW9uRml4ZWQpO1xuXG4gIC8vIGNvbXB1dGUgYXV0byBwbGFjZW1lbnQsIHN0b3JlIHBsYWNlbWVudCBpbnNpZGUgdGhlIGRhdGEgb2JqZWN0LFxuICAvLyBtb2RpZmllcnMgd2lsbCBiZSBhYmxlIHRvIGVkaXQgYHBsYWNlbWVudGAgaWYgbmVlZGVkXG4gIC8vIGFuZCByZWZlciB0byBvcmlnaW5hbFBsYWNlbWVudCB0byBrbm93IHRoZSBvcmlnaW5hbCB2YWx1ZVxuICB2YXIgcGxhY2VtZW50ID0gY29tcHV0ZUF1dG9QbGFjZW1lbnQob3B0aW9ucy5wbGFjZW1lbnQsIHJlZmVyZW5jZU9mZnNldHMsIHBvcHBlciwgcmVmZXJlbmNlLCBvcHRpb25zLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LCBvcHRpb25zLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO1xuXG4gIHBvcHBlci5zZXRBdHRyaWJ1dGUoJ3gtcGxhY2VtZW50JywgcGxhY2VtZW50KTtcblxuICAvLyBBcHBseSBgcG9zaXRpb25gIHRvIHBvcHBlciBiZWZvcmUgYW55dGhpbmcgZWxzZSBiZWNhdXNlXG4gIC8vIHdpdGhvdXQgdGhlIHBvc2l0aW9uIGFwcGxpZWQgd2UgY2FuJ3QgZ3VhcmFudGVlIGNvcnJlY3QgY29tcHV0YXRpb25zXG4gIHNldFN0eWxlcyhwb3BwZXIsIHsgcG9zaXRpb246IG9wdGlvbnMucG9zaXRpb25GaXhlZCA/ICdmaXhlZCcgOiAnYWJzb2x1dGUnIH0pO1xuXG4gIHJldHVybiBvcHRpb25zO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IGB1cGRhdGVgIG1ldGhvZFxuICogQGFyZ3VtZW50IHtCb29sZWFufSBzaG91bGRSb3VuZCAtIElmIHRoZSBvZmZzZXRzIHNob3VsZCBiZSByb3VuZGVkIGF0IGFsbFxuICogQHJldHVybnMge09iamVjdH0gVGhlIHBvcHBlcidzIHBvc2l0aW9uIG9mZnNldHMgcm91bmRlZFxuICpcbiAqIFRoZSB0YWxlIG9mIHBpeGVsLXBlcmZlY3QgcG9zaXRpb25pbmcuIEl0J3Mgc3RpbGwgbm90IDEwMCUgcGVyZmVjdCwgYnV0IGFzXG4gKiBnb29kIGFzIGl0IGNhbiBiZSB3aXRoaW4gcmVhc29uLlxuICogRGlzY3Vzc2lvbiBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20vRmV6VnJhc3RhL3BvcHBlci5qcy9wdWxsLzcxNVxuICpcbiAqIExvdyBEUEkgc2NyZWVucyBjYXVzZSBhIHBvcHBlciB0byBiZSBibHVycnkgaWYgbm90IHVzaW5nIGZ1bGwgcGl4ZWxzIChTYWZhcmlcbiAqIGFzIHdlbGwgb24gSGlnaCBEUEkgc2NyZWVucykuXG4gKlxuICogRmlyZWZveCBwcmVmZXJzIG5vIHJvdW5kaW5nIGZvciBwb3NpdGlvbmluZyBhbmQgZG9lcyBub3QgaGF2ZSBibHVycmluZXNzIG9uXG4gKiBoaWdoIERQSSBzY3JlZW5zLlxuICpcbiAqIE9ubHkgaG9yaXpvbnRhbCBwbGFjZW1lbnQgYW5kIGxlZnQvcmlnaHQgdmFsdWVzIG5lZWQgdG8gYmUgY29uc2lkZXJlZC5cbiAqL1xuZnVuY3Rpb24gZ2V0Um91bmRlZE9mZnNldHMoZGF0YSwgc2hvdWxkUm91bmQpIHtcbiAgdmFyIF9kYXRhJG9mZnNldHMgPSBkYXRhLm9mZnNldHMsXG4gICAgICBwb3BwZXIgPSBfZGF0YSRvZmZzZXRzLnBvcHBlcixcbiAgICAgIHJlZmVyZW5jZSA9IF9kYXRhJG9mZnNldHMucmVmZXJlbmNlO1xuICB2YXIgcm91bmQgPSBNYXRoLnJvdW5kLFxuICAgICAgZmxvb3IgPSBNYXRoLmZsb29yO1xuXG4gIHZhciBub1JvdW5kID0gZnVuY3Rpb24gbm9Sb3VuZCh2KSB7XG4gICAgcmV0dXJuIHY7XG4gIH07XG5cbiAgdmFyIHJlZmVyZW5jZVdpZHRoID0gcm91bmQocmVmZXJlbmNlLndpZHRoKTtcbiAgdmFyIHBvcHBlcldpZHRoID0gcm91bmQocG9wcGVyLndpZHRoKTtcblxuICB2YXIgaXNWZXJ0aWNhbCA9IFsnbGVmdCcsICdyaWdodCddLmluZGV4T2YoZGF0YS5wbGFjZW1lbnQpICE9PSAtMTtcbiAgdmFyIGlzVmFyaWF0aW9uID0gZGF0YS5wbGFjZW1lbnQuaW5kZXhPZignLScpICE9PSAtMTtcbiAgdmFyIHNhbWVXaWR0aFBhcml0eSA9IHJlZmVyZW5jZVdpZHRoICUgMiA9PT0gcG9wcGVyV2lkdGggJSAyO1xuICB2YXIgYm90aE9kZFdpZHRoID0gcmVmZXJlbmNlV2lkdGggJSAyID09PSAxICYmIHBvcHBlcldpZHRoICUgMiA9PT0gMTtcblxuICB2YXIgaG9yaXpvbnRhbFRvSW50ZWdlciA9ICFzaG91bGRSb3VuZCA/IG5vUm91bmQgOiBpc1ZlcnRpY2FsIHx8IGlzVmFyaWF0aW9uIHx8IHNhbWVXaWR0aFBhcml0eSA/IHJvdW5kIDogZmxvb3I7XG4gIHZhciB2ZXJ0aWNhbFRvSW50ZWdlciA9ICFzaG91bGRSb3VuZCA/IG5vUm91bmQgOiByb3VuZDtcblxuICByZXR1cm4ge1xuICAgIGxlZnQ6IGhvcml6b250YWxUb0ludGVnZXIoYm90aE9kZFdpZHRoICYmICFpc1ZhcmlhdGlvbiAmJiBzaG91bGRSb3VuZCA/IHBvcHBlci5sZWZ0IC0gMSA6IHBvcHBlci5sZWZ0KSxcbiAgICB0b3A6IHZlcnRpY2FsVG9JbnRlZ2VyKHBvcHBlci50b3ApLFxuICAgIGJvdHRvbTogdmVydGljYWxUb0ludGVnZXIocG9wcGVyLmJvdHRvbSksXG4gICAgcmlnaHQ6IGhvcml6b250YWxUb0ludGVnZXIocG9wcGVyLnJpZ2h0KVxuICB9O1xufVxuXG52YXIgaXNGaXJlZm94ID0gaXNCcm93c2VyICYmIC9GaXJlZm94L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gY29tcHV0ZVN0eWxlKGRhdGEsIG9wdGlvbnMpIHtcbiAgdmFyIHggPSBvcHRpb25zLngsXG4gICAgICB5ID0gb3B0aW9ucy55O1xuICB2YXIgcG9wcGVyID0gZGF0YS5vZmZzZXRzLnBvcHBlcjtcblxuICAvLyBSZW1vdmUgdGhpcyBsZWdhY3kgc3VwcG9ydCBpbiBQb3BwZXIuanMgdjJcblxuICB2YXIgbGVnYWN5R3B1QWNjZWxlcmF0aW9uT3B0aW9uID0gZmluZChkYXRhLmluc3RhbmNlLm1vZGlmaWVycywgZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgcmV0dXJuIG1vZGlmaWVyLm5hbWUgPT09ICdhcHBseVN0eWxlJztcbiAgfSkuZ3B1QWNjZWxlcmF0aW9uO1xuICBpZiAobGVnYWN5R3B1QWNjZWxlcmF0aW9uT3B0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zb2xlLndhcm4oJ1dBUk5JTkc6IGBncHVBY2NlbGVyYXRpb25gIG9wdGlvbiBtb3ZlZCB0byBgY29tcHV0ZVN0eWxlYCBtb2RpZmllciBhbmQgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBQb3BwZXIuanMhJyk7XG4gIH1cbiAgdmFyIGdwdUFjY2VsZXJhdGlvbiA9IGxlZ2FjeUdwdUFjY2VsZXJhdGlvbk9wdGlvbiAhPT0gdW5kZWZpbmVkID8gbGVnYWN5R3B1QWNjZWxlcmF0aW9uT3B0aW9uIDogb3B0aW9ucy5ncHVBY2NlbGVyYXRpb247XG5cbiAgdmFyIG9mZnNldFBhcmVudCA9IGdldE9mZnNldFBhcmVudChkYXRhLmluc3RhbmNlLnBvcHBlcik7XG4gIHZhciBvZmZzZXRQYXJlbnRSZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KG9mZnNldFBhcmVudCk7XG5cbiAgLy8gU3R5bGVzXG4gIHZhciBzdHlsZXMgPSB7XG4gICAgcG9zaXRpb246IHBvcHBlci5wb3NpdGlvblxuICB9O1xuXG4gIHZhciBvZmZzZXRzID0gZ2V0Um91bmRlZE9mZnNldHMoZGF0YSwgd2luZG93LmRldmljZVBpeGVsUmF0aW8gPCAyIHx8ICFpc0ZpcmVmb3gpO1xuXG4gIHZhciBzaWRlQSA9IHggPT09ICdib3R0b20nID8gJ3RvcCcgOiAnYm90dG9tJztcbiAgdmFyIHNpZGVCID0geSA9PT0gJ3JpZ2h0JyA/ICdsZWZ0JyA6ICdyaWdodCc7XG5cbiAgLy8gaWYgZ3B1QWNjZWxlcmF0aW9uIGlzIHNldCB0byBgdHJ1ZWAgYW5kIHRyYW5zZm9ybSBpcyBzdXBwb3J0ZWQsXG4gIC8vICB3ZSB1c2UgYHRyYW5zbGF0ZTNkYCB0byBhcHBseSB0aGUgcG9zaXRpb24gdG8gdGhlIHBvcHBlciB3ZVxuICAvLyBhdXRvbWF0aWNhbGx5IHVzZSB0aGUgc3VwcG9ydGVkIHByZWZpeGVkIHZlcnNpb24gaWYgbmVlZGVkXG4gIHZhciBwcmVmaXhlZFByb3BlcnR5ID0gZ2V0U3VwcG9ydGVkUHJvcGVydHlOYW1lKCd0cmFuc2Zvcm0nKTtcblxuICAvLyBub3csIGxldCdzIG1ha2UgYSBzdGVwIGJhY2sgYW5kIGxvb2sgYXQgdGhpcyBjb2RlIGNsb3NlbHkgKHd0Zj8pXG4gIC8vIElmIHRoZSBjb250ZW50IG9mIHRoZSBwb3BwZXIgZ3Jvd3Mgb25jZSBpdCdzIGJlZW4gcG9zaXRpb25lZCwgaXRcbiAgLy8gbWF5IGhhcHBlbiB0aGF0IHRoZSBwb3BwZXIgZ2V0cyBtaXNwbGFjZWQgYmVjYXVzZSBvZiB0aGUgbmV3IGNvbnRlbnRcbiAgLy8gb3ZlcmZsb3dpbmcgaXRzIHJlZmVyZW5jZSBlbGVtZW50XG4gIC8vIFRvIGF2b2lkIHRoaXMgcHJvYmxlbSwgd2UgcHJvdmlkZSB0d28gb3B0aW9ucyAoeCBhbmQgeSksIHdoaWNoIGFsbG93XG4gIC8vIHRoZSBjb25zdW1lciB0byBkZWZpbmUgdGhlIG9mZnNldCBvcmlnaW4uXG4gIC8vIElmIHdlIHBvc2l0aW9uIGEgcG9wcGVyIG9uIHRvcCBvZiBhIHJlZmVyZW5jZSBlbGVtZW50LCB3ZSBjYW4gc2V0XG4gIC8vIGB4YCB0byBgdG9wYCB0byBtYWtlIHRoZSBwb3BwZXIgZ3JvdyB0b3dhcmRzIGl0cyB0b3AgaW5zdGVhZCBvZlxuICAvLyBpdHMgYm90dG9tLlxuICB2YXIgbGVmdCA9IHZvaWQgMCxcbiAgICAgIHRvcCA9IHZvaWQgMDtcbiAgaWYgKHNpZGVBID09PSAnYm90dG9tJykge1xuICAgIC8vIHdoZW4gb2Zmc2V0UGFyZW50IGlzIDxodG1sPiB0aGUgcG9zaXRpb25pbmcgaXMgcmVsYXRpdmUgdG8gdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuIChleGNsdWRpbmcgdGhlIHNjcm9sbGJhcilcbiAgICAvLyBhbmQgbm90IHRoZSBib3R0b20gb2YgdGhlIGh0bWwgZWxlbWVudFxuICAgIGlmIChvZmZzZXRQYXJlbnQubm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgICAgdG9wID0gLW9mZnNldFBhcmVudC5jbGllbnRIZWlnaHQgKyBvZmZzZXRzLmJvdHRvbTtcbiAgICB9IGVsc2Uge1xuICAgICAgdG9wID0gLW9mZnNldFBhcmVudFJlY3QuaGVpZ2h0ICsgb2Zmc2V0cy5ib3R0b207XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRvcCA9IG9mZnNldHMudG9wO1xuICB9XG4gIGlmIChzaWRlQiA9PT0gJ3JpZ2h0Jykge1xuICAgIGlmIChvZmZzZXRQYXJlbnQubm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgICAgbGVmdCA9IC1vZmZzZXRQYXJlbnQuY2xpZW50V2lkdGggKyBvZmZzZXRzLnJpZ2h0O1xuICAgIH0gZWxzZSB7XG4gICAgICBsZWZ0ID0gLW9mZnNldFBhcmVudFJlY3Qud2lkdGggKyBvZmZzZXRzLnJpZ2h0O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsZWZ0ID0gb2Zmc2V0cy5sZWZ0O1xuICB9XG4gIGlmIChncHVBY2NlbGVyYXRpb24gJiYgcHJlZml4ZWRQcm9wZXJ0eSkge1xuICAgIHN0eWxlc1twcmVmaXhlZFByb3BlcnR5XSA9ICd0cmFuc2xhdGUzZCgnICsgbGVmdCArICdweCwgJyArIHRvcCArICdweCwgMCknO1xuICAgIHN0eWxlc1tzaWRlQV0gPSAwO1xuICAgIHN0eWxlc1tzaWRlQl0gPSAwO1xuICAgIHN0eWxlcy53aWxsQ2hhbmdlID0gJ3RyYW5zZm9ybSc7XG4gIH0gZWxzZSB7XG4gICAgLy8gb3Rod2VyaXNlLCB3ZSB1c2UgdGhlIHN0YW5kYXJkIGB0b3BgLCBgbGVmdGAsIGBib3R0b21gIGFuZCBgcmlnaHRgIHByb3BlcnRpZXNcbiAgICB2YXIgaW52ZXJ0VG9wID0gc2lkZUEgPT09ICdib3R0b20nID8gLTEgOiAxO1xuICAgIHZhciBpbnZlcnRMZWZ0ID0gc2lkZUIgPT09ICdyaWdodCcgPyAtMSA6IDE7XG4gICAgc3R5bGVzW3NpZGVBXSA9IHRvcCAqIGludmVydFRvcDtcbiAgICBzdHlsZXNbc2lkZUJdID0gbGVmdCAqIGludmVydExlZnQ7XG4gICAgc3R5bGVzLndpbGxDaGFuZ2UgPSBzaWRlQSArICcsICcgKyBzaWRlQjtcbiAgfVxuXG4gIC8vIEF0dHJpYnV0ZXNcbiAgdmFyIGF0dHJpYnV0ZXMgPSB7XG4gICAgJ3gtcGxhY2VtZW50JzogZGF0YS5wbGFjZW1lbnRcbiAgfTtcblxuICAvLyBVcGRhdGUgYGRhdGFgIGF0dHJpYnV0ZXMsIHN0eWxlcyBhbmQgYXJyb3dTdHlsZXNcbiAgZGF0YS5hdHRyaWJ1dGVzID0gX2V4dGVuZHMoe30sIGF0dHJpYnV0ZXMsIGRhdGEuYXR0cmlidXRlcyk7XG4gIGRhdGEuc3R5bGVzID0gX2V4dGVuZHMoe30sIHN0eWxlcywgZGF0YS5zdHlsZXMpO1xuICBkYXRhLmFycm93U3R5bGVzID0gX2V4dGVuZHMoe30sIGRhdGEub2Zmc2V0cy5hcnJvdywgZGF0YS5hcnJvd1N0eWxlcyk7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogSGVscGVyIHVzZWQgdG8ga25vdyBpZiB0aGUgZ2l2ZW4gbW9kaWZpZXIgZGVwZW5kcyBmcm9tIGFub3RoZXIgb25lLjxiciAvPlxuICogSXQgY2hlY2tzIGlmIHRoZSBuZWVkZWQgbW9kaWZpZXIgaXMgbGlzdGVkIGFuZCBlbmFibGVkLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtBcnJheX0gbW9kaWZpZXJzIC0gbGlzdCBvZiBtb2RpZmllcnNcbiAqIEBwYXJhbSB7U3RyaW5nfSByZXF1ZXN0aW5nTmFtZSAtIG5hbWUgb2YgcmVxdWVzdGluZyBtb2RpZmllclxuICogQHBhcmFtIHtTdHJpbmd9IHJlcXVlc3RlZE5hbWUgLSBuYW1lIG9mIHJlcXVlc3RlZCBtb2RpZmllclxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGlzTW9kaWZpZXJSZXF1aXJlZChtb2RpZmllcnMsIHJlcXVlc3RpbmdOYW1lLCByZXF1ZXN0ZWROYW1lKSB7XG4gIHZhciByZXF1ZXN0aW5nID0gZmluZChtb2RpZmllcnMsIGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIG5hbWUgPSBfcmVmLm5hbWU7XG4gICAgcmV0dXJuIG5hbWUgPT09IHJlcXVlc3RpbmdOYW1lO1xuICB9KTtcblxuICB2YXIgaXNSZXF1aXJlZCA9ICEhcmVxdWVzdGluZyAmJiBtb2RpZmllcnMuc29tZShmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICByZXR1cm4gbW9kaWZpZXIubmFtZSA9PT0gcmVxdWVzdGVkTmFtZSAmJiBtb2RpZmllci5lbmFibGVkICYmIG1vZGlmaWVyLm9yZGVyIDwgcmVxdWVzdGluZy5vcmRlcjtcbiAgfSk7XG5cbiAgaWYgKCFpc1JlcXVpcmVkKSB7XG4gICAgdmFyIF9yZXF1ZXN0aW5nID0gJ2AnICsgcmVxdWVzdGluZ05hbWUgKyAnYCc7XG4gICAgdmFyIHJlcXVlc3RlZCA9ICdgJyArIHJlcXVlc3RlZE5hbWUgKyAnYCc7XG4gICAgY29uc29sZS53YXJuKHJlcXVlc3RlZCArICcgbW9kaWZpZXIgaXMgcmVxdWlyZWQgYnkgJyArIF9yZXF1ZXN0aW5nICsgJyBtb2RpZmllciBpbiBvcmRlciB0byB3b3JrLCBiZSBzdXJlIHRvIGluY2x1ZGUgaXQgYmVmb3JlICcgKyBfcmVxdWVzdGluZyArICchJyk7XG4gIH1cbiAgcmV0dXJuIGlzUmVxdWlyZWQ7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBhcnJvdyhkYXRhLCBvcHRpb25zKSB7XG4gIHZhciBfZGF0YSRvZmZzZXRzJGFycm93O1xuXG4gIC8vIGFycm93IGRlcGVuZHMgb24ga2VlcFRvZ2V0aGVyIGluIG9yZGVyIHRvIHdvcmtcbiAgaWYgKCFpc01vZGlmaWVyUmVxdWlyZWQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsICdhcnJvdycsICdrZWVwVG9nZXRoZXInKSkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFyIGFycm93RWxlbWVudCA9IG9wdGlvbnMuZWxlbWVudDtcblxuICAvLyBpZiBhcnJvd0VsZW1lbnQgaXMgYSBzdHJpbmcsIHN1cHBvc2UgaXQncyBhIENTUyBzZWxlY3RvclxuICBpZiAodHlwZW9mIGFycm93RWxlbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICBhcnJvd0VsZW1lbnQgPSBkYXRhLmluc3RhbmNlLnBvcHBlci5xdWVyeVNlbGVjdG9yKGFycm93RWxlbWVudCk7XG5cbiAgICAvLyBpZiBhcnJvd0VsZW1lbnQgaXMgbm90IGZvdW5kLCBkb24ndCBydW4gdGhlIG1vZGlmaWVyXG4gICAgaWYgKCFhcnJvd0VsZW1lbnQpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBpZiB0aGUgYXJyb3dFbGVtZW50IGlzbid0IGEgcXVlcnkgc2VsZWN0b3Igd2UgbXVzdCBjaGVjayB0aGF0IHRoZVxuICAgIC8vIHByb3ZpZGVkIERPTSBub2RlIGlzIGNoaWxkIG9mIGl0cyBwb3BwZXIgbm9kZVxuICAgIGlmICghZGF0YS5pbnN0YW5jZS5wb3BwZXIuY29udGFpbnMoYXJyb3dFbGVtZW50KSkge1xuICAgICAgY29uc29sZS53YXJuKCdXQVJOSU5HOiBgYXJyb3cuZWxlbWVudGAgbXVzdCBiZSBjaGlsZCBvZiBpdHMgcG9wcGVyIGVsZW1lbnQhJyk7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH1cblxuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgdmFyIF9kYXRhJG9mZnNldHMgPSBkYXRhLm9mZnNldHMsXG4gICAgICBwb3BwZXIgPSBfZGF0YSRvZmZzZXRzLnBvcHBlcixcbiAgICAgIHJlZmVyZW5jZSA9IF9kYXRhJG9mZnNldHMucmVmZXJlbmNlO1xuXG4gIHZhciBpc1ZlcnRpY2FsID0gWydsZWZ0JywgJ3JpZ2h0J10uaW5kZXhPZihwbGFjZW1lbnQpICE9PSAtMTtcblxuICB2YXIgbGVuID0gaXNWZXJ0aWNhbCA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbiAgdmFyIHNpZGVDYXBpdGFsaXplZCA9IGlzVmVydGljYWwgPyAnVG9wJyA6ICdMZWZ0JztcbiAgdmFyIHNpZGUgPSBzaWRlQ2FwaXRhbGl6ZWQudG9Mb3dlckNhc2UoKTtcbiAgdmFyIGFsdFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gIHZhciBvcFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2JvdHRvbScgOiAncmlnaHQnO1xuICB2YXIgYXJyb3dFbGVtZW50U2l6ZSA9IGdldE91dGVyU2l6ZXMoYXJyb3dFbGVtZW50KVtsZW5dO1xuXG4gIC8vXG4gIC8vIGV4dGVuZHMga2VlcFRvZ2V0aGVyIGJlaGF2aW9yIG1ha2luZyBzdXJlIHRoZSBwb3BwZXIgYW5kIGl0c1xuICAvLyByZWZlcmVuY2UgaGF2ZSBlbm91Z2ggcGl4ZWxzIGluIGNvbmp1bmN0aW9uXG4gIC8vXG5cbiAgLy8gdG9wL2xlZnQgc2lkZVxuICBpZiAocmVmZXJlbmNlW29wU2lkZV0gLSBhcnJvd0VsZW1lbnRTaXplIDwgcG9wcGVyW3NpZGVdKSB7XG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlcltzaWRlXSAtPSBwb3BwZXJbc2lkZV0gLSAocmVmZXJlbmNlW29wU2lkZV0gLSBhcnJvd0VsZW1lbnRTaXplKTtcbiAgfVxuICAvLyBib3R0b20vcmlnaHQgc2lkZVxuICBpZiAocmVmZXJlbmNlW3NpZGVdICsgYXJyb3dFbGVtZW50U2l6ZSA+IHBvcHBlcltvcFNpZGVdKSB7XG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlcltzaWRlXSArPSByZWZlcmVuY2Vbc2lkZV0gKyBhcnJvd0VsZW1lbnRTaXplIC0gcG9wcGVyW29wU2lkZV07XG4gIH1cbiAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IGdldENsaWVudFJlY3QoZGF0YS5vZmZzZXRzLnBvcHBlcik7XG5cbiAgLy8gY29tcHV0ZSBjZW50ZXIgb2YgdGhlIHBvcHBlclxuICB2YXIgY2VudGVyID0gcmVmZXJlbmNlW3NpZGVdICsgcmVmZXJlbmNlW2xlbl0gLyAyIC0gYXJyb3dFbGVtZW50U2l6ZSAvIDI7XG5cbiAgLy8gQ29tcHV0ZSB0aGUgc2lkZVZhbHVlIHVzaW5nIHRoZSB1cGRhdGVkIHBvcHBlciBvZmZzZXRzXG4gIC8vIHRha2UgcG9wcGVyIG1hcmdpbiBpbiBhY2NvdW50IGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSB0aGlzIGluZm8gYXZhaWxhYmxlXG4gIHZhciBjc3MgPSBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkoZGF0YS5pbnN0YW5jZS5wb3BwZXIpO1xuICB2YXIgcG9wcGVyTWFyZ2luU2lkZSA9IHBhcnNlRmxvYXQoY3NzWydtYXJnaW4nICsgc2lkZUNhcGl0YWxpemVkXSwgMTApO1xuICB2YXIgcG9wcGVyQm9yZGVyU2lkZSA9IHBhcnNlRmxvYXQoY3NzWydib3JkZXInICsgc2lkZUNhcGl0YWxpemVkICsgJ1dpZHRoJ10sIDEwKTtcbiAgdmFyIHNpZGVWYWx1ZSA9IGNlbnRlciAtIGRhdGEub2Zmc2V0cy5wb3BwZXJbc2lkZV0gLSBwb3BwZXJNYXJnaW5TaWRlIC0gcG9wcGVyQm9yZGVyU2lkZTtcblxuICAvLyBwcmV2ZW50IGFycm93RWxlbWVudCBmcm9tIGJlaW5nIHBsYWNlZCBub3QgY29udGlndW91c2x5IHRvIGl0cyBwb3BwZXJcbiAgc2lkZVZhbHVlID0gTWF0aC5tYXgoTWF0aC5taW4ocG9wcGVyW2xlbl0gLSBhcnJvd0VsZW1lbnRTaXplLCBzaWRlVmFsdWUpLCAwKTtcblxuICBkYXRhLmFycm93RWxlbWVudCA9IGFycm93RWxlbWVudDtcbiAgZGF0YS5vZmZzZXRzLmFycm93ID0gKF9kYXRhJG9mZnNldHMkYXJyb3cgPSB7fSwgZGVmaW5lUHJvcGVydHkoX2RhdGEkb2Zmc2V0cyRhcnJvdywgc2lkZSwgTWF0aC5yb3VuZChzaWRlVmFsdWUpKSwgZGVmaW5lUHJvcGVydHkoX2RhdGEkb2Zmc2V0cyRhcnJvdywgYWx0U2lkZSwgJycpLCBfZGF0YSRvZmZzZXRzJGFycm93KTtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIG9wcG9zaXRlIHBsYWNlbWVudCB2YXJpYXRpb24gb2YgdGhlIGdpdmVuIG9uZVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtTdHJpbmd9IHBsYWNlbWVudCB2YXJpYXRpb25cbiAqIEByZXR1cm5zIHtTdHJpbmd9IGZsaXBwZWQgcGxhY2VtZW50IHZhcmlhdGlvblxuICovXG5mdW5jdGlvbiBnZXRPcHBvc2l0ZVZhcmlhdGlvbih2YXJpYXRpb24pIHtcbiAgaWYgKHZhcmlhdGlvbiA9PT0gJ2VuZCcpIHtcbiAgICByZXR1cm4gJ3N0YXJ0JztcbiAgfSBlbHNlIGlmICh2YXJpYXRpb24gPT09ICdzdGFydCcpIHtcbiAgICByZXR1cm4gJ2VuZCc7XG4gIH1cbiAgcmV0dXJuIHZhcmlhdGlvbjtcbn1cblxuLyoqXG4gKiBMaXN0IG9mIGFjY2VwdGVkIHBsYWNlbWVudHMgdG8gdXNlIGFzIHZhbHVlcyBvZiB0aGUgYHBsYWNlbWVudGAgb3B0aW9uLjxiciAvPlxuICogVmFsaWQgcGxhY2VtZW50cyBhcmU6XG4gKiAtIGBhdXRvYFxuICogLSBgdG9wYFxuICogLSBgcmlnaHRgXG4gKiAtIGBib3R0b21gXG4gKiAtIGBsZWZ0YFxuICpcbiAqIEVhY2ggcGxhY2VtZW50IGNhbiBoYXZlIGEgdmFyaWF0aW9uIGZyb20gdGhpcyBsaXN0OlxuICogLSBgLXN0YXJ0YFxuICogLSBgLWVuZGBcbiAqXG4gKiBWYXJpYXRpb25zIGFyZSBpbnRlcnByZXRlZCBlYXNpbHkgaWYgeW91IHRoaW5rIG9mIHRoZW0gYXMgdGhlIGxlZnQgdG8gcmlnaHRcbiAqIHdyaXR0ZW4gbGFuZ3VhZ2VzLiBIb3Jpem9udGFsbHkgKGB0b3BgIGFuZCBgYm90dG9tYCksIGBzdGFydGAgaXMgbGVmdCBhbmQgYGVuZGBcbiAqIGlzIHJpZ2h0LjxiciAvPlxuICogVmVydGljYWxseSAoYGxlZnRgIGFuZCBgcmlnaHRgKSwgYHN0YXJ0YCBpcyB0b3AgYW5kIGBlbmRgIGlzIGJvdHRvbS5cbiAqXG4gKiBTb21lIHZhbGlkIGV4YW1wbGVzIGFyZTpcbiAqIC0gYHRvcC1lbmRgIChvbiB0b3Agb2YgcmVmZXJlbmNlLCByaWdodCBhbGlnbmVkKVxuICogLSBgcmlnaHQtc3RhcnRgIChvbiByaWdodCBvZiByZWZlcmVuY2UsIHRvcCBhbGlnbmVkKVxuICogLSBgYm90dG9tYCAob24gYm90dG9tLCBjZW50ZXJlZClcbiAqIC0gYGF1dG8tZW5kYCAob24gdGhlIHNpZGUgd2l0aCBtb3JlIHNwYWNlIGF2YWlsYWJsZSwgYWxpZ25tZW50IGRlcGVuZHMgYnkgcGxhY2VtZW50KVxuICpcbiAqIEBzdGF0aWNcbiAqIEB0eXBlIHtBcnJheX1cbiAqIEBlbnVtIHtTdHJpbmd9XG4gKiBAcmVhZG9ubHlcbiAqIEBtZXRob2QgcGxhY2VtZW50c1xuICogQG1lbWJlcm9mIFBvcHBlclxuICovXG52YXIgcGxhY2VtZW50cyA9IFsnYXV0by1zdGFydCcsICdhdXRvJywgJ2F1dG8tZW5kJywgJ3RvcC1zdGFydCcsICd0b3AnLCAndG9wLWVuZCcsICdyaWdodC1zdGFydCcsICdyaWdodCcsICdyaWdodC1lbmQnLCAnYm90dG9tLWVuZCcsICdib3R0b20nLCAnYm90dG9tLXN0YXJ0JywgJ2xlZnQtZW5kJywgJ2xlZnQnLCAnbGVmdC1zdGFydCddO1xuXG4vLyBHZXQgcmlkIG9mIGBhdXRvYCBgYXV0by1zdGFydGAgYW5kIGBhdXRvLWVuZGBcbnZhciB2YWxpZFBsYWNlbWVudHMgPSBwbGFjZW1lbnRzLnNsaWNlKDMpO1xuXG4vKipcbiAqIEdpdmVuIGFuIGluaXRpYWwgcGxhY2VtZW50LCByZXR1cm5zIGFsbCB0aGUgc3Vic2VxdWVudCBwbGFjZW1lbnRzXG4gKiBjbG9ja3dpc2UgKG9yIGNvdW50ZXItY2xvY2t3aXNlKS5cbiAqXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge1N0cmluZ30gcGxhY2VtZW50IC0gQSB2YWxpZCBwbGFjZW1lbnQgKGl0IGFjY2VwdHMgdmFyaWF0aW9ucylcbiAqIEBhcmd1bWVudCB7Qm9vbGVhbn0gY291bnRlciAtIFNldCB0byB0cnVlIHRvIHdhbGsgdGhlIHBsYWNlbWVudHMgY291bnRlcmNsb2Nrd2lzZVxuICogQHJldHVybnMge0FycmF5fSBwbGFjZW1lbnRzIGluY2x1ZGluZyB0aGVpciB2YXJpYXRpb25zXG4gKi9cbmZ1bmN0aW9uIGNsb2Nrd2lzZShwbGFjZW1lbnQpIHtcbiAgdmFyIGNvdW50ZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuXG4gIHZhciBpbmRleCA9IHZhbGlkUGxhY2VtZW50cy5pbmRleE9mKHBsYWNlbWVudCk7XG4gIHZhciBhcnIgPSB2YWxpZFBsYWNlbWVudHMuc2xpY2UoaW5kZXggKyAxKS5jb25jYXQodmFsaWRQbGFjZW1lbnRzLnNsaWNlKDAsIGluZGV4KSk7XG4gIHJldHVybiBjb3VudGVyID8gYXJyLnJldmVyc2UoKSA6IGFycjtcbn1cblxudmFyIEJFSEFWSU9SUyA9IHtcbiAgRkxJUDogJ2ZsaXAnLFxuICBDTE9DS1dJU0U6ICdjbG9ja3dpc2UnLFxuICBDT1VOVEVSQ0xPQ0tXSVNFOiAnY291bnRlcmNsb2Nrd2lzZSdcbn07XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBmbGlwKGRhdGEsIG9wdGlvbnMpIHtcbiAgLy8gaWYgYGlubmVyYCBtb2RpZmllciBpcyBlbmFibGVkLCB3ZSBjYW4ndCB1c2UgdGhlIGBmbGlwYCBtb2RpZmllclxuICBpZiAoaXNNb2RpZmllckVuYWJsZWQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsICdpbm5lcicpKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBpZiAoZGF0YS5mbGlwcGVkICYmIGRhdGEucGxhY2VtZW50ID09PSBkYXRhLm9yaWdpbmFsUGxhY2VtZW50KSB7XG4gICAgLy8gc2VlbXMgbGlrZSBmbGlwIGlzIHRyeWluZyB0byBsb29wLCBwcm9iYWJseSB0aGVyZSdzIG5vdCBlbm91Z2ggc3BhY2Ugb24gYW55IG9mIHRoZSBmbGlwcGFibGUgc2lkZXNcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHZhciBib3VuZGFyaWVzID0gZ2V0Qm91bmRhcmllcyhkYXRhLmluc3RhbmNlLnBvcHBlciwgZGF0YS5pbnN0YW5jZS5yZWZlcmVuY2UsIG9wdGlvbnMucGFkZGluZywgb3B0aW9ucy5ib3VuZGFyaWVzRWxlbWVudCwgZGF0YS5wb3NpdGlvbkZpeGVkKTtcblxuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgdmFyIHBsYWNlbWVudE9wcG9zaXRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KTtcbiAgdmFyIHZhcmlhdGlvbiA9IGRhdGEucGxhY2VtZW50LnNwbGl0KCctJylbMV0gfHwgJyc7XG5cbiAgdmFyIGZsaXBPcmRlciA9IFtdO1xuXG4gIHN3aXRjaCAob3B0aW9ucy5iZWhhdmlvcikge1xuICAgIGNhc2UgQkVIQVZJT1JTLkZMSVA6XG4gICAgICBmbGlwT3JkZXIgPSBbcGxhY2VtZW50LCBwbGFjZW1lbnRPcHBvc2l0ZV07XG4gICAgICBicmVhaztcbiAgICBjYXNlIEJFSEFWSU9SUy5DTE9DS1dJU0U6XG4gICAgICBmbGlwT3JkZXIgPSBjbG9ja3dpc2UocGxhY2VtZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQkVIQVZJT1JTLkNPVU5URVJDTE9DS1dJU0U6XG4gICAgICBmbGlwT3JkZXIgPSBjbG9ja3dpc2UocGxhY2VtZW50LCB0cnVlKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBmbGlwT3JkZXIgPSBvcHRpb25zLmJlaGF2aW9yO1xuICB9XG5cbiAgZmxpcE9yZGVyLmZvckVhY2goZnVuY3Rpb24gKHN0ZXAsIGluZGV4KSB7XG4gICAgaWYgKHBsYWNlbWVudCAhPT0gc3RlcCB8fCBmbGlwT3JkZXIubGVuZ3RoID09PSBpbmRleCArIDEpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gICAgcGxhY2VtZW50T3Bwb3NpdGUgPSBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpO1xuXG4gICAgdmFyIHBvcHBlck9mZnNldHMgPSBkYXRhLm9mZnNldHMucG9wcGVyO1xuICAgIHZhciByZWZPZmZzZXRzID0gZGF0YS5vZmZzZXRzLnJlZmVyZW5jZTtcblxuICAgIC8vIHVzaW5nIGZsb29yIGJlY2F1c2UgdGhlIHJlZmVyZW5jZSBvZmZzZXRzIG1heSBjb250YWluIGRlY2ltYWxzIHdlIGFyZSBub3QgZ29pbmcgdG8gY29uc2lkZXIgaGVyZVxuICAgIHZhciBmbG9vciA9IE1hdGguZmxvb3I7XG4gICAgdmFyIG92ZXJsYXBzUmVmID0gcGxhY2VtZW50ID09PSAnbGVmdCcgJiYgZmxvb3IocG9wcGVyT2Zmc2V0cy5yaWdodCkgPiBmbG9vcihyZWZPZmZzZXRzLmxlZnQpIHx8IHBsYWNlbWVudCA9PT0gJ3JpZ2h0JyAmJiBmbG9vcihwb3BwZXJPZmZzZXRzLmxlZnQpIDwgZmxvb3IocmVmT2Zmc2V0cy5yaWdodCkgfHwgcGxhY2VtZW50ID09PSAndG9wJyAmJiBmbG9vcihwb3BwZXJPZmZzZXRzLmJvdHRvbSkgPiBmbG9vcihyZWZPZmZzZXRzLnRvcCkgfHwgcGxhY2VtZW50ID09PSAnYm90dG9tJyAmJiBmbG9vcihwb3BwZXJPZmZzZXRzLnRvcCkgPCBmbG9vcihyZWZPZmZzZXRzLmJvdHRvbSk7XG5cbiAgICB2YXIgb3ZlcmZsb3dzTGVmdCA9IGZsb29yKHBvcHBlck9mZnNldHMubGVmdCkgPCBmbG9vcihib3VuZGFyaWVzLmxlZnQpO1xuICAgIHZhciBvdmVyZmxvd3NSaWdodCA9IGZsb29yKHBvcHBlck9mZnNldHMucmlnaHQpID4gZmxvb3IoYm91bmRhcmllcy5yaWdodCk7XG4gICAgdmFyIG92ZXJmbG93c1RvcCA9IGZsb29yKHBvcHBlck9mZnNldHMudG9wKSA8IGZsb29yKGJvdW5kYXJpZXMudG9wKTtcbiAgICB2YXIgb3ZlcmZsb3dzQm90dG9tID0gZmxvb3IocG9wcGVyT2Zmc2V0cy5ib3R0b20pID4gZmxvb3IoYm91bmRhcmllcy5ib3R0b20pO1xuXG4gICAgdmFyIG92ZXJmbG93c0JvdW5kYXJpZXMgPSBwbGFjZW1lbnQgPT09ICdsZWZ0JyAmJiBvdmVyZmxvd3NMZWZ0IHx8IHBsYWNlbWVudCA9PT0gJ3JpZ2h0JyAmJiBvdmVyZmxvd3NSaWdodCB8fCBwbGFjZW1lbnQgPT09ICd0b3AnICYmIG92ZXJmbG93c1RvcCB8fCBwbGFjZW1lbnQgPT09ICdib3R0b20nICYmIG92ZXJmbG93c0JvdHRvbTtcblxuICAgIC8vIGZsaXAgdGhlIHZhcmlhdGlvbiBpZiByZXF1aXJlZFxuICAgIHZhciBpc1ZlcnRpY2FsID0gWyd0b3AnLCAnYm90dG9tJ10uaW5kZXhPZihwbGFjZW1lbnQpICE9PSAtMTtcblxuICAgIC8vIGZsaXBzIHZhcmlhdGlvbiBpZiByZWZlcmVuY2UgZWxlbWVudCBvdmVyZmxvd3MgYm91bmRhcmllc1xuICAgIHZhciBmbGlwcGVkVmFyaWF0aW9uQnlSZWYgPSAhIW9wdGlvbnMuZmxpcFZhcmlhdGlvbnMgJiYgKGlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnc3RhcnQnICYmIG92ZXJmbG93c0xlZnQgfHwgaXNWZXJ0aWNhbCAmJiB2YXJpYXRpb24gPT09ICdlbmQnICYmIG92ZXJmbG93c1JpZ2h0IHx8ICFpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ3N0YXJ0JyAmJiBvdmVyZmxvd3NUb3AgfHwgIWlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnZW5kJyAmJiBvdmVyZmxvd3NCb3R0b20pO1xuXG4gICAgLy8gZmxpcHMgdmFyaWF0aW9uIGlmIHBvcHBlciBjb250ZW50IG92ZXJmbG93cyBib3VuZGFyaWVzXG4gICAgdmFyIGZsaXBwZWRWYXJpYXRpb25CeUNvbnRlbnQgPSAhIW9wdGlvbnMuZmxpcFZhcmlhdGlvbnNCeUNvbnRlbnQgJiYgKGlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnc3RhcnQnICYmIG92ZXJmbG93c1JpZ2h0IHx8IGlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnZW5kJyAmJiBvdmVyZmxvd3NMZWZ0IHx8ICFpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ3N0YXJ0JyAmJiBvdmVyZmxvd3NCb3R0b20gfHwgIWlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnZW5kJyAmJiBvdmVyZmxvd3NUb3ApO1xuXG4gICAgdmFyIGZsaXBwZWRWYXJpYXRpb24gPSBmbGlwcGVkVmFyaWF0aW9uQnlSZWYgfHwgZmxpcHBlZFZhcmlhdGlvbkJ5Q29udGVudDtcblxuICAgIGlmIChvdmVybGFwc1JlZiB8fCBvdmVyZmxvd3NCb3VuZGFyaWVzIHx8IGZsaXBwZWRWYXJpYXRpb24pIHtcbiAgICAgIC8vIHRoaXMgYm9vbGVhbiB0byBkZXRlY3QgYW55IGZsaXAgbG9vcFxuICAgICAgZGF0YS5mbGlwcGVkID0gdHJ1ZTtcblxuICAgICAgaWYgKG92ZXJsYXBzUmVmIHx8IG92ZXJmbG93c0JvdW5kYXJpZXMpIHtcbiAgICAgICAgcGxhY2VtZW50ID0gZmxpcE9yZGVyW2luZGV4ICsgMV07XG4gICAgICB9XG5cbiAgICAgIGlmIChmbGlwcGVkVmFyaWF0aW9uKSB7XG4gICAgICAgIHZhcmlhdGlvbiA9IGdldE9wcG9zaXRlVmFyaWF0aW9uKHZhcmlhdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGRhdGEucGxhY2VtZW50ID0gcGxhY2VtZW50ICsgKHZhcmlhdGlvbiA/ICctJyArIHZhcmlhdGlvbiA6ICcnKTtcblxuICAgICAgLy8gdGhpcyBvYmplY3QgY29udGFpbnMgYHBvc2l0aW9uYCwgd2Ugd2FudCB0byBwcmVzZXJ2ZSBpdCBhbG9uZyB3aXRoXG4gICAgICAvLyBhbnkgYWRkaXRpb25hbCBwcm9wZXJ0eSB3ZSBtYXkgYWRkIGluIHRoZSBmdXR1cmVcbiAgICAgIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBfZXh0ZW5kcyh7fSwgZGF0YS5vZmZzZXRzLnBvcHBlciwgZ2V0UG9wcGVyT2Zmc2V0cyhkYXRhLmluc3RhbmNlLnBvcHBlciwgZGF0YS5vZmZzZXRzLnJlZmVyZW5jZSwgZGF0YS5wbGFjZW1lbnQpKTtcblxuICAgICAgZGF0YSA9IHJ1bk1vZGlmaWVycyhkYXRhLmluc3RhbmNlLm1vZGlmaWVycywgZGF0YSwgJ2ZsaXAnKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSB1cGRhdGUgbWV0aG9kXG4gKiBAYXJndW1lbnQge09iamVjdH0gb3B0aW9ucyAtIE1vZGlmaWVycyBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cbmZ1bmN0aW9uIGtlZXBUb2dldGhlcihkYXRhKSB7XG4gIHZhciBfZGF0YSRvZmZzZXRzID0gZGF0YS5vZmZzZXRzLFxuICAgICAgcG9wcGVyID0gX2RhdGEkb2Zmc2V0cy5wb3BwZXIsXG4gICAgICByZWZlcmVuY2UgPSBfZGF0YSRvZmZzZXRzLnJlZmVyZW5jZTtcblxuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgdmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbiAgdmFyIGlzVmVydGljYWwgPSBbJ3RvcCcsICdib3R0b20nXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xO1xuICB2YXIgc2lkZSA9IGlzVmVydGljYWwgPyAncmlnaHQnIDogJ2JvdHRvbSc7XG4gIHZhciBvcFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gIHZhciBtZWFzdXJlbWVudCA9IGlzVmVydGljYWwgPyAnd2lkdGgnIDogJ2hlaWdodCc7XG5cbiAgaWYgKHBvcHBlcltzaWRlXSA8IGZsb29yKHJlZmVyZW5jZVtvcFNpZGVdKSkge1xuICAgIGRhdGEub2Zmc2V0cy5wb3BwZXJbb3BTaWRlXSA9IGZsb29yKHJlZmVyZW5jZVtvcFNpZGVdKSAtIHBvcHBlclttZWFzdXJlbWVudF07XG4gIH1cbiAgaWYgKHBvcHBlcltvcFNpZGVdID4gZmxvb3IocmVmZXJlbmNlW3NpZGVdKSkge1xuICAgIGRhdGEub2Zmc2V0cy5wb3BwZXJbb3BTaWRlXSA9IGZsb29yKHJlZmVyZW5jZVtzaWRlXSk7XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyBjb250YWluaW5nIHZhbHVlICsgdW5pdCBpbnRvIGEgcHggdmFsdWUgbnVtYmVyXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiB7bW9kaWZpZXJzfm9mZnNldH1cbiAqIEBwcml2YXRlXG4gKiBAYXJndW1lbnQge1N0cmluZ30gc3RyIC0gVmFsdWUgKyB1bml0IHN0cmluZ1xuICogQGFyZ3VtZW50IHtTdHJpbmd9IG1lYXN1cmVtZW50IC0gYGhlaWdodGAgb3IgYHdpZHRoYFxuICogQGFyZ3VtZW50IHtPYmplY3R9IHBvcHBlck9mZnNldHNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSByZWZlcmVuY2VPZmZzZXRzXG4gKiBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ31cbiAqIFZhbHVlIGluIHBpeGVscywgb3Igb3JpZ2luYWwgc3RyaW5nIGlmIG5vIHZhbHVlcyB3ZXJlIGV4dHJhY3RlZFxuICovXG5mdW5jdGlvbiB0b1ZhbHVlKHN0ciwgbWVhc3VyZW1lbnQsIHBvcHBlck9mZnNldHMsIHJlZmVyZW5jZU9mZnNldHMpIHtcbiAgLy8gc2VwYXJhdGUgdmFsdWUgZnJvbSB1bml0XG4gIHZhciBzcGxpdCA9IHN0ci5tYXRjaCgvKCg/OlxcLXxcXCspP1xcZCpcXC4/XFxkKikoLiopLyk7XG4gIHZhciB2YWx1ZSA9ICtzcGxpdFsxXTtcbiAgdmFyIHVuaXQgPSBzcGxpdFsyXTtcblxuICAvLyBJZiBpdCdzIG5vdCBhIG51bWJlciBpdCdzIGFuIG9wZXJhdG9yLCBJIGd1ZXNzXG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gc3RyO1xuICB9XG5cbiAgaWYgKHVuaXQuaW5kZXhPZignJScpID09PSAwKSB7XG4gICAgdmFyIGVsZW1lbnQgPSB2b2lkIDA7XG4gICAgc3dpdGNoICh1bml0KSB7XG4gICAgICBjYXNlICclcCc6XG4gICAgICAgIGVsZW1lbnQgPSBwb3BwZXJPZmZzZXRzO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJyUnOlxuICAgICAgY2FzZSAnJXInOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgZWxlbWVudCA9IHJlZmVyZW5jZU9mZnNldHM7XG4gICAgfVxuXG4gICAgdmFyIHJlY3QgPSBnZXRDbGllbnRSZWN0KGVsZW1lbnQpO1xuICAgIHJldHVybiByZWN0W21lYXN1cmVtZW50XSAvIDEwMCAqIHZhbHVlO1xuICB9IGVsc2UgaWYgKHVuaXQgPT09ICd2aCcgfHwgdW5pdCA9PT0gJ3Z3Jykge1xuICAgIC8vIGlmIGlzIGEgdmggb3IgdncsIHdlIGNhbGN1bGF0ZSB0aGUgc2l6ZSBiYXNlZCBvbiB0aGUgdmlld3BvcnRcbiAgICB2YXIgc2l6ZSA9IHZvaWQgMDtcbiAgICBpZiAodW5pdCA9PT0gJ3ZoJykge1xuICAgICAgc2l6ZSA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdodCB8fCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2l6ZSA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCwgd2luZG93LmlubmVyV2lkdGggfHwgMCk7XG4gICAgfVxuICAgIHJldHVybiBzaXplIC8gMTAwICogdmFsdWU7XG4gIH0gZWxzZSB7XG4gICAgLy8gaWYgaXMgYW4gZXhwbGljaXQgcGl4ZWwgdW5pdCwgd2UgZ2V0IHJpZCBvZiB0aGUgdW5pdCBhbmQga2VlcCB0aGUgdmFsdWVcbiAgICAvLyBpZiBpcyBhbiBpbXBsaWNpdCB1bml0LCBpdCdzIHB4LCBhbmQgd2UgcmV0dXJuIGp1c3QgdGhlIHZhbHVlXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogUGFyc2UgYW4gYG9mZnNldGAgc3RyaW5nIHRvIGV4dHJhcG9sYXRlIGB4YCBhbmQgYHlgIG51bWVyaWMgb2Zmc2V0cy5cbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIHttb2RpZmllcnN+b2Zmc2V0fVxuICogQHByaXZhdGVcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBvZmZzZXRcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBwb3BwZXJPZmZzZXRzXG4gKiBAYXJndW1lbnQge09iamVjdH0gcmVmZXJlbmNlT2Zmc2V0c1xuICogQGFyZ3VtZW50IHtTdHJpbmd9IGJhc2VQbGFjZW1lbnRcbiAqIEByZXR1cm5zIHtBcnJheX0gYSB0d28gY2VsbHMgYXJyYXkgd2l0aCB4IGFuZCB5IG9mZnNldHMgaW4gbnVtYmVyc1xuICovXG5mdW5jdGlvbiBwYXJzZU9mZnNldChvZmZzZXQsIHBvcHBlck9mZnNldHMsIHJlZmVyZW5jZU9mZnNldHMsIGJhc2VQbGFjZW1lbnQpIHtcbiAgdmFyIG9mZnNldHMgPSBbMCwgMF07XG5cbiAgLy8gVXNlIGhlaWdodCBpZiBwbGFjZW1lbnQgaXMgbGVmdCBvciByaWdodCBhbmQgaW5kZXggaXMgMCBvdGhlcndpc2UgdXNlIHdpZHRoXG4gIC8vIGluIHRoaXMgd2F5IHRoZSBmaXJzdCBvZmZzZXQgd2lsbCB1c2UgYW4gYXhpcyBhbmQgdGhlIHNlY29uZCBvbmVcbiAgLy8gd2lsbCB1c2UgdGhlIG90aGVyIG9uZVxuICB2YXIgdXNlSGVpZ2h0ID0gWydyaWdodCcsICdsZWZ0J10uaW5kZXhPZihiYXNlUGxhY2VtZW50KSAhPT0gLTE7XG5cbiAgLy8gU3BsaXQgdGhlIG9mZnNldCBzdHJpbmcgdG8gb2J0YWluIGEgbGlzdCBvZiB2YWx1ZXMgYW5kIG9wZXJhbmRzXG4gIC8vIFRoZSByZWdleCBhZGRyZXNzZXMgdmFsdWVzIHdpdGggdGhlIHBsdXMgb3IgbWludXMgc2lnbiBpbiBmcm9udCAoKzEwLCAtMjAsIGV0YylcbiAgdmFyIGZyYWdtZW50cyA9IG9mZnNldC5zcGxpdCgvKFxcK3xcXC0pLykubWFwKGZ1bmN0aW9uIChmcmFnKSB7XG4gICAgcmV0dXJuIGZyYWcudHJpbSgpO1xuICB9KTtcblxuICAvLyBEZXRlY3QgaWYgdGhlIG9mZnNldCBzdHJpbmcgY29udGFpbnMgYSBwYWlyIG9mIHZhbHVlcyBvciBhIHNpbmdsZSBvbmVcbiAgLy8gdGhleSBjb3VsZCBiZSBzZXBhcmF0ZWQgYnkgY29tbWEgb3Igc3BhY2VcbiAgdmFyIGRpdmlkZXIgPSBmcmFnbWVudHMuaW5kZXhPZihmaW5kKGZyYWdtZW50cywgZnVuY3Rpb24gKGZyYWcpIHtcbiAgICByZXR1cm4gZnJhZy5zZWFyY2goLyx8XFxzLykgIT09IC0xO1xuICB9KSk7XG5cbiAgaWYgKGZyYWdtZW50c1tkaXZpZGVyXSAmJiBmcmFnbWVudHNbZGl2aWRlcl0uaW5kZXhPZignLCcpID09PSAtMSkge1xuICAgIGNvbnNvbGUud2FybignT2Zmc2V0cyBzZXBhcmF0ZWQgYnkgd2hpdGUgc3BhY2UocykgYXJlIGRlcHJlY2F0ZWQsIHVzZSBhIGNvbW1hICgsKSBpbnN0ZWFkLicpO1xuICB9XG5cbiAgLy8gSWYgZGl2aWRlciBpcyBmb3VuZCwgd2UgZGl2aWRlIHRoZSBsaXN0IG9mIHZhbHVlcyBhbmQgb3BlcmFuZHMgdG8gZGl2aWRlXG4gIC8vIHRoZW0gYnkgb2ZzZXQgWCBhbmQgWS5cbiAgdmFyIHNwbGl0UmVnZXggPSAvXFxzKixcXHMqfFxccysvO1xuICB2YXIgb3BzID0gZGl2aWRlciAhPT0gLTEgPyBbZnJhZ21lbnRzLnNsaWNlKDAsIGRpdmlkZXIpLmNvbmNhdChbZnJhZ21lbnRzW2RpdmlkZXJdLnNwbGl0KHNwbGl0UmVnZXgpWzBdXSksIFtmcmFnbWVudHNbZGl2aWRlcl0uc3BsaXQoc3BsaXRSZWdleClbMV1dLmNvbmNhdChmcmFnbWVudHMuc2xpY2UoZGl2aWRlciArIDEpKV0gOiBbZnJhZ21lbnRzXTtcblxuICAvLyBDb252ZXJ0IHRoZSB2YWx1ZXMgd2l0aCB1bml0cyB0byBhYnNvbHV0ZSBwaXhlbHMgdG8gYWxsb3cgb3VyIGNvbXB1dGF0aW9uc1xuICBvcHMgPSBvcHMubWFwKGZ1bmN0aW9uIChvcCwgaW5kZXgpIHtcbiAgICAvLyBNb3N0IG9mIHRoZSB1bml0cyByZWx5IG9uIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgcG9wcGVyXG4gICAgdmFyIG1lYXN1cmVtZW50ID0gKGluZGV4ID09PSAxID8gIXVzZUhlaWdodCA6IHVzZUhlaWdodCkgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG4gICAgdmFyIG1lcmdlV2l0aFByZXZpb3VzID0gZmFsc2U7XG4gICAgcmV0dXJuIG9wXG4gICAgLy8gVGhpcyBhZ2dyZWdhdGVzIGFueSBgK2Agb3IgYC1gIHNpZ24gdGhhdCBhcmVuJ3QgY29uc2lkZXJlZCBvcGVyYXRvcnNcbiAgICAvLyBlLmcuOiAxMCArICs1ID0+IFsxMCwgKywgKzVdXG4gICAgLnJlZHVjZShmdW5jdGlvbiAoYSwgYikge1xuICAgICAgaWYgKGFbYS5sZW5ndGggLSAxXSA9PT0gJycgJiYgWycrJywgJy0nXS5pbmRleE9mKGIpICE9PSAtMSkge1xuICAgICAgICBhW2EubGVuZ3RoIC0gMV0gPSBiO1xuICAgICAgICBtZXJnZVdpdGhQcmV2aW91cyA9IHRydWU7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfSBlbHNlIGlmIChtZXJnZVdpdGhQcmV2aW91cykge1xuICAgICAgICBhW2EubGVuZ3RoIC0gMV0gKz0gYjtcbiAgICAgICAgbWVyZ2VXaXRoUHJldmlvdXMgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYS5jb25jYXQoYik7XG4gICAgICB9XG4gICAgfSwgW10pXG4gICAgLy8gSGVyZSB3ZSBjb252ZXJ0IHRoZSBzdHJpbmcgdmFsdWVzIGludG8gbnVtYmVyIHZhbHVlcyAoaW4gcHgpXG4gICAgLm1hcChmdW5jdGlvbiAoc3RyKSB7XG4gICAgICByZXR1cm4gdG9WYWx1ZShzdHIsIG1lYXN1cmVtZW50LCBwb3BwZXJPZmZzZXRzLCByZWZlcmVuY2VPZmZzZXRzKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gTG9vcCB0cm91Z2ggdGhlIG9mZnNldHMgYXJyYXlzIGFuZCBleGVjdXRlIHRoZSBvcGVyYXRpb25zXG4gIG9wcy5mb3JFYWNoKGZ1bmN0aW9uIChvcCwgaW5kZXgpIHtcbiAgICBvcC5mb3JFYWNoKGZ1bmN0aW9uIChmcmFnLCBpbmRleDIpIHtcbiAgICAgIGlmIChpc051bWVyaWMoZnJhZykpIHtcbiAgICAgICAgb2Zmc2V0c1tpbmRleF0gKz0gZnJhZyAqIChvcFtpbmRleDIgLSAxXSA9PT0gJy0nID8gLTEgOiAxKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBvZmZzZXRzO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIE1vZGlmaWVyc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IHVwZGF0ZSBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEBhcmd1bWVudCB7TnVtYmVyfFN0cmluZ30gb3B0aW9ucy5vZmZzZXQ9MFxuICogVGhlIG9mZnNldCB2YWx1ZSBhcyBkZXNjcmliZWQgaW4gdGhlIG1vZGlmaWVyIGRlc2NyaXB0aW9uXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cbmZ1bmN0aW9uIG9mZnNldChkYXRhLCBfcmVmKSB7XG4gIHZhciBvZmZzZXQgPSBfcmVmLm9mZnNldDtcbiAgdmFyIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50LFxuICAgICAgX2RhdGEkb2Zmc2V0cyA9IGRhdGEub2Zmc2V0cyxcbiAgICAgIHBvcHBlciA9IF9kYXRhJG9mZnNldHMucG9wcGVyLFxuICAgICAgcmVmZXJlbmNlID0gX2RhdGEkb2Zmc2V0cy5yZWZlcmVuY2U7XG5cbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcblxuICB2YXIgb2Zmc2V0cyA9IHZvaWQgMDtcbiAgaWYgKGlzTnVtZXJpYygrb2Zmc2V0KSkge1xuICAgIG9mZnNldHMgPSBbK29mZnNldCwgMF07XG4gIH0gZWxzZSB7XG4gICAgb2Zmc2V0cyA9IHBhcnNlT2Zmc2V0KG9mZnNldCwgcG9wcGVyLCByZWZlcmVuY2UsIGJhc2VQbGFjZW1lbnQpO1xuICB9XG5cbiAgaWYgKGJhc2VQbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgIHBvcHBlci50b3AgKz0gb2Zmc2V0c1swXTtcbiAgICBwb3BwZXIubGVmdCAtPSBvZmZzZXRzWzFdO1xuICB9IGVsc2UgaWYgKGJhc2VQbGFjZW1lbnQgPT09ICdyaWdodCcpIHtcbiAgICBwb3BwZXIudG9wICs9IG9mZnNldHNbMF07XG4gICAgcG9wcGVyLmxlZnQgKz0gb2Zmc2V0c1sxXTtcbiAgfSBlbHNlIGlmIChiYXNlUGxhY2VtZW50ID09PSAndG9wJykge1xuICAgIHBvcHBlci5sZWZ0ICs9IG9mZnNldHNbMF07XG4gICAgcG9wcGVyLnRvcCAtPSBvZmZzZXRzWzFdO1xuICB9IGVsc2UgaWYgKGJhc2VQbGFjZW1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgcG9wcGVyLmxlZnQgKz0gb2Zmc2V0c1swXTtcbiAgICBwb3BwZXIudG9wICs9IG9mZnNldHNbMV07XG4gIH1cblxuICBkYXRhLnBvcHBlciA9IHBvcHBlcjtcbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgYHVwZGF0ZWAgbWV0aG9kXG4gKiBAYXJndW1lbnQge09iamVjdH0gb3B0aW9ucyAtIE1vZGlmaWVycyBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cbmZ1bmN0aW9uIHByZXZlbnRPdmVyZmxvdyhkYXRhLCBvcHRpb25zKSB7XG4gIHZhciBib3VuZGFyaWVzRWxlbWVudCA9IG9wdGlvbnMuYm91bmRhcmllc0VsZW1lbnQgfHwgZ2V0T2Zmc2V0UGFyZW50KGRhdGEuaW5zdGFuY2UucG9wcGVyKTtcblxuICAvLyBJZiBvZmZzZXRQYXJlbnQgaXMgdGhlIHJlZmVyZW5jZSBlbGVtZW50LCB3ZSByZWFsbHkgd2FudCB0b1xuICAvLyBnbyBvbmUgc3RlcCB1cCBhbmQgdXNlIHRoZSBuZXh0IG9mZnNldFBhcmVudCBhcyByZWZlcmVuY2UgdG9cbiAgLy8gYXZvaWQgdG8gbWFrZSB0aGlzIG1vZGlmaWVyIGNvbXBsZXRlbHkgdXNlbGVzcyBhbmQgbG9vayBsaWtlIGJyb2tlblxuICBpZiAoZGF0YS5pbnN0YW5jZS5yZWZlcmVuY2UgPT09IGJvdW5kYXJpZXNFbGVtZW50KSB7XG4gICAgYm91bmRhcmllc0VsZW1lbnQgPSBnZXRPZmZzZXRQYXJlbnQoYm91bmRhcmllc0VsZW1lbnQpO1xuICB9XG5cbiAgLy8gTk9URTogRE9NIGFjY2VzcyBoZXJlXG4gIC8vIHJlc2V0cyB0aGUgcG9wcGVyJ3MgcG9zaXRpb24gc28gdGhhdCB0aGUgZG9jdW1lbnQgc2l6ZSBjYW4gYmUgY2FsY3VsYXRlZCBleGNsdWRpbmdcbiAgLy8gdGhlIHNpemUgb2YgdGhlIHBvcHBlciBlbGVtZW50IGl0c2VsZlxuICB2YXIgdHJhbnNmb3JtUHJvcCA9IGdldFN1cHBvcnRlZFByb3BlcnR5TmFtZSgndHJhbnNmb3JtJyk7XG4gIHZhciBwb3BwZXJTdHlsZXMgPSBkYXRhLmluc3RhbmNlLnBvcHBlci5zdHlsZTsgLy8gYXNzaWdubWVudCB0byBoZWxwIG1pbmlmaWNhdGlvblxuICB2YXIgdG9wID0gcG9wcGVyU3R5bGVzLnRvcCxcbiAgICAgIGxlZnQgPSBwb3BwZXJTdHlsZXMubGVmdCxcbiAgICAgIHRyYW5zZm9ybSA9IHBvcHBlclN0eWxlc1t0cmFuc2Zvcm1Qcm9wXTtcblxuICBwb3BwZXJTdHlsZXMudG9wID0gJyc7XG4gIHBvcHBlclN0eWxlcy5sZWZ0ID0gJyc7XG4gIHBvcHBlclN0eWxlc1t0cmFuc2Zvcm1Qcm9wXSA9ICcnO1xuXG4gIHZhciBib3VuZGFyaWVzID0gZ2V0Qm91bmRhcmllcyhkYXRhLmluc3RhbmNlLnBvcHBlciwgZGF0YS5pbnN0YW5jZS5yZWZlcmVuY2UsIG9wdGlvbnMucGFkZGluZywgYm91bmRhcmllc0VsZW1lbnQsIGRhdGEucG9zaXRpb25GaXhlZCk7XG5cbiAgLy8gTk9URTogRE9NIGFjY2VzcyBoZXJlXG4gIC8vIHJlc3RvcmVzIHRoZSBvcmlnaW5hbCBzdHlsZSBwcm9wZXJ0aWVzIGFmdGVyIHRoZSBvZmZzZXRzIGhhdmUgYmVlbiBjb21wdXRlZFxuICBwb3BwZXJTdHlsZXMudG9wID0gdG9wO1xuICBwb3BwZXJTdHlsZXMubGVmdCA9IGxlZnQ7XG4gIHBvcHBlclN0eWxlc1t0cmFuc2Zvcm1Qcm9wXSA9IHRyYW5zZm9ybTtcblxuICBvcHRpb25zLmJvdW5kYXJpZXMgPSBib3VuZGFyaWVzO1xuXG4gIHZhciBvcmRlciA9IG9wdGlvbnMucHJpb3JpdHk7XG4gIHZhciBwb3BwZXIgPSBkYXRhLm9mZnNldHMucG9wcGVyO1xuXG4gIHZhciBjaGVjayA9IHtcbiAgICBwcmltYXJ5OiBmdW5jdGlvbiBwcmltYXJ5KHBsYWNlbWVudCkge1xuICAgICAgdmFyIHZhbHVlID0gcG9wcGVyW3BsYWNlbWVudF07XG4gICAgICBpZiAocG9wcGVyW3BsYWNlbWVudF0gPCBib3VuZGFyaWVzW3BsYWNlbWVudF0gJiYgIW9wdGlvbnMuZXNjYXBlV2l0aFJlZmVyZW5jZSkge1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWF4KHBvcHBlcltwbGFjZW1lbnRdLCBib3VuZGFyaWVzW3BsYWNlbWVudF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRlZmluZVByb3BlcnR5KHt9LCBwbGFjZW1lbnQsIHZhbHVlKTtcbiAgICB9LFxuICAgIHNlY29uZGFyeTogZnVuY3Rpb24gc2Vjb25kYXJ5KHBsYWNlbWVudCkge1xuICAgICAgdmFyIG1haW5TaWRlID0gcGxhY2VtZW50ID09PSAncmlnaHQnID8gJ2xlZnQnIDogJ3RvcCc7XG4gICAgICB2YXIgdmFsdWUgPSBwb3BwZXJbbWFpblNpZGVdO1xuICAgICAgaWYgKHBvcHBlcltwbGFjZW1lbnRdID4gYm91bmRhcmllc1twbGFjZW1lbnRdICYmICFvcHRpb25zLmVzY2FwZVdpdGhSZWZlcmVuY2UpIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1pbihwb3BwZXJbbWFpblNpZGVdLCBib3VuZGFyaWVzW3BsYWNlbWVudF0gLSAocGxhY2VtZW50ID09PSAncmlnaHQnID8gcG9wcGVyLndpZHRoIDogcG9wcGVyLmhlaWdodCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRlZmluZVByb3BlcnR5KHt9LCBtYWluU2lkZSwgdmFsdWUpO1xuICAgIH1cbiAgfTtcblxuICBvcmRlci5mb3JFYWNoKGZ1bmN0aW9uIChwbGFjZW1lbnQpIHtcbiAgICB2YXIgc2lkZSA9IFsnbGVmdCcsICd0b3AnXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xID8gJ3ByaW1hcnknIDogJ3NlY29uZGFyeSc7XG4gICAgcG9wcGVyID0gX2V4dGVuZHMoe30sIHBvcHBlciwgY2hlY2tbc2lkZV0ocGxhY2VtZW50KSk7XG4gIH0pO1xuXG4gIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBwb3BwZXI7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgYHVwZGF0ZWAgbWV0aG9kXG4gKiBAYXJndW1lbnQge09iamVjdH0gb3B0aW9ucyAtIE1vZGlmaWVycyBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cbmZ1bmN0aW9uIHNoaWZ0KGRhdGEpIHtcbiAgdmFyIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xuICB2YXIgc2hpZnR2YXJpYXRpb24gPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVsxXTtcblxuICAvLyBpZiBzaGlmdCBzaGlmdHZhcmlhdGlvbiBpcyBzcGVjaWZpZWQsIHJ1biB0aGUgbW9kaWZpZXJcbiAgaWYgKHNoaWZ0dmFyaWF0aW9uKSB7XG4gICAgdmFyIF9kYXRhJG9mZnNldHMgPSBkYXRhLm9mZnNldHMsXG4gICAgICAgIHJlZmVyZW5jZSA9IF9kYXRhJG9mZnNldHMucmVmZXJlbmNlLFxuICAgICAgICBwb3BwZXIgPSBfZGF0YSRvZmZzZXRzLnBvcHBlcjtcblxuICAgIHZhciBpc1ZlcnRpY2FsID0gWydib3R0b20nLCAndG9wJ10uaW5kZXhPZihiYXNlUGxhY2VtZW50KSAhPT0gLTE7XG4gICAgdmFyIHNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gICAgdmFyIG1lYXN1cmVtZW50ID0gaXNWZXJ0aWNhbCA/ICd3aWR0aCcgOiAnaGVpZ2h0JztcblxuICAgIHZhciBzaGlmdE9mZnNldHMgPSB7XG4gICAgICBzdGFydDogZGVmaW5lUHJvcGVydHkoe30sIHNpZGUsIHJlZmVyZW5jZVtzaWRlXSksXG4gICAgICBlbmQ6IGRlZmluZVByb3BlcnR5KHt9LCBzaWRlLCByZWZlcmVuY2Vbc2lkZV0gKyByZWZlcmVuY2VbbWVhc3VyZW1lbnRdIC0gcG9wcGVyW21lYXN1cmVtZW50XSlcbiAgICB9O1xuXG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IF9leHRlbmRzKHt9LCBwb3BwZXIsIHNoaWZ0T2Zmc2V0c1tzaGlmdHZhcmlhdGlvbl0pO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBoaWRlKGRhdGEpIHtcbiAgaWYgKCFpc01vZGlmaWVyUmVxdWlyZWQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsICdoaWRlJywgJ3ByZXZlbnRPdmVyZmxvdycpKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICB2YXIgcmVmUmVjdCA9IGRhdGEub2Zmc2V0cy5yZWZlcmVuY2U7XG4gIHZhciBib3VuZCA9IGZpbmQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsIGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgIHJldHVybiBtb2RpZmllci5uYW1lID09PSAncHJldmVudE92ZXJmbG93JztcbiAgfSkuYm91bmRhcmllcztcblxuICBpZiAocmVmUmVjdC5ib3R0b20gPCBib3VuZC50b3AgfHwgcmVmUmVjdC5sZWZ0ID4gYm91bmQucmlnaHQgfHwgcmVmUmVjdC50b3AgPiBib3VuZC5ib3R0b20gfHwgcmVmUmVjdC5yaWdodCA8IGJvdW5kLmxlZnQpIHtcbiAgICAvLyBBdm9pZCB1bm5lY2Vzc2FyeSBET00gYWNjZXNzIGlmIHZpc2liaWxpdHkgaGFzbid0IGNoYW5nZWRcbiAgICBpZiAoZGF0YS5oaWRlID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBkYXRhLmhpZGUgPSB0cnVlO1xuICAgIGRhdGEuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddID0gJyc7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXZvaWQgdW5uZWNlc3NhcnkgRE9NIGFjY2VzcyBpZiB2aXNpYmlsaXR5IGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKGRhdGEuaGlkZSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIGRhdGEuaGlkZSA9IGZhbHNlO1xuICAgIGRhdGEuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gaW5uZXIoZGF0YSkge1xuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQ7XG4gIHZhciBiYXNlUGxhY2VtZW50ID0gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gIHZhciBfZGF0YSRvZmZzZXRzID0gZGF0YS5vZmZzZXRzLFxuICAgICAgcG9wcGVyID0gX2RhdGEkb2Zmc2V0cy5wb3BwZXIsXG4gICAgICByZWZlcmVuY2UgPSBfZGF0YSRvZmZzZXRzLnJlZmVyZW5jZTtcblxuICB2YXIgaXNIb3JpeiA9IFsnbGVmdCcsICdyaWdodCddLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgIT09IC0xO1xuXG4gIHZhciBzdWJ0cmFjdExlbmd0aCA9IFsndG9wJywgJ2xlZnQnXS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpID09PSAtMTtcblxuICBwb3BwZXJbaXNIb3JpeiA/ICdsZWZ0JyA6ICd0b3AnXSA9IHJlZmVyZW5jZVtiYXNlUGxhY2VtZW50XSAtIChzdWJ0cmFjdExlbmd0aCA/IHBvcHBlcltpc0hvcml6ID8gJ3dpZHRoJyA6ICdoZWlnaHQnXSA6IDApO1xuXG4gIGRhdGEucGxhY2VtZW50ID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KTtcbiAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IGdldENsaWVudFJlY3QocG9wcGVyKTtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBNb2RpZmllciBmdW5jdGlvbiwgZWFjaCBtb2RpZmllciBjYW4gaGF2ZSBhIGZ1bmN0aW9uIG9mIHRoaXMgdHlwZSBhc3NpZ25lZFxuICogdG8gaXRzIGBmbmAgcHJvcGVydHkuPGJyIC8+XG4gKiBUaGVzZSBmdW5jdGlvbnMgd2lsbCBiZSBjYWxsZWQgb24gZWFjaCB1cGRhdGUsIHRoaXMgbWVhbnMgdGhhdCB5b3UgbXVzdFxuICogbWFrZSBzdXJlIHRoZXkgYXJlIHBlcmZvcm1hbnQgZW5vdWdoIHRvIGF2b2lkIHBlcmZvcm1hbmNlIGJvdHRsZW5lY2tzLlxuICpcbiAqIEBmdW5jdGlvbiBNb2RpZmllckZuXG4gKiBAYXJndW1lbnQge2RhdGFPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IGB1cGRhdGVgIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge2RhdGFPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuXG4vKipcbiAqIE1vZGlmaWVycyBhcmUgcGx1Z2lucyB1c2VkIHRvIGFsdGVyIHRoZSBiZWhhdmlvciBvZiB5b3VyIHBvcHBlcnMuPGJyIC8+XG4gKiBQb3BwZXIuanMgdXNlcyBhIHNldCBvZiA5IG1vZGlmaWVycyB0byBwcm92aWRlIGFsbCB0aGUgYmFzaWMgZnVuY3Rpb25hbGl0aWVzXG4gKiBuZWVkZWQgYnkgdGhlIGxpYnJhcnkuXG4gKlxuICogVXN1YWxseSB5b3UgZG9uJ3Qgd2FudCB0byBvdmVycmlkZSB0aGUgYG9yZGVyYCwgYGZuYCBhbmQgYG9uTG9hZGAgcHJvcHMuXG4gKiBBbGwgdGhlIG90aGVyIHByb3BlcnRpZXMgYXJlIGNvbmZpZ3VyYXRpb25zIHRoYXQgY291bGQgYmUgdHdlYWtlZC5cbiAqIEBuYW1lc3BhY2UgbW9kaWZpZXJzXG4gKi9cbnZhciBtb2RpZmllcnMgPSB7XG4gIC8qKlxuICAgKiBNb2RpZmllciB1c2VkIHRvIHNoaWZ0IHRoZSBwb3BwZXIgb24gdGhlIHN0YXJ0IG9yIGVuZCBvZiBpdHMgcmVmZXJlbmNlXG4gICAqIGVsZW1lbnQuPGJyIC8+XG4gICAqIEl0IHdpbGwgcmVhZCB0aGUgdmFyaWF0aW9uIG9mIHRoZSBgcGxhY2VtZW50YCBwcm9wZXJ0eS48YnIgLz5cbiAgICogSXQgY2FuIGJlIG9uZSBlaXRoZXIgYC1lbmRgIG9yIGAtc3RhcnRgLlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgc2hpZnQ6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9MTAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiAxMDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBzaGlmdFxuICB9LFxuXG4gIC8qKlxuICAgKiBUaGUgYG9mZnNldGAgbW9kaWZpZXIgY2FuIHNoaWZ0IHlvdXIgcG9wcGVyIG9uIGJvdGggaXRzIGF4aXMuXG4gICAqXG4gICAqIEl0IGFjY2VwdHMgdGhlIGZvbGxvd2luZyB1bml0czpcbiAgICogLSBgcHhgIG9yIHVuaXQtbGVzcywgaW50ZXJwcmV0ZWQgYXMgcGl4ZWxzXG4gICAqIC0gYCVgIG9yIGAlcmAsIHBlcmNlbnRhZ2UgcmVsYXRpdmUgdG8gdGhlIGxlbmd0aCBvZiB0aGUgcmVmZXJlbmNlIGVsZW1lbnRcbiAgICogLSBgJXBgLCBwZXJjZW50YWdlIHJlbGF0aXZlIHRvIHRoZSBsZW5ndGggb2YgdGhlIHBvcHBlciBlbGVtZW50XG4gICAqIC0gYHZ3YCwgQ1NTIHZpZXdwb3J0IHdpZHRoIHVuaXRcbiAgICogLSBgdmhgLCBDU1Mgdmlld3BvcnQgaGVpZ2h0IHVuaXRcbiAgICpcbiAgICogRm9yIGxlbmd0aCBpcyBpbnRlbmRlZCB0aGUgbWFpbiBheGlzIHJlbGF0aXZlIHRvIHRoZSBwbGFjZW1lbnQgb2YgdGhlIHBvcHBlci48YnIgLz5cbiAgICogVGhpcyBtZWFucyB0aGF0IGlmIHRoZSBwbGFjZW1lbnQgaXMgYHRvcGAgb3IgYGJvdHRvbWAsIHRoZSBsZW5ndGggd2lsbCBiZSB0aGVcbiAgICogYHdpZHRoYC4gSW4gY2FzZSBvZiBgbGVmdGAgb3IgYHJpZ2h0YCwgaXQgd2lsbCBiZSB0aGUgYGhlaWdodGAuXG4gICAqXG4gICAqIFlvdSBjYW4gcHJvdmlkZSBhIHNpbmdsZSB2YWx1ZSAoYXMgYE51bWJlcmAgb3IgYFN0cmluZ2ApLCBvciBhIHBhaXIgb2YgdmFsdWVzXG4gICAqIGFzIGBTdHJpbmdgIGRpdmlkZWQgYnkgYSBjb21tYSBvciBvbmUgKG9yIG1vcmUpIHdoaXRlIHNwYWNlcy48YnIgLz5cbiAgICogVGhlIGxhdHRlciBpcyBhIGRlcHJlY2F0ZWQgbWV0aG9kIGJlY2F1c2UgaXQgbGVhZHMgdG8gY29uZnVzaW9uIGFuZCB3aWxsIGJlXG4gICAqIHJlbW92ZWQgaW4gdjIuPGJyIC8+XG4gICAqIEFkZGl0aW9uYWxseSwgaXQgYWNjZXB0cyBhZGRpdGlvbnMgYW5kIHN1YnRyYWN0aW9ucyBiZXR3ZWVuIGRpZmZlcmVudCB1bml0cy5cbiAgICogTm90ZSB0aGF0IG11bHRpcGxpY2F0aW9ucyBhbmQgZGl2aXNpb25zIGFyZW4ndCBzdXBwb3J0ZWQuXG4gICAqXG4gICAqIFZhbGlkIGV4YW1wbGVzIGFyZTpcbiAgICogYGBgXG4gICAqIDEwXG4gICAqICcxMCUnXG4gICAqICcxMCwgMTAnXG4gICAqICcxMCUsIDEwJ1xuICAgKiAnMTAgKyAxMCUnXG4gICAqICcxMCAtIDV2aCArIDMlJ1xuICAgKiAnLTEwcHggKyA1dmgsIDVweCAtIDYlJ1xuICAgKiBgYGBcbiAgICogPiAqKk5CKio6IElmIHlvdSBkZXNpcmUgdG8gYXBwbHkgb2Zmc2V0cyB0byB5b3VyIHBvcHBlcnMgaW4gYSB3YXkgdGhhdCBtYXkgbWFrZSB0aGVtIG92ZXJsYXBcbiAgICogPiB3aXRoIHRoZWlyIHJlZmVyZW5jZSBlbGVtZW50LCB1bmZvcnR1bmF0ZWx5LCB5b3Ugd2lsbCBoYXZlIHRvIGRpc2FibGUgdGhlIGBmbGlwYCBtb2RpZmllci5cbiAgICogPiBZb3UgY2FuIHJlYWQgbW9yZSBvbiB0aGlzIGF0IHRoaXMgW2lzc3VlXShodHRwczovL2dpdGh1Yi5jb20vRmV6VnJhc3RhL3BvcHBlci5qcy9pc3N1ZXMvMzczKS5cbiAgICpcbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIG9mZnNldDoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj0yMDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDIwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IG9mZnNldCxcbiAgICAvKiogQHByb3Age051bWJlcnxTdHJpbmd9IG9mZnNldD0wXG4gICAgICogVGhlIG9mZnNldCB2YWx1ZSBhcyBkZXNjcmliZWQgaW4gdGhlIG1vZGlmaWVyIGRlc2NyaXB0aW9uXG4gICAgICovXG4gICAgb2Zmc2V0OiAwXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gcHJldmVudCB0aGUgcG9wcGVyIGZyb20gYmVpbmcgcG9zaXRpb25lZCBvdXRzaWRlIHRoZSBib3VuZGFyeS5cbiAgICpcbiAgICogQSBzY2VuYXJpbyBleGlzdHMgd2hlcmUgdGhlIHJlZmVyZW5jZSBpdHNlbGYgaXMgbm90IHdpdGhpbiB0aGUgYm91bmRhcmllcy48YnIgLz5cbiAgICogV2UgY2FuIHNheSBpdCBoYXMgXCJlc2NhcGVkIHRoZSBib3VuZGFyaWVzXCIg4oCUIG9yIGp1c3QgXCJlc2NhcGVkXCIuPGJyIC8+XG4gICAqIEluIHRoaXMgY2FzZSB3ZSBuZWVkIHRvIGRlY2lkZSB3aGV0aGVyIHRoZSBwb3BwZXIgc2hvdWxkIGVpdGhlcjpcbiAgICpcbiAgICogLSBkZXRhY2ggZnJvbSB0aGUgcmVmZXJlbmNlIGFuZCByZW1haW4gXCJ0cmFwcGVkXCIgaW4gdGhlIGJvdW5kYXJpZXMsIG9yXG4gICAqIC0gaWYgaXQgc2hvdWxkIGlnbm9yZSB0aGUgYm91bmRhcnkgYW5kIFwiZXNjYXBlIHdpdGggaXRzIHJlZmVyZW5jZVwiXG4gICAqXG4gICAqIFdoZW4gYGVzY2FwZVdpdGhSZWZlcmVuY2VgIGlzIHNldCB0b2B0cnVlYCBhbmQgcmVmZXJlbmNlIGlzIGNvbXBsZXRlbHlcbiAgICogb3V0c2lkZSBpdHMgYm91bmRhcmllcywgdGhlIHBvcHBlciB3aWxsIG92ZXJmbG93IChvciBjb21wbGV0ZWx5IGxlYXZlKVxuICAgKiB0aGUgYm91bmRhcmllcyBpbiBvcmRlciB0byByZW1haW4gYXR0YWNoZWQgdG8gdGhlIGVkZ2Ugb2YgdGhlIHJlZmVyZW5jZS5cbiAgICpcbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIHByZXZlbnRPdmVyZmxvdzoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj0zMDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDMwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IHByZXZlbnRPdmVyZmxvdyxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7QXJyYXl9IFtwcmlvcml0eT1bJ2xlZnQnLCdyaWdodCcsJ3RvcCcsJ2JvdHRvbSddXVxuICAgICAqIFBvcHBlciB3aWxsIHRyeSB0byBwcmV2ZW50IG92ZXJmbG93IGZvbGxvd2luZyB0aGVzZSBwcmlvcml0aWVzIGJ5IGRlZmF1bHQsXG4gICAgICogdGhlbiwgaXQgY291bGQgb3ZlcmZsb3cgb24gdGhlIGxlZnQgYW5kIG9uIHRvcCBvZiB0aGUgYGJvdW5kYXJpZXNFbGVtZW50YFxuICAgICAqL1xuICAgIHByaW9yaXR5OiBbJ2xlZnQnLCAncmlnaHQnLCAndG9wJywgJ2JvdHRvbSddLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtudW1iZXJ9IHBhZGRpbmc9NVxuICAgICAqIEFtb3VudCBvZiBwaXhlbCB1c2VkIHRvIGRlZmluZSBhIG1pbmltdW0gZGlzdGFuY2UgYmV0d2VlbiB0aGUgYm91bmRhcmllc1xuICAgICAqIGFuZCB0aGUgcG9wcGVyLiBUaGlzIG1ha2VzIHN1cmUgdGhlIHBvcHBlciBhbHdheXMgaGFzIGEgbGl0dGxlIHBhZGRpbmdcbiAgICAgKiBiZXR3ZWVuIHRoZSBlZGdlcyBvZiBpdHMgY29udGFpbmVyXG4gICAgICovXG4gICAgcGFkZGluZzogNSxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7U3RyaW5nfEhUTUxFbGVtZW50fSBib3VuZGFyaWVzRWxlbWVudD0nc2Nyb2xsUGFyZW50J1xuICAgICAqIEJvdW5kYXJpZXMgdXNlZCBieSB0aGUgbW9kaWZpZXIuIENhbiBiZSBgc2Nyb2xsUGFyZW50YCwgYHdpbmRvd2AsXG4gICAgICogYHZpZXdwb3J0YCBvciBhbnkgRE9NIGVsZW1lbnQuXG4gICAgICovXG4gICAgYm91bmRhcmllc0VsZW1lbnQ6ICdzY3JvbGxQYXJlbnQnXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gbWFrZSBzdXJlIHRoZSByZWZlcmVuY2UgYW5kIGl0cyBwb3BwZXIgc3RheSBuZWFyIGVhY2ggb3RoZXJcbiAgICogd2l0aG91dCBsZWF2aW5nIGFueSBnYXAgYmV0d2VlbiB0aGUgdHdvLiBFc3BlY2lhbGx5IHVzZWZ1bCB3aGVuIHRoZSBhcnJvdyBpc1xuICAgKiBlbmFibGVkIGFuZCB5b3Ugd2FudCB0byBlbnN1cmUgdGhhdCBpdCBwb2ludHMgdG8gaXRzIHJlZmVyZW5jZSBlbGVtZW50LlxuICAgKiBJdCBjYXJlcyBvbmx5IGFib3V0IHRoZSBmaXJzdCBheGlzLiBZb3UgY2FuIHN0aWxsIGhhdmUgcG9wcGVycyB3aXRoIG1hcmdpblxuICAgKiBiZXR3ZWVuIHRoZSBwb3BwZXIgYW5kIGl0cyByZWZlcmVuY2UgZWxlbWVudC5cbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIGtlZXBUb2dldGhlcjoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj00MDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDQwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGtlZXBUb2dldGhlclxuICB9LFxuXG4gIC8qKlxuICAgKiBUaGlzIG1vZGlmaWVyIGlzIHVzZWQgdG8gbW92ZSB0aGUgYGFycm93RWxlbWVudGAgb2YgdGhlIHBvcHBlciB0byBtYWtlXG4gICAqIHN1cmUgaXQgaXMgcG9zaXRpb25lZCBiZXR3ZWVuIHRoZSByZWZlcmVuY2UgZWxlbWVudCBhbmQgaXRzIHBvcHBlciBlbGVtZW50LlxuICAgKiBJdCB3aWxsIHJlYWQgdGhlIG91dGVyIHNpemUgb2YgdGhlIGBhcnJvd0VsZW1lbnRgIG5vZGUgdG8gZGV0ZWN0IGhvdyBtYW55XG4gICAqIHBpeGVscyBvZiBjb25qdW5jdGlvbiBhcmUgbmVlZGVkLlxuICAgKlxuICAgKiBJdCBoYXMgbm8gZWZmZWN0IGlmIG5vIGBhcnJvd0VsZW1lbnRgIGlzIHByb3ZpZGVkLlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgYXJyb3c6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9NTAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA1MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBhcnJvdyxcbiAgICAvKiogQHByb3Age1N0cmluZ3xIVE1MRWxlbWVudH0gZWxlbWVudD0nW3gtYXJyb3ddJyAtIFNlbGVjdG9yIG9yIG5vZGUgdXNlZCBhcyBhcnJvdyAqL1xuICAgIGVsZW1lbnQ6ICdbeC1hcnJvd10nXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gZmxpcCB0aGUgcG9wcGVyJ3MgcGxhY2VtZW50IHdoZW4gaXQgc3RhcnRzIHRvIG92ZXJsYXAgaXRzXG4gICAqIHJlZmVyZW5jZSBlbGVtZW50LlxuICAgKlxuICAgKiBSZXF1aXJlcyB0aGUgYHByZXZlbnRPdmVyZmxvd2AgbW9kaWZpZXIgYmVmb3JlIGl0IGluIG9yZGVyIHRvIHdvcmsuXG4gICAqXG4gICAqICoqTk9URToqKiB0aGlzIG1vZGlmaWVyIHdpbGwgaW50ZXJydXB0IHRoZSBjdXJyZW50IHVwZGF0ZSBjeWNsZSBhbmQgd2lsbFxuICAgKiByZXN0YXJ0IGl0IGlmIGl0IGRldGVjdHMgdGhlIG5lZWQgdG8gZmxpcCB0aGUgcGxhY2VtZW50LlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgZmxpcDoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj02MDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDYwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGZsaXAsXG4gICAgLyoqXG4gICAgICogQHByb3Age1N0cmluZ3xBcnJheX0gYmVoYXZpb3I9J2ZsaXAnXG4gICAgICogVGhlIGJlaGF2aW9yIHVzZWQgdG8gY2hhbmdlIHRoZSBwb3BwZXIncyBwbGFjZW1lbnQuIEl0IGNhbiBiZSBvbmUgb2ZcbiAgICAgKiBgZmxpcGAsIGBjbG9ja3dpc2VgLCBgY291bnRlcmNsb2Nrd2lzZWAgb3IgYW4gYXJyYXkgd2l0aCBhIGxpc3Qgb2YgdmFsaWRcbiAgICAgKiBwbGFjZW1lbnRzICh3aXRoIG9wdGlvbmFsIHZhcmlhdGlvbnMpXG4gICAgICovXG4gICAgYmVoYXZpb3I6ICdmbGlwJyxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7bnVtYmVyfSBwYWRkaW5nPTVcbiAgICAgKiBUaGUgcG9wcGVyIHdpbGwgZmxpcCBpZiBpdCBoaXRzIHRoZSBlZGdlcyBvZiB0aGUgYGJvdW5kYXJpZXNFbGVtZW50YFxuICAgICAqL1xuICAgIHBhZGRpbmc6IDUsXG4gICAgLyoqXG4gICAgICogQHByb3Age1N0cmluZ3xIVE1MRWxlbWVudH0gYm91bmRhcmllc0VsZW1lbnQ9J3ZpZXdwb3J0J1xuICAgICAqIFRoZSBlbGVtZW50IHdoaWNoIHdpbGwgZGVmaW5lIHRoZSBib3VuZGFyaWVzIG9mIHRoZSBwb3BwZXIgcG9zaXRpb24uXG4gICAgICogVGhlIHBvcHBlciB3aWxsIG5ldmVyIGJlIHBsYWNlZCBvdXRzaWRlIG9mIHRoZSBkZWZpbmVkIGJvdW5kYXJpZXNcbiAgICAgKiAoZXhjZXB0IGlmIGBrZWVwVG9nZXRoZXJgIGlzIGVuYWJsZWQpXG4gICAgICovXG4gICAgYm91bmRhcmllc0VsZW1lbnQ6ICd2aWV3cG9ydCcsXG4gICAgLyoqXG4gICAgICogQHByb3Age0Jvb2xlYW59IGZsaXBWYXJpYXRpb25zPWZhbHNlXG4gICAgICogVGhlIHBvcHBlciB3aWxsIHN3aXRjaCBwbGFjZW1lbnQgdmFyaWF0aW9uIGJldHdlZW4gYC1zdGFydGAgYW5kIGAtZW5kYCB3aGVuXG4gICAgICogdGhlIHJlZmVyZW5jZSBlbGVtZW50IG92ZXJsYXBzIGl0cyBib3VuZGFyaWVzLlxuICAgICAqXG4gICAgICogVGhlIG9yaWdpbmFsIHBsYWNlbWVudCBzaG91bGQgaGF2ZSBhIHNldCB2YXJpYXRpb24uXG4gICAgICovXG4gICAgZmxpcFZhcmlhdGlvbnM6IGZhbHNlLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtCb29sZWFufSBmbGlwVmFyaWF0aW9uc0J5Q29udGVudD1mYWxzZVxuICAgICAqIFRoZSBwb3BwZXIgd2lsbCBzd2l0Y2ggcGxhY2VtZW50IHZhcmlhdGlvbiBiZXR3ZWVuIGAtc3RhcnRgIGFuZCBgLWVuZGAgd2hlblxuICAgICAqIHRoZSBwb3BwZXIgZWxlbWVudCBvdmVybGFwcyBpdHMgcmVmZXJlbmNlIGJvdW5kYXJpZXMuXG4gICAgICpcbiAgICAgKiBUaGUgb3JpZ2luYWwgcGxhY2VtZW50IHNob3VsZCBoYXZlIGEgc2V0IHZhcmlhdGlvbi5cbiAgICAgKi9cbiAgICBmbGlwVmFyaWF0aW9uc0J5Q29udGVudDogZmFsc2VcbiAgfSxcblxuICAvKipcbiAgICogTW9kaWZpZXIgdXNlZCB0byBtYWtlIHRoZSBwb3BwZXIgZmxvdyB0b3dhcmQgdGhlIGlubmVyIG9mIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAgICogQnkgZGVmYXVsdCwgd2hlbiB0aGlzIG1vZGlmaWVyIGlzIGRpc2FibGVkLCB0aGUgcG9wcGVyIHdpbGwgYmUgcGxhY2VkIG91dHNpZGVcbiAgICogdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgaW5uZXI6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9NzAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA3MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPWZhbHNlIC0gV2hldGhlciB0aGUgbW9kaWZpZXIgaXMgZW5hYmxlZCBvciBub3QgKi9cbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGlubmVyXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gaGlkZSB0aGUgcG9wcGVyIHdoZW4gaXRzIHJlZmVyZW5jZSBlbGVtZW50IGlzIG91dHNpZGUgb2YgdGhlXG4gICAqIHBvcHBlciBib3VuZGFyaWVzLiBJdCB3aWxsIHNldCBhIGB4LW91dC1vZi1ib3VuZGFyaWVzYCBhdHRyaWJ1dGUgd2hpY2ggY2FuXG4gICAqIGJlIHVzZWQgdG8gaGlkZSB3aXRoIGEgQ1NTIHNlbGVjdG9yIHRoZSBwb3BwZXIgd2hlbiBpdHMgcmVmZXJlbmNlIGlzXG4gICAqIG91dCBvZiBib3VuZGFyaWVzLlxuICAgKlxuICAgKiBSZXF1aXJlcyB0aGUgYHByZXZlbnRPdmVyZmxvd2AgbW9kaWZpZXIgYmVmb3JlIGl0IGluIG9yZGVyIHRvIHdvcmsuXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBoaWRlOiB7XG4gICAgLyoqIEBwcm9wIHtudW1iZXJ9IG9yZGVyPTgwMCAtIEluZGV4IHVzZWQgdG8gZGVmaW5lIHRoZSBvcmRlciBvZiBleGVjdXRpb24gKi9cbiAgICBvcmRlcjogODAwLFxuICAgIC8qKiBAcHJvcCB7Qm9vbGVhbn0gZW5hYmxlZD10cnVlIC0gV2hldGhlciB0aGUgbW9kaWZpZXIgaXMgZW5hYmxlZCBvciBub3QgKi9cbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIC8qKiBAcHJvcCB7TW9kaWZpZXJGbn0gKi9cbiAgICBmbjogaGlkZVxuICB9LFxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgc3R5bGUgdGhhdCB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBvcHBlciBlbGVtZW50IHRvIGdldHNcbiAgICogcHJvcGVybHkgcG9zaXRpb25lZC5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoaXMgbW9kaWZpZXIgd2lsbCBub3QgdG91Y2ggdGhlIERPTSwgaXQganVzdCBwcmVwYXJlcyB0aGUgc3R5bGVzXG4gICAqIHNvIHRoYXQgYGFwcGx5U3R5bGVgIG1vZGlmaWVyIGNhbiBhcHBseSBpdC4gVGhpcyBzZXBhcmF0aW9uIGlzIHVzZWZ1bFxuICAgKiBpbiBjYXNlIHlvdSBuZWVkIHRvIHJlcGxhY2UgYGFwcGx5U3R5bGVgIHdpdGggYSBjdXN0b20gaW1wbGVtZW50YXRpb24uXG4gICAqXG4gICAqIFRoaXMgbW9kaWZpZXIgaGFzIGA4NTBgIGFzIGBvcmRlcmAgdmFsdWUgdG8gbWFpbnRhaW4gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgKiB3aXRoIHByZXZpb3VzIHZlcnNpb25zIG9mIFBvcHBlci5qcy4gRXhwZWN0IHRoZSBtb2RpZmllcnMgb3JkZXJpbmcgbWV0aG9kXG4gICAqIHRvIGNoYW5nZSBpbiBmdXR1cmUgbWFqb3IgdmVyc2lvbnMgb2YgdGhlIGxpYnJhcnkuXG4gICAqXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBjb21wdXRlU3R5bGU6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9ODUwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA4NTAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBjb21wdXRlU3R5bGUsXG4gICAgLyoqXG4gICAgICogQHByb3Age0Jvb2xlYW59IGdwdUFjY2VsZXJhdGlvbj10cnVlXG4gICAgICogSWYgdHJ1ZSwgaXQgdXNlcyB0aGUgQ1NTIDNEIHRyYW5zZm9ybWF0aW9uIHRvIHBvc2l0aW9uIHRoZSBwb3BwZXIuXG4gICAgICogT3RoZXJ3aXNlLCBpdCB3aWxsIHVzZSB0aGUgYHRvcGAgYW5kIGBsZWZ0YCBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgZ3B1QWNjZWxlcmF0aW9uOiB0cnVlLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtzdHJpbmd9IFt4PSdib3R0b20nXVxuICAgICAqIFdoZXJlIHRvIGFuY2hvciB0aGUgWCBheGlzIChgYm90dG9tYCBvciBgdG9wYCkuIEFLQSBYIG9mZnNldCBvcmlnaW4uXG4gICAgICogQ2hhbmdlIHRoaXMgaWYgeW91ciBwb3BwZXIgc2hvdWxkIGdyb3cgaW4gYSBkaXJlY3Rpb24gZGlmZmVyZW50IGZyb20gYGJvdHRvbWBcbiAgICAgKi9cbiAgICB4OiAnYm90dG9tJyxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7c3RyaW5nfSBbeD0nbGVmdCddXG4gICAgICogV2hlcmUgdG8gYW5jaG9yIHRoZSBZIGF4aXMgKGBsZWZ0YCBvciBgcmlnaHRgKS4gQUtBIFkgb2Zmc2V0IG9yaWdpbi5cbiAgICAgKiBDaGFuZ2UgdGhpcyBpZiB5b3VyIHBvcHBlciBzaG91bGQgZ3JvdyBpbiBhIGRpcmVjdGlvbiBkaWZmZXJlbnQgZnJvbSBgcmlnaHRgXG4gICAgICovXG4gICAgeTogJ3JpZ2h0J1xuICB9LFxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIHRoZSBjb21wdXRlZCBzdHlsZXMgdG8gdGhlIHBvcHBlciBlbGVtZW50LlxuICAgKlxuICAgKiBBbGwgdGhlIERPTSBtYW5pcHVsYXRpb25zIGFyZSBsaW1pdGVkIHRvIHRoaXMgbW9kaWZpZXIuIFRoaXMgaXMgdXNlZnVsIGluIGNhc2VcbiAgICogeW91IHdhbnQgdG8gaW50ZWdyYXRlIFBvcHBlci5qcyBpbnNpZGUgYSBmcmFtZXdvcmsgb3IgdmlldyBsaWJyYXJ5IGFuZCB5b3VcbiAgICogd2FudCB0byBkZWxlZ2F0ZSBhbGwgdGhlIERPTSBtYW5pcHVsYXRpb25zIHRvIGl0LlxuICAgKlxuICAgKiBOb3RlIHRoYXQgaWYgeW91IGRpc2FibGUgdGhpcyBtb2RpZmllciwgeW91IG11c3QgbWFrZSBzdXJlIHRoZSBwb3BwZXIgZWxlbWVudFxuICAgKiBoYXMgaXRzIHBvc2l0aW9uIHNldCB0byBgYWJzb2x1dGVgIGJlZm9yZSBQb3BwZXIuanMgY2FuIGRvIGl0cyB3b3JrIVxuICAgKlxuICAgKiBKdXN0IGRpc2FibGUgdGhpcyBtb2RpZmllciBhbmQgZGVmaW5lIHlvdXIgb3duIHRvIGFjaGlldmUgdGhlIGRlc2lyZWQgZWZmZWN0LlxuICAgKlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgYXBwbHlTdHlsZToge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj05MDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDkwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGFwcGx5U3R5bGUsXG4gICAgLyoqIEBwcm9wIHtGdW5jdGlvbn0gKi9cbiAgICBvbkxvYWQ6IGFwcGx5U3R5bGVPbkxvYWQsXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAxLjEwLjAsIHRoZSBwcm9wZXJ0eSBtb3ZlZCB0byBgY29tcHV0ZVN0eWxlYCBtb2RpZmllclxuICAgICAqIEBwcm9wIHtCb29sZWFufSBncHVBY2NlbGVyYXRpb249dHJ1ZVxuICAgICAqIElmIHRydWUsIGl0IHVzZXMgdGhlIENTUyAzRCB0cmFuc2Zvcm1hdGlvbiB0byBwb3NpdGlvbiB0aGUgcG9wcGVyLlxuICAgICAqIE90aGVyd2lzZSwgaXQgd2lsbCB1c2UgdGhlIGB0b3BgIGFuZCBgbGVmdGAgcHJvcGVydGllc1xuICAgICAqL1xuICAgIGdwdUFjY2VsZXJhdGlvbjogdW5kZWZpbmVkXG4gIH1cbn07XG5cbi8qKlxuICogVGhlIGBkYXRhT2JqZWN0YCBpcyBhbiBvYmplY3QgY29udGFpbmluZyBhbGwgdGhlIGluZm9ybWF0aW9uIHVzZWQgYnkgUG9wcGVyLmpzLlxuICogVGhpcyBvYmplY3QgaXMgcGFzc2VkIHRvIG1vZGlmaWVycyBhbmQgdG8gdGhlIGBvbkNyZWF0ZWAgYW5kIGBvblVwZGF0ZWAgY2FsbGJhY2tzLlxuICogQG5hbWUgZGF0YU9iamVjdFxuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEuaW5zdGFuY2UgVGhlIFBvcHBlci5qcyBpbnN0YW5jZVxuICogQHByb3BlcnR5IHtTdHJpbmd9IGRhdGEucGxhY2VtZW50IFBsYWNlbWVudCBhcHBsaWVkIHRvIHBvcHBlclxuICogQHByb3BlcnR5IHtTdHJpbmd9IGRhdGEub3JpZ2luYWxQbGFjZW1lbnQgUGxhY2VtZW50IG9yaWdpbmFsbHkgZGVmaW5lZCBvbiBpbml0XG4gKiBAcHJvcGVydHkge0Jvb2xlYW59IGRhdGEuZmxpcHBlZCBUcnVlIGlmIHBvcHBlciBoYXMgYmVlbiBmbGlwcGVkIGJ5IGZsaXAgbW9kaWZpZXJcbiAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gZGF0YS5oaWRlIFRydWUgaWYgdGhlIHJlZmVyZW5jZSBlbGVtZW50IGlzIG91dCBvZiBib3VuZGFyaWVzLCB1c2VmdWwgdG8ga25vdyB3aGVuIHRvIGhpZGUgdGhlIHBvcHBlclxuICogQHByb3BlcnR5IHtIVE1MRWxlbWVudH0gZGF0YS5hcnJvd0VsZW1lbnQgTm9kZSB1c2VkIGFzIGFycm93IGJ5IGFycm93IG1vZGlmaWVyXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5zdHlsZXMgQW55IENTUyBwcm9wZXJ0eSBkZWZpbmVkIGhlcmUgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwb3BwZXIuIEl0IGV4cGVjdHMgdGhlIEphdmFTY3JpcHQgbm9tZW5jbGF0dXJlIChlZy4gYG1hcmdpbkJvdHRvbWApXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5hcnJvd1N0eWxlcyBBbnkgQ1NTIHByb3BlcnR5IGRlZmluZWQgaGVyZSB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBvcHBlciBhcnJvdy4gSXQgZXhwZWN0cyB0aGUgSmF2YVNjcmlwdCBub21lbmNsYXR1cmUgKGVnLiBgbWFyZ2luQm90dG9tYClcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBkYXRhLmJvdW5kYXJpZXMgT2Zmc2V0cyBvZiB0aGUgcG9wcGVyIGJvdW5kYXJpZXNcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBkYXRhLm9mZnNldHMgVGhlIG1lYXN1cmVtZW50cyBvZiBwb3BwZXIsIHJlZmVyZW5jZSBhbmQgYXJyb3cgZWxlbWVudHNcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBkYXRhLm9mZnNldHMucG9wcGVyIGB0b3BgLCBgbGVmdGAsIGB3aWR0aGAsIGBoZWlnaHRgIHZhbHVlc1xuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEub2Zmc2V0cy5yZWZlcmVuY2UgYHRvcGAsIGBsZWZ0YCwgYHdpZHRoYCwgYGhlaWdodGAgdmFsdWVzXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5vZmZzZXRzLmFycm93XSBgdG9wYCBhbmQgYGxlZnRgIG9mZnNldHMsIG9ubHkgb25lIG9mIHRoZW0gd2lsbCBiZSBkaWZmZXJlbnQgZnJvbSAwXG4gKi9cblxuLyoqXG4gKiBEZWZhdWx0IG9wdGlvbnMgcHJvdmlkZWQgdG8gUG9wcGVyLmpzIGNvbnN0cnVjdG9yLjxiciAvPlxuICogVGhlc2UgY2FuIGJlIG92ZXJyaWRkZW4gdXNpbmcgdGhlIGBvcHRpb25zYCBhcmd1bWVudCBvZiBQb3BwZXIuanMuPGJyIC8+XG4gKiBUbyBvdmVycmlkZSBhbiBvcHRpb24sIHNpbXBseSBwYXNzIGFuIG9iamVjdCB3aXRoIHRoZSBzYW1lXG4gKiBzdHJ1Y3R1cmUgb2YgdGhlIGBvcHRpb25zYCBvYmplY3QsIGFzIHRoZSAzcmQgYXJndW1lbnQuIEZvciBleGFtcGxlOlxuICogYGBgXG4gKiBuZXcgUG9wcGVyKHJlZiwgcG9wLCB7XG4gKiAgIG1vZGlmaWVyczoge1xuICogICAgIHByZXZlbnRPdmVyZmxvdzogeyBlbmFibGVkOiBmYWxzZSB9XG4gKiAgIH1cbiAqIH0pXG4gKiBgYGBcbiAqIEB0eXBlIHtPYmplY3R9XG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbnZhciBEZWZhdWx0cyA9IHtcbiAgLyoqXG4gICAqIFBvcHBlcidzIHBsYWNlbWVudC5cbiAgICogQHByb3Age1BvcHBlci5wbGFjZW1lbnRzfSBwbGFjZW1lbnQ9J2JvdHRvbSdcbiAgICovXG4gIHBsYWNlbWVudDogJ2JvdHRvbScsXG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUgaWYgeW91IHdhbnQgcG9wcGVyIHRvIHBvc2l0aW9uIGl0IHNlbGYgaW4gJ2ZpeGVkJyBtb2RlXG4gICAqIEBwcm9wIHtCb29sZWFufSBwb3NpdGlvbkZpeGVkPWZhbHNlXG4gICAqL1xuICBwb3NpdGlvbkZpeGVkOiBmYWxzZSxcblxuICAvKipcbiAgICogV2hldGhlciBldmVudHMgKHJlc2l6ZSwgc2Nyb2xsKSBhcmUgaW5pdGlhbGx5IGVuYWJsZWQuXG4gICAqIEBwcm9wIHtCb29sZWFufSBldmVudHNFbmFibGVkPXRydWVcbiAgICovXG4gIGV2ZW50c0VuYWJsZWQ6IHRydWUsXG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBwb3BwZXIgd2hlblxuICAgKiB5b3UgY2FsbCB0aGUgYGRlc3Ryb3lgIG1ldGhvZC5cbiAgICogQHByb3Age0Jvb2xlYW59IHJlbW92ZU9uRGVzdHJveT1mYWxzZVxuICAgKi9cbiAgcmVtb3ZlT25EZXN0cm95OiBmYWxzZSxcblxuICAvKipcbiAgICogQ2FsbGJhY2sgY2FsbGVkIHdoZW4gdGhlIHBvcHBlciBpcyBjcmVhdGVkLjxiciAvPlxuICAgKiBCeSBkZWZhdWx0LCBpdCBpcyBzZXQgdG8gbm8tb3AuPGJyIC8+XG4gICAqIEFjY2VzcyBQb3BwZXIuanMgaW5zdGFuY2Ugd2l0aCBgZGF0YS5pbnN0YW5jZWAuXG4gICAqIEBwcm9wIHtvbkNyZWF0ZX1cbiAgICovXG4gIG9uQ3JlYXRlOiBmdW5jdGlvbiBvbkNyZWF0ZSgpIHt9LFxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayBjYWxsZWQgd2hlbiB0aGUgcG9wcGVyIGlzIHVwZGF0ZWQuIFRoaXMgY2FsbGJhY2sgaXMgbm90IGNhbGxlZFxuICAgKiBvbiB0aGUgaW5pdGlhbGl6YXRpb24vY3JlYXRpb24gb2YgdGhlIHBvcHBlciwgYnV0IG9ubHkgb24gc3Vic2VxdWVudFxuICAgKiB1cGRhdGVzLjxiciAvPlxuICAgKiBCeSBkZWZhdWx0LCBpdCBpcyBzZXQgdG8gbm8tb3AuPGJyIC8+XG4gICAqIEFjY2VzcyBQb3BwZXIuanMgaW5zdGFuY2Ugd2l0aCBgZGF0YS5pbnN0YW5jZWAuXG4gICAqIEBwcm9wIHtvblVwZGF0ZX1cbiAgICovXG4gIG9uVXBkYXRlOiBmdW5jdGlvbiBvblVwZGF0ZSgpIHt9LFxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG1vZGlmaWVycyB1c2VkIHRvIG1vZGlmeSB0aGUgb2Zmc2V0cyBiZWZvcmUgdGhleSBhcmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLlxuICAgKiBUaGV5IHByb3ZpZGUgbW9zdCBvZiB0aGUgZnVuY3Rpb25hbGl0aWVzIG9mIFBvcHBlci5qcy5cbiAgICogQHByb3Age21vZGlmaWVyc31cbiAgICovXG4gIG1vZGlmaWVyczogbW9kaWZpZXJzXG59O1xuXG4vKipcbiAqIEBjYWxsYmFjayBvbkNyZWF0ZVxuICogQHBhcmFtIHtkYXRhT2JqZWN0fSBkYXRhXG4gKi9cblxuLyoqXG4gKiBAY2FsbGJhY2sgb25VcGRhdGVcbiAqIEBwYXJhbSB7ZGF0YU9iamVjdH0gZGF0YVxuICovXG5cbi8vIFV0aWxzXG4vLyBNZXRob2RzXG52YXIgUG9wcGVyID0gZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBQb3BwZXIuanMgaW5zdGFuY2UuXG4gICAqIEBjbGFzcyBQb3BwZXJcbiAgICogQHBhcmFtIHtFbGVtZW50fHJlZmVyZW5jZU9iamVjdH0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSBlbGVtZW50IHVzZWQgdG8gcG9zaXRpb24gdGhlIHBvcHBlclxuICAgKiBAcGFyYW0ge0VsZW1lbnR9IHBvcHBlciAtIFRoZSBIVE1MIC8gWE1MIGVsZW1lbnQgdXNlZCBhcyB0aGUgcG9wcGVyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gWW91ciBjdXN0b20gb3B0aW9ucyB0byBvdmVycmlkZSB0aGUgb25lcyBkZWZpbmVkIGluIFtEZWZhdWx0c10oI2RlZmF1bHRzKVxuICAgKiBAcmV0dXJuIHtPYmplY3R9IGluc3RhbmNlIC0gVGhlIGdlbmVyYXRlZCBQb3BwZXIuanMgaW5zdGFuY2VcbiAgICovXG4gIGZ1bmN0aW9uIFBvcHBlcihyZWZlcmVuY2UsIHBvcHBlcikge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDoge307XG4gICAgY2xhc3NDYWxsQ2hlY2sodGhpcywgUG9wcGVyKTtcblxuICAgIHRoaXMuc2NoZWR1bGVVcGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKF90aGlzLnVwZGF0ZSk7XG4gICAgfTtcblxuICAgIC8vIG1ha2UgdXBkYXRlKCkgZGVib3VuY2VkLCBzbyB0aGF0IGl0IG9ubHkgcnVucyBhdCBtb3N0IG9uY2UtcGVyLXRpY2tcbiAgICB0aGlzLnVwZGF0ZSA9IGRlYm91bmNlKHRoaXMudXBkYXRlLmJpbmQodGhpcykpO1xuXG4gICAgLy8gd2l0aCB7fSB3ZSBjcmVhdGUgYSBuZXcgb2JqZWN0IHdpdGggdGhlIG9wdGlvbnMgaW5zaWRlIGl0XG4gICAgdGhpcy5vcHRpb25zID0gX2V4dGVuZHMoe30sIFBvcHBlci5EZWZhdWx0cywgb3B0aW9ucyk7XG5cbiAgICAvLyBpbml0IHN0YXRlXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGlzRGVzdHJveWVkOiBmYWxzZSxcbiAgICAgIGlzQ3JlYXRlZDogZmFsc2UsXG4gICAgICBzY3JvbGxQYXJlbnRzOiBbXVxuICAgIH07XG5cbiAgICAvLyBnZXQgcmVmZXJlbmNlIGFuZCBwb3BwZXIgZWxlbWVudHMgKGFsbG93IGpRdWVyeSB3cmFwcGVycylcbiAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZSAmJiByZWZlcmVuY2UuanF1ZXJ5ID8gcmVmZXJlbmNlWzBdIDogcmVmZXJlbmNlO1xuICAgIHRoaXMucG9wcGVyID0gcG9wcGVyICYmIHBvcHBlci5qcXVlcnkgPyBwb3BwZXJbMF0gOiBwb3BwZXI7XG5cbiAgICAvLyBEZWVwIG1lcmdlIG1vZGlmaWVycyBvcHRpb25zXG4gICAgdGhpcy5vcHRpb25zLm1vZGlmaWVycyA9IHt9O1xuICAgIE9iamVjdC5rZXlzKF9leHRlbmRzKHt9LCBQb3BwZXIuRGVmYXVsdHMubW9kaWZpZXJzLCBvcHRpb25zLm1vZGlmaWVycykpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIF90aGlzLm9wdGlvbnMubW9kaWZpZXJzW25hbWVdID0gX2V4dGVuZHMoe30sIFBvcHBlci5EZWZhdWx0cy5tb2RpZmllcnNbbmFtZV0gfHwge30sIG9wdGlvbnMubW9kaWZpZXJzID8gb3B0aW9ucy5tb2RpZmllcnNbbmFtZV0gOiB7fSk7XG4gICAgfSk7XG5cbiAgICAvLyBSZWZhY3RvcmluZyBtb2RpZmllcnMnIGxpc3QgKE9iamVjdCA9PiBBcnJheSlcbiAgICB0aGlzLm1vZGlmaWVycyA9IE9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5tb2RpZmllcnMpLm1hcChmdW5jdGlvbiAobmFtZSkge1xuICAgICAgcmV0dXJuIF9leHRlbmRzKHtcbiAgICAgICAgbmFtZTogbmFtZVxuICAgICAgfSwgX3RoaXMub3B0aW9ucy5tb2RpZmllcnNbbmFtZV0pO1xuICAgIH0pXG4gICAgLy8gc29ydCB0aGUgbW9kaWZpZXJzIGJ5IG9yZGVyXG4gICAgLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHJldHVybiBhLm9yZGVyIC0gYi5vcmRlcjtcbiAgICB9KTtcblxuICAgIC8vIG1vZGlmaWVycyBoYXZlIHRoZSBhYmlsaXR5IHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgd2hlbiBQb3BwZXIuanMgZ2V0IGluaXRlZFxuICAgIC8vIHN1Y2ggY29kZSBpcyBleGVjdXRlZCBpbiB0aGUgc2FtZSBvcmRlciBvZiBpdHMgbW9kaWZpZXJcbiAgICAvLyB0aGV5IGNvdWxkIGFkZCBuZXcgcHJvcGVydGllcyB0byB0aGVpciBvcHRpb25zIGNvbmZpZ3VyYXRpb25cbiAgICAvLyBCRSBBV0FSRTogZG9uJ3QgYWRkIG9wdGlvbnMgdG8gYG9wdGlvbnMubW9kaWZpZXJzLm5hbWVgIGJ1dCB0byBgbW9kaWZpZXJPcHRpb25zYCFcbiAgICB0aGlzLm1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChtb2RpZmllck9wdGlvbnMpIHtcbiAgICAgIGlmIChtb2RpZmllck9wdGlvbnMuZW5hYmxlZCAmJiBpc0Z1bmN0aW9uKG1vZGlmaWVyT3B0aW9ucy5vbkxvYWQpKSB7XG4gICAgICAgIG1vZGlmaWVyT3B0aW9ucy5vbkxvYWQoX3RoaXMucmVmZXJlbmNlLCBfdGhpcy5wb3BwZXIsIF90aGlzLm9wdGlvbnMsIG1vZGlmaWVyT3B0aW9ucywgX3RoaXMuc3RhdGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gZmlyZSB0aGUgZmlyc3QgdXBkYXRlIHRvIHBvc2l0aW9uIHRoZSBwb3BwZXIgaW4gdGhlIHJpZ2h0IHBsYWNlXG4gICAgdGhpcy51cGRhdGUoKTtcblxuICAgIHZhciBldmVudHNFbmFibGVkID0gdGhpcy5vcHRpb25zLmV2ZW50c0VuYWJsZWQ7XG4gICAgaWYgKGV2ZW50c0VuYWJsZWQpIHtcbiAgICAgIC8vIHNldHVwIGV2ZW50IGxpc3RlbmVycywgdGhleSB3aWxsIHRha2UgY2FyZSBvZiB1cGRhdGUgdGhlIHBvc2l0aW9uIGluIHNwZWNpZmljIHNpdHVhdGlvbnNcbiAgICAgIHRoaXMuZW5hYmxlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQgPSBldmVudHNFbmFibGVkO1xuICB9XG5cbiAgLy8gV2UgY2FuJ3QgdXNlIGNsYXNzIHByb3BlcnRpZXMgYmVjYXVzZSB0aGV5IGRvbid0IGdldCBsaXN0ZWQgaW4gdGhlXG4gIC8vIGNsYXNzIHByb3RvdHlwZSBhbmQgYnJlYWsgc3R1ZmYgbGlrZSBTaW5vbiBzdHVic1xuXG5cbiAgY3JlYXRlQ2xhc3MoUG9wcGVyLCBbe1xuICAgIGtleTogJ3VwZGF0ZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHVwZGF0ZSQkMSgpIHtcbiAgICAgIHJldHVybiB1cGRhdGUuY2FsbCh0aGlzKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdkZXN0cm95JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSQkMSgpIHtcbiAgICAgIHJldHVybiBkZXN0cm95LmNhbGwodGhpcyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnZW5hYmxlRXZlbnRMaXN0ZW5lcnMnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBlbmFibGVFdmVudExpc3RlbmVycyQkMSgpIHtcbiAgICAgIHJldHVybiBlbmFibGVFdmVudExpc3RlbmVycy5jYWxsKHRoaXMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2Rpc2FibGVFdmVudExpc3RlbmVycycsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRpc2FibGVFdmVudExpc3RlbmVycyQkMSgpIHtcbiAgICAgIHJldHVybiBkaXNhYmxlRXZlbnRMaXN0ZW5lcnMuY2FsbCh0aGlzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTY2hlZHVsZXMgYW4gdXBkYXRlLiBJdCB3aWxsIHJ1biBvbiB0aGUgbmV4dCBVSSB1cGRhdGUgYXZhaWxhYmxlLlxuICAgICAqIEBtZXRob2Qgc2NoZWR1bGVVcGRhdGVcbiAgICAgKiBAbWVtYmVyb2YgUG9wcGVyXG4gICAgICovXG5cblxuICAgIC8qKlxuICAgICAqIENvbGxlY3Rpb24gb2YgdXRpbGl0aWVzIHVzZWZ1bCB3aGVuIHdyaXRpbmcgY3VzdG9tIG1vZGlmaWVycy5cbiAgICAgKiBTdGFydGluZyBmcm9tIHZlcnNpb24gMS43LCB0aGlzIG1ldGhvZCBpcyBhdmFpbGFibGUgb25seSBpZiB5b3VcbiAgICAgKiBpbmNsdWRlIGBwb3BwZXItdXRpbHMuanNgIGJlZm9yZSBgcG9wcGVyLmpzYC5cbiAgICAgKlxuICAgICAqICoqREVQUkVDQVRJT04qKjogVGhpcyB3YXkgdG8gYWNjZXNzIFBvcHBlclV0aWxzIGlzIGRlcHJlY2F0ZWRcbiAgICAgKiBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHYyISBVc2UgdGhlIFBvcHBlclV0aWxzIG1vZHVsZSBkaXJlY3RseSBpbnN0ZWFkLlxuICAgICAqIER1ZSB0byB0aGUgaGlnaCBpbnN0YWJpbGl0eSBvZiB0aGUgbWV0aG9kcyBjb250YWluZWQgaW4gVXRpbHMsIHdlIGNhbid0XG4gICAgICogZ3VhcmFudGVlIHRoZW0gdG8gZm9sbG93IHNlbXZlci4gVXNlIHRoZW0gYXQgeW91ciBvd24gcmlzayFcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMS44XG4gICAgICogQG1lbWJlciBVdGlsc1xuICAgICAqIEBtZW1iZXJvZiBQb3BwZXJcbiAgICAgKi9cblxuICB9XSk7XG4gIHJldHVybiBQb3BwZXI7XG59KCk7XG5cbi8qKlxuICogVGhlIGByZWZlcmVuY2VPYmplY3RgIGlzIGFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIGFuIGludGVyZmFjZSBjb21wYXRpYmxlIHdpdGggUG9wcGVyLmpzXG4gKiBhbmQgbGV0cyB5b3UgdXNlIGl0IGFzIHJlcGxhY2VtZW50IG9mIGEgcmVhbCBET00gbm9kZS48YnIgLz5cbiAqIFlvdSBjYW4gdXNlIHRoaXMgbWV0aG9kIHRvIHBvc2l0aW9uIGEgcG9wcGVyIHJlbGF0aXZlbHkgdG8gYSBzZXQgb2YgY29vcmRpbmF0ZXNcbiAqIGluIGNhc2UgeW91IGRvbid0IGhhdmUgYSBET00gbm9kZSB0byB1c2UgYXMgcmVmZXJlbmNlLlxuICpcbiAqIGBgYFxuICogbmV3IFBvcHBlcihyZWZlcmVuY2VPYmplY3QsIHBvcHBlck5vZGUpO1xuICogYGBgXG4gKlxuICogTkI6IFRoaXMgZmVhdHVyZSBpc24ndCBzdXBwb3J0ZWQgaW4gSW50ZXJuZXQgRXhwbG9yZXIgMTAuXG4gKiBAbmFtZSByZWZlcmVuY2VPYmplY3RcbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IGRhdGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0XG4gKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHNldCBvZiBjb29yZGluYXRlcyBjb21wYXRpYmxlIHdpdGggdGhlIG5hdGl2ZSBgZ2V0Qm91bmRpbmdDbGllbnRSZWN0YCBtZXRob2QuXG4gKiBAcHJvcGVydHkge251bWJlcn0gZGF0YS5jbGllbnRXaWR0aFxuICogQW4gRVM2IGdldHRlciB0aGF0IHdpbGwgcmV0dXJuIHRoZSB3aWR0aCBvZiB0aGUgdmlydHVhbCByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBkYXRhLmNsaWVudEhlaWdodFxuICogQW4gRVM2IGdldHRlciB0aGF0IHdpbGwgcmV0dXJuIHRoZSBoZWlnaHQgb2YgdGhlIHZpcnR1YWwgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKi9cblxuXG5Qb3BwZXIuVXRpbHMgPSAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiBnbG9iYWwpLlBvcHBlclV0aWxzO1xuUG9wcGVyLnBsYWNlbWVudHMgPSBwbGFjZW1lbnRzO1xuUG9wcGVyLkRlZmF1bHRzID0gRGVmYXVsdHM7XG5cbmV4cG9ydCBkZWZhdWx0IFBvcHBlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBvcHBlci5qcy5tYXBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3BvcHBlci5qcy9kaXN0L2VzbS9wb3BwZXIuanNcbi8vIG1vZHVsZSBpZCA9IDEyNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///125\n"); + +/***/ }), +/* 126 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BDropdownItem; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link_link__ = __webpack_require__(14);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\nvar props = Object(__WEBPACK_IMPORTED_MODULE_3__link_link__[\"b\" /* propsFactory */])(); // @vue/component\n\nvar BDropdownItem =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BDropdownItem',\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props: _objectSpread({}, props, {\n variant: {\n type: String,\n default: null\n }\n }),\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow <b-link> time to process\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"w\" /* requestAF */])(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(evt) {\n this.$emit('click', evt);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n return h('li', {\n attrs: {\n role: 'presentation'\n }\n }, [h(__WEBPACK_IMPORTED_MODULE_3__link_link__[\"a\" /* BLink */], {\n props: this.$props,\n staticClass: 'dropdown-item',\n class: _defineProperty({}, \"text-\".concat(this.variant), this.variant && !(this.active || this.disabled)),\n attrs: _objectSpread({}, this.$attrs, {\n role: 'menuitem'\n }),\n on: {\n click: this.onClick\n },\n ref: 'item'\n }, this.normalizeSlot('default'))]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1pdGVtLmpzPzA3YjAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNVO0FBQ2dCO0FBQ1c7QUFDaEUsWUFBWSx3RUFBZ0IsR0FBRzs7QUFFL0I7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxXQUFXLHVFQUFpQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNLHFFQUFTO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxLQUFLLHlEQUFLO0FBQ2Y7QUFDQTtBQUNBLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0I7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTI2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgcmVxdWVzdEFGIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCBub21hbGl6ZVNsb3RNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvbm9ybWFsaXplLXNsb3QnO1xuaW1wb3J0IHsgQkxpbmssIHByb3BzRmFjdG9yeSBhcyBsaW5rUHJvcHNGYWN0b3J5IH0gZnJvbSAnLi4vbGluay9saW5rJztcbmV4cG9ydCB2YXIgcHJvcHMgPSBsaW5rUHJvcHNGYWN0b3J5KCk7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkRyb3Bkb3duSXRlbSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JEcm9wZG93bkl0ZW0nLFxuICBtaXhpbnM6IFtub21hbGl6ZVNsb3RNaXhpbl0sXG4gIGluaGVyaXRBdHRyczogZmFsc2UsXG4gIGluamVjdDoge1xuICAgIGJ2RHJvcGRvd246IHtcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0sXG4gIHByb3BzOiBfb2JqZWN0U3ByZWFkKHt9LCBwcm9wcywge1xuICAgIHZhcmlhbnQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0pLFxuICBtZXRob2RzOiB7XG4gICAgY2xvc2VEcm9wZG93bjogZnVuY3Rpb24gY2xvc2VEcm9wZG93bigpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIC8vIENsb3NlIG9uIG5leHQgYW5pbWF0aW9uIGZyYW1lIHRvIGFsbG93IDxiLWxpbms+IHRpbWUgdG8gcHJvY2Vzc1xuICAgICAgcmVxdWVzdEFGKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKF90aGlzLmJ2RHJvcGRvd24pIHtcbiAgICAgICAgICBfdGhpcy5idkRyb3Bkb3duLmhpZGUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG4gICAgb25DbGljazogZnVuY3Rpb24gb25DbGljayhldnQpIHtcbiAgICAgIHRoaXMuJGVtaXQoJ2NsaWNrJywgZXZ0KTtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHJldHVybiBoKCdsaScsIHtcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6ICdwcmVzZW50YXRpb24nXG4gICAgICB9XG4gICAgfSwgW2goQkxpbmssIHtcbiAgICAgIHByb3BzOiB0aGlzLiRwcm9wcyxcbiAgICAgIHN0YXRpY0NsYXNzOiAnZHJvcGRvd24taXRlbScsXG4gICAgICBjbGFzczogX2RlZmluZVByb3BlcnR5KHt9LCBcInRleHQtXCIuY29uY2F0KHRoaXMudmFyaWFudCksIHRoaXMudmFyaWFudCAmJiAhKHRoaXMuYWN0aXZlIHx8IHRoaXMuZGlzYWJsZWQpKSxcbiAgICAgIGF0dHJzOiBfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLiRhdHRycywge1xuICAgICAgICByb2xlOiAnbWVudWl0ZW0nXG4gICAgICB9KSxcbiAgICAgIG9uOiB7XG4gICAgICAgIGNsaWNrOiB0aGlzLm9uQ2xpY2tcbiAgICAgIH0sXG4gICAgICByZWY6ICdpdGVtJ1xuICAgIH0sIHRoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcpKV0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0uanNcbi8vIG1vZHVsZSBpZCA9IDEyNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///126\n"); + +/***/ }), +/* 127 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BDropdownItemButton; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__ = __webpack_require__(5);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\nvar props = {\n active: {\n type: Boolean,\n default: false\n },\n activeClass: {\n type: String,\n default: 'active'\n },\n disabled: {\n type: Boolean,\n default: false\n },\n variant: {\n type: String,\n default: null\n }\n}; // @vue/component\n\nvar BDropdownItemButton =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BDropdownItemButton',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props: props,\n methods: {\n closeDropdown: function closeDropdown() {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true);\n }\n },\n onClick: function onClick(evt) {\n this.$emit('click', evt);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var _class;\n\n return h('li', {\n attrs: {\n role: 'presentation'\n }\n }, [h('button', {\n staticClass: 'dropdown-item',\n class: (_class = {}, _defineProperty(_class, this.activeClass, this.active), _defineProperty(_class, \"text-\".concat(this.variant), this.variant && !(this.active || this.disabled)), _class),\n attrs: _objectSpread({}, this.$attrs, {\n role: 'menuitem',\n type: 'button',\n disabled: this.disabled\n }),\n on: {\n click: this.onClick\n },\n ref: 'button'\n }, this.normalizeSlot('default'))]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1pdGVtLWJ1dHRvbi5qcz9lMDcyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUMwQjtBQUNyRDtBQUNQO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsdUVBQWlCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgbm9tYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIGFjdGl2ZToge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgYWN0aXZlQ2xhc3M6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2FjdGl2ZSdcbiAgfSxcbiAgZGlzYWJsZWQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIHZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJEcm9wZG93bkl0ZW1CdXR0b24gPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCRHJvcGRvd25JdGVtQnV0dG9uJyxcbiAgbWl4aW5zOiBbbm9tYWxpemVTbG90TWl4aW5dLFxuICBpbmhlcml0QXR0cnM6IGZhbHNlLFxuICBpbmplY3Q6IHtcbiAgICBidkRyb3Bkb3duOiB7XG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfVxuICB9LFxuICBwcm9wczogcHJvcHMsXG4gIG1ldGhvZHM6IHtcbiAgICBjbG9zZURyb3Bkb3duOiBmdW5jdGlvbiBjbG9zZURyb3Bkb3duKCkge1xuICAgICAgaWYgKHRoaXMuYnZEcm9wZG93bikge1xuICAgICAgICB0aGlzLmJ2RHJvcGRvd24uaGlkZSh0cnVlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soZXZ0KSB7XG4gICAgICB0aGlzLiRlbWl0KCdjbGljaycsIGV2dCk7XG4gICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICB2YXIgX2NsYXNzO1xuXG4gICAgcmV0dXJuIGgoJ2xpJywge1xuICAgICAgYXR0cnM6IHtcbiAgICAgICAgcm9sZTogJ3ByZXNlbnRhdGlvbidcbiAgICAgIH1cbiAgICB9LCBbaCgnYnV0dG9uJywge1xuICAgICAgc3RhdGljQ2xhc3M6ICdkcm9wZG93bi1pdGVtJyxcbiAgICAgIGNsYXNzOiAoX2NsYXNzID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3MsIHRoaXMuYWN0aXZlQ2xhc3MsIHRoaXMuYWN0aXZlKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJ0ZXh0LVwiLmNvbmNhdCh0aGlzLnZhcmlhbnQpLCB0aGlzLnZhcmlhbnQgJiYgISh0aGlzLmFjdGl2ZSB8fCB0aGlzLmRpc2FibGVkKSksIF9jbGFzcyksXG4gICAgICBhdHRyczogX29iamVjdFNwcmVhZCh7fSwgdGhpcy4kYXR0cnMsIHtcbiAgICAgICAgcm9sZTogJ21lbnVpdGVtJyxcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkXG4gICAgICB9KSxcbiAgICAgIG9uOiB7XG4gICAgICAgIGNsaWNrOiB0aGlzLm9uQ2xpY2tcbiAgICAgIH0sXG4gICAgICByZWY6ICdidXR0b24nXG4gICAgfSwgdGhpcy5ub3JtYWxpemVTbG90KCdkZWZhdWx0JykpXSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24taXRlbS1idXR0b24uanNcbi8vIG1vZHVsZSBpZCA9IDEyN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///127\n"); + +/***/ }), +/* 128 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BDropdownHeader; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\nvar props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'header'\n },\n variant: {\n type: String,\n default: null\n }\n}; // @vue/component\n\nvar BDropdownHeader =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BDropdownHeader',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var $attrs = data.attrs || {};\n data.attrs = {};\n return h('li', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n attrs: {\n role: 'presentation'\n }\n }), [h(props.tag, {\n staticClass: 'dropdown-header',\n class: _defineProperty({}, \"text-\".concat(props.variant), props.variant),\n attrs: _objectSpread({}, $attrs, {\n id: props.id || null,\n role: 'heading'\n }),\n ref: 'header'\n }, children)]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1oZWFkZXIuanM/YTAzZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7QUFDL0M7QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsb0ZBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIGlkOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgdGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdoZWFkZXInXG4gIH0sXG4gIHZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJEcm9wZG93bkhlYWRlciA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JEcm9wZG93bkhlYWRlcicsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICB2YXIgJGF0dHJzID0gZGF0YS5hdHRycyB8fCB7fTtcbiAgICBkYXRhLmF0dHJzID0ge307XG4gICAgcmV0dXJuIGgoJ2xpJywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6ICdwcmVzZW50YXRpb24nXG4gICAgICB9XG4gICAgfSksIFtoKHByb3BzLnRhZywge1xuICAgICAgc3RhdGljQ2xhc3M6ICdkcm9wZG93bi1oZWFkZXInLFxuICAgICAgY2xhc3M6IF9kZWZpbmVQcm9wZXJ0eSh7fSwgXCJ0ZXh0LVwiLmNvbmNhdChwcm9wcy52YXJpYW50KSwgcHJvcHMudmFyaWFudCksXG4gICAgICBhdHRyczogX29iamVjdFNwcmVhZCh7fSwgJGF0dHJzLCB7XG4gICAgICAgIGlkOiBwcm9wcy5pZCB8fCBudWxsLFxuICAgICAgICByb2xlOiAnaGVhZGluZydcbiAgICAgIH0pLFxuICAgICAgcmVmOiAnaGVhZGVyJ1xuICAgIH0sIGNoaWxkcmVuKV0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWhlYWRlci5qc1xuLy8gbW9kdWxlIGlkID0gMTI4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///128\n"); + +/***/ }), +/* 129 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BDropdownDivider; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\nvar props = {\n tag: {\n type: String,\n default: 'hr'\n }\n}; // @vue/component\n\nvar BDropdownDivider =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BDropdownDivider',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var $attrs = data.attrs || {};\n data.attrs = {};\n return h('li', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n attrs: {\n role: 'presentation'\n }\n }), [h(props.tag, {\n staticClass: 'dropdown-divider',\n attrs: _objectSpread({}, $attrs, {\n role: 'separator',\n 'aria-orientation': 'horizontal'\n }),\n ref: 'divider'\n })]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1kaXZpZGVyLmpzP2JmNWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQy9DO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsb0ZBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjEyOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgdGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdocidcbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCRHJvcGRvd25EaXZpZGVyID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkRyb3Bkb3duRGl2aWRlcicsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGE7XG4gICAgdmFyICRhdHRycyA9IGRhdGEuYXR0cnMgfHwge307XG4gICAgZGF0YS5hdHRycyA9IHt9O1xuICAgIHJldHVybiBoKCdsaScsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBhdHRyczoge1xuICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJ1xuICAgICAgfVxuICAgIH0pLCBbaChwcm9wcy50YWcsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnZHJvcGRvd24tZGl2aWRlcicsXG4gICAgICBhdHRyczogX29iamVjdFNwcmVhZCh7fSwgJGF0dHJzLCB7XG4gICAgICAgIHJvbGU6ICdzZXBhcmF0b3InLFxuICAgICAgICAnYXJpYS1vcmllbnRhdGlvbic6ICdob3Jpem9udGFsJ1xuICAgICAgfSksXG4gICAgICByZWY6ICdkaXZpZGVyJ1xuICAgIH0pXSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tZGl2aWRlci5qc1xuLy8gbW9kdWxlIGlkID0gMTI5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///129\n"); + +/***/ }), +/* 130 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BDropdownForm; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__form_form__ = __webpack_require__(42);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\nvar BDropdownForm =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BDropdownForm',\n functional: true,\n props: _objectSpread({}, __WEBPACK_IMPORTED_MODULE_2__form_form__[\"b\" /* props */], {\n disabled: {\n type: Boolean,\n default: false\n }\n }),\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var $attrs = data.attrs || {};\n var $listeners = data.on || {};\n data.attrs = {};\n data.on = {};\n return h('li', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n attrs: {\n role: 'presentation'\n }\n }), [h(__WEBPACK_IMPORTED_MODULE_2__form_form__[\"a\" /* BForm */], {\n ref: 'form',\n staticClass: 'b-dropdown-form',\n class: {\n disabled: props.disabled\n },\n props: props,\n attrs: _objectSpread({}, $attrs, {\n disabled: props.disabled,\n // Tab index of -1 for keyboard navigation\n tabindex: props.disabled ? null : '-1'\n }),\n on: $listeners\n }, children)]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1mb3JtLmpzPzI1ZmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ0c7QUFDbEQ7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBLHlCQUF5QixFQUFFLHlEQUFTO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsb0ZBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsS0FBSyxNQUFNLHlEQUFLO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTMwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgeyBCRm9ybSwgcHJvcHMgYXMgZm9ybVByb3BzIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcbmV4cG9ydCB2YXIgQkRyb3Bkb3duRm9ybSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JEcm9wZG93bkZvcm0nLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogX29iamVjdFNwcmVhZCh7fSwgZm9ybVByb3BzLCB7XG4gICAgZGlzYWJsZWQ6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH1cbiAgfSksXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgdmFyICRhdHRycyA9IGRhdGEuYXR0cnMgfHwge307XG4gICAgdmFyICRsaXN0ZW5lcnMgPSBkYXRhLm9uIHx8IHt9O1xuICAgIGRhdGEuYXR0cnMgPSB7fTtcbiAgICBkYXRhLm9uID0ge307XG4gICAgcmV0dXJuIGgoJ2xpJywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6ICdwcmVzZW50YXRpb24nXG4gICAgICB9XG4gICAgfSksIFtoKEJGb3JtLCB7XG4gICAgICByZWY6ICdmb3JtJyxcbiAgICAgIHN0YXRpY0NsYXNzOiAnYi1kcm9wZG93bi1mb3JtJyxcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGRpc2FibGVkOiBwcm9wcy5kaXNhYmxlZFxuICAgICAgfSxcbiAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgIGF0dHJzOiBfb2JqZWN0U3ByZWFkKHt9LCAkYXR0cnMsIHtcbiAgICAgICAgZGlzYWJsZWQ6IHByb3BzLmRpc2FibGVkLFxuICAgICAgICAvLyBUYWIgaW5kZXggb2YgLTEgZm9yIGtleWJvYXJkIG5hdmlnYXRpb25cbiAgICAgICAgdGFiaW5kZXg6IHByb3BzLmRpc2FibGVkID8gbnVsbCA6ICctMSdcbiAgICAgIH0pLFxuICAgICAgb246ICRsaXN0ZW5lcnNcbiAgICB9LCBjaGlsZHJlbildKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1mb3JtLmpzXG4vLyBtb2R1bGUgaWQgPSAxMzBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///130\n"); + +/***/ }), +/* 131 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BDropdownText; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\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\n\n // @vue/component\n\nvar BDropdownText =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BDropdownText',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'p'\n },\n variant: {\n type: String,\n default: null\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var $attrs = data.attrs || {};\n data.attrs = {};\n return h('li', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n attrs: {\n role: 'presentation'\n }\n }), [h(props.tag, {\n staticClass: 'b-dropdown-text',\n class: _defineProperty({}, \"text-\".concat(props.variant), props.variant),\n props: props,\n attrs: $attrs,\n ref: 'text'\n }, children)]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi10ZXh0LmpzP2ZkMzAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUEsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29COztBQUUvQztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG9GQUFTO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjEzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJEcm9wZG93blRleHQgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCRHJvcGRvd25UZXh0JyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHtcbiAgICB0YWc6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICdwJ1xuICAgIH0sXG4gICAgdmFyaWFudDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICB2YXIgJGF0dHJzID0gZGF0YS5hdHRycyB8fCB7fTtcbiAgICBkYXRhLmF0dHJzID0ge307XG4gICAgcmV0dXJuIGgoJ2xpJywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6ICdwcmVzZW50YXRpb24nXG4gICAgICB9XG4gICAgfSksIFtoKHByb3BzLnRhZywge1xuICAgICAgc3RhdGljQ2xhc3M6ICdiLWRyb3Bkb3duLXRleHQnLFxuICAgICAgY2xhc3M6IF9kZWZpbmVQcm9wZXJ0eSh7fSwgXCJ0ZXh0LVwiLmNvbmNhdChwcm9wcy52YXJpYW50KSwgcHJvcHMudmFyaWFudCksXG4gICAgICBwcm9wczogcHJvcHMsXG4gICAgICBhdHRyczogJGF0dHJzLFxuICAgICAgcmVmOiAndGV4dCdcbiAgICB9LCBjaGlsZHJlbildKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi10ZXh0LmpzXG4vLyBtb2R1bGUgaWQgPSAxMzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///131\n"); + +/***/ }), +/* 132 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BDropdownGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_normalize_slot__ = __webpack_require__(18);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\nvar props = {\n id: {\n type: String,\n default: null\n },\n header: {\n type: String,\n default: null\n },\n headerTag: {\n type: String,\n default: 'header'\n },\n headerVariant: {\n type: String,\n default: null\n },\n headerClasses: {\n type: [String, Array, Object],\n default: null\n },\n ariaDescribedby: {\n type: String,\n default: null\n }\n}; // @vue/component\n\nvar BDropdownGroup =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BDropdownGroup',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var $attrs = data.attrs || {};\n data.attrs = {};\n var header;\n var headerId = null;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('header', $scopedSlots, $slots) || props.header) {\n headerId = props.id ? \"_bv_\".concat(props.id, \"_group_dd_header\") : null;\n header = h(props.headerTag, {\n staticClass: 'dropdown-header',\n class: [props.headerClasses, _defineProperty({}, \"text-\".concat(props.variant), props.variant)],\n attrs: {\n id: headerId,\n role: 'heading'\n }\n }, Object(__WEBPACK_IMPORTED_MODULE_2__utils_normalize_slot__[\"b\" /* normalizeSlot */])('header', {}, $scopedSlots, $slots) || props.header);\n }\n\n var adb = [headerId, props.ariaDescribedBy].filter(Boolean).join(' ').trim();\n return h('li', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n attrs: {\n role: 'presentation'\n }\n }), [header || h(), h('ul', {\n staticClass: 'list-unstyled',\n attrs: _objectSpread({}, $attrs, {\n id: props.id || null,\n role: 'group',\n 'aria-describedby': adb || null\n })\n }, Object(__WEBPACK_IMPORTED_MODULE_2__utils_normalize_slot__[\"b\" /* normalizeSlot */])('default', {}, $scopedSlots, $slots))]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1ncm91cC5qcz9mMWI0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ3dCO0FBQ3ZFO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLHdGQUFpQjtBQUN6QjtBQUNBO0FBQ0E7QUFDQSx1REFBdUQ7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLEVBQUUsb0ZBQWEsYUFBYTtBQUNuQzs7QUFFQTtBQUNBLG1CQUFtQixvRkFBUztBQUM1QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUssRUFBRSxvRkFBYSxjQUFjO0FBQ2xDO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IGhhc05vcm1hbGl6ZWRTbG90LCBub3JtYWxpemVTbG90IH0gZnJvbSAnLi4vLi4vdXRpbHMvbm9ybWFsaXplLXNsb3QnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgaWQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBoZWFkZXI6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBoZWFkZXJUYWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2hlYWRlcidcbiAgfSxcbiAgaGVhZGVyVmFyaWFudDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGhlYWRlckNsYXNzZXM6IHtcbiAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIGFyaWFEZXNjcmliZWRieToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkRyb3Bkb3duR3JvdXAgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCRHJvcGRvd25Hcm91cCcsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIHNsb3RzID0gX3JlZi5zbG90cyxcbiAgICAgICAgc2NvcGVkU2xvdHMgPSBfcmVmLnNjb3BlZFNsb3RzO1xuICAgIHZhciAkc2xvdHMgPSBzbG90cygpO1xuICAgIHZhciAkc2NvcGVkU2xvdHMgPSBzY29wZWRTbG90cyB8fCB7fTtcbiAgICB2YXIgJGF0dHJzID0gZGF0YS5hdHRycyB8fCB7fTtcbiAgICBkYXRhLmF0dHJzID0ge307XG4gICAgdmFyIGhlYWRlcjtcbiAgICB2YXIgaGVhZGVySWQgPSBudWxsO1xuXG4gICAgaWYgKGhhc05vcm1hbGl6ZWRTbG90KCdoZWFkZXInLCAkc2NvcGVkU2xvdHMsICRzbG90cykgfHwgcHJvcHMuaGVhZGVyKSB7XG4gICAgICBoZWFkZXJJZCA9IHByb3BzLmlkID8gXCJfYnZfXCIuY29uY2F0KHByb3BzLmlkLCBcIl9ncm91cF9kZF9oZWFkZXJcIikgOiBudWxsO1xuICAgICAgaGVhZGVyID0gaChwcm9wcy5oZWFkZXJUYWcsIHtcbiAgICAgICAgc3RhdGljQ2xhc3M6ICdkcm9wZG93bi1oZWFkZXInLFxuICAgICAgICBjbGFzczogW3Byb3BzLmhlYWRlckNsYXNzZXMsIF9kZWZpbmVQcm9wZXJ0eSh7fSwgXCJ0ZXh0LVwiLmNvbmNhdChwcm9wcy52YXJpYW50KSwgcHJvcHMudmFyaWFudCldLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGlkOiBoZWFkZXJJZCxcbiAgICAgICAgICByb2xlOiAnaGVhZGluZydcbiAgICAgICAgfVxuICAgICAgfSwgbm9ybWFsaXplU2xvdCgnaGVhZGVyJywge30sICRzY29wZWRTbG90cywgJHNsb3RzKSB8fCBwcm9wcy5oZWFkZXIpO1xuICAgIH1cblxuICAgIHZhciBhZGIgPSBbaGVhZGVySWQsIHByb3BzLmFyaWFEZXNjcmliZWRCeV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50cmltKCk7XG4gICAgcmV0dXJuIGgoJ2xpJywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6ICdwcmVzZW50YXRpb24nXG4gICAgICB9XG4gICAgfSksIFtoZWFkZXIgfHwgaCgpLCBoKCd1bCcsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnbGlzdC11bnN0eWxlZCcsXG4gICAgICBhdHRyczogX29iamVjdFNwcmVhZCh7fSwgJGF0dHJzLCB7XG4gICAgICAgIGlkOiBwcm9wcy5pZCB8fCBudWxsLFxuICAgICAgICByb2xlOiAnZ3JvdXAnLFxuICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGFkYiB8fCBudWxsXG4gICAgICB9KVxuICAgIH0sIG5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnLCB7fSwgJHNjb3BlZFNsb3RzLCAkc2xvdHMpKV0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWdyb3VwLmpzXG4vLyBtb2R1bGUgaWQgPSAxMzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///132\n"); + +/***/ }), +/* 133 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EmbedPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__embed__ = __webpack_require__(134);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BEmbed */\n\n\nvar EmbedPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BEmbed: __WEBPACK_IMPORTED_MODULE_0__embed__[\"a\" /* BEmbed */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9lbWJlZC9pbmRleC5qcz81ZTQxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlDO0FBQ21CO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsWUFBWSxzREFBTTtBQUNsQjtBQUNBLENBQUMiLCJmaWxlIjoiMTMzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkVtYmVkIH0gZnJvbSAnLi9lbWJlZCc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgRW1iZWRQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCRW1iZWQ6IEJFbWJlZFxuICB9XG59KTtcbmV4cG9ydCB7IEVtYmVkUGx1Z2luLCBCRW1iZWQgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2VtYmVkL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxMzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///133\n"); + +/***/ }), +/* 134 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BEmbed; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\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\n\n\n\nvar props = {\n type: {\n type: String,\n default: 'iframe',\n validator: function validator(str) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"a\" /* arrayIncludes */])(['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy'], str);\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n aspect: {\n type: String,\n default: '16by9'\n }\n}; // @vue/component\n\nvar BEmbed =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BEmbed',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, {\n ref: data.ref,\n staticClass: 'embed-responsive',\n class: _defineProperty({}, \"embed-responsive-\".concat(props.aspect), Boolean(props.aspect))\n }, [h(props.type, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n ref: '',\n staticClass: 'embed-responsive-item'\n }), children)]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9lbWJlZC9lbWJlZC5qcz8yZGQwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDb0I7QUFDSjtBQUMzQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSwyRUFBYTtBQUMxQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLEtBQUssaUJBQWlCLG9GQUFTO0FBQy9CO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjEzNC5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuaW1wb3J0IHsgYXJyYXlJbmNsdWRlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2FycmF5JztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIHR5cGU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2lmcmFtZScsXG4gICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3Ioc3RyKSB7XG4gICAgICByZXR1cm4gYXJyYXlJbmNsdWRlcyhbJ2lmcmFtZScsICdlbWJlZCcsICd2aWRlbycsICdvYmplY3QnLCAnaW1nJywgJ2ItaW1nJywgJ2ItaW1nLWxhenknXSwgc3RyKTtcbiAgICB9XG4gIH0sXG4gIHRhZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnZGl2J1xuICB9LFxuICBhc3BlY3Q6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJzE2Ynk5J1xuICB9XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJFbWJlZCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JFbWJlZCcsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICByZXR1cm4gaChwcm9wcy50YWcsIHtcbiAgICAgIHJlZjogZGF0YS5yZWYsXG4gICAgICBzdGF0aWNDbGFzczogJ2VtYmVkLXJlc3BvbnNpdmUnLFxuICAgICAgY2xhc3M6IF9kZWZpbmVQcm9wZXJ0eSh7fSwgXCJlbWJlZC1yZXNwb25zaXZlLVwiLmNvbmNhdChwcm9wcy5hc3BlY3QpLCBCb29sZWFuKHByb3BzLmFzcGVjdCkpXG4gICAgfSwgW2gocHJvcHMudHlwZSwgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHJlZjogJycsXG4gICAgICBzdGF0aWNDbGFzczogJ2VtYmVkLXJlc3BvbnNpdmUtaXRlbSdcbiAgICB9KSwgY2hpbGRyZW4pXSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZW1iZWQvZW1iZWQuanNcbi8vIG1vZHVsZSBpZCA9IDEzNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///134\n"); + +/***/ }), +/* 135 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FormPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__form__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__form_datalist__ = __webpack_require__(136);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__form_text__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__form_invalid_feedback__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__form_valid_feedback__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__layout_form_row__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BForm */\n/* unused harmony reexport BFormDatalist */\n/* unused harmony reexport BFormText */\n/* unused harmony reexport BFormInvalidFeedback */\n/* unused harmony reexport BFormValidFeedback */\n\n\n\n\n\n\n\nvar FormPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_6__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BForm: __WEBPACK_IMPORTED_MODULE_0__form__[\"a\" /* BForm */],\n BFormDatalist: __WEBPACK_IMPORTED_MODULE_1__form_datalist__[\"a\" /* BFormDatalist */],\n BDatalist: __WEBPACK_IMPORTED_MODULE_1__form_datalist__[\"a\" /* BFormDatalist */],\n BFormText: __WEBPACK_IMPORTED_MODULE_2__form_text__[\"a\" /* BFormText */],\n BFormInvalidFeedback: __WEBPACK_IMPORTED_MODULE_3__form_invalid_feedback__[\"a\" /* BFormInvalidFeedback */],\n BFormFeedback: __WEBPACK_IMPORTED_MODULE_3__form_invalid_feedback__[\"a\" /* BFormInvalidFeedback */],\n BFormValidFeedback: __WEBPACK_IMPORTED_MODULE_4__form_valid_feedback__[\"a\" /* BFormValidFeedback */],\n // Added here for convenience\n BFormRow: __WEBPACK_IMPORTED_MODULE_5__layout_form_row__[\"a\" /* BFormRow */]\n }\n}); // BFormRow is not exported here as a named export, as it is exported by Layout\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtL2luZGV4LmpzP2M0OTEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK0I7QUFDaUI7QUFDUjtBQUN1QjtBQUNKO0FBQ2I7QUFDTTtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLFdBQVcsb0RBQUs7QUFDaEIsbUJBQW1CLHFFQUFhO0FBQ2hDLGVBQWUscUVBQWE7QUFDNUIsZUFBZSw2REFBUztBQUN4QiwwQkFBMEIsb0ZBQW9CO0FBQzlDLG1CQUFtQixvRkFBb0I7QUFDdkMsd0JBQXdCLGdGQUFrQjtBQUMxQztBQUNBLGNBQWMsa0VBQVE7QUFDdEI7QUFDQSxDQUFDLEVBQUUiLCJmaWxlIjoiMTM1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkZvcm0gfSBmcm9tICcuL2Zvcm0nO1xuaW1wb3J0IHsgQkZvcm1EYXRhbGlzdCB9IGZyb20gJy4vZm9ybS1kYXRhbGlzdCc7XG5pbXBvcnQgeyBCRm9ybVRleHQgfSBmcm9tICcuL2Zvcm0tdGV4dCc7XG5pbXBvcnQgeyBCRm9ybUludmFsaWRGZWVkYmFjayB9IGZyb20gJy4vZm9ybS1pbnZhbGlkLWZlZWRiYWNrJztcbmltcG9ydCB7IEJGb3JtVmFsaWRGZWVkYmFjayB9IGZyb20gJy4vZm9ybS12YWxpZC1mZWVkYmFjayc7XG5pbXBvcnQgeyBCRm9ybVJvdyB9IGZyb20gJy4uL2xheW91dC9mb3JtLXJvdyc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgRm9ybVBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJGb3JtOiBCRm9ybSxcbiAgICBCRm9ybURhdGFsaXN0OiBCRm9ybURhdGFsaXN0LFxuICAgIEJEYXRhbGlzdDogQkZvcm1EYXRhbGlzdCxcbiAgICBCRm9ybVRleHQ6IEJGb3JtVGV4dCxcbiAgICBCRm9ybUludmFsaWRGZWVkYmFjazogQkZvcm1JbnZhbGlkRmVlZGJhY2ssXG4gICAgQkZvcm1GZWVkYmFjazogQkZvcm1JbnZhbGlkRmVlZGJhY2ssXG4gICAgQkZvcm1WYWxpZEZlZWRiYWNrOiBCRm9ybVZhbGlkRmVlZGJhY2ssXG4gICAgLy8gQWRkZWQgaGVyZSBmb3IgY29udmVuaWVuY2VcbiAgICBCRm9ybVJvdzogQkZvcm1Sb3dcbiAgfVxufSk7IC8vIEJGb3JtUm93IGlzIG5vdCBleHBvcnRlZCBoZXJlIGFzIGEgbmFtZWQgZXhwb3J0LCBhcyBpdCBpcyBleHBvcnRlZCBieSBMYXlvdXRcblxuZXhwb3J0IHsgRm9ybVBsdWdpbiwgQkZvcm0sIEJGb3JtRGF0YWxpc3QsIEJGb3JtVGV4dCwgQkZvcm1JbnZhbGlkRmVlZGJhY2ssIEJGb3JtVmFsaWRGZWVkYmFjayB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZm9ybS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTM1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///135\n"); + +/***/ }), +/* 136 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormDatalist; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_form_options__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_html__ = __webpack_require__(11);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n // @vue/component\n\nvar BFormDatalist =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormDatalist',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_form_options__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */]],\n props: {\n id: {\n type: String,\n default: null,\n required: true\n }\n },\n render: function render(h) {\n var options = this.formOptions.map(function (option, index) {\n return h('option', {\n key: \"option_\".concat(index, \"_opt\"),\n attrs: {\n disabled: option.disabled\n },\n domProps: _objectSpread({}, Object(__WEBPACK_IMPORTED_MODULE_3__utils_html__[\"a\" /* htmlOrText */])(option.html, option.text), {\n value: option.value\n })\n });\n });\n return h('datalist', {\n attrs: {\n id: this.id\n }\n }, [options, this.normalizeSlot('default')]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtL2Zvcm0tZGF0YWxpc3QuanM/ZDM2YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUN1QjtBQUNJO0FBQ2Y7O0FBRXZDO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVyxxRUFBZ0IsRUFBRSx1RUFBa0I7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxrQ0FBa0MsRUFBRSx1RUFBVTtBQUM5QztBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxMzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgZm9ybU9wdGlvbnNNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvZm9ybS1vcHRpb25zJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCB7IGh0bWxPclRleHQgfSBmcm9tICcuLi8uLi91dGlscy9odG1sJzsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCRm9ybURhdGFsaXN0ID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkZvcm1EYXRhbGlzdCcsXG4gIG1peGluczogW2Zvcm1PcHRpb25zTWl4aW4sIG5vcm1hbGl6ZVNsb3RNaXhpbl0sXG4gIHByb3BzOiB7XG4gICAgaWQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgICByZXF1aXJlZDogdHJ1ZVxuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBvcHRpb25zID0gdGhpcy5mb3JtT3B0aW9ucy5tYXAoZnVuY3Rpb24gKG9wdGlvbiwgaW5kZXgpIHtcbiAgICAgIHJldHVybiBoKCdvcHRpb24nLCB7XG4gICAgICAgIGtleTogXCJvcHRpb25fXCIuY29uY2F0KGluZGV4LCBcIl9vcHRcIiksXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgZGlzYWJsZWQ6IG9wdGlvbi5kaXNhYmxlZFxuICAgICAgICB9LFxuICAgICAgICBkb21Qcm9wczogX29iamVjdFNwcmVhZCh7fSwgaHRtbE9yVGV4dChvcHRpb24uaHRtbCwgb3B0aW9uLnRleHQpLCB7XG4gICAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZVxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGgoJ2RhdGFsaXN0Jywge1xuICAgICAgYXR0cnM6IHtcbiAgICAgICAgaWQ6IHRoaXMuaWRcbiAgICAgIH1cbiAgICB9LCBbb3B0aW9ucywgdGhpcy5ub3JtYWxpemVTbG90KCdkZWZhdWx0JyldKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtL2Zvcm0tZGF0YWxpc3QuanNcbi8vIG1vZHVsZSBpZCA9IDEzNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///136\n"); + +/***/ }), +/* 137 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FormGroupPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__form_group__ = __webpack_require__(138);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BFormGroup */\n\n\nvar FormGroupPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BFormGroup: __WEBPACK_IMPORTED_MODULE_0__form_group__[\"a\" /* BFormGroup */],\n BFormFieldset: __WEBPACK_IMPORTED_MODULE_0__form_group__[\"a\" /* BFormGroup */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWdyb3VwL2luZGV4LmpzPzJhODMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMEM7QUFDVTtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGdCQUFnQiwrREFBVTtBQUMxQixtQkFBbUIsK0RBQVU7QUFDN0I7QUFDQSxDQUFDIiwiZmlsZSI6IjEzNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm0tZ3JvdXAnO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIEZvcm1Hcm91cFBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJGb3JtR3JvdXA6IEJGb3JtR3JvdXAsXG4gICAgQkZvcm1GaWVsZHNldDogQkZvcm1Hcm91cFxuICB9XG59KTtcbmV4cG9ydCB7IEZvcm1Hcm91cFBsdWdpbiwgQkZvcm1Hcm91cCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZm9ybS1ncm91cC9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTM3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///137\n"); + +/***/ }), +/* 138 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_memoize__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_upper_first__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mixins_form_state__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__layout_col__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__layout_form_row__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__form_form_text__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__form_form_invalid_feedback__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__form_form_valid_feedback__ = __webpack_require__(68);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n// Utils\n\n\n\n\n\n\n\n // Mixins\n\n\n\n // Sub components\n\n\n\n\n\n // Component name\n\nvar NAME = 'BFormGroup'; // Selector for finding first input in the form-group\n\nvar SELECTOR = 'input:not([disabled]),textarea:not([disabled]),select:not([disabled])'; // Render helper functions (here rather than polluting the instance with more methods)\n\nvar renderInvalidFeedback = function renderInvalidFeedback(h, ctx) {\n var content = ctx.normalizeSlot('invalid-feedback') || ctx.invalidFeedback;\n var invalidFeedback = h();\n\n if (content) {\n invalidFeedback = h(__WEBPACK_IMPORTED_MODULE_14__form_form_invalid_feedback__[\"a\" /* BFormInvalidFeedback */], {\n props: {\n id: ctx.invalidFeedbackId,\n // If state is explicitly false, always show the feedback\n state: ctx.computedState,\n tooltip: ctx.tooltip,\n ariaLive: ctx.feedbackAriaLive,\n role: ctx.feedbackAriaLive ? 'alert' : null\n },\n attrs: {\n tabindex: content ? '-1' : null\n }\n }, [content]);\n }\n\n return invalidFeedback;\n};\n\nvar renderValidFeedback = function renderValidFeedback(h, ctx) {\n var content = ctx.normalizeSlot('valid-feedback') || ctx.validFeedback;\n var validFeedback = h();\n\n if (content) {\n validFeedback = h(__WEBPACK_IMPORTED_MODULE_15__form_form_valid_feedback__[\"a\" /* BFormValidFeedback */], {\n props: {\n id: ctx.validFeedbackId,\n // If state is explicitly true, always show the feedback\n state: ctx.computedState,\n tooltip: ctx.tooltip,\n ariaLive: ctx.feedbackAriaLive,\n role: ctx.feedbackAriaLive ? 'alert' : null\n },\n attrs: {\n tabindex: content ? '-1' : null\n }\n }, [content]);\n }\n\n return validFeedback;\n};\n\nvar renderHelpText = function renderHelpText(h, ctx) {\n // Form help text (description)\n var content = ctx.normalizeSlot('description') || ctx.description;\n var description = h();\n\n if (content) {\n description = h(__WEBPACK_IMPORTED_MODULE_13__form_form_text__[\"a\" /* BFormText */], {\n attrs: {\n id: ctx.descriptionId,\n tabindex: content ? '-1' : null\n }\n }, [content]);\n }\n\n return description;\n};\n\nvar renderLabel = function renderLabel(h, ctx) {\n // Render label/legend inside b-col if necessary\n var content = ctx.normalizeSlot('label') || ctx.label;\n var labelFor = ctx.labelFor;\n var isLegend = !labelFor;\n var isHorizontal = ctx.isHorizontal;\n var labelTag = isLegend ? 'legend' : 'label';\n\n if (!content && !isHorizontal) {\n return h();\n } else if (ctx.labelSrOnly) {\n var label = h();\n\n if (content) {\n label = h(labelTag, {\n class: 'sr-only',\n attrs: {\n id: ctx.labelId,\n for: labelFor || null\n }\n }, [content]);\n }\n\n return h(isHorizontal ? __WEBPACK_IMPORTED_MODULE_11__layout_col__[\"a\" /* BCol */] : 'div', {\n props: isHorizontal ? ctx.labelColProps : {}\n }, [label]);\n } else {\n return h(isHorizontal ? __WEBPACK_IMPORTED_MODULE_11__layout_col__[\"a\" /* BCol */] : labelTag, {\n on: isLegend ? {\n click: ctx.legendClick\n } : {},\n props: isHorizontal ? _objectSpread({\n tag: labelTag\n }, ctx.labelColProps) : {},\n attrs: {\n id: ctx.labelId,\n for: labelFor || null,\n // We add a tab index to legend so that screen readers\n // will properly read the aria-labelledby in IE.\n tabindex: isLegend ? '-1' : null\n },\n class: [// When horizontal or if a legend is rendered, add col-form-label\n // for correct sizing as Bootstrap has inconsistent font styling\n // for legend in non-horizontal form-groups.\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isLegend ? 'col-form-label' : '', // Emulate label padding top of 0 on legend when not horizontal\n !isHorizontal && isLegend ? 'pt-0' : '', // If not horizontal and not a legend, we add d-block to label\n // so that label-align works\n !isHorizontal && !isLegend ? 'd-block' : '', ctx.labelSize ? \"col-form-label-\".concat(ctx.labelSize) : '', ctx.labelAlignClasses, ctx.labelClass]\n }, [content]);\n }\n}; // -- BFormGroup Prop factory -- used for lazy generation of props\n// Memoize this function to return cached values to\n// save time in computed functions\n\n\nvar makePropName = Object(__WEBPACK_IMPORTED_MODULE_0__utils_memoize__[\"a\" /* default */])(function () {\n var breakpoint = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var prefix = arguments.length > 1 ? arguments[1] : undefined;\n return \"\".concat(prefix).concat(Object(__WEBPACK_IMPORTED_MODULE_1__utils_upper_first__[\"a\" /* default */])(breakpoint));\n}); // BFormGroup prop generator for lazy generation of props\n\nvar generateProps = function generateProps() {\n var BREAKPOINTS = Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"b\" /* getBreakpointsUpCached */])(); // Generate the labelCol breakpoint props\n\n var bpLabelColProps = BREAKPOINTS.reduce(function (props, breakpoint) {\n // i.e. label-cols, label-cols-sm, label-cols-md, ...\n props[makePropName(breakpoint, 'labelCols')] = {\n type: [Number, String, Boolean],\n default: breakpoint ? false : null\n };\n return props;\n }, Object(__WEBPACK_IMPORTED_MODULE_7__utils_object__[\"b\" /* create */])(null)); // Generate the labelAlign breakpoint props\n\n var bpLabelAlignProps = BREAKPOINTS.reduce(function (props, breakpoint) {\n // label-align, label-align-sm, label-align-md, ...\n props[makePropName(breakpoint, 'labelAlign')] = {\n type: String,\n // left, right, center\n default: null\n };\n return props;\n }, Object(__WEBPACK_IMPORTED_MODULE_7__utils_object__[\"b\" /* create */])(null));\n return _objectSpread({\n label: {\n type: String,\n default: null\n },\n labelFor: {\n type: String,\n default: null\n },\n labelSize: {\n type: String,\n default: null\n },\n labelSrOnly: {\n type: Boolean,\n default: false\n }\n }, bpLabelColProps, {}, bpLabelAlignProps, {\n labelClass: {\n type: [String, Array, Object],\n default: null\n },\n description: {\n type: String,\n default: null\n },\n invalidFeedback: {\n type: String,\n default: null\n },\n validFeedback: {\n type: String,\n default: null\n },\n tooltip: {\n // Enable tooltip style feedback\n type: Boolean,\n default: false\n },\n feedbackAriaLive: {\n type: String,\n default: 'assertive'\n },\n validated: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n }\n });\n}; // We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\n\nvar BFormGroup = {\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_9__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_8__mixins_form_state__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_10__mixins_normalize_slot__[\"a\" /* default */]],\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\n },\n\n computed: {\n labelColProps: function labelColProps() {\n var _this = this;\n\n var props = {};\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"b\" /* getBreakpointsUpCached */])().forEach(function (breakpoint) {\n // Grab the value if the label column breakpoint prop\n var propVal = _this[makePropName(breakpoint, 'labelCols')]; // Handle case where the prop's value is an empty string,\n // which represents true\n\n\n propVal = propVal === '' ? true : propVal || false;\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_6__utils_inspect__[\"b\" /* isBoolean */])(propVal)) {\n // Convert to column size to number\n propVal = parseInt(propVal, 10) || 0; // Ensure column size is greater than 0\n\n propVal = propVal > 0 ? propVal : false;\n }\n\n if (propVal) {\n // Add the prop to the list of props to give to b-col\n // If breakpoint is '' (labelCols=true), then we use the\n // col prop to make equal width at xs\n var bColPropName = breakpoint || (Object(__WEBPACK_IMPORTED_MODULE_6__utils_inspect__[\"b\" /* isBoolean */])(propVal) ? 'col' : 'cols'); // Add it to the props\n\n props[bColPropName] = propVal;\n }\n });\n return props;\n },\n labelAlignClasses: function labelAlignClasses() {\n var _this2 = this;\n\n var classes = [];\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"b\" /* getBreakpointsUpCached */])().forEach(function (breakpoint) {\n // Assemble the label column breakpoint align classes\n var propVal = _this2[makePropName(breakpoint, 'labelAlign')] || null;\n\n if (propVal) {\n var className = breakpoint ? \"text-\".concat(breakpoint, \"-\").concat(propVal) : \"text-\".concat(propVal);\n classes.push(className);\n }\n });\n return classes;\n },\n isHorizontal: function isHorizontal() {\n // Determine if the resultant form-group will be rendered\n // horizontal (meaning it has label-col breakpoints)\n return Object(__WEBPACK_IMPORTED_MODULE_7__utils_object__[\"j\" /* keys */])(this.labelColProps).length > 0;\n },\n labelId: function labelId() {\n return this.hasNormalizedSlot('label') || this.label ? this.safeId('_BV_label_') : null;\n },\n descriptionId: function descriptionId() {\n return this.hasNormalizedSlot('description') || this.description ? this.safeId('_BV_description_') : null;\n },\n hasInvalidFeedback: function hasInvalidFeedback() {\n // Used for computing aria-describedby\n return this.computedState === false && (this.hasNormalizedSlot('invalid-feedback') || this.invalidFeedback);\n },\n invalidFeedbackId: function invalidFeedbackId() {\n return this.hasInvalidFeedback ? this.safeId('_BV_feedback_invalid_') : null;\n },\n hasValidFeedback: function hasValidFeedback() {\n // Used for computing aria-describedby\n return this.computedState === true && (this.hasNormalizedSlot('valid-feedback') || this.validFeedback);\n },\n validFeedbackId: function validFeedbackId() {\n return this.hasValidFeedback ? this.safeId('_BV_feedback_valid_') : null;\n },\n describedByIds: function describedByIds() {\n // Screen readers will read out any content linked to by aria-describedby\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form-group's state is explicitly valid or invalid.\n return [this.descriptionId, this.invalidFeedbackId, this.validFeedbackId].filter(Boolean).join(' ') || null;\n }\n },\n watch: {\n describedByIds: function describedByIds(add, remove) {\n if (add !== remove) {\n this.setInputDescribedBy(add, remove);\n }\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.$nextTick(function () {\n // Set the aria-describedby IDs on the input specified by label-for\n // We do this in a nextTick to ensure the children have finished rendering\n _this3.setInputDescribedBy(_this3.describedByIds);\n });\n },\n methods: {\n legendClick: function legendClick(evt) {\n if (this.labelFor) {\n // Don't do anything if labelFor is set\n\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n return;\n }\n\n var tagName = evt.target ? evt.target.tagName : '';\n\n if (/^(input|select|textarea|label|button|a)$/i.test(tagName)) {\n // If clicked an interactive element inside legend,\n // we just let the default happen\n\n /* istanbul ignore next */\n return;\n }\n\n var inputs = Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"y\" /* selectAll */])(SELECTOR, this.$refs.content).filter(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"p\" /* isVisible */]);\n\n if (inputs && inputs.length === 1 && inputs[0].focus) {\n // if only a single input, focus it, emulating label behaviour\n inputs[0].focus();\n }\n },\n setInputDescribedBy: function setInputDescribedBy(add, remove) {\n // Sets the `aria-describedby` attribute on the input if label-for is set.\n // Optionally accepts a string of IDs to remove as the second parameter.\n // Preserves any aria-describedby value(s) user may have on input.\n if (this.labelFor && __WEBPACK_IMPORTED_MODULE_5__utils_env__[\"j\" /* isBrowser */]) {\n var input = Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"x\" /* select */])(\"#\".concat(this.labelFor), this.$refs.content);\n\n if (input) {\n var adb = 'aria-describedby';\n var ids = (Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"g\" /* getAttr */])(input, adb) || '').split(/\\s+/);\n add = (add || '').split(/\\s+/);\n remove = (remove || '').split(/\\s+/); // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n\n ids = ids.filter(function (id) {\n return !Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"a\" /* arrayIncludes */])(remove, id);\n }).concat(add).filter(Boolean);\n ids = Object(__WEBPACK_IMPORTED_MODULE_7__utils_object__[\"j\" /* keys */])(ids.reduce(function (memo, id) {\n return _objectSpread({}, memo, _defineProperty({}, id, true));\n }, {})).join(' ').trim();\n\n if (ids) {\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"z\" /* setAttr */])(input, adb, ids);\n } else {\n // No IDs, so remove the attribute\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_dom__[\"u\" /* removeAttr */])(input, adb);\n }\n }\n }\n }\n },\n render: function render(h) {\n var isFieldset = !this.labelFor;\n var isHorizontal = this.isHorizontal; // Generate the label\n\n var label = renderLabel(h, this); // Generate the content\n\n var content = h(isHorizontal ? __WEBPACK_IMPORTED_MODULE_11__layout_col__[\"a\" /* BCol */] : 'div', {\n ref: 'content',\n attrs: {\n tabindex: isFieldset ? '-1' : null,\n role: isFieldset ? 'group' : null\n }\n }, [this.normalizeSlot('default') || h(), renderInvalidFeedback(h, this), renderValidFeedback(h, this), renderHelpText(h, this)]); // Create the form-group\n\n var data = {\n staticClass: 'form-group',\n class: [this.validated ? 'was-validated' : null, this.stateClass],\n attrs: {\n id: this.safeId(),\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedState === false ? 'true' : null,\n // Only apply aria-labelledby if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? this.labelId : null,\n // Only apply aria-describedby IDs if we are a fieldset\n // as the input will have the IDs when not a fieldset\n 'aria-describedby': isFieldset ? this.describedByIds : null\n }\n }; // Return it wrapped in a form-group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n\n return h(isFieldset ? 'fieldset' : isHorizontal ? __WEBPACK_IMPORTED_MODULE_12__layout_form_row__[\"a\" /* BFormRow */] : 'div', data, isHorizontal && isFieldset ? [h(__WEBPACK_IMPORTED_MODULE_12__layout_form_row__[\"a\" /* BFormRow */], {}, [label, content])] : [label, content]);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWdyb3VwL2Zvcm0tZ3JvdXAuanM/MzdlYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUUvTTtBQUMwQztBQUNPO0FBQ0M7QUFDVTtBQUNpQztBQUNqRDtBQUNJO0FBQ0U7O0FBRUc7QUFDZjtBQUN1Qjs7QUFFeEI7QUFDUztBQUNBO0FBQ3VCO0FBQ0o7O0FBRWpFLHdCQUF3Qjs7QUFFeEIsdUZBQXVGOztBQUV2RjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0IsMEZBQW9CO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNCQUFzQixzRkFBa0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IsbUVBQVM7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBLDRCQUE0QiwwREFBSTtBQUNoQztBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0gsNEJBQTRCLDBEQUFJO0FBQ2hDO0FBQ0E7QUFDQSxPQUFPLEtBQUs7QUFDWjtBQUNBO0FBQ0EsT0FBTyx5QkFBeUI7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0EsbUJBQW1CLHVFQUFPO0FBQzFCO0FBQ0E7QUFDQSxrQ0FBa0MsMkVBQVU7QUFDNUMsQ0FBQyxFQUFFOztBQUVIO0FBQ0Esb0JBQW9CLHFGQUFzQixHQUFHOztBQUU3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsRUFBRSxxRUFBTSxRQUFROztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxFQUFFLHFFQUFNO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcscUJBQXFCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjtBQUNBOzs7QUFHTztBQUNQO0FBQ0EsV0FBVywyREFBTyxFQUFFLG1FQUFjLEVBQUUsd0VBQWtCOztBQUV0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjs7QUFFdEI7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU0scUZBQXNCO0FBQzVCO0FBQ0EsbUVBQW1FO0FBQ25FOzs7QUFHQTs7QUFFQSxhQUFhLHlFQUFTO0FBQ3RCO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLHlFQUFTLDRCQUE0Qjs7QUFFakY7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0EsTUFBTSxxRkFBc0I7QUFDNUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxhQUFhLG1FQUFJO0FBQ2pCLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixxRUFBUyxzQ0FBc0MsNkRBQVM7O0FBRTNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLDZEQUFTO0FBQ3BDLG9CQUFvQixrRUFBTTs7QUFFMUI7QUFDQTtBQUNBLHFCQUFxQixtRUFBTztBQUM1QjtBQUNBLCtDQUErQztBQUMvQzs7QUFFQTtBQUNBLG9CQUFvQiwyRUFBYTtBQUNqQyxXQUFXO0FBQ1gsZ0JBQWdCLG1FQUFJO0FBQ3BCLG1DQUFtQywwQkFBMEI7QUFDN0QsV0FBVyxJQUFJOztBQUVmO0FBQ0EsWUFBWSxtRUFBTztBQUNuQixXQUFXO0FBQ1g7QUFDQSxZQUFZLHNFQUFVO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSx5Q0FBeUM7O0FBRXpDLHFDQUFxQzs7QUFFckMsbUNBQW1DLDBEQUFJO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGlJQUFpSTs7QUFFdEk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQSxzREFBc0QsbUVBQVEsZ0RBQWdELG1FQUFRLElBQUk7QUFDMUg7QUFDQSIsImZpbGUiOiIxMzguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG4vLyBVdGlsc1xuaW1wb3J0IG1lbW9pemUgZnJvbSAnLi4vLi4vdXRpbHMvbWVtb2l6ZSc7XG5pbXBvcnQgdXBwZXJGaXJzdCBmcm9tICcuLi8uLi91dGlscy91cHBlci1maXJzdCc7XG5pbXBvcnQgeyBhcnJheUluY2x1ZGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgZ2V0QnJlYWtwb2ludHNVcENhY2hlZCB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBzZWxlY3QsIHNlbGVjdEFsbCwgaXNWaXNpYmxlLCBzZXRBdHRyLCByZW1vdmVBdHRyLCBnZXRBdHRyIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJy4uLy4uL3V0aWxzL2Vudic7XG5pbXBvcnQgeyBpc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7IGtleXMsIGNyZWF0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL29iamVjdCc7IC8vIE1peGluc1xuXG5pbXBvcnQgZm9ybVN0YXRlTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tc3RhdGUnO1xuaW1wb3J0IGlkTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2lkJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JzsgLy8gU3ViIGNvbXBvbmVudHNcblxuaW1wb3J0IHsgQkNvbCB9IGZyb20gJy4uL2xheW91dC9jb2wnO1xuaW1wb3J0IHsgQkZvcm1Sb3cgfSBmcm9tICcuLi9sYXlvdXQvZm9ybS1yb3cnO1xuaW1wb3J0IHsgQkZvcm1UZXh0IH0gZnJvbSAnLi4vZm9ybS9mb3JtLXRleHQnO1xuaW1wb3J0IHsgQkZvcm1JbnZhbGlkRmVlZGJhY2sgfSBmcm9tICcuLi9mb3JtL2Zvcm0taW52YWxpZC1mZWVkYmFjayc7XG5pbXBvcnQgeyBCRm9ybVZhbGlkRmVlZGJhY2sgfSBmcm9tICcuLi9mb3JtL2Zvcm0tdmFsaWQtZmVlZGJhY2snOyAvLyBDb21wb25lbnQgbmFtZVxuXG52YXIgTkFNRSA9ICdCRm9ybUdyb3VwJzsgLy8gU2VsZWN0b3IgZm9yIGZpbmRpbmcgZmlyc3QgaW5wdXQgaW4gdGhlIGZvcm0tZ3JvdXBcblxudmFyIFNFTEVDVE9SID0gJ2lucHV0Om5vdChbZGlzYWJsZWRdKSx0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksc2VsZWN0Om5vdChbZGlzYWJsZWRdKSc7IC8vIFJlbmRlciBoZWxwZXIgZnVuY3Rpb25zIChoZXJlIHJhdGhlciB0aGFuIHBvbGx1dGluZyB0aGUgaW5zdGFuY2Ugd2l0aCBtb3JlIG1ldGhvZHMpXG5cbnZhciByZW5kZXJJbnZhbGlkRmVlZGJhY2sgPSBmdW5jdGlvbiByZW5kZXJJbnZhbGlkRmVlZGJhY2soaCwgY3R4KSB7XG4gIHZhciBjb250ZW50ID0gY3R4Lm5vcm1hbGl6ZVNsb3QoJ2ludmFsaWQtZmVlZGJhY2snKSB8fCBjdHguaW52YWxpZEZlZWRiYWNrO1xuICB2YXIgaW52YWxpZEZlZWRiYWNrID0gaCgpO1xuXG4gIGlmIChjb250ZW50KSB7XG4gICAgaW52YWxpZEZlZWRiYWNrID0gaChCRm9ybUludmFsaWRGZWVkYmFjaywge1xuICAgICAgcHJvcHM6IHtcbiAgICAgICAgaWQ6IGN0eC5pbnZhbGlkRmVlZGJhY2tJZCxcbiAgICAgICAgLy8gSWYgc3RhdGUgaXMgZXhwbGljaXRseSBmYWxzZSwgYWx3YXlzIHNob3cgdGhlIGZlZWRiYWNrXG4gICAgICAgIHN0YXRlOiBjdHguY29tcHV0ZWRTdGF0ZSxcbiAgICAgICAgdG9vbHRpcDogY3R4LnRvb2x0aXAsXG4gICAgICAgIGFyaWFMaXZlOiBjdHguZmVlZGJhY2tBcmlhTGl2ZSxcbiAgICAgICAgcm9sZTogY3R4LmZlZWRiYWNrQXJpYUxpdmUgPyAnYWxlcnQnIDogbnVsbFxuICAgICAgfSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHRhYmluZGV4OiBjb250ZW50ID8gJy0xJyA6IG51bGxcbiAgICAgIH1cbiAgICB9LCBbY29udGVudF0pO1xuICB9XG5cbiAgcmV0dXJuIGludmFsaWRGZWVkYmFjaztcbn07XG5cbnZhciByZW5kZXJWYWxpZEZlZWRiYWNrID0gZnVuY3Rpb24gcmVuZGVyVmFsaWRGZWVkYmFjayhoLCBjdHgpIHtcbiAgdmFyIGNvbnRlbnQgPSBjdHgubm9ybWFsaXplU2xvdCgndmFsaWQtZmVlZGJhY2snKSB8fCBjdHgudmFsaWRGZWVkYmFjaztcbiAgdmFyIHZhbGlkRmVlZGJhY2sgPSBoKCk7XG5cbiAgaWYgKGNvbnRlbnQpIHtcbiAgICB2YWxpZEZlZWRiYWNrID0gaChCRm9ybVZhbGlkRmVlZGJhY2ssIHtcbiAgICAgIHByb3BzOiB7XG4gICAgICAgIGlkOiBjdHgudmFsaWRGZWVkYmFja0lkLFxuICAgICAgICAvLyBJZiBzdGF0ZSBpcyBleHBsaWNpdGx5IHRydWUsIGFsd2F5cyBzaG93IHRoZSBmZWVkYmFja1xuICAgICAgICBzdGF0ZTogY3R4LmNvbXB1dGVkU3RhdGUsXG4gICAgICAgIHRvb2x0aXA6IGN0eC50b29sdGlwLFxuICAgICAgICBhcmlhTGl2ZTogY3R4LmZlZWRiYWNrQXJpYUxpdmUsXG4gICAgICAgIHJvbGU6IGN0eC5mZWVkYmFja0FyaWFMaXZlID8gJ2FsZXJ0JyA6IG51bGxcbiAgICAgIH0sXG4gICAgICBhdHRyczoge1xuICAgICAgICB0YWJpbmRleDogY29udGVudCA/ICctMScgOiBudWxsXG4gICAgICB9XG4gICAgfSwgW2NvbnRlbnRdKTtcbiAgfVxuXG4gIHJldHVybiB2YWxpZEZlZWRiYWNrO1xufTtcblxudmFyIHJlbmRlckhlbHBUZXh0ID0gZnVuY3Rpb24gcmVuZGVySGVscFRleHQoaCwgY3R4KSB7XG4gIC8vIEZvcm0gaGVscCB0ZXh0IChkZXNjcmlwdGlvbilcbiAgdmFyIGNvbnRlbnQgPSBjdHgubm9ybWFsaXplU2xvdCgnZGVzY3JpcHRpb24nKSB8fCBjdHguZGVzY3JpcHRpb247XG4gIHZhciBkZXNjcmlwdGlvbiA9IGgoKTtcblxuICBpZiAoY29udGVudCkge1xuICAgIGRlc2NyaXB0aW9uID0gaChCRm9ybVRleHQsIHtcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiBjdHguZGVzY3JpcHRpb25JZCxcbiAgICAgICAgdGFiaW5kZXg6IGNvbnRlbnQgPyAnLTEnIDogbnVsbFxuICAgICAgfVxuICAgIH0sIFtjb250ZW50XSk7XG4gIH1cblxuICByZXR1cm4gZGVzY3JpcHRpb247XG59O1xuXG52YXIgcmVuZGVyTGFiZWwgPSBmdW5jdGlvbiByZW5kZXJMYWJlbChoLCBjdHgpIHtcbiAgLy8gUmVuZGVyIGxhYmVsL2xlZ2VuZCBpbnNpZGUgYi1jb2wgaWYgbmVjZXNzYXJ5XG4gIHZhciBjb250ZW50ID0gY3R4Lm5vcm1hbGl6ZVNsb3QoJ2xhYmVsJykgfHwgY3R4LmxhYmVsO1xuICB2YXIgbGFiZWxGb3IgPSBjdHgubGFiZWxGb3I7XG4gIHZhciBpc0xlZ2VuZCA9ICFsYWJlbEZvcjtcbiAgdmFyIGlzSG9yaXpvbnRhbCA9IGN0eC5pc0hvcml6b250YWw7XG4gIHZhciBsYWJlbFRhZyA9IGlzTGVnZW5kID8gJ2xlZ2VuZCcgOiAnbGFiZWwnO1xuXG4gIGlmICghY29udGVudCAmJiAhaXNIb3Jpem9udGFsKSB7XG4gICAgcmV0dXJuIGgoKTtcbiAgfSBlbHNlIGlmIChjdHgubGFiZWxTck9ubHkpIHtcbiAgICB2YXIgbGFiZWwgPSBoKCk7XG5cbiAgICBpZiAoY29udGVudCkge1xuICAgICAgbGFiZWwgPSBoKGxhYmVsVGFnLCB7XG4gICAgICAgIGNsYXNzOiAnc3Itb25seScsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgaWQ6IGN0eC5sYWJlbElkLFxuICAgICAgICAgIGZvcjogbGFiZWxGb3IgfHwgbnVsbFxuICAgICAgICB9XG4gICAgICB9LCBbY29udGVudF0pO1xuICAgIH1cblxuICAgIHJldHVybiBoKGlzSG9yaXpvbnRhbCA/IEJDb2wgOiAnZGl2Jywge1xuICAgICAgcHJvcHM6IGlzSG9yaXpvbnRhbCA/IGN0eC5sYWJlbENvbFByb3BzIDoge31cbiAgICB9LCBbbGFiZWxdKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaChpc0hvcml6b250YWwgPyBCQ29sIDogbGFiZWxUYWcsIHtcbiAgICAgIG9uOiBpc0xlZ2VuZCA/IHtcbiAgICAgICAgY2xpY2s6IGN0eC5sZWdlbmRDbGlja1xuICAgICAgfSA6IHt9LFxuICAgICAgcHJvcHM6IGlzSG9yaXpvbnRhbCA/IF9vYmplY3RTcHJlYWQoe1xuICAgICAgICB0YWc6IGxhYmVsVGFnXG4gICAgICB9LCBjdHgubGFiZWxDb2xQcm9wcykgOiB7fSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiBjdHgubGFiZWxJZCxcbiAgICAgICAgZm9yOiBsYWJlbEZvciB8fCBudWxsLFxuICAgICAgICAvLyBXZSBhZGQgYSB0YWIgaW5kZXggdG8gbGVnZW5kIHNvIHRoYXQgc2NyZWVuIHJlYWRlcnNcbiAgICAgICAgLy8gd2lsbCBwcm9wZXJseSByZWFkIHRoZSBhcmlhLWxhYmVsbGVkYnkgaW4gSUUuXG4gICAgICAgIHRhYmluZGV4OiBpc0xlZ2VuZCA/ICctMScgOiBudWxsXG4gICAgICB9LFxuICAgICAgY2xhc3M6IFsvLyBXaGVuIGhvcml6b250YWwgb3IgaWYgYSBsZWdlbmQgaXMgcmVuZGVyZWQsIGFkZCBjb2wtZm9ybS1sYWJlbFxuICAgICAgLy8gZm9yIGNvcnJlY3Qgc2l6aW5nIGFzIEJvb3RzdHJhcCBoYXMgaW5jb25zaXN0ZW50IGZvbnQgc3R5bGluZ1xuICAgICAgLy8gZm9yIGxlZ2VuZCBpbiBub24taG9yaXpvbnRhbCBmb3JtLWdyb3Vwcy5cbiAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNzgwNVxuICAgICAgaXNIb3Jpem9udGFsIHx8IGlzTGVnZW5kID8gJ2NvbC1mb3JtLWxhYmVsJyA6ICcnLCAvLyBFbXVsYXRlIGxhYmVsIHBhZGRpbmcgdG9wIG9mIDAgb24gbGVnZW5kIHdoZW4gbm90IGhvcml6b250YWxcbiAgICAgICFpc0hvcml6b250YWwgJiYgaXNMZWdlbmQgPyAncHQtMCcgOiAnJywgLy8gSWYgbm90IGhvcml6b250YWwgYW5kIG5vdCBhIGxlZ2VuZCwgd2UgYWRkIGQtYmxvY2sgdG8gbGFiZWxcbiAgICAgIC8vIHNvIHRoYXQgbGFiZWwtYWxpZ24gd29ya3NcbiAgICAgICFpc0hvcml6b250YWwgJiYgIWlzTGVnZW5kID8gJ2QtYmxvY2snIDogJycsIGN0eC5sYWJlbFNpemUgPyBcImNvbC1mb3JtLWxhYmVsLVwiLmNvbmNhdChjdHgubGFiZWxTaXplKSA6ICcnLCBjdHgubGFiZWxBbGlnbkNsYXNzZXMsIGN0eC5sYWJlbENsYXNzXVxuICAgIH0sIFtjb250ZW50XSk7XG4gIH1cbn07IC8vIC0tIEJGb3JtR3JvdXAgUHJvcCBmYWN0b3J5IC0tIHVzZWQgZm9yIGxhenkgZ2VuZXJhdGlvbiBvZiBwcm9wc1xuLy8gTWVtb2l6ZSB0aGlzIGZ1bmN0aW9uIHRvIHJldHVybiBjYWNoZWQgdmFsdWVzIHRvXG4vLyBzYXZlIHRpbWUgaW4gY29tcHV0ZWQgZnVuY3Rpb25zXG5cblxudmFyIG1ha2VQcm9wTmFtZSA9IG1lbW9pemUoZnVuY3Rpb24gKCkge1xuICB2YXIgYnJlYWtwb2ludCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJyc7XG4gIHZhciBwcmVmaXggPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDtcbiAgcmV0dXJuIFwiXCIuY29uY2F0KHByZWZpeCkuY29uY2F0KHVwcGVyRmlyc3QoYnJlYWtwb2ludCkpO1xufSk7IC8vIEJGb3JtR3JvdXAgcHJvcCBnZW5lcmF0b3IgZm9yIGxhenkgZ2VuZXJhdGlvbiBvZiBwcm9wc1xuXG52YXIgZ2VuZXJhdGVQcm9wcyA9IGZ1bmN0aW9uIGdlbmVyYXRlUHJvcHMoKSB7XG4gIHZhciBCUkVBS1BPSU5UUyA9IGdldEJyZWFrcG9pbnRzVXBDYWNoZWQoKTsgLy8gR2VuZXJhdGUgdGhlIGxhYmVsQ29sIGJyZWFrcG9pbnQgcHJvcHNcblxuICB2YXIgYnBMYWJlbENvbFByb3BzID0gQlJFQUtQT0lOVFMucmVkdWNlKGZ1bmN0aW9uIChwcm9wcywgYnJlYWtwb2ludCkge1xuICAgIC8vIGkuZS4gbGFiZWwtY29scywgbGFiZWwtY29scy1zbSwgbGFiZWwtY29scy1tZCwgLi4uXG4gICAgcHJvcHNbbWFrZVByb3BOYW1lKGJyZWFrcG9pbnQsICdsYWJlbENvbHMnKV0gPSB7XG4gICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmcsIEJvb2xlYW5dLFxuICAgICAgZGVmYXVsdDogYnJlYWtwb2ludCA/IGZhbHNlIDogbnVsbFxuICAgIH07XG4gICAgcmV0dXJuIHByb3BzO1xuICB9LCBjcmVhdGUobnVsbCkpOyAvLyBHZW5lcmF0ZSB0aGUgbGFiZWxBbGlnbiBicmVha3BvaW50IHByb3BzXG5cbiAgdmFyIGJwTGFiZWxBbGlnblByb3BzID0gQlJFQUtQT0lOVFMucmVkdWNlKGZ1bmN0aW9uIChwcm9wcywgYnJlYWtwb2ludCkge1xuICAgIC8vIGxhYmVsLWFsaWduLCBsYWJlbC1hbGlnbi1zbSwgbGFiZWwtYWxpZ24tbWQsIC4uLlxuICAgIHByb3BzW21ha2VQcm9wTmFtZShicmVha3BvaW50LCAnbGFiZWxBbGlnbicpXSA9IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIC8vIGxlZnQsIHJpZ2h0LCBjZW50ZXJcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9O1xuICAgIHJldHVybiBwcm9wcztcbiAgfSwgY3JlYXRlKG51bGwpKTtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGxhYmVsOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBsYWJlbEZvcjoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgbGFiZWxTaXplOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBsYWJlbFNyT25seToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfVxuICB9LCBicExhYmVsQ29sUHJvcHMsIHt9LCBicExhYmVsQWxpZ25Qcm9wcywge1xuICAgIGxhYmVsQ2xhc3M6IHtcbiAgICAgIHR5cGU6IFtTdHJpbmcsIEFycmF5LCBPYmplY3RdLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIGludmFsaWRGZWVkYmFjazoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgdmFsaWRGZWVkYmFjazoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgdG9vbHRpcDoge1xuICAgICAgLy8gRW5hYmxlIHRvb2x0aXAgc3R5bGUgZmVlZGJhY2tcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgZmVlZGJhY2tBcmlhTGl2ZToge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ2Fzc2VydGl2ZSdcbiAgICB9LFxuICAgIHZhbGlkYXRlZDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBkaXNhYmxlZDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfVxuICB9KTtcbn07IC8vIFdlIGRvIG5vdCB1c2UgVnVlLmV4dGVuZCBoZXJlIGFzIHRoYXQgd291bGQgZXZhbHVhdGUgdGhlIHByb3BzXG4vLyBpbW1lZGlhdGVseSwgd2hpY2ggd2UgZG8gbm90IHdhbnQgdG8gaGFwcGVuXG4vLyBAdnVlL2NvbXBvbmVudFxuXG5cbmV4cG9ydCB2YXIgQkZvcm1Hcm91cCA9IHtcbiAgbmFtZTogTkFNRSxcbiAgbWl4aW5zOiBbaWRNaXhpbiwgZm9ybVN0YXRlTWl4aW4sIG5vcm1hbGl6ZVNsb3RNaXhpbl0sXG5cbiAgZ2V0IHByb3BzKCkge1xuICAgIC8vIEFsbG93IHByb3BzIHRvIGJlIGxhenkgZXZhbGVkIG9uIGZpcnN0IGFjY2VzcyBhbmRcbiAgICAvLyB0aGVuIHRoZXkgYmVjb21lIGEgbm9uLWdldHRlciBhZnRlcndhcmRzLlxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0Z1bmN0aW9ucy9nZXQjU21hcnRfc2VsZi1vdmVyd3JpdGluZ19sYXp5X2dldHRlcnNcbiAgICBkZWxldGUgdGhpcy5wcm9wczsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJldHVybi1hc3NpZ25cblxuICAgIHJldHVybiB0aGlzLnByb3BzID0gZ2VuZXJhdGVQcm9wcygpO1xuICB9LFxuXG4gIGNvbXB1dGVkOiB7XG4gICAgbGFiZWxDb2xQcm9wczogZnVuY3Rpb24gbGFiZWxDb2xQcm9wcygpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHZhciBwcm9wcyA9IHt9O1xuICAgICAgZ2V0QnJlYWtwb2ludHNVcENhY2hlZCgpLmZvckVhY2goZnVuY3Rpb24gKGJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gR3JhYiB0aGUgdmFsdWUgaWYgdGhlIGxhYmVsIGNvbHVtbiBicmVha3BvaW50IHByb3BcbiAgICAgICAgdmFyIHByb3BWYWwgPSBfdGhpc1ttYWtlUHJvcE5hbWUoYnJlYWtwb2ludCwgJ2xhYmVsQ29scycpXTsgLy8gSGFuZGxlIGNhc2Ugd2hlcmUgdGhlIHByb3AncyB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcsXG4gICAgICAgIC8vIHdoaWNoIHJlcHJlc2VudHMgdHJ1ZVxuXG5cbiAgICAgICAgcHJvcFZhbCA9IHByb3BWYWwgPT09ICcnID8gdHJ1ZSA6IHByb3BWYWwgfHwgZmFsc2U7XG5cbiAgICAgICAgaWYgKCFpc0Jvb2xlYW4ocHJvcFZhbCkpIHtcbiAgICAgICAgICAvLyBDb252ZXJ0IHRvIGNvbHVtbiBzaXplIHRvIG51bWJlclxuICAgICAgICAgIHByb3BWYWwgPSBwYXJzZUludChwcm9wVmFsLCAxMCkgfHwgMDsgLy8gRW5zdXJlIGNvbHVtbiBzaXplIGlzIGdyZWF0ZXIgdGhhbiAwXG5cbiAgICAgICAgICBwcm9wVmFsID0gcHJvcFZhbCA+IDAgPyBwcm9wVmFsIDogZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcFZhbCkge1xuICAgICAgICAgIC8vIEFkZCB0aGUgcHJvcCB0byB0aGUgbGlzdCBvZiBwcm9wcyB0byBnaXZlIHRvIGItY29sXG4gICAgICAgICAgLy8gSWYgYnJlYWtwb2ludCBpcyAnJyAobGFiZWxDb2xzPXRydWUpLCB0aGVuIHdlIHVzZSB0aGVcbiAgICAgICAgICAvLyBjb2wgcHJvcCB0byBtYWtlIGVxdWFsIHdpZHRoIGF0IHhzXG4gICAgICAgICAgdmFyIGJDb2xQcm9wTmFtZSA9IGJyZWFrcG9pbnQgfHwgKGlzQm9vbGVhbihwcm9wVmFsKSA/ICdjb2wnIDogJ2NvbHMnKTsgLy8gQWRkIGl0IHRvIHRoZSBwcm9wc1xuXG4gICAgICAgICAgcHJvcHNbYkNvbFByb3BOYW1lXSA9IHByb3BWYWw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHByb3BzO1xuICAgIH0sXG4gICAgbGFiZWxBbGlnbkNsYXNzZXM6IGZ1bmN0aW9uIGxhYmVsQWxpZ25DbGFzc2VzKCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIHZhciBjbGFzc2VzID0gW107XG4gICAgICBnZXRCcmVha3BvaW50c1VwQ2FjaGVkKCkuZm9yRWFjaChmdW5jdGlvbiAoYnJlYWtwb2ludCkge1xuICAgICAgICAvLyBBc3NlbWJsZSB0aGUgbGFiZWwgY29sdW1uIGJyZWFrcG9pbnQgYWxpZ24gY2xhc3Nlc1xuICAgICAgICB2YXIgcHJvcFZhbCA9IF90aGlzMlttYWtlUHJvcE5hbWUoYnJlYWtwb2ludCwgJ2xhYmVsQWxpZ24nKV0gfHwgbnVsbDtcblxuICAgICAgICBpZiAocHJvcFZhbCkge1xuICAgICAgICAgIHZhciBjbGFzc05hbWUgPSBicmVha3BvaW50ID8gXCJ0ZXh0LVwiLmNvbmNhdChicmVha3BvaW50LCBcIi1cIikuY29uY2F0KHByb3BWYWwpIDogXCJ0ZXh0LVwiLmNvbmNhdChwcm9wVmFsKTtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goY2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gY2xhc3NlcztcbiAgICB9LFxuICAgIGlzSG9yaXpvbnRhbDogZnVuY3Rpb24gaXNIb3Jpem9udGFsKCkge1xuICAgICAgLy8gRGV0ZXJtaW5lIGlmIHRoZSByZXN1bHRhbnQgZm9ybS1ncm91cCB3aWxsIGJlIHJlbmRlcmVkXG4gICAgICAvLyBob3Jpem9udGFsIChtZWFuaW5nIGl0IGhhcyBsYWJlbC1jb2wgYnJlYWtwb2ludHMpXG4gICAgICByZXR1cm4ga2V5cyh0aGlzLmxhYmVsQ29sUHJvcHMpLmxlbmd0aCA+IDA7XG4gICAgfSxcbiAgICBsYWJlbElkOiBmdW5jdGlvbiBsYWJlbElkKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGFzTm9ybWFsaXplZFNsb3QoJ2xhYmVsJykgfHwgdGhpcy5sYWJlbCA/IHRoaXMuc2FmZUlkKCdfQlZfbGFiZWxfJykgOiBudWxsO1xuICAgIH0sXG4gICAgZGVzY3JpcHRpb25JZDogZnVuY3Rpb24gZGVzY3JpcHRpb25JZCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhc05vcm1hbGl6ZWRTbG90KCdkZXNjcmlwdGlvbicpIHx8IHRoaXMuZGVzY3JpcHRpb24gPyB0aGlzLnNhZmVJZCgnX0JWX2Rlc2NyaXB0aW9uXycpIDogbnVsbDtcbiAgICB9LFxuICAgIGhhc0ludmFsaWRGZWVkYmFjazogZnVuY3Rpb24gaGFzSW52YWxpZEZlZWRiYWNrKCkge1xuICAgICAgLy8gVXNlZCBmb3IgY29tcHV0aW5nIGFyaWEtZGVzY3JpYmVkYnlcbiAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkU3RhdGUgPT09IGZhbHNlICYmICh0aGlzLmhhc05vcm1hbGl6ZWRTbG90KCdpbnZhbGlkLWZlZWRiYWNrJykgfHwgdGhpcy5pbnZhbGlkRmVlZGJhY2spO1xuICAgIH0sXG4gICAgaW52YWxpZEZlZWRiYWNrSWQ6IGZ1bmN0aW9uIGludmFsaWRGZWVkYmFja0lkKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGFzSW52YWxpZEZlZWRiYWNrID8gdGhpcy5zYWZlSWQoJ19CVl9mZWVkYmFja19pbnZhbGlkXycpIDogbnVsbDtcbiAgICB9LFxuICAgIGhhc1ZhbGlkRmVlZGJhY2s6IGZ1bmN0aW9uIGhhc1ZhbGlkRmVlZGJhY2soKSB7XG4gICAgICAvLyBVc2VkIGZvciBjb21wdXRpbmcgYXJpYS1kZXNjcmliZWRieVxuICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRTdGF0ZSA9PT0gdHJ1ZSAmJiAodGhpcy5oYXNOb3JtYWxpemVkU2xvdCgndmFsaWQtZmVlZGJhY2snKSB8fCB0aGlzLnZhbGlkRmVlZGJhY2spO1xuICAgIH0sXG4gICAgdmFsaWRGZWVkYmFja0lkOiBmdW5jdGlvbiB2YWxpZEZlZWRiYWNrSWQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYXNWYWxpZEZlZWRiYWNrID8gdGhpcy5zYWZlSWQoJ19CVl9mZWVkYmFja192YWxpZF8nKSA6IG51bGw7XG4gICAgfSxcbiAgICBkZXNjcmliZWRCeUlkczogZnVuY3Rpb24gZGVzY3JpYmVkQnlJZHMoKSB7XG4gICAgICAvLyBTY3JlZW4gcmVhZGVycyB3aWxsIHJlYWQgb3V0IGFueSBjb250ZW50IGxpbmtlZCB0byBieSBhcmlhLWRlc2NyaWJlZGJ5XG4gICAgICAvLyBldmVuIGlmIHRoZSBjb250ZW50IGlzIGhpZGRlbiB3aXRoIGBkaXNwbGF5OiBub25lO2AsIGhlbmNlIHdlIG9ubHkgaW5jbHVkZVxuICAgICAgLy8gZmVlZGJhY2sgSURzIGlmIHRoZSBmb3JtLWdyb3VwJ3Mgc3RhdGUgaXMgZXhwbGljaXRseSB2YWxpZCBvciBpbnZhbGlkLlxuICAgICAgcmV0dXJuIFt0aGlzLmRlc2NyaXB0aW9uSWQsIHRoaXMuaW52YWxpZEZlZWRiYWNrSWQsIHRoaXMudmFsaWRGZWVkYmFja0lkXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpIHx8IG51bGw7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIGRlc2NyaWJlZEJ5SWRzOiBmdW5jdGlvbiBkZXNjcmliZWRCeUlkcyhhZGQsIHJlbW92ZSkge1xuICAgICAgaWYgKGFkZCAhPT0gcmVtb3ZlKSB7XG4gICAgICAgIHRoaXMuc2V0SW5wdXREZXNjcmliZWRCeShhZGQsIHJlbW92ZSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgLy8gU2V0IHRoZSBhcmlhLWRlc2NyaWJlZGJ5IElEcyBvbiB0aGUgaW5wdXQgc3BlY2lmaWVkIGJ5IGxhYmVsLWZvclxuICAgICAgLy8gV2UgZG8gdGhpcyBpbiBhIG5leHRUaWNrIHRvIGVuc3VyZSB0aGUgY2hpbGRyZW4gaGF2ZSBmaW5pc2hlZCByZW5kZXJpbmdcbiAgICAgIF90aGlzMy5zZXRJbnB1dERlc2NyaWJlZEJ5KF90aGlzMy5kZXNjcmliZWRCeUlkcyk7XG4gICAgfSk7XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBsZWdlbmRDbGljazogZnVuY3Rpb24gbGVnZW5kQ2xpY2soZXZ0KSB7XG4gICAgICBpZiAodGhpcy5sYWJlbEZvcikge1xuICAgICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBpZiBsYWJlbEZvciBpcyBzZXRcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogY2xpY2tpbmcgYSBsYWJlbCB3aWxsIGZvY3VzIHRoZSBpbnB1dCwgc28gbm8gbmVlZCB0byB0ZXN0ICovXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIHRhZ05hbWUgPSBldnQudGFyZ2V0ID8gZXZ0LnRhcmdldC50YWdOYW1lIDogJyc7XG5cbiAgICAgIGlmICgvXihpbnB1dHxzZWxlY3R8dGV4dGFyZWF8bGFiZWx8YnV0dG9ufGEpJC9pLnRlc3QodGFnTmFtZSkpIHtcbiAgICAgICAgLy8gSWYgY2xpY2tlZCBhbiBpbnRlcmFjdGl2ZSBlbGVtZW50IGluc2lkZSBsZWdlbmQsXG4gICAgICAgIC8vIHdlIGp1c3QgbGV0IHRoZSBkZWZhdWx0IGhhcHBlblxuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIGlucHV0cyA9IHNlbGVjdEFsbChTRUxFQ1RPUiwgdGhpcy4kcmVmcy5jb250ZW50KS5maWx0ZXIoaXNWaXNpYmxlKTtcblxuICAgICAgaWYgKGlucHV0cyAmJiBpbnB1dHMubGVuZ3RoID09PSAxICYmIGlucHV0c1swXS5mb2N1cykge1xuICAgICAgICAvLyBpZiBvbmx5IGEgc2luZ2xlIGlucHV0LCBmb2N1cyBpdCwgZW11bGF0aW5nIGxhYmVsIGJlaGF2aW91clxuICAgICAgICBpbnB1dHNbMF0uZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldElucHV0RGVzY3JpYmVkQnk6IGZ1bmN0aW9uIHNldElucHV0RGVzY3JpYmVkQnkoYWRkLCByZW1vdmUpIHtcbiAgICAgIC8vIFNldHMgdGhlIGBhcmlhLWRlc2NyaWJlZGJ5YCBhdHRyaWJ1dGUgb24gdGhlIGlucHV0IGlmIGxhYmVsLWZvciBpcyBzZXQuXG4gICAgICAvLyBPcHRpb25hbGx5IGFjY2VwdHMgYSBzdHJpbmcgb2YgSURzIHRvIHJlbW92ZSBhcyB0aGUgc2Vjb25kIHBhcmFtZXRlci5cbiAgICAgIC8vIFByZXNlcnZlcyBhbnkgYXJpYS1kZXNjcmliZWRieSB2YWx1ZShzKSB1c2VyIG1heSBoYXZlIG9uIGlucHV0LlxuICAgICAgaWYgKHRoaXMubGFiZWxGb3IgJiYgaXNCcm93c2VyKSB7XG4gICAgICAgIHZhciBpbnB1dCA9IHNlbGVjdChcIiNcIi5jb25jYXQodGhpcy5sYWJlbEZvciksIHRoaXMuJHJlZnMuY29udGVudCk7XG5cbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgdmFyIGFkYiA9ICdhcmlhLWRlc2NyaWJlZGJ5JztcbiAgICAgICAgICB2YXIgaWRzID0gKGdldEF0dHIoaW5wdXQsIGFkYikgfHwgJycpLnNwbGl0KC9cXHMrLyk7XG4gICAgICAgICAgYWRkID0gKGFkZCB8fCAnJykuc3BsaXQoL1xccysvKTtcbiAgICAgICAgICByZW1vdmUgPSAocmVtb3ZlIHx8ICcnKS5zcGxpdCgvXFxzKy8pOyAvLyBVcGRhdGUgSUQgbGlzdCwgcHJlc2VydmluZyBhbnkgb3JpZ2luYWwgSURzXG4gICAgICAgICAgLy8gYW5kIGVuc3VyaW5nIHRoZSBJRCdzIGFyZSB1bmlxdWVcblxuICAgICAgICAgIGlkcyA9IGlkcy5maWx0ZXIoZnVuY3Rpb24gKGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gIWFycmF5SW5jbHVkZXMocmVtb3ZlLCBpZCk7XG4gICAgICAgICAgfSkuY29uY2F0KGFkZCkuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgIGlkcyA9IGtleXMoaWRzLnJlZHVjZShmdW5jdGlvbiAobWVtbywgaWQpIHtcbiAgICAgICAgICAgIHJldHVybiBfb2JqZWN0U3ByZWFkKHt9LCBtZW1vLCBfZGVmaW5lUHJvcGVydHkoe30sIGlkLCB0cnVlKSk7XG4gICAgICAgICAgfSwge30pKS5qb2luKCcgJykudHJpbSgpO1xuXG4gICAgICAgICAgaWYgKGlkcykge1xuICAgICAgICAgICAgc2V0QXR0cihpbnB1dCwgYWRiLCBpZHMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBObyBJRHMsIHNvIHJlbW92ZSB0aGUgYXR0cmlidXRlXG4gICAgICAgICAgICByZW1vdmVBdHRyKGlucHV0LCBhZGIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBpc0ZpZWxkc2V0ID0gIXRoaXMubGFiZWxGb3I7XG4gICAgdmFyIGlzSG9yaXpvbnRhbCA9IHRoaXMuaXNIb3Jpem9udGFsOyAvLyBHZW5lcmF0ZSB0aGUgbGFiZWxcblxuICAgIHZhciBsYWJlbCA9IHJlbmRlckxhYmVsKGgsIHRoaXMpOyAvLyBHZW5lcmF0ZSB0aGUgY29udGVudFxuXG4gICAgdmFyIGNvbnRlbnQgPSBoKGlzSG9yaXpvbnRhbCA/IEJDb2wgOiAnZGl2Jywge1xuICAgICAgcmVmOiAnY29udGVudCcsXG4gICAgICBhdHRyczoge1xuICAgICAgICB0YWJpbmRleDogaXNGaWVsZHNldCA/ICctMScgOiBudWxsLFxuICAgICAgICByb2xlOiBpc0ZpZWxkc2V0ID8gJ2dyb3VwJyA6IG51bGxcbiAgICAgIH1cbiAgICB9LCBbdGhpcy5ub3JtYWxpemVTbG90KCdkZWZhdWx0JykgfHwgaCgpLCByZW5kZXJJbnZhbGlkRmVlZGJhY2soaCwgdGhpcyksIHJlbmRlclZhbGlkRmVlZGJhY2soaCwgdGhpcyksIHJlbmRlckhlbHBUZXh0KGgsIHRoaXMpXSk7IC8vIENyZWF0ZSB0aGUgZm9ybS1ncm91cFxuXG4gICAgdmFyIGRhdGEgPSB7XG4gICAgICBzdGF0aWNDbGFzczogJ2Zvcm0tZ3JvdXAnLFxuICAgICAgY2xhc3M6IFt0aGlzLnZhbGlkYXRlZCA/ICd3YXMtdmFsaWRhdGVkJyA6IG51bGwsIHRoaXMuc3RhdGVDbGFzc10sXG4gICAgICBhdHRyczoge1xuICAgICAgICBpZDogdGhpcy5zYWZlSWQoKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlzRmllbGRzZXQgPyB0aGlzLmRpc2FibGVkIDogbnVsbCxcbiAgICAgICAgcm9sZTogaXNGaWVsZHNldCA/IG51bGwgOiAnZ3JvdXAnLFxuICAgICAgICAnYXJpYS1pbnZhbGlkJzogdGhpcy5jb21wdXRlZFN0YXRlID09PSBmYWxzZSA/ICd0cnVlJyA6IG51bGwsXG4gICAgICAgIC8vIE9ubHkgYXBwbHkgYXJpYS1sYWJlbGxlZGJ5IGlmIHdlIGFyZSBhIGhvcml6b250YWwgZmllbGRzZXRcbiAgICAgICAgLy8gYXMgdGhlIGxlZ2VuZCBpcyBubyBsb25nZXIgYSBkaXJlY3QgY2hpbGQgb2YgZmllbGRzZXRcbiAgICAgICAgJ2FyaWEtbGFiZWxsZWRieSc6IGlzRmllbGRzZXQgJiYgaXNIb3Jpem9udGFsID8gdGhpcy5sYWJlbElkIDogbnVsbCxcbiAgICAgICAgLy8gT25seSBhcHBseSBhcmlhLWRlc2NyaWJlZGJ5IElEcyBpZiB3ZSBhcmUgYSBmaWVsZHNldFxuICAgICAgICAvLyBhcyB0aGUgaW5wdXQgd2lsbCBoYXZlIHRoZSBJRHMgd2hlbiBub3QgYSBmaWVsZHNldFxuICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGlzRmllbGRzZXQgPyB0aGlzLmRlc2NyaWJlZEJ5SWRzIDogbnVsbFxuICAgICAgfVxuICAgIH07IC8vIFJldHVybiBpdCB3cmFwcGVkIGluIGEgZm9ybS1ncm91cFxuICAgIC8vIE5vdGU6IEZpZWxkc2V0cyBkbyBub3Qgc3VwcG9ydCBhZGRpbmcgYHJvd2Agb3IgYGZvcm0tcm93YCBkaXJlY3RseVxuICAgIC8vIHRvIHRoZW0gZHVlIHRvIGJyb3dzZXIgc3BlY2lmaWMgcmVuZGVyIGlzc3Vlcywgc28gd2UgbW92ZSB0aGUgYGZvcm0tcm93YFxuICAgIC8vIHRvIGFuIGlubmVyIHdyYXBwZXIgZGl2IHdoZW4gaG9yaXpvbnRhbCBhbmQgdXNpbmcgYSBmaWVsZHNldFxuXG4gICAgcmV0dXJuIGgoaXNGaWVsZHNldCA/ICdmaWVsZHNldCcgOiBpc0hvcml6b250YWwgPyBCRm9ybVJvdyA6ICdkaXYnLCBkYXRhLCBpc0hvcml6b250YWwgJiYgaXNGaWVsZHNldCA/IFtoKEJGb3JtUm93LCB7fSwgW2xhYmVsLCBjb250ZW50XSldIDogW2xhYmVsLCBjb250ZW50XSk7XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWdyb3VwL2Zvcm0tZ3JvdXAuanNcbi8vIG1vZHVsZSBpZCA9IDEzOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///138\n"); + +/***/ }), +/* 139 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FormCheckboxPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__form_checkbox__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__form_checkbox_group__ = __webpack_require__(141);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BFormCheckbox */\n/* unused harmony reexport BFormCheckboxGroup */\n\n\n\nvar FormCheckboxPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BFormCheckbox: __WEBPACK_IMPORTED_MODULE_0__form_checkbox__[\"a\" /* BFormCheckbox */],\n BCheckbox: __WEBPACK_IMPORTED_MODULE_0__form_checkbox__[\"a\" /* BFormCheckbox */],\n BCheck: __WEBPACK_IMPORTED_MODULE_0__form_checkbox__[\"a\" /* BFormCheckbox */],\n BFormCheckboxGroup: __WEBPACK_IMPORTED_MODULE_1__form_checkbox_group__[\"a\" /* BFormCheckboxGroup */],\n BCheckboxGroup: __WEBPACK_IMPORTED_MODULE_1__form_checkbox_group__[\"a\" /* BFormCheckboxGroup */],\n BCheckGroup: __WEBPACK_IMPORTED_MODULE_1__form_checkbox_group__[\"a\" /* BFormCheckboxGroup */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWNoZWNrYm94L2luZGV4LmpzPzE1MGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWdEO0FBQ1c7QUFDUDtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLG1CQUFtQixxRUFBYTtBQUNoQyxlQUFlLHFFQUFhO0FBQzVCLFlBQVkscUVBQWE7QUFDekIsd0JBQXdCLGdGQUFrQjtBQUMxQyxvQkFBb0IsZ0ZBQWtCO0FBQ3RDLGlCQUFpQixnRkFBa0I7QUFDbkM7QUFDQSxDQUFDIiwiZmlsZSI6IjEzOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJGb3JtQ2hlY2tib3ggfSBmcm9tICcuL2Zvcm0tY2hlY2tib3gnO1xuaW1wb3J0IHsgQkZvcm1DaGVja2JveEdyb3VwIH0gZnJvbSAnLi9mb3JtLWNoZWNrYm94LWdyb3VwJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBGb3JtQ2hlY2tib3hQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCRm9ybUNoZWNrYm94OiBCRm9ybUNoZWNrYm94LFxuICAgIEJDaGVja2JveDogQkZvcm1DaGVja2JveCxcbiAgICBCQ2hlY2s6IEJGb3JtQ2hlY2tib3gsXG4gICAgQkZvcm1DaGVja2JveEdyb3VwOiBCRm9ybUNoZWNrYm94R3JvdXAsXG4gICAgQkNoZWNrYm94R3JvdXA6IEJGb3JtQ2hlY2tib3hHcm91cCxcbiAgICBCQ2hlY2tHcm91cDogQkZvcm1DaGVja2JveEdyb3VwXG4gIH1cbn0pO1xuZXhwb3J0IHsgRm9ybUNoZWNrYm94UGx1Z2luLCBCRm9ybUNoZWNrYm94LCBCRm9ybUNoZWNrYm94R3JvdXAgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Zvcm0tY2hlY2tib3gvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDEzOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///139\n"); + +/***/ }), +/* 140 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__normalize_slot__ = __webpack_require__(5);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n // @vue/component\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n value: {// Value when checked\n // type: Object,\n // default: undefined\n },\n checked: {// This is the v-model\n // type: Object,\n // default: undefined\n },\n inline: {\n type: Boolean,\n default: false\n },\n plain: {\n type: Boolean,\n default: false\n },\n button: {\n // Only applicable in standalone mode (non group)\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: null\n },\n ariaLabel: {\n // Placed on the input if present.\n type: String,\n default: null\n },\n ariaLabelledby: {\n // Placed on the input if present.\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n localChecked: this.isGroup ? this.bvGroup.checked : this.checked,\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(val) {\n if (this.isGroup) {\n this.bvGroup.localChecked = val;\n } else {\n this.localChecked = val;\n }\n }\n },\n isGroup: function isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return Boolean(this.bvGroup);\n },\n isBtnMode: function isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button;\n },\n isPlain: function isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain;\n },\n isCustom: function isCustom() {\n return this.isBtnMode ? false : !this.isPlain;\n },\n isSwitch: function isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain ? false : this.isGroup ? this.bvGroup.switches : this.switch;\n },\n isInline: function isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline;\n },\n isDisabled: function isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n isRequired: function isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return Boolean(this.getName && (this.isGroup ? this.bvGroup.required : this.required));\n },\n getName: function getName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null;\n },\n getForm: function getForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null;\n },\n getSize: function getSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || '';\n },\n getState: function getState() {\n return this.isGroup ? this.bvGroup.computedState : this.computedState;\n },\n getButtonVariant: function getButtonVariant() {\n // Local variant preferred over group variant\n if (this.buttonVariant) {\n return this.buttonVariant;\n } else if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n } // default variant\n\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n var _ref;\n\n // Same for radio & check\n return ['btn', \"btn-\".concat(this.getButtonVariant), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(this.getSize), this.getSize), _defineProperty(_ref, \"disabled\", this.isDisabled), _defineProperty(_ref, \"active\", this.isChecked), _defineProperty(_ref, \"focus\", this.hasFocus), _ref)];\n }\n },\n watch: {\n checked: function checked(newVal, oldVal) {\n this.computedLocalChecked = newVal;\n }\n },\n methods: {\n handleFocus: function handleFocus(evt) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (evt.target) {\n if (evt.type === 'focus') {\n this.hasFocus = true;\n } else if (evt.type === 'blur') {\n this.hasFocus = false;\n }\n }\n },\n // Convenience methods for focusing the input\n focus: function focus() {\n if (!this.isDisabled && this.$refs.input && this.$refs.input.focus) {\n this.$refs.input.focus();\n }\n },\n blur: function blur() {\n if (!this.isDisabled && this.$refs.input && this.$refs.input.blur) {\n this.$refs.input.blur();\n }\n }\n },\n render: function render(h) {\n var defaultSlot = this.normalizeSlot('default'); // Generate the input element\n\n var on = {\n change: this.handleChange\n };\n\n if (this.isBtnMode) {\n // Handlers for focus styling when in button mode\n on.focus = on.blur = this.handleFocus;\n }\n\n var input = h('input', {\n ref: 'input',\n key: 'input',\n on: on,\n class: {\n 'form-check-input': this.isPlain,\n 'custom-control-input': this.isCustom,\n 'is-valid': this.getState === true && !this.isBtnMode,\n 'is-invalid': this.getState === false && !this.isBtnMode,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': this.isPlain && !defaultSlot\n },\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.computedLocalChecked,\n expression: 'computedLocalChecked'\n }],\n attrs: _objectSpread({}, this.$attrs, {\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.getName,\n form: this.getForm,\n disabled: this.isDisabled,\n required: this.isRequired,\n autocomplete: 'off',\n 'aria-required': this.isRequired || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n }),\n domProps: {\n value: this.value,\n checked: this.isChecked\n }\n });\n\n if (this.isBtnMode) {\n // Button mode\n var button = h('label', {\n class: this.buttonClasses\n }, [input, defaultSlot]);\n\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [button]);\n }\n\n return button;\n } else {\n // Not button mode\n var label = h(); // If no label content in plain mode we dont render the label\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n if (!(this.isPlain && !defaultSlot)) {\n label = h('label', {\n class: {\n 'form-check-label': this.isPlain,\n 'custom-control-label': this.isCustom\n },\n attrs: {\n for: this.safeId()\n }\n }, defaultSlot);\n } // Wrap it in a div\n\n\n return h('div', {\n class: _defineProperty({\n 'form-check': this.isPlain,\n 'form-check-inline': this.isPlain && this.isInline,\n 'custom-control': this.isCustom,\n 'custom-control-inline': this.isCustom && this.isInline,\n 'custom-checkbox': this.isCustom && this.isCheck && !this.isSwitch,\n 'custom-switch': this.isSwitch,\n 'custom-radio': this.isCustom && this.isRadio\n }, \"b-custom-control-\".concat(this.getSize), Boolean(this.getSize && !this.isBtnMode))\n }, [input, label]);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tcmFkaW8tY2hlY2suanM/YjZiZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0o7O0FBRW5DO0FBQ2YsV0FBVyxnRUFBa0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLEtBQUs7QUFDTCxjQUFjO0FBQ2Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87OztBQUdQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxxRUFBcUU7QUFDckU7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLG9EQUFvRDs7QUFFcEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esc0JBQXNCO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMTQwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IG5vcm1hbGl6ZVNsb3RNaXhpbiBmcm9tICcuL25vcm1hbGl6ZS1zbG90JzsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IGRlZmF1bHQge1xuICBtaXhpbnM6IFtub3JtYWxpemVTbG90TWl4aW5dLFxuICBpbmhlcml0QXR0cnM6IGZhbHNlLFxuICBtb2RlbDoge1xuICAgIHByb3A6ICdjaGVja2VkJyxcbiAgICBldmVudDogJ2lucHV0J1xuICB9LFxuICBwcm9wczoge1xuICAgIHZhbHVlOiB7Ly8gVmFsdWUgd2hlbiBjaGVja2VkXG4gICAgICAvLyB0eXBlOiBPYmplY3QsXG4gICAgICAvLyBkZWZhdWx0OiB1bmRlZmluZWRcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHsvLyBUaGlzIGlzIHRoZSB2LW1vZGVsXG4gICAgICAvLyB0eXBlOiBPYmplY3QsXG4gICAgICAvLyBkZWZhdWx0OiB1bmRlZmluZWRcbiAgICB9LFxuICAgIGlubGluZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBwbGFpbjoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBidXR0b246IHtcbiAgICAgIC8vIE9ubHkgYXBwbGljYWJsZSBpbiBzdGFuZGFsb25lIG1vZGUgKG5vbiBncm91cClcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgYnV0dG9uVmFyaWFudDoge1xuICAgICAgLy8gT25seSBhcHBsaWNhYmxlIHdoZW4gcmVuZGVyZWQgd2l0aCBidXR0b24gc3R5bGVcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIGFyaWFMYWJlbDoge1xuICAgICAgLy8gUGxhY2VkIG9uIHRoZSBpbnB1dCBpZiBwcmVzZW50LlxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgYXJpYUxhYmVsbGVkYnk6IHtcbiAgICAgIC8vIFBsYWNlZCBvbiB0aGUgaW5wdXQgaWYgcHJlc2VudC5cbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0sXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2FsQ2hlY2tlZDogdGhpcy5pc0dyb3VwID8gdGhpcy5idkdyb3VwLmNoZWNrZWQgOiB0aGlzLmNoZWNrZWQsXG4gICAgICBoYXNGb2N1czogZmFsc2VcbiAgICB9O1xuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGNvbXB1dGVkTG9jYWxDaGVja2VkOiB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNHcm91cCA/IHRoaXMuYnZHcm91cC5sb2NhbENoZWNrZWQgOiB0aGlzLmxvY2FsQ2hlY2tlZDtcbiAgICAgIH0sXG4gICAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWwpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNHcm91cCkge1xuICAgICAgICAgIHRoaXMuYnZHcm91cC5sb2NhbENoZWNrZWQgPSB2YWw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2NhbENoZWNrZWQgPSB2YWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGlzR3JvdXA6IGZ1bmN0aW9uIGlzR3JvdXAoKSB7XG4gICAgICAvLyBJcyB0aGlzIGNoZWNrL3JhZGlvIGEgY2hpbGQgb2YgY2hlY2stZ3JvdXAgb3IgcmFkaW8tZ3JvdXA/XG4gICAgICByZXR1cm4gQm9vbGVhbih0aGlzLmJ2R3JvdXApO1xuICAgIH0sXG4gICAgaXNCdG5Nb2RlOiBmdW5jdGlvbiBpc0J0bk1vZGUoKSB7XG4gICAgICAvLyBTdXBwb3J0IGJ1dHRvbiBzdHlsZSBpbiBzaW5nbGUgaW5wdXQgbW9kZVxuICAgICAgcmV0dXJuIHRoaXMuaXNHcm91cCA/IHRoaXMuYnZHcm91cC5idXR0b25zIDogdGhpcy5idXR0b247XG4gICAgfSxcbiAgICBpc1BsYWluOiBmdW5jdGlvbiBpc1BsYWluKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNCdG5Nb2RlID8gZmFsc2UgOiB0aGlzLmlzR3JvdXAgPyB0aGlzLmJ2R3JvdXAucGxhaW4gOiB0aGlzLnBsYWluO1xuICAgIH0sXG4gICAgaXNDdXN0b206IGZ1bmN0aW9uIGlzQ3VzdG9tKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNCdG5Nb2RlID8gZmFsc2UgOiAhdGhpcy5pc1BsYWluO1xuICAgIH0sXG4gICAgaXNTd2l0Y2g6IGZ1bmN0aW9uIGlzU3dpdGNoKCkge1xuICAgICAgLy8gQ3VzdG9tIHN3aXRjaCBzdHlsaW5nIChjaGVja2JveGVzIG9ubHkpXG4gICAgICByZXR1cm4gdGhpcy5pc0J0bk1vZGUgfHwgdGhpcy5pc1JhZGlvIHx8IHRoaXMuaXNQbGFpbiA/IGZhbHNlIDogdGhpcy5pc0dyb3VwID8gdGhpcy5idkdyb3VwLnN3aXRjaGVzIDogdGhpcy5zd2l0Y2g7XG4gICAgfSxcbiAgICBpc0lubGluZTogZnVuY3Rpb24gaXNJbmxpbmUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0dyb3VwID8gdGhpcy5idkdyb3VwLmlubGluZSA6IHRoaXMuaW5saW5lO1xuICAgIH0sXG4gICAgaXNEaXNhYmxlZDogZnVuY3Rpb24gaXNEaXNhYmxlZCgpIHtcbiAgICAgIC8vIENoaWxkIGNhbiBiZSBkaXNhYmxlZCB3aGlsZSBwYXJlbnQgaXNuJ3QsIGJ1dCBpcyBhbHdheXMgZGlzYWJsZWQgaWYgZ3JvdXAgaXNcbiAgICAgIHJldHVybiB0aGlzLmlzR3JvdXAgPyB0aGlzLmJ2R3JvdXAuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZCA6IHRoaXMuZGlzYWJsZWQ7XG4gICAgfSxcbiAgICBpc1JlcXVpcmVkOiBmdW5jdGlvbiBpc1JlcXVpcmVkKCkge1xuICAgICAgLy8gUmVxdWlyZWQgb25seSB3b3JrcyB3aGVuIGEgbmFtZSBpcyBwcm92aWRlZCBmb3IgdGhlIGlucHV0KHMpXG4gICAgICAvLyBDaGlsZCBjYW4gb25seSBiZSByZXF1aXJlZCB3aGVuIHBhcmVudCBpc1xuICAgICAgLy8gR3JvdXBzIHdpbGwgYWx3YXlzIGhhdmUgYSBuYW1lIChlaXRoZXIgdXNlciBzdXBwbGllZCBvciBhdXRvIGdlbmVyYXRlZClcbiAgICAgIHJldHVybiBCb29sZWFuKHRoaXMuZ2V0TmFtZSAmJiAodGhpcy5pc0dyb3VwID8gdGhpcy5idkdyb3VwLnJlcXVpcmVkIDogdGhpcy5yZXF1aXJlZCkpO1xuICAgIH0sXG4gICAgZ2V0TmFtZTogZnVuY3Rpb24gZ2V0TmFtZSgpIHtcbiAgICAgIC8vIEdyb3VwIG5hbWUgcHJlZmVycmVkIG92ZXIgbG9jYWwgbmFtZVxuICAgICAgcmV0dXJuICh0aGlzLmlzR3JvdXAgPyB0aGlzLmJ2R3JvdXAuZ3JvdXBOYW1lIDogdGhpcy5uYW1lKSB8fCBudWxsO1xuICAgIH0sXG4gICAgZ2V0Rm9ybTogZnVuY3Rpb24gZ2V0Rm9ybSgpIHtcbiAgICAgIHJldHVybiAodGhpcy5pc0dyb3VwID8gdGhpcy5idkdyb3VwLmZvcm0gOiB0aGlzLmZvcm0pIHx8IG51bGw7XG4gICAgfSxcbiAgICBnZXRTaXplOiBmdW5jdGlvbiBnZXRTaXplKCkge1xuICAgICAgcmV0dXJuICh0aGlzLmlzR3JvdXAgPyB0aGlzLmJ2R3JvdXAuc2l6ZSA6IHRoaXMuc2l6ZSkgfHwgJyc7XG4gICAgfSxcbiAgICBnZXRTdGF0ZTogZnVuY3Rpb24gZ2V0U3RhdGUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0dyb3VwID8gdGhpcy5idkdyb3VwLmNvbXB1dGVkU3RhdGUgOiB0aGlzLmNvbXB1dGVkU3RhdGU7XG4gICAgfSxcbiAgICBnZXRCdXR0b25WYXJpYW50OiBmdW5jdGlvbiBnZXRCdXR0b25WYXJpYW50KCkge1xuICAgICAgLy8gTG9jYWwgdmFyaWFudCBwcmVmZXJyZWQgb3ZlciBncm91cCB2YXJpYW50XG4gICAgICBpZiAodGhpcy5idXR0b25WYXJpYW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1dHRvblZhcmlhbnQ7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNHcm91cCAmJiB0aGlzLmJ2R3JvdXAuYnV0dG9uVmFyaWFudCkge1xuICAgICAgICByZXR1cm4gdGhpcy5idkdyb3VwLmJ1dHRvblZhcmlhbnQ7XG4gICAgICB9IC8vIGRlZmF1bHQgdmFyaWFudFxuXG5cbiAgICAgIHJldHVybiAnc2Vjb25kYXJ5JztcbiAgICB9LFxuICAgIGJ1dHRvbkNsYXNzZXM6IGZ1bmN0aW9uIGJ1dHRvbkNsYXNzZXMoKSB7XG4gICAgICB2YXIgX3JlZjtcblxuICAgICAgLy8gU2FtZSBmb3IgcmFkaW8gJiBjaGVja1xuICAgICAgcmV0dXJuIFsnYnRuJywgXCJidG4tXCIuY29uY2F0KHRoaXMuZ2V0QnV0dG9uVmFyaWFudCksIChfcmVmID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfcmVmLCBcImJ0bi1cIi5jb25jYXQodGhpcy5nZXRTaXplKSwgdGhpcy5nZXRTaXplKSwgX2RlZmluZVByb3BlcnR5KF9yZWYsIFwiZGlzYWJsZWRcIiwgdGhpcy5pc0Rpc2FibGVkKSwgX2RlZmluZVByb3BlcnR5KF9yZWYsIFwiYWN0aXZlXCIsIHRoaXMuaXNDaGVja2VkKSwgX2RlZmluZVByb3BlcnR5KF9yZWYsIFwiZm9jdXNcIiwgdGhpcy5oYXNGb2N1cyksIF9yZWYpXTtcbiAgICB9XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgY2hlY2tlZDogZnVuY3Rpb24gY2hlY2tlZChuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgdGhpcy5jb21wdXRlZExvY2FsQ2hlY2tlZCA9IG5ld1ZhbDtcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBoYW5kbGVGb2N1czogZnVuY3Rpb24gaGFuZGxlRm9jdXMoZXZ0KSB7XG4gICAgICAvLyBXaGVuIGluIGJ1dHRvbnMgbW9kZSwgd2UgbmVlZCB0byBhZGQgJ2ZvY3VzJyBjbGFzcyB0byBsYWJlbCB3aGVuIGlucHV0IGZvY3VzZWRcbiAgICAgIC8vIEFzIGl0IGlzIHRoZSBoaWRkZW4gaW5wdXQgd2hpY2ggaGFzIGFjdHVhbCBmb2N1c1xuICAgICAgaWYgKGV2dC50YXJnZXQpIHtcbiAgICAgICAgaWYgKGV2dC50eXBlID09PSAnZm9jdXMnKSB7XG4gICAgICAgICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZ0LnR5cGUgPT09ICdibHVyJykge1xuICAgICAgICAgIHRoaXMuaGFzRm9jdXMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgLy8gQ29udmVuaWVuY2UgbWV0aG9kcyBmb3IgZm9jdXNpbmcgdGhlIGlucHV0XG4gICAgZm9jdXM6IGZ1bmN0aW9uIGZvY3VzKCkge1xuICAgICAgaWYgKCF0aGlzLmlzRGlzYWJsZWQgJiYgdGhpcy4kcmVmcy5pbnB1dCAmJiB0aGlzLiRyZWZzLmlucHV0LmZvY3VzKSB7XG4gICAgICAgIHRoaXMuJHJlZnMuaW5wdXQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGJsdXI6IGZ1bmN0aW9uIGJsdXIoKSB7XG4gICAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZCAmJiB0aGlzLiRyZWZzLmlucHV0ICYmIHRoaXMuJHJlZnMuaW5wdXQuYmx1cikge1xuICAgICAgICB0aGlzLiRyZWZzLmlucHV0LmJsdXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICB2YXIgZGVmYXVsdFNsb3QgPSB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKTsgLy8gR2VuZXJhdGUgdGhlIGlucHV0IGVsZW1lbnRcblxuICAgIHZhciBvbiA9IHtcbiAgICAgIGNoYW5nZTogdGhpcy5oYW5kbGVDaGFuZ2VcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuaXNCdG5Nb2RlKSB7XG4gICAgICAvLyBIYW5kbGVycyBmb3IgZm9jdXMgc3R5bGluZyB3aGVuIGluIGJ1dHRvbiBtb2RlXG4gICAgICBvbi5mb2N1cyA9IG9uLmJsdXIgPSB0aGlzLmhhbmRsZUZvY3VzO1xuICAgIH1cblxuICAgIHZhciBpbnB1dCA9IGgoJ2lucHV0Jywge1xuICAgICAgcmVmOiAnaW5wdXQnLFxuICAgICAga2V5OiAnaW5wdXQnLFxuICAgICAgb246IG9uLFxuICAgICAgY2xhc3M6IHtcbiAgICAgICAgJ2Zvcm0tY2hlY2staW5wdXQnOiB0aGlzLmlzUGxhaW4sXG4gICAgICAgICdjdXN0b20tY29udHJvbC1pbnB1dCc6IHRoaXMuaXNDdXN0b20sXG4gICAgICAgICdpcy12YWxpZCc6IHRoaXMuZ2V0U3RhdGUgPT09IHRydWUgJiYgIXRoaXMuaXNCdG5Nb2RlLFxuICAgICAgICAnaXMtaW52YWxpZCc6IHRoaXMuZ2V0U3RhdGUgPT09IGZhbHNlICYmICF0aGlzLmlzQnRuTW9kZSxcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jvb3RzdHJhcC12dWUvYm9vdHN0cmFwLXZ1ZS9pc3N1ZXMvMjkxMVxuICAgICAgICAncG9zaXRpb24tc3RhdGljJzogdGhpcy5pc1BsYWluICYmICFkZWZhdWx0U2xvdFxuICAgICAgfSxcbiAgICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICAgIG5hbWU6ICdtb2RlbCcsXG4gICAgICAgIHJhd05hbWU6ICd2LW1vZGVsJyxcbiAgICAgICAgdmFsdWU6IHRoaXMuY29tcHV0ZWRMb2NhbENoZWNrZWQsXG4gICAgICAgIGV4cHJlc3Npb246ICdjb21wdXRlZExvY2FsQ2hlY2tlZCdcbiAgICAgIH1dLFxuICAgICAgYXR0cnM6IF9vYmplY3RTcHJlYWQoe30sIHRoaXMuJGF0dHJzLCB7XG4gICAgICAgIGlkOiB0aGlzLnNhZmVJZCgpLFxuICAgICAgICB0eXBlOiB0aGlzLmlzUmFkaW8gPyAncmFkaW8nIDogJ2NoZWNrYm94JyxcbiAgICAgICAgbmFtZTogdGhpcy5nZXROYW1lLFxuICAgICAgICBmb3JtOiB0aGlzLmdldEZvcm0sXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLmlzRGlzYWJsZWQsXG4gICAgICAgIHJlcXVpcmVkOiB0aGlzLmlzUmVxdWlyZWQsXG4gICAgICAgIGF1dG9jb21wbGV0ZTogJ29mZicsXG4gICAgICAgICdhcmlhLXJlcXVpcmVkJzogdGhpcy5pc1JlcXVpcmVkIHx8IG51bGwsXG4gICAgICAgICdhcmlhLWxhYmVsJzogdGhpcy5hcmlhTGFiZWwgfHwgbnVsbCxcbiAgICAgICAgJ2FyaWEtbGFiZWxsZWRieSc6IHRoaXMuYXJpYUxhYmVsbGVkYnkgfHwgbnVsbFxuICAgICAgfSksXG4gICAgICBkb21Qcm9wczoge1xuICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgY2hlY2tlZDogdGhpcy5pc0NoZWNrZWRcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmlzQnRuTW9kZSkge1xuICAgICAgLy8gQnV0dG9uIG1vZGVcbiAgICAgIHZhciBidXR0b24gPSBoKCdsYWJlbCcsIHtcbiAgICAgICAgY2xhc3M6IHRoaXMuYnV0dG9uQ2xhc3Nlc1xuICAgICAgfSwgW2lucHV0LCBkZWZhdWx0U2xvdF0pO1xuXG4gICAgICBpZiAoIXRoaXMuaXNHcm91cCkge1xuICAgICAgICAvLyBTdGFuZGFsb25lIGJ1dHRvbiBtb2RlLCBzbyB3cmFwIGluICdidG4tZ3JvdXAtdG9nZ2xlJ1xuICAgICAgICAvLyBhbmQgZmxhZyBpdCBhcyBpbmxpbmUtYmxvY2sgdG8gbWltaWMgcmVndWxhciBidXR0b25zXG4gICAgICAgIGJ1dHRvbiA9IGgoJ2RpdicsIHtcbiAgICAgICAgICBjbGFzczogWydidG4tZ3JvdXAtdG9nZ2xlJywgJ2QtaW5saW5lLWJsb2NrJ11cbiAgICAgICAgfSwgW2J1dHRvbl0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYnV0dG9uO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOb3QgYnV0dG9uIG1vZGVcbiAgICAgIHZhciBsYWJlbCA9IGgoKTsgLy8gSWYgbm8gbGFiZWwgY29udGVudCBpbiBwbGFpbiBtb2RlIHdlIGRvbnQgcmVuZGVyIHRoZSBsYWJlbFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jvb3RzdHJhcC12dWUvYm9vdHN0cmFwLXZ1ZS9pc3N1ZXMvMjkxMVxuXG4gICAgICBpZiAoISh0aGlzLmlzUGxhaW4gJiYgIWRlZmF1bHRTbG90KSkge1xuICAgICAgICBsYWJlbCA9IGgoJ2xhYmVsJywge1xuICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICAnZm9ybS1jaGVjay1sYWJlbCc6IHRoaXMuaXNQbGFpbixcbiAgICAgICAgICAgICdjdXN0b20tY29udHJvbC1sYWJlbCc6IHRoaXMuaXNDdXN0b21cbiAgICAgICAgICB9LFxuICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICBmb3I6IHRoaXMuc2FmZUlkKClcbiAgICAgICAgICB9XG4gICAgICAgIH0sIGRlZmF1bHRTbG90KTtcbiAgICAgIH0gLy8gV3JhcCBpdCBpbiBhIGRpdlxuXG5cbiAgICAgIHJldHVybiBoKCdkaXYnLCB7XG4gICAgICAgIGNsYXNzOiBfZGVmaW5lUHJvcGVydHkoe1xuICAgICAgICAgICdmb3JtLWNoZWNrJzogdGhpcy5pc1BsYWluLFxuICAgICAgICAgICdmb3JtLWNoZWNrLWlubGluZSc6IHRoaXMuaXNQbGFpbiAmJiB0aGlzLmlzSW5saW5lLFxuICAgICAgICAgICdjdXN0b20tY29udHJvbCc6IHRoaXMuaXNDdXN0b20sXG4gICAgICAgICAgJ2N1c3RvbS1jb250cm9sLWlubGluZSc6IHRoaXMuaXNDdXN0b20gJiYgdGhpcy5pc0lubGluZSxcbiAgICAgICAgICAnY3VzdG9tLWNoZWNrYm94JzogdGhpcy5pc0N1c3RvbSAmJiB0aGlzLmlzQ2hlY2sgJiYgIXRoaXMuaXNTd2l0Y2gsXG4gICAgICAgICAgJ2N1c3RvbS1zd2l0Y2gnOiB0aGlzLmlzU3dpdGNoLFxuICAgICAgICAgICdjdXN0b20tcmFkaW8nOiB0aGlzLmlzQ3VzdG9tICYmIHRoaXMuaXNSYWRpb1xuICAgICAgICB9LCBcImItY3VzdG9tLWNvbnRyb2wtXCIuY29uY2F0KHRoaXMuZ2V0U2l6ZSksIEJvb2xlYW4odGhpcy5nZXRTaXplICYmICF0aGlzLmlzQnRuTW9kZSkpXG4gICAgICB9LCBbaW5wdXQsIGxhYmVsXSk7XG4gICAgfVxuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL21peGlucy9mb3JtLXJhZGlvLWNoZWNrLmpzXG4vLyBtb2R1bGUgaWQgPSAxNDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///140\n"); + +/***/ }), +/* 141 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormCheckboxGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_form__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_form_options__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_form_radio_check_group__ = __webpack_require__(142);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_form_size__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_form_state__ = __webpack_require__(16);\n\n\n\n\n\n\n\nvar props = {\n switches: {\n // Custom switch styling\n type: Boolean,\n default: false\n },\n checked: {\n type: Array,\n default: null\n }\n}; // @vue/component\n\nvar BFormCheckboxGroup =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormCheckboxGroup',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_form__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_4__mixins_form_radio_check_group__[\"a\" /* default */], // Includes render function\n __WEBPACK_IMPORTED_MODULE_3__mixins_form_options__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_5__mixins_form_size__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__mixins_form_state__[\"a\" /* default */]],\n provide: function provide() {\n return {\n bvCheckGroup: this\n };\n },\n props: props,\n data: function data() {\n return {\n localChecked: this.checked || []\n };\n },\n computed: {\n isRadioGroup: function isRadioGroup() {\n return false;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3gtZ3JvdXAuanM/MjA4YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDSTtBQUNJO0FBQ2U7QUFDa0I7QUFDeEI7QUFDRTtBQUM5QztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsMkRBQU8sRUFBRSw2REFBUyxFQUFFLCtFQUF3QjtBQUN2RCxFQUFFLHFFQUFnQixFQUFFLGtFQUFhLEVBQUUsbUVBQWM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNDEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgaWRNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvaWQnO1xuaW1wb3J0IGZvcm1NaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvZm9ybSc7XG5pbXBvcnQgZm9ybU9wdGlvbnNNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvZm9ybS1vcHRpb25zJztcbmltcG9ydCBmb3JtUmFkaW9DaGVja0dyb3VwTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tcmFkaW8tY2hlY2stZ3JvdXAnO1xuaW1wb3J0IGZvcm1TaXplTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tc2l6ZSc7XG5pbXBvcnQgZm9ybVN0YXRlTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tc3RhdGUnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgc3dpdGNoZXM6IHtcbiAgICAvLyBDdXN0b20gc3dpdGNoIHN0eWxpbmdcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGNoZWNrZWQ6IHtcbiAgICB0eXBlOiBBcnJheSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkZvcm1DaGVja2JveEdyb3VwID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkZvcm1DaGVja2JveEdyb3VwJyxcbiAgbWl4aW5zOiBbaWRNaXhpbiwgZm9ybU1peGluLCBmb3JtUmFkaW9DaGVja0dyb3VwTWl4aW4sIC8vIEluY2x1ZGVzIHJlbmRlciBmdW5jdGlvblxuICBmb3JtT3B0aW9uc01peGluLCBmb3JtU2l6ZU1peGluLCBmb3JtU3RhdGVNaXhpbl0sXG4gIHByb3ZpZGU6IGZ1bmN0aW9uIHByb3ZpZGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ2Q2hlY2tHcm91cDogdGhpc1xuICAgIH07XG4gIH0sXG4gIHByb3BzOiBwcm9wcyxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxDaGVja2VkOiB0aGlzLmNoZWNrZWQgfHwgW11cbiAgICB9O1xuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGlzUmFkaW9Hcm91cDogZnVuY3Rpb24gaXNSYWRpb0dyb3VwKCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3gtZ3JvdXAuanNcbi8vIG1vZHVsZSBpZCA9IDE0MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///141\n"); + +/***/ }), +/* 142 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_form_checkbox_form_checkbox__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_form_radio_form_radio__ = __webpack_require__(71);\n\n\n\n // @vue/component\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__normalize_slot__[\"a\" /* default */]],\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n validated: {\n type: Boolean,\n default: false\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n stacked: {\n type: Boolean,\n default: false\n },\n plain: {\n type: Boolean,\n default: false\n },\n buttons: {\n // Render as button style\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: 'secondary'\n }\n },\n computed: {\n inline: function inline() {\n return !this.stacked;\n },\n groupName: function groupName() {\n // Checks/Radios tied to the same model must have the same name,\n // especially for ARIA accessibility.\n return this.name || this.safeId();\n },\n groupClasses: function groupClasses() {\n if (this.buttons) {\n return ['btn-group-toggle', this.inline ? 'btn-group' : 'btn-group-vertical', this.size ? \"btn-group-\".concat(this.size) : '', this.validated ? \"was-validated\" : ''];\n }\n\n return [this.validated ? \"was-validated\" : ''];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n var ariaInvalid = this.ariaInvalid;\n\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true';\n }\n\n return this.computedState === false ? 'true' : null;\n }\n },\n watch: {\n checked: function checked(newVal, oldVal) {\n this.localChecked = newVal;\n },\n localChecked: function localChecked(newVal, oldVal) {\n this.$emit('input', newVal);\n }\n },\n render: function render(h) {\n var _this = this;\n\n var inputs = this.formOptions.map(function (option, idx) {\n var uid = \"_BV_option_\".concat(idx, \"_\");\n return h(_this.isRadioGroup ? __WEBPACK_IMPORTED_MODULE_3__components_form_radio_form_radio__[\"a\" /* BFormRadio */] : __WEBPACK_IMPORTED_MODULE_2__components_form_checkbox_form_checkbox__[\"a\" /* BFormCheckbox */], {\n key: uid,\n props: {\n id: _this.safeId(uid),\n value: option.value,\n // Individual radios or checks can be disabled in a group\n disabled: option.disabled || false // We don't need to include these, since the input's will know they are inside here\n // name: this.groupName,\n // form: this.form || null,\n // required: Boolean(this.name && this.required)\n\n }\n }, [h('span', {\n domProps: Object(__WEBPACK_IMPORTED_MODULE_0__utils_html__[\"a\" /* htmlOrText */])(option.html, option.text)\n })]);\n });\n return h('div', {\n class: this.groupClasses,\n attrs: {\n id: this.safeId(),\n role: this.isRadioGroup ? 'radiogroup' : 'group',\n // Tabindex to allow group to be focused if needed\n tabindex: '-1',\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n }\n }, [this.normalizeSlot('first'), inputs, this.normalizeSlot('default')]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tcmFkaW8tY2hlY2stZ3JvdXAuanM/ZTYzOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUEyQztBQUNPO0FBQ3dCO0FBQ1Q7O0FBRWxEO0FBQ2YsV0FBVyxnRUFBa0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQ0FBb0MscUZBQVUsR0FBRyw4RkFBYTtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1Asa0JBQWtCLHVFQUFVO0FBQzVCLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjE0Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0bWxPclRleHQgfSBmcm9tICcuLi91dGlscy9odG1sJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi9ub3JtYWxpemUtc2xvdCc7XG5pbXBvcnQgeyBCRm9ybUNoZWNrYm94IH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtLWNoZWNrYm94L2Zvcm0tY2hlY2tib3gnO1xuaW1wb3J0IHsgQkZvcm1SYWRpbyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybS1yYWRpby9mb3JtLXJhZGlvJzsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IGRlZmF1bHQge1xuICBtaXhpbnM6IFtub3JtYWxpemVTbG90TWl4aW5dLFxuICBtb2RlbDoge1xuICAgIHByb3A6ICdjaGVja2VkJyxcbiAgICBldmVudDogJ2lucHV0J1xuICB9LFxuICBwcm9wczoge1xuICAgIHZhbGlkYXRlZDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBhcmlhSW52YWxpZDoge1xuICAgICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZ10sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgc3RhY2tlZDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBwbGFpbjoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBidXR0b25zOiB7XG4gICAgICAvLyBSZW5kZXIgYXMgYnV0dG9uIHN0eWxlXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGJ1dHRvblZhcmlhbnQ6IHtcbiAgICAgIC8vIE9ubHkgYXBwbGljYWJsZSB3aGVuIHJlbmRlcmVkIHdpdGggYnV0dG9uIHN0eWxlXG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnc2Vjb25kYXJ5J1xuICAgIH1cbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBpbmxpbmU6IGZ1bmN0aW9uIGlubGluZSgpIHtcbiAgICAgIHJldHVybiAhdGhpcy5zdGFja2VkO1xuICAgIH0sXG4gICAgZ3JvdXBOYW1lOiBmdW5jdGlvbiBncm91cE5hbWUoKSB7XG4gICAgICAvLyBDaGVja3MvUmFkaW9zIHRpZWQgdG8gdGhlIHNhbWUgbW9kZWwgbXVzdCBoYXZlIHRoZSBzYW1lIG5hbWUsXG4gICAgICAvLyBlc3BlY2lhbGx5IGZvciBBUklBIGFjY2Vzc2liaWxpdHkuXG4gICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IHRoaXMuc2FmZUlkKCk7XG4gICAgfSxcbiAgICBncm91cENsYXNzZXM6IGZ1bmN0aW9uIGdyb3VwQ2xhc3NlcygpIHtcbiAgICAgIGlmICh0aGlzLmJ1dHRvbnMpIHtcbiAgICAgICAgcmV0dXJuIFsnYnRuLWdyb3VwLXRvZ2dsZScsIHRoaXMuaW5saW5lID8gJ2J0bi1ncm91cCcgOiAnYnRuLWdyb3VwLXZlcnRpY2FsJywgdGhpcy5zaXplID8gXCJidG4tZ3JvdXAtXCIuY29uY2F0KHRoaXMuc2l6ZSkgOiAnJywgdGhpcy52YWxpZGF0ZWQgPyBcIndhcy12YWxpZGF0ZWRcIiA6ICcnXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFt0aGlzLnZhbGlkYXRlZCA/IFwid2FzLXZhbGlkYXRlZFwiIDogJyddO1xuICAgIH0sXG4gICAgY29tcHV0ZWRBcmlhSW52YWxpZDogZnVuY3Rpb24gY29tcHV0ZWRBcmlhSW52YWxpZCgpIHtcbiAgICAgIHZhciBhcmlhSW52YWxpZCA9IHRoaXMuYXJpYUludmFsaWQ7XG5cbiAgICAgIGlmIChhcmlhSW52YWxpZCA9PT0gdHJ1ZSB8fCBhcmlhSW52YWxpZCA9PT0gJ3RydWUnIHx8IGFyaWFJbnZhbGlkID09PSAnJykge1xuICAgICAgICByZXR1cm4gJ3RydWUnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5jb21wdXRlZFN0YXRlID09PSBmYWxzZSA/ICd0cnVlJyA6IG51bGw7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIGNoZWNrZWQ6IGZ1bmN0aW9uIGNoZWNrZWQobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIHRoaXMubG9jYWxDaGVja2VkID0gbmV3VmFsO1xuICAgIH0sXG4gICAgbG9jYWxDaGVja2VkOiBmdW5jdGlvbiBsb2NhbENoZWNrZWQobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgbmV3VmFsKTtcbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdmFyIGlucHV0cyA9IHRoaXMuZm9ybU9wdGlvbnMubWFwKGZ1bmN0aW9uIChvcHRpb24sIGlkeCkge1xuICAgICAgdmFyIHVpZCA9IFwiX0JWX29wdGlvbl9cIi5jb25jYXQoaWR4LCBcIl9cIik7XG4gICAgICByZXR1cm4gaChfdGhpcy5pc1JhZGlvR3JvdXAgPyBCRm9ybVJhZGlvIDogQkZvcm1DaGVja2JveCwge1xuICAgICAgICBrZXk6IHVpZCxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBpZDogX3RoaXMuc2FmZUlkKHVpZCksXG4gICAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgICAvLyBJbmRpdmlkdWFsIHJhZGlvcyBvciBjaGVja3MgY2FuIGJlIGRpc2FibGVkIGluIGEgZ3JvdXBcbiAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uLmRpc2FibGVkIHx8IGZhbHNlIC8vIFdlIGRvbid0IG5lZWQgdG8gaW5jbHVkZSB0aGVzZSwgc2luY2UgdGhlIGlucHV0J3Mgd2lsbCBrbm93IHRoZXkgYXJlIGluc2lkZSBoZXJlXG4gICAgICAgICAgLy8gbmFtZTogdGhpcy5ncm91cE5hbWUsXG4gICAgICAgICAgLy8gZm9ybTogdGhpcy5mb3JtIHx8IG51bGwsXG4gICAgICAgICAgLy8gcmVxdWlyZWQ6IEJvb2xlYW4odGhpcy5uYW1lICYmIHRoaXMucmVxdWlyZWQpXG5cbiAgICAgICAgfVxuICAgICAgfSwgW2goJ3NwYW4nLCB7XG4gICAgICAgIGRvbVByb3BzOiBodG1sT3JUZXh0KG9wdGlvbi5odG1sLCBvcHRpb24udGV4dClcbiAgICAgIH0pXSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGgoJ2RpdicsIHtcbiAgICAgIGNsYXNzOiB0aGlzLmdyb3VwQ2xhc3NlcyxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiB0aGlzLnNhZmVJZCgpLFxuICAgICAgICByb2xlOiB0aGlzLmlzUmFkaW9Hcm91cCA/ICdyYWRpb2dyb3VwJyA6ICdncm91cCcsXG4gICAgICAgIC8vIFRhYmluZGV4IHRvIGFsbG93IGdyb3VwIHRvIGJlIGZvY3VzZWQgaWYgbmVlZGVkXG4gICAgICAgIHRhYmluZGV4OiAnLTEnLFxuICAgICAgICAnYXJpYS1yZXF1aXJlZCc6IHRoaXMucmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsLFxuICAgICAgICAnYXJpYS1pbnZhbGlkJzogdGhpcy5jb21wdXRlZEFyaWFJbnZhbGlkXG4gICAgICB9XG4gICAgfSwgW3RoaXMubm9ybWFsaXplU2xvdCgnZmlyc3QnKSwgaW5wdXRzLCB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKV0pO1xuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL21peGlucy9mb3JtLXJhZGlvLWNoZWNrLWdyb3VwLmpzXG4vLyBtb2R1bGUgaWQgPSAxNDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///142\n"); + +/***/ }), +/* 143 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FormRadioPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__form_radio__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__form_radio_group__ = __webpack_require__(144);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BFormRadio */\n/* unused harmony reexport BFormRadioGroup */\n\n\n\nvar FormRadioPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BFormRadio: __WEBPACK_IMPORTED_MODULE_0__form_radio__[\"a\" /* BFormRadio */],\n BRadio: __WEBPACK_IMPORTED_MODULE_0__form_radio__[\"a\" /* BFormRadio */],\n BFormRadioGroup: __WEBPACK_IMPORTED_MODULE_1__form_radio_group__[\"a\" /* BFormRadioGroup */],\n BRadioGroup: __WEBPACK_IMPORTED_MODULE_1__form_radio_group__[\"a\" /* BFormRadioGroup */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLXJhZGlvL2luZGV4LmpzPzBkMGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBDO0FBQ1c7QUFDRDtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGdCQUFnQiwrREFBVTtBQUMxQixZQUFZLCtEQUFVO0FBQ3RCLHFCQUFxQiwwRUFBZTtBQUNwQyxpQkFBaUIsMEVBQWU7QUFDaEM7QUFDQSxDQUFDIiwiZmlsZSI6IjE0My5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJGb3JtUmFkaW8gfSBmcm9tICcuL2Zvcm0tcmFkaW8nO1xuaW1wb3J0IHsgQkZvcm1SYWRpb0dyb3VwIH0gZnJvbSAnLi9mb3JtLXJhZGlvLWdyb3VwJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBGb3JtUmFkaW9QbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCRm9ybVJhZGlvOiBCRm9ybVJhZGlvLFxuICAgIEJSYWRpbzogQkZvcm1SYWRpbyxcbiAgICBCRm9ybVJhZGlvR3JvdXA6IEJGb3JtUmFkaW9Hcm91cCxcbiAgICBCUmFkaW9Hcm91cDogQkZvcm1SYWRpb0dyb3VwXG4gIH1cbn0pO1xuZXhwb3J0IHsgRm9ybVJhZGlvUGx1Z2luLCBCRm9ybVJhZGlvLCBCRm9ybVJhZGlvR3JvdXAgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Zvcm0tcmFkaW8vaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE0M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///143\n"); + +/***/ }), +/* 144 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormRadioGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_form__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_form_options__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_form_radio_check_group__ = __webpack_require__(142);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_form_size__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_form_state__ = __webpack_require__(16);\n\n\n\n\n\n\n\nvar props = {\n checked: {\n // type: [String, Number, Boolean, Object],\n default: null\n }\n}; // @vue/component\n\nvar BFormRadioGroup =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormRadioGroup',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_form__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_4__mixins_form_radio_check_group__[\"a\" /* default */], // Includes render function\n __WEBPACK_IMPORTED_MODULE_3__mixins_form_options__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_5__mixins_form_size__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__mixins_form_state__[\"a\" /* default */]],\n provide: function provide() {\n return {\n bvRadioGroup: this\n };\n },\n props: props,\n data: function data() {\n return {\n localChecked: this.checked\n };\n },\n computed: {\n isRadioGroup: function isRadioGroup() {\n return true;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLXJhZGlvL2Zvcm0tcmFkaW8tZ3JvdXAuanM/NGIxNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDSTtBQUNJO0FBQ2U7QUFDa0I7QUFDeEI7QUFDRTtBQUM5QztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsMkRBQU8sRUFBRSw2REFBUyxFQUFFLCtFQUF3QjtBQUN2RCxFQUFFLHFFQUFnQixFQUFFLGtFQUFhLEVBQUUsbUVBQWM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgaWRNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvaWQnO1xuaW1wb3J0IGZvcm1NaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvZm9ybSc7XG5pbXBvcnQgZm9ybU9wdGlvbnNNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvZm9ybS1vcHRpb25zJztcbmltcG9ydCBmb3JtUmFkaW9DaGVja0dyb3VwTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tcmFkaW8tY2hlY2stZ3JvdXAnO1xuaW1wb3J0IGZvcm1TaXplTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tc2l6ZSc7XG5pbXBvcnQgZm9ybVN0YXRlTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tc3RhdGUnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgY2hlY2tlZDoge1xuICAgIC8vIHR5cGU6IFtTdHJpbmcsIE51bWJlciwgQm9vbGVhbiwgT2JqZWN0XSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkZvcm1SYWRpb0dyb3VwID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQkZvcm1SYWRpb0dyb3VwJyxcbiAgbWl4aW5zOiBbaWRNaXhpbiwgZm9ybU1peGluLCBmb3JtUmFkaW9DaGVja0dyb3VwTWl4aW4sIC8vIEluY2x1ZGVzIHJlbmRlciBmdW5jdGlvblxuICBmb3JtT3B0aW9uc01peGluLCBmb3JtU2l6ZU1peGluLCBmb3JtU3RhdGVNaXhpbl0sXG4gIHByb3ZpZGU6IGZ1bmN0aW9uIHByb3ZpZGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ2UmFkaW9Hcm91cDogdGhpc1xuICAgIH07XG4gIH0sXG4gIHByb3BzOiBwcm9wcyxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxDaGVja2VkOiB0aGlzLmNoZWNrZWRcbiAgICB9O1xuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGlzUmFkaW9Hcm91cDogZnVuY3Rpb24gaXNSYWRpb0dyb3VwKCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Zvcm0tcmFkaW8vZm9ybS1yYWRpby1ncm91cC5qc1xuLy8gbW9kdWxlIGlkID0gMTQ0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///144\n"); + +/***/ }), +/* 145 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FormInputPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__form_input__ = __webpack_require__(146);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BFormInput */\n\n\nvar FormInputPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BFormInput: __WEBPACK_IMPORTED_MODULE_0__form_input__[\"a\" /* BFormInput */],\n BInput: __WEBPACK_IMPORTED_MODULE_0__form_input__[\"a\" /* BFormInput */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWlucHV0L2luZGV4LmpzP2EzOTAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMEM7QUFDVTtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGdCQUFnQiwrREFBVTtBQUMxQixZQUFZLCtEQUFVO0FBQ3RCO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNDUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCRm9ybUlucHV0IH0gZnJvbSAnLi9mb3JtLWlucHV0JztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBGb3JtSW5wdXRQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCRm9ybUlucHV0OiBCRm9ybUlucHV0LFxuICAgIEJJbnB1dDogQkZvcm1JbnB1dFxuICB9XG59KTtcbmV4cG9ydCB7IEZvcm1JbnB1dFBsdWdpbiwgQkZvcm1JbnB1dCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZm9ybS1pbnB1dC9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTQ1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///145\n"); + +/***/ }), +/* 146 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormInput; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_form__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_form_size__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_form_state__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_form_text__ = __webpack_require__(147);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_form_selection__ = __webpack_require__(148);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_form_validity__ = __webpack_require__(149);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__utils_dom__ = __webpack_require__(6);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n\n // Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // @vue/component\n\nvar BFormInput =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormInput',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_form__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__mixins_form_size__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_4__mixins_form_state__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_5__mixins_form_text__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__mixins_form_selection__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_7__mixins_form_validity__[\"a\" /* default */]],\n props: {\n // value prop defined in form-text mixin\n // value: { },\n type: {\n type: String,\n default: 'text',\n validator: function validator(type) {\n return Object(__WEBPACK_IMPORTED_MODULE_8__utils_array__[\"a\" /* arrayIncludes */])(TYPES, type);\n }\n },\n noWheel: {\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date).\n type: Boolean,\n default: false\n },\n min: {\n type: [String, Number],\n default: null\n },\n max: {\n type: [String, Number],\n default: null\n },\n step: {\n type: [String, Number],\n default: null\n },\n list: {\n type: String,\n default: null\n }\n },\n computed: {\n localType: function localType() {\n // We only allow certain types\n return Object(__WEBPACK_IMPORTED_MODULE_8__utils_array__[\"a\" /* arrayIncludes */])(TYPES, this.type) ? this.type : 'text';\n }\n },\n watch: {\n noWheel: function noWheel(newVal) {\n this.setWheelStopper(newVal);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propgation\n\n if (on) {\n Object(__WEBPACK_IMPORTED_MODULE_9__utils_dom__[\"f\" /* eventOn */])(input, 'focus', this.onWheelFocus);\n Object(__WEBPACK_IMPORTED_MODULE_9__utils_dom__[\"f\" /* eventOn */])(input, 'blur', this.onWheelBlur);\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_9__utils_dom__[\"e\" /* eventOff */])(input, 'focus', this.onWheelFocus);\n Object(__WEBPACK_IMPORTED_MODULE_9__utils_dom__[\"e\" /* eventOff */])(input, 'blur', this.onWheelBlur);\n Object(__WEBPACK_IMPORTED_MODULE_9__utils_dom__[\"e\" /* eventOff */])(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus(evt) {\n Object(__WEBPACK_IMPORTED_MODULE_9__utils_dom__[\"f\" /* eventOn */])(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur(evt) {\n Object(__WEBPACK_IMPORTED_MODULE_9__utils_dom__[\"e\" /* eventOff */])(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(evt) {\n evt.preventDefault();\n this.$el.blur();\n }\n },\n render: function render(h) {\n var self = this;\n return h('input', {\n ref: 'input',\n class: self.computedClass,\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: self.localValue,\n expression: 'localValue'\n }],\n attrs: {\n id: self.safeId(),\n name: self.name,\n form: self.form || null,\n type: self.localType,\n disabled: self.disabled,\n placeholder: self.placeholder,\n required: self.required,\n autocomplete: self.autocomplete || null,\n readonly: self.readonly || self.plaintext,\n min: self.min,\n max: self.max,\n step: self.step,\n list: self.localType !== 'password' ? self.list : null,\n 'aria-required': self.required ? 'true' : null,\n 'aria-invalid': self.computedAriaInvalid\n },\n domProps: {\n value: self.localValue\n },\n on: _objectSpread({}, self.$listeners, {\n input: self.onInput,\n change: self.onChange,\n blur: self.onBlur\n })\n });\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWlucHV0L2Zvcm0taW5wdXQuanM/MDk2NiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNJO0FBQ0k7QUFDUztBQUNFO0FBQ0Y7QUFDVTtBQUNGO0FBQ1Q7QUFDRTs7QUFFcEQsNkpBQTZKOztBQUV0SjtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsMkRBQU8sRUFBRSw2REFBUyxFQUFFLGtFQUFhLEVBQUUsbUVBQWMsRUFBRSxrRUFBYSxFQUFFLHVFQUFrQixFQUFFLHNFQUFpQjtBQUNsSDtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSwyRUFBYTtBQUM1QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLDJFQUFhO0FBQzFCO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLDJCQUEyQjs7QUFFM0I7QUFDQSxRQUFRLG1FQUFPO0FBQ2YsUUFBUSxtRUFBTztBQUNmLE9BQU87QUFDUCxRQUFRLG9FQUFRO0FBQ2hCLFFBQVEsb0VBQVE7QUFDaEIsUUFBUSxvRUFBUTtBQUNoQjtBQUNBLEtBQUs7QUFDTDtBQUNBLE1BQU0sbUVBQU87QUFDYixLQUFLO0FBQ0w7QUFDQSxNQUFNLG9FQUFRO0FBQ2QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjE0Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCBpZE1peGluIGZyb20gJy4uLy4uL21peGlucy9pZCc7XG5pbXBvcnQgZm9ybU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtJztcbmltcG9ydCBmb3JtU2l6ZU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXNpemUnO1xuaW1wb3J0IGZvcm1TdGF0ZU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXN0YXRlJztcbmltcG9ydCBmb3JtVGV4dE1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXRleHQnO1xuaW1wb3J0IGZvcm1TZWxlY3Rpb25NaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvZm9ybS1zZWxlY3Rpb24nO1xuaW1wb3J0IGZvcm1WYWxpZGl0eU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXZhbGlkaXR5JztcbmltcG9ydCB7IGFycmF5SW5jbHVkZXMgfSBmcm9tICcuLi8uLi91dGlscy9hcnJheSc7XG5pbXBvcnQgeyBldmVudE9uLCBldmVudE9mZiB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbSc7IC8vIFZhbGlkIHN1cHBvcnRlZCBpbnB1dCB0eXBlc1xuXG52YXIgVFlQRVMgPSBbJ3RleHQnLCAncGFzc3dvcmQnLCAnZW1haWwnLCAnbnVtYmVyJywgJ3VybCcsICd0ZWwnLCAnc2VhcmNoJywgJ3JhbmdlJywgJ2NvbG9yJywgJ2RhdGUnLCAndGltZScsICdkYXRldGltZScsICdkYXRldGltZS1sb2NhbCcsICdtb250aCcsICd3ZWVrJ107IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkZvcm1JbnB1dCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JGb3JtSW5wdXQnLFxuICBtaXhpbnM6IFtpZE1peGluLCBmb3JtTWl4aW4sIGZvcm1TaXplTWl4aW4sIGZvcm1TdGF0ZU1peGluLCBmb3JtVGV4dE1peGluLCBmb3JtU2VsZWN0aW9uTWl4aW4sIGZvcm1WYWxpZGl0eU1peGluXSxcbiAgcHJvcHM6IHtcbiAgICAvLyB2YWx1ZSBwcm9wIGRlZmluZWQgaW4gZm9ybS10ZXh0IG1peGluXG4gICAgLy8gdmFsdWU6IHsgfSxcbiAgICB0eXBlOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAndGV4dCcsXG4gICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih0eXBlKSB7XG4gICAgICAgIHJldHVybiBhcnJheUluY2x1ZGVzKFRZUEVTLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG5vV2hlZWw6IHtcbiAgICAgIC8vIERpc2FibGUgbW91c2V3aGVlbCB0byBwcmV2ZW50IHdoZWVsIGZyb20gY2hhbmdpbmcgdmFsdWVzIChpLmUuIG51bWJlci9kYXRlKS5cbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbWluOiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgbWF4OiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgc3RlcDoge1xuICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXSxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIGxpc3Q6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgbG9jYWxUeXBlOiBmdW5jdGlvbiBsb2NhbFR5cGUoKSB7XG4gICAgICAvLyBXZSBvbmx5IGFsbG93IGNlcnRhaW4gdHlwZXNcbiAgICAgIHJldHVybiBhcnJheUluY2x1ZGVzKFRZUEVTLCB0aGlzLnR5cGUpID8gdGhpcy50eXBlIDogJ3RleHQnO1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBub1doZWVsOiBmdW5jdGlvbiBub1doZWVsKG5ld1ZhbCkge1xuICAgICAgdGhpcy5zZXRXaGVlbFN0b3BwZXIobmV3VmFsKTtcbiAgICB9XG4gIH0sXG4gIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgdGhpcy5zZXRXaGVlbFN0b3BwZXIodGhpcy5ub1doZWVsKTtcbiAgfSxcbiAgZGVhY3RpdmF0ZWQ6IGZ1bmN0aW9uIGRlYWN0aXZhdGVkKCkge1xuICAgIC8vIFR1cm4gb2ZmIGxpc3RlbmVycyB3aGVuIGtlZXAtYWxpdmUgY29tcG9uZW50IGRlYWN0aXZhdGVkXG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHRoaXMuc2V0V2hlZWxTdG9wcGVyKGZhbHNlKTtcbiAgfSxcbiAgYWN0aXZhdGVkOiBmdW5jdGlvbiBhY3RpdmF0ZWQoKSB7XG4gICAgLy8gVHVybiBvbiBsaXN0ZW5lcnMgKGlmIG5vLXdoZWVsKSB3aGVuIGtlZXAtYWxpdmUgY29tcG9uZW50IGFjdGl2YXRlZFxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLnNldFdoZWVsU3RvcHBlcih0aGlzLm5vV2hlZWwpO1xuICB9LFxuICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhpcy5zZXRXaGVlbFN0b3BwZXIoZmFsc2UpO1xuICB9LFxuICBtZXRob2RzOiB7XG4gICAgc2V0V2hlZWxTdG9wcGVyOiBmdW5jdGlvbiBzZXRXaGVlbFN0b3BwZXIob24pIHtcbiAgICAgIHZhciBpbnB1dCA9IHRoaXMuJGVsOyAvLyBXZSB1c2UgbmF0aXZlIGV2ZW50cywgc28gdGhhdCB3ZSBkb24ndCBpbnRlcmZlcmUgd2l0aCBwcm9wZ2F0aW9uXG5cbiAgICAgIGlmIChvbikge1xuICAgICAgICBldmVudE9uKGlucHV0LCAnZm9jdXMnLCB0aGlzLm9uV2hlZWxGb2N1cyk7XG4gICAgICAgIGV2ZW50T24oaW5wdXQsICdibHVyJywgdGhpcy5vbldoZWVsQmx1cik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBldmVudE9mZihpbnB1dCwgJ2ZvY3VzJywgdGhpcy5vbldoZWVsRm9jdXMpO1xuICAgICAgICBldmVudE9mZihpbnB1dCwgJ2JsdXInLCB0aGlzLm9uV2hlZWxCbHVyKTtcbiAgICAgICAgZXZlbnRPZmYoZG9jdW1lbnQsICd3aGVlbCcsIHRoaXMuc3RvcFdoZWVsKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uV2hlZWxGb2N1czogZnVuY3Rpb24gb25XaGVlbEZvY3VzKGV2dCkge1xuICAgICAgZXZlbnRPbihkb2N1bWVudCwgJ3doZWVsJywgdGhpcy5zdG9wV2hlZWwpO1xuICAgIH0sXG4gICAgb25XaGVlbEJsdXI6IGZ1bmN0aW9uIG9uV2hlZWxCbHVyKGV2dCkge1xuICAgICAgZXZlbnRPZmYoZG9jdW1lbnQsICd3aGVlbCcsIHRoaXMuc3RvcFdoZWVsKTtcbiAgICB9LFxuICAgIHN0b3BXaGVlbDogZnVuY3Rpb24gc3RvcFdoZWVsKGV2dCkge1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLiRlbC5ibHVyKCk7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBoKCdpbnB1dCcsIHtcbiAgICAgIHJlZjogJ2lucHV0JyxcbiAgICAgIGNsYXNzOiBzZWxmLmNvbXB1dGVkQ2xhc3MsXG4gICAgICBkaXJlY3RpdmVzOiBbe1xuICAgICAgICBuYW1lOiAnbW9kZWwnLFxuICAgICAgICByYXdOYW1lOiAndi1tb2RlbCcsXG4gICAgICAgIHZhbHVlOiBzZWxmLmxvY2FsVmFsdWUsXG4gICAgICAgIGV4cHJlc3Npb246ICdsb2NhbFZhbHVlJ1xuICAgICAgfV0sXG4gICAgICBhdHRyczoge1xuICAgICAgICBpZDogc2VsZi5zYWZlSWQoKSxcbiAgICAgICAgbmFtZTogc2VsZi5uYW1lLFxuICAgICAgICBmb3JtOiBzZWxmLmZvcm0gfHwgbnVsbCxcbiAgICAgICAgdHlwZTogc2VsZi5sb2NhbFR5cGUsXG4gICAgICAgIGRpc2FibGVkOiBzZWxmLmRpc2FibGVkLFxuICAgICAgICBwbGFjZWhvbGRlcjogc2VsZi5wbGFjZWhvbGRlcixcbiAgICAgICAgcmVxdWlyZWQ6IHNlbGYucmVxdWlyZWQsXG4gICAgICAgIGF1dG9jb21wbGV0ZTogc2VsZi5hdXRvY29tcGxldGUgfHwgbnVsbCxcbiAgICAgICAgcmVhZG9ubHk6IHNlbGYucmVhZG9ubHkgfHwgc2VsZi5wbGFpbnRleHQsXG4gICAgICAgIG1pbjogc2VsZi5taW4sXG4gICAgICAgIG1heDogc2VsZi5tYXgsXG4gICAgICAgIHN0ZXA6IHNlbGYuc3RlcCxcbiAgICAgICAgbGlzdDogc2VsZi5sb2NhbFR5cGUgIT09ICdwYXNzd29yZCcgPyBzZWxmLmxpc3QgOiBudWxsLFxuICAgICAgICAnYXJpYS1yZXF1aXJlZCc6IHNlbGYucmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsLFxuICAgICAgICAnYXJpYS1pbnZhbGlkJzogc2VsZi5jb21wdXRlZEFyaWFJbnZhbGlkXG4gICAgICB9LFxuICAgICAgZG9tUHJvcHM6IHtcbiAgICAgICAgdmFsdWU6IHNlbGYubG9jYWxWYWx1ZVxuICAgICAgfSxcbiAgICAgIG9uOiBfb2JqZWN0U3ByZWFkKHt9LCBzZWxmLiRsaXN0ZW5lcnMsIHtcbiAgICAgICAgaW5wdXQ6IHNlbGYub25JbnB1dCxcbiAgICAgICAgY2hhbmdlOiBzZWxmLm9uQ2hhbmdlLFxuICAgICAgICBibHVyOiBzZWxmLm9uQmx1clxuICAgICAgfSlcbiAgICB9KTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWlucHV0L2Zvcm0taW5wdXQuanNcbi8vIG1vZHVsZSBpZCA9IDE0NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///146\n"); + +/***/ }), +/* 147 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_inspect__ = __webpack_require__(1);\n // @vue/component\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n model: {\n prop: 'value',\n event: 'update'\n },\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n plaintext: {\n type: Boolean,\n default: false\n },\n autocomplete: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n formatter: {\n type: Function,\n default: null\n },\n trim: {\n type: Boolean,\n default: false\n },\n number: {\n type: Boolean,\n default: false\n },\n lazyFormatter: {\n type: Boolean,\n value: false\n }\n },\n data: function data() {\n return {\n localValue: this.stringifyValue(this.value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n return [{\n // Range input needs class custom-range\n 'custom-range': this.type === 'range',\n // plaintext not supported by type=range or type=color\n 'form-control-plaintext': this.plaintext && this.type !== 'range' && this.type !== 'color',\n // form-control not used by type=range or plaintext. Always used by type=color\n 'form-control': !this.plaintext && this.type !== 'range' || this.type === 'color'\n }, this.sizeFormClass, this.stateClass];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (!this.ariaInvalid || this.ariaInvalid === 'false') {\n // this.ariaInvalid is null or false or 'false'\n return this.computedState === false ? 'true' : null;\n }\n\n if (this.ariaInvalid === true) {\n // User wants explicit aria-invalid=true\n return 'true';\n } // Most likely a string value (which could be the string 'true')\n\n\n return this.ariaInvalid;\n }\n },\n watch: {\n value: function value(newVal) {\n if (newVal !== this.localValue) {\n this.localValue = this.stringifyValue(newVal);\n }\n }\n },\n mounted: function mounted() {\n var value = this.stringifyValue(this.value);\n\n if (value !== this.localValue) {\n /* istanbul ignore next */\n this.localValue = value;\n }\n },\n methods: {\n stringifyValue: function stringifyValue(value) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_inspect__[\"n\" /* isUndefined */])(value) || Object(__WEBPACK_IMPORTED_MODULE_0__utils_inspect__[\"g\" /* isNull */])(value) ? '' : String(value);\n },\n getFormatted: function getFormatted(value, evt) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = this.stringifyValue(value);\n\n if ((!this.lazyFormatter || force) && Object(__WEBPACK_IMPORTED_MODULE_0__utils_inspect__[\"f\" /* isFunction */])(this.formatter)) {\n value = this.formatter(value, evt);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n value = this.stringifyValue(value);\n\n if (value !== this.localValue) {\n // Keep the input set to the value before modifiers\n this.localValue = value;\n\n if (this.number) {\n // Emulate `.number` modifier behaviour\n var num = parseFloat(value);\n value = isNaN(num) ? value : num;\n } else if (this.trim) {\n // Emulate `.trim` modifier behaviour\n value = value.trim();\n } // Update the v-model\n\n\n this.$emit('update', value);\n } else if (this.$refs.input && value !== this.$refs.input.value) {\n // When the `localValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one.\n // Usually casued by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function.\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n this.$refs.input.value = value;\n }\n },\n onInput: function onInput(evt) {\n // `evt.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n\n /* istanbul ignore if: hard to test composition events */\n if (evt.target.composing) {\n return;\n }\n\n var formatted = this.getFormatted(evt.target.value, evt); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n if (formatted === false || evt.defaultPrevented) {\n /* istanbul ignore next */\n evt.preventDefault();\n return;\n }\n\n this.updateValue(formatted);\n this.$emit('input', formatted);\n },\n onChange: function onChange(evt) {\n // `evt.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n\n /* istanbul ignore if: hard to test composition events */\n if (evt.target.composing) {\n return;\n }\n\n var formatted = this.getFormatted(evt.target.value, evt); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n if (formatted === false || evt.defaultPrevented) {\n /* istanbul ignore next */\n evt.preventDefault();\n return;\n }\n\n this.updateValue(formatted);\n this.$emit('change', formatted);\n },\n onBlur: function onBlur(evt) {\n // Lazy formatter\n if (this.lazyFormatter) {\n var formatted = this.getFormatted(evt.target.value, evt, true); // Exit when the `formatter` function strictly returned `false`\n\n if (formatted === false) {\n return;\n }\n\n this.updateValue(formatted);\n } // Emit native blur event\n\n\n this.$emit('blur', evt);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n this.$el.focus();\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n this.$el.blur();\n }\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tdGV4dC5qcz81YzI3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQW1FOztBQUVwRDtBQUNmO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxhQUFhLDJFQUFXLFdBQVcsc0VBQU07QUFDekMsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEMsMEVBQVU7QUFDdEQ7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUzs7O0FBR1Q7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsK0RBQStEO0FBQy9EOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsK0RBQStEO0FBQy9EOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSx1RUFBdUU7O0FBRXZFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87OztBQUdQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjE0Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRnVuY3Rpb24sIGlzTnVsbCwgaXNVbmRlZmluZWQgfSBmcm9tICcuLi91dGlscy9pbnNwZWN0JzsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IGRlZmF1bHQge1xuICBtb2RlbDoge1xuICAgIHByb3A6ICd2YWx1ZScsXG4gICAgZXZlbnQ6ICd1cGRhdGUnXG4gIH0sXG4gIHByb3BzOiB7XG4gICAgdmFsdWU6IHtcbiAgICAgIHR5cGU6IFtTdHJpbmcsIE51bWJlcl0sXG4gICAgICBkZWZhdWx0OiAnJ1xuICAgIH0sXG4gICAgYXJpYUludmFsaWQ6IHtcbiAgICAgIHR5cGU6IFtCb29sZWFuLCBTdHJpbmddLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHJlYWRvbmx5OiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHBsYWludGV4dDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBhdXRvY29tcGxldGU6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIHBsYWNlaG9sZGVyOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBmb3JtYXR0ZXI6IHtcbiAgICAgIHR5cGU6IEZ1bmN0aW9uLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgdHJpbToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBudW1iZXI6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbGF6eUZvcm1hdHRlcjoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH1cbiAgfSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxWYWx1ZTogdGhpcy5zdHJpbmdpZnlWYWx1ZSh0aGlzLnZhbHVlKVxuICAgIH07XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgY29tcHV0ZWRDbGFzczogZnVuY3Rpb24gY29tcHV0ZWRDbGFzcygpIHtcbiAgICAgIHJldHVybiBbe1xuICAgICAgICAvLyBSYW5nZSBpbnB1dCBuZWVkcyBjbGFzcyBjdXN0b20tcmFuZ2VcbiAgICAgICAgJ2N1c3RvbS1yYW5nZSc6IHRoaXMudHlwZSA9PT0gJ3JhbmdlJyxcbiAgICAgICAgLy8gcGxhaW50ZXh0IG5vdCBzdXBwb3J0ZWQgYnkgdHlwZT1yYW5nZSBvciB0eXBlPWNvbG9yXG4gICAgICAgICdmb3JtLWNvbnRyb2wtcGxhaW50ZXh0JzogdGhpcy5wbGFpbnRleHQgJiYgdGhpcy50eXBlICE9PSAncmFuZ2UnICYmIHRoaXMudHlwZSAhPT0gJ2NvbG9yJyxcbiAgICAgICAgLy8gZm9ybS1jb250cm9sIG5vdCB1c2VkIGJ5IHR5cGU9cmFuZ2Ugb3IgcGxhaW50ZXh0LiBBbHdheXMgdXNlZCBieSB0eXBlPWNvbG9yXG4gICAgICAgICdmb3JtLWNvbnRyb2wnOiAhdGhpcy5wbGFpbnRleHQgJiYgdGhpcy50eXBlICE9PSAncmFuZ2UnIHx8IHRoaXMudHlwZSA9PT0gJ2NvbG9yJ1xuICAgICAgfSwgdGhpcy5zaXplRm9ybUNsYXNzLCB0aGlzLnN0YXRlQ2xhc3NdO1xuICAgIH0sXG4gICAgY29tcHV0ZWRBcmlhSW52YWxpZDogZnVuY3Rpb24gY29tcHV0ZWRBcmlhSW52YWxpZCgpIHtcbiAgICAgIGlmICghdGhpcy5hcmlhSW52YWxpZCB8fCB0aGlzLmFyaWFJbnZhbGlkID09PSAnZmFsc2UnKSB7XG4gICAgICAgIC8vIHRoaXMuYXJpYUludmFsaWQgaXMgbnVsbCBvciBmYWxzZSBvciAnZmFsc2UnXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkU3RhdGUgPT09IGZhbHNlID8gJ3RydWUnIDogbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuYXJpYUludmFsaWQgPT09IHRydWUpIHtcbiAgICAgICAgLy8gVXNlciB3YW50cyBleHBsaWNpdCBhcmlhLWludmFsaWQ9dHJ1ZVxuICAgICAgICByZXR1cm4gJ3RydWUnO1xuICAgICAgfSAvLyBNb3N0IGxpa2VseSBhIHN0cmluZyB2YWx1ZSAod2hpY2ggY291bGQgYmUgdGhlIHN0cmluZyAndHJ1ZScpXG5cblxuICAgICAgcmV0dXJuIHRoaXMuYXJpYUludmFsaWQ7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShuZXdWYWwpIHtcbiAgICAgIGlmIChuZXdWYWwgIT09IHRoaXMubG9jYWxWYWx1ZSkge1xuICAgICAgICB0aGlzLmxvY2FsVmFsdWUgPSB0aGlzLnN0cmluZ2lmeVZhbHVlKG5ld1ZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIHZhciB2YWx1ZSA9IHRoaXMuc3RyaW5naWZ5VmFsdWUodGhpcy52YWx1ZSk7XG5cbiAgICBpZiAodmFsdWUgIT09IHRoaXMubG9jYWxWYWx1ZSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHRoaXMubG9jYWxWYWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIHN0cmluZ2lmeVZhbHVlOiBmdW5jdGlvbiBzdHJpbmdpZnlWYWx1ZSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzVW5kZWZpbmVkKHZhbHVlKSB8fCBpc051bGwodmFsdWUpID8gJycgOiBTdHJpbmcodmFsdWUpO1xuICAgIH0sXG4gICAgZ2V0Rm9ybWF0dGVkOiBmdW5jdGlvbiBnZXRGb3JtYXR0ZWQodmFsdWUsIGV2dCkge1xuICAgICAgdmFyIGZvcmNlID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBmYWxzZTtcbiAgICAgIHZhbHVlID0gdGhpcy5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgIGlmICgoIXRoaXMubGF6eUZvcm1hdHRlciB8fCBmb3JjZSkgJiYgaXNGdW5jdGlvbih0aGlzLmZvcm1hdHRlcikpIHtcbiAgICAgICAgdmFsdWUgPSB0aGlzLmZvcm1hdHRlcih2YWx1ZSwgZXZ0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0sXG4gICAgdXBkYXRlVmFsdWU6IGZ1bmN0aW9uIHVwZGF0ZVZhbHVlKHZhbHVlKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuc3RyaW5naWZ5VmFsdWUodmFsdWUpO1xuXG4gICAgICBpZiAodmFsdWUgIT09IHRoaXMubG9jYWxWYWx1ZSkge1xuICAgICAgICAvLyBLZWVwIHRoZSBpbnB1dCBzZXQgdG8gdGhlIHZhbHVlIGJlZm9yZSBtb2RpZmllcnNcbiAgICAgICAgdGhpcy5sb2NhbFZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMubnVtYmVyKSB7XG4gICAgICAgICAgLy8gRW11bGF0ZSBgLm51bWJlcmAgbW9kaWZpZXIgYmVoYXZpb3VyXG4gICAgICAgICAgdmFyIG51bSA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgICAgIHZhbHVlID0gaXNOYU4obnVtKSA/IHZhbHVlIDogbnVtO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHJpbSkge1xuICAgICAgICAgIC8vIEVtdWxhdGUgYC50cmltYCBtb2RpZmllciBiZWhhdmlvdXJcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnRyaW0oKTtcbiAgICAgICAgfSAvLyBVcGRhdGUgdGhlIHYtbW9kZWxcblxuXG4gICAgICAgIHRoaXMuJGVtaXQoJ3VwZGF0ZScsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy4kcmVmcy5pbnB1dCAmJiB2YWx1ZSAhPT0gdGhpcy4kcmVmcy5pbnB1dC52YWx1ZSkge1xuICAgICAgICAvLyBXaGVuIHRoZSBgbG9jYWxWYWx1ZWAgaGFzbid0IGNoYW5nZWQgYnV0IHRoZSBhY3R1YWwgaW5wdXQgdmFsdWVcbiAgICAgICAgLy8gaXMgb3V0IG9mIHN5bmMsIG1ha2Ugc3VyZSB0byBjaGFuZ2UgaXQgdG8gdGhlIGdpdmVuIG9uZS5cbiAgICAgICAgLy8gVXN1YWxseSBjYXN1ZWQgYnkgYnJvd3NlciBhdXRvY29tcGxldGUgYW5kIGhvdyBpdCB0cmlnZ2VycyB0aGVcbiAgICAgICAgLy8gY2hhbmdlIG9yIGlucHV0IGV2ZW50LCBvciBkZXBlbmRpbmcgb24gdGhlIGZvcm1hdHRlciBmdW5jdGlvbi5cbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jvb3RzdHJhcC12dWUvYm9vdHN0cmFwLXZ1ZS9pc3N1ZXMvMjY1N1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYm9vdHN0cmFwLXZ1ZS9ib290c3RyYXAtdnVlL2lzc3Vlcy8zNDk4XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGhhcmQgdG8gdGVzdCAqL1xuICAgICAgICB0aGlzLiRyZWZzLmlucHV0LnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBvbklucHV0OiBmdW5jdGlvbiBvbklucHV0KGV2dCkge1xuICAgICAgLy8gYGV2dC50YXJnZXQuY29tcG9zaW5nYCBpcyBzZXQgYnkgVnVlXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdnVlanMvdnVlL2Jsb2IvZGV2L3NyYy9wbGF0Zm9ybXMvd2ViL3J1bnRpbWUvZGlyZWN0aXZlcy9tb2RlbC5qc1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWY6IGhhcmQgdG8gdGVzdCBjb21wb3NpdGlvbiBldmVudHMgKi9cbiAgICAgIGlmIChldnQudGFyZ2V0LmNvbXBvc2luZykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBmb3JtYXR0ZWQgPSB0aGlzLmdldEZvcm1hdHRlZChldnQudGFyZ2V0LnZhbHVlLCBldnQpOyAvLyBFeGl0IHdoZW4gdGhlIGBmb3JtYXR0ZXJgIGZ1bmN0aW9uIHN0cmljdGx5IHJldHVybmVkIGBmYWxzZWBcbiAgICAgIC8vIG9yIHByZXZlbnRlZCB0aGUgaW5wdXQgZXZlbnRcblxuICAgICAgaWYgKGZvcm1hdHRlZCA9PT0gZmFsc2UgfHwgZXZ0LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy51cGRhdGVWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCBmb3JtYXR0ZWQpO1xuICAgIH0sXG4gICAgb25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKGV2dCkge1xuICAgICAgLy8gYGV2dC50YXJnZXQuY29tcG9zaW5nYCBpcyBzZXQgYnkgVnVlXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdnVlanMvdnVlL2Jsb2IvZGV2L3NyYy9wbGF0Zm9ybXMvd2ViL3J1bnRpbWUvZGlyZWN0aXZlcy9tb2RlbC5qc1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWY6IGhhcmQgdG8gdGVzdCBjb21wb3NpdGlvbiBldmVudHMgKi9cbiAgICAgIGlmIChldnQudGFyZ2V0LmNvbXBvc2luZykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBmb3JtYXR0ZWQgPSB0aGlzLmdldEZvcm1hdHRlZChldnQudGFyZ2V0LnZhbHVlLCBldnQpOyAvLyBFeGl0IHdoZW4gdGhlIGBmb3JtYXR0ZXJgIGZ1bmN0aW9uIHN0cmljdGx5IHJldHVybmVkIGBmYWxzZWBcbiAgICAgIC8vIG9yIHByZXZlbnRlZCB0aGUgaW5wdXQgZXZlbnRcblxuICAgICAgaWYgKGZvcm1hdHRlZCA9PT0gZmFsc2UgfHwgZXZ0LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy51cGRhdGVWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgZm9ybWF0dGVkKTtcbiAgICB9LFxuICAgIG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKGV2dCkge1xuICAgICAgLy8gTGF6eSBmb3JtYXR0ZXJcbiAgICAgIGlmICh0aGlzLmxhenlGb3JtYXR0ZXIpIHtcbiAgICAgICAgdmFyIGZvcm1hdHRlZCA9IHRoaXMuZ2V0Rm9ybWF0dGVkKGV2dC50YXJnZXQudmFsdWUsIGV2dCwgdHJ1ZSk7IC8vIEV4aXQgd2hlbiB0aGUgYGZvcm1hdHRlcmAgZnVuY3Rpb24gc3RyaWN0bHkgcmV0dXJuZWQgYGZhbHNlYFxuXG4gICAgICAgIGlmIChmb3JtYXR0ZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgfSAvLyBFbWl0IG5hdGl2ZSBibHVyIGV2ZW50XG5cblxuICAgICAgdGhpcy4kZW1pdCgnYmx1cicsIGV2dCk7XG4gICAgfSxcbiAgICBmb2N1czogZnVuY3Rpb24gZm9jdXMoKSB7XG4gICAgICAvLyBGb3IgZXh0ZXJuYWwgaGFuZGxlciB0aGF0IG1heSB3YW50IGEgZm9jdXMgbWV0aG9kXG4gICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy4kZWwuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGJsdXI6IGZ1bmN0aW9uIGJsdXIoKSB7XG4gICAgICAvLyBGb3IgZXh0ZXJuYWwgaGFuZGxlciB0aGF0IG1heSB3YW50IGEgYmx1ciBtZXRob2RcbiAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLiRlbC5ibHVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL21peGlucy9mb3JtLXRleHQuanNcbi8vIG1vZHVsZSBpZCA9IDE0N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///147\n"); + +/***/ }), +/* 148 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("// @vue/component\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.selectionStart;\n },\n set: function set(val)\n /* istanbul ignore next */\n {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.selectionEnd;\n },\n set: function set(val)\n /* istanbul ignore next */\n {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.selectionDirection;\n },\n set: function set(val)\n /* istanbul ignore next */\n {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n select: function select()\n /* istanbul ignore next */\n {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n setSelectionRange: function setSelectionRange()\n /* istanbul ignore next */\n {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n setRangeText: function setRangeText()\n /* istanbul ignore next */\n {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tc2VsZWN0aW9uLmpzPzBjMTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMTQ4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHZ1ZS9jb21wb25lbnRcbmV4cG9ydCBkZWZhdWx0IHtcbiAgY29tcHV0ZWQ6IHtcbiAgICBzZWxlY3Rpb25TdGFydDoge1xuICAgICAgLy8gRXhwb3NlIHNlbGVjdGlvblN0YXJ0IGZvciBmb3JtYXR0ZXJzLCBldGNcbiAgICAgIGNhY2hlOiBmYWxzZSxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KClcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLiRyZWZzLmlucHV0LnNlbGVjdGlvblN0YXJ0O1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbClcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICB7XG4gICAgICAgIHRoaXMuJHJlZnMuaW5wdXQuc2VsZWN0aW9uU3RhcnQgPSB2YWw7XG4gICAgICB9XG4gICAgfSxcbiAgICBzZWxlY3Rpb25FbmQ6IHtcbiAgICAgIC8vIEV4cG9zZSBzZWxlY3Rpb25FbmQgZm9yIGZvcm1hdHRlcnMsIGV0Y1xuICAgICAgY2FjaGU6IGZhbHNlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHJlZnMuaW5wdXQuc2VsZWN0aW9uRW5kO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbClcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICB7XG4gICAgICAgIHRoaXMuJHJlZnMuaW5wdXQuc2VsZWN0aW9uRW5kID0gdmFsO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2VsZWN0aW9uRGlyZWN0aW9uOiB7XG4gICAgICAvLyBFeHBvc2Ugc2VsZWN0aW9uRGlyZWN0aW9uIGZvciBmb3JtYXR0ZXJzLCBldGNcbiAgICAgIGNhY2hlOiBmYWxzZSxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KClcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLiRyZWZzLmlucHV0LnNlbGVjdGlvbkRpcmVjdGlvbjtcbiAgICAgIH0sXG4gICAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWwpXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAge1xuICAgICAgICB0aGlzLiRyZWZzLmlucHV0LnNlbGVjdGlvbkRpcmVjdGlvbiA9IHZhbDtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIHNlbGVjdCgpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB7XG4gICAgICB2YXIgX3RoaXMkJHJlZnMkaW5wdXQ7XG5cbiAgICAgIC8vIEZvciBleHRlcm5hbCBoYW5kbGVyIHRoYXQgbWF5IHdhbnQgYSBzZWxlY3QoKSBtZXRob2RcbiAgICAgIChfdGhpcyQkcmVmcyRpbnB1dCA9IHRoaXMuJHJlZnMuaW5wdXQpLnNlbGVjdC5hcHBseShfdGhpcyQkcmVmcyRpbnB1dCwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIHNldFNlbGVjdGlvblJhbmdlOiBmdW5jdGlvbiBzZXRTZWxlY3Rpb25SYW5nZSgpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB7XG4gICAgICB2YXIgX3RoaXMkJHJlZnMkaW5wdXQyO1xuXG4gICAgICAvLyBGb3IgZXh0ZXJuYWwgaGFuZGxlciB0aGF0IG1heSB3YW50IGEgc2V0U2VsZWN0aW9uUmFuZ2UoYSxiLGMpIG1ldGhvZFxuICAgICAgKF90aGlzJCRyZWZzJGlucHV0MiA9IHRoaXMuJHJlZnMuaW5wdXQpLnNldFNlbGVjdGlvblJhbmdlLmFwcGx5KF90aGlzJCRyZWZzJGlucHV0MiwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIHNldFJhbmdlVGV4dDogZnVuY3Rpb24gc2V0UmFuZ2VUZXh0KClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHtcbiAgICAgIHZhciBfdGhpcyQkcmVmcyRpbnB1dDM7XG5cbiAgICAgIC8vIEZvciBleHRlcm5hbCBoYW5kbGVyIHRoYXQgbWF5IHdhbnQgYSBzZXRSYW5nZVRleHQoYSxiLGMpIG1ldGhvZFxuICAgICAgKF90aGlzJCRyZWZzJGlucHV0MyA9IHRoaXMuJHJlZnMuaW5wdXQpLnNldFJhbmdlVGV4dC5hcHBseShfdGhpcyQkcmVmcyRpbnB1dDMsIGFyZ3VtZW50cyk7XG4gICAgfVxuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL21peGlucy9mb3JtLXNlbGVjdGlvbi5qc1xuLy8gbW9kdWxlIGlkID0gMTQ4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///148\n"); + +/***/ }), +/* 149 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("// @vue/component\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n setCustomValidity: function setCustomValidity()\n /* istanbul ignore next */\n {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n checkValidity: function checkValidity()\n /* istanbul ignore next */\n {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n reportValidity: function reportValidity()\n /* istanbul ignore next */\n {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tdmFsaWRpdHkuanM/NDY0NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdnVlL2NvbXBvbmVudFxuZXhwb3J0IGRlZmF1bHQge1xuICBjb21wdXRlZDoge1xuICAgIHZhbGlkaXR5OiB7XG4gICAgICAvLyBFeHBvc2UgdmFsaWRpdHkgcHJvcGVydHlcbiAgICAgIGNhY2hlOiBmYWxzZSxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KClcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLiRyZWZzLmlucHV0LnZhbGlkaXR5O1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHtcbiAgICAgIC8vIEV4cG9zZSB2YWxpZGF0aW9uTWVzc2FnZSBwcm9wZXJ0eVxuICAgICAgY2FjaGU6IGZhbHNlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHJlZnMuaW5wdXQudmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICB9XG4gICAgfSxcbiAgICB3aWxsVmFsaWRhdGU6IHtcbiAgICAgIC8vIEV4cG9zZSB3aWxsVmFsaWRhdGUgcHJvcGVydHlcbiAgICAgIGNhY2hlOiBmYWxzZSxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KClcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLiRyZWZzLmlucHV0LndpbGxWYWxpZGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBzZXRDdXN0b21WYWxpZGl0eTogZnVuY3Rpb24gc2V0Q3VzdG9tVmFsaWRpdHkoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAge1xuICAgICAgdmFyIF90aGlzJCRyZWZzJGlucHV0O1xuXG4gICAgICAvLyBGb3IgZXh0ZXJuYWwgaGFuZGxlciB0aGF0IG1heSB3YW50IGEgc2V0Q3VzdG9tVmFsaWRpdHkoLi4uKSBtZXRob2RcbiAgICAgIHJldHVybiAoX3RoaXMkJHJlZnMkaW5wdXQgPSB0aGlzLiRyZWZzLmlucHV0KS5zZXRDdXN0b21WYWxpZGl0eS5hcHBseShfdGhpcyQkcmVmcyRpbnB1dCwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGNoZWNrVmFsaWRpdHk6IGZ1bmN0aW9uIGNoZWNrVmFsaWRpdHkoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAge1xuICAgICAgdmFyIF90aGlzJCRyZWZzJGlucHV0MjtcblxuICAgICAgLy8gRm9yIGV4dGVybmFsIGhhbmRsZXIgdGhhdCBtYXkgd2FudCBhIGNoZWNrVmFsaWRpdHkoLi4uKSBtZXRob2RcbiAgICAgIHJldHVybiAoX3RoaXMkJHJlZnMkaW5wdXQyID0gdGhpcy4kcmVmcy5pbnB1dCkuY2hlY2tWYWxpZGl0eS5hcHBseShfdGhpcyQkcmVmcyRpbnB1dDIsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICByZXBvcnRWYWxpZGl0eTogZnVuY3Rpb24gcmVwb3J0VmFsaWRpdHkoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAge1xuICAgICAgdmFyIF90aGlzJCRyZWZzJGlucHV0MztcblxuICAgICAgLy8gRm9yIGV4dGVybmFsIGhhbmRsZXIgdGhhdCBtYXkgd2FudCBhIHJlcG9ydFZhbGlkaXR5KC4uLikgbWV0aG9kXG4gICAgICByZXR1cm4gKF90aGlzJCRyZWZzJGlucHV0MyA9IHRoaXMuJHJlZnMuaW5wdXQpLnJlcG9ydFZhbGlkaXR5LmFwcGx5KF90aGlzJCRyZWZzJGlucHV0MywgYXJndW1lbnRzKTtcbiAgICB9XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tdmFsaWRpdHkuanNcbi8vIG1vZHVsZSBpZCA9IDE0OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///149\n"); + +/***/ }), +/* 150 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FormTextareaPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__form_textarea__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BFormTextarea */\n\n\nvar FormTextareaPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BFormTextarea: __WEBPACK_IMPORTED_MODULE_0__form_textarea__[\"a\" /* BFormTextarea */],\n BTextarea: __WEBPACK_IMPORTED_MODULE_0__form_textarea__[\"a\" /* BFormTextarea */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLXRleHRhcmVhL2luZGV4LmpzP2NhYzgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0Q7QUFDSTtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLG1CQUFtQixxRUFBYTtBQUNoQyxlQUFlLHFFQUFhO0FBQzVCO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCRm9ybVRleHRhcmVhIH0gZnJvbSAnLi9mb3JtLXRleHRhcmVhJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBGb3JtVGV4dGFyZWFQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCRm9ybVRleHRhcmVhOiBCRm9ybVRleHRhcmVhLFxuICAgIEJUZXh0YXJlYTogQkZvcm1UZXh0YXJlYVxuICB9XG59KTtcbmV4cG9ydCB7IEZvcm1UZXh0YXJlYVBsdWdpbiwgQkZvcm1UZXh0YXJlYSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZm9ybS10ZXh0YXJlYS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTUwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///150\n"); + +/***/ }), +/* 151 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormTextarea; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__directives_visible__ = __webpack_require__(117);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_form__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_form_size__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_form_state__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_form_text__ = __webpack_require__(147);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_form_selection__ = __webpack_require__(148);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mixins_form_validity__ = __webpack_require__(149);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mixins_listen_on_root__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__utils_inspect__ = __webpack_require__(1);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n\n\n\n // @vue/component\n\nvar BFormTextarea =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormTextarea',\n directives: {\n 'b-visible': __WEBPACK_IMPORTED_MODULE_1__directives_visible__[\"a\" /* VBVisible */]\n },\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_9__mixins_listen_on_root__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__mixins_form__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_4__mixins_form_size__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_5__mixins_form_state__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__mixins_form_text__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_7__mixins_form_selection__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_8__mixins_form_validity__[\"a\" /* default */]],\n props: {\n rows: {\n type: [Number, String],\n default: 2\n },\n maxRows: {\n type: [Number, String],\n default: null\n },\n wrap: {\n // 'soft', 'hard' or 'off'. Browser default is 'soft'\n type: String,\n default: 'soft'\n },\n noResize: {\n // Disable the resize handle of textarea\n type: Boolean,\n default: false\n },\n noAutoShrink: {\n // When in auto resize mode, disable shrinking to content height\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n heightInPx: null\n };\n },\n computed: {\n computedStyle: function computedStyle() {\n var styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto height mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n };\n\n if (!this.computedRows) {\n // Conditionally set the computed CSS height when auto rows/height is enabled\n // We avoid setting the style to `null`, which can override user manual resize handle\n styles.height = this.heightInPx; // We always add a vertical scrollbar to the textarea when auto-height is\n // enabled so that the computed height calculation returns a stable value\n\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value)\n // A value of 1 can cause issues in some browsers, and most browsers\n // only support 2 as the smallest value\n return Math.max(parseInt(this.rows, 10) || 2, 2);\n },\n computedMaxRows: function computedMaxRows() {\n return Math.max(this.computedMinRows, parseInt(this.maxRows, 10) || 0);\n },\n computedRows: function computedRows() {\n // This is used to set the attribute 'rows' on the textarea\n // If auto-height is enabled, then we return `null` as we use CSS to control height\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;\n }\n },\n watch: {\n localValue: function localValue(newVal, oldVal) {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n this.setHeight();\n },\n methods: {\n // Called by intersection observer directive\n visibleCallback: function visibleCallback(visible)\n /* istanbul ignore next */\n {\n if (visible) {\n // We use a `$nextTick()` here just to make sure any\n // transitions or portalling have completed\n this.$nextTick(this.setHeight);\n }\n },\n setHeight: function setHeight() {\n var _this = this;\n\n this.$nextTick(function () {\n Object(__WEBPACK_IMPORTED_MODULE_10__utils_dom__[\"w\" /* requestAF */])(function () {\n _this.heightInPx = _this.computeHeight();\n });\n });\n },\n computeHeight: function computeHeight()\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n {\n if (this.$isServer || !Object(__WEBPACK_IMPORTED_MODULE_11__utils_inspect__[\"g\" /* isNull */])(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_10__utils_dom__[\"p\" /* isVisible */])(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = Object(__WEBPACK_IMPORTED_MODULE_10__utils_dom__[\"j\" /* getCS */])(el); // Height of one line of text in px\n\n var lineHeight = parseFloat(computedStyle.lineHeight); // Calculate height of border and padding\n\n var border = (parseFloat(computedStyle.borderTopWidth) || 0) + (parseFloat(computedStyle.borderBottomWidth) || 0);\n var padding = (parseFloat(computedStyle.paddingTop) || 0) + (parseFloat(computedStyle.paddingBottom) || 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = el.style.height || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n el.style.height = 'auto';\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n\n el.style.height = oldHeight; // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n\n var contentRows = Math.max((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = Math.min(Math.max(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = Math.max(Math.ceil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && (parseFloat(oldHeight) || 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n // Using self instead of this helps reduce code size during minification\n var self = this;\n return h('textarea', {\n ref: 'input',\n class: self.computedClass,\n style: self.computedStyle,\n directives: [{\n name: 'model',\n value: self.localValue\n }, {\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: {\n '640': true\n }\n }],\n attrs: {\n id: self.safeId(),\n name: self.name,\n form: self.form || null,\n disabled: self.disabled,\n placeholder: self.placeholder,\n required: self.required,\n autocomplete: self.autocomplete || null,\n readonly: self.readonly || self.plaintext,\n rows: self.computedRows,\n wrap: self.wrap || null,\n 'aria-required': self.required ? 'true' : null,\n 'aria-invalid': self.computedAriaInvalid\n },\n domProps: {\n value: self.localValue\n },\n on: _objectSpread({}, self.$listeners, {\n input: self.onInput,\n change: self.onChange,\n blur: self.onBlur\n })\n });\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLXRleHRhcmVhL2Zvcm0tdGV4dGFyZWEuanM/MGM1ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFN0s7QUFDbUI7QUFDZjtBQUNJO0FBQ1M7QUFDRTtBQUNGO0FBQ1U7QUFDRjtBQUNDO0FBQ0U7QUFDakI7O0FBRXRDO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQSxpQkFBaUIsc0VBQVM7QUFDMUIsR0FBRztBQUNILFdBQVcsMkRBQU8sRUFBRSx1RUFBaUIsRUFBRSw2REFBUyxFQUFFLGtFQUFhLEVBQUUsbUVBQWMsRUFBRSxrRUFBYSxFQUFFLHVFQUFrQixFQUFFLHNFQUFpQjtBQUNySTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLHNFQUFTO0FBQ2pCO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLHVFQUFNO0FBQ25DO0FBQ0E7O0FBRUEsd0JBQXdCO0FBQ3hCOztBQUVBLFdBQVcsc0VBQVM7QUFDcEI7QUFDQSxPQUFPOzs7QUFHUCwwQkFBMEIsa0VBQUssS0FBSzs7QUFFcEMsNERBQTREOztBQUU1RDtBQUNBLGlIQUFpSDs7QUFFakgsb0NBQW9DOztBQUVwQyxpRUFBaUU7O0FBRWpFLDhEQUE4RDs7QUFFOUQ7QUFDQSx5Q0FBeUM7QUFDekM7O0FBRUEsa0NBQWtDOztBQUVsQywyRUFBMkU7O0FBRTNFLDZGQUE2Rjs7QUFFN0YsOEVBQThFO0FBQzlFOztBQUVBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBWQlZpc2libGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Zpc2libGUnO1xuaW1wb3J0IGlkTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2lkJztcbmltcG9ydCBmb3JtTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0nO1xuaW1wb3J0IGZvcm1TaXplTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tc2l6ZSc7XG5pbXBvcnQgZm9ybVN0YXRlTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tc3RhdGUnO1xuaW1wb3J0IGZvcm1UZXh0TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tdGV4dCc7XG5pbXBvcnQgZm9ybVNlbGVjdGlvbk1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXNlbGVjdGlvbic7XG5pbXBvcnQgZm9ybVZhbGlkaXR5TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tdmFsaWRpdHknO1xuaW1wb3J0IGxpc3Rlbk9uUm9vdE1peGluIGZyb20gJy4uLy4uL21peGlucy9saXN0ZW4tb24tcm9vdCc7XG5pbXBvcnQgeyBnZXRDUywgaXNWaXNpYmxlLCByZXF1ZXN0QUYgfSBmcm9tICcuLi8uLi91dGlscy9kb20nO1xuaW1wb3J0IHsgaXNOdWxsIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkZvcm1UZXh0YXJlYSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JGb3JtVGV4dGFyZWEnLFxuICBkaXJlY3RpdmVzOiB7XG4gICAgJ2ItdmlzaWJsZSc6IFZCVmlzaWJsZVxuICB9LFxuICBtaXhpbnM6IFtpZE1peGluLCBsaXN0ZW5PblJvb3RNaXhpbiwgZm9ybU1peGluLCBmb3JtU2l6ZU1peGluLCBmb3JtU3RhdGVNaXhpbiwgZm9ybVRleHRNaXhpbiwgZm9ybVNlbGVjdGlvbk1peGluLCBmb3JtVmFsaWRpdHlNaXhpbl0sXG4gIHByb3BzOiB7XG4gICAgcm93czoge1xuICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICAgIGRlZmF1bHQ6IDJcbiAgICB9LFxuICAgIG1heFJvd3M6IHtcbiAgICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICB3cmFwOiB7XG4gICAgICAvLyAnc29mdCcsICdoYXJkJyBvciAnb2ZmJy4gQnJvd3NlciBkZWZhdWx0IGlzICdzb2Z0J1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ3NvZnQnXG4gICAgfSxcbiAgICBub1Jlc2l6ZToge1xuICAgICAgLy8gRGlzYWJsZSB0aGUgcmVzaXplIGhhbmRsZSBvZiB0ZXh0YXJlYVxuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBub0F1dG9TaHJpbms6IHtcbiAgICAgIC8vIFdoZW4gaW4gYXV0byByZXNpemUgbW9kZSwgZGlzYWJsZSBzaHJpbmtpbmcgdG8gY29udGVudCBoZWlnaHRcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH1cbiAgfSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVpZ2h0SW5QeDogbnVsbFxuICAgIH07XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgY29tcHV0ZWRTdHlsZTogZnVuY3Rpb24gY29tcHV0ZWRTdHlsZSgpIHtcbiAgICAgIHZhciBzdHlsZXMgPSB7XG4gICAgICAgIC8vIFNldHRpbmcgYG5vUmVzaXplYCB0byB0cnVlIHdpbGwgZGlzYWJsZSB0aGUgYWJpbGl0eSBmb3IgdGhlIHVzZXIgdG9cbiAgICAgICAgLy8gbWFudWFsbHkgcmVzaXplIHRoZSB0ZXh0YXJlYS4gV2UgYWxzbyBkaXNhYmxlIHdoZW4gaW4gYXV0byBoZWlnaHQgbW9kZVxuICAgICAgICByZXNpemU6ICF0aGlzLmNvbXB1dGVkUm93cyB8fCB0aGlzLm5vUmVzaXplID8gJ25vbmUnIDogbnVsbFxuICAgICAgfTtcblxuICAgICAgaWYgKCF0aGlzLmNvbXB1dGVkUm93cykge1xuICAgICAgICAvLyBDb25kaXRpb25hbGx5IHNldCB0aGUgY29tcHV0ZWQgQ1NTIGhlaWdodCB3aGVuIGF1dG8gcm93cy9oZWlnaHQgaXMgZW5hYmxlZFxuICAgICAgICAvLyBXZSBhdm9pZCBzZXR0aW5nIHRoZSBzdHlsZSB0byBgbnVsbGAsIHdoaWNoIGNhbiBvdmVycmlkZSB1c2VyIG1hbnVhbCByZXNpemUgaGFuZGxlXG4gICAgICAgIHN0eWxlcy5oZWlnaHQgPSB0aGlzLmhlaWdodEluUHg7IC8vIFdlIGFsd2F5cyBhZGQgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgdG8gdGhlIHRleHRhcmVhIHdoZW4gYXV0by1oZWlnaHQgaXNcbiAgICAgICAgLy8gZW5hYmxlZCBzbyB0aGF0IHRoZSBjb21wdXRlZCBoZWlnaHQgY2FsY3VsYXRpb24gcmV0dXJucyBhIHN0YWJsZSB2YWx1ZVxuXG4gICAgICAgIHN0eWxlcy5vdmVyZmxvd1kgPSAnc2Nyb2xsJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9LFxuICAgIGNvbXB1dGVkTWluUm93czogZnVuY3Rpb24gY29tcHV0ZWRNaW5Sb3dzKCkge1xuICAgICAgLy8gRW5zdXJlIHJvd3MgaXMgYXQgbGVhc3QgMiBhbmQgcG9zaXRpdmUgKDIgaXMgdGhlIG5hdGl2ZSB0ZXh0YXJlYSB2YWx1ZSlcbiAgICAgIC8vIEEgdmFsdWUgb2YgMSBjYW4gY2F1c2UgaXNzdWVzIGluIHNvbWUgYnJvd3NlcnMsIGFuZCBtb3N0IGJyb3dzZXJzXG4gICAgICAvLyBvbmx5IHN1cHBvcnQgMiBhcyB0aGUgc21hbGxlc3QgdmFsdWVcbiAgICAgIHJldHVybiBNYXRoLm1heChwYXJzZUludCh0aGlzLnJvd3MsIDEwKSB8fCAyLCAyKTtcbiAgICB9LFxuICAgIGNvbXB1dGVkTWF4Um93czogZnVuY3Rpb24gY29tcHV0ZWRNYXhSb3dzKCkge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KHRoaXMuY29tcHV0ZWRNaW5Sb3dzLCBwYXJzZUludCh0aGlzLm1heFJvd3MsIDEwKSB8fCAwKTtcbiAgICB9LFxuICAgIGNvbXB1dGVkUm93czogZnVuY3Rpb24gY29tcHV0ZWRSb3dzKCkge1xuICAgICAgLy8gVGhpcyBpcyB1c2VkIHRvIHNldCB0aGUgYXR0cmlidXRlICdyb3dzJyBvbiB0aGUgdGV4dGFyZWFcbiAgICAgIC8vIElmIGF1dG8taGVpZ2h0IGlzIGVuYWJsZWQsIHRoZW4gd2UgcmV0dXJuIGBudWxsYCBhcyB3ZSB1c2UgQ1NTIHRvIGNvbnRyb2wgaGVpZ2h0XG4gICAgICByZXR1cm4gdGhpcy5jb21wdXRlZE1pblJvd3MgPT09IHRoaXMuY29tcHV0ZWRNYXhSb3dzID8gdGhpcy5jb21wdXRlZE1pblJvd3MgOiBudWxsO1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBsb2NhbFZhbHVlOiBmdW5jdGlvbiBsb2NhbFZhbHVlKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICB0aGlzLnNldEhlaWdodCgpO1xuICAgIH1cbiAgfSxcbiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICB0aGlzLnNldEhlaWdodCgpO1xuICB9LFxuICBtZXRob2RzOiB7XG4gICAgLy8gQ2FsbGVkIGJ5IGludGVyc2VjdGlvbiBvYnNlcnZlciBkaXJlY3RpdmVcbiAgICB2aXNpYmxlQ2FsbGJhY2s6IGZ1bmN0aW9uIHZpc2libGVDYWxsYmFjayh2aXNpYmxlKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAge1xuICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgLy8gV2UgdXNlIGEgYCRuZXh0VGljaygpYCBoZXJlIGp1c3QgdG8gbWFrZSBzdXJlIGFueVxuICAgICAgICAvLyB0cmFuc2l0aW9ucyBvciBwb3J0YWxsaW5nIGhhdmUgY29tcGxldGVkXG4gICAgICAgIHRoaXMuJG5leHRUaWNrKHRoaXMuc2V0SGVpZ2h0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldEhlaWdodDogZnVuY3Rpb24gc2V0SGVpZ2h0KCkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIF90aGlzLmhlaWdodEluUHggPSBfdGhpcy5jb21wdXRlSGVpZ2h0KCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBjb21wdXRlSGVpZ2h0OiBmdW5jdGlvbiBjb21wdXRlSGVpZ2h0KClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogY2FuJ3QgdGVzdCBnZXRDb21wdXRlZFN0eWxlIGluIEpTRE9NICovXG4gICAge1xuICAgICAgaWYgKHRoaXMuJGlzU2VydmVyIHx8ICFpc051bGwodGhpcy5jb21wdXRlZFJvd3MpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICB2YXIgZWwgPSB0aGlzLiRlbDsgLy8gRWxlbWVudCBtdXN0IGJlIHZpc2libGUgKG5vdCBoaWRkZW4pIGFuZCBpbiBkb2N1bWVudFxuICAgICAgLy8gTXVzdCBiZSBjaGVja2VkIGFmdGVyIGFib3ZlIGNoZWNrc1xuXG4gICAgICBpZiAoIWlzVmlzaWJsZShlbCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IC8vIEdldCBjdXJyZW50IGNvbXB1dGVkIHN0eWxlc1xuXG5cbiAgICAgIHZhciBjb21wdXRlZFN0eWxlID0gZ2V0Q1MoZWwpOyAvLyBIZWlnaHQgb2Ygb25lIGxpbmUgb2YgdGV4dCBpbiBweFxuXG4gICAgICB2YXIgbGluZUhlaWdodCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5saW5lSGVpZ2h0KTsgLy8gQ2FsY3VsYXRlIGhlaWdodCBvZiBib3JkZXIgYW5kIHBhZGRpbmdcblxuICAgICAgdmFyIGJvcmRlciA9IChwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUuYm9yZGVyVG9wV2lkdGgpIHx8IDApICsgKHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5ib3JkZXJCb3R0b21XaWR0aCkgfHwgMCk7XG4gICAgICB2YXIgcGFkZGluZyA9IChwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ1RvcCkgfHwgMCkgKyAocGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLnBhZGRpbmdCb3R0b20pIHx8IDApOyAvLyBDYWxjdWxhdGUgb2Zmc2V0XG5cbiAgICAgIHZhciBvZmZzZXQgPSBib3JkZXIgKyBwYWRkaW5nOyAvLyBNaW5pbXVtIGhlaWdodCBmb3IgbWluIHJvd3MgKHdoaWNoIG11c3QgYmUgMiByb3dzIG9yIGdyZWF0ZXIgZm9yIGNyb3NzLWJyb3dzZXIgc3VwcG9ydClcblxuICAgICAgdmFyIG1pbkhlaWdodCA9IGxpbmVIZWlnaHQgKiB0aGlzLmNvbXB1dGVkTWluUm93cyArIG9mZnNldDsgLy8gR2V0IHRoZSBjdXJyZW50IHN0eWxlIGhlaWdodCAod2l0aCBgcHhgIHVuaXRzKVxuXG4gICAgICB2YXIgb2xkSGVpZ2h0ID0gZWwuc3R5bGUuaGVpZ2h0IHx8IGNvbXB1dGVkU3R5bGUuaGVpZ2h0OyAvLyBQcm9iZSBzY3JvbGxIZWlnaHQgYnkgdGVtcG9yYXJpbHkgY2hhbmdpbmcgdGhlIGhlaWdodCB0byBgYXV0b2BcblxuICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgdmFyIHNjcm9sbEhlaWdodCA9IGVsLnNjcm9sbEhlaWdodDsgLy8gUGxhY2UgdGhlIG9yaWdpbmFsIG9sZCBoZWlnaHQgYmFjayBvbiB0aGUgZWxlbWVudCwganVzdCBpbiBjYXNlIGBjb21wdXRlZFByb3BgXG4gICAgICAvLyByZXR1cm5zIHRoZSBzYW1lIHZhbHVlIGFzIGJlZm9yZVxuXG4gICAgICBlbC5zdHlsZS5oZWlnaHQgPSBvbGRIZWlnaHQ7IC8vIENhbGN1bGF0ZSBjb250ZW50IGhlaWdodCBpbiAncm93cycgKHNjcm9sbEhlaWdodCBpbmNsdWRlcyBwYWRkaW5nIGJ1dCBub3QgYm9yZGVyKVxuXG4gICAgICB2YXIgY29udGVudFJvd3MgPSBNYXRoLm1heCgoc2Nyb2xsSGVpZ2h0IC0gcGFkZGluZykgLyBsaW5lSGVpZ2h0LCAyKTsgLy8gQ2FsY3VsYXRlIG51bWJlciBvZiByb3dzIHRvIGRpc3BsYXkgKGxpbWl0ZWQgd2l0aGluIG1pbi9tYXggcm93cylcblxuICAgICAgdmFyIHJvd3MgPSBNYXRoLm1pbihNYXRoLm1heChjb250ZW50Um93cywgdGhpcy5jb21wdXRlZE1pblJvd3MpLCB0aGlzLmNvbXB1dGVkTWF4Um93cyk7IC8vIENhbGN1bGF0ZSB0aGUgcmVxdWlyZWQgaGVpZ2h0IG9mIHRoZSB0ZXh0YXJlYSBpbmNsdWRpbmcgYm9yZGVyIGFuZCBwYWRkaW5nIChpbiBwaXhlbHMpXG5cbiAgICAgIHZhciBoZWlnaHQgPSBNYXRoLm1heChNYXRoLmNlaWwocm93cyAqIGxpbmVIZWlnaHQgKyBvZmZzZXQpLCBtaW5IZWlnaHQpOyAvLyBDb21wdXRlZCBoZWlnaHQgcmVtYWlucyB0aGUgbGFyZ2VyIG9mIGBvbGRIZWlnaHRgIGFuZCBuZXcgYGhlaWdodGAsXG4gICAgICAvLyB3aGVuIGhlaWdodCBpcyBpbiBgc3RpY2t5YCBtb2RlIChwcm9wIGBuby1hdXRvLXNocmlua2AgaXMgdHJ1ZSlcblxuICAgICAgaWYgKHRoaXMubm9BdXRvU2hyaW5rICYmIChwYXJzZUZsb2F0KG9sZEhlaWdodCkgfHwgMCkgPiBoZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIG9sZEhlaWdodDtcbiAgICAgIH0gLy8gUmV0dXJuIHRoZSBuZXcgY29tcHV0ZWQgQ1NTIGhlaWdodCBpbiBweCB1bml0c1xuXG5cbiAgICAgIHJldHVybiBcIlwiLmNvbmNhdChoZWlnaHQsIFwicHhcIik7XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgLy8gVXNpbmcgc2VsZiBpbnN0ZWFkIG9mIHRoaXMgaGVscHMgcmVkdWNlIGNvZGUgc2l6ZSBkdXJpbmcgbWluaWZpY2F0aW9uXG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBoKCd0ZXh0YXJlYScsIHtcbiAgICAgIHJlZjogJ2lucHV0JyxcbiAgICAgIGNsYXNzOiBzZWxmLmNvbXB1dGVkQ2xhc3MsXG4gICAgICBzdHlsZTogc2VsZi5jb21wdXRlZFN0eWxlLFxuICAgICAgZGlyZWN0aXZlczogW3tcbiAgICAgICAgbmFtZTogJ21vZGVsJyxcbiAgICAgICAgdmFsdWU6IHNlbGYubG9jYWxWYWx1ZVxuICAgICAgfSwge1xuICAgICAgICBuYW1lOiAnYi12aXNpYmxlJyxcbiAgICAgICAgdmFsdWU6IHRoaXMudmlzaWJsZUNhbGxiYWNrLFxuICAgICAgICAvLyBJZiB0ZXh0YXJlYSBpcyB3aXRoaW4gNjQwcHggb2Ygdmlld3BvcnQsIGNvbnNpZGVyIGl0IHZpc2libGVcbiAgICAgICAgbW9kaWZpZXJzOiB7XG4gICAgICAgICAgJzY0MCc6IHRydWVcbiAgICAgICAgfVxuICAgICAgfV0sXG4gICAgICBhdHRyczoge1xuICAgICAgICBpZDogc2VsZi5zYWZlSWQoKSxcbiAgICAgICAgbmFtZTogc2VsZi5uYW1lLFxuICAgICAgICBmb3JtOiBzZWxmLmZvcm0gfHwgbnVsbCxcbiAgICAgICAgZGlzYWJsZWQ6IHNlbGYuZGlzYWJsZWQsXG4gICAgICAgIHBsYWNlaG9sZGVyOiBzZWxmLnBsYWNlaG9sZGVyLFxuICAgICAgICByZXF1aXJlZDogc2VsZi5yZXF1aXJlZCxcbiAgICAgICAgYXV0b2NvbXBsZXRlOiBzZWxmLmF1dG9jb21wbGV0ZSB8fCBudWxsLFxuICAgICAgICByZWFkb25seTogc2VsZi5yZWFkb25seSB8fCBzZWxmLnBsYWludGV4dCxcbiAgICAgICAgcm93czogc2VsZi5jb21wdXRlZFJvd3MsXG4gICAgICAgIHdyYXA6IHNlbGYud3JhcCB8fCBudWxsLFxuICAgICAgICAnYXJpYS1yZXF1aXJlZCc6IHNlbGYucmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsLFxuICAgICAgICAnYXJpYS1pbnZhbGlkJzogc2VsZi5jb21wdXRlZEFyaWFJbnZhbGlkXG4gICAgICB9LFxuICAgICAgZG9tUHJvcHM6IHtcbiAgICAgICAgdmFsdWU6IHNlbGYubG9jYWxWYWx1ZVxuICAgICAgfSxcbiAgICAgIG9uOiBfb2JqZWN0U3ByZWFkKHt9LCBzZWxmLiRsaXN0ZW5lcnMsIHtcbiAgICAgICAgaW5wdXQ6IHNlbGYub25JbnB1dCxcbiAgICAgICAgY2hhbmdlOiBzZWxmLm9uQ2hhbmdlLFxuICAgICAgICBibHVyOiBzZWxmLm9uQmx1clxuICAgICAgfSlcbiAgICB9KTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLXRleHRhcmVhL2Zvcm0tdGV4dGFyZWEuanNcbi8vIG1vZHVsZSBpZCA9IDE1MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///151\n"); + +/***/ }), +/* 152 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FormFilePlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__form_file__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BFormFile */\n\n\nvar FormFilePlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BFormFile: __WEBPACK_IMPORTED_MODULE_0__form_file__[\"a\" /* BFormFile */],\n BFile: __WEBPACK_IMPORTED_MODULE_0__form_file__[\"a\" /* BFormFile */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWZpbGUvaW5kZXguanM/YjBkZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF3QztBQUNZO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsZUFBZSw2REFBUztBQUN4QixXQUFXLDZEQUFTO0FBQ3BCO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCRm9ybUZpbGUgfSBmcm9tICcuL2Zvcm0tZmlsZSc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgRm9ybUZpbGVQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCRm9ybUZpbGU6IEJGb3JtRmlsZSxcbiAgICBCRmlsZTogQkZvcm1GaWxlXG4gIH1cbn0pO1xuZXhwb3J0IHsgRm9ybUZpbGVQbHVnaW4sIEJGb3JtRmlsZSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvZm9ybS1maWxlL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxNTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///152\n"); + +/***/ }), +/* 153 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormFile; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_safe_types__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_form_custom__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_form__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mixins_form_state__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__mixins_normalize_slot__ = __webpack_require__(5);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n\n\n\nvar NAME = 'BFormFile'; // @vue/component\n\nvar BFormFile =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_9__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_7__mixins_form__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_8__mixins_form_state__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__mixins_form_custom__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_10__mixins_normalize_slot__[\"a\" /* default */]],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n size: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])('BFormControl', 'size');\n }\n },\n value: {\n type: [__WEBPACK_IMPORTED_MODULE_4__utils_safe_types__[\"a\" /* File */], Array],\n default: null,\n validator: function validator(val) {\n /* istanbul ignore next */\n if (val === '') {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_warn__[\"b\" /* warn */])(\"\".concat(NAME, \" - setting value/v-model to an empty string for reset is deprecated. Set to 'null' instead\"));\n return true;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"o\" /* isUndefinedOrNull */])(val) || Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"e\" /* isFile */])(val) || Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"d\" /* isArray */])(val) && (val.length === 0 || val.every(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"e\" /* isFile */]));\n }\n },\n accept: {\n type: String,\n default: ''\n },\n // Instruct input to capture from camera\n capture: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'placeholder');\n }\n },\n browseText: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'browseText');\n }\n },\n dropPlaceholder: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'dropPlaceholder');\n }\n },\n multiple: {\n type: Boolean,\n default: false\n },\n directory: {\n type: Boolean,\n default: false\n },\n noTraverse: {\n type: Boolean,\n default: false\n },\n noDrop: {\n type: Boolean,\n default: false\n },\n fileNameFormatter: {\n type: Function,\n default: null\n }\n },\n data: function data() {\n return {\n selectedFile: null,\n dragging: false,\n hasFocus: false\n };\n },\n computed: {\n selectLabel: function selectLabel() {\n // Draging active\n if (this.dragging && this.dropPlaceholder) {\n return this.dropPlaceholder;\n } // No file chosen\n\n\n if (!this.selectedFile || this.selectedFile.length === 0) {\n return this.placeholder;\n } // Convert selectedFile to an array (if not already one)\n\n\n var files = Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"b\" /* concat */])(this.selectedFile).filter(Boolean);\n\n if (this.hasNormalizedSlot('file-name')) {\n // There is a slot for formatting the files/names\n return [this.normalizeSlot('file-name', {\n files: files,\n names: files.map(function (f) {\n return f.name;\n })\n })];\n } else {\n // Use the user supplied formatter, or the built in one.\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"f\" /* isFunction */])(this.fileNameFormatter) ? String(this.fileNameFormatter(files)) : files.map(function (file) {\n return file.name;\n }).join(', ');\n }\n }\n },\n watch: {\n selectedFile: function selectedFile(newVal, oldVal) {\n // The following test is needed when the file input is \"reset\" or the\n // exact same file(s) are selected to prevent an infinite loop.\n // When in `multiple` mode we need to check for two empty arrays or\n // two arrays with identical files\n if (newVal === oldVal || Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"d\" /* isArray */])(newVal) && Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"d\" /* isArray */])(oldVal) && newVal.length === oldVal.length && newVal.every(function (v, i) {\n return v === oldVal[i];\n })) {\n return;\n }\n\n if (!newVal && this.multiple) {\n this.$emit('input', []);\n } else {\n this.$emit('input', newVal);\n }\n },\n value: function value(newVal) {\n if (!newVal || Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"d\" /* isArray */])(newVal) && newVal.length === 0) {\n this.reset();\n }\n }\n },\n methods: {\n focusHandler: function focusHandler(evt) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a '[type=file]:focus ~ sibling' selector issue,\n // so we add a 'focus' class to get around these bugs\n if (this.plain || evt.type === 'focusout') {\n this.hasFocus = false;\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true;\n }\n },\n reset: function reset() {\n try {\n // Wrapped in try in case IE 11 craps out\n this.$refs.input.value = '';\n } catch (e) {} // IE 11 doesn't support setting `input.value` to '' or null\n // So we use this little extra hack to reset the value, just in case.\n // This also appears to work on modern browsers as well.\n\n\n this.$refs.input.type = '';\n this.$refs.input.type = 'file';\n this.selectedFile = this.multiple ? [] : null;\n },\n onFileChange: function onFileChange(evt) {\n var _this = this;\n\n // Always emit original event\n this.$emit('change', evt); // Check if special `items` prop is available on event (drop mode)\n // Can be disabled by setting no-traverse\n\n var items = evt.dataTransfer && evt.dataTransfer.items;\n /* istanbul ignore next: not supported in JSDOM */\n\n if (items && !this.noTraverse) {\n var queue = [];\n\n for (var i = 0; i < items.length; i++) {\n var item = items[i].webkitGetAsEntry();\n\n if (item) {\n queue.push(this.traverseFileTree(item));\n }\n }\n\n Promise.all(queue).then(function (filesArr) {\n _this.setFiles(Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"c\" /* from */])(filesArr));\n });\n return;\n } // Normal handling\n\n\n this.setFiles(evt.target.files || evt.dataTransfer.files);\n },\n setFiles: function setFiles() {\n var files = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (!files) {\n /* istanbul ignore next: this will probably not happen */\n this.selectedFile = null;\n } else if (this.multiple) {\n // Convert files to array\n var filesArray = [];\n\n for (var i = 0; i < files.length; i++) {\n filesArray.push(files[i]);\n } // Return file(s) as array\n\n\n this.selectedFile = filesArray;\n } else {\n // Return single file object\n this.selectedFile = files[0] || null;\n }\n },\n onReset: function onReset() {\n // Triggered when the parent form (if any) is reset\n this.selectedFile = this.multiple ? [] : null;\n },\n onDragover: function onDragover(evt)\n /* istanbul ignore next: difficult to test in JSDOM */\n {\n evt.preventDefault();\n evt.stopPropagation();\n\n if (this.noDrop || !this.custom) {\n return;\n }\n\n this.dragging = true;\n evt.dataTransfer.dropEffect = 'copy';\n },\n onDragleave: function onDragleave(evt)\n /* istanbul ignore next: difficult to test in JSDOM */\n {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragging = false;\n },\n onDrop: function onDrop(evt)\n /* istanbul ignore next: difficult to test in JSDOM */\n {\n evt.preventDefault();\n evt.stopPropagation();\n\n if (this.noDrop) {\n return;\n }\n\n this.dragging = false;\n\n if (evt.dataTransfer.files && evt.dataTransfer.files.length > 0) {\n this.onFileChange(evt);\n }\n },\n traverseFileTree: function traverseFileTree(item, path)\n /* istanbul ignore next: not supported in JSDOM */\n {\n var _this2 = this;\n\n // Based on http://stackoverflow.com/questions/3590058\n return new Promise(function (resolve) {\n path = path || '';\n\n if (item.isFile) {\n // Get file\n item.file(function (file) {\n file.$path = path; // Inject $path to file obj\n\n resolve(file);\n });\n } else if (item.isDirectory) {\n // Get folder contents\n item.createReader().readEntries(function (entries) {\n var queue = [];\n\n for (var i = 0; i < entries.length; i++) {\n queue.push(_this2.traverseFileTree(entries[i], path + item.name + '/'));\n }\n\n Promise.all(queue).then(function (filesArr) {\n resolve(Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"c\" /* from */])(filesArr));\n });\n });\n }\n });\n }\n },\n render: function render(h) {\n // Form Input\n var input = h('input', {\n ref: 'input',\n class: [{\n 'form-control-file': this.plain,\n 'custom-file-input': this.custom,\n focus: this.custom && this.hasFocus\n }, this.stateClass],\n attrs: _objectSpread({}, this.$attrs, {\n type: 'file',\n id: this.safeId(),\n name: this.name,\n disabled: this.disabled,\n required: this.required,\n form: this.form || null,\n capture: this.capture || null,\n accept: this.accept || null,\n multiple: this.multiple,\n webkitdirectory: this.directory,\n 'aria-required': this.required ? 'true' : null\n }),\n on: {\n change: this.onFileChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.onReset\n }\n });\n\n if (this.plain) {\n return input;\n } // Overlay Labels\n\n\n var label = h('label', {\n staticClass: 'custom-file-label',\n class: [this.dragging ? 'dragging' : null],\n attrs: {\n for: this.safeId(),\n 'data-browse': this.browseText || null\n }\n }, this.selectLabel); // Return rendered custom file input\n\n return h('div', {\n staticClass: 'custom-file b-form-file',\n class: [this.stateClass, _defineProperty({}, \"b-custom-control-\".concat(this.size), Boolean(this.size))],\n attrs: {\n id: this.safeId('_BV_file_outer_')\n },\n on: {\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n }, [input, label]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLWZpbGUvZm9ybS1maWxlLmpzP2FmNzQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNxQztBQUNmO0FBQ29CO0FBQzlCO0FBQ047QUFDZTtBQUNiO0FBQ1c7QUFDZjtBQUN1QjtBQUM3RCx1QkFBdUI7O0FBRWhCO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVywyREFBTyxFQUFFLDZEQUFTLEVBQUUsbUVBQWMsRUFBRSxvRUFBZSxFQUFFLHdFQUFrQjtBQUNsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUZBQWtCO0FBQ2pDO0FBQ0EsS0FBSztBQUNMO0FBQ0EsYUFBYSwrREFBSTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsaUVBQUk7QUFDZDtBQUNBOztBQUVBLGVBQWUsaUZBQWlCLFNBQVMsc0VBQU0sU0FBUyxxRUFBTyx3Q0FBd0MsOERBQU07QUFDN0c7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUZBQWtCO0FBQ2pDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUZBQWtCO0FBQ2pDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUZBQWtCO0FBQ2pDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUCxrQkFBa0Isb0VBQU07O0FBRXhCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsZUFBZSwwRUFBVTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixxRUFBTyxZQUFZLHFFQUFPO0FBQ3pEO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EscUJBQXFCLHFFQUFPO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLGFBQWE7QUFDcEI7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHVCQUF1QixrQkFBa0I7QUFDekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5QkFBeUIsa0VBQVM7QUFDbEMsU0FBUztBQUNUO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQSx1QkFBdUIsa0JBQWtCO0FBQ3pDO0FBQ0EsU0FBUzs7O0FBR1Q7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4Qjs7QUFFOUI7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQSwyQkFBMkIsb0JBQW9CO0FBQy9DO0FBQ0E7O0FBRUE7QUFDQSxzQkFBc0Isa0VBQVM7QUFDL0IsYUFBYTtBQUNiLFdBQVc7QUFDWDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxvQkFBb0I7O0FBRXpCO0FBQ0E7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBmcm9tIGFzIGFycmF5RnJvbSwgaXNBcnJheSwgY29uY2F0IH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IGlzRmlsZSwgaXNGdW5jdGlvbiwgaXNVbmRlZmluZWRPck51bGwgfSBmcm9tICcuLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7IEZpbGUgfSBmcm9tICcuLi8uLi91dGlscy9zYWZlLXR5cGVzJztcbmltcG9ydCB7IHdhcm4gfSBmcm9tICcuLi8uLi91dGlscy93YXJuJztcbmltcG9ydCBmb3JtQ3VzdG9tTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tY3VzdG9tJztcbmltcG9ydCBmb3JtTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0nO1xuaW1wb3J0IGZvcm1TdGF0ZU1peGluIGZyb20gJy4uLy4uL21peGlucy9mb3JtLXN0YXRlJztcbmltcG9ydCBpZE1peGluIGZyb20gJy4uLy4uL21peGlucy9pZCc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7XG52YXIgTkFNRSA9ICdCRm9ybUZpbGUnOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJGb3JtRmlsZSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgbWl4aW5zOiBbaWRNaXhpbiwgZm9ybU1peGluLCBmb3JtU3RhdGVNaXhpbiwgZm9ybUN1c3RvbU1peGluLCBub3JtYWxpemVTbG90TWl4aW5dLFxuICBpbmhlcml0QXR0cnM6IGZhbHNlLFxuICBtb2RlbDoge1xuICAgIHByb3A6ICd2YWx1ZScsXG4gICAgZXZlbnQ6ICdpbnB1dCdcbiAgfSxcbiAgcHJvcHM6IHtcbiAgICBzaXplOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZygnQkZvcm1Db250cm9sJywgJ3NpemUnKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbHVlOiB7XG4gICAgICB0eXBlOiBbRmlsZSwgQXJyYXldLFxuICAgICAgZGVmYXVsdDogbnVsbCxcbiAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbCkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBpZiAodmFsID09PSAnJykge1xuICAgICAgICAgIHdhcm4oXCJcIi5jb25jYXQoTkFNRSwgXCIgLSBzZXR0aW5nIHZhbHVlL3YtbW9kZWwgdG8gYW4gZW1wdHkgc3RyaW5nIGZvciByZXNldCBpcyBkZXByZWNhdGVkLiBTZXQgdG8gJ251bGwnIGluc3RlYWRcIikpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzVW5kZWZpbmVkT3JOdWxsKHZhbCkgfHwgaXNGaWxlKHZhbCkgfHwgaXNBcnJheSh2YWwpICYmICh2YWwubGVuZ3RoID09PSAwIHx8IHZhbC5ldmVyeShpc0ZpbGUpKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGFjY2VwdDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJydcbiAgICB9LFxuICAgIC8vIEluc3RydWN0IGlucHV0IHRvIGNhcHR1cmUgZnJvbSBjYW1lcmFcbiAgICBjYXB0dXJlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHBsYWNlaG9sZGVyOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAncGxhY2Vob2xkZXInKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGJyb3dzZVRleHQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdicm93c2VUZXh0Jyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBkcm9wUGxhY2Vob2xkZXI6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdkcm9wUGxhY2Vob2xkZXInKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG11bHRpcGxlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGRpcmVjdG9yeToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBub1RyYXZlcnNlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIG5vRHJvcDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBmaWxlTmFtZUZvcm1hdHRlcjoge1xuICAgICAgdHlwZTogRnVuY3Rpb24sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfVxuICB9LFxuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZWxlY3RlZEZpbGU6IG51bGwsXG4gICAgICBkcmFnZ2luZzogZmFsc2UsXG4gICAgICBoYXNGb2N1czogZmFsc2VcbiAgICB9O1xuICB9LFxuICBjb21wdXRlZDoge1xuICAgIHNlbGVjdExhYmVsOiBmdW5jdGlvbiBzZWxlY3RMYWJlbCgpIHtcbiAgICAgIC8vIERyYWdpbmcgYWN0aXZlXG4gICAgICBpZiAodGhpcy5kcmFnZ2luZyAmJiB0aGlzLmRyb3BQbGFjZWhvbGRlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wUGxhY2Vob2xkZXI7XG4gICAgICB9IC8vIE5vIGZpbGUgY2hvc2VuXG5cblxuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkRmlsZSB8fCB0aGlzLnNlbGVjdGVkRmlsZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG4gICAgICB9IC8vIENvbnZlcnQgc2VsZWN0ZWRGaWxlIHRvIGFuIGFycmF5IChpZiBub3QgYWxyZWFkeSBvbmUpXG5cblxuICAgICAgdmFyIGZpbGVzID0gY29uY2F0KHRoaXMuc2VsZWN0ZWRGaWxlKS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgIGlmICh0aGlzLmhhc05vcm1hbGl6ZWRTbG90KCdmaWxlLW5hbWUnKSkge1xuICAgICAgICAvLyBUaGVyZSBpcyBhIHNsb3QgZm9yIGZvcm1hdHRpbmcgdGhlIGZpbGVzL25hbWVzXG4gICAgICAgIHJldHVybiBbdGhpcy5ub3JtYWxpemVTbG90KCdmaWxlLW5hbWUnLCB7XG4gICAgICAgICAgZmlsZXM6IGZpbGVzLFxuICAgICAgICAgIG5hbWVzOiBmaWxlcy5tYXAoZnVuY3Rpb24gKGYpIHtcbiAgICAgICAgICAgIHJldHVybiBmLm5hbWU7XG4gICAgICAgICAgfSlcbiAgICAgICAgfSldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVXNlIHRoZSB1c2VyIHN1cHBsaWVkIGZvcm1hdHRlciwgb3IgdGhlIGJ1aWx0IGluIG9uZS5cbiAgICAgICAgcmV0dXJuIGlzRnVuY3Rpb24odGhpcy5maWxlTmFtZUZvcm1hdHRlcikgPyBTdHJpbmcodGhpcy5maWxlTmFtZUZvcm1hdHRlcihmaWxlcykpIDogZmlsZXMubWFwKGZ1bmN0aW9uIChmaWxlKSB7XG4gICAgICAgICAgcmV0dXJuIGZpbGUubmFtZTtcbiAgICAgICAgfSkuam9pbignLCAnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgc2VsZWN0ZWRGaWxlOiBmdW5jdGlvbiBzZWxlY3RlZEZpbGUobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIC8vIFRoZSBmb2xsb3dpbmcgdGVzdCBpcyBuZWVkZWQgd2hlbiB0aGUgZmlsZSBpbnB1dCBpcyBcInJlc2V0XCIgb3IgdGhlXG4gICAgICAvLyBleGFjdCBzYW1lIGZpbGUocykgYXJlIHNlbGVjdGVkIHRvIHByZXZlbnQgYW4gaW5maW5pdGUgbG9vcC5cbiAgICAgIC8vIFdoZW4gaW4gYG11bHRpcGxlYCBtb2RlIHdlIG5lZWQgdG8gY2hlY2sgZm9yIHR3byBlbXB0eSBhcnJheXMgb3JcbiAgICAgIC8vIHR3byBhcnJheXMgd2l0aCBpZGVudGljYWwgZmlsZXNcbiAgICAgIGlmIChuZXdWYWwgPT09IG9sZFZhbCB8fCBpc0FycmF5KG5ld1ZhbCkgJiYgaXNBcnJheShvbGRWYWwpICYmIG5ld1ZhbC5sZW5ndGggPT09IG9sZFZhbC5sZW5ndGggJiYgbmV3VmFsLmV2ZXJ5KGZ1bmN0aW9uICh2LCBpKSB7XG4gICAgICAgIHJldHVybiB2ID09PSBvbGRWYWxbaV07XG4gICAgICB9KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghbmV3VmFsICYmIHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCBbXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIG5ld1ZhbCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUobmV3VmFsKSB7XG4gICAgICBpZiAoIW5ld1ZhbCB8fCBpc0FycmF5KG5ld1ZhbCkgJiYgbmV3VmFsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgZm9jdXNIYW5kbGVyOiBmdW5jdGlvbiBmb2N1c0hhbmRsZXIoZXZ0KSB7XG4gICAgICAvLyBCb290c3RyYXAgdjQgZG9lc24ndCBoYXZlIGZvY3VzIHN0eWxpbmcgZm9yIGN1c3RvbSBmaWxlIGlucHV0XG4gICAgICAvLyBGaXJlZm94IGhhcyBhICdbdHlwZT1maWxlXTpmb2N1cyB+IHNpYmxpbmcnIHNlbGVjdG9yIGlzc3VlLFxuICAgICAgLy8gc28gd2UgYWRkIGEgJ2ZvY3VzJyBjbGFzcyB0byBnZXQgYXJvdW5kIHRoZXNlIGJ1Z3NcbiAgICAgIGlmICh0aGlzLnBsYWluIHx8IGV2dC50eXBlID09PSAnZm9jdXNvdXQnKSB7XG4gICAgICAgIHRoaXMuaGFzRm9jdXMgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFkZCBmb2N1cyBzdHlsaW5nIGZvciBjdXN0b20gZmlsZSBpbnB1dFxuICAgICAgICB0aGlzLmhhc0ZvY3VzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHJlc2V0OiBmdW5jdGlvbiByZXNldCgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFdyYXBwZWQgaW4gdHJ5IGluIGNhc2UgSUUgMTEgY3JhcHMgb3V0XG4gICAgICAgIHRoaXMuJHJlZnMuaW5wdXQudmFsdWUgPSAnJztcbiAgICAgIH0gY2F0Y2ggKGUpIHt9IC8vIElFIDExIGRvZXNuJ3Qgc3VwcG9ydCBzZXR0aW5nIGBpbnB1dC52YWx1ZWAgdG8gJycgb3IgbnVsbFxuICAgICAgLy8gU28gd2UgdXNlIHRoaXMgbGl0dGxlIGV4dHJhIGhhY2sgdG8gcmVzZXQgdGhlIHZhbHVlLCBqdXN0IGluIGNhc2UuXG4gICAgICAvLyBUaGlzIGFsc28gYXBwZWFycyB0byB3b3JrIG9uIG1vZGVybiBicm93c2VycyBhcyB3ZWxsLlxuXG5cbiAgICAgIHRoaXMuJHJlZnMuaW5wdXQudHlwZSA9ICcnO1xuICAgICAgdGhpcy4kcmVmcy5pbnB1dC50eXBlID0gJ2ZpbGUnO1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSB0aGlzLm11bHRpcGxlID8gW10gOiBudWxsO1xuICAgIH0sXG4gICAgb25GaWxlQ2hhbmdlOiBmdW5jdGlvbiBvbkZpbGVDaGFuZ2UoZXZ0KSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAvLyBBbHdheXMgZW1pdCBvcmlnaW5hbCBldmVudFxuICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgZXZ0KTsgLy8gQ2hlY2sgaWYgc3BlY2lhbCBgaXRlbXNgIHByb3AgaXMgYXZhaWxhYmxlIG9uIGV2ZW50IChkcm9wIG1vZGUpXG4gICAgICAvLyBDYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBuby10cmF2ZXJzZVxuXG4gICAgICB2YXIgaXRlbXMgPSBldnQuZGF0YVRyYW5zZmVyICYmIGV2dC5kYXRhVHJhbnNmZXIuaXRlbXM7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm90IHN1cHBvcnRlZCBpbiBKU0RPTSAqL1xuXG4gICAgICBpZiAoaXRlbXMgJiYgIXRoaXMubm9UcmF2ZXJzZSkge1xuICAgICAgICB2YXIgcXVldWUgPSBbXTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGl0ZW0gPSBpdGVtc1tpXS53ZWJraXRHZXRBc0VudHJ5KCk7XG5cbiAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgcXVldWUucHVzaCh0aGlzLnRyYXZlcnNlRmlsZVRyZWUoaXRlbSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIFByb21pc2UuYWxsKHF1ZXVlKS50aGVuKGZ1bmN0aW9uIChmaWxlc0Fycikge1xuICAgICAgICAgIF90aGlzLnNldEZpbGVzKGFycmF5RnJvbShmaWxlc0FycikpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBOb3JtYWwgaGFuZGxpbmdcblxuXG4gICAgICB0aGlzLnNldEZpbGVzKGV2dC50YXJnZXQuZmlsZXMgfHwgZXZ0LmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgfSxcbiAgICBzZXRGaWxlczogZnVuY3Rpb24gc2V0RmlsZXMoKSB7XG4gICAgICB2YXIgZmlsZXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IFtdO1xuXG4gICAgICBpZiAoIWZpbGVzKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiB0aGlzIHdpbGwgcHJvYmFibHkgbm90IGhhcHBlbiAqL1xuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgLy8gQ29udmVydCBmaWxlcyB0byBhcnJheVxuICAgICAgICB2YXIgZmlsZXNBcnJheSA9IFtdO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBmaWxlc0FycmF5LnB1c2goZmlsZXNbaV0pO1xuICAgICAgICB9IC8vIFJldHVybiBmaWxlKHMpIGFzIGFycmF5XG5cblxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IGZpbGVzQXJyYXk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZXR1cm4gc2luZ2xlIGZpbGUgb2JqZWN0XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZXNbMF0gfHwgbnVsbDtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uUmVzZXQ6IGZ1bmN0aW9uIG9uUmVzZXQoKSB7XG4gICAgICAvLyBUcmlnZ2VyZWQgd2hlbiB0aGUgcGFyZW50IGZvcm0gKGlmIGFueSkgaXMgcmVzZXRcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gdGhpcy5tdWx0aXBsZSA/IFtdIDogbnVsbDtcbiAgICB9LFxuICAgIG9uRHJhZ292ZXI6IGZ1bmN0aW9uIG9uRHJhZ292ZXIoZXZ0KVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBkaWZmaWN1bHQgdG8gdGVzdCBpbiBKU0RPTSAqL1xuICAgIHtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICBpZiAodGhpcy5ub0Ryb3AgfHwgIXRoaXMuY3VzdG9tKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kcmFnZ2luZyA9IHRydWU7XG4gICAgICBldnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnY29weSc7XG4gICAgfSxcbiAgICBvbkRyYWdsZWF2ZTogZnVuY3Rpb24gb25EcmFnbGVhdmUoZXZ0KVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBkaWZmaWN1bHQgdG8gdGVzdCBpbiBKU0RPTSAqL1xuICAgIHtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5kcmFnZ2luZyA9IGZhbHNlO1xuICAgIH0sXG4gICAgb25Ecm9wOiBmdW5jdGlvbiBvbkRyb3AoZXZ0KVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBkaWZmaWN1bHQgdG8gdGVzdCBpbiBKU0RPTSAqL1xuICAgIHtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICBpZiAodGhpcy5ub0Ryb3ApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRyYWdnaW5nID0gZmFsc2U7XG5cbiAgICAgIGlmIChldnQuZGF0YVRyYW5zZmVyLmZpbGVzICYmIGV2dC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLm9uRmlsZUNoYW5nZShldnQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdHJhdmVyc2VGaWxlVHJlZTogZnVuY3Rpb24gdHJhdmVyc2VGaWxlVHJlZShpdGVtLCBwYXRoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBub3Qgc3VwcG9ydGVkIGluIEpTRE9NICovXG4gICAge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIC8vIEJhc2VkIG9uIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzU5MDA1OFxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgIHBhdGggPSBwYXRoIHx8ICcnO1xuXG4gICAgICAgIGlmIChpdGVtLmlzRmlsZSkge1xuICAgICAgICAgIC8vIEdldCBmaWxlXG4gICAgICAgICAgaXRlbS5maWxlKGZ1bmN0aW9uIChmaWxlKSB7XG4gICAgICAgICAgICBmaWxlLiRwYXRoID0gcGF0aDsgLy8gSW5qZWN0ICRwYXRoIHRvIGZpbGUgb2JqXG5cbiAgICAgICAgICAgIHJlc29sdmUoZmlsZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5pc0RpcmVjdG9yeSkge1xuICAgICAgICAgIC8vIEdldCBmb2xkZXIgY29udGVudHNcbiAgICAgICAgICBpdGVtLmNyZWF0ZVJlYWRlcigpLnJlYWRFbnRyaWVzKGZ1bmN0aW9uIChlbnRyaWVzKSB7XG4gICAgICAgICAgICB2YXIgcXVldWUgPSBbXTtcblxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHF1ZXVlLnB1c2goX3RoaXMyLnRyYXZlcnNlRmlsZVRyZWUoZW50cmllc1tpXSwgcGF0aCArIGl0ZW0ubmFtZSArICcvJykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBQcm9taXNlLmFsbChxdWV1ZSkudGhlbihmdW5jdGlvbiAoZmlsZXNBcnIpIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShhcnJheUZyb20oZmlsZXNBcnIpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICAvLyBGb3JtIElucHV0XG4gICAgdmFyIGlucHV0ID0gaCgnaW5wdXQnLCB7XG4gICAgICByZWY6ICdpbnB1dCcsXG4gICAgICBjbGFzczogW3tcbiAgICAgICAgJ2Zvcm0tY29udHJvbC1maWxlJzogdGhpcy5wbGFpbixcbiAgICAgICAgJ2N1c3RvbS1maWxlLWlucHV0JzogdGhpcy5jdXN0b20sXG4gICAgICAgIGZvY3VzOiB0aGlzLmN1c3RvbSAmJiB0aGlzLmhhc0ZvY3VzXG4gICAgICB9LCB0aGlzLnN0YXRlQ2xhc3NdLFxuICAgICAgYXR0cnM6IF9vYmplY3RTcHJlYWQoe30sIHRoaXMuJGF0dHJzLCB7XG4gICAgICAgIHR5cGU6ICdmaWxlJyxcbiAgICAgICAgaWQ6IHRoaXMuc2FmZUlkKCksXG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIHJlcXVpcmVkOiB0aGlzLnJlcXVpcmVkLFxuICAgICAgICBmb3JtOiB0aGlzLmZvcm0gfHwgbnVsbCxcbiAgICAgICAgY2FwdHVyZTogdGhpcy5jYXB0dXJlIHx8IG51bGwsXG4gICAgICAgIGFjY2VwdDogdGhpcy5hY2NlcHQgfHwgbnVsbCxcbiAgICAgICAgbXVsdGlwbGU6IHRoaXMubXVsdGlwbGUsXG4gICAgICAgIHdlYmtpdGRpcmVjdG9yeTogdGhpcy5kaXJlY3RvcnksXG4gICAgICAgICdhcmlhLXJlcXVpcmVkJzogdGhpcy5yZXF1aXJlZCA/ICd0cnVlJyA6IG51bGxcbiAgICAgIH0pLFxuICAgICAgb246IHtcbiAgICAgICAgY2hhbmdlOiB0aGlzLm9uRmlsZUNoYW5nZSxcbiAgICAgICAgZm9jdXNpbjogdGhpcy5mb2N1c0hhbmRsZXIsXG4gICAgICAgIGZvY3Vzb3V0OiB0aGlzLmZvY3VzSGFuZGxlcixcbiAgICAgICAgcmVzZXQ6IHRoaXMub25SZXNldFxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucGxhaW4pIHtcbiAgICAgIHJldHVybiBpbnB1dDtcbiAgICB9IC8vIE92ZXJsYXkgTGFiZWxzXG5cblxuICAgIHZhciBsYWJlbCA9IGgoJ2xhYmVsJywge1xuICAgICAgc3RhdGljQ2xhc3M6ICdjdXN0b20tZmlsZS1sYWJlbCcsXG4gICAgICBjbGFzczogW3RoaXMuZHJhZ2dpbmcgPyAnZHJhZ2dpbmcnIDogbnVsbF0sXG4gICAgICBhdHRyczoge1xuICAgICAgICBmb3I6IHRoaXMuc2FmZUlkKCksXG4gICAgICAgICdkYXRhLWJyb3dzZSc6IHRoaXMuYnJvd3NlVGV4dCB8fCBudWxsXG4gICAgICB9XG4gICAgfSwgdGhpcy5zZWxlY3RMYWJlbCk7IC8vIFJldHVybiByZW5kZXJlZCBjdXN0b20gZmlsZSBpbnB1dFxuXG4gICAgcmV0dXJuIGgoJ2RpdicsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnY3VzdG9tLWZpbGUgYi1mb3JtLWZpbGUnLFxuICAgICAgY2xhc3M6IFt0aGlzLnN0YXRlQ2xhc3MsIF9kZWZpbmVQcm9wZXJ0eSh7fSwgXCJiLWN1c3RvbS1jb250cm9sLVwiLmNvbmNhdCh0aGlzLnNpemUpLCBCb29sZWFuKHRoaXMuc2l6ZSkpXSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiB0aGlzLnNhZmVJZCgnX0JWX2ZpbGVfb3V0ZXJfJylcbiAgICAgIH0sXG4gICAgICBvbjoge1xuICAgICAgICBkcmFnb3ZlcjogdGhpcy5vbkRyYWdvdmVyLFxuICAgICAgICBkcmFnbGVhdmU6IHRoaXMub25EcmFnbGVhdmUsXG4gICAgICAgIGRyb3A6IHRoaXMub25Ecm9wXG4gICAgICB9XG4gICAgfSwgW2lucHV0LCBsYWJlbF0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Zvcm0tZmlsZS9mb3JtLWZpbGUuanNcbi8vIG1vZHVsZSBpZCA9IDE1M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///153\n"); + +/***/ }), +/* 154 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("// @vue/component\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n plain: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL2Zvcm0tY3VzdG9tLmpzPzMwYTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMTU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHZ1ZS9jb21wb25lbnRcbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBwbGFpbjoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfVxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGN1c3RvbTogZnVuY3Rpb24gY3VzdG9tKCkge1xuICAgICAgcmV0dXJuICF0aGlzLnBsYWluO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9taXhpbnMvZm9ybS1jdXN0b20uanNcbi8vIG1vZHVsZSBpZCA9IDE1NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///154\n"); + +/***/ }), +/* 155 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FormSelectPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__form_select__ = __webpack_require__(156);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BFormSelect */\n\n\nvar FormSelectPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BFormSelect: __WEBPACK_IMPORTED_MODULE_0__form_select__[\"a\" /* BFormSelect */],\n BSelect: __WEBPACK_IMPORTED_MODULE_0__form_select__[\"a\" /* BFormSelect */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLXNlbGVjdC9pbmRleC5qcz9jNDM5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTRDO0FBQ1E7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxpQkFBaUIsaUVBQVc7QUFDNUIsYUFBYSxpRUFBVztBQUN4QjtBQUNBLENBQUMiLCJmaWxlIjoiMTU1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkZvcm1TZWxlY3QgfSBmcm9tICcuL2Zvcm0tc2VsZWN0JztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBGb3JtU2VsZWN0UGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3Rvcnkoe1xuICBjb21wb25lbnRzOiB7XG4gICAgQkZvcm1TZWxlY3Q6IEJGb3JtU2VsZWN0LFxuICAgIEJTZWxlY3Q6IEJGb3JtU2VsZWN0XG4gIH1cbn0pO1xuZXhwb3J0IHsgRm9ybVNlbGVjdFBsdWdpbiwgQkZvcm1TZWxlY3QgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Zvcm0tc2VsZWN0L2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxNTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///155\n"); + +/***/ }), +/* 156 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BFormSelect; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_form_options__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_form__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_form_size__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mixins_form_state__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_form_custom__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__utils_html__ = __webpack_require__(11);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n\n // @vue/component\n\nvar BFormSelect =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BFormSelect',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_7__mixins_normalize_slot__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__mixins_form__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_4__mixins_form_size__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_5__mixins_form_state__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__mixins_form_custom__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_form_options__[\"a\" /* default */]],\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n value: {// type: [Object, Array, String, Number, Boolean],\n // default: undefined\n },\n multiple: {\n type: Boolean,\n default: false\n },\n selectSize: {\n // Browsers default size to 0, which shows 4 rows in most browsers in multiple mode\n // Size of 1 can bork out Firefox\n type: Number,\n default: 0\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n }\n },\n data: function data() {\n return {\n localValue: this.value\n };\n },\n computed: {\n computedSelectSize: function computedSelectSize() {\n // Custom selects with a size of zero causes the arrows to be hidden,\n // so dont render the size attribute in this case\n return !this.plain && this.selectSize === 0 ? null : this.selectSize;\n },\n inputClass: function inputClass() {\n return [this.plain ? 'form-control' : 'custom-select', this.size && this.plain ? \"form-control-\".concat(this.size) : null, this.size && !this.plain ? \"custom-select-\".concat(this.size) : null, this.stateClass];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (this.ariaInvalid === true || this.ariaInvalid === 'true') {\n return 'true';\n }\n\n return this.stateClass === 'is-invalid' ? 'true' : null;\n }\n },\n watch: {\n value: function value(newVal, oldVal) {\n this.localValue = newVal;\n },\n localValue: function localValue(newVal, oldVal) {\n this.$emit('input', this.localValue);\n }\n },\n methods: {\n focus: function focus() {\n this.$refs.input.focus();\n },\n blur: function blur() {\n this.$refs.input.blur();\n }\n },\n render: function render(h) {\n var _this = this;\n\n var options = this.formOptions.map(function (option, index) {\n return h('option', {\n key: \"option_\".concat(index, \"_opt\"),\n attrs: {\n disabled: Boolean(option.disabled)\n },\n domProps: _objectSpread({}, Object(__WEBPACK_IMPORTED_MODULE_9__utils_html__[\"a\" /* htmlOrText */])(option.html, option.text), {\n value: option.value\n })\n });\n });\n return h('select', {\n ref: 'input',\n class: this.inputClass,\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.localValue,\n expression: 'localValue'\n }],\n attrs: {\n id: this.safeId(),\n name: this.name,\n form: this.form || null,\n multiple: this.multiple || null,\n size: this.computedSelectSize,\n disabled: this.disabled,\n required: this.required,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n },\n on: {\n change: function change(evt) {\n var target = evt.target;\n var selectedVal = Object(__WEBPACK_IMPORTED_MODULE_8__utils_array__[\"c\" /* from */])(target.options).filter(function (o) {\n return o.selected;\n }).map(function (o) {\n return '_value' in o ? o._value : o.value;\n });\n _this.localValue = target.multiple ? selectedVal : selectedVal[0];\n\n _this.$nextTick(function () {\n _this.$emit('change', _this.localValue);\n });\n }\n }\n }, [this.normalizeSlot('first'), options, this.normalizeSlot('default')]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5qcz8yZGJlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ0k7QUFDbUI7QUFDZjtBQUNTO0FBQ0U7QUFDRTtBQUNNO0FBQ1A7QUFDUjs7QUFFdkM7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxXQUFXLDJEQUFPLEVBQUUsdUVBQWtCLEVBQUUsNkRBQVMsRUFBRSxrRUFBYSxFQUFFLG1FQUFjLEVBQUUsb0VBQWUsRUFBRSxxRUFBZ0I7QUFDbkg7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsWUFBWTtBQUNaO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Qsa0NBQWtDLEVBQUUsdUVBQVU7QUFDOUM7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixrRUFBUztBQUNyQztBQUNBLFdBQVc7QUFDWDtBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjE1Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCBpZE1peGluIGZyb20gJy4uLy4uL21peGlucy9pZCc7XG5pbXBvcnQgZm9ybU9wdGlvbnNNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvZm9ybS1vcHRpb25zJztcbmltcG9ydCBmb3JtTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0nO1xuaW1wb3J0IGZvcm1TaXplTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tc2l6ZSc7XG5pbXBvcnQgZm9ybVN0YXRlTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Zvcm0tc3RhdGUnO1xuaW1wb3J0IGZvcm1DdXN0b21NaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvZm9ybS1jdXN0b20nO1xuaW1wb3J0IG5vcm1hbGl6ZVNsb3RNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvbm9ybWFsaXplLXNsb3QnO1xuaW1wb3J0IHsgZnJvbSBhcyBhcnJheUZyb20gfSBmcm9tICcuLi8uLi91dGlscy9hcnJheSc7XG5pbXBvcnQgeyBodG1sT3JUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvaHRtbCc7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkZvcm1TZWxlY3QgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCRm9ybVNlbGVjdCcsXG4gIG1peGluczogW2lkTWl4aW4sIG5vcm1hbGl6ZVNsb3RNaXhpbiwgZm9ybU1peGluLCBmb3JtU2l6ZU1peGluLCBmb3JtU3RhdGVNaXhpbiwgZm9ybUN1c3RvbU1peGluLCBmb3JtT3B0aW9uc01peGluXSxcbiAgbW9kZWw6IHtcbiAgICBwcm9wOiAndmFsdWUnLFxuICAgIGV2ZW50OiAnaW5wdXQnXG4gIH0sXG4gIHByb3BzOiB7XG4gICAgdmFsdWU6IHsvLyB0eXBlOiBbT2JqZWN0LCBBcnJheSwgU3RyaW5nLCBOdW1iZXIsIEJvb2xlYW5dLFxuICAgICAgLy8gZGVmYXVsdDogdW5kZWZpbmVkXG4gICAgfSxcbiAgICBtdWx0aXBsZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBzZWxlY3RTaXplOiB7XG4gICAgICAvLyBCcm93c2VycyBkZWZhdWx0IHNpemUgdG8gMCwgd2hpY2ggc2hvd3MgNCByb3dzIGluIG1vc3QgYnJvd3NlcnMgaW4gbXVsdGlwbGUgbW9kZVxuICAgICAgLy8gU2l6ZSBvZiAxIGNhbiBib3JrIG91dCBGaXJlZm94XG4gICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICBkZWZhdWx0OiAwXG4gICAgfSxcbiAgICBhcmlhSW52YWxpZDoge1xuICAgICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZ10sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH1cbiAgfSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxWYWx1ZTogdGhpcy52YWx1ZVxuICAgIH07XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgY29tcHV0ZWRTZWxlY3RTaXplOiBmdW5jdGlvbiBjb21wdXRlZFNlbGVjdFNpemUoKSB7XG4gICAgICAvLyBDdXN0b20gc2VsZWN0cyB3aXRoIGEgc2l6ZSBvZiB6ZXJvIGNhdXNlcyB0aGUgYXJyb3dzIHRvIGJlIGhpZGRlbixcbiAgICAgIC8vIHNvIGRvbnQgcmVuZGVyIHRoZSBzaXplIGF0dHJpYnV0ZSBpbiB0aGlzIGNhc2VcbiAgICAgIHJldHVybiAhdGhpcy5wbGFpbiAmJiB0aGlzLnNlbGVjdFNpemUgPT09IDAgPyBudWxsIDogdGhpcy5zZWxlY3RTaXplO1xuICAgIH0sXG4gICAgaW5wdXRDbGFzczogZnVuY3Rpb24gaW5wdXRDbGFzcygpIHtcbiAgICAgIHJldHVybiBbdGhpcy5wbGFpbiA/ICdmb3JtLWNvbnRyb2wnIDogJ2N1c3RvbS1zZWxlY3QnLCB0aGlzLnNpemUgJiYgdGhpcy5wbGFpbiA/IFwiZm9ybS1jb250cm9sLVwiLmNvbmNhdCh0aGlzLnNpemUpIDogbnVsbCwgdGhpcy5zaXplICYmICF0aGlzLnBsYWluID8gXCJjdXN0b20tc2VsZWN0LVwiLmNvbmNhdCh0aGlzLnNpemUpIDogbnVsbCwgdGhpcy5zdGF0ZUNsYXNzXTtcbiAgICB9LFxuICAgIGNvbXB1dGVkQXJpYUludmFsaWQ6IGZ1bmN0aW9uIGNvbXB1dGVkQXJpYUludmFsaWQoKSB7XG4gICAgICBpZiAodGhpcy5hcmlhSW52YWxpZCA9PT0gdHJ1ZSB8fCB0aGlzLmFyaWFJbnZhbGlkID09PSAndHJ1ZScpIHtcbiAgICAgICAgcmV0dXJuICd0cnVlJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuc3RhdGVDbGFzcyA9PT0gJ2lzLWludmFsaWQnID8gJ3RydWUnIDogbnVsbDtcbiAgICB9XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICB0aGlzLmxvY2FsVmFsdWUgPSBuZXdWYWw7XG4gICAgfSxcbiAgICBsb2NhbFZhbHVlOiBmdW5jdGlvbiBsb2NhbFZhbHVlKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIHRoaXMubG9jYWxWYWx1ZSk7XG4gICAgfVxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgZm9jdXM6IGZ1bmN0aW9uIGZvY3VzKCkge1xuICAgICAgdGhpcy4kcmVmcy5pbnB1dC5mb2N1cygpO1xuICAgIH0sXG4gICAgYmx1cjogZnVuY3Rpb24gYmx1cigpIHtcbiAgICAgIHRoaXMuJHJlZnMuaW5wdXQuYmx1cigpO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgb3B0aW9ucyA9IHRoaXMuZm9ybU9wdGlvbnMubWFwKGZ1bmN0aW9uIChvcHRpb24sIGluZGV4KSB7XG4gICAgICByZXR1cm4gaCgnb3B0aW9uJywge1xuICAgICAgICBrZXk6IFwib3B0aW9uX1wiLmNvbmNhdChpbmRleCwgXCJfb3B0XCIpLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGRpc2FibGVkOiBCb29sZWFuKG9wdGlvbi5kaXNhYmxlZClcbiAgICAgICAgfSxcbiAgICAgICAgZG9tUHJvcHM6IF9vYmplY3RTcHJlYWQoe30sIGh0bWxPclRleHQob3B0aW9uLmh0bWwsIG9wdGlvbi50ZXh0KSwge1xuICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWVcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBoKCdzZWxlY3QnLCB7XG4gICAgICByZWY6ICdpbnB1dCcsXG4gICAgICBjbGFzczogdGhpcy5pbnB1dENsYXNzLFxuICAgICAgZGlyZWN0aXZlczogW3tcbiAgICAgICAgbmFtZTogJ21vZGVsJyxcbiAgICAgICAgcmF3TmFtZTogJ3YtbW9kZWwnLFxuICAgICAgICB2YWx1ZTogdGhpcy5sb2NhbFZhbHVlLFxuICAgICAgICBleHByZXNzaW9uOiAnbG9jYWxWYWx1ZSdcbiAgICAgIH1dLFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgaWQ6IHRoaXMuc2FmZUlkKCksXG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgZm9ybTogdGhpcy5mb3JtIHx8IG51bGwsXG4gICAgICAgIG11bHRpcGxlOiB0aGlzLm11bHRpcGxlIHx8IG51bGwsXG4gICAgICAgIHNpemU6IHRoaXMuY29tcHV0ZWRTZWxlY3RTaXplLFxuICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgICAgcmVxdWlyZWQ6IHRoaXMucmVxdWlyZWQsXG4gICAgICAgICdhcmlhLXJlcXVpcmVkJzogdGhpcy5yZXF1aXJlZCA/ICd0cnVlJyA6IG51bGwsXG4gICAgICAgICdhcmlhLWludmFsaWQnOiB0aGlzLmNvbXB1dGVkQXJpYUludmFsaWRcbiAgICAgIH0sXG4gICAgICBvbjoge1xuICAgICAgICBjaGFuZ2U6IGZ1bmN0aW9uIGNoYW5nZShldnQpIHtcbiAgICAgICAgICB2YXIgdGFyZ2V0ID0gZXZ0LnRhcmdldDtcbiAgICAgICAgICB2YXIgc2VsZWN0ZWRWYWwgPSBhcnJheUZyb20odGFyZ2V0Lm9wdGlvbnMpLmZpbHRlcihmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgcmV0dXJuIG8uc2VsZWN0ZWQ7XG4gICAgICAgICAgfSkubWFwKGZ1bmN0aW9uIChvKSB7XG4gICAgICAgICAgICByZXR1cm4gJ192YWx1ZScgaW4gbyA/IG8uX3ZhbHVlIDogby52YWx1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBfdGhpcy5sb2NhbFZhbHVlID0gdGFyZ2V0Lm11bHRpcGxlID8gc2VsZWN0ZWRWYWwgOiBzZWxlY3RlZFZhbFswXTtcblxuICAgICAgICAgIF90aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBfdGhpcy4kZW1pdCgnY2hhbmdlJywgX3RoaXMubG9jYWxWYWx1ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbdGhpcy5ub3JtYWxpemVTbG90KCdmaXJzdCcpLCBvcHRpb25zLCB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKV0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2Zvcm0tc2VsZWN0L2Zvcm0tc2VsZWN0LmpzXG4vLyBtb2R1bGUgaWQgPSAxNTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///156\n"); + +/***/ }), +/* 157 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ImagePlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__img__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__img_lazy__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BImg */\n/* unused harmony reexport BImgLazy */\n\n\n\nvar ImagePlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BImg: __WEBPACK_IMPORTED_MODULE_0__img__[\"a\" /* BImg */],\n BImgLazy: __WEBPACK_IMPORTED_MODULE_1__img_lazy__[\"a\" /* BImgLazy */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbWFnZS9pbmRleC5qcz82MzVhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUE2QjtBQUNTO0FBQ2M7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxVQUFVLGtEQUFJO0FBQ2QsY0FBYywyREFBUTtBQUN0QjtBQUNBLENBQUMiLCJmaWxlIjoiMTU3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkltZyB9IGZyb20gJy4vaW1nJztcbmltcG9ydCB7IEJJbWdMYXp5IH0gZnJvbSAnLi9pbWctbGF6eSc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgSW1hZ2VQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCSW1nOiBCSW1nLFxuICAgIEJJbWdMYXp5OiBCSW1nTGF6eVxuICB9XG59KTtcbmV4cG9ydCB7IEltYWdlUGx1Z2luLCBCSW1nLCBCSW1nTGF6eSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvaW1hZ2UvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE1N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///157\n"); + +/***/ }), +/* 158 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return InputGroupPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__input_group__ = __webpack_require__(159);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__input_group_addon__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__input_group_prepend__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__input_group_append__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__input_group_text__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BInputGroup */\n/* unused harmony reexport BInputGroupAddon */\n/* unused harmony reexport BInputGroupPrepend */\n/* unused harmony reexport BInputGroupAppend */\n/* unused harmony reexport BInputGroupText */\n\n\n\n\n\n\nvar InputGroupPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_5__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BInputGroup: __WEBPACK_IMPORTED_MODULE_0__input_group__[\"a\" /* BInputGroup */],\n BInputGroupAddon: __WEBPACK_IMPORTED_MODULE_1__input_group_addon__[\"a\" /* BInputGroupAddon */],\n BInputGroupPrepend: __WEBPACK_IMPORTED_MODULE_2__input_group_prepend__[\"a\" /* BInputGroupPrepend */],\n BInputGroupAppend: __WEBPACK_IMPORTED_MODULE_3__input_group_append__[\"a\" /* BInputGroupAppend */],\n BInputGroupText: __WEBPACK_IMPORTED_MODULE_4__input_group_text__[\"a\" /* BInputGroupText */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbmRleC5qcz8wOGI0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUE0QztBQUNXO0FBQ0k7QUFDRjtBQUNKO0FBQ0Q7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxpQkFBaUIsaUVBQVc7QUFDNUIsc0JBQXNCLDRFQUFnQjtBQUN0Qyx3QkFBd0IsZ0ZBQWtCO0FBQzFDLHVCQUF1Qiw4RUFBaUI7QUFDeEMscUJBQXFCLDBFQUFlO0FBQ3BDO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSW5wdXRHcm91cCB9IGZyb20gJy4vaW5wdXQtZ3JvdXAnO1xuaW1wb3J0IHsgQklucHV0R3JvdXBBZGRvbiB9IGZyb20gJy4vaW5wdXQtZ3JvdXAtYWRkb24nO1xuaW1wb3J0IHsgQklucHV0R3JvdXBQcmVwZW5kIH0gZnJvbSAnLi9pbnB1dC1ncm91cC1wcmVwZW5kJztcbmltcG9ydCB7IEJJbnB1dEdyb3VwQXBwZW5kIH0gZnJvbSAnLi9pbnB1dC1ncm91cC1hcHBlbmQnO1xuaW1wb3J0IHsgQklucHV0R3JvdXBUZXh0IH0gZnJvbSAnLi9pbnB1dC1ncm91cC10ZXh0JztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBJbnB1dEdyb3VwUGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3Rvcnkoe1xuICBjb21wb25lbnRzOiB7XG4gICAgQklucHV0R3JvdXA6IEJJbnB1dEdyb3VwLFxuICAgIEJJbnB1dEdyb3VwQWRkb246IEJJbnB1dEdyb3VwQWRkb24sXG4gICAgQklucHV0R3JvdXBQcmVwZW5kOiBCSW5wdXRHcm91cFByZXBlbmQsXG4gICAgQklucHV0R3JvdXBBcHBlbmQ6IEJJbnB1dEdyb3VwQXBwZW5kLFxuICAgIEJJbnB1dEdyb3VwVGV4dDogQklucHV0R3JvdXBUZXh0XG4gIH1cbn0pO1xuZXhwb3J0IHsgSW5wdXRHcm91cFBsdWdpbiwgQklucHV0R3JvdXAsIEJJbnB1dEdyb3VwQWRkb24sIEJJbnB1dEdyb3VwUHJlcGVuZCwgQklucHV0R3JvdXBBcHBlbmQsIEJJbnB1dEdyb3VwVGV4dCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE1OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///158\n"); + +/***/ }), +/* 159 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BInputGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__input_group_prepend__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__input_group_append__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__input_group_text__ = __webpack_require__(46);\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\n\n\n\n\n\n\n\n\nvar NAME = 'BInputGroup';\nvar props = {\n id: {\n type: String\n },\n size: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'size');\n }\n },\n prepend: {\n type: String\n },\n prependHtml: {\n type: String\n },\n append: {\n type: String\n },\n appendHtml: {\n type: String\n },\n tag: {\n type: String,\n default: 'div'\n }\n}; // @vue/component\n\nvar BInputGroup =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var childNodes = []; // Prepend prop/slot\n\n if (props.prepend || props.prependHtml || Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('prepend', $scopedSlots, $slots)) {\n childNodes.push(h(__WEBPACK_IMPORTED_MODULE_5__input_group_prepend__[\"a\" /* BInputGroupPrepend */], [// Prop\n props.prepend || props.prependHtml ? h(__WEBPACK_IMPORTED_MODULE_7__input_group_text__[\"a\" /* BInputGroupText */], {\n domProps: Object(__WEBPACK_IMPORTED_MODULE_3__utils_html__[\"a\" /* htmlOrText */])(props.prependHtml, props.prepend)\n }) : h(), // Slot\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"b\" /* normalizeSlot */])('prepend', {}, $scopedSlots, $slots) || h()]));\n } else {\n childNodes.push(h());\n } // Default slot\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('default', $scopedSlots, $slots)) {\n childNodes.push.apply(childNodes, _toConsumableArray(Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"b\" /* normalizeSlot */])('default', {}, $scopedSlots, $slots)));\n } else {\n childNodes.push(h());\n } // Append prop\n\n\n if (props.append || props.appendHtml || Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('append', $scopedSlots, $slots)) {\n childNodes.push(h(__WEBPACK_IMPORTED_MODULE_6__input_group_append__[\"a\" /* BInputGroupAppend */], [// prop\n props.append || props.appendHtml ? h(__WEBPACK_IMPORTED_MODULE_7__input_group_text__[\"a\" /* BInputGroupText */], {\n domProps: Object(__WEBPACK_IMPORTED_MODULE_3__utils_html__[\"a\" /* htmlOrText */])(props.appendHtml, props.append)\n }) : h(), // Slot\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"b\" /* normalizeSlot */])('append', {}, $scopedSlots, $slots) || h()]));\n } else {\n childNodes.push(h());\n }\n\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(props.size), Boolean(props.size)),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), childNodes);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC5qcz9iZWJmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRS9NLGtDQUFrQyxpRkFBaUY7O0FBRW5ILCtCQUErQix3RUFBd0U7O0FBRXZHLGlDQUFpQywrSEFBK0g7O0FBRWhLLGtDQUFrQywwQkFBMEIsOENBQThDLGdCQUFnQixPQUFPLGtCQUFrQixFQUFFLGFBQWEsRUFBRTs7QUFFbEk7QUFDb0I7QUFDRTtBQUNWO0FBQ2dDO0FBQ25CO0FBQ0Y7QUFDSjtBQUNyRDtBQUNPO0FBQ1A7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qjs7QUFFeEIsOENBQThDLHdGQUFpQjtBQUMvRCx3QkFBd0IsZ0ZBQWtCO0FBQzFDLDZDQUE2QywwRUFBZTtBQUM1RCxrQkFBa0IsdUVBQVU7QUFDNUIsT0FBTztBQUNQLE1BQU0sb0ZBQWEsY0FBYztBQUNqQyxLQUFLO0FBQ0w7QUFDQSxLQUFLOzs7QUFHTCxRQUFRLHdGQUFpQjtBQUN6QiwyREFBMkQsb0ZBQWEsY0FBYztBQUN0RixLQUFLO0FBQ0w7QUFDQSxLQUFLOzs7QUFHTCw0Q0FBNEMsd0ZBQWlCO0FBQzdELHdCQUF3Qiw4RUFBaUI7QUFDekMsMkNBQTJDLDBFQUFlO0FBQzFELGtCQUFrQix1RUFBVTtBQUM1QixPQUFPO0FBQ1AsTUFBTSxvRkFBYSxhQUFhO0FBQ2hDLEtBQUs7QUFDTDtBQUNBOztBQUVBLHdCQUF3QixvRkFBUztBQUNqQztBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTU5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikgeyByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlXCIpOyB9XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikgeyBpZiAoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChpdGVyKSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaXRlcikgPT09IFwiW29iamVjdCBBcmd1bWVudHNdXCIpIHJldHVybiBBcnJheS5mcm9tKGl0ZXIpOyB9XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHsgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgeyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShhcnIubGVuZ3RoKTsgaSA8IGFyci5sZW5ndGg7IGkrKykgeyBhcnIyW2ldID0gYXJyW2ldOyB9IHJldHVybiBhcnIyOyB9IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWcnO1xuaW1wb3J0IHsgaHRtbE9yVGV4dCB9IGZyb20gJy4uLy4uL3V0aWxzL2h0bWwnO1xuaW1wb3J0IHsgaGFzTm9ybWFsaXplZFNsb3QsIG5vcm1hbGl6ZVNsb3QgfSBmcm9tICcuLi8uLi91dGlscy9ub3JtYWxpemUtc2xvdCc7XG5pbXBvcnQgeyBCSW5wdXRHcm91cFByZXBlbmQgfSBmcm9tICcuL2lucHV0LWdyb3VwLXByZXBlbmQnO1xuaW1wb3J0IHsgQklucHV0R3JvdXBBcHBlbmQgfSBmcm9tICcuL2lucHV0LWdyb3VwLWFwcGVuZCc7XG5pbXBvcnQgeyBCSW5wdXRHcm91cFRleHQgfSBmcm9tICcuL2lucHV0LWdyb3VwLXRleHQnO1xudmFyIE5BTUUgPSAnQklucHV0R3JvdXAnO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgaWQ6IHtcbiAgICB0eXBlOiBTdHJpbmdcbiAgfSxcbiAgc2l6ZToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ3NpemUnKTtcbiAgICB9XG4gIH0sXG4gIHByZXBlbmQ6IHtcbiAgICB0eXBlOiBTdHJpbmdcbiAgfSxcbiAgcHJlcGVuZEh0bWw6IHtcbiAgICB0eXBlOiBTdHJpbmdcbiAgfSxcbiAgYXBwZW5kOiB7XG4gICAgdHlwZTogU3RyaW5nXG4gIH0sXG4gIGFwcGVuZEh0bWw6IHtcbiAgICB0eXBlOiBTdHJpbmdcbiAgfSxcbiAgdGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdkaXYnXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQklucHV0R3JvdXAgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6IE5BTUUsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIHNsb3RzID0gX3JlZi5zbG90cyxcbiAgICAgICAgc2NvcGVkU2xvdHMgPSBfcmVmLnNjb3BlZFNsb3RzO1xuICAgIHZhciAkc2xvdHMgPSBzbG90cygpO1xuICAgIHZhciAkc2NvcGVkU2xvdHMgPSBzY29wZWRTbG90cyB8fCB7fTtcbiAgICB2YXIgY2hpbGROb2RlcyA9IFtdOyAvLyBQcmVwZW5kIHByb3Avc2xvdFxuXG4gICAgaWYgKHByb3BzLnByZXBlbmQgfHwgcHJvcHMucHJlcGVuZEh0bWwgfHwgaGFzTm9ybWFsaXplZFNsb3QoJ3ByZXBlbmQnLCAkc2NvcGVkU2xvdHMsICRzbG90cykpIHtcbiAgICAgIGNoaWxkTm9kZXMucHVzaChoKEJJbnB1dEdyb3VwUHJlcGVuZCwgWy8vIFByb3BcbiAgICAgIHByb3BzLnByZXBlbmQgfHwgcHJvcHMucHJlcGVuZEh0bWwgPyBoKEJJbnB1dEdyb3VwVGV4dCwge1xuICAgICAgICBkb21Qcm9wczogaHRtbE9yVGV4dChwcm9wcy5wcmVwZW5kSHRtbCwgcHJvcHMucHJlcGVuZClcbiAgICAgIH0pIDogaCgpLCAvLyBTbG90XG4gICAgICBub3JtYWxpemVTbG90KCdwcmVwZW5kJywge30sICRzY29wZWRTbG90cywgJHNsb3RzKSB8fCBoKCldKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoaWxkTm9kZXMucHVzaChoKCkpO1xuICAgIH0gLy8gRGVmYXVsdCBzbG90XG5cblxuICAgIGlmIChoYXNOb3JtYWxpemVkU2xvdCgnZGVmYXVsdCcsICRzY29wZWRTbG90cywgJHNsb3RzKSkge1xuICAgICAgY2hpbGROb2Rlcy5wdXNoLmFwcGx5KGNoaWxkTm9kZXMsIF90b0NvbnN1bWFibGVBcnJheShub3JtYWxpemVTbG90KCdkZWZhdWx0Jywge30sICRzY29wZWRTbG90cywgJHNsb3RzKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGlsZE5vZGVzLnB1c2goaCgpKTtcbiAgICB9IC8vIEFwcGVuZCBwcm9wXG5cblxuICAgIGlmIChwcm9wcy5hcHBlbmQgfHwgcHJvcHMuYXBwZW5kSHRtbCB8fCBoYXNOb3JtYWxpemVkU2xvdCgnYXBwZW5kJywgJHNjb3BlZFNsb3RzLCAkc2xvdHMpKSB7XG4gICAgICBjaGlsZE5vZGVzLnB1c2goaChCSW5wdXRHcm91cEFwcGVuZCwgWy8vIHByb3BcbiAgICAgIHByb3BzLmFwcGVuZCB8fCBwcm9wcy5hcHBlbmRIdG1sID8gaChCSW5wdXRHcm91cFRleHQsIHtcbiAgICAgICAgZG9tUHJvcHM6IGh0bWxPclRleHQocHJvcHMuYXBwZW5kSHRtbCwgcHJvcHMuYXBwZW5kKVxuICAgICAgfSkgOiBoKCksIC8vIFNsb3RcbiAgICAgIG5vcm1hbGl6ZVNsb3QoJ2FwcGVuZCcsIHt9LCAkc2NvcGVkU2xvdHMsICRzbG90cykgfHwgaCgpXSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGlsZE5vZGVzLnB1c2goaCgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaChwcm9wcy50YWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ2lucHV0LWdyb3VwJyxcbiAgICAgIGNsYXNzOiBfZGVmaW5lUHJvcGVydHkoe30sIFwiaW5wdXQtZ3JvdXAtXCIuY29uY2F0KHByb3BzLnNpemUpLCBCb29sZWFuKHByb3BzLnNpemUpKSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiBwcm9wcy5pZCB8fCBudWxsLFxuICAgICAgICByb2xlOiAnZ3JvdXAnXG4gICAgICB9XG4gICAgfSksIGNoaWxkTm9kZXMpO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLmpzXG4vLyBtb2R1bGUgaWQgPSAxNTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///159\n"); + +/***/ }), +/* 160 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return JumbotronPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__jumbotron__ = __webpack_require__(161);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BJumbotron */\n\n\nvar JumbotronPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BJumbotron: __WEBPACK_IMPORTED_MODULE_0__jumbotron__[\"a\" /* BJumbotron */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9qdW1ib3Ryb24vaW5kZXguanM/ZmU1YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF5QztBQUNXO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsZ0JBQWdCLDhEQUFVO0FBQzFCO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSnVtYm90cm9uIH0gZnJvbSAnLi9qdW1ib3Ryb24nO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIEp1bWJvdHJvblBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJKdW1ib3Ryb246IEJKdW1ib3Ryb25cbiAgfVxufSk7XG5leHBvcnQgeyBKdW1ib3Ryb25QbHVnaW4sIEJKdW1ib3Ryb24gfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2p1bWJvdHJvbi9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTYwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///160\n"); + +/***/ }), +/* 161 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BJumbotron; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__layout_container__ = __webpack_require__(74);\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\n\n\n\n\n\n\nvar NAME = 'BJumbotron';\nvar props = {\n fluid: {\n type: Boolean,\n default: false\n },\n containerFluid: {\n type: Boolean,\n default: false\n },\n header: {\n type: String,\n default: null\n },\n headerHtml: {\n type: String,\n default: null\n },\n headerTag: {\n type: String,\n default: 'h1'\n },\n headerLevel: {\n type: [Number, String],\n default: '3'\n },\n lead: {\n type: String,\n default: null\n },\n leadHtml: {\n type: String,\n default: null\n },\n leadTag: {\n type: String,\n default: 'p'\n },\n tag: {\n type: String,\n default: 'div'\n },\n bgVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'bgVariant');\n }\n },\n borderVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'borderVariant');\n }\n },\n textVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'textVariant');\n }\n }\n}; // @vue/component\n\nvar BJumbotron =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class2;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n // The order of the conditionals matter.\n // We are building the component markup in order.\n var childNodes = [];\n var $slots = slots();\n var $scopedSlots = scopedSlots || {}; // Header\n\n if (props.header || Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('header', $scopedSlots, $slots) || props.headerHtml) {\n childNodes.push(h(props.headerTag, {\n class: _defineProperty({}, \"display-\".concat(props.headerLevel), Boolean(props.headerLevel))\n }, Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"b\" /* normalizeSlot */])('header', {}, $scopedSlots, $slots) || props.headerHtml || Object(__WEBPACK_IMPORTED_MODULE_3__utils_html__[\"b\" /* stripTags */])(props.header)));\n } // Lead\n\n\n if (props.lead || Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('lead', $scopedSlots, $slots) || props.leadHtml) {\n childNodes.push(h(props.leadTag, {\n staticClass: 'lead'\n }, Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"b\" /* normalizeSlot */])('lead', {}, $scopedSlots, $slots) || props.leadHtml || Object(__WEBPACK_IMPORTED_MODULE_3__utils_html__[\"b\" /* stripTags */])(props.lead)));\n } // Default slot\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"a\" /* hasNormalizedSlot */])('default', $scopedSlots, $slots)) {\n childNodes.push(Object(__WEBPACK_IMPORTED_MODULE_4__utils_normalize_slot__[\"b\" /* normalizeSlot */])('default', {}, $scopedSlots, $slots));\n } // If fluid, wrap content in a container/container-fluid\n\n\n if (props.fluid) {\n // Children become a child of a container\n childNodes = [h(__WEBPACK_IMPORTED_MODULE_5__layout_container__[\"a\" /* BContainer */], {\n props: {\n fluid: props.containerFluid\n }\n }, childNodes)];\n } // Return the jumbotron\n\n\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'jumbotron',\n class: (_class2 = {\n 'jumbotron-fluid': props.fluid\n }, _defineProperty(_class2, \"text-\".concat(props.textVariant), Boolean(props.textVariant)), _defineProperty(_class2, \"bg-\".concat(props.bgVariant), Boolean(props.bgVariant)), _defineProperty(_class2, \"border-\".concat(props.borderVariant), Boolean(props.borderVariant)), _defineProperty(_class2, \"border\", Boolean(props.borderVariant)), _class2)\n }), childNodes);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9qdW1ib3Ryb24vanVtYm90cm9uLmpzP2RlMmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNvQjtBQUNFO0FBQ1g7QUFDaUM7QUFDN0I7QUFDakQ7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7O0FBRXpDLHdCQUF3Qix3RkFBaUI7QUFDekM7QUFDQSxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLG9GQUFhLGFBQWEsK0NBQStDLHNFQUFTO0FBQzNGLEtBQUs7OztBQUdMLHNCQUFzQix3RkFBaUI7QUFDdkM7QUFDQTtBQUNBLE9BQU8sRUFBRSxvRkFBYSxXQUFXLDZDQUE2QyxzRUFBUztBQUN2RixLQUFLOzs7QUFHTCxRQUFRLHdGQUFpQjtBQUN6QixzQkFBc0Isb0ZBQWEsY0FBYztBQUNqRCxLQUFLOzs7QUFHTDtBQUNBO0FBQ0Esc0JBQXNCLHFFQUFVO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOzs7QUFHTCx3QkFBd0Isb0ZBQVM7QUFDakM7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTYxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWcnO1xuaW1wb3J0IHsgc3RyaXBUYWdzIH0gZnJvbSAnLi4vLi4vdXRpbHMvaHRtbCc7XG5pbXBvcnQgeyBoYXNOb3JtYWxpemVkU2xvdCwgbm9ybWFsaXplU2xvdCB9IGZyb20gJy4uLy4uL3V0aWxzL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCB7IEJDb250YWluZXIgfSBmcm9tICcuLi9sYXlvdXQvY29udGFpbmVyJztcbnZhciBOQU1FID0gJ0JKdW1ib3Ryb24nO1xuZXhwb3J0IHZhciBwcm9wcyA9IHtcbiAgZmx1aWQ6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGNvbnRhaW5lckZsdWlkOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBoZWFkZXI6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBoZWFkZXJIdG1sOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgaGVhZGVyVGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdoMSdcbiAgfSxcbiAgaGVhZGVyTGV2ZWw6IHtcbiAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgIGRlZmF1bHQ6ICczJ1xuICB9LFxuICBsZWFkOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgbGVhZEh0bWw6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBsZWFkVGFnOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdwJ1xuICB9LFxuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2RpdidcbiAgfSxcbiAgYmdWYXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnYmdWYXJpYW50Jyk7XG4gICAgfVxuICB9LFxuICBib3JkZXJWYXJpYW50OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnYm9yZGVyVmFyaWFudCcpO1xuICAgIH1cbiAgfSxcbiAgdGV4dFZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd0ZXh0VmFyaWFudCcpO1xuICAgIH1cbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCSnVtYm90cm9uID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgX2NsYXNzMjtcblxuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIHNsb3RzID0gX3JlZi5zbG90cyxcbiAgICAgICAgc2NvcGVkU2xvdHMgPSBfcmVmLnNjb3BlZFNsb3RzO1xuICAgIC8vIFRoZSBvcmRlciBvZiB0aGUgY29uZGl0aW9uYWxzIG1hdHRlci5cbiAgICAvLyBXZSBhcmUgYnVpbGRpbmcgdGhlIGNvbXBvbmVudCBtYXJrdXAgaW4gb3JkZXIuXG4gICAgdmFyIGNoaWxkTm9kZXMgPSBbXTtcbiAgICB2YXIgJHNsb3RzID0gc2xvdHMoKTtcbiAgICB2YXIgJHNjb3BlZFNsb3RzID0gc2NvcGVkU2xvdHMgfHwge307IC8vIEhlYWRlclxuXG4gICAgaWYgKHByb3BzLmhlYWRlciB8fCBoYXNOb3JtYWxpemVkU2xvdCgnaGVhZGVyJywgJHNjb3BlZFNsb3RzLCAkc2xvdHMpIHx8IHByb3BzLmhlYWRlckh0bWwpIHtcbiAgICAgIGNoaWxkTm9kZXMucHVzaChoKHByb3BzLmhlYWRlclRhZywge1xuICAgICAgICBjbGFzczogX2RlZmluZVByb3BlcnR5KHt9LCBcImRpc3BsYXktXCIuY29uY2F0KHByb3BzLmhlYWRlckxldmVsKSwgQm9vbGVhbihwcm9wcy5oZWFkZXJMZXZlbCkpXG4gICAgICB9LCBub3JtYWxpemVTbG90KCdoZWFkZXInLCB7fSwgJHNjb3BlZFNsb3RzLCAkc2xvdHMpIHx8IHByb3BzLmhlYWRlckh0bWwgfHwgc3RyaXBUYWdzKHByb3BzLmhlYWRlcikpKTtcbiAgICB9IC8vIExlYWRcblxuXG4gICAgaWYgKHByb3BzLmxlYWQgfHwgaGFzTm9ybWFsaXplZFNsb3QoJ2xlYWQnLCAkc2NvcGVkU2xvdHMsICRzbG90cykgfHwgcHJvcHMubGVhZEh0bWwpIHtcbiAgICAgIGNoaWxkTm9kZXMucHVzaChoKHByb3BzLmxlYWRUYWcsIHtcbiAgICAgICAgc3RhdGljQ2xhc3M6ICdsZWFkJ1xuICAgICAgfSwgbm9ybWFsaXplU2xvdCgnbGVhZCcsIHt9LCAkc2NvcGVkU2xvdHMsICRzbG90cykgfHwgcHJvcHMubGVhZEh0bWwgfHwgc3RyaXBUYWdzKHByb3BzLmxlYWQpKSk7XG4gICAgfSAvLyBEZWZhdWx0IHNsb3RcblxuXG4gICAgaWYgKGhhc05vcm1hbGl6ZWRTbG90KCdkZWZhdWx0JywgJHNjb3BlZFNsb3RzLCAkc2xvdHMpKSB7XG4gICAgICBjaGlsZE5vZGVzLnB1c2gobm9ybWFsaXplU2xvdCgnZGVmYXVsdCcsIHt9LCAkc2NvcGVkU2xvdHMsICRzbG90cykpO1xuICAgIH0gLy8gSWYgZmx1aWQsIHdyYXAgY29udGVudCBpbiBhIGNvbnRhaW5lci9jb250YWluZXItZmx1aWRcblxuXG4gICAgaWYgKHByb3BzLmZsdWlkKSB7XG4gICAgICAvLyBDaGlsZHJlbiBiZWNvbWUgYSBjaGlsZCBvZiBhIGNvbnRhaW5lclxuICAgICAgY2hpbGROb2RlcyA9IFtoKEJDb250YWluZXIsIHtcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBmbHVpZDogcHJvcHMuY29udGFpbmVyRmx1aWRcbiAgICAgICAgfVxuICAgICAgfSwgY2hpbGROb2RlcyldO1xuICAgIH0gLy8gUmV0dXJuIHRoZSBqdW1ib3Ryb25cblxuXG4gICAgcmV0dXJuIGgocHJvcHMudGFnLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgc3RhdGljQ2xhc3M6ICdqdW1ib3Ryb24nLFxuICAgICAgY2xhc3M6IChfY2xhc3MyID0ge1xuICAgICAgICAnanVtYm90cm9uLWZsdWlkJzogcHJvcHMuZmx1aWRcbiAgICAgIH0sIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3MyLCBcInRleHQtXCIuY29uY2F0KHByb3BzLnRleHRWYXJpYW50KSwgQm9vbGVhbihwcm9wcy50ZXh0VmFyaWFudCkpLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzMiwgXCJiZy1cIi5jb25jYXQocHJvcHMuYmdWYXJpYW50KSwgQm9vbGVhbihwcm9wcy5iZ1ZhcmlhbnQpKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzczIsIFwiYm9yZGVyLVwiLmNvbmNhdChwcm9wcy5ib3JkZXJWYXJpYW50KSwgQm9vbGVhbihwcm9wcy5ib3JkZXJWYXJpYW50KSksIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3MyLCBcImJvcmRlclwiLCBCb29sZWFuKHByb3BzLmJvcmRlclZhcmlhbnQpKSwgX2NsYXNzMilcbiAgICB9KSwgY2hpbGROb2Rlcyk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvanVtYm90cm9uL2p1bWJvdHJvbi5qc1xuLy8gbW9kdWxlIGlkID0gMTYxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///161\n"); + +/***/ }), +/* 162 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return LayoutPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__container__ = __webpack_require__(74);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__row__ = __webpack_require__(163);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__col__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__form_row__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BContainer */\n/* unused harmony reexport BRow */\n/* unused harmony reexport BCol */\n/* unused harmony reexport BFormRow */\n\n\n\n\n\nvar LayoutPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_4__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BContainer: __WEBPACK_IMPORTED_MODULE_0__container__[\"a\" /* BContainer */],\n BRow: __WEBPACK_IMPORTED_MODULE_1__row__[\"a\" /* BRow */],\n BCol: __WEBPACK_IMPORTED_MODULE_2__col__[\"a\" /* BCol */],\n BFormRow: __WEBPACK_IMPORTED_MODULE_3__form_row__[\"a\" /* BFormRow */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9sYXlvdXQvaW5kZXguanM/NzY4ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF5QztBQUNaO0FBQ0E7QUFDUztBQUNjO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsZ0JBQWdCLDhEQUFVO0FBQzFCLFVBQVUsa0RBQUk7QUFDZCxVQUFVLGtEQUFJO0FBQ2QsY0FBYywyREFBUTtBQUN0QjtBQUNBLENBQUMiLCJmaWxlIjoiMTYyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkNvbnRhaW5lciB9IGZyb20gJy4vY29udGFpbmVyJztcbmltcG9ydCB7IEJSb3cgfSBmcm9tICcuL3Jvdyc7XG5pbXBvcnQgeyBCQ29sIH0gZnJvbSAnLi9jb2wnO1xuaW1wb3J0IHsgQkZvcm1Sb3cgfSBmcm9tICcuL2Zvcm0tcm93JztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBMYXlvdXRQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCQ29udGFpbmVyOiBCQ29udGFpbmVyLFxuICAgIEJSb3c6IEJSb3csXG4gICAgQkNvbDogQkNvbCxcbiAgICBCRm9ybVJvdzogQkZvcm1Sb3dcbiAgfVxufSk7XG5leHBvcnQgeyBMYXlvdXRQbHVnaW4sIEJDb250YWluZXIsIEJSb3csIEJDb2wsIEJGb3JtUm93IH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9sYXlvdXQvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE2MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///162\n"); + +/***/ }), +/* 163 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BRow; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\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\n\n\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center'];\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n noGutters: {\n type: Boolean,\n default: false\n },\n alignV: {\n type: String,\n default: null,\n validator: function validator(str) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"a\" /* arrayIncludes */])(COMMON_ALIGNMENT.concat(['baseline', 'stretch']), str);\n }\n },\n alignH: {\n type: String,\n default: null,\n validator: function validator(str) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"a\" /* arrayIncludes */])(COMMON_ALIGNMENT.concat(['between', 'around']), str);\n }\n },\n alignContent: {\n type: String,\n default: null,\n validator: function validator(str) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"a\" /* arrayIncludes */])(COMMON_ALIGNMENT.concat(['between', 'around', 'stretch']), str);\n }\n }\n}; // @vue/component\n\nvar BRow =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BRow',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'row',\n class: (_class = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_class, \"align-items-\".concat(props.alignV), props.alignV), _defineProperty(_class, \"justify-content-\".concat(props.alignH), props.alignH), _defineProperty(_class, \"align-content-\".concat(props.alignContent), props.alignContent), _class)\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9sYXlvdXQvcm93LmpzPzEzOGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNvQjtBQUNKO0FBQ2xEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSwyRUFBYTtBQUMxQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsMkVBQWE7QUFDMUI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLDJFQUFhO0FBQzFCO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLG9GQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjE2My5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuaW1wb3J0IHsgYXJyYXlJbmNsdWRlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2FycmF5JztcbnZhciBDT01NT05fQUxJR05NRU5UID0gWydzdGFydCcsICdlbmQnLCAnY2VudGVyJ107XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2RpdidcbiAgfSxcbiAgbm9HdXR0ZXJzOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBhbGlnblY6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcihzdHIpIHtcbiAgICAgIHJldHVybiBhcnJheUluY2x1ZGVzKENPTU1PTl9BTElHTk1FTlQuY29uY2F0KFsnYmFzZWxpbmUnLCAnc3RyZXRjaCddKSwgc3RyKTtcbiAgICB9XG4gIH0sXG4gIGFsaWduSDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsLFxuICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHN0cikge1xuICAgICAgcmV0dXJuIGFycmF5SW5jbHVkZXMoQ09NTU9OX0FMSUdOTUVOVC5jb25jYXQoWydiZXR3ZWVuJywgJ2Fyb3VuZCddKSwgc3RyKTtcbiAgICB9XG4gIH0sXG4gIGFsaWduQ29udGVudDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsLFxuICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHN0cikge1xuICAgICAgcmV0dXJuIGFycmF5SW5jbHVkZXMoQ09NTU9OX0FMSUdOTUVOVC5jb25jYXQoWydiZXR3ZWVuJywgJ2Fyb3VuZCcsICdzdHJldGNoJ10pLCBzdHIpO1xuICAgIH1cbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCUm93ID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQlJvdycsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBfY2xhc3M7XG5cbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgcmV0dXJuIGgocHJvcHMudGFnLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgc3RhdGljQ2xhc3M6ICdyb3cnLFxuICAgICAgY2xhc3M6IChfY2xhc3MgPSB7XG4gICAgICAgICduby1ndXR0ZXJzJzogcHJvcHMubm9HdXR0ZXJzXG4gICAgICB9LCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzLCBcImFsaWduLWl0ZW1zLVwiLmNvbmNhdChwcm9wcy5hbGlnblYpLCBwcm9wcy5hbGlnblYpLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzLCBcImp1c3RpZnktY29udGVudC1cIi5jb25jYXQocHJvcHMuYWxpZ25IKSwgcHJvcHMuYWxpZ25IKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJhbGlnbi1jb250ZW50LVwiLmNvbmNhdChwcm9wcy5hbGlnbkNvbnRlbnQpLCBwcm9wcy5hbGlnbkNvbnRlbnQpLCBfY2xhc3MpXG4gICAgfSksIGNoaWxkcmVuKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9sYXlvdXQvcm93LmpzXG4vLyBtb2R1bGUgaWQgPSAxNjNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///163\n"); + +/***/ }), +/* 164 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return LinkPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__link__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BLink */\n\n\nvar LinkPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BLink: __WEBPACK_IMPORTED_MODULE_0__link__[\"a\" /* BLink */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9saW5rL2luZGV4LmpzPzRiNWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK0I7QUFDcUI7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxXQUFXLG9EQUFLO0FBQ2hCO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCTGluayB9IGZyb20gJy4vbGluayc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgTGlua1BsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJMaW5rOiBCTGlua1xuICB9XG59KTtcbmV4cG9ydCB7IExpbmtQbHVnaW4sIEJMaW5rIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9saW5rL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxNjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///164\n"); + +/***/ }), +/* 165 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ListGroupPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__list_group__ = __webpack_require__(166);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__list_group_item__ = __webpack_require__(167);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BListGroup */\n/* unused harmony reexport BListGroupItem */\n\n\n\nvar ListGroupPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BListGroup: __WEBPACK_IMPORTED_MODULE_0__list_group__[\"a\" /* BListGroup */],\n BListGroupItem: __WEBPACK_IMPORTED_MODULE_1__list_group_item__[\"a\" /* BListGroupItem */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9saXN0LWdyb3VwL2luZGV4LmpzP2E0NjgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBDO0FBQ1M7QUFDQztBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGdCQUFnQiwrREFBVTtBQUMxQixvQkFBb0Isd0VBQWM7QUFDbEM7QUFDQSxDQUFDIiwiZmlsZSI6IjE2NS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJMaXN0R3JvdXAgfSBmcm9tICcuL2xpc3QtZ3JvdXAnO1xuaW1wb3J0IHsgQkxpc3RHcm91cEl0ZW0gfSBmcm9tICcuL2xpc3QtZ3JvdXAtaXRlbSc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgTGlzdEdyb3VwUGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3Rvcnkoe1xuICBjb21wb25lbnRzOiB7XG4gICAgQkxpc3RHcm91cDogQkxpc3RHcm91cCxcbiAgICBCTGlzdEdyb3VwSXRlbTogQkxpc3RHcm91cEl0ZW1cbiAgfVxufSk7XG5leHBvcnQgeyBMaXN0R3JvdXBQbHVnaW4sIEJMaXN0R3JvdXAsIEJMaXN0R3JvdXBJdGVtIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9saXN0LWdyb3VwL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxNjVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///165\n"); + +/***/ }), +/* 166 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BListGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_inspect__ = __webpack_require__(1);\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\n\n\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n flush: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: [Boolean, String],\n default: false\n }\n}; // @vue/component\n\nvar BListGroup =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BListGroup',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var horizontal = props.horizontal === '' ? true : props.horizontal;\n horizontal = props.flush ? false : horizontal;\n var componentData = {\n staticClass: 'list-group',\n class: _defineProperty({\n 'list-group-flush': props.flush,\n 'list-group-horizontal': horizontal === true\n }, \"list-group-horizontal-\".concat(horizontal), Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"m\" /* isString */])(horizontal))\n };\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, componentData), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9saXN0LWdyb3VwL2xpc3QtZ3JvdXAuanM/ZjRiZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ1A7QUFDeEM7QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTywrQ0FBK0Msd0VBQVE7QUFDOUQ7QUFDQSx3QkFBd0Isb0ZBQVM7QUFDakM7QUFDQSxDQUFDIiwiZmlsZSI6IjE2Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscy9pbnNwZWN0JztcbmV4cG9ydCB2YXIgcHJvcHMgPSB7XG4gIHRhZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnZGl2J1xuICB9LFxuICBmbHVzaDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgaG9yaXpvbnRhbDoge1xuICAgIHR5cGU6IFtCb29sZWFuLCBTdHJpbmddLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQkxpc3RHcm91cCA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JMaXN0R3JvdXAnLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW47XG4gICAgdmFyIGhvcml6b250YWwgPSBwcm9wcy5ob3Jpem9udGFsID09PSAnJyA/IHRydWUgOiBwcm9wcy5ob3Jpem9udGFsO1xuICAgIGhvcml6b250YWwgPSBwcm9wcy5mbHVzaCA/IGZhbHNlIDogaG9yaXpvbnRhbDtcbiAgICB2YXIgY29tcG9uZW50RGF0YSA9IHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnbGlzdC1ncm91cCcsXG4gICAgICBjbGFzczogX2RlZmluZVByb3BlcnR5KHtcbiAgICAgICAgJ2xpc3QtZ3JvdXAtZmx1c2gnOiBwcm9wcy5mbHVzaCxcbiAgICAgICAgJ2xpc3QtZ3JvdXAtaG9yaXpvbnRhbCc6IGhvcml6b250YWwgPT09IHRydWVcbiAgICAgIH0sIFwibGlzdC1ncm91cC1ob3Jpem9udGFsLVwiLmNvbmNhdChob3Jpem9udGFsKSwgaXNTdHJpbmcoaG9yaXpvbnRhbCkpXG4gICAgfTtcbiAgICByZXR1cm4gaChwcm9wcy50YWcsIG1lcmdlRGF0YShkYXRhLCBjb21wb25lbnREYXRhKSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2xpc3QtZ3JvdXAvbGlzdC1ncm91cC5qc1xuLy8gbW9kdWxlIGlkID0gMTY2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///166\n"); + +/***/ }), +/* 167 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BListGroupItem; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__link_link__ = __webpack_require__(14);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\nvar NAME = 'BListGroupItem';\nvar actionTags = ['a', 'router-link', 'button', 'b-link'];\nvar linkProps = Object(__WEBPACK_IMPORTED_MODULE_5__link_link__[\"b\" /* propsFactory */])();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nvar props = _objectSpread({\n tag: {\n type: String,\n default: 'div'\n },\n action: {\n type: Boolean,\n default: null\n },\n button: {\n type: Boolean,\n default: null\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n }\n}, linkProps); // @vue/component\n\nvar BListGroupItem =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = props.button ? 'button' : !props.href && !props.to ? props.tag : __WEBPACK_IMPORTED_MODULE_5__link_link__[\"a\" /* BLink */];\n var isAction = Boolean(props.href || props.to || props.action || props.button || Object(__WEBPACK_IMPORTED_MODULE_3__utils_array__[\"a\" /* arrayIncludes */])(actionTags, props.tag));\n var attrs = {};\n var itemProps = {};\n\n if (tag === 'button') {\n if (!data.attrs || !data.attrs.type) {\n // Add a type for button is one not provided in passed attributes\n attrs.type = 'button';\n }\n\n if (props.disabled) {\n // Set disabled attribute if button and disabled\n attrs.disabled = true;\n }\n } else {\n itemProps = Object(__WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__[\"a\" /* default */])(linkProps, props);\n }\n\n var componentData = {\n attrs: attrs,\n props: itemProps,\n staticClass: 'list-group-item',\n class: (_class = {}, _defineProperty(_class, \"list-group-item-\".concat(props.variant), Boolean(props.variant)), _defineProperty(_class, 'list-group-item-action', isAction), _defineProperty(_class, \"active\", props.active), _defineProperty(_class, \"disabled\", props.disabled), _class)\n };\n return h(tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, componentData), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9saXN0LWdyb3VwL2xpc3QtZ3JvdXAtaXRlbS5qcz85MjViIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ0w7QUFDQztBQUNNO0FBQ2U7QUFDdkU7QUFDQTtBQUNBLGdCQUFnQix3RUFBZ0I7QUFDaEM7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQTtBQUNBLENBQUMsYUFBYTs7QUFFUDtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLCtFQUErRSx5REFBSztBQUNwRixxRkFBcUYsMkVBQWE7QUFDbEc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLGtCQUFrQiwyRUFBVTtBQUM1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBLGtCQUFrQixvRkFBUztBQUMzQjtBQUNBLENBQUMiLCJmaWxlIjoiMTY3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5pbXBvcnQgcGx1Y2tQcm9wcyBmcm9tICcuLi8uLi91dGlscy9wbHVjay1wcm9wcyc7XG5pbXBvcnQgeyBhcnJheUluY2x1ZGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IEJMaW5rLCBwcm9wc0ZhY3RvcnkgYXMgbGlua1Byb3BzRmFjdG9yeSB9IGZyb20gJy4uL2xpbmsvbGluayc7XG52YXIgTkFNRSA9ICdCTGlzdEdyb3VwSXRlbSc7XG52YXIgYWN0aW9uVGFncyA9IFsnYScsICdyb3V0ZXItbGluaycsICdidXR0b24nLCAnYi1saW5rJ107XG52YXIgbGlua1Byb3BzID0gbGlua1Byb3BzRmFjdG9yeSgpO1xuZGVsZXRlIGxpbmtQcm9wcy5ocmVmLmRlZmF1bHQ7XG5kZWxldGUgbGlua1Byb3BzLnRvLmRlZmF1bHQ7XG5leHBvcnQgdmFyIHByb3BzID0gX29iamVjdFNwcmVhZCh7XG4gIHRhZzoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnZGl2J1xuICB9LFxuICBhY3Rpb246IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IG51bGxcbiAgfSxcbiAgYnV0dG9uOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIHZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd2YXJpYW50Jyk7XG4gICAgfVxuICB9XG59LCBsaW5rUHJvcHMpOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJMaXN0R3JvdXBJdGVtID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgX2NsYXNzO1xuXG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHZhciB0YWcgPSBwcm9wcy5idXR0b24gPyAnYnV0dG9uJyA6ICFwcm9wcy5ocmVmICYmICFwcm9wcy50byA/IHByb3BzLnRhZyA6IEJMaW5rO1xuICAgIHZhciBpc0FjdGlvbiA9IEJvb2xlYW4ocHJvcHMuaHJlZiB8fCBwcm9wcy50byB8fCBwcm9wcy5hY3Rpb24gfHwgcHJvcHMuYnV0dG9uIHx8IGFycmF5SW5jbHVkZXMoYWN0aW9uVGFncywgcHJvcHMudGFnKSk7XG4gICAgdmFyIGF0dHJzID0ge307XG4gICAgdmFyIGl0ZW1Qcm9wcyA9IHt9O1xuXG4gICAgaWYgKHRhZyA9PT0gJ2J1dHRvbicpIHtcbiAgICAgIGlmICghZGF0YS5hdHRycyB8fCAhZGF0YS5hdHRycy50eXBlKSB7XG4gICAgICAgIC8vIEFkZCBhIHR5cGUgZm9yIGJ1dHRvbiBpcyBvbmUgbm90IHByb3ZpZGVkIGluIHBhc3NlZCBhdHRyaWJ1dGVzXG4gICAgICAgIGF0dHJzLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BzLmRpc2FibGVkKSB7XG4gICAgICAgIC8vIFNldCBkaXNhYmxlZCBhdHRyaWJ1dGUgaWYgYnV0dG9uIGFuZCBkaXNhYmxlZFxuICAgICAgICBhdHRycy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZW1Qcm9wcyA9IHBsdWNrUHJvcHMobGlua1Byb3BzLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgdmFyIGNvbXBvbmVudERhdGEgPSB7XG4gICAgICBhdHRyczogYXR0cnMsXG4gICAgICBwcm9wczogaXRlbVByb3BzLFxuICAgICAgc3RhdGljQ2xhc3M6ICdsaXN0LWdyb3VwLWl0ZW0nLFxuICAgICAgY2xhc3M6IChfY2xhc3MgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJsaXN0LWdyb3VwLWl0ZW0tXCIuY29uY2F0KHByb3BzLnZhcmlhbnQpLCBCb29sZWFuKHByb3BzLnZhcmlhbnQpKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgJ2xpc3QtZ3JvdXAtaXRlbS1hY3Rpb24nLCBpc0FjdGlvbiksIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3MsIFwiYWN0aXZlXCIsIHByb3BzLmFjdGl2ZSksIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3MsIFwiZGlzYWJsZWRcIiwgcHJvcHMuZGlzYWJsZWQpLCBfY2xhc3MpXG4gICAgfTtcbiAgICByZXR1cm4gaCh0YWcsIG1lcmdlRGF0YShkYXRhLCBjb21wb25lbnREYXRhKSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2xpc3QtZ3JvdXAvbGlzdC1ncm91cC1pdGVtLmpzXG4vLyBtb2R1bGUgaWQgPSAxNjdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///167\n"); + +/***/ }), +/* 168 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return MediaPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__media__ = __webpack_require__(169);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__media_aside__ = __webpack_require__(76);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__media_body__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BMedia */\n/* unused harmony reexport BMediaAside */\n/* unused harmony reexport BMediaBody */\n\n\n\n\nvar MediaPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_3__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BMedia: __WEBPACK_IMPORTED_MODULE_0__media__[\"a\" /* BMedia */],\n BMediaAside: __WEBPACK_IMPORTED_MODULE_1__media_aside__[\"a\" /* BMediaAside */],\n BMediaBody: __WEBPACK_IMPORTED_MODULE_2__media_body__[\"a\" /* BMediaBody */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tZWRpYS9pbmRleC5qcz9jYTQ4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBaUM7QUFDVztBQUNGO0FBQ1U7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxZQUFZLHNEQUFNO0FBQ2xCLGlCQUFpQixpRUFBVztBQUM1QixnQkFBZ0IsK0RBQVU7QUFDMUI7QUFDQSxDQUFDIiwiZmlsZSI6IjE2OC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJNZWRpYSB9IGZyb20gJy4vbWVkaWEnO1xuaW1wb3J0IHsgQk1lZGlhQXNpZGUgfSBmcm9tICcuL21lZGlhLWFzaWRlJztcbmltcG9ydCB7IEJNZWRpYUJvZHkgfSBmcm9tICcuL21lZGlhLWJvZHknO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIE1lZGlhUGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3Rvcnkoe1xuICBjb21wb25lbnRzOiB7XG4gICAgQk1lZGlhOiBCTWVkaWEsXG4gICAgQk1lZGlhQXNpZGU6IEJNZWRpYUFzaWRlLFxuICAgIEJNZWRpYUJvZHk6IEJNZWRpYUJvZHlcbiAgfVxufSk7XG5leHBvcnQgeyBNZWRpYVBsdWdpbiwgQk1lZGlhLCBCTWVkaWFBc2lkZSwgQk1lZGlhQm9keSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvbWVkaWEvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE2OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///168\n"); + +/***/ }), +/* 169 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BMedia; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_normalize_slot__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__media_body__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__media_aside__ = __webpack_require__(76);\n\n\n\n\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n rightAlign: {\n type: Boolean,\n default: false\n },\n verticalAlign: {\n type: String,\n default: 'top'\n },\n noBody: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nvar BMedia =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BMedia',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var childNodes = props.noBody ? children : [];\n\n if (!props.noBody) {\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var $aside = Object(__WEBPACK_IMPORTED_MODULE_2__utils_normalize_slot__[\"b\" /* normalizeSlot */])('aside', {}, $scopedSlots, $slots);\n var $default = Object(__WEBPACK_IMPORTED_MODULE_2__utils_normalize_slot__[\"b\" /* normalizeSlot */])('default', {}, $scopedSlots, $slots);\n\n if ($aside && !props.rightAlign) {\n childNodes.push(h(__WEBPACK_IMPORTED_MODULE_4__media_aside__[\"a\" /* BMediaAside */], {\n staticClass: 'mr-3',\n props: {\n verticalAlign: props.verticalAlign\n }\n }, $aside));\n }\n\n childNodes.push(h(__WEBPACK_IMPORTED_MODULE_3__media_body__[\"a\" /* BMediaBody */], {}, $default));\n\n if ($aside && props.rightAlign) {\n childNodes.push(h(__WEBPACK_IMPORTED_MODULE_4__media_aside__[\"a\" /* BMediaAside */], {\n staticClass: 'ml-3',\n props: {\n verticalAlign: props.verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'media'\n }), childNodes);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tZWRpYS9tZWRpYS5qcz8xNTBjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDO0FBQ29CO0FBQ0s7QUFDakI7QUFDRTtBQUNyQztBQUNQO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsb0ZBQWEsWUFBWTtBQUM1QyxxQkFBcUIsb0ZBQWEsY0FBYzs7QUFFaEQ7QUFDQSwwQkFBMEIsaUVBQVc7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUEsd0JBQXdCLCtEQUFVLElBQUk7O0FBRXRDO0FBQ0EsMEJBQTBCLGlFQUFXO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsd0JBQXdCLG9GQUFTO0FBQ2pDO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNjkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IG5vcm1hbGl6ZVNsb3QgfSBmcm9tICcuLi8uLi91dGlscy9ub3JtYWxpemUtc2xvdCc7XG5pbXBvcnQgeyBCTWVkaWFCb2R5IH0gZnJvbSAnLi9tZWRpYS1ib2R5JztcbmltcG9ydCB7IEJNZWRpYUFzaWRlIH0gZnJvbSAnLi9tZWRpYS1hc2lkZSc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2RpdidcbiAgfSxcbiAgcmlnaHRBbGlnbjoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgdmVydGljYWxBbGlnbjoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAndG9wJ1xuICB9LFxuICBub0JvZHk6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQk1lZGlhID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQk1lZGlhJyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgc2xvdHMgPSBfcmVmLnNsb3RzLFxuICAgICAgICBzY29wZWRTbG90cyA9IF9yZWYuc2NvcGVkU2xvdHMsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICB2YXIgY2hpbGROb2RlcyA9IHByb3BzLm5vQm9keSA/IGNoaWxkcmVuIDogW107XG5cbiAgICBpZiAoIXByb3BzLm5vQm9keSkge1xuICAgICAgdmFyICRzbG90cyA9IHNsb3RzKCk7XG4gICAgICB2YXIgJHNjb3BlZFNsb3RzID0gc2NvcGVkU2xvdHMgfHwge307XG4gICAgICB2YXIgJGFzaWRlID0gbm9ybWFsaXplU2xvdCgnYXNpZGUnLCB7fSwgJHNjb3BlZFNsb3RzLCAkc2xvdHMpO1xuICAgICAgdmFyICRkZWZhdWx0ID0gbm9ybWFsaXplU2xvdCgnZGVmYXVsdCcsIHt9LCAkc2NvcGVkU2xvdHMsICRzbG90cyk7XG5cbiAgICAgIGlmICgkYXNpZGUgJiYgIXByb3BzLnJpZ2h0QWxpZ24pIHtcbiAgICAgICAgY2hpbGROb2Rlcy5wdXNoKGgoQk1lZGlhQXNpZGUsIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogJ21yLTMnLFxuICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbEFsaWduOiBwcm9wcy52ZXJ0aWNhbEFsaWduXG4gICAgICAgICAgfVxuICAgICAgICB9LCAkYXNpZGUpKTtcbiAgICAgIH1cblxuICAgICAgY2hpbGROb2Rlcy5wdXNoKGgoQk1lZGlhQm9keSwge30sICRkZWZhdWx0KSk7XG5cbiAgICAgIGlmICgkYXNpZGUgJiYgcHJvcHMucmlnaHRBbGlnbikge1xuICAgICAgICBjaGlsZE5vZGVzLnB1c2goaChCTWVkaWFBc2lkZSwge1xuICAgICAgICAgIHN0YXRpY0NsYXNzOiAnbWwtMycsXG4gICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246IHByb3BzLnZlcnRpY2FsQWxpZ25cbiAgICAgICAgICB9XG4gICAgICAgIH0sICRhc2lkZSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBoKHByb3BzLnRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnbWVkaWEnXG4gICAgfSksIGNoaWxkTm9kZXMpO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL21lZGlhL21lZGlhLmpzXG4vLyBtb2R1bGUgaWQgPSAxNjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///169\n"); + +/***/ }), +/* 170 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ModalPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__modal__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__directives_modal_modal__ = __webpack_require__(79);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__helpers_bv_modal__ = __webpack_require__(171);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BModal */\n\n\n\n\nvar ModalPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_3__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BModal: __WEBPACK_IMPORTED_MODULE_0__modal__[\"a\" /* BModal */]\n },\n directives: {\n VBModal: __WEBPACK_IMPORTED_MODULE_1__directives_modal_modal__[\"a\" /* VBModal */]\n },\n // $bvModal injection\n plugins: {\n BVModalPlugin: __WEBPACK_IMPORTED_MODULE_2__helpers_bv_modal__[\"a\" /* BVModalPlugin */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tb2RhbC9pbmRleC5qcz8zMDNlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFpQztBQUNzQjtBQUNKO0FBQ0M7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxZQUFZLHNEQUFNO0FBQ2xCLEdBQUc7QUFDSDtBQUNBLGFBQWEsd0VBQU87QUFDcEIsR0FBRztBQUNIO0FBQ0E7QUFDQSxtQkFBbUIsd0VBQWE7QUFDaEM7QUFDQSxDQUFDIiwiZmlsZSI6IjE3MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJNb2RhbCB9IGZyb20gJy4vbW9kYWwnO1xuaW1wb3J0IHsgVkJNb2RhbCB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvbW9kYWwvbW9kYWwnO1xuaW1wb3J0IHsgQlZNb2RhbFBsdWdpbiB9IGZyb20gJy4vaGVscGVycy9idi1tb2RhbCc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgTW9kYWxQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCTW9kYWw6IEJNb2RhbFxuICB9LFxuICBkaXJlY3RpdmVzOiB7XG4gICAgVkJNb2RhbDogVkJNb2RhbFxuICB9LFxuICAvLyAkYnZNb2RhbCBpbmplY3Rpb25cbiAgcGx1Z2luczoge1xuICAgIEJWTW9kYWxQbHVnaW46IEJWTW9kYWxQbHVnaW5cbiAgfVxufSk7XG5leHBvcnQgeyBNb2RhbFBsdWdpbiwgQk1vZGFsIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tb2RhbC9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTcwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///170\n"); + +/***/ }), +/* 171 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BVModalPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__modal__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_plugins__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_warn__ = __webpack_require__(13);\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 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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\n// Plugin for adding `$bvModal` property to all Vue instances\n\n\n\n\n\n\n // --- Constants ---\n\nvar PROP_NAME = '$bvModal';\nvar PROP_NAME_PRIV = '_bv__modal'; // Base modal props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\n\nvar BASE_PROPS = ['id'].concat(_toConsumableArray(Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"j\" /* keys */])(Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"k\" /* omit */])(__WEBPACK_IMPORTED_MODULE_0__modal__[\"b\" /* props */], ['busy', 'lazy', 'noStacking', \"static\", 'visible'])))); // Fallback event resolver (returns undefined)\n\nvar defaultResolver = function defaultResolver(bvModalEvt) {}; // Map prop names to modal slot names\n\n\nvar propsToSlots = {\n msgBoxContent: 'default',\n title: 'modal-title',\n okTitle: 'modal-ok',\n cancelTitle: 'modal-cancel'\n}; // --- Utility methods ---\n// Method to filter only recognized props that are not undefined\n\nvar filterOptions = function filterOptions(options) {\n return BASE_PROPS.reduce(function (memo, key) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"n\" /* isUndefined */])(options[key])) {\n memo[key] = options[key];\n }\n\n return memo;\n }, {});\n}; // Method to install `$bvModal` VM injection\n\n\nvar plugin = function plugin(Vue) {\n // Create a private sub-component that extends BModal\n // which self-destructs after hidden\n // @vue/component\n var BMsgBox = Vue.extend({\n name: 'BMsgBox',\n extends: __WEBPACK_IMPORTED_MODULE_0__modal__[\"a\" /* BModal */],\n destroyed: function destroyed() {\n // Make sure we not in document any more\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Self destruct handler\n var handleDestroy = function handleDestroy() {\n var self = _this;\n\n _this.$nextTick(function () {\n // In a `setTimeout()` to release control back to application\n setTimeout(function () {\n return self.$destroy();\n }, 0);\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once('hook:destroyed', handleDestroy); // Self destruct after hidden\n\n this.$once('hidden', handleDestroy); // Self destruct on route change\n\n /* istanbul ignore if */\n\n if (this.$router && this.$route) {\n // Destroy ourselves if route changes\n\n /* istanbul ignore next */\n this.$once('hook:beforeDestroy', this.$watch('$router', handleDestroy));\n } // Show the `BMsgBox`\n\n\n this.show();\n }\n }); // Method to generate the on-demand modal message box\n // Returns a promise that resolves to a value returned by the resolve\n\n var asyncMsgBox = function asyncMsgBox($parent, props) {\n var resolver = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultResolver;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_6__utils_warn__[\"e\" /* warnNotClient */])(PROP_NAME) || Object(__WEBPACK_IMPORTED_MODULE_6__utils_warn__[\"d\" /* warnNoPromiseSupport */])(PROP_NAME)) {\n /* istanbul ignore next */\n return;\n } // Create an instance of `BMsgBox` component\n\n\n var msgBox = new BMsgBox({\n // We set parent as the local VM so these modals can emit events on\n // the app `$root`, as needed by things like tooltips and popovers\n // And it helps to ensure `BMsgBox` is destroyed when parent is destroyed\n parent: $parent,\n // Preset the prop values\n propsData: _objectSpread({}, filterOptions(Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])('BModal') || {}), {\n // Defaults that user can override\n hideHeaderClose: true,\n hideHeader: !(props.title || props.titleHtml)\n }, Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"k\" /* omit */])(props, Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"j\" /* keys */])(propsToSlots)), {\n // Props that can't be overridden\n lazy: false,\n busy: false,\n visible: false,\n noStacking: false,\n noEnforceFocus: false\n })\n }); // Convert certain props to scoped slots\n\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"j\" /* keys */])(propsToSlots).forEach(function (prop) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"n\" /* isUndefined */])(props[prop])) {\n // Can be a string, or array of VNodes.\n // Alternatively, user can use HTML version of prop to pass an HTML string.\n msgBox.$slots[propsToSlots[prop]] = Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"b\" /* concat */])(props[prop]);\n }\n }); // Return a promise that resolves when hidden, or rejects on destroyed\n\n return new Promise(function (resolve, reject) {\n var resolved = false;\n msgBox.$once('hook:destroyed', function () {\n if (!resolved) {\n /* istanbul ignore next */\n reject(new Error('BootstrapVue MsgBox destroyed before resolve'));\n }\n });\n msgBox.$on('hide', function (bvModalEvt) {\n if (!bvModalEvt.defaultPrevented) {\n var result = resolver(bvModalEvt); // If resolver didn't cancel hide, we resolve\n\n if (!bvModalEvt.defaultPrevented) {\n resolved = true;\n resolve(result);\n }\n }\n }); // Create a mount point (a DIV) and mount the msgBo which will trigger it to show\n\n var div = document.createElement('div');\n document.body.appendChild(div);\n msgBox.$mount(div);\n });\n }; // Private utility method to open a user defined message box and returns a promise.\n // Not to be used directly by consumers, as this method may change calling syntax\n\n\n var makeMsgBox = function makeMsgBox($parent, content) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var resolver = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!content || Object(__WEBPACK_IMPORTED_MODULE_6__utils_warn__[\"d\" /* warnNoPromiseSupport */])(PROP_NAME) || Object(__WEBPACK_IMPORTED_MODULE_6__utils_warn__[\"e\" /* warnNotClient */])(PROP_NAME) || !Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"f\" /* isFunction */])(resolver)) {\n /* istanbul ignore next */\n return;\n }\n\n return asyncMsgBox($parent, _objectSpread({}, filterOptions(options), {\n msgBoxContent: content\n }), resolver);\n }; // BvModal instance class\n\n\n var BvModal =\n /*#__PURE__*/\n function () {\n function BvModal(vm) {\n _classCallCheck(this, BvModal);\n\n // Assign the new properties to this instance\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"a\" /* assign */])(this, {\n _vm: vm,\n _root: vm.$root\n }); // Set these properties as read-only and non-enumerable\n\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"d\" /* defineProperties */])(this, {\n _vm: Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"l\" /* readonlyDescriptor */])(),\n _root: Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"l\" /* readonlyDescriptor */])()\n });\n } // --- Instance methods ---\n // Show modal with the specified ID args are for future use\n\n\n _createClass(BvModal, [{\n key: \"show\",\n value: function show(id) {\n if (id && this._root) {\n var _this$_root;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_this$_root = this._root).$emit.apply(_this$_root, ['bv::show::modal', id].concat(args));\n }\n } // Hide modal with the specified ID args are for future use\n\n }, {\n key: \"hide\",\n value: function hide(id) {\n if (id && this._root) {\n var _this$_root2;\n\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 (_this$_root2 = this._root).$emit.apply(_this$_root2, ['bv::hide::modal', id].concat(args));\n }\n } // The following methods require Promise support!\n // IE 11 and others do not support Promise natively, so users\n // should have a Polyfill loaded (which they need anyways for IE 11 support)\n // Open a message box with OK button only and returns a promise\n\n }, {\n key: \"msgBoxOk\",\n value: function msgBoxOk(message) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Pick the modal props we support from options\n var props = _objectSpread({}, options, {\n // Add in overrides and our content prop\n okOnly: true,\n okDisabled: false,\n hideFooter: false,\n msgBoxContent: message\n });\n\n return makeMsgBox(this._vm, message, props, function (bvModalEvt) {\n // Always resolve to true for OK\n return true;\n });\n } // Open a message box modal with OK and CANCEL buttons\n // and returns a promise\n\n }, {\n key: \"msgBoxConfirm\",\n value: function msgBoxConfirm(message) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Set the modal props we support from options\n var props = _objectSpread({}, options, {\n // Add in overrides and our content prop\n okOnly: false,\n okDisabled: false,\n cancelDisabled: false,\n hideFooter: false\n });\n\n return makeMsgBox(this._vm, message, props, function (bvModalEvt) {\n var trigger = bvModalEvt.trigger;\n return trigger === 'ok' ? true : trigger === 'cancel' ? false : null;\n });\n }\n }]);\n\n return BvModal;\n }(); // Add our instance mixin\n\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvModal` for each VM\n this[PROP_NAME_PRIV] = new BvModal(this);\n }\n }); // Define our read-only `$bvModal` instance property\n // Placed in an if just in case in HMR mode\n // eslint-disable-next-line no-prototype-builtins\n\n if (!Vue.prototype.hasOwnProperty(PROP_NAME)) {\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"e\" /* defineProperty */])(Vue.prototype, PROP_NAME, {\n get: function get() {\n /* istanbul ignore next */\n if (!this || !this[PROP_NAME_PRIV]) {\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_warn__[\"b\" /* warn */])(\"'\".concat(PROP_NAME, \"' must be accessed from a Vue instance 'this' context\"));\n }\n\n return this[PROP_NAME_PRIV];\n }\n });\n }\n};\n\nvar BVModalPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_5__utils_plugins__[\"b\" /* pluginFactory */])({\n plugins: {\n plugin: plugin\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tb2RhbC9oZWxwZXJzL2J2LW1vZGFsLmpzPzNmNzAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGlEQUFpRCwwQ0FBMEMsMERBQTBELEVBQUU7O0FBRXZKLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELDJEQUEyRCxFQUFFOztBQUUzVCw2REFBNkQsc0VBQXNFLDhEQUE4RCxvQkFBb0I7O0FBRXJOLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00sa0NBQWtDLGlGQUFpRjs7QUFFbkgsK0JBQStCLHdFQUF3RTs7QUFFdkcsaUNBQWlDLCtIQUErSDs7QUFFaEssa0NBQWtDLDBCQUEwQiw4Q0FBOEMsZ0JBQWdCLE9BQU8sa0JBQWtCLEVBQUUsYUFBYSxFQUFFOztBQUVwSztBQUN1RDtBQUNUO0FBQ2E7QUFDTTtBQUNnRDtBQUMxRDtBQUN5Qjs7QUFFaEY7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBOztBQUVBLGtEQUFrRCxtRUFBSSxDQUFDLG1FQUFJLENBQUMscURBQVUsMERBQTBEOztBQUVoSSw4REFBOEQ7OztBQUc5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQSxTQUFTLDJFQUFXO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQSxHQUFHLElBQUk7QUFDUCxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHNEQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULFFBQVE7OztBQUdSLDBEQUEwRDs7QUFFMUQsMENBQTBDOztBQUUxQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0EsR0FBRyxFQUFFO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQSxRQUFRLDBFQUFhLGVBQWUsaUZBQW9CO0FBQ3hEO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsZ0JBQWdCLGlGQUFrQixnQkFBZ0I7QUFDbkY7QUFDQTtBQUNBO0FBQ0EsT0FBTyxFQUFFLG1FQUFJLFFBQVEsbUVBQUk7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUssRUFBRTs7QUFFUCxJQUFJLG1FQUFJO0FBQ1IsV0FBVywyRUFBVztBQUN0QjtBQUNBO0FBQ0EsNENBQTRDLG9FQUFNO0FBQ2xEO0FBQ0EsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLEVBQUU7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixpRkFBb0IsZUFBZSwwRUFBYSxnQkFBZ0IsMEVBQVU7QUFDOUY7QUFDQTtBQUNBOztBQUVBLGdEQUFnRDtBQUNoRDtBQUNBLEtBQUs7QUFDTCxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTSxxRUFBTTtBQUNaO0FBQ0E7QUFDQSxPQUFPLEVBQUU7O0FBRVQsTUFBTSwrRUFBZ0I7QUFDdEIsYUFBYSxpRkFBa0I7QUFDL0IsZUFBZSxpRkFBa0I7QUFDakMsT0FBTztBQUNQLEtBQUs7QUFDTDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnR0FBZ0csYUFBYTtBQUM3RztBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOztBQUVQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvR0FBb0csZUFBZTtBQUNuSDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDs7QUFFQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7O0FBRUw7QUFDQSxHQUFHLEdBQUc7OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsRUFBRTtBQUNMO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLDZFQUFjO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsaUVBQUk7QUFDZDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRU87QUFDUDtBQUNBLDZFQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmZ1bmN0aW9uIF90b0NvbnN1bWFibGVBcnJheShhcnIpIHsgcmV0dXJuIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBfbm9uSXRlcmFibGVTcHJlYWQoKTsgfVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVTcHJlYWQoKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKTsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5KGl0ZXIpIHsgaWYgKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcikgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGl0ZXIpID09PSBcIltvYmplY3QgQXJndW1lbnRzXVwiKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHsgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkoYXJyLmxlbmd0aCk7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfSB9XG5cbi8vIFBsdWdpbiBmb3IgYWRkaW5nIGAkYnZNb2RhbGAgcHJvcGVydHkgdG8gYWxsIFZ1ZSBpbnN0YW5jZXNcbmltcG9ydCB7IEJNb2RhbCwgcHJvcHMgYXMgbW9kYWxQcm9wcyB9IGZyb20gJy4uL21vZGFsJztcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FycmF5JztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwgaXNGdW5jdGlvbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsgYXNzaWduLCBrZXlzLCBvbWl0LCBkZWZpbmVQcm9wZXJ0eSwgZGVmaW5lUHJvcGVydGllcywgcmVhZG9ubHlEZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvb2JqZWN0JztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi91dGlscy9wbHVnaW5zJztcbmltcG9ydCB7IHdhcm4sIHdhcm5Ob3RDbGllbnQsIHdhcm5Ob1Byb21pc2VTdXBwb3J0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvd2Fybic7IC8vIC0tLSBDb25zdGFudHMgLS0tXG5cbnZhciBQUk9QX05BTUUgPSAnJGJ2TW9kYWwnO1xudmFyIFBST1BfTkFNRV9QUklWID0gJ19idl9fbW9kYWwnOyAvLyBCYXNlIG1vZGFsIHByb3BzIHRoYXQgYXJlIGFsbG93ZWRcbi8vIFNvbWUgbWF5IGJlIGlnbm9yZWQgb3Igb3ZlcnJpZGRlbiBvbiBzb21lIG1lc3NhZ2UgYm94ZXNcbi8vIFByb3AgSUQgaXMgYWxsb3dlZCwgYnV0IHJlYWxseSBvbmx5IHNob3VsZCBiZSB1c2VkIGZvciB0ZXN0aW5nXG4vLyBXZSBuZWVkIHRvIGFkZCBpdCBpbiBleHBsaWNpdGx5IGFzIGl0IGNvbWVzIGZyb20gdGhlIGBpZE1peGluYFxuXG52YXIgQkFTRV9QUk9QUyA9IFsnaWQnXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGtleXMob21pdChtb2RhbFByb3BzLCBbJ2J1c3knLCAnbGF6eScsICdub1N0YWNraW5nJywgXCJzdGF0aWNcIiwgJ3Zpc2libGUnXSkpKSk7IC8vIEZhbGxiYWNrIGV2ZW50IHJlc29sdmVyIChyZXR1cm5zIHVuZGVmaW5lZClcblxudmFyIGRlZmF1bHRSZXNvbHZlciA9IGZ1bmN0aW9uIGRlZmF1bHRSZXNvbHZlcihidk1vZGFsRXZ0KSB7fTsgLy8gTWFwIHByb3AgbmFtZXMgdG8gbW9kYWwgc2xvdCBuYW1lc1xuXG5cbnZhciBwcm9wc1RvU2xvdHMgPSB7XG4gIG1zZ0JveENvbnRlbnQ6ICdkZWZhdWx0JyxcbiAgdGl0bGU6ICdtb2RhbC10aXRsZScsXG4gIG9rVGl0bGU6ICdtb2RhbC1vaycsXG4gIGNhbmNlbFRpdGxlOiAnbW9kYWwtY2FuY2VsJ1xufTsgLy8gLS0tIFV0aWxpdHkgbWV0aG9kcyAtLS1cbi8vIE1ldGhvZCB0byBmaWx0ZXIgb25seSByZWNvZ25pemVkIHByb3BzIHRoYXQgYXJlIG5vdCB1bmRlZmluZWRcblxudmFyIGZpbHRlck9wdGlvbnMgPSBmdW5jdGlvbiBmaWx0ZXJPcHRpb25zKG9wdGlvbnMpIHtcbiAgcmV0dXJuIEJBU0VfUFJPUFMucmVkdWNlKGZ1bmN0aW9uIChtZW1vLCBrZXkpIHtcbiAgICBpZiAoIWlzVW5kZWZpbmVkKG9wdGlvbnNba2V5XSkpIHtcbiAgICAgIG1lbW9ba2V5XSA9IG9wdGlvbnNba2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVtbztcbiAgfSwge30pO1xufTsgLy8gTWV0aG9kIHRvIGluc3RhbGwgYCRidk1vZGFsYCBWTSBpbmplY3Rpb25cblxuXG52YXIgcGx1Z2luID0gZnVuY3Rpb24gcGx1Z2luKFZ1ZSkge1xuICAvLyBDcmVhdGUgYSBwcml2YXRlIHN1Yi1jb21wb25lbnQgdGhhdCBleHRlbmRzIEJNb2RhbFxuICAvLyB3aGljaCBzZWxmLWRlc3RydWN0cyBhZnRlciBoaWRkZW5cbiAgLy8gQHZ1ZS9jb21wb25lbnRcbiAgdmFyIEJNc2dCb3ggPSBWdWUuZXh0ZW5kKHtcbiAgICBuYW1lOiAnQk1zZ0JveCcsXG4gICAgZXh0ZW5kczogQk1vZGFsLFxuICAgIGRlc3Ryb3llZDogZnVuY3Rpb24gZGVzdHJveWVkKCkge1xuICAgICAgLy8gTWFrZSBzdXJlIHdlIG5vdCBpbiBkb2N1bWVudCBhbnkgbW9yZVxuICAgICAgaWYgKHRoaXMuJGVsICYmIHRoaXMuJGVsLnBhcmVudE5vZGUpIHtcbiAgICAgICAgdGhpcy4kZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLiRlbCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgLy8gU2VsZiBkZXN0cnVjdCBoYW5kbGVyXG4gICAgICB2YXIgaGFuZGxlRGVzdHJveSA9IGZ1bmN0aW9uIGhhbmRsZURlc3Ryb3koKSB7XG4gICAgICAgIHZhciBzZWxmID0gX3RoaXM7XG5cbiAgICAgICAgX3RoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBJbiBhIGBzZXRUaW1lb3V0KClgIHRvIHJlbGVhc2UgY29udHJvbCBiYWNrIHRvIGFwcGxpY2F0aW9uXG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi4kZGVzdHJveSgpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9KTtcbiAgICAgIH07IC8vIFNlbGYgZGVzdHJ1Y3QgaWYgcGFyZW50IGRlc3Ryb3llZFxuXG5cbiAgICAgIHRoaXMuJHBhcmVudC4kb25jZSgnaG9vazpkZXN0cm95ZWQnLCBoYW5kbGVEZXN0cm95KTsgLy8gU2VsZiBkZXN0cnVjdCBhZnRlciBoaWRkZW5cblxuICAgICAgdGhpcy4kb25jZSgnaGlkZGVuJywgaGFuZGxlRGVzdHJveSk7IC8vIFNlbGYgZGVzdHJ1Y3Qgb24gcm91dGUgY2hhbmdlXG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG4gICAgICBpZiAodGhpcy4kcm91dGVyICYmIHRoaXMuJHJvdXRlKSB7XG4gICAgICAgIC8vIERlc3Ryb3kgb3Vyc2VsdmVzIGlmIHJvdXRlIGNoYW5nZXNcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICB0aGlzLiRvbmNlKCdob29rOmJlZm9yZURlc3Ryb3knLCB0aGlzLiR3YXRjaCgnJHJvdXRlcicsIGhhbmRsZURlc3Ryb3kpKTtcbiAgICAgIH0gLy8gU2hvdyB0aGUgYEJNc2dCb3hgXG5cblxuICAgICAgdGhpcy5zaG93KCk7XG4gICAgfVxuICB9KTsgLy8gTWV0aG9kIHRvIGdlbmVyYXRlIHRoZSBvbi1kZW1hbmQgbW9kYWwgbWVzc2FnZSBib3hcbiAgLy8gUmV0dXJucyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIHZhbHVlIHJldHVybmVkIGJ5IHRoZSByZXNvbHZlXG5cbiAgdmFyIGFzeW5jTXNnQm94ID0gZnVuY3Rpb24gYXN5bmNNc2dCb3goJHBhcmVudCwgcHJvcHMpIHtcbiAgICB2YXIgcmVzb2x2ZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IGRlZmF1bHRSZXNvbHZlcjtcblxuICAgIGlmICh3YXJuTm90Q2xpZW50KFBST1BfTkFNRSkgfHwgd2Fybk5vUHJvbWlzZVN1cHBvcnQoUFJPUF9OQU1FKSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybjtcbiAgICB9IC8vIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBgQk1zZ0JveGAgY29tcG9uZW50XG5cblxuICAgIHZhciBtc2dCb3ggPSBuZXcgQk1zZ0JveCh7XG4gICAgICAvLyBXZSBzZXQgcGFyZW50IGFzIHRoZSBsb2NhbCBWTSBzbyB0aGVzZSBtb2RhbHMgY2FuIGVtaXQgZXZlbnRzIG9uXG4gICAgICAvLyB0aGUgYXBwIGAkcm9vdGAsIGFzIG5lZWRlZCBieSB0aGluZ3MgbGlrZSB0b29sdGlwcyBhbmQgcG9wb3ZlcnNcbiAgICAgIC8vIEFuZCBpdCBoZWxwcyB0byBlbnN1cmUgYEJNc2dCb3hgIGlzIGRlc3Ryb3llZCB3aGVuIHBhcmVudCBpcyBkZXN0cm95ZWRcbiAgICAgIHBhcmVudDogJHBhcmVudCxcbiAgICAgIC8vIFByZXNldCB0aGUgcHJvcCB2YWx1ZXNcbiAgICAgIHByb3BzRGF0YTogX29iamVjdFNwcmVhZCh7fSwgZmlsdGVyT3B0aW9ucyhnZXRDb21wb25lbnRDb25maWcoJ0JNb2RhbCcpIHx8IHt9KSwge1xuICAgICAgICAvLyBEZWZhdWx0cyB0aGF0IHVzZXIgY2FuIG92ZXJyaWRlXG4gICAgICAgIGhpZGVIZWFkZXJDbG9zZTogdHJ1ZSxcbiAgICAgICAgaGlkZUhlYWRlcjogIShwcm9wcy50aXRsZSB8fCBwcm9wcy50aXRsZUh0bWwpXG4gICAgICB9LCBvbWl0KHByb3BzLCBrZXlzKHByb3BzVG9TbG90cykpLCB7XG4gICAgICAgIC8vIFByb3BzIHRoYXQgY2FuJ3QgYmUgb3ZlcnJpZGRlblxuICAgICAgICBsYXp5OiBmYWxzZSxcbiAgICAgICAgYnVzeTogZmFsc2UsXG4gICAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgICAgICBub1N0YWNraW5nOiBmYWxzZSxcbiAgICAgICAgbm9FbmZvcmNlRm9jdXM6IGZhbHNlXG4gICAgICB9KVxuICAgIH0pOyAvLyBDb252ZXJ0IGNlcnRhaW4gcHJvcHMgdG8gc2NvcGVkIHNsb3RzXG5cbiAgICBrZXlzKHByb3BzVG9TbG90cykuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgaWYgKCFpc1VuZGVmaW5lZChwcm9wc1twcm9wXSkpIHtcbiAgICAgICAgLy8gQ2FuIGJlIGEgc3RyaW5nLCBvciBhcnJheSBvZiBWTm9kZXMuXG4gICAgICAgIC8vIEFsdGVybmF0aXZlbHksIHVzZXIgY2FuIHVzZSBIVE1MIHZlcnNpb24gb2YgcHJvcCB0byBwYXNzIGFuIEhUTUwgc3RyaW5nLlxuICAgICAgICBtc2dCb3guJHNsb3RzW3Byb3BzVG9TbG90c1twcm9wXV0gPSBjb25jYXQocHJvcHNbcHJvcF0pO1xuICAgICAgfVxuICAgIH0pOyAvLyBSZXR1cm4gYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBoaWRkZW4sIG9yIHJlamVjdHMgb24gZGVzdHJveWVkXG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgdmFyIHJlc29sdmVkID0gZmFsc2U7XG4gICAgICBtc2dCb3guJG9uY2UoJ2hvb2s6ZGVzdHJveWVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXJlc29sdmVkKSB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKCdCb290c3RyYXBWdWUgTXNnQm94IGRlc3Ryb3llZCBiZWZvcmUgcmVzb2x2ZScpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBtc2dCb3guJG9uKCdoaWRlJywgZnVuY3Rpb24gKGJ2TW9kYWxFdnQpIHtcbiAgICAgICAgaWYgKCFidk1vZGFsRXZ0LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0ID0gcmVzb2x2ZXIoYnZNb2RhbEV2dCk7IC8vIElmIHJlc29sdmVyIGRpZG4ndCBjYW5jZWwgaGlkZSwgd2UgcmVzb2x2ZVxuXG4gICAgICAgICAgaWYgKCFidk1vZGFsRXZ0LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHJlc29sdmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pOyAvLyBDcmVhdGUgYSBtb3VudCBwb2ludCAoYSBESVYpIGFuZCBtb3VudCB0aGUgbXNnQm8gd2hpY2ggd2lsbCB0cmlnZ2VyIGl0IHRvIHNob3dcblxuICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpO1xuICAgICAgbXNnQm94LiRtb3VudChkaXYpO1xuICAgIH0pO1xuICB9OyAvLyBQcml2YXRlIHV0aWxpdHkgbWV0aG9kIHRvIG9wZW4gYSB1c2VyIGRlZmluZWQgbWVzc2FnZSBib3ggYW5kIHJldHVybnMgYSBwcm9taXNlLlxuICAvLyBOb3QgdG8gYmUgdXNlZCBkaXJlY3RseSBieSBjb25zdW1lcnMsIGFzIHRoaXMgbWV0aG9kIG1heSBjaGFuZ2UgY2FsbGluZyBzeW50YXhcblxuXG4gIHZhciBtYWtlTXNnQm94ID0gZnVuY3Rpb24gbWFrZU1zZ0JveCgkcGFyZW50LCBjb250ZW50KSB7XG4gICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuICAgIHZhciByZXNvbHZlciA9IGFyZ3VtZW50cy5sZW5ndGggPiAzID8gYXJndW1lbnRzWzNdIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKCFjb250ZW50IHx8IHdhcm5Ob1Byb21pc2VTdXBwb3J0KFBST1BfTkFNRSkgfHwgd2Fybk5vdENsaWVudChQUk9QX05BTUUpIHx8ICFpc0Z1bmN0aW9uKHJlc29sdmVyKSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gYXN5bmNNc2dCb3goJHBhcmVudCwgX29iamVjdFNwcmVhZCh7fSwgZmlsdGVyT3B0aW9ucyhvcHRpb25zKSwge1xuICAgICAgbXNnQm94Q29udGVudDogY29udGVudFxuICAgIH0pLCByZXNvbHZlcik7XG4gIH07IC8vIEJ2TW9kYWwgaW5zdGFuY2UgY2xhc3NcblxuXG4gIHZhciBCdk1vZGFsID1cbiAgLyojX19QVVJFX18qL1xuICBmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQnZNb2RhbCh2bSkge1xuICAgICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJ2TW9kYWwpO1xuXG4gICAgICAvLyBBc3NpZ24gdGhlIG5ldyBwcm9wZXJ0aWVzIHRvIHRoaXMgaW5zdGFuY2VcbiAgICAgIGFzc2lnbih0aGlzLCB7XG4gICAgICAgIF92bTogdm0sXG4gICAgICAgIF9yb290OiB2bS4kcm9vdFxuICAgICAgfSk7IC8vIFNldCB0aGVzZSBwcm9wZXJ0aWVzIGFzIHJlYWQtb25seSBhbmQgbm9uLWVudW1lcmFibGVcblxuICAgICAgZGVmaW5lUHJvcGVydGllcyh0aGlzLCB7XG4gICAgICAgIF92bTogcmVhZG9ubHlEZXNjcmlwdG9yKCksXG4gICAgICAgIF9yb290OiByZWFkb25seURlc2NyaXB0b3IoKVxuICAgICAgfSk7XG4gICAgfSAvLyAtLS0gSW5zdGFuY2UgbWV0aG9kcyAtLS1cbiAgICAvLyBTaG93IG1vZGFsIHdpdGggdGhlIHNwZWNpZmllZCBJRCBhcmdzIGFyZSBmb3IgZnV0dXJlIHVzZVxuXG5cbiAgICBfY3JlYXRlQ2xhc3MoQnZNb2RhbCwgW3tcbiAgICAgIGtleTogXCJzaG93XCIsXG4gICAgICB2YWx1ZTogZnVuY3Rpb24gc2hvdyhpZCkge1xuICAgICAgICBpZiAoaWQgJiYgdGhpcy5fcm9vdCkge1xuICAgICAgICAgIHZhciBfdGhpcyRfcm9vdDtcblxuICAgICAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIChfdGhpcyRfcm9vdCA9IHRoaXMuX3Jvb3QpLiRlbWl0LmFwcGx5KF90aGlzJF9yb290LCBbJ2J2OjpzaG93Ojptb2RhbCcsIGlkXS5jb25jYXQoYXJncykpO1xuICAgICAgICB9XG4gICAgICB9IC8vIEhpZGUgbW9kYWwgd2l0aCB0aGUgc3BlY2lmaWVkIElEIGFyZ3MgYXJlIGZvciBmdXR1cmUgdXNlXG5cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiaGlkZVwiLFxuICAgICAgdmFsdWU6IGZ1bmN0aW9uIGhpZGUoaWQpIHtcbiAgICAgICAgaWYgKGlkICYmIHRoaXMuX3Jvb3QpIHtcbiAgICAgICAgICB2YXIgX3RoaXMkX3Jvb3QyO1xuXG4gICAgICAgICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yID4gMSA/IF9sZW4yIC0gMSA6IDApLCBfa2V5MiA9IDE7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICAgICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgKF90aGlzJF9yb290MiA9IHRoaXMuX3Jvb3QpLiRlbWl0LmFwcGx5KF90aGlzJF9yb290MiwgWydidjo6aGlkZTo6bW9kYWwnLCBpZF0uY29uY2F0KGFyZ3MpKTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBUaGUgZm9sbG93aW5nIG1ldGhvZHMgcmVxdWlyZSBQcm9taXNlIHN1cHBvcnQhXG4gICAgICAvLyBJRSAxMSBhbmQgb3RoZXJzIGRvIG5vdCBzdXBwb3J0IFByb21pc2UgbmF0aXZlbHksIHNvIHVzZXJzXG4gICAgICAvLyBzaG91bGQgaGF2ZSBhIFBvbHlmaWxsIGxvYWRlZCAod2hpY2ggdGhleSBuZWVkIGFueXdheXMgZm9yIElFIDExIHN1cHBvcnQpXG4gICAgICAvLyBPcGVuIGEgbWVzc2FnZSBib3ggd2l0aCBPSyBidXR0b24gb25seSBhbmQgcmV0dXJucyBhIHByb21pc2VcblxuICAgIH0sIHtcbiAgICAgIGtleTogXCJtc2dCb3hPa1wiLFxuICAgICAgdmFsdWU6IGZ1bmN0aW9uIG1zZ0JveE9rKG1lc3NhZ2UpIHtcbiAgICAgICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuXG4gICAgICAgIC8vIFBpY2sgdGhlIG1vZGFsIHByb3BzIHdlIHN1cHBvcnQgZnJvbSBvcHRpb25zXG4gICAgICAgIHZhciBwcm9wcyA9IF9vYmplY3RTcHJlYWQoe30sIG9wdGlvbnMsIHtcbiAgICAgICAgICAvLyBBZGQgaW4gb3ZlcnJpZGVzIGFuZCBvdXIgY29udGVudCBwcm9wXG4gICAgICAgICAgb2tPbmx5OiB0cnVlLFxuICAgICAgICAgIG9rRGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgIGhpZGVGb290ZXI6IGZhbHNlLFxuICAgICAgICAgIG1zZ0JveENvbnRlbnQ6IG1lc3NhZ2VcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG1ha2VNc2dCb3godGhpcy5fdm0sIG1lc3NhZ2UsIHByb3BzLCBmdW5jdGlvbiAoYnZNb2RhbEV2dCkge1xuICAgICAgICAgIC8vIEFsd2F5cyByZXNvbHZlIHRvIHRydWUgZm9yIE9LXG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgfSAvLyBPcGVuIGEgbWVzc2FnZSBib3ggbW9kYWwgd2l0aCBPSyBhbmQgQ0FOQ0VMIGJ1dHRvbnNcbiAgICAgIC8vIGFuZCByZXR1cm5zIGEgcHJvbWlzZVxuXG4gICAgfSwge1xuICAgICAga2V5OiBcIm1zZ0JveENvbmZpcm1cIixcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiBtc2dCb3hDb25maXJtKG1lc3NhZ2UpIHtcbiAgICAgICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuXG4gICAgICAgIC8vIFNldCB0aGUgbW9kYWwgcHJvcHMgd2Ugc3VwcG9ydCBmcm9tIG9wdGlvbnNcbiAgICAgICAgdmFyIHByb3BzID0gX29iamVjdFNwcmVhZCh7fSwgb3B0aW9ucywge1xuICAgICAgICAgIC8vIEFkZCBpbiBvdmVycmlkZXMgYW5kIG91ciBjb250ZW50IHByb3BcbiAgICAgICAgICBva09ubHk6IGZhbHNlLFxuICAgICAgICAgIG9rRGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgIGNhbmNlbERpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgICBoaWRlRm9vdGVyOiBmYWxzZVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbWFrZU1zZ0JveCh0aGlzLl92bSwgbWVzc2FnZSwgcHJvcHMsIGZ1bmN0aW9uIChidk1vZGFsRXZ0KSB7XG4gICAgICAgICAgdmFyIHRyaWdnZXIgPSBidk1vZGFsRXZ0LnRyaWdnZXI7XG4gICAgICAgICAgcmV0dXJuIHRyaWdnZXIgPT09ICdvaycgPyB0cnVlIDogdHJpZ2dlciA9PT0gJ2NhbmNlbCcgPyBmYWxzZSA6IG51bGw7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBCdk1vZGFsO1xuICB9KCk7IC8vIEFkZCBvdXIgaW5zdGFuY2UgbWl4aW5cblxuXG4gIFZ1ZS5taXhpbih7XG4gICAgYmVmb3JlQ3JlYXRlOiBmdW5jdGlvbiBiZWZvcmVDcmVhdGUoKSB7XG4gICAgICAvLyBCZWNhdXNlIHdlIG5lZWQgYWNjZXNzIHRvIGAkcm9vdGAgZm9yIGAkZW1pdHNgLCBhbmQgVk0gZm9yIHBhcmVudGluZyxcbiAgICAgIC8vIHdlIGhhdmUgdG8gY3JlYXRlIGEgZnJlc2ggaW5zdGFuY2Ugb2YgYEJ2TW9kYWxgIGZvciBlYWNoIFZNXG4gICAgICB0aGlzW1BST1BfTkFNRV9QUklWXSA9IG5ldyBCdk1vZGFsKHRoaXMpO1xuICAgIH1cbiAgfSk7IC8vIERlZmluZSBvdXIgcmVhZC1vbmx5IGAkYnZNb2RhbGAgaW5zdGFuY2UgcHJvcGVydHlcbiAgLy8gUGxhY2VkIGluIGFuIGlmIGp1c3QgaW4gY2FzZSBpbiBITVIgbW9kZVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG5cbiAgaWYgKCFWdWUucHJvdG90eXBlLmhhc093blByb3BlcnR5KFBST1BfTkFNRSkpIHtcbiAgICBkZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCBQUk9QX05BTUUsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBpZiAoIXRoaXMgfHwgIXRoaXNbUFJPUF9OQU1FX1BSSVZdKSB7XG4gICAgICAgICAgd2FybihcIidcIi5jb25jYXQoUFJPUF9OQU1FLCBcIicgbXVzdCBiZSBhY2Nlc3NlZCBmcm9tIGEgVnVlIGluc3RhbmNlICd0aGlzJyBjb250ZXh0XCIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzW1BST1BfTkFNRV9QUklWXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IHZhciBCVk1vZGFsUGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3Rvcnkoe1xuICBwbHVnaW5zOiB7XG4gICAgcGx1Z2luOiBwbHVnaW5cbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tb2RhbC9oZWxwZXJzL2J2LW1vZGFsLmpzXG4vLyBtb2R1bGUgaWQgPSAxNzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///171\n"); + +/***/ }), +/* 172 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BNavItem; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__link_link__ = __webpack_require__(14);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\nvar props = Object(__WEBPACK_IMPORTED_MODULE_2__link_link__[\"b\" /* propsFactory */])(); // @vue/component\n\nvar BNavItem =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BNavItem',\n functional: true,\n props: _objectSpread({}, props, {\n linkAttrs: {\n type: Object,\n default: function _default() {}\n },\n linkClasses: {\n type: [String, Object, Array],\n default: null\n }\n }),\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n children = _ref.children;\n // We transfer the listeners to the link\n delete data.on;\n return h('li', Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'nav-item'\n }), [h(__WEBPACK_IMPORTED_MODULE_2__link_link__[\"a\" /* BLink */], {\n staticClass: 'nav-link',\n class: props.linkClasses,\n attrs: props.linkAttrs,\n props: props,\n on: listeners\n }, children)]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXYvbmF2LWl0ZW0uanM/Y2EzMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNvQjtBQUNpQjtBQUNoRSxZQUFZLHdFQUFnQixHQUFHOztBQUUvQjtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixvRkFBUztBQUM1QjtBQUNBLEtBQUssTUFBTSx5REFBSztBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IEJMaW5rLCBwcm9wc0ZhY3RvcnkgYXMgbGlua1Byb3BzRmFjdG9yeSB9IGZyb20gJy4uL2xpbmsvbGluayc7XG5leHBvcnQgdmFyIHByb3BzID0gbGlua1Byb3BzRmFjdG9yeSgpOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJOYXZJdGVtID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQk5hdkl0ZW0nLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogX29iamVjdFNwcmVhZCh7fSwgcHJvcHMsIHtcbiAgICBsaW5rQXR0cnM6IHtcbiAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge31cbiAgICB9LFxuICAgIGxpbmtDbGFzc2VzOiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBPYmplY3QsIEFycmF5XSxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0pLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgbGlzdGVuZXJzID0gX3JlZi5saXN0ZW5lcnMsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICAvLyBXZSB0cmFuc2ZlciB0aGUgbGlzdGVuZXJzIHRvIHRoZSBsaW5rXG4gICAgZGVsZXRlIGRhdGEub247XG4gICAgcmV0dXJuIGgoJ2xpJywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnbmF2LWl0ZW0nXG4gICAgfSksIFtoKEJMaW5rLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ25hdi1saW5rJyxcbiAgICAgIGNsYXNzOiBwcm9wcy5saW5rQ2xhc3NlcyxcbiAgICAgIGF0dHJzOiBwcm9wcy5saW5rQXR0cnMsXG4gICAgICBwcm9wczogcHJvcHMsXG4gICAgICBvbjogbGlzdGVuZXJzXG4gICAgfSwgY2hpbGRyZW4pXSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvbmF2L25hdi1pdGVtLmpzXG4vLyBtb2R1bGUgaWQgPSAxNzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///172\n"); + +/***/ }), +/* 173 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BNavText; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n\n\nvar props = {\n tag: {\n type: String,\n default: 'span'\n }\n}; // @vue/component\n\nvar BNavText =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BNavText',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'navbar-text'\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXYvbmF2LXRleHQuanM/MWEwYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNvQjtBQUMvQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFSztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixvRkFBUztBQUNqQztBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTczLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAndnVlLWZ1bmN0aW9uYWwtZGF0YS1tZXJnZSc7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ3NwYW4nXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQk5hdlRleHQgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCTmF2VGV4dCcsXG4gIGZ1bmN0aW9uYWw6IHRydWUsXG4gIHByb3BzOiBwcm9wcyxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBwcm9wcyA9IF9yZWYucHJvcHMsXG4gICAgICAgIGRhdGEgPSBfcmVmLmRhdGEsXG4gICAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgICByZXR1cm4gaChwcm9wcy50YWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ25hdmJhci10ZXh0J1xuICAgIH0pLCBjaGlsZHJlbik7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvbmF2L25hdi10ZXh0LmpzXG4vLyBtb2R1bGUgaWQgPSAxNzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///173\n"); + +/***/ }), +/* 174 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BNavForm; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__form_form__ = __webpack_require__(42);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\nvar props = Object(__WEBPACK_IMPORTED_MODULE_2__utils_object__[\"k\" /* omit */])(__WEBPACK_IMPORTED_MODULE_3__form_form__[\"b\" /* props */], ['inline']); // @vue/component\n\nvar BNavForm =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BNavForm',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(__WEBPACK_IMPORTED_MODULE_3__form_form__[\"a\" /* BForm */], Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n props: _objectSpread({}, props, {\n inline: true\n })\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXYvbmF2LWZvcm0uanM/ZWM1MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ1o7QUFDZ0I7QUFDbkQsWUFBWSxtRUFBSSxDQUFDLHlEQUFVLGNBQWM7O0FBRXpDO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSx5REFBSyxFQUFFLG9GQUFTO0FBQzdCLDZCQUE2QjtBQUM3QjtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjE3NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuaW1wb3J0IHsgb21pdCB9IGZyb20gJy4uLy4uL3V0aWxzL29iamVjdCc7XG5pbXBvcnQgeyBCRm9ybSwgcHJvcHMgYXMgQkZvcm1Qcm9wcyB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XG5leHBvcnQgdmFyIHByb3BzID0gb21pdChCRm9ybVByb3BzLCBbJ2lubGluZSddKTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCTmF2Rm9ybSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JOYXZGb3JtJyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHJldHVybiBoKEJGb3JtLCBtZXJnZURhdGEoZGF0YSwge1xuICAgICAgcHJvcHM6IF9vYmplY3RTcHJlYWQoe30sIHByb3BzLCB7XG4gICAgICAgIGlubGluZTogdHJ1ZVxuICAgICAgfSlcbiAgICB9KSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL25hdi9uYXYtZm9ybS5qc1xuLy8gbW9kdWxlIGlkID0gMTc0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///174\n"); + +/***/ }), +/* 175 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BNavItemDropdown; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dropdown_dropdown__ = __webpack_require__(65);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_dropdown__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_pluck_props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__link_link__ = __webpack_require__(14);\n\n\n\n\n\n\n\n // -- Constants --\n\nvar props = Object(__WEBPACK_IMPORTED_MODULE_5__utils_pluck_props__[\"a\" /* default */])(['menuClass', 'toggleClass', 'noCaret', 'role'], __WEBPACK_IMPORTED_MODULE_1__dropdown_dropdown__[\"b\" /* props */]); // @vue/component\n\nvar BNavItemDropdown =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BNavItemDropdown',\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__mixins_dropdown__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_4__mixins_normalize_slot__[\"a\" /* default */]],\n props: props,\n computed: {\n isNav: function isNav() {\n // Signal to dropdown mixin that we are in a navbar\n return true;\n },\n dropdownClasses: function dropdownClasses() {\n return [this.directionClass, {\n show: this.visible\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n return [this.toggleClass, {\n 'dropdown-toggle-no-caret': this.noCaret\n }];\n }\n },\n render: function render(h) {\n var button = h(__WEBPACK_IMPORTED_MODULE_7__link_link__[\"a\" /* BLink */], {\n ref: 'toggle',\n staticClass: 'nav-link dropdown-toggle',\n class: this.toggleClasses,\n props: {\n href: '#',\n disabled: this.disabled\n },\n attrs: {\n id: this.safeId('_BV_button_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n click: this.toggle,\n keydown: this.toggle // space, enter, down\n\n }\n }, [this.$slots['button-content'] || this.$slots.text || h('span', {\n domProps: Object(__WEBPACK_IMPORTED_MODULE_6__utils_html__[\"a\" /* htmlOrText */])(this.html, this.text)\n })]);\n var menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n ref: 'menu',\n attrs: {\n tabindex: '-1',\n 'aria-labelledby': this.safeId('_BV_button_')\n },\n on: {\n keydown: this.onKeydown // up, down, esc\n\n }\n }, !this.lazy || this.visible ? this.normalizeSlot('default', {\n hide: this.hide\n }) : [h()]);\n return h('li', {\n staticClass: 'nav-item b-nav-dropdown dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [button, menu]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXYvbmF2LWl0ZW0tZHJvcGRvd24uanM/ODlmNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUM2QjtBQUN6QjtBQUNZO0FBQ1c7QUFDWjtBQUNIO0FBQ1Q7O0FBRTlCLFlBQVksMkVBQVUsa0RBQWtELGlFQUFjLEVBQUU7O0FBRXhGO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVywyREFBTyxFQUFFLGlFQUFhLEVBQUUsdUVBQWtCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0EsbUJBQW1CLHlEQUFLO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0wsZ0JBQWdCLHVFQUFVO0FBQzFCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTc1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgcHJvcHMgYXMgQkRyb3Bkb3duUHJvcHMgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bic7XG5pbXBvcnQgaWRNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvaWQnO1xuaW1wb3J0IGRyb3Bkb3duTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2Ryb3Bkb3duJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCBwbHVja1Byb3BzIGZyb20gJy4uLy4uL3V0aWxzL3BsdWNrLXByb3BzJztcbmltcG9ydCB7IGh0bWxPclRleHQgfSBmcm9tICcuLi8uLi91dGlscy9odG1sJztcbmltcG9ydCB7IEJMaW5rIH0gZnJvbSAnLi4vbGluay9saW5rJzsgLy8gLS0gQ29uc3RhbnRzIC0tXG5cbmV4cG9ydCB2YXIgcHJvcHMgPSBwbHVja1Byb3BzKFsnbWVudUNsYXNzJywgJ3RvZ2dsZUNsYXNzJywgJ25vQ2FyZXQnLCAncm9sZSddLCBCRHJvcGRvd25Qcm9wcyk7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQk5hdkl0ZW1Ecm9wZG93biA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JOYXZJdGVtRHJvcGRvd24nLFxuICBtaXhpbnM6IFtpZE1peGluLCBkcm9wZG93bk1peGluLCBub3JtYWxpemVTbG90TWl4aW5dLFxuICBwcm9wczogcHJvcHMsXG4gIGNvbXB1dGVkOiB7XG4gICAgaXNOYXY6IGZ1bmN0aW9uIGlzTmF2KCkge1xuICAgICAgLy8gU2lnbmFsIHRvIGRyb3Bkb3duIG1peGluIHRoYXQgd2UgYXJlIGluIGEgbmF2YmFyXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIGRyb3Bkb3duQ2xhc3NlczogZnVuY3Rpb24gZHJvcGRvd25DbGFzc2VzKCkge1xuICAgICAgcmV0dXJuIFt0aGlzLmRpcmVjdGlvbkNsYXNzLCB7XG4gICAgICAgIHNob3c6IHRoaXMudmlzaWJsZVxuICAgICAgfV07XG4gICAgfSxcbiAgICBtZW51Q2xhc3NlczogZnVuY3Rpb24gbWVudUNsYXNzZXMoKSB7XG4gICAgICByZXR1cm4gW3RoaXMubWVudUNsYXNzLCB7XG4gICAgICAgICdkcm9wZG93bi1tZW51LXJpZ2h0JzogdGhpcy5yaWdodCxcbiAgICAgICAgc2hvdzogdGhpcy52aXNpYmxlXG4gICAgICB9XTtcbiAgICB9LFxuICAgIHRvZ2dsZUNsYXNzZXM6IGZ1bmN0aW9uIHRvZ2dsZUNsYXNzZXMoKSB7XG4gICAgICByZXR1cm4gW3RoaXMudG9nZ2xlQ2xhc3MsIHtcbiAgICAgICAgJ2Ryb3Bkb3duLXRvZ2dsZS1uby1jYXJldCc6IHRoaXMubm9DYXJldFxuICAgICAgfV07XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgdmFyIGJ1dHRvbiA9IGgoQkxpbmssIHtcbiAgICAgIHJlZjogJ3RvZ2dsZScsXG4gICAgICBzdGF0aWNDbGFzczogJ25hdi1saW5rIGRyb3Bkb3duLXRvZ2dsZScsXG4gICAgICBjbGFzczogdGhpcy50b2dnbGVDbGFzc2VzLFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgaHJlZjogJyMnLFxuICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZFxuICAgICAgfSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiB0aGlzLnNhZmVJZCgnX0JWX2J1dHRvbl8nKSxcbiAgICAgICAgJ2FyaWEtaGFzcG9wdXAnOiAndHJ1ZScsXG4gICAgICAgICdhcmlhLWV4cGFuZGVkJzogdGhpcy52aXNpYmxlID8gJ3RydWUnIDogJ2ZhbHNlJ1xuICAgICAgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIGNsaWNrOiB0aGlzLnRvZ2dsZSxcbiAgICAgICAga2V5ZG93bjogdGhpcy50b2dnbGUgLy8gc3BhY2UsIGVudGVyLCBkb3duXG5cbiAgICAgIH1cbiAgICB9LCBbdGhpcy4kc2xvdHNbJ2J1dHRvbi1jb250ZW50J10gfHwgdGhpcy4kc2xvdHMudGV4dCB8fCBoKCdzcGFuJywge1xuICAgICAgZG9tUHJvcHM6IGh0bWxPclRleHQodGhpcy5odG1sLCB0aGlzLnRleHQpXG4gICAgfSldKTtcbiAgICB2YXIgbWVudSA9IGgoJ3VsJywge1xuICAgICAgc3RhdGljQ2xhc3M6ICdkcm9wZG93bi1tZW51JyxcbiAgICAgIGNsYXNzOiB0aGlzLm1lbnVDbGFzc2VzLFxuICAgICAgcmVmOiAnbWVudScsXG4gICAgICBhdHRyczoge1xuICAgICAgICB0YWJpbmRleDogJy0xJyxcbiAgICAgICAgJ2FyaWEtbGFiZWxsZWRieSc6IHRoaXMuc2FmZUlkKCdfQlZfYnV0dG9uXycpXG4gICAgICB9LFxuICAgICAgb246IHtcbiAgICAgICAga2V5ZG93bjogdGhpcy5vbktleWRvd24gLy8gdXAsIGRvd24sIGVzY1xuXG4gICAgICB9XG4gICAgfSwgIXRoaXMubGF6eSB8fCB0aGlzLnZpc2libGUgPyB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnLCB7XG4gICAgICBoaWRlOiB0aGlzLmhpZGVcbiAgICB9KSA6IFtoKCldKTtcbiAgICByZXR1cm4gaCgnbGknLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ25hdi1pdGVtIGItbmF2LWRyb3Bkb3duIGRyb3Bkb3duJyxcbiAgICAgIGNsYXNzOiB0aGlzLmRyb3Bkb3duQ2xhc3NlcyxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIGlkOiB0aGlzLnNhZmVJZCgpXG4gICAgICB9XG4gICAgfSwgW2J1dHRvbiwgbWVudV0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL25hdi9uYXYtaXRlbS1kcm9wZG93bi5qc1xuLy8gbW9kdWxlIGlkID0gMTc1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///175\n"); + +/***/ }), +/* 176 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return NavbarPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__navbar__ = __webpack_require__(177);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__navbar_nav__ = __webpack_require__(178);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__navbar_brand__ = __webpack_require__(179);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__navbar_toggle__ = __webpack_require__(180);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nav__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__collapse__ = __webpack_require__(63);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__dropdown__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BNavbar */\n/* unused harmony reexport BNavbarNav */\n/* unused harmony reexport BNavbarBrand */\n/* unused harmony reexport BNavbarToggle */\n\n\n\n\n\n\n\n\nvar NavbarPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_7__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BNavbar: __WEBPACK_IMPORTED_MODULE_0__navbar__[\"a\" /* BNavbar */],\n BNavbarNav: __WEBPACK_IMPORTED_MODULE_1__navbar_nav__[\"a\" /* BNavbarNav */],\n BNavbarBrand: __WEBPACK_IMPORTED_MODULE_2__navbar_brand__[\"a\" /* BNavbarBrand */],\n BNavbarToggle: __WEBPACK_IMPORTED_MODULE_3__navbar_toggle__[\"a\" /* BNavbarToggle */],\n BNavToggle: __WEBPACK_IMPORTED_MODULE_3__navbar_toggle__[\"a\" /* BNavbarToggle */]\n },\n plugins: {\n NavPlugin: __WEBPACK_IMPORTED_MODULE_4__nav__[\"a\" /* NavPlugin */],\n CollapsePlugin: __WEBPACK_IMPORTED_MODULE_5__collapse__[\"a\" /* CollapsePlugin */],\n DropdownPlugin: __WEBPACK_IMPORTED_MODULE_6__dropdown__[\"a\" /* DropdownPlugin */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXZiYXIvaW5kZXguanM/YTQyYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFtQztBQUNPO0FBQ0k7QUFDRTtBQUNiO0FBQ1U7QUFDQTtBQUNPO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsYUFBYSx3REFBTztBQUNwQixnQkFBZ0IsK0RBQVU7QUFDMUIsa0JBQWtCLG1FQUFZO0FBQzlCLG1CQUFtQixxRUFBYTtBQUNoQyxnQkFBZ0IscUVBQWE7QUFDN0IsR0FBRztBQUNIO0FBQ0EsZUFBZSx1REFBUztBQUN4QixvQkFBb0IsaUVBQWM7QUFDbEMsb0JBQW9CLGlFQUFjO0FBQ2xDO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCTmF2YmFyIH0gZnJvbSAnLi9uYXZiYXInO1xuaW1wb3J0IHsgQk5hdmJhck5hdiB9IGZyb20gJy4vbmF2YmFyLW5hdic7XG5pbXBvcnQgeyBCTmF2YmFyQnJhbmQgfSBmcm9tICcuL25hdmJhci1icmFuZCc7XG5pbXBvcnQgeyBCTmF2YmFyVG9nZ2xlIH0gZnJvbSAnLi9uYXZiYXItdG9nZ2xlJztcbmltcG9ydCB7IE5hdlBsdWdpbiB9IGZyb20gJy4uL25hdic7XG5pbXBvcnQgeyBDb2xsYXBzZVBsdWdpbiB9IGZyb20gJy4uL2NvbGxhcHNlJztcbmltcG9ydCB7IERyb3Bkb3duUGx1Z2luIH0gZnJvbSAnLi4vZHJvcGRvd24nO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIE5hdmJhclBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJOYXZiYXI6IEJOYXZiYXIsXG4gICAgQk5hdmJhck5hdjogQk5hdmJhck5hdixcbiAgICBCTmF2YmFyQnJhbmQ6IEJOYXZiYXJCcmFuZCxcbiAgICBCTmF2YmFyVG9nZ2xlOiBCTmF2YmFyVG9nZ2xlLFxuICAgIEJOYXZUb2dnbGU6IEJOYXZiYXJUb2dnbGVcbiAgfSxcbiAgcGx1Z2luczoge1xuICAgIE5hdlBsdWdpbjogTmF2UGx1Z2luLFxuICAgIENvbGxhcHNlUGx1Z2luOiBDb2xsYXBzZVBsdWdpbixcbiAgICBEcm9wZG93blBsdWdpbjogRHJvcGRvd25QbHVnaW5cbiAgfVxufSk7XG5leHBvcnQgeyBOYXZiYXJQbHVnaW4sIEJOYXZiYXIsIEJOYXZiYXJOYXYsIEJOYXZiYXJCcmFuZCwgQk5hdmJhclRvZ2dsZSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvbmF2YmFyL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxNzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///176\n"); + +/***/ }), +/* 177 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BNavbar; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\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\n\n\n\n\nvar NAME = 'BNavbar';\nvar props = {\n tag: {\n type: String,\n default: 'nav'\n },\n type: {\n type: String,\n default: 'light'\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n toggleable: {\n type: [Boolean, String],\n default: false\n },\n fixed: {\n type: String\n },\n sticky: {\n type: Boolean,\n default: false\n },\n print: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nvar BNavbar =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var breakpoint = '';\n var xs = Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"a\" /* getBreakpoints */])()[0];\n\n if (props.toggleable && Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"m\" /* isString */])(props.toggleable) && props.toggleable !== xs) {\n breakpoint = \"navbar-expand-\".concat(props.toggleable);\n } else if (props.toggleable === false) {\n breakpoint = 'navbar-expand';\n }\n\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'navbar',\n class: (_class = {\n 'd-print': props.print,\n 'sticky-top': props.sticky\n }, _defineProperty(_class, \"navbar-\".concat(props.type), Boolean(props.type)), _defineProperty(_class, \"bg-\".concat(props.variant), Boolean(props.variant)), _defineProperty(_class, \"fixed-\".concat(props.fixed), Boolean(props.fixed)), _defineProperty(_class, \"\".concat(breakpoint), Boolean(breakpoint)), _class),\n attrs: {\n role: props.tag === 'nav' ? null : 'navigation'\n }\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLmpzPzUwYjMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ2tCO0FBQ3pCO0FBQy9DO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUZBQWtCO0FBQy9CO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUs7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsNkVBQWM7O0FBRTNCLDRCQUE0Qix3RUFBUTtBQUNwQztBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBLHdCQUF3QixvRkFBUztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjE3Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJ3Z1ZS1mdW5jdGlvbmFsLWRhdGEtbWVyZ2UnO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnLCBnZXRCcmVha3BvaW50cyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xudmFyIE5BTUUgPSAnQk5hdmJhcic7XG5leHBvcnQgdmFyIHByb3BzID0ge1xuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ25hdidcbiAgfSxcbiAgdHlwZToge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnbGlnaHQnXG4gIH0sXG4gIHZhcmlhbnQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd2YXJpYW50Jyk7XG4gICAgfVxuICB9LFxuICB0b2dnbGVhYmxlOiB7XG4gICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZ10sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgZml4ZWQ6IHtcbiAgICB0eXBlOiBTdHJpbmdcbiAgfSxcbiAgc3RpY2t5OiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBwcmludDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCTmF2YmFyID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgX2NsYXNzO1xuXG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHZhciBicmVha3BvaW50ID0gJyc7XG4gICAgdmFyIHhzID0gZ2V0QnJlYWtwb2ludHMoKVswXTtcblxuICAgIGlmIChwcm9wcy50b2dnbGVhYmxlICYmIGlzU3RyaW5nKHByb3BzLnRvZ2dsZWFibGUpICYmIHByb3BzLnRvZ2dsZWFibGUgIT09IHhzKSB7XG4gICAgICBicmVha3BvaW50ID0gXCJuYXZiYXItZXhwYW5kLVwiLmNvbmNhdChwcm9wcy50b2dnbGVhYmxlKTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLnRvZ2dsZWFibGUgPT09IGZhbHNlKSB7XG4gICAgICBicmVha3BvaW50ID0gJ25hdmJhci1leHBhbmQnO1xuICAgIH1cblxuICAgIHJldHVybiBoKHByb3BzLnRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnbmF2YmFyJyxcbiAgICAgIGNsYXNzOiAoX2NsYXNzID0ge1xuICAgICAgICAnZC1wcmludCc6IHByb3BzLnByaW50LFxuICAgICAgICAnc3RpY2t5LXRvcCc6IHByb3BzLnN0aWNreVxuICAgICAgfSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJuYXZiYXItXCIuY29uY2F0KHByb3BzLnR5cGUpLCBCb29sZWFuKHByb3BzLnR5cGUpKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJiZy1cIi5jb25jYXQocHJvcHMudmFyaWFudCksIEJvb2xlYW4ocHJvcHMudmFyaWFudCkpLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzLCBcImZpeGVkLVwiLmNvbmNhdChwcm9wcy5maXhlZCksIEJvb2xlYW4ocHJvcHMuZml4ZWQpKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJcIi5jb25jYXQoYnJlYWtwb2ludCksIEJvb2xlYW4oYnJlYWtwb2ludCkpLCBfY2xhc3MpLFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgcm9sZTogcHJvcHMudGFnID09PSAnbmF2JyA/IG51bGwgOiAnbmF2aWdhdGlvbidcbiAgICAgIH1cbiAgICB9KSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL25hdmJhci9uYXZiYXIuanNcbi8vIG1vZHVsZSBpZCA9IDE3N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///177\n"); + +/***/ }), +/* 178 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BNavbarNav; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nav_nav__ = __webpack_require__(47);\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\n\n\n\n // -- Constants --\n\nvar props = Object(__WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__[\"a\" /* default */])(['tag', 'fill', 'justified', 'align', 'small'], __WEBPACK_IMPORTED_MODULE_3__nav_nav__[\"b\" /* props */]); // -- Utils --\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n // Normalize value\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // @vue/component\n\n\nvar BNavbarNav =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BNavbarNav',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'navbar-nav',\n class: (_class = {\n 'nav-fill': props.fill,\n 'nav-justified': props.justified\n }, _defineProperty(_class, computeJustifyContent(props.align), props.align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLW5hdi5qcz9jM2FlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNvQjtBQUNMO0FBQ0Q7O0FBRXpDLFlBQVksMkVBQVUsaURBQWlELHVEQUFTLEVBQUU7O0FBRXpGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0s7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isb0ZBQVM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNzguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCBwbHVja1Byb3BzIGZyb20gJy4uLy4uL3V0aWxzL3BsdWNrLXByb3BzJztcbmltcG9ydCB7IHByb3BzIGFzIEJOYXZQcm9wcyB9IGZyb20gJy4uL25hdi9uYXYnOyAvLyAtLSBDb25zdGFudHMgLS1cblxuZXhwb3J0IHZhciBwcm9wcyA9IHBsdWNrUHJvcHMoWyd0YWcnLCAnZmlsbCcsICdqdXN0aWZpZWQnLCAnYWxpZ24nLCAnc21hbGwnXSwgQk5hdlByb3BzKTsgLy8gLS0gVXRpbHMgLS1cblxudmFyIGNvbXB1dGVKdXN0aWZ5Q29udGVudCA9IGZ1bmN0aW9uIGNvbXB1dGVKdXN0aWZ5Q29udGVudCh2YWx1ZSkge1xuICAvLyBOb3JtYWxpemUgdmFsdWVcbiAgdmFsdWUgPSB2YWx1ZSA9PT0gJ2xlZnQnID8gJ3N0YXJ0JyA6IHZhbHVlID09PSAncmlnaHQnID8gJ2VuZCcgOiB2YWx1ZTtcbiAgcmV0dXJuIFwianVzdGlmeS1jb250ZW50LVwiLmNvbmNhdCh2YWx1ZSk7XG59OyAvLyBAdnVlL2NvbXBvbmVudFxuXG5cbmV4cG9ydCB2YXIgQk5hdmJhck5hdiA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JOYXZiYXJOYXYnLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczogcHJvcHMsXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIF9yZWYpIHtcbiAgICB2YXIgX2NsYXNzO1xuXG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHJldHVybiBoKHByb3BzLnRhZywgbWVyZ2VEYXRhKGRhdGEsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAnbmF2YmFyLW5hdicsXG4gICAgICBjbGFzczogKF9jbGFzcyA9IHtcbiAgICAgICAgJ25hdi1maWxsJzogcHJvcHMuZmlsbCxcbiAgICAgICAgJ25hdi1qdXN0aWZpZWQnOiBwcm9wcy5qdXN0aWZpZWRcbiAgICAgIH0sIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3MsIGNvbXB1dGVKdXN0aWZ5Q29udGVudChwcm9wcy5hbGlnbiksIHByb3BzLmFsaWduKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJzbWFsbFwiLCBwcm9wcy5zbWFsbCksIF9jbGFzcylcbiAgICB9KSwgY2hpbGRyZW4pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL25hdmJhci9uYXZiYXItbmF2LmpzXG4vLyBtb2R1bGUgaWQgPSAxNzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///178\n"); + +/***/ }), +/* 179 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BNavbarBrand; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link_link__ = __webpack_require__(14);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\nvar linkProps = Object(__WEBPACK_IMPORTED_MODULE_3__link_link__[\"b\" /* propsFactory */])();\nlinkProps.href.default = undefined;\nlinkProps.to.default = undefined;\nvar props = _objectSpread({}, linkProps, {\n tag: {\n type: String,\n default: 'div'\n }\n}); // @vue/component\n\nvar BNavbarBrand =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BNavbarBrand',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var isLink = Boolean(props.to || props.href);\n var tag = isLink ? __WEBPACK_IMPORTED_MODULE_3__link_link__[\"a\" /* BLink */] : props.tag;\n return h(tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n staticClass: 'navbar-brand',\n props: isLink ? Object(__WEBPACK_IMPORTED_MODULE_2__utils_pluck_props__[\"a\" /* default */])(linkProps, props) : {}\n }), children);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLWJyYW5kLmpzPzFkMzQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNvQjtBQUNMO0FBQ0U7QUFDbkQsZ0JBQWdCLHdFQUFZO0FBQzVCO0FBQ0E7QUFDTyw0QkFBNEI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUU7O0FBRUk7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qix5REFBSztBQUM1QixrQkFBa0Isb0ZBQVM7QUFDM0I7QUFDQSxzQkFBc0IsMkVBQVU7QUFDaEMsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxNzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCBwbHVja1Byb3BzIGZyb20gJy4uLy4uL3V0aWxzL3BsdWNrLXByb3BzJztcbmltcG9ydCB7IEJMaW5rLCBwcm9wc0ZhY3RvcnkgfSBmcm9tICcuLi9saW5rL2xpbmsnO1xudmFyIGxpbmtQcm9wcyA9IHByb3BzRmFjdG9yeSgpO1xubGlua1Byb3BzLmhyZWYuZGVmYXVsdCA9IHVuZGVmaW5lZDtcbmxpbmtQcm9wcy50by5kZWZhdWx0ID0gdW5kZWZpbmVkO1xuZXhwb3J0IHZhciBwcm9wcyA9IF9vYmplY3RTcHJlYWQoe30sIGxpbmtQcm9wcywge1xuICB0YWc6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ2RpdidcbiAgfVxufSk7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQk5hdmJhckJyYW5kID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnQk5hdmJhckJyYW5kJyxcbiAgZnVuY3Rpb25hbDogdHJ1ZSxcbiAgcHJvcHM6IHByb3BzLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBfcmVmKSB7XG4gICAgdmFyIHByb3BzID0gX3JlZi5wcm9wcyxcbiAgICAgICAgZGF0YSA9IF9yZWYuZGF0YSxcbiAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICAgIHZhciBpc0xpbmsgPSBCb29sZWFuKHByb3BzLnRvIHx8IHByb3BzLmhyZWYpO1xuICAgIHZhciB0YWcgPSBpc0xpbmsgPyBCTGluayA6IHByb3BzLnRhZztcbiAgICByZXR1cm4gaCh0YWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ25hdmJhci1icmFuZCcsXG4gICAgICBwcm9wczogaXNMaW5rID8gcGx1Y2tQcm9wcyhsaW5rUHJvcHMsIHByb3BzKSA6IHt9XG4gICAgfSksIGNoaWxkcmVuKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLWJyYW5kLmpzXG4vLyBtb2R1bGUgaWQgPSAxNzlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///179\n"); + +/***/ }), +/* 180 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BNavbarToggle; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_listen_on_root__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_config__ = __webpack_require__(4);\n\n\n\n\nvar NAME = 'BNavbarToggle'; // TODO: Switch to using VBToggle directive, will reduce code footprint\n// Events we emit on $root\n\nvar EVENT_TOGGLE = 'bv::toggle::collapse'; // Events we listen to on $root\n\nvar EVENT_STATE = 'bv::collapse::state'; // This private event is NOT to be documented as people should not be using it.\n\nvar EVENT_STATE_SYNC = 'bv::collapse::sync::state'; // @vue/component\n\nvar BNavbarToggle =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_listen_on_root__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */]],\n props: {\n label: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'label');\n }\n },\n target: {\n type: String,\n required: true\n }\n },\n data: function data() {\n return {\n toggleState: false\n };\n },\n created: function created() {\n this.listenOnRoot(EVENT_STATE, this.handleStateEvt);\n this.listenOnRoot(EVENT_STATE_SYNC, this.handleStateEvt);\n },\n methods: {\n onClick: function onClick(evt) {\n this.$emit('click', evt);\n\n if (!evt.defaultPrevented) {\n this.$root.$emit(EVENT_TOGGLE, this.target);\n }\n },\n handleStateEvt: function handleStateEvt(id, state) {\n if (id === this.target) {\n this.toggleState = state;\n }\n }\n },\n render: function render(h) {\n return h('button', {\n class: ['navbar-toggler'],\n attrs: {\n type: 'button',\n 'aria-label': this.label,\n 'aria-controls': this.target,\n 'aria-expanded': this.toggleState ? 'true' : 'false'\n },\n on: {\n click: this.onClick\n }\n }, [this.normalizeSlot('default') || h('span', {\n class: ['navbar-toggler-icon']\n })]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLXRvZ2dsZS5qcz9mMDliIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDMEI7QUFDQztBQUNMO0FBQ3hELDJCQUEyQjtBQUMzQjs7QUFFQSwwQ0FBMEM7O0FBRTFDLHdDQUF3Qzs7QUFFeEMsbURBQW1EOztBQUU1QztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsdUVBQWlCLEVBQUUsdUVBQWtCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMTgwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IGxpc3Rlbk9uUm9vdE1peGluIGZyb20gJy4uLy4uL21peGlucy9saXN0ZW4tb24tcm9vdCc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWcnO1xudmFyIE5BTUUgPSAnQk5hdmJhclRvZ2dsZSc7IC8vIFRPRE86IFN3aXRjaCB0byB1c2luZyBWQlRvZ2dsZSBkaXJlY3RpdmUsIHdpbGwgcmVkdWNlIGNvZGUgZm9vdHByaW50XG4vLyBFdmVudHMgd2UgZW1pdCBvbiAkcm9vdFxuXG52YXIgRVZFTlRfVE9HR0xFID0gJ2J2Ojp0b2dnbGU6OmNvbGxhcHNlJzsgLy8gRXZlbnRzIHdlIGxpc3RlbiB0byBvbiAkcm9vdFxuXG52YXIgRVZFTlRfU1RBVEUgPSAnYnY6OmNvbGxhcHNlOjpzdGF0ZSc7IC8vIFRoaXMgcHJpdmF0ZSBldmVudCBpcyBOT1QgdG8gYmUgZG9jdW1lbnRlZCBhcyBwZW9wbGUgc2hvdWxkIG5vdCBiZSB1c2luZyBpdC5cblxudmFyIEVWRU5UX1NUQVRFX1NZTkMgPSAnYnY6OmNvbGxhcHNlOjpzeW5jOjpzdGF0ZSc7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQk5hdmJhclRvZ2dsZSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgbWl4aW5zOiBbbGlzdGVuT25Sb290TWl4aW4sIG5vcm1hbGl6ZVNsb3RNaXhpbl0sXG4gIHByb3BzOiB7XG4gICAgbGFiZWw6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdsYWJlbCcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdGFyZ2V0OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICByZXF1aXJlZDogdHJ1ZVxuICAgIH1cbiAgfSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdG9nZ2xlU3RhdGU6IGZhbHNlXG4gICAgfTtcbiAgfSxcbiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHtcbiAgICB0aGlzLmxpc3Rlbk9uUm9vdChFVkVOVF9TVEFURSwgdGhpcy5oYW5kbGVTdGF0ZUV2dCk7XG4gICAgdGhpcy5saXN0ZW5PblJvb3QoRVZFTlRfU1RBVEVfU1lOQywgdGhpcy5oYW5kbGVTdGF0ZUV2dCk7XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKGV2dCkge1xuICAgICAgdGhpcy4kZW1pdCgnY2xpY2snLCBldnQpO1xuXG4gICAgICBpZiAoIWV2dC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgIHRoaXMuJHJvb3QuJGVtaXQoRVZFTlRfVE9HR0xFLCB0aGlzLnRhcmdldCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBoYW5kbGVTdGF0ZUV2dDogZnVuY3Rpb24gaGFuZGxlU3RhdGVFdnQoaWQsIHN0YXRlKSB7XG4gICAgICBpZiAoaWQgPT09IHRoaXMudGFyZ2V0KSB7XG4gICAgICAgIHRoaXMudG9nZ2xlU3RhdGUgPSBzdGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICByZXR1cm4gaCgnYnV0dG9uJywge1xuICAgICAgY2xhc3M6IFsnbmF2YmFyLXRvZ2dsZXInXSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAnYXJpYS1sYWJlbCc6IHRoaXMubGFiZWwsXG4gICAgICAgICdhcmlhLWNvbnRyb2xzJzogdGhpcy50YXJnZXQsXG4gICAgICAgICdhcmlhLWV4cGFuZGVkJzogdGhpcy50b2dnbGVTdGF0ZSA/ICd0cnVlJyA6ICdmYWxzZSdcbiAgICAgIH0sXG4gICAgICBvbjoge1xuICAgICAgICBjbGljazogdGhpcy5vbkNsaWNrXG4gICAgICB9XG4gICAgfSwgW3RoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcpIHx8IGgoJ3NwYW4nLCB7XG4gICAgICBjbGFzczogWyduYXZiYXItdG9nZ2xlci1pY29uJ11cbiAgICB9KV0pO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL25hdmJhci9uYXZiYXItdG9nZ2xlLmpzXG4vLyBtb2R1bGUgaWQgPSAxODBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///180\n"); + +/***/ }), +/* 181 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PaginationPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pagination__ = __webpack_require__(182);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BPagination */\n\n\nvar PaginationPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BPagination: __WEBPACK_IMPORTED_MODULE_0__pagination__[\"a\" /* BPagination */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wYWdpbmF0aW9uL2luZGV4LmpzP2M4ZGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMkM7QUFDUztBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGlCQUFpQixnRUFBVztBQUM1QjtBQUNBLENBQUMiLCJmaWxlIjoiMTgxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQlBhZ2luYXRpb24gfSBmcm9tICcuL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIFBhZ2luYXRpb25QbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCUGFnaW5hdGlvbjogQlBhZ2luYXRpb25cbiAgfVxufSk7XG5leHBvcnQgeyBQYWdpbmF0aW9uUGx1Z2luLCBCUGFnaW5hdGlvbiB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTgxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///181\n"); + +/***/ }), +/* 182 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BPagination; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_pagination__ = __webpack_require__(183);\n\n\n\n\n // --- Constants ---\n\nvar NAME = 'BPagination';\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0;\nvar props = {\n size: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'size');\n }\n },\n perPage: {\n type: [Number, String],\n default: DEFAULT_PER_PAGE\n },\n totalRows: {\n type: [Number, String],\n default: DEFAULT_TOTAL_ROWS\n },\n ariaControls: {\n type: String,\n default: null\n }\n}; // --- Helper functions ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(val) {\n var perPage = parseInt(val, 10) || DEFAULT_PER_PAGE;\n return perPage < 1 ? 1 : perPage;\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(val) {\n var totalRows = parseInt(val, 10) || DEFAULT_TOTAL_ROWS;\n return totalRows < 0 ? 0 : totalRows;\n}; // The render function is brought in via the `paginationMixin`\n// @vue/component\n\n\nvar BPagination =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_4__mixins_pagination__[\"a\" /* default */]],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = Math.ceil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n },\n pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n // Used for watching changes to `perPage` and `numberOfPages`\n return {\n perPage: sanitizePerPage(this.perPage),\n totalRows: sanitizeTotalRows(this.totalRows),\n numberOfPages: this.numberOfPages\n };\n }\n },\n watch: {\n pageSizeNumberOfPages: function pageSizeNumberOfPages(newVal, oldVal) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"o\" /* isUndefinedOrNull */])(oldVal)) {\n if (newVal.perPage !== oldVal.perPage && newVal.totalRows === oldVal.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1;\n } else if (newVal.numberOfPages !== oldVal.numberOfPages && this.currentPage > newVal.numberOfPages) {\n // If `numberOfPages` changes and is less than\n // the `currentPage` number, reset to page 1\n this.currentPage = 1;\n }\n }\n\n this.localNumberOfPages = newVal.numberOfPages;\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages; // Set the initial page value\n\n var currentPage = parseInt(this.value, 10) || 0;\n\n if (currentPage > 0) {\n this.currentPage = currentPage;\n } else {\n this.$nextTick(function () {\n // If this value parses to NaN or a value less than 1\n // Trigger an initial emit of 'null' if no page specified\n _this.currentPage = 0;\n });\n }\n },\n mounted: function mounted() {\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages;\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(num, evt) {\n var _this2 = this;\n\n // Handle edge cases where number of pages has changed (i.e. if perPage changes)\n // This should normally not happen, but just in case.\n if (num > this.numberOfPages) {\n /* istanbul ignore next */\n num = this.numberOfPages;\n } else if (num < 1) {\n /* istanbul ignore next */\n num = 1;\n } // Update the v-model\n\n\n this.currentPage = num; // Emit event triggered by user interaction\n\n this.$emit('change', this.currentPage);\n this.$nextTick(function () {\n // Keep the current button focused if possible\n var target = evt.target;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"p\" /* isVisible */])(target) && _this2.$el.contains(target) && target.focus) {\n target.focus();\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n linkProps: function linkProps(pageNum) {\n // Always '#' for pagination component\n return {\n href: '#'\n };\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uanM/NjY4OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDc0I7QUFDWjtBQUNZO0FBQ0Y7O0FBRXREO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRkFBa0I7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7OztBQUdPO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0EsV0FBVyxtRUFBZTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLFdBQVcsaUZBQWlCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBLGlEQUFpRDs7QUFFakQ7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTzs7O0FBR1AsNkJBQTZCOztBQUU3QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxZQUFZLHFFQUFTO0FBQ3JCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjE4Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBpc1Zpc2libGUgfSBmcm9tICcuLi8uLi91dGlscy9kb20nO1xuaW1wb3J0IHsgaXNVbmRlZmluZWRPck51bGwgfSBmcm9tICcuLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCBwYWdpbmF0aW9uTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL3BhZ2luYXRpb24nOyAvLyAtLS0gQ29uc3RhbnRzIC0tLVxuXG52YXIgTkFNRSA9ICdCUGFnaW5hdGlvbic7XG52YXIgREVGQVVMVF9QRVJfUEFHRSA9IDIwO1xudmFyIERFRkFVTFRfVE9UQUxfUk9XUyA9IDA7XG52YXIgcHJvcHMgPSB7XG4gIHNpemU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdzaXplJyk7XG4gICAgfVxuICB9LFxuICBwZXJQYWdlOiB7XG4gICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICBkZWZhdWx0OiBERUZBVUxUX1BFUl9QQUdFXG4gIH0sXG4gIHRvdGFsUm93czoge1xuICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgZGVmYXVsdDogREVGQVVMVF9UT1RBTF9ST1dTXG4gIH0sXG4gIGFyaWFDb250cm9sczoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH1cbn07IC8vIC0tLSBIZWxwZXIgZnVuY3Rpb25zIC0tLVxuLy8gU2FuaXRpemUgdGhlIHByb3ZpZGVkIHBlciBwYWdlIG51bWJlciAoY29udmVydGluZyB0byBhIG51bWJlcilcblxudmFyIHNhbml0aXplUGVyUGFnZSA9IGZ1bmN0aW9uIHNhbml0aXplUGVyUGFnZSh2YWwpIHtcbiAgdmFyIHBlclBhZ2UgPSBwYXJzZUludCh2YWwsIDEwKSB8fCBERUZBVUxUX1BFUl9QQUdFO1xuICByZXR1cm4gcGVyUGFnZSA8IDEgPyAxIDogcGVyUGFnZTtcbn07IC8vIFNhbml0aXplIHRoZSBwcm92aWRlZCB0b3RhbCByb3dzIG51bWJlciAoY29udmVydGluZyB0byBhIG51bWJlcilcblxuXG52YXIgc2FuaXRpemVUb3RhbFJvd3MgPSBmdW5jdGlvbiBzYW5pdGl6ZVRvdGFsUm93cyh2YWwpIHtcbiAgdmFyIHRvdGFsUm93cyA9IHBhcnNlSW50KHZhbCwgMTApIHx8IERFRkFVTFRfVE9UQUxfUk9XUztcbiAgcmV0dXJuIHRvdGFsUm93cyA8IDAgPyAwIDogdG90YWxSb3dzO1xufTsgLy8gVGhlIHJlbmRlciBmdW5jdGlvbiBpcyBicm91Z2h0IGluIHZpYSB0aGUgYHBhZ2luYXRpb25NaXhpbmBcbi8vIEB2dWUvY29tcG9uZW50XG5cblxuZXhwb3J0IHZhciBCUGFnaW5hdGlvbiA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgbWl4aW5zOiBbcGFnaW5hdGlvbk1peGluXSxcbiAgcHJvcHM6IHByb3BzLFxuICBjb21wdXRlZDoge1xuICAgIG51bWJlck9mUGFnZXM6IGZ1bmN0aW9uIG51bWJlck9mUGFnZXMoKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gTWF0aC5jZWlsKHNhbml0aXplVG90YWxSb3dzKHRoaXMudG90YWxSb3dzKSAvIHNhbml0aXplUGVyUGFnZSh0aGlzLnBlclBhZ2UpKTtcbiAgICAgIHJldHVybiByZXN1bHQgPCAxID8gMSA6IHJlc3VsdDtcbiAgICB9LFxuICAgIHBhZ2VTaXplTnVtYmVyT2ZQYWdlczogZnVuY3Rpb24gcGFnZVNpemVOdW1iZXJPZlBhZ2VzKCkge1xuICAgICAgLy8gVXNlZCBmb3Igd2F0Y2hpbmcgY2hhbmdlcyB0byBgcGVyUGFnZWAgYW5kIGBudW1iZXJPZlBhZ2VzYFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGVyUGFnZTogc2FuaXRpemVQZXJQYWdlKHRoaXMucGVyUGFnZSksXG4gICAgICAgIHRvdGFsUm93czogc2FuaXRpemVUb3RhbFJvd3ModGhpcy50b3RhbFJvd3MpLFxuICAgICAgICBudW1iZXJPZlBhZ2VzOiB0aGlzLm51bWJlck9mUGFnZXNcbiAgICAgIH07XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIHBhZ2VTaXplTnVtYmVyT2ZQYWdlczogZnVuY3Rpb24gcGFnZVNpemVOdW1iZXJPZlBhZ2VzKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKG9sZFZhbCkpIHtcbiAgICAgICAgaWYgKG5ld1ZhbC5wZXJQYWdlICE9PSBvbGRWYWwucGVyUGFnZSAmJiBuZXdWYWwudG90YWxSb3dzID09PSBvbGRWYWwudG90YWxSb3dzKSB7XG4gICAgICAgICAgLy8gSWYgdGhlIHBhZ2Ugc2l6ZSBjaGFuZ2VzLCByZXNldCB0byBwYWdlIDFcbiAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICAgICAgfSBlbHNlIGlmIChuZXdWYWwubnVtYmVyT2ZQYWdlcyAhPT0gb2xkVmFsLm51bWJlck9mUGFnZXMgJiYgdGhpcy5jdXJyZW50UGFnZSA+IG5ld1ZhbC5udW1iZXJPZlBhZ2VzKSB7XG4gICAgICAgICAgLy8gSWYgYG51bWJlck9mUGFnZXNgIGNoYW5nZXMgYW5kIGlzIGxlc3MgdGhhblxuICAgICAgICAgIC8vIHRoZSBgY3VycmVudFBhZ2VgIG51bWJlciwgcmVzZXQgdG8gcGFnZSAxXG4gICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2NhbE51bWJlck9mUGFnZXMgPSBuZXdWYWwubnVtYmVyT2ZQYWdlcztcbiAgICB9XG4gIH0sXG4gIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIC8vIFNldCB0aGUgaW5pdGlhbCBwYWdlIGNvdW50XG4gICAgdGhpcy5sb2NhbE51bWJlck9mUGFnZXMgPSB0aGlzLm51bWJlck9mUGFnZXM7IC8vIFNldCB0aGUgaW5pdGlhbCBwYWdlIHZhbHVlXG5cbiAgICB2YXIgY3VycmVudFBhZ2UgPSBwYXJzZUludCh0aGlzLnZhbHVlLCAxMCkgfHwgMDtcblxuICAgIGlmIChjdXJyZW50UGFnZSA+IDApIHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBjdXJyZW50UGFnZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyBJZiB0aGlzIHZhbHVlIHBhcnNlcyB0byBOYU4gb3IgYSB2YWx1ZSBsZXNzIHRoYW4gMVxuICAgICAgICAvLyBUcmlnZ2VyIGFuIGluaXRpYWwgZW1pdCBvZiAnbnVsbCcgaWYgbm8gcGFnZSBzcGVjaWZpZWRcbiAgICAgICAgX3RoaXMuY3VycmVudFBhZ2UgPSAwO1xuICAgICAgfSk7XG4gICAgfVxuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIC8vIFNldCB0aGUgaW5pdGlhbCBwYWdlIGNvdW50XG4gICAgdGhpcy5sb2NhbE51bWJlck9mUGFnZXMgPSB0aGlzLm51bWJlck9mUGFnZXM7XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICAvLyBUaGVzZSBtZXRob2RzIGFyZSB1c2VkIGJ5IHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKG51bSwgZXZ0KSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgLy8gSGFuZGxlIGVkZ2UgY2FzZXMgd2hlcmUgbnVtYmVyIG9mIHBhZ2VzIGhhcyBjaGFuZ2VkIChpLmUuIGlmIHBlclBhZ2UgY2hhbmdlcylcbiAgICAgIC8vIFRoaXMgc2hvdWxkIG5vcm1hbGx5IG5vdCBoYXBwZW4sIGJ1dCBqdXN0IGluIGNhc2UuXG4gICAgICBpZiAobnVtID4gdGhpcy5udW1iZXJPZlBhZ2VzKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIG51bSA9IHRoaXMubnVtYmVyT2ZQYWdlcztcbiAgICAgIH0gZWxzZSBpZiAobnVtIDwgMSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBudW0gPSAxO1xuICAgICAgfSAvLyBVcGRhdGUgdGhlIHYtbW9kZWxcblxuXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gbnVtOyAvLyBFbWl0IGV2ZW50IHRyaWdnZXJlZCBieSB1c2VyIGludGVyYWN0aW9uXG5cbiAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHRoaXMuY3VycmVudFBhZ2UpO1xuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyBLZWVwIHRoZSBjdXJyZW50IGJ1dHRvbiBmb2N1c2VkIGlmIHBvc3NpYmxlXG4gICAgICAgIHZhciB0YXJnZXQgPSBldnQudGFyZ2V0O1xuXG4gICAgICAgIGlmIChpc1Zpc2libGUodGFyZ2V0KSAmJiBfdGhpczIuJGVsLmNvbnRhaW5zKHRhcmdldCkgJiYgdGFyZ2V0LmZvY3VzKSB7XG4gICAgICAgICAgdGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgX3RoaXMyLmZvY3VzQ3VycmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICAgIG1ha2VQYWdlOiBmdW5jdGlvbiBtYWtlUGFnZShwYWdlTnVtKSB7XG4gICAgICByZXR1cm4gcGFnZU51bTtcbiAgICB9LFxuICAgIGxpbmtQcm9wczogZnVuY3Rpb24gbGlua1Byb3BzKHBhZ2VOdW0pIHtcbiAgICAgIC8vIEFsd2F5cyAnIycgZm9yIHBhZ2luYXRpb24gY29tcG9uZW50XG4gICAgICByZXR1cm4ge1xuICAgICAgICBocmVmOiAnIydcbiAgICAgIH07XG4gICAgfVxuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5qc1xuLy8gbW9kdWxlIGlkID0gMTgyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///182\n"); + +/***/ }), +/* 183 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export props */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_range__ = __webpack_require__(184);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_to_string__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_link_link__ = __webpack_require__(14);\n\n\n\n\n\n\n\n // Common props, computed, data, render function, and methods\n// for <b-pagination> and <b-pagination-nav>\n// Threshold of limit size when we start/stop showing ellipsis\n\nvar ELLIPSIS_THRESHOLD = 3; // Default # of buttons limit\n\nvar DEFAULT_LIMIT = 5; // Make an array of N to N+X\n\nvar makePageArray = function makePageArray(startNumber, numberOfPages) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_range__[\"a\" /* default */])(numberOfPages).map(function (val, i) {\n return {\n number: startNumber + i,\n classes: null\n };\n });\n}; // Sanitize the provided limit value (converting to a number)\n\n\nvar sanitizeLimit = function sanitizeLimit(val) {\n var limit = parseInt(val, 10) || 1;\n return limit < 1 ? DEFAULT_LIMIT : limit;\n}; // Sanitize the provided current page number (converting to a number)\n\n\nvar sanitizeCurrentPage = function sanitizeCurrentPage(val, numberOfPages) {\n var page = parseInt(val, 10) || 1;\n return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page;\n}; // Links don't normally respond to SPACE, so we add that\n// functionality via this handler\n\n\nvar onSpaceKey = function onSpaceKey(evt) {\n if (evt.keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].SPACE) {\n evt.preventDefault(); // Stop page from scrolling\n\n evt.stopImmediatePropagation();\n evt.stopPropagation(); // Trigger the click event on the link\n\n evt.currentTarget.click();\n return false;\n }\n};\n\nvar props = {\n disabled: {\n type: Boolean,\n default: false\n },\n value: {\n type: [Number, String],\n default: null,\n validator: function validator(value)\n /* istanbul ignore next */\n {\n var num = parseInt(value, 10);\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"g\" /* isNull */])(value) && (isNaN(num) || num < 1)) {\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_warn__[\"a\" /* default */])('pagination: v-model value must be a number greater than 0');\n return false;\n }\n\n return true;\n }\n },\n limit: {\n type: [Number, String],\n default: DEFAULT_LIMIT,\n validator: function validator(value)\n /* istanbul ignore next */\n {\n var num = parseInt(value, 10);\n\n if (isNaN(num) || num < 1) {\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_warn__[\"a\" /* default */])('pagination: prop \"limit\" must be a number greater than 0');\n return false;\n }\n\n return true;\n }\n },\n align: {\n type: String,\n default: 'left'\n },\n hideGotoEndButtons: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: 'Pagination'\n },\n labelFirstPage: {\n type: String,\n default: 'Go to first page'\n },\n firstText: {\n type: String,\n default: \"\\xAB\" // '«'\n\n },\n labelPrevPage: {\n type: String,\n default: 'Go to previous page'\n },\n prevText: {\n type: String,\n default: \"\\u2039\" // '‹'\n\n },\n labelNextPage: {\n type: String,\n default: 'Go to next page'\n },\n nextText: {\n type: String,\n default: \"\\u203A\" // '›'\n\n },\n labelLastPage: {\n type: String,\n default: 'Go to last page'\n },\n lastText: {\n type: String,\n default: \"\\xBB\" // '»'\n\n },\n labelPage: {\n type: [String, Function],\n default: 'Go to page'\n },\n hideEllipsis: {\n type: Boolean,\n default: false\n },\n ellipsisText: {\n type: String,\n default: \"\\u2026\" // '…'\n\n }\n}; // @vue/component\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_6__mixins_normalize_slot__[\"a\" /* default */]],\n model: {\n prop: 'value',\n event: 'input'\n },\n props: props,\n data: function data() {\n var curr = parseInt(this.value, 10);\n return {\n // -1 signifies no page initially selected\n currentPage: curr > 0 ? curr : -1,\n localNumberOfPages: 1,\n localLimit: DEFAULT_LIMIT\n };\n },\n computed: {\n btnSize: function btnSize() {\n return this.size ? \"pagination-\".concat(this.size) : '';\n },\n alignment: function alignment() {\n var align = this.align;\n\n if (align === 'center') {\n return 'justify-content-center';\n } else if (align === 'end' || align === 'right') {\n return 'justify-content-end';\n } else if (align === 'fill') {\n // The page-items will also have 'flex-fill' added.\n // We ad text centering to make the button appearance better in fill mode.\n return 'text-center';\n }\n\n return '';\n },\n computedCurrentPage: function computedCurrentPage() {\n return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages);\n },\n paginationParams: function paginationParams() {\n // Determine if we should show the the ellipsis\n var limit = this.limit;\n var numberOfPages = this.localNumberOfPages;\n var currentPage = this.computedCurrentPage;\n var hideEllipsis = this.hideEllipsis;\n var showFirstDots = false;\n var showLastDots = false;\n var numberOfLinks = limit;\n var startNumber = 1;\n\n if (numberOfPages <= limit) {\n // Special Case: Less pages available than the limit of displayed pages\n numberOfLinks = numberOfPages;\n } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n // We are near the beginning of the page list\n if (!hideEllipsis) {\n showLastDots = true;\n numberOfLinks = limit - 1;\n }\n } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n // We are near the end of the list\n if (!hideEllipsis) {\n numberOfLinks = limit - 1;\n showFirstDots = true;\n }\n\n startNumber = numberOfPages - numberOfLinks + 1;\n } else {\n // We are somewhere in the middle of the page list\n if (limit > ELLIPSIS_THRESHOLD && !hideEllipsis) {\n numberOfLinks = limit - 2;\n showFirstDots = showLastDots = true;\n }\n\n startNumber = currentPage - Math.floor(numberOfLinks / 2);\n } // Sanity checks\n\n\n if (startNumber < 1) {\n /* istanbul ignore next */\n startNumber = 1;\n } else if (startNumber > numberOfPages - numberOfLinks) {\n startNumber = numberOfPages - numberOfLinks + 1;\n }\n\n return {\n showFirstDots: showFirstDots,\n showLastDots: showLastDots,\n numberOfLinks: numberOfLinks,\n startNumber: startNumber\n };\n },\n pageList: function pageList() {\n // Generates the pageList array\n var _this$paginationParam = this.paginationParams,\n numberOfLinks = _this$paginationParam.numberOfLinks,\n startNumber = _this$paginationParam.startNumber;\n var currentPage = this.computedCurrentPage; // Generate list of page numbers\n\n var pages = makePageArray(startNumber, numberOfLinks); // We limit to a total of 3 page buttons on XS screens\n // So add classes to page links to hide them for XS breakpoint\n // Note: Ellipsis will also be hidden on XS screens\n // TODO: Make this visual limit configurable based on breakpoint(s)\n\n if (pages.length > 3) {\n var idx = currentPage - startNumber; // THe following is a bootstrap-vue custom utility class\n\n var classes = 'bv-d-xs-down-none';\n\n if (idx === 0) {\n // Keep leftmost 3 buttons visible when current page is first page\n for (var i = 3; i < pages.length; i++) {\n pages[i].classes = classes;\n }\n } else if (idx === pages.length - 1) {\n // Keep rightmost 3 buttons visible when current page is last page\n for (var _i = 0; _i < pages.length - 3; _i++) {\n pages[_i].classes = classes;\n }\n } else {\n // Hide all except current page, current page - 1 and current page + 1\n for (var _i2 = 0; _i2 < idx - 1; _i2++) {\n // hide some left button(s)\n pages[_i2].classes = classes;\n }\n\n for (var _i3 = pages.length - 1; _i3 > idx + 1; _i3--) {\n // hide some right button(s)\n pages[_i3].classes = classes;\n }\n }\n }\n\n return pages;\n }\n },\n watch: {\n value: function value(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages);\n }\n },\n currentPage: function currentPage(newValue, oldValue) {\n if (newValue !== oldValue) {\n // Emit null if no page selected\n this.$emit('input', newValue > 0 ? newValue : null);\n }\n },\n limit: function limit(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localLimit = sanitizeLimit(newValue);\n }\n }\n },\n created: function created() {\n var _this = this;\n\n // Set our default values in data\n this.localLimit = sanitizeLimit(this.limit);\n this.$nextTick(function () {\n // Sanity check\n _this.currentPage = _this.currentPage > _this.localNumberOfPages ? _this.localNumberOfPages : _this.currentPage;\n });\n },\n methods: {\n getButtons: function getButtons() {\n // Return only buttons that are visible\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"y\" /* selectAll */])('a.page-link', this.$el).filter(function (btn) {\n return Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"p\" /* isVisible */])(btn);\n });\n },\n setBtnFocus: function setBtnFocus(btn) {\n btn.focus();\n },\n focusCurrent: function focusCurrent() {\n var _this2 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this2.getButtons().find(function (el) {\n return parseInt(Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"g\" /* getAttr */])(el, 'aria-posinset'), 10) === _this2.computedCurrentPage;\n });\n\n if (btn && btn.focus) {\n _this2.setBtnFocus(btn);\n } else {\n // Fallback if current page is not in button list\n _this2.focusFirst();\n }\n });\n },\n focusFirst: function focusFirst() {\n var _this3 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this3.getButtons().find(function (el) {\n return !Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"n\" /* isDisabled */])(el);\n });\n\n if (btn && btn.focus && btn !== document.activeElement) {\n _this3.setBtnFocus(btn);\n }\n });\n },\n focusLast: function focusLast() {\n var _this4 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this4.getButtons().reverse().find(function (el) {\n return !Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"n\" /* isDisabled */])(el);\n });\n\n if (btn && btn.focus && btn !== document.activeElement) {\n _this4.setBtnFocus(btn);\n }\n });\n },\n focusPrev: function focusPrev() {\n var _this5 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this5.getButtons();\n\n var idx = buttons.indexOf(document.activeElement);\n\n if (idx > 0 && !Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"n\" /* isDisabled */])(buttons[idx - 1]) && buttons[idx - 1].focus) {\n _this5.setBtnFocus(buttons[idx - 1]);\n }\n });\n },\n focusNext: function focusNext() {\n var _this6 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this6.getButtons();\n\n var idx = buttons.indexOf(document.activeElement);\n var cnt = buttons.length - 1;\n\n if (idx < cnt && !Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"n\" /* isDisabled */])(buttons[idx + 1]) && buttons[idx + 1].focus) {\n _this6.setBtnFocus(buttons[idx + 1]);\n }\n });\n }\n },\n render: function render(h) {\n var _this7 = this;\n\n var buttons = [];\n var numberOfPages = this.localNumberOfPages;\n var disabled = this.disabled;\n var _this$paginationParam2 = this.paginationParams,\n showFirstDots = _this$paginationParam2.showFirstDots,\n showLastDots = _this$paginationParam2.showLastDots;\n var currentPage = this.computedCurrentPage;\n var fill = this.align === 'fill'; // Helper function and flag\n\n var isActivePage = function isActivePage(pageNum) {\n return pageNum === currentPage;\n };\n\n var noCurrPage = this.currentPage < 1; // Factory function for prev/next/first/last buttons\n\n var makeEndBtn = function makeEndBtn(linkTo, ariaLabel, btnSlot, btnText, pageTest, key) {\n var isDisabled = disabled || isActivePage(pageTest) || noCurrPage || linkTo < 1 || linkTo > numberOfPages;\n var pageNum = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo;\n var scope = {\n disabled: isDisabled,\n page: pageNum,\n index: pageNum - 1\n };\n var btnContent = _this7.normalizeSlot(btnSlot, scope) || Object(__WEBPACK_IMPORTED_MODULE_2__utils_to_string__[\"a\" /* default */])(btnText) || h();\n var inner = h(isDisabled ? 'span' : __WEBPACK_IMPORTED_MODULE_7__components_link_link__[\"a\" /* BLink */], {\n staticClass: 'page-link',\n props: isDisabled ? {} : _this7.linkProps(linkTo),\n attrs: {\n role: 'menuitem',\n tabindex: isDisabled ? null : '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-disabled': isDisabled ? 'true' : null\n },\n on: isDisabled ? {} : {\n click: function click(evt) {\n _this7.onClick(linkTo, evt);\n },\n keydown: onSpaceKey\n }\n }, [btnContent]);\n return h('li', {\n key: key,\n staticClass: 'page-item',\n class: {\n disabled: isDisabled,\n 'flex-fill': fill\n },\n attrs: {\n role: 'presentation',\n 'aria-hidden': isDisabled ? 'true' : null\n }\n }, [inner]);\n }; // Ellipsis factory\n\n\n var makeEllipsis = function makeEllipsis(isLast) {\n return h('li', {\n key: \"ellipsis-\".concat(isLast ? 'last' : 'first'),\n staticClass: 'page-item',\n class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : ''],\n attrs: {\n role: 'separator'\n }\n }, [h('span', {\n staticClass: 'page-link'\n }, [_this7.normalizeSlot('ellipsis-text') || Object(__WEBPACK_IMPORTED_MODULE_2__utils_to_string__[\"a\" /* default */])(_this7.ellipsisText) || h()])]);\n }; // Goto First Page button bookend\n\n\n buttons.push(this.hideGotoEndButtons ? h() : makeEndBtn(1, this.labelFirstPage, 'first-text', this.firstText, 1, 'bookend-goto-first')); // Goto Previous page button bookend\n\n buttons.push(makeEndBtn(currentPage - 1, this.labelPrevPage, 'prev-text', this.prevText, 1, 'bookend-goto-prev')); // First Ellipsis Bookend\n\n buttons.push(showFirstDots ? makeEllipsis(false) : h()); // Individual Page links\n\n this.pageList.forEach(function (page, idx) {\n var active = isActivePage(page.number) && !noCurrPage; // Active page will have tabindex of 0, or if no current page and first page button\n\n var tabIndex = disabled ? null : active || noCurrPage && idx === 0 ? '0' : '-1';\n var attrs = {\n role: 'menuitemradio',\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-label': Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"f\" /* isFunction */])(_this7.labelPage) ? _this7.labelPage(page.number) : \"\".concat(_this7.labelPage, \" \").concat(page.number),\n 'aria-checked': active ? 'true' : 'false',\n 'aria-posinset': page.number,\n 'aria-setsize': numberOfPages,\n // ARIA \"roving tabindex\" method\n tabindex: tabIndex\n };\n var btnContent = Object(__WEBPACK_IMPORTED_MODULE_2__utils_to_string__[\"a\" /* default */])(_this7.makePage(page.number));\n var scope = {\n page: page.number,\n index: page.number - 1,\n content: btnContent,\n active: active,\n disabled: disabled\n };\n var inner = h(disabled ? 'span' : __WEBPACK_IMPORTED_MODULE_7__components_link_link__[\"a\" /* BLink */], {\n props: disabled ? {} : _this7.linkProps(page.number),\n staticClass: 'page-link',\n attrs: attrs,\n on: disabled ? {} : {\n click: function click(evt) {\n _this7.onClick(page.number, evt);\n },\n keydown: onSpaceKey\n }\n }, [_this7.normalizeSlot('page', scope) || btnContent]);\n buttons.push(h('li', {\n key: \"page-\".concat(page.number),\n staticClass: 'page-item',\n class: [{\n disabled: disabled,\n active: active,\n 'flex-fill': fill\n }, page.classes],\n attrs: {\n role: 'presentation'\n }\n }, [inner]));\n }); // Last Ellipsis Bookend\n\n buttons.push(showLastDots ? makeEllipsis(true) : h()); // Goto Next page button bookend\n\n buttons.push(makeEndBtn(currentPage + 1, this.labelNextPage, 'next-text', this.nextText, numberOfPages, 'bookend-goto-next')); // Goto Last Page button bookend\n\n buttons.push(this.hideGotoEndButtons ? h() : makeEndBtn(numberOfPages, this.labelLastPage, 'last-text', this.lastText, numberOfPages, 'bookend-goto-last')); // Assemble the pagination buttons\n\n var pagination = h('ul', {\n ref: 'ul',\n staticClass: 'pagination',\n class: ['b-pagination', this.btnSize, this.alignment],\n attrs: {\n role: 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': this.ariaLabel || null\n },\n on: {\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n var shift = evt.shiftKey;\n\n if (keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].LEFT) {\n evt.preventDefault();\n shift ? _this7.focusFirst() : _this7.focusPrev();\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].RIGHT) {\n evt.preventDefault();\n shift ? _this7.focusLast() : _this7.focusNext();\n }\n }\n }\n }, buttons); // if we are pagination-nav, wrap in '<nav>' wrapper\n\n if (this.isNav) {\n return h('nav', {\n attrs: {\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-hidden': disabled ? 'true' : 'false'\n }\n }, [pagination]);\n } else {\n return pagination;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vbWl4aW5zL3BhZ2luYXRpb24uanM/ZTc3NCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMEM7QUFDUDtBQUNPO0FBQ1Q7QUFDcUI7QUFDbUI7QUFDZjtBQUNWO0FBQ2hEO0FBQ0E7O0FBRUEsMkJBQTJCOztBQUUzQixzQkFBc0I7O0FBRXRCO0FBQ0EsU0FBUyxxRUFBSztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQSxzQkFBc0IsaUVBQVE7QUFDOUIseUJBQXlCOztBQUV6QjtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVyxzRUFBTTtBQUNqQixRQUFRLG9FQUFJO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUSxvRUFBSTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRWE7QUFDZixXQUFXLHVFQUFrQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRDs7QUFFakQsNERBQTREO0FBQzVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRDQUE0Qzs7QUFFNUM7O0FBRUE7QUFDQTtBQUNBLHlCQUF5QixrQkFBa0I7QUFDM0M7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLDBCQUEwQix1QkFBdUI7QUFDakQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLDJCQUEyQixlQUFlO0FBQzFDO0FBQ0E7QUFDQTs7QUFFQSwwQ0FBMEMsZUFBZTtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLHFFQUFTO0FBQ3RCLGVBQWUscUVBQVM7QUFDeEIsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG1FQUFPO0FBQ2pDLFNBQVM7O0FBRVQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHNFQUFVO0FBQzVCLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixzRUFBVTtBQUM1QixTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsd0JBQXdCLHNFQUFVO0FBQ2xDO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMEJBQTBCLHNFQUFVO0FBQ3BDO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBOztBQUVBLDBDQUEwQzs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCx5RUFBUTtBQUN2RSwwQ0FBMEMsb0VBQUs7QUFDL0M7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPLDRDQUE0Qyx5RUFBUTtBQUMzRCxNQUFNOzs7QUFHTiw0SUFBNEk7O0FBRTVJLHNIQUFzSDs7QUFFdEgsNERBQTREOztBQUU1RDtBQUNBLDREQUE0RDs7QUFFNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwwRUFBVTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIseUVBQVE7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0Msb0VBQUs7QUFDN0MsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVAsMERBQTBEOztBQUUxRCxrSUFBa0k7O0FBRWxJLGdLQUFnSzs7QUFFaEs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsaUVBQVE7QUFDbEM7QUFDQTtBQUNBLFdBQVcsc0JBQXNCLGlFQUFRO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLFdBQVc7O0FBRWhCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIxODMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgS2V5Q29kZXMgZnJvbSAnLi4vdXRpbHMva2V5LWNvZGVzJztcbmltcG9ydCByYW5nZSBmcm9tICcuLi91dGlscy9yYW5nZSc7XG5pbXBvcnQgdG9TdHJpbmcgZnJvbSAnLi4vdXRpbHMvdG8tc3RyaW5nJztcbmltcG9ydCB3YXJuIGZyb20gJy4uL3V0aWxzL3dhcm4nO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNOdWxsIH0gZnJvbSAnLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgeyBpc1Zpc2libGUsIGlzRGlzYWJsZWQsIHNlbGVjdEFsbCwgZ2V0QXR0ciB9IGZyb20gJy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7XG5pbXBvcnQgeyBCTGluayB9IGZyb20gJy4uL2NvbXBvbmVudHMvbGluay9saW5rJzsgLy8gQ29tbW9uIHByb3BzLCBjb21wdXRlZCwgZGF0YSwgcmVuZGVyIGZ1bmN0aW9uLCBhbmQgbWV0aG9kc1xuLy8gZm9yIDxiLXBhZ2luYXRpb24+IGFuZCA8Yi1wYWdpbmF0aW9uLW5hdj5cbi8vIFRocmVzaG9sZCBvZiBsaW1pdCBzaXplIHdoZW4gd2Ugc3RhcnQvc3RvcCBzaG93aW5nIGVsbGlwc2lzXG5cbnZhciBFTExJUFNJU19USFJFU0hPTEQgPSAzOyAvLyBEZWZhdWx0ICMgb2YgYnV0dG9ucyBsaW1pdFxuXG52YXIgREVGQVVMVF9MSU1JVCA9IDU7IC8vIE1ha2UgYW4gYXJyYXkgb2YgTiB0byBOK1hcblxudmFyIG1ha2VQYWdlQXJyYXkgPSBmdW5jdGlvbiBtYWtlUGFnZUFycmF5KHN0YXJ0TnVtYmVyLCBudW1iZXJPZlBhZ2VzKSB7XG4gIHJldHVybiByYW5nZShudW1iZXJPZlBhZ2VzKS5tYXAoZnVuY3Rpb24gKHZhbCwgaSkge1xuICAgIHJldHVybiB7XG4gICAgICBudW1iZXI6IHN0YXJ0TnVtYmVyICsgaSxcbiAgICAgIGNsYXNzZXM6IG51bGxcbiAgICB9O1xuICB9KTtcbn07IC8vIFNhbml0aXplIHRoZSBwcm92aWRlZCBsaW1pdCB2YWx1ZSAoY29udmVydGluZyB0byBhIG51bWJlcilcblxuXG52YXIgc2FuaXRpemVMaW1pdCA9IGZ1bmN0aW9uIHNhbml0aXplTGltaXQodmFsKSB7XG4gIHZhciBsaW1pdCA9IHBhcnNlSW50KHZhbCwgMTApIHx8IDE7XG4gIHJldHVybiBsaW1pdCA8IDEgPyBERUZBVUxUX0xJTUlUIDogbGltaXQ7XG59OyAvLyBTYW5pdGl6ZSB0aGUgcHJvdmlkZWQgY3VycmVudCBwYWdlIG51bWJlciAoY29udmVydGluZyB0byBhIG51bWJlcilcblxuXG52YXIgc2FuaXRpemVDdXJyZW50UGFnZSA9IGZ1bmN0aW9uIHNhbml0aXplQ3VycmVudFBhZ2UodmFsLCBudW1iZXJPZlBhZ2VzKSB7XG4gIHZhciBwYWdlID0gcGFyc2VJbnQodmFsLCAxMCkgfHwgMTtcbiAgcmV0dXJuIHBhZ2UgPiBudW1iZXJPZlBhZ2VzID8gbnVtYmVyT2ZQYWdlcyA6IHBhZ2UgPCAxID8gMSA6IHBhZ2U7XG59OyAvLyBMaW5rcyBkb24ndCBub3JtYWxseSByZXNwb25kIHRvIFNQQUNFLCBzbyB3ZSBhZGQgdGhhdFxuLy8gZnVuY3Rpb25hbGl0eSB2aWEgdGhpcyBoYW5kbGVyXG5cblxudmFyIG9uU3BhY2VLZXkgPSBmdW5jdGlvbiBvblNwYWNlS2V5KGV2dCkge1xuICBpZiAoZXZ0LmtleUNvZGUgPT09IEtleUNvZGVzLlNQQUNFKSB7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7IC8vIFN0b3AgcGFnZSBmcm9tIHNjcm9sbGluZ1xuXG4gICAgZXZ0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gVHJpZ2dlciB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIGxpbmtcblxuICAgIGV2dC5jdXJyZW50VGFyZ2V0LmNsaWNrKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG5leHBvcnQgdmFyIHByb3BzID0ge1xuICBkaXNhYmxlZDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgdmFsdWU6IHtcbiAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB7XG4gICAgICB2YXIgbnVtID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcblxuICAgICAgaWYgKCFpc051bGwodmFsdWUpICYmIChpc05hTihudW0pIHx8IG51bSA8IDEpKSB7XG4gICAgICAgIHdhcm4oJ3BhZ2luYXRpb246IHYtbW9kZWwgdmFsdWUgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCcpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSxcbiAgbGltaXQ6IHtcbiAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxuICAgIGRlZmF1bHQ6IERFRkFVTFRfTElNSVQsXG4gICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IodmFsdWUpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB7XG4gICAgICB2YXIgbnVtID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcblxuICAgICAgaWYgKGlzTmFOKG51bSkgfHwgbnVtIDwgMSkge1xuICAgICAgICB3YXJuKCdwYWdpbmF0aW9uOiBwcm9wIFwibGltaXRcIiBtdXN0IGJlIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwJyk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9LFxuICBhbGlnbjoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnbGVmdCdcbiAgfSxcbiAgaGlkZUdvdG9FbmRCdXR0b25zOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBhcmlhTGFiZWw6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ1BhZ2luYXRpb24nXG4gIH0sXG4gIGxhYmVsRmlyc3RQYWdlOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdHbyB0byBmaXJzdCBwYWdlJ1xuICB9LFxuICBmaXJzdFRleHQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogXCJcXHhBQlwiIC8vICfCqydcblxuICB9LFxuICBsYWJlbFByZXZQYWdlOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdHbyB0byBwcmV2aW91cyBwYWdlJ1xuICB9LFxuICBwcmV2VGV4dDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBcIlxcdTIwMzlcIiAvLyAn4oC5J1xuXG4gIH0sXG4gIGxhYmVsTmV4dFBhZ2U6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogJ0dvIHRvIG5leHQgcGFnZSdcbiAgfSxcbiAgbmV4dFRleHQ6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogXCJcXHUyMDNBXCIgLy8gJ+KAuidcblxuICB9LFxuICBsYWJlbExhc3RQYWdlOiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6ICdHbyB0byBsYXN0IHBhZ2UnXG4gIH0sXG4gIGxhc3RUZXh0OiB7XG4gICAgdHlwZTogU3RyaW5nLFxuICAgIGRlZmF1bHQ6IFwiXFx4QkJcIiAvLyAnwrsnXG5cbiAgfSxcbiAgbGFiZWxQYWdlOiB7XG4gICAgdHlwZTogW1N0cmluZywgRnVuY3Rpb25dLFxuICAgIGRlZmF1bHQ6ICdHbyB0byBwYWdlJ1xuICB9LFxuICBoaWRlRWxsaXBzaXM6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGVsbGlwc2lzVGV4dDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiBcIlxcdTIwMjZcIiAvLyAn4oCmJ1xuXG4gIH1cbn07IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbWl4aW5zOiBbbm9ybWFsaXplU2xvdE1peGluXSxcbiAgbW9kZWw6IHtcbiAgICBwcm9wOiAndmFsdWUnLFxuICAgIGV2ZW50OiAnaW5wdXQnXG4gIH0sXG4gIHByb3BzOiBwcm9wcyxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICB2YXIgY3VyciA9IHBhcnNlSW50KHRoaXMudmFsdWUsIDEwKTtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gLTEgc2lnbmlmaWVzIG5vIHBhZ2UgaW5pdGlhbGx5IHNlbGVjdGVkXG4gICAgICBjdXJyZW50UGFnZTogY3VyciA+IDAgPyBjdXJyIDogLTEsXG4gICAgICBsb2NhbE51bWJlck9mUGFnZXM6IDEsXG4gICAgICBsb2NhbExpbWl0OiBERUZBVUxUX0xJTUlUXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBidG5TaXplOiBmdW5jdGlvbiBidG5TaXplKCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA/IFwicGFnaW5hdGlvbi1cIi5jb25jYXQodGhpcy5zaXplKSA6ICcnO1xuICAgIH0sXG4gICAgYWxpZ25tZW50OiBmdW5jdGlvbiBhbGlnbm1lbnQoKSB7XG4gICAgICB2YXIgYWxpZ24gPSB0aGlzLmFsaWduO1xuXG4gICAgICBpZiAoYWxpZ24gPT09ICdjZW50ZXInKSB7XG4gICAgICAgIHJldHVybiAnanVzdGlmeS1jb250ZW50LWNlbnRlcic7XG4gICAgICB9IGVsc2UgaWYgKGFsaWduID09PSAnZW5kJyB8fCBhbGlnbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICByZXR1cm4gJ2p1c3RpZnktY29udGVudC1lbmQnO1xuICAgICAgfSBlbHNlIGlmIChhbGlnbiA9PT0gJ2ZpbGwnKSB7XG4gICAgICAgIC8vIFRoZSBwYWdlLWl0ZW1zIHdpbGwgYWxzbyBoYXZlICdmbGV4LWZpbGwnIGFkZGVkLlxuICAgICAgICAvLyBXZSBhZCB0ZXh0IGNlbnRlcmluZyB0byBtYWtlIHRoZSBidXR0b24gYXBwZWFyYW5jZSBiZXR0ZXIgaW4gZmlsbCBtb2RlLlxuICAgICAgICByZXR1cm4gJ3RleHQtY2VudGVyJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICcnO1xuICAgIH0sXG4gICAgY29tcHV0ZWRDdXJyZW50UGFnZTogZnVuY3Rpb24gY29tcHV0ZWRDdXJyZW50UGFnZSgpIHtcbiAgICAgIHJldHVybiBzYW5pdGl6ZUN1cnJlbnRQYWdlKHRoaXMuY3VycmVudFBhZ2UsIHRoaXMubG9jYWxOdW1iZXJPZlBhZ2VzKTtcbiAgICB9LFxuICAgIHBhZ2luYXRpb25QYXJhbXM6IGZ1bmN0aW9uIHBhZ2luYXRpb25QYXJhbXMoKSB7XG4gICAgICAvLyBEZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIHNob3cgdGhlIHRoZSBlbGxpcHNpc1xuICAgICAgdmFyIGxpbWl0ID0gdGhpcy5saW1pdDtcbiAgICAgIHZhciBudW1iZXJPZlBhZ2VzID0gdGhpcy5sb2NhbE51bWJlck9mUGFnZXM7XG4gICAgICB2YXIgY3VycmVudFBhZ2UgPSB0aGlzLmNvbXB1dGVkQ3VycmVudFBhZ2U7XG4gICAgICB2YXIgaGlkZUVsbGlwc2lzID0gdGhpcy5oaWRlRWxsaXBzaXM7XG4gICAgICB2YXIgc2hvd0ZpcnN0RG90cyA9IGZhbHNlO1xuICAgICAgdmFyIHNob3dMYXN0RG90cyA9IGZhbHNlO1xuICAgICAgdmFyIG51bWJlck9mTGlua3MgPSBsaW1pdDtcbiAgICAgIHZhciBzdGFydE51bWJlciA9IDE7XG5cbiAgICAgIGlmIChudW1iZXJPZlBhZ2VzIDw9IGxpbWl0KSB7XG4gICAgICAgIC8vIFNwZWNpYWwgQ2FzZTogTGVzcyBwYWdlcyBhdmFpbGFibGUgdGhhbiB0aGUgbGltaXQgb2YgZGlzcGxheWVkIHBhZ2VzXG4gICAgICAgIG51bWJlck9mTGlua3MgPSBudW1iZXJPZlBhZ2VzO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZSA8IGxpbWl0IC0gMSAmJiBsaW1pdCA+IEVMTElQU0lTX1RIUkVTSE9MRCkge1xuICAgICAgICAvLyBXZSBhcmUgbmVhciB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYWdlIGxpc3RcbiAgICAgICAgaWYgKCFoaWRlRWxsaXBzaXMpIHtcbiAgICAgICAgICBzaG93TGFzdERvdHMgPSB0cnVlO1xuICAgICAgICAgIG51bWJlck9mTGlua3MgPSBsaW1pdCAtIDE7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobnVtYmVyT2ZQYWdlcyAtIGN1cnJlbnRQYWdlICsgMiA8IGxpbWl0ICYmIGxpbWl0ID4gRUxMSVBTSVNfVEhSRVNIT0xEKSB7XG4gICAgICAgIC8vIFdlIGFyZSBuZWFyIHRoZSBlbmQgb2YgdGhlIGxpc3RcbiAgICAgICAgaWYgKCFoaWRlRWxsaXBzaXMpIHtcbiAgICAgICAgICBudW1iZXJPZkxpbmtzID0gbGltaXQgLSAxO1xuICAgICAgICAgIHNob3dGaXJzdERvdHMgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhcnROdW1iZXIgPSBudW1iZXJPZlBhZ2VzIC0gbnVtYmVyT2ZMaW5rcyArIDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSBhcmUgc29tZXdoZXJlIGluIHRoZSBtaWRkbGUgb2YgdGhlIHBhZ2UgbGlzdFxuICAgICAgICBpZiAobGltaXQgPiBFTExJUFNJU19USFJFU0hPTEQgJiYgIWhpZGVFbGxpcHNpcykge1xuICAgICAgICAgIG51bWJlck9mTGlua3MgPSBsaW1pdCAtIDI7XG4gICAgICAgICAgc2hvd0ZpcnN0RG90cyA9IHNob3dMYXN0RG90cyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBzdGFydE51bWJlciA9IGN1cnJlbnRQYWdlIC0gTWF0aC5mbG9vcihudW1iZXJPZkxpbmtzIC8gMik7XG4gICAgICB9IC8vIFNhbml0eSBjaGVja3NcblxuXG4gICAgICBpZiAoc3RhcnROdW1iZXIgPCAxKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHN0YXJ0TnVtYmVyID0gMTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhcnROdW1iZXIgPiBudW1iZXJPZlBhZ2VzIC0gbnVtYmVyT2ZMaW5rcykge1xuICAgICAgICBzdGFydE51bWJlciA9IG51bWJlck9mUGFnZXMgLSBudW1iZXJPZkxpbmtzICsgMTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2hvd0ZpcnN0RG90czogc2hvd0ZpcnN0RG90cyxcbiAgICAgICAgc2hvd0xhc3REb3RzOiBzaG93TGFzdERvdHMsXG4gICAgICAgIG51bWJlck9mTGlua3M6IG51bWJlck9mTGlua3MsXG4gICAgICAgIHN0YXJ0TnVtYmVyOiBzdGFydE51bWJlclxuICAgICAgfTtcbiAgICB9LFxuICAgIHBhZ2VMaXN0OiBmdW5jdGlvbiBwYWdlTGlzdCgpIHtcbiAgICAgIC8vIEdlbmVyYXRlcyB0aGUgcGFnZUxpc3QgYXJyYXlcbiAgICAgIHZhciBfdGhpcyRwYWdpbmF0aW9uUGFyYW0gPSB0aGlzLnBhZ2luYXRpb25QYXJhbXMsXG4gICAgICAgICAgbnVtYmVyT2ZMaW5rcyA9IF90aGlzJHBhZ2luYXRpb25QYXJhbS5udW1iZXJPZkxpbmtzLFxuICAgICAgICAgIHN0YXJ0TnVtYmVyID0gX3RoaXMkcGFnaW5hdGlvblBhcmFtLnN0YXJ0TnVtYmVyO1xuICAgICAgdmFyIGN1cnJlbnRQYWdlID0gdGhpcy5jb21wdXRlZEN1cnJlbnRQYWdlOyAvLyBHZW5lcmF0ZSBsaXN0IG9mIHBhZ2UgbnVtYmVyc1xuXG4gICAgICB2YXIgcGFnZXMgPSBtYWtlUGFnZUFycmF5KHN0YXJ0TnVtYmVyLCBudW1iZXJPZkxpbmtzKTsgLy8gV2UgbGltaXQgdG8gYSB0b3RhbCBvZiAzIHBhZ2UgYnV0dG9ucyBvbiBYUyBzY3JlZW5zXG4gICAgICAvLyBTbyBhZGQgY2xhc3NlcyB0byBwYWdlIGxpbmtzIHRvIGhpZGUgdGhlbSBmb3IgWFMgYnJlYWtwb2ludFxuICAgICAgLy8gTm90ZTogRWxsaXBzaXMgd2lsbCBhbHNvIGJlIGhpZGRlbiBvbiBYUyBzY3JlZW5zXG4gICAgICAvLyBUT0RPOiBNYWtlIHRoaXMgdmlzdWFsIGxpbWl0IGNvbmZpZ3VyYWJsZSBiYXNlZCBvbiBicmVha3BvaW50KHMpXG5cbiAgICAgIGlmIChwYWdlcy5sZW5ndGggPiAzKSB7XG4gICAgICAgIHZhciBpZHggPSBjdXJyZW50UGFnZSAtIHN0YXJ0TnVtYmVyOyAvLyBUSGUgZm9sbG93aW5nIGlzIGEgYm9vdHN0cmFwLXZ1ZSBjdXN0b20gdXRpbGl0eSBjbGFzc1xuXG4gICAgICAgIHZhciBjbGFzc2VzID0gJ2J2LWQteHMtZG93bi1ub25lJztcblxuICAgICAgICBpZiAoaWR4ID09PSAwKSB7XG4gICAgICAgICAgLy8gS2VlcCBsZWZ0bW9zdCAzIGJ1dHRvbnMgdmlzaWJsZSB3aGVuIGN1cnJlbnQgcGFnZSBpcyBmaXJzdCBwYWdlXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDM7IGkgPCBwYWdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgcGFnZXNbaV0uY2xhc3NlcyA9IGNsYXNzZXM7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gcGFnZXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIC8vIEtlZXAgcmlnaHRtb3N0IDMgYnV0dG9ucyB2aXNpYmxlIHdoZW4gY3VycmVudCBwYWdlIGlzIGxhc3QgcGFnZVxuICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBwYWdlcy5sZW5ndGggLSAzOyBfaSsrKSB7XG4gICAgICAgICAgICBwYWdlc1tfaV0uY2xhc3NlcyA9IGNsYXNzZXM7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEhpZGUgYWxsIGV4Y2VwdCBjdXJyZW50IHBhZ2UsIGN1cnJlbnQgcGFnZSAtIDEgYW5kIGN1cnJlbnQgcGFnZSArIDFcbiAgICAgICAgICBmb3IgKHZhciBfaTIgPSAwOyBfaTIgPCBpZHggLSAxOyBfaTIrKykge1xuICAgICAgICAgICAgLy8gaGlkZSBzb21lIGxlZnQgYnV0dG9uKHMpXG4gICAgICAgICAgICBwYWdlc1tfaTJdLmNsYXNzZXMgPSBjbGFzc2VzO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAodmFyIF9pMyA9IHBhZ2VzLmxlbmd0aCAtIDE7IF9pMyA+IGlkeCArIDE7IF9pMy0tKSB7XG4gICAgICAgICAgICAvLyBoaWRlIHNvbWUgcmlnaHQgYnV0dG9uKHMpXG4gICAgICAgICAgICBwYWdlc1tfaTNdLmNsYXNzZXMgPSBjbGFzc2VzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFnZXM7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShuZXdWYWx1ZSwgb2xkVmFsdWUpIHtcbiAgICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHNhbml0aXplQ3VycmVudFBhZ2UobmV3VmFsdWUsIHRoaXMubG9jYWxOdW1iZXJPZlBhZ2VzKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGN1cnJlbnRQYWdlOiBmdW5jdGlvbiBjdXJyZW50UGFnZShuZXdWYWx1ZSwgb2xkVmFsdWUpIHtcbiAgICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcbiAgICAgICAgLy8gRW1pdCBudWxsIGlmIG5vIHBhZ2Ugc2VsZWN0ZWRcbiAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCBuZXdWYWx1ZSA+IDAgPyBuZXdWYWx1ZSA6IG51bGwpO1xuICAgICAgfVxuICAgIH0sXG4gICAgbGltaXQ6IGZ1bmN0aW9uIGxpbWl0KG5ld1ZhbHVlLCBvbGRWYWx1ZSkge1xuICAgICAgaWYgKG5ld1ZhbHVlICE9PSBvbGRWYWx1ZSkge1xuICAgICAgICB0aGlzLmxvY2FsTGltaXQgPSBzYW5pdGl6ZUxpbWl0KG5ld1ZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIC8vIFNldCBvdXIgZGVmYXVsdCB2YWx1ZXMgaW4gZGF0YVxuICAgIHRoaXMubG9jYWxMaW1pdCA9IHNhbml0aXplTGltaXQodGhpcy5saW1pdCk7XG4gICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgLy8gU2FuaXR5IGNoZWNrXG4gICAgICBfdGhpcy5jdXJyZW50UGFnZSA9IF90aGlzLmN1cnJlbnRQYWdlID4gX3RoaXMubG9jYWxOdW1iZXJPZlBhZ2VzID8gX3RoaXMubG9jYWxOdW1iZXJPZlBhZ2VzIDogX3RoaXMuY3VycmVudFBhZ2U7XG4gICAgfSk7XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBnZXRCdXR0b25zOiBmdW5jdGlvbiBnZXRCdXR0b25zKCkge1xuICAgICAgLy8gUmV0dXJuIG9ubHkgYnV0dG9ucyB0aGF0IGFyZSB2aXNpYmxlXG4gICAgICByZXR1cm4gc2VsZWN0QWxsKCdhLnBhZ2UtbGluaycsIHRoaXMuJGVsKS5maWx0ZXIoZnVuY3Rpb24gKGJ0bikge1xuICAgICAgICByZXR1cm4gaXNWaXNpYmxlKGJ0bik7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHNldEJ0bkZvY3VzOiBmdW5jdGlvbiBzZXRCdG5Gb2N1cyhidG4pIHtcbiAgICAgIGJ0bi5mb2N1cygpO1xuICAgIH0sXG4gICAgZm9jdXNDdXJyZW50OiBmdW5jdGlvbiBmb2N1c0N1cnJlbnQoKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgLy8gV2UgZG8gdGhpcyBpbiBuZXh0IHRpY2sgdG8gZW5zdXJlIGJ1dHRvbnMgaGF2ZSBmaW5pc2hlZCByZW5kZXJpbmdcbiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGJ0biA9IF90aGlzMi5nZXRCdXR0b25zKCkuZmluZChmdW5jdGlvbiAoZWwpIHtcbiAgICAgICAgICByZXR1cm4gcGFyc2VJbnQoZ2V0QXR0cihlbCwgJ2FyaWEtcG9zaW5zZXQnKSwgMTApID09PSBfdGhpczIuY29tcHV0ZWRDdXJyZW50UGFnZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGJ0biAmJiBidG4uZm9jdXMpIHtcbiAgICAgICAgICBfdGhpczIuc2V0QnRuRm9jdXMoYnRuKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBGYWxsYmFjayBpZiBjdXJyZW50IHBhZ2UgaXMgbm90IGluIGJ1dHRvbiBsaXN0XG4gICAgICAgICAgX3RoaXMyLmZvY3VzRmlyc3QoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBmb2N1c0ZpcnN0OiBmdW5jdGlvbiBmb2N1c0ZpcnN0KCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIC8vIFdlIGRvIHRoaXMgaW4gbmV4dCB0aWNrIHRvIGVuc3VyZSBidXR0b25zIGhhdmUgZmluaXNoZWQgcmVuZGVyaW5nXG4gICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBidG4gPSBfdGhpczMuZ2V0QnV0dG9ucygpLmZpbmQoZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgcmV0dXJuICFpc0Rpc2FibGVkKGVsKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGJ0biAmJiBidG4uZm9jdXMgJiYgYnRuICE9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgX3RoaXMzLnNldEJ0bkZvY3VzKGJ0bik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZm9jdXNMYXN0OiBmdW5jdGlvbiBmb2N1c0xhc3QoKSB7XG4gICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgLy8gV2UgZG8gdGhpcyBpbiBuZXh0IHRpY2sgdG8gZW5zdXJlIGJ1dHRvbnMgaGF2ZSBmaW5pc2hlZCByZW5kZXJpbmdcbiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGJ0biA9IF90aGlzNC5nZXRCdXR0b25zKCkucmV2ZXJzZSgpLmZpbmQoZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgcmV0dXJuICFpc0Rpc2FibGVkKGVsKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGJ0biAmJiBidG4uZm9jdXMgJiYgYnRuICE9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgX3RoaXM0LnNldEJ0bkZvY3VzKGJ0bik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZm9jdXNQcmV2OiBmdW5jdGlvbiBmb2N1c1ByZXYoKSB7XG4gICAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgICAgLy8gV2UgZG8gdGhpcyBpbiBuZXh0IHRpY2sgdG8gZW5zdXJlIGJ1dHRvbnMgaGF2ZSBmaW5pc2hlZCByZW5kZXJpbmdcbiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGJ1dHRvbnMgPSBfdGhpczUuZ2V0QnV0dG9ucygpO1xuXG4gICAgICAgIHZhciBpZHggPSBidXR0b25zLmluZGV4T2YoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgaWYgKGlkeCA+IDAgJiYgIWlzRGlzYWJsZWQoYnV0dG9uc1tpZHggLSAxXSkgJiYgYnV0dG9uc1tpZHggLSAxXS5mb2N1cykge1xuICAgICAgICAgIF90aGlzNS5zZXRCdG5Gb2N1cyhidXR0b25zW2lkeCAtIDFdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBmb2N1c05leHQ6IGZ1bmN0aW9uIGZvY3VzTmV4dCgpIHtcbiAgICAgIHZhciBfdGhpczYgPSB0aGlzO1xuXG4gICAgICAvLyBXZSBkbyB0aGlzIGluIG5leHQgdGljayB0byBlbnN1cmUgYnV0dG9ucyBoYXZlIGZpbmlzaGVkIHJlbmRlcmluZ1xuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYnV0dG9ucyA9IF90aGlzNi5nZXRCdXR0b25zKCk7XG5cbiAgICAgICAgdmFyIGlkeCA9IGJ1dHRvbnMuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtcbiAgICAgICAgdmFyIGNudCA9IGJ1dHRvbnMubGVuZ3RoIC0gMTtcblxuICAgICAgICBpZiAoaWR4IDwgY250ICYmICFpc0Rpc2FibGVkKGJ1dHRvbnNbaWR4ICsgMV0pICYmIGJ1dHRvbnNbaWR4ICsgMV0uZm9jdXMpIHtcbiAgICAgICAgICBfdGhpczYuc2V0QnRuRm9jdXMoYnV0dG9uc1tpZHggKyAxXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBfdGhpczcgPSB0aGlzO1xuXG4gICAgdmFyIGJ1dHRvbnMgPSBbXTtcbiAgICB2YXIgbnVtYmVyT2ZQYWdlcyA9IHRoaXMubG9jYWxOdW1iZXJPZlBhZ2VzO1xuICAgIHZhciBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgdmFyIF90aGlzJHBhZ2luYXRpb25QYXJhbTIgPSB0aGlzLnBhZ2luYXRpb25QYXJhbXMsXG4gICAgICAgIHNob3dGaXJzdERvdHMgPSBfdGhpcyRwYWdpbmF0aW9uUGFyYW0yLnNob3dGaXJzdERvdHMsXG4gICAgICAgIHNob3dMYXN0RG90cyA9IF90aGlzJHBhZ2luYXRpb25QYXJhbTIuc2hvd0xhc3REb3RzO1xuICAgIHZhciBjdXJyZW50UGFnZSA9IHRoaXMuY29tcHV0ZWRDdXJyZW50UGFnZTtcbiAgICB2YXIgZmlsbCA9IHRoaXMuYWxpZ24gPT09ICdmaWxsJzsgLy8gSGVscGVyIGZ1bmN0aW9uIGFuZCBmbGFnXG5cbiAgICB2YXIgaXNBY3RpdmVQYWdlID0gZnVuY3Rpb24gaXNBY3RpdmVQYWdlKHBhZ2VOdW0pIHtcbiAgICAgIHJldHVybiBwYWdlTnVtID09PSBjdXJyZW50UGFnZTtcbiAgICB9O1xuXG4gICAgdmFyIG5vQ3VyclBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlIDwgMTsgLy8gRmFjdG9yeSBmdW5jdGlvbiBmb3IgcHJldi9uZXh0L2ZpcnN0L2xhc3QgYnV0dG9uc1xuXG4gICAgdmFyIG1ha2VFbmRCdG4gPSBmdW5jdGlvbiBtYWtlRW5kQnRuKGxpbmtUbywgYXJpYUxhYmVsLCBidG5TbG90LCBidG5UZXh0LCBwYWdlVGVzdCwga2V5KSB7XG4gICAgICB2YXIgaXNEaXNhYmxlZCA9IGRpc2FibGVkIHx8IGlzQWN0aXZlUGFnZShwYWdlVGVzdCkgfHwgbm9DdXJyUGFnZSB8fCBsaW5rVG8gPCAxIHx8IGxpbmtUbyA+IG51bWJlck9mUGFnZXM7XG4gICAgICB2YXIgcGFnZU51bSA9IGxpbmtUbyA8IDEgPyAxIDogbGlua1RvID4gbnVtYmVyT2ZQYWdlcyA/IG51bWJlck9mUGFnZXMgOiBsaW5rVG87XG4gICAgICB2YXIgc2NvcGUgPSB7XG4gICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICBwYWdlOiBwYWdlTnVtLFxuICAgICAgICBpbmRleDogcGFnZU51bSAtIDFcbiAgICAgIH07XG4gICAgICB2YXIgYnRuQ29udGVudCA9IF90aGlzNy5ub3JtYWxpemVTbG90KGJ0blNsb3QsIHNjb3BlKSB8fCB0b1N0cmluZyhidG5UZXh0KSB8fCBoKCk7XG4gICAgICB2YXIgaW5uZXIgPSBoKGlzRGlzYWJsZWQgPyAnc3BhbicgOiBCTGluaywge1xuICAgICAgICBzdGF0aWNDbGFzczogJ3BhZ2UtbGluaycsXG4gICAgICAgIHByb3BzOiBpc0Rpc2FibGVkID8ge30gOiBfdGhpczcubGlua1Byb3BzKGxpbmtUbyksXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgcm9sZTogJ21lbnVpdGVtJyxcbiAgICAgICAgICB0YWJpbmRleDogaXNEaXNhYmxlZCA/IG51bGwgOiAnLTEnLFxuICAgICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICAgICdhcmlhLWNvbnRyb2xzJzogX3RoaXM3LmFyaWFDb250cm9scyB8fCBudWxsLFxuICAgICAgICAgICdhcmlhLWRpc2FibGVkJzogaXNEaXNhYmxlZCA/ICd0cnVlJyA6IG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgb246IGlzRGlzYWJsZWQgPyB7fSA6IHtcbiAgICAgICAgICBjbGljazogZnVuY3Rpb24gY2xpY2soZXZ0KSB7XG4gICAgICAgICAgICBfdGhpczcub25DbGljayhsaW5rVG8sIGV2dCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBrZXlkb3duOiBvblNwYWNlS2V5XG4gICAgICAgIH1cbiAgICAgIH0sIFtidG5Db250ZW50XSk7XG4gICAgICByZXR1cm4gaCgnbGknLCB7XG4gICAgICAgIGtleToga2V5LFxuICAgICAgICBzdGF0aWNDbGFzczogJ3BhZ2UtaXRlbScsXG4gICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgICAgJ2ZsZXgtZmlsbCc6IGZpbGxcbiAgICAgICAgfSxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcbiAgICAgICAgICAnYXJpYS1oaWRkZW4nOiBpc0Rpc2FibGVkID8gJ3RydWUnIDogbnVsbFxuICAgICAgICB9XG4gICAgICB9LCBbaW5uZXJdKTtcbiAgICB9OyAvLyBFbGxpcHNpcyBmYWN0b3J5XG5cblxuICAgIHZhciBtYWtlRWxsaXBzaXMgPSBmdW5jdGlvbiBtYWtlRWxsaXBzaXMoaXNMYXN0KSB7XG4gICAgICByZXR1cm4gaCgnbGknLCB7XG4gICAgICAgIGtleTogXCJlbGxpcHNpcy1cIi5jb25jYXQoaXNMYXN0ID8gJ2xhc3QnIDogJ2ZpcnN0JyksXG4gICAgICAgIHN0YXRpY0NsYXNzOiAncGFnZS1pdGVtJyxcbiAgICAgICAgY2xhc3M6IFsnZGlzYWJsZWQnLCAnYnYtZC14cy1kb3duLW5vbmUnLCBmaWxsID8gJ2ZsZXgtZmlsbCcgOiAnJ10sXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgcm9sZTogJ3NlcGFyYXRvcidcbiAgICAgICAgfVxuICAgICAgfSwgW2goJ3NwYW4nLCB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiAncGFnZS1saW5rJ1xuICAgICAgfSwgW190aGlzNy5ub3JtYWxpemVTbG90KCdlbGxpcHNpcy10ZXh0JykgfHwgdG9TdHJpbmcoX3RoaXM3LmVsbGlwc2lzVGV4dCkgfHwgaCgpXSldKTtcbiAgICB9OyAvLyBHb3RvIEZpcnN0IFBhZ2UgYnV0dG9uIGJvb2tlbmRcblxuXG4gICAgYnV0dG9ucy5wdXNoKHRoaXMuaGlkZUdvdG9FbmRCdXR0b25zID8gaCgpIDogbWFrZUVuZEJ0bigxLCB0aGlzLmxhYmVsRmlyc3RQYWdlLCAnZmlyc3QtdGV4dCcsIHRoaXMuZmlyc3RUZXh0LCAxLCAnYm9va2VuZC1nb3RvLWZpcnN0JykpOyAvLyBHb3RvIFByZXZpb3VzIHBhZ2UgYnV0dG9uIGJvb2tlbmRcblxuICAgIGJ1dHRvbnMucHVzaChtYWtlRW5kQnRuKGN1cnJlbnRQYWdlIC0gMSwgdGhpcy5sYWJlbFByZXZQYWdlLCAncHJldi10ZXh0JywgdGhpcy5wcmV2VGV4dCwgMSwgJ2Jvb2tlbmQtZ290by1wcmV2JykpOyAvLyBGaXJzdCBFbGxpcHNpcyBCb29rZW5kXG5cbiAgICBidXR0b25zLnB1c2goc2hvd0ZpcnN0RG90cyA/IG1ha2VFbGxpcHNpcyhmYWxzZSkgOiBoKCkpOyAvLyBJbmRpdmlkdWFsIFBhZ2UgbGlua3NcblxuICAgIHRoaXMucGFnZUxpc3QuZm9yRWFjaChmdW5jdGlvbiAocGFnZSwgaWR4KSB7XG4gICAgICB2YXIgYWN0aXZlID0gaXNBY3RpdmVQYWdlKHBhZ2UubnVtYmVyKSAmJiAhbm9DdXJyUGFnZTsgLy8gQWN0aXZlIHBhZ2Ugd2lsbCBoYXZlIHRhYmluZGV4IG9mIDAsIG9yIGlmIG5vIGN1cnJlbnQgcGFnZSBhbmQgZmlyc3QgcGFnZSBidXR0b25cblxuICAgICAgdmFyIHRhYkluZGV4ID0gZGlzYWJsZWQgPyBudWxsIDogYWN0aXZlIHx8IG5vQ3VyclBhZ2UgJiYgaWR4ID09PSAwID8gJzAnIDogJy0xJztcbiAgICAgIHZhciBhdHRycyA9IHtcbiAgICAgICAgcm9sZTogJ21lbnVpdGVtcmFkaW8nLFxuICAgICAgICAnYXJpYS1kaXNhYmxlZCc6IGRpc2FibGVkID8gJ3RydWUnIDogbnVsbCxcbiAgICAgICAgJ2FyaWEtY29udHJvbHMnOiBfdGhpczcuYXJpYUNvbnRyb2xzIHx8IG51bGwsXG4gICAgICAgICdhcmlhLWxhYmVsJzogaXNGdW5jdGlvbihfdGhpczcubGFiZWxQYWdlKSA/IF90aGlzNy5sYWJlbFBhZ2UocGFnZS5udW1iZXIpIDogXCJcIi5jb25jYXQoX3RoaXM3LmxhYmVsUGFnZSwgXCIgXCIpLmNvbmNhdChwYWdlLm51bWJlciksXG4gICAgICAgICdhcmlhLWNoZWNrZWQnOiBhY3RpdmUgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgICAnYXJpYS1wb3NpbnNldCc6IHBhZ2UubnVtYmVyLFxuICAgICAgICAnYXJpYS1zZXRzaXplJzogbnVtYmVyT2ZQYWdlcyxcbiAgICAgICAgLy8gQVJJQSBcInJvdmluZyB0YWJpbmRleFwiIG1ldGhvZFxuICAgICAgICB0YWJpbmRleDogdGFiSW5kZXhcbiAgICAgIH07XG4gICAgICB2YXIgYnRuQ29udGVudCA9IHRvU3RyaW5nKF90aGlzNy5tYWtlUGFnZShwYWdlLm51bWJlcikpO1xuICAgICAgdmFyIHNjb3BlID0ge1xuICAgICAgICBwYWdlOiBwYWdlLm51bWJlcixcbiAgICAgICAgaW5kZXg6IHBhZ2UubnVtYmVyIC0gMSxcbiAgICAgICAgY29udGVudDogYnRuQ29udGVudCxcbiAgICAgICAgYWN0aXZlOiBhY3RpdmUsXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZFxuICAgICAgfTtcbiAgICAgIHZhciBpbm5lciA9IGgoZGlzYWJsZWQgPyAnc3BhbicgOiBCTGluaywge1xuICAgICAgICBwcm9wczogZGlzYWJsZWQgPyB7fSA6IF90aGlzNy5saW5rUHJvcHMocGFnZS5udW1iZXIpLFxuICAgICAgICBzdGF0aWNDbGFzczogJ3BhZ2UtbGluaycsXG4gICAgICAgIGF0dHJzOiBhdHRycyxcbiAgICAgICAgb246IGRpc2FibGVkID8ge30gOiB7XG4gICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uIGNsaWNrKGV2dCkge1xuICAgICAgICAgICAgX3RoaXM3Lm9uQ2xpY2socGFnZS5udW1iZXIsIGV2dCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBrZXlkb3duOiBvblNwYWNlS2V5XG4gICAgICAgIH1cbiAgICAgIH0sIFtfdGhpczcubm9ybWFsaXplU2xvdCgncGFnZScsIHNjb3BlKSB8fCBidG5Db250ZW50XSk7XG4gICAgICBidXR0b25zLnB1c2goaCgnbGknLCB7XG4gICAgICAgIGtleTogXCJwYWdlLVwiLmNvbmNhdChwYWdlLm51bWJlciksXG4gICAgICAgIHN0YXRpY0NsYXNzOiAncGFnZS1pdGVtJyxcbiAgICAgICAgY2xhc3M6IFt7XG4gICAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxuICAgICAgICAgIGFjdGl2ZTogYWN0aXZlLFxuICAgICAgICAgICdmbGV4LWZpbGwnOiBmaWxsXG4gICAgICAgIH0sIHBhZ2UuY2xhc3Nlc10sXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgcm9sZTogJ3ByZXNlbnRhdGlvbidcbiAgICAgICAgfVxuICAgICAgfSwgW2lubmVyXSkpO1xuICAgIH0pOyAvLyBMYXN0IEVsbGlwc2lzIEJvb2tlbmRcblxuICAgIGJ1dHRvbnMucHVzaChzaG93TGFzdERvdHMgPyBtYWtlRWxsaXBzaXModHJ1ZSkgOiBoKCkpOyAvLyBHb3RvIE5leHQgcGFnZSBidXR0b24gYm9va2VuZFxuXG4gICAgYnV0dG9ucy5wdXNoKG1ha2VFbmRCdG4oY3VycmVudFBhZ2UgKyAxLCB0aGlzLmxhYmVsTmV4dFBhZ2UsICduZXh0LXRleHQnLCB0aGlzLm5leHRUZXh0LCBudW1iZXJPZlBhZ2VzLCAnYm9va2VuZC1nb3RvLW5leHQnKSk7IC8vIEdvdG8gTGFzdCBQYWdlIGJ1dHRvbiBib29rZW5kXG5cbiAgICBidXR0b25zLnB1c2godGhpcy5oaWRlR290b0VuZEJ1dHRvbnMgPyBoKCkgOiBtYWtlRW5kQnRuKG51bWJlck9mUGFnZXMsIHRoaXMubGFiZWxMYXN0UGFnZSwgJ2xhc3QtdGV4dCcsIHRoaXMubGFzdFRleHQsIG51bWJlck9mUGFnZXMsICdib29rZW5kLWdvdG8tbGFzdCcpKTsgLy8gQXNzZW1ibGUgdGhlIHBhZ2luYXRpb24gYnV0dG9uc1xuXG4gICAgdmFyIHBhZ2luYXRpb24gPSBoKCd1bCcsIHtcbiAgICAgIHJlZjogJ3VsJyxcbiAgICAgIHN0YXRpY0NsYXNzOiAncGFnaW5hdGlvbicsXG4gICAgICBjbGFzczogWydiLXBhZ2luYXRpb24nLCB0aGlzLmJ0blNpemUsIHRoaXMuYWxpZ25tZW50XSxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6ICdtZW51YmFyJyxcbiAgICAgICAgJ2FyaWEtZGlzYWJsZWQnOiBkaXNhYmxlZCA/ICd0cnVlJyA6ICdmYWxzZScsXG4gICAgICAgICdhcmlhLWxhYmVsJzogdGhpcy5hcmlhTGFiZWwgfHwgbnVsbFxuICAgICAgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIGtleWRvd246IGZ1bmN0aW9uIGtleWRvd24oZXZ0KSB7XG4gICAgICAgICAgdmFyIGtleUNvZGUgPSBldnQua2V5Q29kZTtcbiAgICAgICAgICB2YXIgc2hpZnQgPSBldnQuc2hpZnRLZXk7XG5cbiAgICAgICAgICBpZiAoa2V5Q29kZSA9PT0gS2V5Q29kZXMuTEVGVCkge1xuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBzaGlmdCA/IF90aGlzNy5mb2N1c0ZpcnN0KCkgOiBfdGhpczcuZm9jdXNQcmV2KCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSBLZXlDb2Rlcy5SSUdIVCkge1xuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBzaGlmdCA/IF90aGlzNy5mb2N1c0xhc3QoKSA6IF90aGlzNy5mb2N1c05leHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBidXR0b25zKTsgLy8gaWYgd2UgYXJlIHBhZ2luYXRpb24tbmF2LCB3cmFwIGluICc8bmF2Picgd3JhcHBlclxuXG4gICAgaWYgKHRoaXMuaXNOYXYpIHtcbiAgICAgIHJldHVybiBoKCduYXYnLCB7XG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgJ2FyaWEtZGlzYWJsZWQnOiBkaXNhYmxlZCA/ICd0cnVlJyA6IG51bGwsXG4gICAgICAgICAgJ2FyaWEtaGlkZGVuJzogZGlzYWJsZWQgPyAndHJ1ZScgOiAnZmFsc2UnXG4gICAgICAgIH1cbiAgICAgIH0sIFtwYWdpbmF0aW9uXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwYWdpbmF0aW9uO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9taXhpbnMvcGFnaW5hdGlvbi5qc1xuLy8gbW9kdWxlIGlkID0gMTgzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///183\n"); + +/***/ }), +/* 184 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/**\n * @param {number} length\n * @return {Array}\n */\nvar range = function range(length) {\n return Array.apply(null, {\n length: length\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (range);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvcmFuZ2UuanM/YTBlNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRWUsOERBQUsiLCJmaWxlIjoiMTg0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gKiBAcmV0dXJuIHtBcnJheX1cbiAqL1xudmFyIHJhbmdlID0gZnVuY3Rpb24gcmFuZ2UobGVuZ3RoKSB7XG4gIHJldHVybiBBcnJheS5hcHBseShudWxsLCB7XG4gICAgbGVuZ3RoOiBsZW5ndGhcbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCByYW5nZTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy9yYW5nZS5qc1xuLy8gbW9kdWxlIGlkID0gMTg0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///184\n"); + +/***/ }), +/* 185 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PaginationNavPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pagination_nav__ = __webpack_require__(186);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BPaginationNav */\n\n\nvar PaginationNavPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BPaginationNav: __WEBPACK_IMPORTED_MODULE_0__pagination_nav__[\"a\" /* BPaginationNav */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wYWdpbmF0aW9uLW5hdi9pbmRleC5qcz83ZTVjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtEO0FBQ0U7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxvQkFBb0IsdUVBQWM7QUFDbEM7QUFDQSxDQUFDIiwiZmlsZSI6IjE4NS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJQYWdpbmF0aW9uTmF2IH0gZnJvbSAnLi9wYWdpbmF0aW9uLW5hdic7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgUGFnaW5hdGlvbk5hdlBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJQYWdpbmF0aW9uTmF2OiBCUGFnaW5hdGlvbk5hdlxuICB9XG59KTtcbmV4cG9ydCB7IFBhZ2luYXRpb25OYXZQbHVnaW4sIEJQYWdpbmF0aW9uTmF2IH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wYWdpbmF0aW9uLW5hdi9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTg1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///185\n"); + +/***/ }), +/* 186 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export sanitizeNumberOfPages */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BPaginationNav; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_to_string__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_router__ = __webpack_require__(105);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mixins_pagination__ = __webpack_require__(183);\n\n\n\n\n\n\n\n\n\n\nvar NAME = 'BPaginationNav'; // Sanitize the provided number of pages (converting to a number)\n\nvar sanitizeNumberOfPages = function sanitizeNumberOfPages(value) {\n var numberOfPages = parseInt(value, 10) || 1;\n return numberOfPages < 1 ? 1 : numberOfPages;\n};\nvar props = {\n size: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'size');\n }\n },\n numberOfPages: {\n type: [Number, String],\n default: 1,\n validator: function validator(value)\n /* istanbul ignore next */\n {\n var num = parseInt(value, 10);\n\n if (isNaN(num) || num < 1) {\n Object(__WEBPACK_IMPORTED_MODULE_3__utils_warn__[\"a\" /* default */])('b-pagination: prop \"number-of-pages\" must be a number greater than 0');\n return false;\n }\n\n return true;\n }\n },\n baseUrl: {\n type: String,\n default: '/'\n },\n useRouter: {\n type: Boolean,\n default: false\n },\n linkGen: {\n type: Function,\n default: null\n },\n pageGen: {\n type: Function,\n default: null\n },\n pages: {\n // Optional array of page links\n type: Array,\n default: null\n },\n noPageDetect: {\n // Disable auto page number detection if true\n type: Boolean,\n default: false\n },\n // router-link specific props\n activeClass: {\n type: String // default: undefined\n\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String // default: undefined\n\n },\n // nuxt-link specific prop(s)\n noPrefetch: {\n type: Boolean,\n default: false\n }\n}; // The render function is brought in via the pagination mixin\n// @vue/component\n\nvar BPaginationNav =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_9__mixins_pagination__[\"a\" /* default */]],\n props: props,\n computed: {\n // Used by render function to trigger wrapping in '<nav>' element\n isNav: function isNav() {\n return true;\n },\n computedValue: function computedValue() {\n // Returns the value prop as a number or `null` if undefined or < 1\n var val = parseInt(this.value, 10);\n return isNaN(val) || val < 1 ? null : val;\n }\n },\n watch: {\n numberOfPages: function numberOfPages(newVal, oldVal) {\n var _this = this;\n\n this.$nextTick(function () {\n _this.setNumberOfPages();\n });\n },\n pages: function pages(newVal, oldVal) {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.setNumberOfPages();\n });\n }\n },\n created: function created() {\n this.setNumberOfPages();\n },\n mounted: function mounted() {\n var _this3 = this;\n\n if (this.$router) {\n // We only add the watcher if vue router is detected\n this.$watch('$route', function (to, from) {\n _this3.$nextTick(function () {\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"w\" /* requestAF */])(function () {\n _this3.guessCurrentPage();\n });\n });\n });\n }\n },\n methods: {\n setNumberOfPages: function setNumberOfPages() {\n var _this4 = this;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"a\" /* isArray */])(this.pages) && this.pages.length > 0) {\n this.localNumberOfPages = this.pages.length;\n } else {\n this.localNumberOfPages = sanitizeNumberOfPages(this.numberOfPages);\n }\n\n this.$nextTick(function () {\n _this4.guessCurrentPage();\n });\n },\n onClick: function onClick(pageNum, evt) {\n var _this5 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNum === this.currentPage) {\n return;\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_5__utils_dom__[\"w\" /* requestAF */])(function () {\n // Update the v-model\n // Done in in requestAF() to allow browser to complete the\n // native browser click handling of a link\n _this5.currentPage = pageNum;\n\n _this5.$emit('change', pageNum);\n });\n this.$nextTick(function () {\n // Done in a nextTick() to ensure rendering complete\n try {\n // Emulate native link click page reloading behaviour by blurring the\n // paginator and returning focus to the document\n var target = evt.currentTarget || evt.target;\n target.blur();\n } catch (e) {}\n });\n },\n getPageInfo: function getPageInfo(pageNum) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"a\" /* isArray */])(this.pages) || this.pages.length === 0 || Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"n\" /* isUndefined */])(this.pages[pageNum - 1])) {\n var link = \"\".concat(this.baseUrl).concat(pageNum);\n return {\n link: this.useRouter ? {\n path: link\n } : link,\n text: Object(__WEBPACK_IMPORTED_MODULE_2__utils_to_string__[\"a\" /* default */])(pageNum)\n };\n }\n\n var info = this.pages[pageNum - 1];\n\n if (Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"i\" /* isObject */])(info)) {\n var _link = info.link;\n return {\n // Normalize link for router use\n link: Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"i\" /* isObject */])(_link) ? _link : this.useRouter ? {\n path: _link\n } : _link,\n // Make sure text has a value\n text: Object(__WEBPACK_IMPORTED_MODULE_2__utils_to_string__[\"a\" /* default */])(info.text || pageNum)\n };\n } else {\n return {\n link: Object(__WEBPACK_IMPORTED_MODULE_2__utils_to_string__[\"a\" /* default */])(info),\n text: Object(__WEBPACK_IMPORTED_MODULE_2__utils_to_string__[\"a\" /* default */])(pageNum)\n };\n }\n },\n makePage: function makePage(pageNum) {\n var info = this.getPageInfo(pageNum);\n\n if (this.pageGen && Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"f\" /* isFunction */])(this.pageGen)) {\n return this.pageGen(pageNum, info);\n }\n\n return info.text;\n },\n makeLink: function makeLink(pageNum) {\n var info = this.getPageInfo(pageNum);\n\n if (this.linkGen && Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"f\" /* isFunction */])(this.linkGen)) {\n return this.linkGen(pageNum, info);\n }\n\n return info.link;\n },\n linkProps: function linkProps(pageNum) {\n var link = this.makeLink(pageNum);\n var props = {\n target: this.target || null,\n rel: this.rel || null,\n disabled: this.disabled,\n // The following props are only used if BLink detects router\n exact: this.exact,\n activeClass: this.activeClass,\n exactActiveClass: this.exactActiveClass,\n append: this.append,\n replace: this.replace,\n // nuxt-link specific prop\n noPrefetch: this.noPrefetch\n };\n\n if (this.useRouter || Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"i\" /* isObject */])(link)) {\n props.to = link;\n } else {\n props.href = link;\n }\n\n return props;\n },\n resolveLink: function resolveLink() {\n var to = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n // Given a to (or href string), convert to normalized route-like structure\n // Works only client side!!\n var link;\n\n try {\n // Convert the `to` to a HREF via a temporary `a` tag\n link = document.createElement('a');\n link.href = Object(__WEBPACK_IMPORTED_MODULE_8__utils_router__[\"a\" /* computeHref */])({\n to: to\n }, 'a', '/', '/'); // We need to add the anchor to the document to make sure the\n // `pathname` is correctly detected in any browser (i.e. IE)\n\n document.body.appendChild(link); // Once href is assigned, the link will be normalized to the full URL bits\n\n var _link2 = link,\n pathname = _link2.pathname,\n hash = _link2.hash,\n search = _link2.search; // Remove link from document\n\n document.body.removeChild(link); // Return the location in a route-like object\n\n return {\n path: pathname,\n hash: hash,\n query: Object(__WEBPACK_IMPORTED_MODULE_8__utils_router__[\"e\" /* parseQuery */])(search)\n };\n } catch (e) {\n /* istanbul ignore next */\n try {\n link && link.parentNode && link.parentNode.removeChild(link);\n } catch (e) {}\n /* istanbul ignore next */\n\n\n return {};\n }\n },\n resolveRoute: function resolveRoute() {\n var to = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n // Given a to (or href string), convert to normalized route location structure\n // works only when router available!!\n try {\n var route = this.$router.resolve(to, this.$route).route;\n return {\n path: route.path,\n hash: route.hash,\n query: route.query\n };\n } catch (e) {\n /* istanbul ignore next */\n return {};\n }\n },\n guessCurrentPage: function guessCurrentPage() {\n var guess = this.computedValue;\n var $router = this.$router;\n var $route = this.$route; // This section only occurs if we are client side, or server-side with $router\n\n /* istanbul ignore else */\n\n if (!this.noPageDetect && !guess && (__WEBPACK_IMPORTED_MODULE_6__utils_env__[\"j\" /* isBrowser */] || !__WEBPACK_IMPORTED_MODULE_6__utils_env__[\"j\" /* isBrowser */] && $router)) {\n // Current route (if router available)\n var currRoute = $router && $route ? {\n path: $route.path,\n hash: $route.hash,\n query: $route.query\n } : {}; // Current page full HREF (if client side). Can't be done as a computed prop!\n\n var loc = __WEBPACK_IMPORTED_MODULE_6__utils_env__[\"j\" /* isBrowser */] ? window.location || document.location : null;\n var currLink = loc ? {\n path: loc.pathname,\n hash: loc.hash,\n query: Object(__WEBPACK_IMPORTED_MODULE_8__utils_router__[\"e\" /* parseQuery */])(loc.search)\n } : {}; // Loop through the possible pages looking for a match until found\n\n for (var page = 1; !guess && page <= this.localNumberOfPages; page++) {\n var to = this.makeLink(page);\n\n if ($router && (Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"i\" /* isObject */])(to) || this.useRouter)) {\n // Resolve the page via the $router\n guess = Object(__WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__[\"a\" /* default */])(this.resolveRoute(to), currRoute) ? page : null;\n } else if (__WEBPACK_IMPORTED_MODULE_6__utils_env__[\"j\" /* isBrowser */]) {\n // If no $router available (or !this.useRouter when `to` is a string)\n // we compare using parsed URIs\n guess = Object(__WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__[\"a\" /* default */])(this.resolveLink(to), currLink) ? page : null;\n } else {\n // probably SSR, but no $router so we can't guess, so lets break out of\n // the loop early\n\n /* istanbul ignore next */\n guess = -1;\n }\n }\n } // We set currentPage to 0 to trigger an $emit('input', null)\n // As the default for this.currentPage is -1 when no value is specified\n // And valid page numbers are greater than 0\n\n\n this.currentPage = guess > 0 ? guess : 0;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wYWdpbmF0aW9uLW5hdi9wYWdpbmF0aW9uLW5hdi5qcz9lM2EzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQztBQUNlO0FBQ0o7QUFDVDtBQUNvQjtBQUNaO0FBQ0E7QUFDcUM7QUFDcEI7QUFDUDtBQUN0RCw0QkFBNEI7O0FBRXJCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlGQUFrQjtBQUMvQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVEsb0VBQUk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRU87QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxXQUFXLG1FQUFlO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUscUVBQVM7QUFDbkI7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUEsVUFBVSx1RUFBTztBQUNqQjtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSxxRUFBUztBQUNmO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxXQUFXLHVFQUFPLDJDQUEyQywyRUFBVztBQUN4RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxnQkFBZ0IseUVBQVE7QUFDeEI7QUFDQTs7QUFFQTs7QUFFQSxVQUFVLHdFQUFRO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQix3RUFBUTtBQUN4QjtBQUNBLFdBQVc7QUFDWDtBQUNBLGdCQUFnQix5RUFBUTtBQUN4QjtBQUNBLE9BQU87QUFDUDtBQUNBLGdCQUFnQix5RUFBUTtBQUN4QixnQkFBZ0IseUVBQVE7QUFDeEI7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBLDBCQUEwQiwwRUFBVTtBQUNwQztBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsMEJBQTBCLDBFQUFVO0FBQ3BDO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0Qix3RUFBUTtBQUNwQztBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDBFQUFXO0FBQy9CO0FBQ0EsU0FBUyxpQkFBaUI7QUFDMUI7O0FBRUEsd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7O0FBRW5DLHdDQUF3Qzs7QUFFeEM7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHlFQUFVO0FBQzNCO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7O0FBR0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsK0JBQStCOztBQUUvQjs7QUFFQSwyQ0FBMkMsNkRBQVMsS0FBSyw2REFBUztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxNQUFNOztBQUVmLGtCQUFrQiw2REFBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIseUVBQVU7QUFDM0IsU0FBUyxNQUFNOztBQUVmLDBCQUEwQiwyQ0FBMkM7QUFDckU7O0FBRUEsMEJBQTBCLHdFQUFRO0FBQ2xDO0FBQ0Esb0JBQW9CLDJFQUFVO0FBQzlCLFdBQVcsVUFBVSw2REFBUztBQUM5QjtBQUNBO0FBQ0Esb0JBQW9CLDJFQUFVO0FBQzlCLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMTg2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IGxvb3NlRXF1YWwgZnJvbSAnLi4vLi4vdXRpbHMvbG9vc2UtZXF1YWwnO1xuaW1wb3J0IHRvU3RyaW5nIGZyb20gJy4uLy4uL3V0aWxzL3RvLXN0cmluZyc7XG5pbXBvcnQgd2FybiBmcm9tICcuLi8uLi91dGlscy93YXJuJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyByZXF1ZXN0QUYgfSBmcm9tICcuLi8uLi91dGlscy9kb20nO1xuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMvZW52JztcbmltcG9ydCB7IGlzQXJyYXksIGlzVW5kZWZpbmVkLCBpc0Z1bmN0aW9uLCBpc09iamVjdCB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsgY29tcHV0ZUhyZWYsIHBhcnNlUXVlcnkgfSBmcm9tICcuLi8uLi91dGlscy9yb3V0ZXInO1xuaW1wb3J0IHBhZ2luYXRpb25NaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvcGFnaW5hdGlvbic7XG52YXIgTkFNRSA9ICdCUGFnaW5hdGlvbk5hdic7IC8vIFNhbml0aXplIHRoZSBwcm92aWRlZCBudW1iZXIgb2YgcGFnZXMgKGNvbnZlcnRpbmcgdG8gYSBudW1iZXIpXG5cbmV4cG9ydCB2YXIgc2FuaXRpemVOdW1iZXJPZlBhZ2VzID0gZnVuY3Rpb24gc2FuaXRpemVOdW1iZXJPZlBhZ2VzKHZhbHVlKSB7XG4gIHZhciBudW1iZXJPZlBhZ2VzID0gcGFyc2VJbnQodmFsdWUsIDEwKSB8fCAxO1xuICByZXR1cm4gbnVtYmVyT2ZQYWdlcyA8IDEgPyAxIDogbnVtYmVyT2ZQYWdlcztcbn07XG52YXIgcHJvcHMgPSB7XG4gIHNpemU6IHtcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdzaXplJyk7XG4gICAgfVxuICB9LFxuICBudW1iZXJPZlBhZ2VzOiB7XG4gICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICBkZWZhdWx0OiAxLFxuICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbHVlKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAge1xuICAgICAgdmFyIG51bSA9IHBhcnNlSW50KHZhbHVlLCAxMCk7XG5cbiAgICAgIGlmIChpc05hTihudW0pIHx8IG51bSA8IDEpIHtcbiAgICAgICAgd2FybignYi1wYWdpbmF0aW9uOiBwcm9wIFwibnVtYmVyLW9mLXBhZ2VzXCIgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCcpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSxcbiAgYmFzZVVybDoge1xuICAgIHR5cGU6IFN0cmluZyxcbiAgICBkZWZhdWx0OiAnLydcbiAgfSxcbiAgdXNlUm91dGVyOiB7XG4gICAgdHlwZTogQm9vbGVhbixcbiAgICBkZWZhdWx0OiBmYWxzZVxuICB9LFxuICBsaW5rR2VuOiB7XG4gICAgdHlwZTogRnVuY3Rpb24sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBwYWdlR2VuOiB7XG4gICAgdHlwZTogRnVuY3Rpb24sXG4gICAgZGVmYXVsdDogbnVsbFxuICB9LFxuICBwYWdlczoge1xuICAgIC8vIE9wdGlvbmFsIGFycmF5IG9mIHBhZ2UgbGlua3NcbiAgICB0eXBlOiBBcnJheSxcbiAgICBkZWZhdWx0OiBudWxsXG4gIH0sXG4gIG5vUGFnZURldGVjdDoge1xuICAgIC8vIERpc2FibGUgYXV0byBwYWdlIG51bWJlciBkZXRlY3Rpb24gaWYgdHJ1ZVxuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfSxcbiAgLy8gcm91dGVyLWxpbmsgc3BlY2lmaWMgcHJvcHNcbiAgYWN0aXZlQ2xhc3M6IHtcbiAgICB0eXBlOiBTdHJpbmcgLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgfSxcbiAgZXhhY3Q6IHtcbiAgICB0eXBlOiBCb29sZWFuLFxuICAgIGRlZmF1bHQ6IGZhbHNlXG4gIH0sXG4gIGV4YWN0QWN0aXZlQ2xhc3M6IHtcbiAgICB0eXBlOiBTdHJpbmcgLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgfSxcbiAgLy8gbnV4dC1saW5rIHNwZWNpZmljIHByb3AocylcbiAgbm9QcmVmZXRjaDoge1xuICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgZGVmYXVsdDogZmFsc2VcbiAgfVxufTsgLy8gVGhlIHJlbmRlciBmdW5jdGlvbiBpcyBicm91Z2h0IGluIHZpYSB0aGUgcGFnaW5hdGlvbiBtaXhpblxuLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCUGFnaW5hdGlvbk5hdiA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgbWl4aW5zOiBbcGFnaW5hdGlvbk1peGluXSxcbiAgcHJvcHM6IHByb3BzLFxuICBjb21wdXRlZDoge1xuICAgIC8vIFVzZWQgYnkgcmVuZGVyIGZ1bmN0aW9uIHRvIHRyaWdnZXIgd3JhcHBpbmcgaW4gJzxuYXY+JyBlbGVtZW50XG4gICAgaXNOYXY6IGZ1bmN0aW9uIGlzTmF2KCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBjb21wdXRlZFZhbHVlOiBmdW5jdGlvbiBjb21wdXRlZFZhbHVlKCkge1xuICAgICAgLy8gUmV0dXJucyB0aGUgdmFsdWUgcHJvcCBhcyBhIG51bWJlciBvciBgbnVsbGAgaWYgdW5kZWZpbmVkIG9yIDwgMVxuICAgICAgdmFyIHZhbCA9IHBhcnNlSW50KHRoaXMudmFsdWUsIDEwKTtcbiAgICAgIHJldHVybiBpc05hTih2YWwpIHx8IHZhbCA8IDEgPyBudWxsIDogdmFsO1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBudW1iZXJPZlBhZ2VzOiBmdW5jdGlvbiBudW1iZXJPZlBhZ2VzKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIF90aGlzLnNldE51bWJlck9mUGFnZXMoKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcGFnZXM6IGZ1bmN0aW9uIHBhZ2VzKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICBfdGhpczIuc2V0TnVtYmVyT2ZQYWdlcygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIHRoaXMuc2V0TnVtYmVyT2ZQYWdlcygpO1xuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMuJHJvdXRlcikge1xuICAgICAgLy8gV2Ugb25seSBhZGQgdGhlIHdhdGNoZXIgaWYgdnVlIHJvdXRlciBpcyBkZXRlY3RlZFxuICAgICAgdGhpcy4kd2F0Y2goJyRyb3V0ZScsIGZ1bmN0aW9uICh0bywgZnJvbSkge1xuICAgICAgICBfdGhpczMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgX3RoaXMzLmd1ZXNzQ3VycmVudFBhZ2UoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBzZXROdW1iZXJPZlBhZ2VzOiBmdW5jdGlvbiBzZXROdW1iZXJPZlBhZ2VzKCkge1xuICAgICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICAgIGlmIChpc0FycmF5KHRoaXMucGFnZXMpICYmIHRoaXMucGFnZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmxvY2FsTnVtYmVyT2ZQYWdlcyA9IHRoaXMucGFnZXMubGVuZ3RoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2NhbE51bWJlck9mUGFnZXMgPSBzYW5pdGl6ZU51bWJlck9mUGFnZXModGhpcy5udW1iZXJPZlBhZ2VzKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICBfdGhpczQuZ3Vlc3NDdXJyZW50UGFnZSgpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKHBhZ2VOdW0sIGV2dCkge1xuICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICAgIC8vIERvbnQgZG8gYW55dGhpbmcgaWYgY2xpY2tpbmcgdGhlIGN1cnJlbnQgYWN0aXZlIHBhZ2VcbiAgICAgIGlmIChwYWdlTnVtID09PSB0aGlzLmN1cnJlbnRQYWdlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmVxdWVzdEFGKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gVXBkYXRlIHRoZSB2LW1vZGVsXG4gICAgICAgIC8vIERvbmUgaW4gaW4gcmVxdWVzdEFGKCkgdG8gYWxsb3cgYnJvd3NlciB0byBjb21wbGV0ZSB0aGVcbiAgICAgICAgLy8gbmF0aXZlIGJyb3dzZXIgY2xpY2sgaGFuZGxpbmcgb2YgYSBsaW5rXG4gICAgICAgIF90aGlzNS5jdXJyZW50UGFnZSA9IHBhZ2VOdW07XG5cbiAgICAgICAgX3RoaXM1LiRlbWl0KCdjaGFuZ2UnLCBwYWdlTnVtKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyBEb25lIGluIGEgbmV4dFRpY2soKSB0byBlbnN1cmUgcmVuZGVyaW5nIGNvbXBsZXRlXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gRW11bGF0ZSBuYXRpdmUgbGluayBjbGljayBwYWdlIHJlbG9hZGluZyBiZWhhdmlvdXIgYnkgYmx1cnJpbmcgdGhlXG4gICAgICAgICAgLy8gcGFnaW5hdG9yIGFuZCByZXR1cm5pbmcgZm9jdXMgdG8gdGhlIGRvY3VtZW50XG4gICAgICAgICAgdmFyIHRhcmdldCA9IGV2dC5jdXJyZW50VGFyZ2V0IHx8IGV2dC50YXJnZXQ7XG4gICAgICAgICAgdGFyZ2V0LmJsdXIoKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZ2V0UGFnZUluZm86IGZ1bmN0aW9uIGdldFBhZ2VJbmZvKHBhZ2VOdW0pIHtcbiAgICAgIGlmICghaXNBcnJheSh0aGlzLnBhZ2VzKSB8fCB0aGlzLnBhZ2VzLmxlbmd0aCA9PT0gMCB8fCBpc1VuZGVmaW5lZCh0aGlzLnBhZ2VzW3BhZ2VOdW0gLSAxXSkpIHtcbiAgICAgICAgdmFyIGxpbmsgPSBcIlwiLmNvbmNhdCh0aGlzLmJhc2VVcmwpLmNvbmNhdChwYWdlTnVtKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsaW5rOiB0aGlzLnVzZVJvdXRlciA/IHtcbiAgICAgICAgICAgIHBhdGg6IGxpbmtcbiAgICAgICAgICB9IDogbGluayxcbiAgICAgICAgICB0ZXh0OiB0b1N0cmluZyhwYWdlTnVtKVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICB2YXIgaW5mbyA9IHRoaXMucGFnZXNbcGFnZU51bSAtIDFdO1xuXG4gICAgICBpZiAoaXNPYmplY3QoaW5mbykpIHtcbiAgICAgICAgdmFyIF9saW5rID0gaW5mby5saW5rO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC8vIE5vcm1hbGl6ZSBsaW5rIGZvciByb3V0ZXIgdXNlXG4gICAgICAgICAgbGluazogaXNPYmplY3QoX2xpbmspID8gX2xpbmsgOiB0aGlzLnVzZVJvdXRlciA/IHtcbiAgICAgICAgICAgIHBhdGg6IF9saW5rXG4gICAgICAgICAgfSA6IF9saW5rLFxuICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0ZXh0IGhhcyBhIHZhbHVlXG4gICAgICAgICAgdGV4dDogdG9TdHJpbmcoaW5mby50ZXh0IHx8IHBhZ2VOdW0pXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxpbms6IHRvU3RyaW5nKGluZm8pLFxuICAgICAgICAgIHRleHQ6IHRvU3RyaW5nKHBhZ2VOdW0pXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSxcbiAgICBtYWtlUGFnZTogZnVuY3Rpb24gbWFrZVBhZ2UocGFnZU51bSkge1xuICAgICAgdmFyIGluZm8gPSB0aGlzLmdldFBhZ2VJbmZvKHBhZ2VOdW0pO1xuXG4gICAgICBpZiAodGhpcy5wYWdlR2VuICYmIGlzRnVuY3Rpb24odGhpcy5wYWdlR2VuKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYWdlR2VuKHBhZ2VOdW0sIGluZm8pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5mby50ZXh0O1xuICAgIH0sXG4gICAgbWFrZUxpbms6IGZ1bmN0aW9uIG1ha2VMaW5rKHBhZ2VOdW0pIHtcbiAgICAgIHZhciBpbmZvID0gdGhpcy5nZXRQYWdlSW5mbyhwYWdlTnVtKTtcblxuICAgICAgaWYgKHRoaXMubGlua0dlbiAmJiBpc0Z1bmN0aW9uKHRoaXMubGlua0dlbikpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlua0dlbihwYWdlTnVtLCBpbmZvKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluZm8ubGluaztcbiAgICB9LFxuICAgIGxpbmtQcm9wczogZnVuY3Rpb24gbGlua1Byb3BzKHBhZ2VOdW0pIHtcbiAgICAgIHZhciBsaW5rID0gdGhpcy5tYWtlTGluayhwYWdlTnVtKTtcbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldCB8fCBudWxsLFxuICAgICAgICByZWw6IHRoaXMucmVsIHx8IG51bGwsXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIHByb3BzIGFyZSBvbmx5IHVzZWQgaWYgQkxpbmsgZGV0ZWN0cyByb3V0ZXJcbiAgICAgICAgZXhhY3Q6IHRoaXMuZXhhY3QsXG4gICAgICAgIGFjdGl2ZUNsYXNzOiB0aGlzLmFjdGl2ZUNsYXNzLFxuICAgICAgICBleGFjdEFjdGl2ZUNsYXNzOiB0aGlzLmV4YWN0QWN0aXZlQ2xhc3MsXG4gICAgICAgIGFwcGVuZDogdGhpcy5hcHBlbmQsXG4gICAgICAgIHJlcGxhY2U6IHRoaXMucmVwbGFjZSxcbiAgICAgICAgLy8gbnV4dC1saW5rIHNwZWNpZmljIHByb3BcbiAgICAgICAgbm9QcmVmZXRjaDogdGhpcy5ub1ByZWZldGNoXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy51c2VSb3V0ZXIgfHwgaXNPYmplY3QobGluaykpIHtcbiAgICAgICAgcHJvcHMudG8gPSBsaW5rO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJvcHMuaHJlZiA9IGxpbms7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwcm9wcztcbiAgICB9LFxuICAgIHJlc29sdmVMaW5rOiBmdW5jdGlvbiByZXNvbHZlTGluaygpIHtcbiAgICAgIHZhciB0byA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJyc7XG4gICAgICAvLyBHaXZlbiBhIHRvIChvciBocmVmIHN0cmluZyksIGNvbnZlcnQgdG8gbm9ybWFsaXplZCByb3V0ZS1saWtlIHN0cnVjdHVyZVxuICAgICAgLy8gV29ya3Mgb25seSBjbGllbnQgc2lkZSEhXG4gICAgICB2YXIgbGluaztcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gQ29udmVydCB0aGUgYHRvYCB0byBhIEhSRUYgdmlhIGEgdGVtcG9yYXJ5IGBhYCB0YWdcbiAgICAgICAgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgbGluay5ocmVmID0gY29tcHV0ZUhyZWYoe1xuICAgICAgICAgIHRvOiB0b1xuICAgICAgICB9LCAnYScsICcvJywgJy8nKTsgLy8gV2UgbmVlZCB0byBhZGQgdGhlIGFuY2hvciB0byB0aGUgZG9jdW1lbnQgdG8gbWFrZSBzdXJlIHRoZVxuICAgICAgICAvLyBgcGF0aG5hbWVgIGlzIGNvcnJlY3RseSBkZXRlY3RlZCBpbiBhbnkgYnJvd3NlciAoaS5lLiBJRSlcblxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspOyAvLyBPbmNlIGhyZWYgaXMgYXNzaWduZWQsIHRoZSBsaW5rIHdpbGwgYmUgbm9ybWFsaXplZCB0byB0aGUgZnVsbCBVUkwgYml0c1xuXG4gICAgICAgIHZhciBfbGluazIgPSBsaW5rLFxuICAgICAgICAgICAgcGF0aG5hbWUgPSBfbGluazIucGF0aG5hbWUsXG4gICAgICAgICAgICBoYXNoID0gX2xpbmsyLmhhc2gsXG4gICAgICAgICAgICBzZWFyY2ggPSBfbGluazIuc2VhcmNoOyAvLyBSZW1vdmUgbGluayBmcm9tIGRvY3VtZW50XG5cbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTsgLy8gUmV0dXJuIHRoZSBsb2NhdGlvbiBpbiBhIHJvdXRlLWxpa2Ugb2JqZWN0XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwYXRoOiBwYXRobmFtZSxcbiAgICAgICAgICBoYXNoOiBoYXNoLFxuICAgICAgICAgIHF1ZXJ5OiBwYXJzZVF1ZXJ5KHNlYXJjaClcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsaW5rICYmIGxpbmsucGFyZW50Tm9kZSAmJiBsaW5rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cblxuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgfSxcbiAgICByZXNvbHZlUm91dGU6IGZ1bmN0aW9uIHJlc29sdmVSb3V0ZSgpIHtcbiAgICAgIHZhciB0byA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJyc7XG5cbiAgICAgIC8vIEdpdmVuIGEgdG8gKG9yIGhyZWYgc3RyaW5nKSwgY29udmVydCB0byBub3JtYWxpemVkIHJvdXRlIGxvY2F0aW9uIHN0cnVjdHVyZVxuICAgICAgLy8gd29ya3Mgb25seSB3aGVuIHJvdXRlciBhdmFpbGFibGUhIVxuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIHJvdXRlID0gdGhpcy4kcm91dGVyLnJlc29sdmUodG8sIHRoaXMuJHJvdXRlKS5yb3V0ZTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwYXRoOiByb3V0ZS5wYXRoLFxuICAgICAgICAgIGhhc2g6IHJvdXRlLmhhc2gsXG4gICAgICAgICAgcXVlcnk6IHJvdXRlLnF1ZXJ5XG4gICAgICAgIH07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGd1ZXNzQ3VycmVudFBhZ2U6IGZ1bmN0aW9uIGd1ZXNzQ3VycmVudFBhZ2UoKSB7XG4gICAgICB2YXIgZ3Vlc3MgPSB0aGlzLmNvbXB1dGVkVmFsdWU7XG4gICAgICB2YXIgJHJvdXRlciA9IHRoaXMuJHJvdXRlcjtcbiAgICAgIHZhciAkcm91dGUgPSB0aGlzLiRyb3V0ZTsgLy8gVGhpcyBzZWN0aW9uIG9ubHkgb2NjdXJzIGlmIHdlIGFyZSBjbGllbnQgc2lkZSwgb3Igc2VydmVyLXNpZGUgd2l0aCAkcm91dGVyXG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG5cbiAgICAgIGlmICghdGhpcy5ub1BhZ2VEZXRlY3QgJiYgIWd1ZXNzICYmIChpc0Jyb3dzZXIgfHwgIWlzQnJvd3NlciAmJiAkcm91dGVyKSkge1xuICAgICAgICAvLyBDdXJyZW50IHJvdXRlIChpZiByb3V0ZXIgYXZhaWxhYmxlKVxuICAgICAgICB2YXIgY3VyclJvdXRlID0gJHJvdXRlciAmJiAkcm91dGUgPyB7XG4gICAgICAgICAgcGF0aDogJHJvdXRlLnBhdGgsXG4gICAgICAgICAgaGFzaDogJHJvdXRlLmhhc2gsXG4gICAgICAgICAgcXVlcnk6ICRyb3V0ZS5xdWVyeVxuICAgICAgICB9IDoge307IC8vIEN1cnJlbnQgcGFnZSBmdWxsIEhSRUYgKGlmIGNsaWVudCBzaWRlKS4gQ2FuJ3QgYmUgZG9uZSBhcyBhIGNvbXB1dGVkIHByb3AhXG5cbiAgICAgICAgdmFyIGxvYyA9IGlzQnJvd3NlciA/IHdpbmRvdy5sb2NhdGlvbiB8fCBkb2N1bWVudC5sb2NhdGlvbiA6IG51bGw7XG4gICAgICAgIHZhciBjdXJyTGluayA9IGxvYyA/IHtcbiAgICAgICAgICBwYXRoOiBsb2MucGF0aG5hbWUsXG4gICAgICAgICAgaGFzaDogbG9jLmhhc2gsXG4gICAgICAgICAgcXVlcnk6IHBhcnNlUXVlcnkobG9jLnNlYXJjaClcbiAgICAgICAgfSA6IHt9OyAvLyBMb29wIHRocm91Z2ggdGhlIHBvc3NpYmxlIHBhZ2VzIGxvb2tpbmcgZm9yIGEgbWF0Y2ggdW50aWwgZm91bmRcblxuICAgICAgICBmb3IgKHZhciBwYWdlID0gMTsgIWd1ZXNzICYmIHBhZ2UgPD0gdGhpcy5sb2NhbE51bWJlck9mUGFnZXM7IHBhZ2UrKykge1xuICAgICAgICAgIHZhciB0byA9IHRoaXMubWFrZUxpbmsocGFnZSk7XG5cbiAgICAgICAgICBpZiAoJHJvdXRlciAmJiAoaXNPYmplY3QodG8pIHx8IHRoaXMudXNlUm91dGVyKSkge1xuICAgICAgICAgICAgLy8gUmVzb2x2ZSB0aGUgcGFnZSB2aWEgdGhlICRyb3V0ZXJcbiAgICAgICAgICAgIGd1ZXNzID0gbG9vc2VFcXVhbCh0aGlzLnJlc29sdmVSb3V0ZSh0byksIGN1cnJSb3V0ZSkgPyBwYWdlIDogbnVsbDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGlzQnJvd3Nlcikge1xuICAgICAgICAgICAgLy8gSWYgbm8gJHJvdXRlciBhdmFpbGFibGUgKG9yICF0aGlzLnVzZVJvdXRlciB3aGVuIGB0b2AgaXMgYSBzdHJpbmcpXG4gICAgICAgICAgICAvLyB3ZSBjb21wYXJlIHVzaW5nIHBhcnNlZCBVUklzXG4gICAgICAgICAgICBndWVzcyA9IGxvb3NlRXF1YWwodGhpcy5yZXNvbHZlTGluayh0byksIGN1cnJMaW5rKSA/IHBhZ2UgOiBudWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBwcm9iYWJseSBTU1IsIGJ1dCBubyAkcm91dGVyIHNvIHdlIGNhbid0IGd1ZXNzLCBzbyBsZXRzIGJyZWFrIG91dCBvZlxuICAgICAgICAgICAgLy8gdGhlIGxvb3AgZWFybHlcblxuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIGd1ZXNzID0gLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IC8vIFdlIHNldCBjdXJyZW50UGFnZSB0byAwIHRvIHRyaWdnZXIgYW4gJGVtaXQoJ2lucHV0JywgbnVsbClcbiAgICAgIC8vIEFzIHRoZSBkZWZhdWx0IGZvciB0aGlzLmN1cnJlbnRQYWdlIGlzIC0xIHdoZW4gbm8gdmFsdWUgaXMgc3BlY2lmaWVkXG4gICAgICAvLyBBbmQgdmFsaWQgcGFnZSBudW1iZXJzIGFyZSBncmVhdGVyIHRoYW4gMFxuXG5cbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBndWVzcyA+IDAgPyBndWVzcyA6IDA7XG4gICAgfVxuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3BhZ2luYXRpb24tbmF2L3BhZ2luYXRpb24tbmF2LmpzXG4vLyBtb2R1bGUgaWQgPSAxODZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///186\n"); + +/***/ }), +/* 187 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PopoverPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popover__ = __webpack_require__(188);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__directives_popover__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BPopover */\n\n\n\nvar PopoverPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BPopover: __WEBPACK_IMPORTED_MODULE_0__popover__[\"a\" /* BPopover */]\n },\n plugins: {\n VBPopoverPlugin: __WEBPACK_IMPORTED_MODULE_1__directives_popover__[\"a\" /* VBPopoverPlugin */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wb3BvdmVyL2luZGV4LmpzP2RkMWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFxQztBQUNzQjtBQUNQO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsY0FBYywwREFBUTtBQUN0QixHQUFHO0FBQ0g7QUFDQSxxQkFBcUIsNEVBQWU7QUFDcEM7QUFDQSxDQUFDIiwiZmlsZSI6IjE4Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJQb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVyJztcbmltcG9ydCB7IFZCUG9wb3ZlclBsdWdpbiB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgUG9wb3ZlclBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJQb3BvdmVyOiBCUG9wb3ZlclxuICB9LFxuICBwbHVnaW5zOiB7XG4gICAgVkJQb3BvdmVyUGx1Z2luOiBWQlBvcG92ZXJQbHVnaW5cbiAgfVxufSk7XG5leHBvcnQgeyBQb3BvdmVyUGx1Z2luLCBCUG9wb3ZlciB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvcG9wb3Zlci9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTg3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///187\n"); + +/***/ }), +/* 188 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BPopover; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_safe_types__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tooltip_tooltip__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__helpers_bv_popover__ = __webpack_require__(190);\n\n\n\n\n\nvar NAME = 'BPopover';\nvar BPopover =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n extends: __WEBPACK_IMPORTED_MODULE_3__tooltip_tooltip__[\"a\" /* BTooltip */],\n inheritAttrs: false,\n props: {\n title: {\n type: String // default: undefined\n\n },\n content: {\n type: String // default: undefined\n\n },\n triggers: {\n type: [String, Array],\n default: 'click'\n },\n placement: {\n type: String,\n default: 'right'\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n customClass: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'customClass');\n }\n },\n delay: {\n type: [Number, Object, String],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'delay');\n }\n },\n boundary: {\n // String: scrollParent, window, or viewport\n // Element: element reference\n // Object: Vue component\n type: [String, __WEBPACK_IMPORTED_MODULE_2__utils_safe_types__[\"b\" /* HTMLElement */], Object],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'boundary');\n }\n },\n boundaryPadding: {\n type: [Number, String],\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'boundaryPadding');\n }\n }\n },\n methods: {\n getComponent: function getComponent() {\n // Overridden by BPopover\n return __WEBPACK_IMPORTED_MODULE_4__helpers_bv_popover__[\"a\" /* BVPopover */];\n },\n updateContent: function updateContent() {\n // Tooltip: Default slot is `title`\n // Popover: Default slot is `content`, `title` slot is title\n // We pass a scoped slot function references by default (Vue v2.6x)\n // And pass the title prop as a fallback\n this.setContent(this.$scopedSlots.default || this.content);\n this.setTitle(this.$scopedSlots.title || this.title);\n }\n } // Render function provided by BTooltip\n\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuanM/MzczOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDc0I7QUFDSDtBQUNQO0FBQ0c7QUFDakQ7QUFDTztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsa0VBQVE7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsc0VBQVc7QUFDaEM7QUFDQSxlQUFlLGlGQUFrQjtBQUNqQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxlQUFlLGlGQUFrQjtBQUNqQztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsc0VBQVM7QUFDdEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVILENBQUMiLCJmaWxlIjoiMTg4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IEhUTUxFbGVtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvc2FmZS10eXBlcyc7XG5pbXBvcnQgeyBCVG9vbHRpcCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBCVlBvcG92ZXIgfSBmcm9tICcuL2hlbHBlcnMvYnYtcG9wb3Zlcic7XG52YXIgTkFNRSA9ICdCUG9wb3Zlcic7XG5leHBvcnQgdmFyIEJQb3BvdmVyID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBleHRlbmRzOiBCVG9vbHRpcCxcbiAgaW5oZXJpdEF0dHJzOiBmYWxzZSxcbiAgcHJvcHM6IHtcbiAgICB0aXRsZToge1xuICAgICAgdHlwZTogU3RyaW5nIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICBjb250ZW50OiB7XG4gICAgICB0eXBlOiBTdHJpbmcgLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgICB9LFxuICAgIHRyaWdnZXJzOiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBBcnJheV0sXG4gICAgICBkZWZhdWx0OiAnY2xpY2snXG4gICAgfSxcbiAgICBwbGFjZW1lbnQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICdyaWdodCdcbiAgICB9LFxuICAgIHZhcmlhbnQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd2YXJpYW50Jyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBjdXN0b21DbGFzczoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2N1c3RvbUNsYXNzJyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBkZWxheToge1xuICAgICAgdHlwZTogW051bWJlciwgT2JqZWN0LCBTdHJpbmddLFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2RlbGF5Jyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBib3VuZGFyeToge1xuICAgICAgLy8gU3RyaW5nOiBzY3JvbGxQYXJlbnQsIHdpbmRvdywgb3Igdmlld3BvcnRcbiAgICAgIC8vIEVsZW1lbnQ6IGVsZW1lbnQgcmVmZXJlbmNlXG4gICAgICAvLyBPYmplY3Q6IFZ1ZSBjb21wb25lbnRcbiAgICAgIHR5cGU6IFtTdHJpbmcsIEhUTUxFbGVtZW50LCBPYmplY3RdLFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2JvdW5kYXJ5Jyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBib3VuZGFyeVBhZGRpbmc6IHtcbiAgICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnYm91bmRhcnlQYWRkaW5nJyk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgZ2V0Q29tcG9uZW50OiBmdW5jdGlvbiBnZXRDb21wb25lbnQoKSB7XG4gICAgICAvLyBPdmVycmlkZGVuIGJ5IEJQb3BvdmVyXG4gICAgICByZXR1cm4gQlZQb3BvdmVyO1xuICAgIH0sXG4gICAgdXBkYXRlQ29udGVudDogZnVuY3Rpb24gdXBkYXRlQ29udGVudCgpIHtcbiAgICAgIC8vIFRvb2x0aXA6IERlZmF1bHQgc2xvdCBpcyBgdGl0bGVgXG4gICAgICAvLyBQb3BvdmVyOiBEZWZhdWx0IHNsb3QgaXMgYGNvbnRlbnRgLCBgdGl0bGVgIHNsb3QgaXMgdGl0bGVcbiAgICAgIC8vIFdlIHBhc3MgYSBzY29wZWQgc2xvdCBmdW5jdGlvbiByZWZlcmVuY2VzIGJ5IGRlZmF1bHQgKFZ1ZSB2Mi42eClcbiAgICAgIC8vIEFuZCBwYXNzIHRoZSB0aXRsZSBwcm9wIGFzIGEgZmFsbGJhY2tcbiAgICAgIHRoaXMuc2V0Q29udGVudCh0aGlzLiRzY29wZWRTbG90cy5kZWZhdWx0IHx8IHRoaXMuY29udGVudCk7XG4gICAgICB0aGlzLnNldFRpdGxlKHRoaXMuJHNjb3BlZFNsb3RzLnRpdGxlIHx8IHRoaXMudGl0bGUpO1xuICAgIH1cbiAgfSAvLyBSZW5kZXIgZnVuY3Rpb24gcHJvdmlkZWQgYnkgQlRvb2x0aXBcblxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuanNcbi8vIG1vZHVsZSBpZCA9IDE4OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///188\n"); + +/***/ }), +/* 189 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BVTooltipTemplate; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_scoped_style_attrs__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__bv_popper__ = __webpack_require__(258);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\nvar NAME = 'BVTooltipTemplate'; // @vue/component\n\nvar BVTooltipTemplate =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n extends: __WEBPACK_IMPORTED_MODULE_3__bv_popper__[\"a\" /* BVPopper */],\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_scoped_style_attrs__[\"a\" /* default */]],\n props: {\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: {\n type: String,\n default: null\n },\n html: {\n // Used only by the directive versions\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null\n };\n },\n computed: {\n templateType: function templateType() {\n return 'tooltip';\n },\n templateClasses: function templateClasses() {\n var _ref;\n\n return [(_ref = {}, _defineProperty(_ref, \"b-\".concat(this.templateType, \"-\").concat(this.variant), this.variant), _defineProperty(_ref, \"bs-\".concat(this.templateType, \"-\").concat(this.attachment), this.attachment), _ref), this.customClass];\n },\n templateAttributes: function templateAttributes() {\n return _objectSpread({\n id: this.id,\n role: 'tooltip',\n tabindex: '-1'\n }, this.scopedStyleAttrs);\n },\n templateListeners: function templateListeners() {\n var _this = this;\n\n // Used for hover/focus trigger listeners\n return {\n mouseenter: function mouseenter(evt) {\n /* istanbul ignore next: difficult to test in JSDOM */\n _this.$emit('mouseenter', evt);\n },\n mouseleave: function mouseleave(evt) {\n /* istanbul ignore next: difficult to test in JSDOM */\n _this.$emit('mouseleave', evt);\n },\n focusin: function focusin(evt) {\n /* istanbul ignore next: difficult to test in JSDOM */\n _this.$emit('focusin', evt);\n },\n focusout: function focusout(evt) {\n /* istanbul ignore next: difficult to test in JSDOM */\n _this.$emit('focusout', evt);\n }\n };\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n // Title can be a scoped slot function\n var $title = Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(this.title) ? this.title({}) : Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"o\" /* isUndefinedOrNull */])(this.title) ? h() : this.title; // Directive versions only\n\n var domProps = this.html && !Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(this.title) ? {\n innerHTML: this.title\n } : {};\n return h('div', {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n ref: 'arrow',\n staticClass: 'arrow'\n }), h('div', {\n staticClass: 'tooltip-inner',\n domProps: domProps\n }, [$title])]);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b29sdGlwL2hlbHBlcnMvYnYtdG9vbHRpcC10ZW1wbGF0ZS5qcz8wNjk3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTFLO0FBQ2tDO0FBQ0E7QUFDaEM7QUFDdkMsK0JBQStCOztBQUV4QjtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsNERBQVE7QUFDbkIsV0FBVywyRUFBcUI7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSx3QkFBd0I7QUFDeEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsMEVBQVUsNEJBQTRCLElBQUksaUZBQWlCLGdDQUFnQzs7QUFFOUcsbUNBQW1DLDBFQUFVO0FBQzdDO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjE4OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCBzY29wZWRTdHlsZUF0dHJzTWl4aW4gZnJvbSAnLi4vLi4vLi4vbWl4aW5zL3Njb3BlZC1zdHlsZS1hdHRycyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsgQlZQb3BwZXIgfSBmcm9tICcuL2J2LXBvcHBlcic7XG52YXIgTkFNRSA9ICdCVlRvb2x0aXBUZW1wbGF0ZSc7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQlZUb29sdGlwVGVtcGxhdGUgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6IE5BTUUsXG4gIGV4dGVuZHM6IEJWUG9wcGVyLFxuICBtaXhpbnM6IFtzY29wZWRTdHlsZUF0dHJzTWl4aW5dLFxuICBwcm9wczoge1xuICAgIC8vIE90aGVyIG5vbi1yZWFjdGl2ZSAod2hpbGUgb3BlbikgcHJvcHMgYXJlIHB1bGxlZCBpbiBmcm9tIEJWUG9wcGVyXG4gICAgaWQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIGh0bWw6IHtcbiAgICAgIC8vIFVzZWQgb25seSBieSB0aGUgZGlyZWN0aXZlIHZlcnNpb25zXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9XG4gIH0sXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgLy8gV2UgdXNlIGRhdGEsIHJhdGhlciB0aGFuIHByb3BzIHRvIGVuc3VyZSByZWFjdGl2aXR5XG4gICAgLy8gUGFyZW50IGNvbXBvbmVudCB3aWxsIGRpcmVjdGx5IHNldCB0aGlzIGRhdGFcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICcnLFxuICAgICAgY29udGVudDogJycsXG4gICAgICB2YXJpYW50OiBudWxsLFxuICAgICAgY3VzdG9tQ2xhc3M6IG51bGxcbiAgICB9O1xuICB9LFxuICBjb21wdXRlZDoge1xuICAgIHRlbXBsYXRlVHlwZTogZnVuY3Rpb24gdGVtcGxhdGVUeXBlKCkge1xuICAgICAgcmV0dXJuICd0b29sdGlwJztcbiAgICB9LFxuICAgIHRlbXBsYXRlQ2xhc3NlczogZnVuY3Rpb24gdGVtcGxhdGVDbGFzc2VzKCkge1xuICAgICAgdmFyIF9yZWY7XG5cbiAgICAgIHJldHVybiBbKF9yZWYgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9yZWYsIFwiYi1cIi5jb25jYXQodGhpcy50ZW1wbGF0ZVR5cGUsIFwiLVwiKS5jb25jYXQodGhpcy52YXJpYW50KSwgdGhpcy52YXJpYW50KSwgX2RlZmluZVByb3BlcnR5KF9yZWYsIFwiYnMtXCIuY29uY2F0KHRoaXMudGVtcGxhdGVUeXBlLCBcIi1cIikuY29uY2F0KHRoaXMuYXR0YWNobWVudCksIHRoaXMuYXR0YWNobWVudCksIF9yZWYpLCB0aGlzLmN1c3RvbUNsYXNzXTtcbiAgICB9LFxuICAgIHRlbXBsYXRlQXR0cmlidXRlczogZnVuY3Rpb24gdGVtcGxhdGVBdHRyaWJ1dGVzKCkge1xuICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgcm9sZTogJ3Rvb2x0aXAnLFxuICAgICAgICB0YWJpbmRleDogJy0xJ1xuICAgICAgfSwgdGhpcy5zY29wZWRTdHlsZUF0dHJzKTtcbiAgICB9LFxuICAgIHRlbXBsYXRlTGlzdGVuZXJzOiBmdW5jdGlvbiB0ZW1wbGF0ZUxpc3RlbmVycygpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIC8vIFVzZWQgZm9yIGhvdmVyL2ZvY3VzIHRyaWdnZXIgbGlzdGVuZXJzXG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb3VzZWVudGVyOiBmdW5jdGlvbiBtb3VzZWVudGVyKGV2dCkge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBkaWZmaWN1bHQgdG8gdGVzdCBpbiBKU0RPTSAqL1xuICAgICAgICAgIF90aGlzLiRlbWl0KCdtb3VzZWVudGVyJywgZXZ0KTtcbiAgICAgICAgfSxcbiAgICAgICAgbW91c2VsZWF2ZTogZnVuY3Rpb24gbW91c2VsZWF2ZShldnQpIHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogZGlmZmljdWx0IHRvIHRlc3QgaW4gSlNET00gKi9cbiAgICAgICAgICBfdGhpcy4kZW1pdCgnbW91c2VsZWF2ZScsIGV2dCk7XG4gICAgICAgIH0sXG4gICAgICAgIGZvY3VzaW46IGZ1bmN0aW9uIGZvY3VzaW4oZXZ0KSB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGRpZmZpY3VsdCB0byB0ZXN0IGluIEpTRE9NICovXG4gICAgICAgICAgX3RoaXMuJGVtaXQoJ2ZvY3VzaW4nLCBldnQpO1xuICAgICAgICB9LFxuICAgICAgICBmb2N1c291dDogZnVuY3Rpb24gZm9jdXNvdXQoZXZ0KSB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGRpZmZpY3VsdCB0byB0ZXN0IGluIEpTRE9NICovXG4gICAgICAgICAgX3RoaXMuJGVtaXQoJ2ZvY3Vzb3V0JywgZXZ0KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICByZW5kZXJUZW1wbGF0ZTogZnVuY3Rpb24gcmVuZGVyVGVtcGxhdGUoaCkge1xuICAgICAgLy8gVGl0bGUgY2FuIGJlIGEgc2NvcGVkIHNsb3QgZnVuY3Rpb25cbiAgICAgIHZhciAkdGl0bGUgPSBpc0Z1bmN0aW9uKHRoaXMudGl0bGUpID8gdGhpcy50aXRsZSh7fSkgOiBpc1VuZGVmaW5lZE9yTnVsbCh0aGlzLnRpdGxlKSA/IGgoKSA6IHRoaXMudGl0bGU7IC8vIERpcmVjdGl2ZSB2ZXJzaW9ucyBvbmx5XG5cbiAgICAgIHZhciBkb21Qcm9wcyA9IHRoaXMuaHRtbCAmJiAhaXNGdW5jdGlvbih0aGlzLnRpdGxlKSA/IHtcbiAgICAgICAgaW5uZXJIVE1MOiB0aGlzLnRpdGxlXG4gICAgICB9IDoge307XG4gICAgICByZXR1cm4gaCgnZGl2Jywge1xuICAgICAgICBzdGF0aWNDbGFzczogJ3Rvb2x0aXAgYi10b29sdGlwJyxcbiAgICAgICAgY2xhc3M6IHRoaXMudGVtcGxhdGVDbGFzc2VzLFxuICAgICAgICBhdHRyczogdGhpcy50ZW1wbGF0ZUF0dHJpYnV0ZXMsXG4gICAgICAgIG9uOiB0aGlzLnRlbXBsYXRlTGlzdGVuZXJzXG4gICAgICB9LCBbaCgnZGl2Jywge1xuICAgICAgICByZWY6ICdhcnJvdycsXG4gICAgICAgIHN0YXRpY0NsYXNzOiAnYXJyb3cnXG4gICAgICB9KSwgaCgnZGl2Jywge1xuICAgICAgICBzdGF0aWNDbGFzczogJ3Rvb2x0aXAtaW5uZXInLFxuICAgICAgICBkb21Qcm9wczogZG9tUHJvcHNcbiAgICAgIH0sIFskdGl0bGVdKV0pO1xuICAgIH1cbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b29sdGlwL2hlbHBlcnMvYnYtdG9vbHRpcC10ZW1wbGF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gMTg5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///189\n"); + +/***/ }), +/* 190 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BVPopover; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tooltip_helpers_bv_tooltip__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bv_popover_template__ = __webpack_require__(259);\n// Popover \"Class\" (Built as a renderless Vue instance)\n// Inherits from BVTooltip\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\n\n\n\nvar NAME = 'BVPopover'; // @vue/component\n\nvar BVPopover =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n extends: __WEBPACK_IMPORTED_MODULE_1__tooltip_helpers_bv_tooltip__[\"a\" /* BVTooltip */],\n computed: {\n // Overwrites BVTooltip\n templateType: function templateType() {\n return 'popover';\n }\n },\n methods: {\n getTemplate: function getTemplate() {\n // Overwrites BVTooltip\n return __WEBPACK_IMPORTED_MODULE_2__bv_popover_template__[\"a\" /* BVPopoverTemplate */];\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wb3BvdmVyL2hlbHBlcnMvYnYtcG9wb3Zlci5qcz9iNGQ0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUN3QjtBQUNIO0FBQzFELHVCQUF1Qjs7QUFFaEI7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxXQUFXLDhFQUFTO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsYUFBYSwrRUFBaUI7QUFDOUI7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMTkwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUG9wb3ZlciBcIkNsYXNzXCIgKEJ1aWx0IGFzIGEgcmVuZGVybGVzcyBWdWUgaW5zdGFuY2UpXG4vLyBJbmhlcml0cyBmcm9tIEJWVG9vbHRpcFxuLy9cbi8vIEhhbmRsZXMgdHJpZ2dlciBldmVudHMsIGV0Yy5cbi8vIEluc3RhbnRpYXRlcyB0ZW1wbGF0ZSBvbiBkZW1hbmRcbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IEJWVG9vbHRpcCB9IGZyb20gJy4uLy4uL3Rvb2x0aXAvaGVscGVycy9idi10b29sdGlwJztcbmltcG9ydCB7IEJWUG9wb3ZlclRlbXBsYXRlIH0gZnJvbSAnLi9idi1wb3BvdmVyLXRlbXBsYXRlJztcbnZhciBOQU1FID0gJ0JWUG9wb3Zlcic7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQlZQb3BvdmVyID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBleHRlbmRzOiBCVlRvb2x0aXAsXG4gIGNvbXB1dGVkOiB7XG4gICAgLy8gT3ZlcndyaXRlcyBCVlRvb2x0aXBcbiAgICB0ZW1wbGF0ZVR5cGU6IGZ1bmN0aW9uIHRlbXBsYXRlVHlwZSgpIHtcbiAgICAgIHJldHVybiAncG9wb3Zlcic7XG4gICAgfVxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgZ2V0VGVtcGxhdGU6IGZ1bmN0aW9uIGdldFRlbXBsYXRlKCkge1xuICAgICAgLy8gT3ZlcndyaXRlcyBCVlRvb2x0aXBcbiAgICAgIHJldHVybiBCVlBvcG92ZXJUZW1wbGF0ZTtcbiAgICB9XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvcG9wb3Zlci9oZWxwZXJzL2J2LXBvcG92ZXIuanNcbi8vIG1vZHVsZSBpZCA9IDE5MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///190\n"); + +/***/ }), +/* 191 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBPopover; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_get_scope_id__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_popover_helpers_bv_popover__ = __webpack_require__(190);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n // Key which we use to store tooltip object on element\n\nvar BV_POPOVER = '__BV_Popover__'; // Default trigger\n\nvar DefaultTrigger = 'click'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i; // Build a Popover config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var NAME = 'BPopover';\n var config = {\n title: undefined,\n content: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'right',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n disabled: false,\n id: null,\n html: false,\n delay: Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'delay'),\n boundary: String(Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'boundary')),\n boundaryPadding: parseInt(Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'boundaryPadding'), 10) || 0,\n variant: Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant'),\n customClass: Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'customClass')\n }; // Process `bindings.value`\n\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"m\" /* isString */])(bindings.value) || Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"h\" /* isNumber */])(bindings.value)) {\n // Value is popover content (html optionally supported)\n config.content = bindings.value;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"f\" /* isFunction */])(bindings.value)) {\n // Content generator function\n config.content = bindings.value;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"j\" /* isPlainObject */])(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread({}, config, {}, bindings.value);\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // If title is not provided, try title attribute\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"n\" /* isUndefined */])(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"o\" /* isUndefinedOrNull */])(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"j\" /* isPlainObject */])(config.delay)) {\n config.delay = {\n show: parseInt(config.delay, 10) || 0,\n hide: parseInt(config.delay, 10) || 0\n };\n } // Process modifiers\n\n\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title/content allows HTML\n config.html = true;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of popover\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of popover\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = parseInt(mod.slice(1), 10) || 0;\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = parseInt(mod.slice(2), 10) || 0;\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = parseInt(mod.slice(2), 10) || 0;\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = parseInt(mod.slice(1), 10) || 0;\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"b\" /* concat */])(config.trigger || '').filter(Boolean).join(' ').trim().toLowerCase().split(/\\s+/).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n }\n\n return config;\n}; // Add or update Popover on our element\n\n\nvar applyPopover = function applyPopover(el, bindings, vnode) {\n if (!__WEBPACK_IMPORTED_MODULE_4__utils_env__[\"j\" /* isBrowser */]) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_POPOVER]) {\n var $parent = vnode.context;\n el[BV_POPOVER] = new __WEBPACK_IMPORTED_MODULE_7__components_popover_helpers_bv_popover__[\"a\" /* BVPopover */]({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: Object(__WEBPACK_IMPORTED_MODULE_0__utils_get_scope_id__[\"a\" /* default */])($parent, undefined)\n });\n el[BV_POPOVER].__bv_prev_data__ = {};\n el[BV_POPOVER].$on('show', function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the popover, we update the title\n // and content if they are functions\n var data = {};\n\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"f\" /* isFunction */])(config.title)) {\n data.title = config.title();\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"f\" /* isFunction */])(config.content)) {\n data.content = config.content();\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(data).length > 0) {\n el[BV_POPOVER].updateData(data);\n }\n });\n }\n\n var data = {\n title: config.title,\n content: config.content,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_POPOVER].__bv_prev_data__;\n el[BV_POPOVER].__bv_prev_data__ = data;\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__[\"a\" /* default */])(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // If title/content is a function, we execute it here\n newData[prop] = (prop === 'title' || prop === 'content') && Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"f\" /* isFunction */])(data[prop]) ? data[prop]() : data[prop];\n }\n });\n el[BV_POPOVER].updateData(newData);\n }\n}; // Remove Popover from our element\n\n\nvar removePopover = function removePopover(el) {\n if (el[BV_POPOVER]) {\n el[BV_POPOVER].$destroy();\n el[BV_POPOVER] = null;\n }\n\n delete el[BV_POPOVER];\n}; // Export our directive\n\n\nvar VBPopover = {\n bind: function bind(el, bindings, vnode) {\n applyPopover(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent endless render/update loops\n vnode.context.$nextTick(function () {\n applyPopover(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removePopover(el);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9wb3BvdmVyL3BvcG92ZXIuanM/ZjY3ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTlKO0FBQ0E7QUFDTjtBQUNhO0FBQ1o7QUFDd0U7QUFDMUU7QUFDOEI7O0FBRXhFLGtDQUFrQzs7QUFFbEMsNkJBQTZCOztBQUU3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGlGQUFrQjtBQUM3QixxQkFBcUIsaUZBQWtCO0FBQ3ZDLDhCQUE4QixpRkFBa0I7QUFDaEQsYUFBYSxpRkFBa0I7QUFDL0IsaUJBQWlCLGlGQUFrQjtBQUNuQyxJQUFJOztBQUVKLE1BQU0sd0VBQVEsb0JBQW9CLHdFQUFRO0FBQzFDO0FBQ0E7QUFDQSxHQUFHLFVBQVUsMEVBQVU7QUFDdkI7QUFDQTtBQUNBLEdBQUcsVUFBVSw2RUFBYTtBQUMxQjtBQUNBLDZCQUE2QixZQUFZO0FBQ3pDLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0gsTUFBTSwyRUFBVztBQUNqQjtBQUNBO0FBQ0Esa0NBQWtDLGlGQUFpQjtBQUNuRCxHQUFHOzs7QUFHSCxPQUFPLDZFQUFhO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0gsRUFBRSxtRUFBSTtBQUNOO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUcsRUFBRTtBQUNMOztBQUVBLDRCQUE0Qjs7QUFFNUIsRUFBRSxvRUFBTTtBQUNSO0FBQ0E7QUFDQTtBQUNBLEdBQUcsRUFBRTs7QUFFTCxFQUFFLG1FQUFJO0FBQ047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7O0FBRUwsbUJBQW1CLG1FQUFJOztBQUV2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0EsT0FBTyw2REFBUztBQUNoQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLHlCQUF5Qix5RkFBUztBQUNsQztBQUNBO0FBQ0EsZ0JBQWdCLDRFQUFTO0FBQ3pCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxVQUFVLDBFQUFVO0FBQ3BCO0FBQ0E7O0FBRUEsVUFBVSwwRUFBVTtBQUNwQjtBQUNBOztBQUVBLFVBQVUsbUVBQUk7QUFDZDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU8sMkVBQVU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLG1FQUFJO0FBQ1I7QUFDQTtBQUNBO0FBQ0Esb0VBQW9FLDBFQUFVO0FBQzlFO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7O0FBR0s7QUFDUDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMTkxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IGdldFNjb3BJZCBmcm9tICcuLi8uLi91dGlscy9nZXQtc2NvcGUtaWQnO1xuaW1wb3J0IGxvb3NlRXF1YWwgZnJvbSAnLi4vLi4vdXRpbHMvbG9vc2UtZXF1YWwnO1xuaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJy4uLy4uL3V0aWxzL2Vudic7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc051bWJlciwgaXNQbGFpbk9iamVjdCwgaXNTdHJpbmcsIGlzVW5kZWZpbmVkLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsga2V5cyB9IGZyb20gJy4uLy4uL3V0aWxzL29iamVjdCc7XG5pbXBvcnQgeyBCVlBvcG92ZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3BvcG92ZXIvaGVscGVycy9idi1wb3BvdmVyJzsgLy8gS2V5IHdoaWNoIHdlIHVzZSB0byBzdG9yZSB0b29sdGlwIG9iamVjdCBvbiBlbGVtZW50XG5cbnZhciBCVl9QT1BPVkVSID0gJ19fQlZfUG9wb3Zlcl9fJzsgLy8gRGVmYXVsdCB0cmlnZ2VyXG5cbnZhciBEZWZhdWx0VHJpZ2dlciA9ICdjbGljayc7IC8vIFZhbGlkIGV2ZW50IHRyaWdnZXJzXG5cbnZhciB2YWxpZFRyaWdnZXJzID0ge1xuICBmb2N1czogdHJ1ZSxcbiAgaG92ZXI6IHRydWUsXG4gIGNsaWNrOiB0cnVlLFxuICBibHVyOiB0cnVlLFxuICBtYW51YWw6IHRydWVcbn07IC8vIERpcmVjdGl2ZSBtb2RpZmllciB0ZXN0IHJlZ3VsYXIgZXhwcmVzc2lvbnMuIFByZS1jb21waWxlIGZvciBwZXJmb3JtYW5jZVxuXG52YXIgaHRtbFJFID0gL15odG1sJC9pO1xudmFyIG5vRmFkZVJFID0gL15ub2ZhZGUkL2k7XG52YXIgcGxhY2VtZW50UkUgPSAvXihhdXRvfHRvcChsZWZ0fHJpZ2h0KT98Ym90dG9tKGxlZnR8cmlnaHQpP3xsZWZ0KHRvcHxib3R0b20pP3xyaWdodCh0b3B8Ym90dG9tKT8pJC9pO1xudmFyIGJvdW5kYXJ5UkUgPSAvXih3aW5kb3d8dmlld3BvcnR8c2Nyb2xsUGFyZW50KSQvaTtcbnZhciBkZWxheVJFID0gL15kXFxkKyQvaTtcbnZhciBkZWxheVNob3dSRSA9IC9eZHNcXGQrJC9pO1xudmFyIGRlbGF5SGlkZVJFID0gL15kaFxcZCskL2k7XG52YXIgb2Zmc2V0UkUgPSAvXm8tP1xcZCskL2k7XG52YXIgdmFyaWFudFJFID0gL152LS4rJC9pOyAvLyBCdWlsZCBhIFBvcG92ZXIgY29uZmlnIGJhc2VkIG9uIGJpbmRpbmdzIChpZiBhbnkpXG4vLyBBcmd1bWVudHMgYW5kIG1vZGlmaWVycyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwYXNzZWQgdmFsdWUgY29uZmlnIG9iamVjdFxuXG52YXIgcGFyc2VCaW5kaW5ncyA9IGZ1bmN0aW9uIHBhcnNlQmluZGluZ3MoYmluZGluZ3MsIHZub2RlKVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IG5vdCBlYXN5IHRvIHRlc3QgKi9cbntcbiAgLy8gV2Ugc3RhcnQgb3V0IHdpdGggYSBiYXNpYyBjb25maWdcbiAgdmFyIE5BTUUgPSAnQlBvcG92ZXInO1xuICB2YXIgY29uZmlnID0ge1xuICAgIHRpdGxlOiB1bmRlZmluZWQsXG4gICAgY29udGVudDogdW5kZWZpbmVkLFxuICAgIHRyaWdnZXI6ICcnLFxuICAgIC8vIERlZmF1bHQgc2V0IGJlbG93IGlmIG5lZWRlZFxuICAgIHBsYWNlbWVudDogJ3JpZ2h0JyxcbiAgICBmYWxsYmFja1BsYWNlbWVudDogJ2ZsaXAnLFxuICAgIGNvbnRhaW5lcjogZmFsc2UsXG4gICAgLy8gRGVmYXVsdCBvZiBib2R5XG4gICAgYW5pbWF0aW9uOiB0cnVlLFxuICAgIG9mZnNldDogMCxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgaWQ6IG51bGwsXG4gICAgaHRtbDogZmFsc2UsXG4gICAgZGVsYXk6IGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnZGVsYXknKSxcbiAgICBib3VuZGFyeTogU3RyaW5nKGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnYm91bmRhcnknKSksXG4gICAgYm91bmRhcnlQYWRkaW5nOiBwYXJzZUludChnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2JvdW5kYXJ5UGFkZGluZycpLCAxMCkgfHwgMCxcbiAgICB2YXJpYW50OiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ3ZhcmlhbnQnKSxcbiAgICBjdXN0b21DbGFzczogZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdjdXN0b21DbGFzcycpXG4gIH07IC8vIFByb2Nlc3MgYGJpbmRpbmdzLnZhbHVlYFxuXG4gIGlmIChpc1N0cmluZyhiaW5kaW5ncy52YWx1ZSkgfHwgaXNOdW1iZXIoYmluZGluZ3MudmFsdWUpKSB7XG4gICAgLy8gVmFsdWUgaXMgcG9wb3ZlciBjb250ZW50IChodG1sIG9wdGlvbmFsbHkgc3VwcG9ydGVkKVxuICAgIGNvbmZpZy5jb250ZW50ID0gYmluZGluZ3MudmFsdWU7XG4gIH0gZWxzZSBpZiAoaXNGdW5jdGlvbihiaW5kaW5ncy52YWx1ZSkpIHtcbiAgICAvLyBDb250ZW50IGdlbmVyYXRvciBmdW5jdGlvblxuICAgIGNvbmZpZy5jb250ZW50ID0gYmluZGluZ3MudmFsdWU7XG4gIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdChiaW5kaW5ncy52YWx1ZSkpIHtcbiAgICAvLyBWYWx1ZSBpcyBjb25maWcgb2JqZWN0LCBzbyBtZXJnZVxuICAgIGNvbmZpZyA9IF9vYmplY3RTcHJlYWQoe30sIGNvbmZpZywge30sIGJpbmRpbmdzLnZhbHVlKTtcbiAgfSAvLyBJZiBhcmd1bWVudCwgYXNzdW1lIGVsZW1lbnQgSUQgb2YgY29udGFpbmVyIGVsZW1lbnRcblxuXG4gIGlmIChiaW5kaW5ncy5hcmcpIHtcbiAgICAvLyBFbGVtZW50IElEIHNwZWNpZmllZCBhcyBhcmdcbiAgICAvLyBXZSBtdXN0IHByZXBlbmQgJyMnIHRvIGJlY29tZSBhIENTUyBzZWxlY3RvclxuICAgIGNvbmZpZy5jb250YWluZXIgPSBcIiNcIi5jb25jYXQoYmluZGluZ3MuYXJnKTtcbiAgfSAvLyBJZiB0aXRsZSBpcyBub3QgcHJvdmlkZWQsIHRyeSB0aXRsZSBhdHRyaWJ1dGVcblxuXG4gIGlmIChpc1VuZGVmaW5lZChjb25maWcudGl0bGUpKSB7XG4gICAgLy8gVHJ5IGF0dHJpYnV0ZVxuICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YSB8fCB7fTtcbiAgICBjb25maWcudGl0bGUgPSBkYXRhLmF0dHJzICYmICFpc1VuZGVmaW5lZE9yTnVsbChkYXRhLmF0dHJzLnRpdGxlKSA/IGRhdGEuYXR0cnMudGl0bGUgOiB1bmRlZmluZWQ7XG4gIH0gLy8gTm9ybWFsaXplIGRlbGF5XG5cblxuICBpZiAoIWlzUGxhaW5PYmplY3QoY29uZmlnLmRlbGF5KSkge1xuICAgIGNvbmZpZy5kZWxheSA9IHtcbiAgICAgIHNob3c6IHBhcnNlSW50KGNvbmZpZy5kZWxheSwgMTApIHx8IDAsXG4gICAgICBoaWRlOiBwYXJzZUludChjb25maWcuZGVsYXksIDEwKSB8fCAwXG4gICAgfTtcbiAgfSAvLyBQcm9jZXNzIG1vZGlmaWVyc1xuXG5cbiAga2V5cyhiaW5kaW5ncy5tb2RpZmllcnMpLmZvckVhY2goZnVuY3Rpb24gKG1vZCkge1xuICAgIGlmIChodG1sUkUudGVzdChtb2QpKSB7XG4gICAgICAvLyBUaXRsZS9jb250ZW50IGFsbG93cyBIVE1MXG4gICAgICBjb25maWcuaHRtbCA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChub0ZhZGVSRS50ZXN0KG1vZCkpIHtcbiAgICAgIC8vIE5vIGFuaW1hdGlvblxuICAgICAgY29uZmlnLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAocGxhY2VtZW50UkUudGVzdChtb2QpKSB7XG4gICAgICAvLyBQbGFjZW1lbnQgb2YgcG9wb3ZlclxuICAgICAgY29uZmlnLnBsYWNlbWVudCA9IG1vZDtcbiAgICB9IGVsc2UgaWYgKGJvdW5kYXJ5UkUudGVzdChtb2QpKSB7XG4gICAgICAvLyBCb3VuZGFyeSBvZiBwb3BvdmVyXG4gICAgICBtb2QgPSBtb2QgPT09ICdzY3JvbGxwYXJlbnQnID8gJ3Njcm9sbFBhcmVudCcgOiBtb2Q7XG4gICAgICBjb25maWcuYm91bmRhcnkgPSBtb2Q7XG4gICAgfSBlbHNlIGlmIChkZWxheVJFLnRlc3QobW9kKSkge1xuICAgICAgLy8gRGVsYXkgdmFsdWVcbiAgICAgIHZhciBkZWxheSA9IHBhcnNlSW50KG1vZC5zbGljZSgxKSwgMTApIHx8IDA7XG4gICAgICBjb25maWcuZGVsYXkuc2hvdyA9IGRlbGF5O1xuICAgICAgY29uZmlnLmRlbGF5LmhpZGUgPSBkZWxheTtcbiAgICB9IGVsc2UgaWYgKGRlbGF5U2hvd1JFLnRlc3QobW9kKSkge1xuICAgICAgLy8gRGVsYXkgc2hvdyB2YWx1ZVxuICAgICAgY29uZmlnLmRlbGF5LnNob3cgPSBwYXJzZUludChtb2Quc2xpY2UoMiksIDEwKSB8fCAwO1xuICAgIH0gZWxzZSBpZiAoZGVsYXlIaWRlUkUudGVzdChtb2QpKSB7XG4gICAgICAvLyBEZWxheSBoaWRlIHZhbHVlXG4gICAgICBjb25maWcuZGVsYXkuaGlkZSA9IHBhcnNlSW50KG1vZC5zbGljZSgyKSwgMTApIHx8IDA7XG4gICAgfSBlbHNlIGlmIChvZmZzZXRSRS50ZXN0KG1vZCkpIHtcbiAgICAgIC8vIE9mZnNldCB2YWx1ZSwgbmVnYXRpdmUgYWxsb3dlZFxuICAgICAgY29uZmlnLm9mZnNldCA9IHBhcnNlSW50KG1vZC5zbGljZSgxKSwgMTApIHx8IDA7XG4gICAgfSBlbHNlIGlmICh2YXJpYW50UkUudGVzdChtb2QpKSB7XG4gICAgICAvLyBWYXJpYW50XG4gICAgICBjb25maWcudmFyaWFudCA9IG1vZC5zbGljZSgyKSB8fCBudWxsO1xuICAgIH1cbiAgfSk7IC8vIFNwZWNpYWwgaGFuZGxpbmcgb2YgZXZlbnQgdHJpZ2dlciBtb2RpZmllcnMgdHJpZ2dlciBpc1xuICAvLyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0XG5cbiAgdmFyIHNlbGVjdGVkVHJpZ2dlcnMgPSB7fTsgLy8gUGFyc2UgY3VycmVudCBjb25maWcgb2JqZWN0IHRyaWdnZXJcblxuICBjb25jYXQoY29uZmlnLnRyaWdnZXIgfHwgJycpLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLnRvTG93ZXJDYXNlKCkuc3BsaXQoL1xccysvKS5mb3JFYWNoKGZ1bmN0aW9uICh0cmlnZ2VyKSB7XG4gICAgaWYgKHZhbGlkVHJpZ2dlcnNbdHJpZ2dlcl0pIHtcbiAgICAgIHNlbGVjdGVkVHJpZ2dlcnNbdHJpZ2dlcl0gPSB0cnVlO1xuICAgIH1cbiAgfSk7IC8vIFBhcnNlIG1vZGlmaWVycyBmb3IgdHJpZ2dlcnNcblxuICBrZXlzKGJpbmRpbmdzLm1vZGlmaWVycykuZm9yRWFjaChmdW5jdGlvbiAobW9kKSB7XG4gICAgbW9kID0gbW9kLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAodmFsaWRUcmlnZ2Vyc1ttb2RdKSB7XG4gICAgICAvLyBJZiBtb2RpZmllciBpcyBhIHZhbGlkIHRyaWdnZXJcbiAgICAgIHNlbGVjdGVkVHJpZ2dlcnNbbW9kXSA9IHRydWU7XG4gICAgfVxuICB9KTsgLy8gU2FuaXRpemUgdHJpZ2dlcnNcblxuICBjb25maWcudHJpZ2dlciA9IGtleXMoc2VsZWN0ZWRUcmlnZ2Vycykuam9pbignICcpO1xuXG4gIGlmIChjb25maWcudHJpZ2dlciA9PT0gJ2JsdXInKSB7XG4gICAgLy8gQmx1ciBieSBpdHNlbGYgaXMgdXNlbGVzcywgc28gY29udmVydCBpdCB0byAnZm9jdXMnXG4gICAgY29uZmlnLnRyaWdnZXIgPSAnZm9jdXMnO1xuICB9XG5cbiAgaWYgKCFjb25maWcudHJpZ2dlcikge1xuICAgIC8vIFVzZSBkZWZhdWx0IHRyaWdnZXJcbiAgICBjb25maWcudHJpZ2dlciA9IERlZmF1bHRUcmlnZ2VyO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn07IC8vIEFkZCBvciB1cGRhdGUgUG9wb3ZlciBvbiBvdXIgZWxlbWVudFxuXG5cbnZhciBhcHBseVBvcG92ZXIgPSBmdW5jdGlvbiBhcHBseVBvcG92ZXIoZWwsIGJpbmRpbmdzLCB2bm9kZSkge1xuICBpZiAoIWlzQnJvd3Nlcikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGNvbmZpZyA9IHBhcnNlQmluZGluZ3MoYmluZGluZ3MsIHZub2RlKTtcblxuICBpZiAoIWVsW0JWX1BPUE9WRVJdKSB7XG4gICAgdmFyICRwYXJlbnQgPSB2bm9kZS5jb250ZXh0O1xuICAgIGVsW0JWX1BPUE9WRVJdID0gbmV3IEJWUG9wb3Zlcih7XG4gICAgICBwYXJlbnQ6ICRwYXJlbnQsXG4gICAgICAvLyBBZGQgdGhlIHBhcmVudCdzIHNjb3BlZCBzdHlsZSBhdHRyaWJ1dGUgZGF0YVxuICAgICAgX3Njb3BlSWQ6IGdldFNjb3BJZCgkcGFyZW50LCB1bmRlZmluZWQpXG4gICAgfSk7XG4gICAgZWxbQlZfUE9QT1ZFUl0uX19idl9wcmV2X2RhdGFfXyA9IHt9O1xuICAgIGVsW0JWX1BPUE9WRVJdLiRvbignc2hvdycsIGZ1bmN0aW9uICgpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGZvciBub3cgKi9cbiAgICB7XG4gICAgICAvLyBCZWZvcmUgc2hvd2luZyB0aGUgcG9wb3Zlciwgd2UgdXBkYXRlIHRoZSB0aXRsZVxuICAgICAgLy8gYW5kIGNvbnRlbnQgaWYgdGhleSBhcmUgZnVuY3Rpb25zXG4gICAgICB2YXIgZGF0YSA9IHt9O1xuXG4gICAgICBpZiAoaXNGdW5jdGlvbihjb25maWcudGl0bGUpKSB7XG4gICAgICAgIGRhdGEudGl0bGUgPSBjb25maWcudGl0bGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRnVuY3Rpb24oY29uZmlnLmNvbnRlbnQpKSB7XG4gICAgICAgIGRhdGEuY29udGVudCA9IGNvbmZpZy5jb250ZW50KCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChrZXlzKGRhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZWxbQlZfUE9QT1ZFUl0udXBkYXRlRGF0YShkYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHZhciBkYXRhID0ge1xuICAgIHRpdGxlOiBjb25maWcudGl0bGUsXG4gICAgY29udGVudDogY29uZmlnLmNvbnRlbnQsXG4gICAgdHJpZ2dlcnM6IGNvbmZpZy50cmlnZ2VyLFxuICAgIHBsYWNlbWVudDogY29uZmlnLnBsYWNlbWVudCxcbiAgICBmYWxsYmFja1BsYWNlbWVudDogY29uZmlnLmZhbGxiYWNrUGxhY2VtZW50LFxuICAgIHZhcmlhbnQ6IGNvbmZpZy52YXJpYW50LFxuICAgIGN1c3RvbUNsYXNzOiBjb25maWcuY3VzdG9tQ2xhc3MsXG4gICAgY29udGFpbmVyOiBjb25maWcuY29udGFpbmVyLFxuICAgIGJvdW5kYXJ5OiBjb25maWcuYm91bmRhcnksXG4gICAgZGVsYXk6IGNvbmZpZy5kZWxheSxcbiAgICBvZmZzZXQ6IGNvbmZpZy5vZmZzZXQsXG4gICAgbm9GYWRlOiAhY29uZmlnLmFuaW1hdGlvbixcbiAgICBpZDogY29uZmlnLmlkLFxuICAgIGRpc2FibGVkOiBjb25maWcuZGlzYWJsZWQsXG4gICAgaHRtbDogY29uZmlnLmh0bWxcbiAgfTtcbiAgdmFyIG9sZERhdGEgPSBlbFtCVl9QT1BPVkVSXS5fX2J2X3ByZXZfZGF0YV9fO1xuICBlbFtCVl9QT1BPVkVSXS5fX2J2X3ByZXZfZGF0YV9fID0gZGF0YTtcblxuICBpZiAoIWxvb3NlRXF1YWwoZGF0YSwgb2xkRGF0YSkpIHtcbiAgICAvLyBXZSBvbmx5IHVwZGF0ZSB0aGUgaW5zdGFuY2UgaWYgZGF0YSBoYXMgY2hhbmdlZFxuICAgIHZhciBuZXdEYXRhID0ge1xuICAgICAgdGFyZ2V0OiBlbFxuICAgIH07XG4gICAga2V5cyhkYXRhKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICAvLyBXZSBvbmx5IHBhc3MgZGF0YSBwcm9wZXJ0aWVzIHRoYXQgaGF2ZSBjaGFuZ2VkXG4gICAgICBpZiAoZGF0YVtwcm9wXSAhPT0gb2xkRGF0YVtwcm9wXSkge1xuICAgICAgICAvLyBJZiB0aXRsZS9jb250ZW50IGlzIGEgZnVuY3Rpb24sIHdlIGV4ZWN1dGUgaXQgaGVyZVxuICAgICAgICBuZXdEYXRhW3Byb3BdID0gKHByb3AgPT09ICd0aXRsZScgfHwgcHJvcCA9PT0gJ2NvbnRlbnQnKSAmJiBpc0Z1bmN0aW9uKGRhdGFbcHJvcF0pID8gZGF0YVtwcm9wXSgpIDogZGF0YVtwcm9wXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBlbFtCVl9QT1BPVkVSXS51cGRhdGVEYXRhKG5ld0RhdGEpO1xuICB9XG59OyAvLyBSZW1vdmUgUG9wb3ZlciBmcm9tIG91ciBlbGVtZW50XG5cblxudmFyIHJlbW92ZVBvcG92ZXIgPSBmdW5jdGlvbiByZW1vdmVQb3BvdmVyKGVsKSB7XG4gIGlmIChlbFtCVl9QT1BPVkVSXSkge1xuICAgIGVsW0JWX1BPUE9WRVJdLiRkZXN0cm95KCk7XG4gICAgZWxbQlZfUE9QT1ZFUl0gPSBudWxsO1xuICB9XG5cbiAgZGVsZXRlIGVsW0JWX1BPUE9WRVJdO1xufTsgLy8gRXhwb3J0IG91ciBkaXJlY3RpdmVcblxuXG5leHBvcnQgdmFyIFZCUG9wb3ZlciA9IHtcbiAgYmluZDogZnVuY3Rpb24gYmluZChlbCwgYmluZGluZ3MsIHZub2RlKSB7XG4gICAgYXBwbHlQb3BvdmVyKGVsLCBiaW5kaW5ncywgdm5vZGUpO1xuICB9LFxuICAvLyBXZSB1c2UgYGNvbXBvbmVudFVwZGF0ZWRgIGhlcmUgaW5zdGVhZCBvZiBgdXBkYXRlYCwgYXMgdGhlIGZvcm1lclxuICAvLyB3YWl0cyB1bnRpbCB0aGUgY29udGFpbmluZyBjb21wb25lbnQgYW5kIGNoaWxkcmVuIGhhdmUgZmluaXNoZWQgdXBkYXRpbmdcbiAgY29tcG9uZW50VXBkYXRlZDogZnVuY3Rpb24gY29tcG9uZW50VXBkYXRlZChlbCwgYmluZGluZ3MsIHZub2RlKSB7XG4gICAgLy8gUGVyZm9ybWVkIGluIGEgYCRuZXh0VGljaygpYCB0byBwcmV2ZW50IGVuZGxlc3MgcmVuZGVyL3VwZGF0ZSBsb29wc1xuICAgIHZub2RlLmNvbnRleHQuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwcGx5UG9wb3ZlcihlbCwgYmluZGluZ3MsIHZub2RlKTtcbiAgICB9KTtcbiAgfSxcbiAgdW5iaW5kOiBmdW5jdGlvbiB1bmJpbmQoZWwpIHtcbiAgICByZW1vdmVQb3BvdmVyKGVsKTtcbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9kaXJlY3RpdmVzL3BvcG92ZXIvcG9wb3Zlci5qc1xuLy8gbW9kdWxlIGlkID0gMTkxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///191\n"); + +/***/ }), +/* 192 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ProgressPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__progress__ = __webpack_require__(193);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__progress_bar__ = __webpack_require__(84);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BProgress */\n/* unused harmony reexport BProgressBar */\n\n\n\nvar ProgressPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BProgress: __WEBPACK_IMPORTED_MODULE_0__progress__[\"a\" /* BProgress */],\n BProgressBar: __WEBPACK_IMPORTED_MODULE_1__progress_bar__[\"a\" /* BProgressBar */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wcm9ncmVzcy9pbmRleC5qcz85OWYyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF1QztBQUNPO0FBQ007QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxlQUFlLDREQUFTO0FBQ3hCLGtCQUFrQixtRUFBWTtBQUM5QjtBQUNBLENBQUMiLCJmaWxlIjoiMTkyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQlByb2dyZXNzIH0gZnJvbSAnLi9wcm9ncmVzcyc7XG5pbXBvcnQgeyBCUHJvZ3Jlc3NCYXIgfSBmcm9tICcuL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgUHJvZ3Jlc3NQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCUHJvZ3Jlc3M6IEJQcm9ncmVzcyxcbiAgICBCUHJvZ3Jlc3NCYXI6IEJQcm9ncmVzc0JhclxuICB9XG59KTtcbmV4cG9ydCB7IFByb2dyZXNzUGx1Z2luLCBCUHJvZ3Jlc3MsIEJQcm9ncmVzc0JhciB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvcHJvZ3Jlc3MvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE5MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///192\n"); + +/***/ }), +/* 193 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BProgress; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__progress_bar__ = __webpack_require__(84);\n\n\n\n\nvar NAME = 'BProgress'; // @vue/component\n\nvar BProgress =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */]],\n provide: function provide() {\n return {\n bvProgress: this\n };\n },\n props: {\n // These props can be inherited via the child b-progress-bar(s)\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n striped: {\n type: Boolean,\n default: false\n },\n animated: {\n type: Boolean,\n default: false\n },\n height: {\n type: String,\n default: null\n },\n precision: {\n type: Number,\n default: 0\n },\n showProgress: {\n type: Boolean,\n default: false\n },\n showValue: {\n type: Boolean,\n default: false\n },\n max: {\n type: Number,\n default: 100\n },\n // This prop is not inherited by child b-progress-bar(s)\n value: {\n type: Number,\n default: 0\n }\n },\n computed: {\n progressHeight: function progressHeight() {\n return {\n height: this.height || null\n };\n }\n },\n render: function render(h) {\n var childNodes = this.normalizeSlot('default');\n\n if (!childNodes) {\n childNodes = h(__WEBPACK_IMPORTED_MODULE_3__progress_bar__[\"a\" /* BProgressBar */], {\n props: {\n value: this.value,\n max: this.max,\n precision: this.precision,\n variant: this.variant,\n animated: this.animated,\n striped: this.striped,\n showProgress: this.showProgress,\n showValue: this.showValue\n }\n });\n }\n\n return h('div', {\n class: ['progress'],\n style: this.progressHeight\n }, [childNodes]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wcm9ncmVzcy9wcm9ncmVzcy5qcz9iNGI4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDc0I7QUFDSztBQUNmO0FBQzlDLHVCQUF1Qjs7QUFFaEI7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQSxXQUFXLHVFQUFrQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsbUVBQVk7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxOTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWcnO1xuaW1wb3J0IG5vcm1hbGl6ZVNsb3RNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvbm9ybWFsaXplLXNsb3QnO1xuaW1wb3J0IHsgQlByb2dyZXNzQmFyIH0gZnJvbSAnLi9wcm9ncmVzcy1iYXInO1xudmFyIE5BTUUgPSAnQlByb2dyZXNzJzsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCUHJvZ3Jlc3MgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6IE5BTUUsXG4gIG1peGluczogW25vcm1hbGl6ZVNsb3RNaXhpbl0sXG4gIHByb3ZpZGU6IGZ1bmN0aW9uIHByb3ZpZGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ2UHJvZ3Jlc3M6IHRoaXNcbiAgICB9O1xuICB9LFxuICBwcm9wczoge1xuICAgIC8vIFRoZXNlIHByb3BzIGNhbiBiZSBpbmhlcml0ZWQgdmlhIHRoZSBjaGlsZCBiLXByb2dyZXNzLWJhcihzKVxuICAgIHZhcmlhbnQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd2YXJpYW50Jyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzdHJpcGVkOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGFuaW1hdGVkOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGhlaWdodDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgcHJlY2lzaW9uOiB7XG4gICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICBkZWZhdWx0OiAwXG4gICAgfSxcbiAgICBzaG93UHJvZ3Jlc3M6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgc2hvd1ZhbHVlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIG1heDoge1xuICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgZGVmYXVsdDogMTAwXG4gICAgfSxcbiAgICAvLyBUaGlzIHByb3AgaXMgbm90IGluaGVyaXRlZCBieSBjaGlsZCBiLXByb2dyZXNzLWJhcihzKVxuICAgIHZhbHVlOiB7XG4gICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICBkZWZhdWx0OiAwXG4gICAgfVxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIHByb2dyZXNzSGVpZ2h0OiBmdW5jdGlvbiBwcm9ncmVzc0hlaWdodCgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQgfHwgbnVsbFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICB2YXIgY2hpbGROb2RlcyA9IHRoaXMubm9ybWFsaXplU2xvdCgnZGVmYXVsdCcpO1xuXG4gICAgaWYgKCFjaGlsZE5vZGVzKSB7XG4gICAgICBjaGlsZE5vZGVzID0gaChCUHJvZ3Jlc3NCYXIsIHtcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICBtYXg6IHRoaXMubWF4LFxuICAgICAgICAgIHByZWNpc2lvbjogdGhpcy5wcmVjaXNpb24sXG4gICAgICAgICAgdmFyaWFudDogdGhpcy52YXJpYW50LFxuICAgICAgICAgIGFuaW1hdGVkOiB0aGlzLmFuaW1hdGVkLFxuICAgICAgICAgIHN0cmlwZWQ6IHRoaXMuc3RyaXBlZCxcbiAgICAgICAgICBzaG93UHJvZ3Jlc3M6IHRoaXMuc2hvd1Byb2dyZXNzLFxuICAgICAgICAgIHNob3dWYWx1ZTogdGhpcy5zaG93VmFsdWVcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGgoJ2RpdicsIHtcbiAgICAgIGNsYXNzOiBbJ3Byb2dyZXNzJ10sXG4gICAgICBzdHlsZTogdGhpcy5wcm9ncmVzc0hlaWdodFxuICAgIH0sIFtjaGlsZE5vZGVzXSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MuanNcbi8vIG1vZHVsZSBpZCA9IDE5M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///193\n"); + +/***/ }), +/* 194 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SpinnerPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__spinner__ = __webpack_require__(195);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BSpinner */\n\n\nvar SpinnerPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BSpinner: __WEBPACK_IMPORTED_MODULE_0__spinner__[\"a\" /* BSpinner */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9zcGlubmVyL2luZGV4LmpzPzMwYTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBcUM7QUFDZTtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGNBQWMsMERBQVE7QUFDdEI7QUFDQSxDQUFDIiwiZmlsZSI6IjE5NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJTcGlubmVyIH0gZnJvbSAnLi9zcGlubmVyJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBTcGlubmVyUGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3Rvcnkoe1xuICBjb21wb25lbnRzOiB7XG4gICAgQlNwaW5uZXI6IEJTcGlubmVyXG4gIH1cbn0pO1xuZXhwb3J0IHsgU3Bpbm5lclBsdWdpbiwgQlNwaW5uZXIgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3NwaW5uZXIvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE5NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///194\n"); + +/***/ }), +/* 195 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BSpinner; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_normalize_slot__ = __webpack_require__(18);\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\n\n\n\n\nvar NAME = 'BSpinner'; // @vue/component\n\nvar BSpinner =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n functional: true,\n props: {\n type: {\n type: String,\n default: 'border' // SCSS currently supports 'border' or 'grow'\n\n },\n label: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant');\n }\n },\n small: {\n type: Boolean,\n default: false\n },\n role: {\n type: String,\n default: 'status'\n },\n tag: {\n type: String,\n default: 'span'\n }\n },\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var label = Object(__WEBPACK_IMPORTED_MODULE_3__utils_normalize_slot__[\"b\" /* normalizeSlot */])('label', {}, $scopedSlots, $slots) || props.label;\n\n if (label) {\n label = h('span', {\n staticClass: 'sr-only'\n }, label);\n }\n\n return h(props.tag, Object(__WEBPACK_IMPORTED_MODULE_1_vue_functional_data_merge__[\"a\" /* mergeData */])(data, {\n attrs: {\n role: label ? props.role || 'status' : null,\n 'aria-hidden': label ? null : 'true'\n },\n class: (_class = {}, _defineProperty(_class, \"spinner-\".concat(props.type), Boolean(props.type)), _defineProperty(_class, \"spinner-\".concat(props.type, \"-sm\"), props.small), _defineProperty(_class, \"text-\".concat(props.variant), Boolean(props.variant)), _class)\n }), [label || h()]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuanM/YTcxMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTdLO0FBQ29CO0FBQ0U7QUFDRztBQUMzRCxzQkFBc0I7O0FBRWY7QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixvRkFBYSxZQUFZOztBQUV6QztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEsd0JBQXdCLG9GQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCx5QkFBeUI7QUFDekIsS0FBSztBQUNMO0FBQ0EsQ0FBQyIsImZpbGUiOiIxOTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgVnVlIGZyb20gJy4uLy4uL3V0aWxzL3Z1ZSc7XG5pbXBvcnQgeyBtZXJnZURhdGEgfSBmcm9tICd2dWUtZnVuY3Rpb25hbC1kYXRhLW1lcmdlJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBub3JtYWxpemVTbG90IH0gZnJvbSAnLi4vLi4vdXRpbHMvbm9ybWFsaXplLXNsb3QnO1xudmFyIE5BTUUgPSAnQlNwaW5uZXInOyAvLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJTcGlubmVyID1cbi8qI19fUFVSRV9fKi9cblZ1ZS5leHRlbmQoe1xuICBuYW1lOiBOQU1FLFxuICBmdW5jdGlvbmFsOiB0cnVlLFxuICBwcm9wczoge1xuICAgIHR5cGU6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICdib3JkZXInIC8vIFNDU1MgY3VycmVudGx5IHN1cHBvcnRzICdib3JkZXInIG9yICdncm93J1xuXG4gICAgfSxcbiAgICBsYWJlbDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgdmFyaWFudDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ3ZhcmlhbnQnKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNtYWxsOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHJvbGU6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICdzdGF0dXMnXG4gICAgfSxcbiAgICB0YWc6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICdzcGFuJ1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgX3JlZikge1xuICAgIHZhciBfY2xhc3M7XG5cbiAgICB2YXIgcHJvcHMgPSBfcmVmLnByb3BzLFxuICAgICAgICBkYXRhID0gX3JlZi5kYXRhLFxuICAgICAgICBzbG90cyA9IF9yZWYuc2xvdHMsXG4gICAgICAgIHNjb3BlZFNsb3RzID0gX3JlZi5zY29wZWRTbG90cztcbiAgICB2YXIgJHNsb3RzID0gc2xvdHMoKTtcbiAgICB2YXIgJHNjb3BlZFNsb3RzID0gc2NvcGVkU2xvdHMgfHwge307XG4gICAgdmFyIGxhYmVsID0gbm9ybWFsaXplU2xvdCgnbGFiZWwnLCB7fSwgJHNjb3BlZFNsb3RzLCAkc2xvdHMpIHx8IHByb3BzLmxhYmVsO1xuXG4gICAgaWYgKGxhYmVsKSB7XG4gICAgICBsYWJlbCA9IGgoJ3NwYW4nLCB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiAnc3Itb25seSdcbiAgICAgIH0sIGxhYmVsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaChwcm9wcy50YWcsIG1lcmdlRGF0YShkYXRhLCB7XG4gICAgICBhdHRyczoge1xuICAgICAgICByb2xlOiBsYWJlbCA/IHByb3BzLnJvbGUgfHwgJ3N0YXR1cycgOiBudWxsLFxuICAgICAgICAnYXJpYS1oaWRkZW4nOiBsYWJlbCA/IG51bGwgOiAndHJ1ZSdcbiAgICAgIH0sXG4gICAgICBjbGFzczogKF9jbGFzcyA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzLCBcInNwaW5uZXItXCIuY29uY2F0KHByb3BzLnR5cGUpLCBCb29sZWFuKHByb3BzLnR5cGUpKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzcywgXCJzcGlubmVyLVwiLmNvbmNhdChwcm9wcy50eXBlLCBcIi1zbVwiKSwgcHJvcHMuc21hbGwpLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzLCBcInRleHQtXCIuY29uY2F0KHByb3BzLnZhcmlhbnQpLCBCb29sZWFuKHByb3BzLnZhcmlhbnQpKSwgX2NsYXNzKVxuICAgIH0pLCBbbGFiZWwgfHwgaCgpXSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmpzXG4vLyBtb2R1bGUgaWQgPSAxOTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///195\n"); + +/***/ }), +/* 196 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TablePlugin; });\n/* unused harmony export TableLitePlugin */\n/* unused harmony export TableSimplePlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__table__ = __webpack_require__(197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__table_lite__ = __webpack_require__(209);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__table_simple__ = __webpack_require__(210);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tbody__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__thead__ = __webpack_require__(88);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__tfoot__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__tr__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__td__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__th__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BTable */\n/* unused harmony reexport BTableLite */\n/* unused harmony reexport BTableSimple */\n/* unused harmony reexport BTbody */\n/* unused harmony reexport BThead */\n/* unused harmony reexport BTfoot */\n/* unused harmony reexport BTr */\n/* unused harmony reexport BTd */\n/* unused harmony reexport BTh */\n\n\n\n\n\n\n\n\n\n\nvar TableLitePlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_9__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BTableLite: __WEBPACK_IMPORTED_MODULE_1__table_lite__[\"a\" /* BTableLite */]\n }\n});\nvar TableSimplePlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_9__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BTableSimple: __WEBPACK_IMPORTED_MODULE_2__table_simple__[\"a\" /* BTableSimple */],\n BTbody: __WEBPACK_IMPORTED_MODULE_3__tbody__[\"a\" /* BTbody */],\n BThead: __WEBPACK_IMPORTED_MODULE_4__thead__[\"a\" /* BThead */],\n BTfoot: __WEBPACK_IMPORTED_MODULE_5__tfoot__[\"a\" /* BTfoot */],\n BTr: __WEBPACK_IMPORTED_MODULE_6__tr__[\"a\" /* BTr */],\n BTd: __WEBPACK_IMPORTED_MODULE_7__td__[\"a\" /* BTd */],\n BTh: __WEBPACK_IMPORTED_MODULE_8__th__[\"a\" /* BTh */]\n }\n});\nvar TablePlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_9__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BTable: __WEBPACK_IMPORTED_MODULE_0__table__[\"a\" /* BTable */]\n },\n plugins: {\n TableLitePlugin: TableLitePlugin,\n TableSimplePlugin: TableSimplePlugin\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9pbmRleC5qcz9iOGUzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlDO0FBQ1M7QUFDSTtBQUNiO0FBQ0E7QUFDQTtBQUNOO0FBQ0E7QUFDQTtBQUN5QjtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGdCQUFnQiwrREFBVTtBQUMxQjtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGtCQUFrQixtRUFBWTtBQUM5QixZQUFZLHNEQUFNO0FBQ2xCLFlBQVksc0RBQU07QUFDbEIsWUFBWSxzREFBTTtBQUNsQixTQUFTLGdEQUFHO0FBQ1osU0FBUyxnREFBRztBQUNaLFNBQVMsZ0RBQUc7QUFDWjtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLFlBQVksc0RBQU07QUFDbEIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIxOTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCVGFibGUgfSBmcm9tICcuL3RhYmxlJztcbmltcG9ydCB7IEJUYWJsZUxpdGUgfSBmcm9tICcuL3RhYmxlLWxpdGUnO1xuaW1wb3J0IHsgQlRhYmxlU2ltcGxlIH0gZnJvbSAnLi90YWJsZS1zaW1wbGUnO1xuaW1wb3J0IHsgQlRib2R5IH0gZnJvbSAnLi90Ym9keSc7XG5pbXBvcnQgeyBCVGhlYWQgfSBmcm9tICcuL3RoZWFkJztcbmltcG9ydCB7IEJUZm9vdCB9IGZyb20gJy4vdGZvb3QnO1xuaW1wb3J0IHsgQlRyIH0gZnJvbSAnLi90cic7XG5pbXBvcnQgeyBCVGQgfSBmcm9tICcuL3RkJztcbmltcG9ydCB7IEJUaCB9IGZyb20gJy4vdGgnO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIFRhYmxlTGl0ZVBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJUYWJsZUxpdGU6IEJUYWJsZUxpdGVcbiAgfVxufSk7XG52YXIgVGFibGVTaW1wbGVQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBCVGFibGVTaW1wbGU6IEJUYWJsZVNpbXBsZSxcbiAgICBCVGJvZHk6IEJUYm9keSxcbiAgICBCVGhlYWQ6IEJUaGVhZCxcbiAgICBCVGZvb3Q6IEJUZm9vdCxcbiAgICBCVHI6IEJUcixcbiAgICBCVGQ6IEJUZCxcbiAgICBCVGg6IEJUaFxuICB9XG59KTtcbnZhciBUYWJsZVBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJUYWJsZTogQlRhYmxlXG4gIH0sXG4gIHBsdWdpbnM6IHtcbiAgICBUYWJsZUxpdGVQbHVnaW46IFRhYmxlTGl0ZVBsdWdpbixcbiAgICBUYWJsZVNpbXBsZVBsdWdpbjogVGFibGVTaW1wbGVQbHVnaW5cbiAgfVxufSk7XG5leHBvcnQgeyAvLyBQbHVnaW5zXG5UYWJsZVBsdWdpbiwgVGFibGVMaXRlUGx1Z2luLCBUYWJsZVNpbXBsZVBsdWdpbiAvLyBUYWJsZSBjb21wb25lbnRzXG4sIEJUYWJsZSwgQlRhYmxlTGl0ZSwgQlRhYmxlU2ltcGxlIC8vIEhlbHBlciBjb21wb25lbnRzXG4sIEJUYm9keSwgQlRoZWFkLCBCVGZvb3QsIEJUciwgQlRkLCBCVGggfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxOTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///196\n"); + +/***/ }), +/* 197 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTable; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__helpers_mixin_items__ = __webpack_require__(198);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__helpers_mixin_stacked__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__helpers_mixin_filtering__ = __webpack_require__(261);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__helpers_mixin_sorting__ = __webpack_require__(263);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__helpers_mixin_pagination__ = __webpack_require__(265);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__helpers_mixin_caption__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__helpers_mixin_colgroup__ = __webpack_require__(203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__helpers_mixin_thead__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__helpers_mixin_tfoot__ = __webpack_require__(207);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__helpers_mixin_tbody__ = __webpack_require__(208);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__helpers_mixin_empty__ = __webpack_require__(267);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__helpers_mixin_top_row__ = __webpack_require__(268);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__helpers_mixin_bottom_row__ = __webpack_require__(269);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__helpers_mixin_busy__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__helpers_mixin_selectable__ = __webpack_require__(271);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__helpers_mixin_provider__ = __webpack_require__(272);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__helpers_mixin_table_renderer__ = __webpack_require__(90);\n // Mixins\n\n\n // Table helper Mixins\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // Main table renderer mixin\n\n // b-table component definition\n// @vue/component\n\nvar BTable =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTable',\n // Order of mixins is important!\n // They are merged from first to last, followed by this component.\n mixins: [// Required Mixins\n __WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__helpers_mixin_items__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_19__helpers_mixin_table_renderer__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_4__helpers_mixin_stacked__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_10__helpers_mixin_thead__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_11__helpers_mixin_tfoot__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_12__helpers_mixin_tbody__[\"a\" /* default */], // Features Mixins\n __WEBPACK_IMPORTED_MODULE_4__helpers_mixin_stacked__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_5__helpers_mixin_filtering__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__helpers_mixin_sorting__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_7__helpers_mixin_pagination__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_8__helpers_mixin_caption__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_9__helpers_mixin_colgroup__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_17__helpers_mixin_selectable__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_13__helpers_mixin_empty__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_14__helpers_mixin_top_row__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_15__helpers_mixin_bottom_row__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_16__helpers_mixin_busy__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_18__helpers_mixin_provider__[\"a\" /* default */]] // render function provided by table-renderer mixin\n\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90YWJsZS5qcz82ZWE0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQzs7QUFFSTtBQUN1Qjs7QUFFZDtBQUNJO0FBQ0k7QUFDSjtBQUNNO0FBQ047QUFDRTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0c7QUFDTTtBQUNYO0FBQ1k7QUFDSjs7QUFFVztBQUNoRTs7QUFFTztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMkRBQU8sRUFBRSx1RUFBa0IsRUFBRSxxRUFBVSxFQUFFLCtFQUFrQixFQUFFLHVFQUFZLEVBQUUsc0VBQVUsRUFBRSxzRUFBVSxFQUFFLHNFQUFVO0FBQy9HLEVBQUUsdUVBQVksRUFBRSx5RUFBYyxFQUFFLHVFQUFZLEVBQUUsMEVBQWUsRUFBRSx1RUFBWSxFQUFFLHdFQUFhLEVBQUUsMkVBQWUsRUFBRSxzRUFBVSxFQUFFLHdFQUFXLEVBQUUsMkVBQWMsRUFBRSxxRUFBUyxFQUFFLHlFQUFhOztBQUU5SyxDQUFDIiwiZmlsZSI6IjE5Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJzsgLy8gTWl4aW5zXG5cbmltcG9ydCBpZE1peGluIGZyb20gJy4uLy4uL21peGlucy9pZCc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7IC8vIFRhYmxlIGhlbHBlciBNaXhpbnNcblxuaW1wb3J0IGl0ZW1zTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLWl0ZW1zJztcbmltcG9ydCBzdGFja2VkTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLXN0YWNrZWQnO1xuaW1wb3J0IGZpbHRlcmluZ01peGluIGZyb20gJy4vaGVscGVycy9taXhpbi1maWx0ZXJpbmcnO1xuaW1wb3J0IHNvcnRpbmdNaXhpbiBmcm9tICcuL2hlbHBlcnMvbWl4aW4tc29ydGluZyc7XG5pbXBvcnQgcGFnaW5hdGlvbk1peGluIGZyb20gJy4vaGVscGVycy9taXhpbi1wYWdpbmF0aW9uJztcbmltcG9ydCBjYXB0aW9uTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLWNhcHRpb24nO1xuaW1wb3J0IGNvbGdyb3VwTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLWNvbGdyb3VwJztcbmltcG9ydCB0aGVhZE1peGluIGZyb20gJy4vaGVscGVycy9taXhpbi10aGVhZCc7XG5pbXBvcnQgdGZvb3RNaXhpbiBmcm9tICcuL2hlbHBlcnMvbWl4aW4tdGZvb3QnO1xuaW1wb3J0IHRib2R5TWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLXRib2R5JztcbmltcG9ydCBlbXB0eU1peGluIGZyb20gJy4vaGVscGVycy9taXhpbi1lbXB0eSc7XG5pbXBvcnQgdG9wUm93TWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLXRvcC1yb3cnO1xuaW1wb3J0IGJvdHRvbVJvd01peGluIGZyb20gJy4vaGVscGVycy9taXhpbi1ib3R0b20tcm93JztcbmltcG9ydCBidXN5TWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLWJ1c3knO1xuaW1wb3J0IHNlbGVjdGFibGVNaXhpbiBmcm9tICcuL2hlbHBlcnMvbWl4aW4tc2VsZWN0YWJsZSc7XG5pbXBvcnQgcHJvdmlkZXJNaXhpbiBmcm9tICcuL2hlbHBlcnMvbWl4aW4tcHJvdmlkZXInOyAvLyBNYWluIHRhYmxlIHJlbmRlcmVyIG1peGluXG5cbmltcG9ydCB0YWJsZVJlbmRlcmVyTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLXRhYmxlLXJlbmRlcmVyJzsgLy8gYi10YWJsZSBjb21wb25lbnQgZGVmaW5pdGlvblxuLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVGFibGUgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCVGFibGUnLFxuICAvLyBPcmRlciBvZiBtaXhpbnMgaXMgaW1wb3J0YW50IVxuICAvLyBUaGV5IGFyZSBtZXJnZWQgZnJvbSBmaXJzdCB0byBsYXN0LCBmb2xsb3dlZCBieSB0aGlzIGNvbXBvbmVudC5cbiAgbWl4aW5zOiBbLy8gUmVxdWlyZWQgTWl4aW5zXG4gIGlkTWl4aW4sIG5vcm1hbGl6ZVNsb3RNaXhpbiwgaXRlbXNNaXhpbiwgdGFibGVSZW5kZXJlck1peGluLCBzdGFja2VkTWl4aW4sIHRoZWFkTWl4aW4sIHRmb290TWl4aW4sIHRib2R5TWl4aW4sIC8vIEZlYXR1cmVzIE1peGluc1xuICBzdGFja2VkTWl4aW4sIGZpbHRlcmluZ01peGluLCBzb3J0aW5nTWl4aW4sIHBhZ2luYXRpb25NaXhpbiwgY2FwdGlvbk1peGluLCBjb2xncm91cE1peGluLCBzZWxlY3RhYmxlTWl4aW4sIGVtcHR5TWl4aW4sIHRvcFJvd01peGluLCBib3R0b21Sb3dNaXhpbiwgYnVzeU1peGluLCBwcm92aWRlck1peGluXSAvLyByZW5kZXIgZnVuY3Rpb24gcHJvdmlkZWQgYnkgdGFibGUtcmVuZGVyZXIgbWl4aW5cblxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90YWJsZS5qc1xuLy8gbW9kdWxlIGlkID0gMTk3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///197\n"); + +/***/ }), +/* 198 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__normalize_fields__ = __webpack_require__(260);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n items: {\n // Provider mixin adds in `Function` type\n type: Array,\n default: function _default()\n /* istanbul ignore next */\n {\n return [];\n }\n },\n fields: {\n type: Array,\n default: null\n },\n primaryKey: {\n // Primary key for record\n // If provided the value in each row must be unique!\n type: String,\n default: null\n },\n value: {\n // `v-model` for retrieving the current displayed rows\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n // Our local copy of the items\n // Must be an array\n localItems: Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"a\" /* isArray */])(this.items) ? this.items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return Object(__WEBPACK_IMPORTED_MODULE_2__normalize_fields__[\"a\" /* default */])(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n var parent = this.$parent;\n return this.computedFields.reduce(function (obj, f) {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = _objectSpread({}, f);\n\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n var formatter = f.formatter;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"m\" /* isString */])(formatter) && Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"f\" /* isFunction */])(parent[formatter])) {\n formatter = parent[formatter];\n } else if (!Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"f\" /* isFunction */])(formatter)) {\n /* istanbul ignore next */\n formatter = undefined;\n } // Return formatter function or `undefined` if none\n\n\n obj[f.key].formatter = formatter;\n }\n\n return obj;\n }, {});\n },\n computedItems: function computedItems() {\n // Fallback if various mixins not provided\n return (this.paginatedItems || this.sortedItems || this.filteredItems || this.localItems || []).slice();\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: parseInt(this.perPage, 10) || 0,\n currentPage: parseInt(this.currentPage, 10) || 1,\n apiUrl: this.apiUrl\n };\n }\n },\n watch: {\n items: function items(newItems) {\n /* istanbul ignore else */\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"a\" /* isArray */])(newItems)) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = newItems.slice();\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"n\" /* isUndefined */])(newItems) || Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"g\" /* isNull */])(newItems)) {\n /* istanbul ignore next */\n this.localItems = [];\n }\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems: function computedItems(newVal) {\n this.$emit('input', newVal);\n },\n // Watch for context changes\n context: function context(newVal, oldVal) {\n // Emit context information for external paging/filtering/sorting handling\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__[\"a\" /* default */])(newVal, oldVal)) {\n this.$emit('context-changed', newVal);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit('input', this.computedItems);\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter: function getFieldFormatter(key) {\n var field = this.computedFieldsObj[key]; // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n\n return field ? field.formatter : undefined;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLWl0ZW1zLmpzP2I2ZDQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUUzSjtBQUN3QztBQUMzQztBQUNsQztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQix1RUFBTztBQUN6QjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLHlCQUF5QixHQUFHLElBQUksUUFBUSxHQUFHO0FBQ3hELGFBQWEsMEVBQWU7QUFDNUIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTs7QUFFQSxjQUFjLHdFQUFRLGVBQWUsMEVBQVU7QUFDL0M7QUFDQSxXQUFXLFdBQVcsMEVBQVU7QUFDaEM7QUFDQTtBQUNBLFdBQVc7OztBQUdYO0FBQ0E7O0FBRUE7QUFDQSxPQUFPLElBQUk7QUFDWCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsVUFBVSx1RUFBTztBQUNqQjtBQUNBO0FBQ0EsT0FBTyxVQUFVLDJFQUFXLGNBQWMsc0VBQU07QUFDaEQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxXQUFXLDJFQUFVO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMTk4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IGxvb3NlRXF1YWwgZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9vc2UtZXF1YWwnO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNGdW5jdGlvbiwgaXNOdWxsLCBpc1N0cmluZywgaXNVbmRlZmluZWQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCBub3JtYWxpemVGaWVsZHMgZnJvbSAnLi9ub3JtYWxpemUtZmllbGRzJztcbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBpdGVtczoge1xuICAgICAgLy8gUHJvdmlkZXIgbWl4aW4gYWRkcyBpbiBgRnVuY3Rpb25gIHR5cGVcbiAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH0sXG4gICAgZmllbGRzOiB7XG4gICAgICB0eXBlOiBBcnJheSxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIHByaW1hcnlLZXk6IHtcbiAgICAgIC8vIFByaW1hcnkga2V5IGZvciByZWNvcmRcbiAgICAgIC8vIElmIHByb3ZpZGVkIHRoZSB2YWx1ZSBpbiBlYWNoIHJvdyBtdXN0IGJlIHVuaXF1ZSFcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIHZhbHVlOiB7XG4gICAgICAvLyBgdi1tb2RlbGAgZm9yIHJldHJpZXZpbmcgdGhlIGN1cnJlbnQgZGlzcGxheWVkIHJvd3NcbiAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIE91ciBsb2NhbCBjb3B5IG9mIHRoZSBpdGVtc1xuICAgICAgLy8gTXVzdCBiZSBhbiBhcnJheVxuICAgICAgbG9jYWxJdGVtczogaXNBcnJheSh0aGlzLml0ZW1zKSA/IHRoaXMuaXRlbXMuc2xpY2UoKSA6IFtdXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBjb21wdXRlZEZpZWxkczogZnVuY3Rpb24gY29tcHV0ZWRGaWVsZHMoKSB7XG4gICAgICAvLyBXZSBub3JtYWxpemUgZmllbGRzIGludG8gYW4gYXJyYXkgb2Ygb2JqZWN0c1xuICAgICAgLy8gYFsgeyBrZXk6Li4uLCBsYWJlbDouLi4sIC4uLn0sIHsuLi59LCAuLi4sIHsuLn1dYFxuICAgICAgcmV0dXJuIG5vcm1hbGl6ZUZpZWxkcyh0aGlzLmZpZWxkcywgdGhpcy5sb2NhbEl0ZW1zKTtcbiAgICB9LFxuICAgIGNvbXB1dGVkRmllbGRzT2JqOiBmdW5jdGlvbiBjb21wdXRlZEZpZWxkc09iaigpIHtcbiAgICAgIC8vIEZpZWxkcyBhcyBhIHNpbXBsZSBsb29rdXAgaGFzaCBvYmplY3RcbiAgICAgIC8vIE1haW5seSBmb3IgZm9ybWF0dGVyIGxvb2t1cCBhbmQgdXNlIGluIGBzY29wZWRTbG90c2AgZm9yIGNvbnZlbmllbmNlXG4gICAgICAvLyBJZiB0aGUgZmllbGQgaGFzIGEgZm9ybWF0dGVyLCBpdCBub3JtYWxpemVzIGZvcm1hdHRlciB0byBhXG4gICAgICAvLyBmdW5jdGlvbiByZWYgb3IgYHVuZGVmaW5lZGAgaWYgbm8gZm9ybWF0dGVyXG4gICAgICB2YXIgcGFyZW50ID0gdGhpcy4kcGFyZW50O1xuICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRGaWVsZHMucmVkdWNlKGZ1bmN0aW9uIChvYmosIGYpIHtcbiAgICAgICAgLy8gV2UgdXNlIG9iamVjdCBzcHJlYWQgaGVyZSBzbyB3ZSBkb24ndCBtdXRhdGUgdGhlIG9yaWdpbmFsIGZpZWxkIG9iamVjdFxuICAgICAgICBvYmpbZi5rZXldID0gX29iamVjdFNwcmVhZCh7fSwgZik7XG5cbiAgICAgICAgaWYgKGYuZm9ybWF0dGVyKSB7XG4gICAgICAgICAgLy8gTm9ybWFsaXplIGZvcm1hdHRlciB0byBhIGZ1bmN0aW9uIHJlZiBvciBgdW5kZWZpbmVkYFxuICAgICAgICAgIHZhciBmb3JtYXR0ZXIgPSBmLmZvcm1hdHRlcjtcblxuICAgICAgICAgIGlmIChpc1N0cmluZyhmb3JtYXR0ZXIpICYmIGlzRnVuY3Rpb24ocGFyZW50W2Zvcm1hdHRlcl0pKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZXIgPSBwYXJlbnRbZm9ybWF0dGVyXTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCFpc0Z1bmN0aW9uKGZvcm1hdHRlcikpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICBmb3JtYXR0ZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfSAvLyBSZXR1cm4gZm9ybWF0dGVyIGZ1bmN0aW9uIG9yIGB1bmRlZmluZWRgIGlmIG5vbmVcblxuXG4gICAgICAgICAgb2JqW2Yua2V5XS5mb3JtYXR0ZXIgPSBmb3JtYXR0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgfSwge30pO1xuICAgIH0sXG4gICAgY29tcHV0ZWRJdGVtczogZnVuY3Rpb24gY29tcHV0ZWRJdGVtcygpIHtcbiAgICAgIC8vIEZhbGxiYWNrIGlmIHZhcmlvdXMgbWl4aW5zIG5vdCBwcm92aWRlZFxuICAgICAgcmV0dXJuICh0aGlzLnBhZ2luYXRlZEl0ZW1zIHx8IHRoaXMuc29ydGVkSXRlbXMgfHwgdGhpcy5maWx0ZXJlZEl0ZW1zIHx8IHRoaXMubG9jYWxJdGVtcyB8fCBbXSkuc2xpY2UoKTtcbiAgICB9LFxuICAgIGNvbnRleHQ6IGZ1bmN0aW9uIGNvbnRleHQoKSB7XG4gICAgICAvLyBDdXJyZW50IHN0YXRlIG9mIHNvcnRpbmcsIGZpbHRlcmluZyBhbmQgcGFnaW5hdGlvbiBwcm9wcy92YWx1ZXNcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZpbHRlcjogdGhpcy5sb2NhbEZpbHRlcixcbiAgICAgICAgc29ydEJ5OiB0aGlzLmxvY2FsU29ydEJ5LFxuICAgICAgICBzb3J0RGVzYzogdGhpcy5sb2NhbFNvcnREZXNjLFxuICAgICAgICBwZXJQYWdlOiBwYXJzZUludCh0aGlzLnBlclBhZ2UsIDEwKSB8fCAwLFxuICAgICAgICBjdXJyZW50UGFnZTogcGFyc2VJbnQodGhpcy5jdXJyZW50UGFnZSwgMTApIHx8IDEsXG4gICAgICAgIGFwaVVybDogdGhpcy5hcGlVcmxcbiAgICAgIH07XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIGl0ZW1zOiBmdW5jdGlvbiBpdGVtcyhuZXdJdGVtcykge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChpc0FycmF5KG5ld0l0ZW1zKSkge1xuICAgICAgICAvLyBTZXQgYGxvY2FsSXRlbXNgL2BmaWx0ZXJlZEl0ZW1zYCB0byBhIGNvcHkgb2YgdGhlIHByb3ZpZGVkIGFycmF5XG4gICAgICAgIHRoaXMubG9jYWxJdGVtcyA9IG5ld0l0ZW1zLnNsaWNlKCk7XG4gICAgICB9IGVsc2UgaWYgKGlzVW5kZWZpbmVkKG5ld0l0ZW1zKSB8fCBpc051bGwobmV3SXRlbXMpKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHRoaXMubG9jYWxJdGVtcyA9IFtdO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gV2F0Y2ggZm9yIGNoYW5nZXMgb24gYGNvbXB1dGVkSXRlbXNgIGFuZCB1cGRhdGUgdGhlIGB2LW1vZGVsYFxuICAgIGNvbXB1dGVkSXRlbXM6IGZ1bmN0aW9uIGNvbXB1dGVkSXRlbXMobmV3VmFsKSB7XG4gICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIG5ld1ZhbCk7XG4gICAgfSxcbiAgICAvLyBXYXRjaCBmb3IgY29udGV4dCBjaGFuZ2VzXG4gICAgY29udGV4dDogZnVuY3Rpb24gY29udGV4dChuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgLy8gRW1pdCBjb250ZXh0IGluZm9ybWF0aW9uIGZvciBleHRlcm5hbCBwYWdpbmcvZmlsdGVyaW5nL3NvcnRpbmcgaGFuZGxpbmdcbiAgICAgIGlmICghbG9vc2VFcXVhbChuZXdWYWwsIG9sZFZhbCkpIHtcbiAgICAgICAgdGhpcy4kZW1pdCgnY29udGV4dC1jaGFuZ2VkJywgbmV3VmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgLy8gSW5pdGlhbGx5IHVwZGF0ZSB0aGUgYHYtbW9kZWxgIG9mIGRpc3BsYXllZCBpdGVtc1xuICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgdGhpcy5jb21wdXRlZEl0ZW1zKTtcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIC8vIE1ldGhvZCB0byBnZXQgdGhlIGZvcm1hdHRlciBtZXRob2QgZm9yIGEgZ2l2ZW4gZmllbGQga2V5XG4gICAgZ2V0RmllbGRGb3JtYXR0ZXI6IGZ1bmN0aW9uIGdldEZpZWxkRm9ybWF0dGVyKGtleSkge1xuICAgICAgdmFyIGZpZWxkID0gdGhpcy5jb21wdXRlZEZpZWxkc09ialtrZXldOyAvLyBgdGhpcy5jb21wdXRlZEZpZWxkc09iamAgaGFzIHByZS1ub3JtYWxpemVkIHRoZSBmb3JtYXR0ZXIgdG8gYVxuICAgICAgLy8gZnVuY3Rpb24gcmVmIGlmIHByZXNlbnQsIG90aGVyd2lzZSBgdW5kZWZpbmVkYFxuXG4gICAgICByZXR1cm4gZmllbGQgPyBmaWVsZC5mb3JtYXR0ZXIgOiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvaGVscGVycy9taXhpbi1pdGVtcy5qc1xuLy8gbW9kdWxlIGlkID0gMTk4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///198\n"); + +/***/ }), +/* 199 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constants__ = __webpack_require__(86);\n\n\n\n // Return a copy of a row after all reserved fields have been filtered out\n\nvar sanitizeRow = function sanitizeRow(row, ignoreFields, includeFields) {\n var fieldsObj = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_object__[\"j\" /* keys */])(row).reduce(function (obj, key) {\n // Ignore special fields that start with `_`\n // Ignore fields in the `ignoreFields` array\n // Include only fields in the `includeFields` array\n if (!__WEBPACK_IMPORTED_MODULE_3__constants__[\"b\" /* IGNORED_FIELD_KEYS */][key] && !(ignoreFields && ignoreFields.length > 0 && Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"a\" /* arrayIncludes */])(ignoreFields, key)) && !(includeFields && includeFields.length > 0 && !Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"a\" /* arrayIncludes */])(includeFields, key))) {\n var f = fieldsObj[key] || {};\n var val = row[key]; // `f.filterByFormatted` will either be a function or boolean\n // `f.formater` will have already been noramlized into a function ref\n\n var filterByFormatted = f.filterByFormatted;\n var formatter = Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(filterByFormatted) ? filterByFormatted : filterByFormatted ? f.formatter : null;\n obj[key] = Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(formatter) ? formatter(val, key, row) : val;\n }\n\n return obj;\n }, {});\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (sanitizeRow);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL3Nhbml0aXplLXJvdy5qcz9mMjEyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTZDO0FBQ1E7QUFDRDtBQUNIOztBQUVqRDtBQUNBO0FBQ0EsU0FBUyxtRUFBSTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVMsc0VBQWtCLHNEQUFzRCwyRUFBYSx3RUFBd0UsMkVBQWE7QUFDbkw7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQSxzQkFBc0IsMEVBQVU7QUFDaEMsaUJBQWlCLDBFQUFVO0FBQzNCOztBQUVBO0FBQ0EsR0FBRyxJQUFJO0FBQ1A7O0FBRWUsb0VBQVciLCJmaWxlIjoiMTk5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsga2V5cyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL29iamVjdCc7XG5pbXBvcnQgeyBhcnJheUluY2x1ZGVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsgSUdOT1JFRF9GSUVMRF9LRVlTIH0gZnJvbSAnLi9jb25zdGFudHMnOyAvLyBSZXR1cm4gYSBjb3B5IG9mIGEgcm93IGFmdGVyIGFsbCByZXNlcnZlZCBmaWVsZHMgaGF2ZSBiZWVuIGZpbHRlcmVkIG91dFxuXG52YXIgc2FuaXRpemVSb3cgPSBmdW5jdGlvbiBzYW5pdGl6ZVJvdyhyb3csIGlnbm9yZUZpZWxkcywgaW5jbHVkZUZpZWxkcykge1xuICB2YXIgZmllbGRzT2JqID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiB7fTtcbiAgcmV0dXJuIGtleXMocm93KS5yZWR1Y2UoZnVuY3Rpb24gKG9iaiwga2V5KSB7XG4gICAgLy8gSWdub3JlIHNwZWNpYWwgZmllbGRzIHRoYXQgc3RhcnQgd2l0aCBgX2BcbiAgICAvLyBJZ25vcmUgZmllbGRzIGluIHRoZSBgaWdub3JlRmllbGRzYCBhcnJheVxuICAgIC8vIEluY2x1ZGUgb25seSBmaWVsZHMgaW4gdGhlIGBpbmNsdWRlRmllbGRzYCBhcnJheVxuICAgIGlmICghSUdOT1JFRF9GSUVMRF9LRVlTW2tleV0gJiYgIShpZ25vcmVGaWVsZHMgJiYgaWdub3JlRmllbGRzLmxlbmd0aCA+IDAgJiYgYXJyYXlJbmNsdWRlcyhpZ25vcmVGaWVsZHMsIGtleSkpICYmICEoaW5jbHVkZUZpZWxkcyAmJiBpbmNsdWRlRmllbGRzLmxlbmd0aCA+IDAgJiYgIWFycmF5SW5jbHVkZXMoaW5jbHVkZUZpZWxkcywga2V5KSkpIHtcbiAgICAgIHZhciBmID0gZmllbGRzT2JqW2tleV0gfHwge307XG4gICAgICB2YXIgdmFsID0gcm93W2tleV07IC8vIGBmLmZpbHRlckJ5Rm9ybWF0dGVkYCB3aWxsIGVpdGhlciBiZSBhIGZ1bmN0aW9uIG9yIGJvb2xlYW5cbiAgICAgIC8vIGBmLmZvcm1hdGVyYCB3aWxsIGhhdmUgYWxyZWFkeSBiZWVuIG5vcmFtbGl6ZWQgaW50byBhIGZ1bmN0aW9uIHJlZlxuXG4gICAgICB2YXIgZmlsdGVyQnlGb3JtYXR0ZWQgPSBmLmZpbHRlckJ5Rm9ybWF0dGVkO1xuICAgICAgdmFyIGZvcm1hdHRlciA9IGlzRnVuY3Rpb24oZmlsdGVyQnlGb3JtYXR0ZWQpID8gZmlsdGVyQnlGb3JtYXR0ZWQgOiBmaWx0ZXJCeUZvcm1hdHRlZCA/IGYuZm9ybWF0dGVyIDogbnVsbDtcbiAgICAgIG9ialtrZXldID0gaXNGdW5jdGlvbihmb3JtYXR0ZXIpID8gZm9ybWF0dGVyKHZhbCwga2V5LCByb3cpIDogdmFsO1xuICAgIH1cblxuICAgIHJldHVybiBvYmo7XG4gIH0sIHt9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHNhbml0aXplUm93O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvaGVscGVycy9zYW5pdGl6ZS1yb3cuanNcbi8vIG1vZHVsZSBpZCA9IDE5OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///199\n"); + +/***/ }), +/* 200 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_inspect__ = __webpack_require__(1);\n\n // Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Primitives (numbers/strings) are returned as-is\n// Null and undefined values are filtered out\n// Dates are converted to their native string format\n\nvar stringifyObjectValues = function stringifyObjectValues(val) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"o\" /* isUndefinedOrNull */])(val)) {\n /* istanbul ignore next */\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"i\" /* isObject */])(val) && !Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"c\" /* isDate */])(val)) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_object__[\"j\" /* keys */])(val).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .filter(function (v) {\n return !Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"o\" /* isUndefinedOrNull */])(v);\n }) // Ignore undefined/null values\n .map(function (k) {\n return stringifyObjectValues(val[k]);\n }).join(' ');\n }\n\n return String(val);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (stringifyObjectValues);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL3N0cmluZ2lmeS1vYmplY3QtdmFsdWVzLmpzP2U5YWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUE2QztBQUNnQztBQUM3RTtBQUNBO0FBQ0E7QUFDQSxRQUFRLFdBQVcsMEJBQTBCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU0saUZBQWlCO0FBQ3ZCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBLE1BQU0sd0VBQVEsVUFBVSxzRUFBTTtBQUM5QixXQUFXLG1FQUFJO0FBQ2Y7QUFDQSxjQUFjLGlGQUFpQjtBQUMvQixLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVlLDhFQUFxQiIsImZpbGUiOiIyMDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBrZXlzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvb2JqZWN0JztcbmltcG9ydCB7IGlzRGF0ZSwgaXNPYmplY3QsIGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7IC8vIFJlY3Vyc2l2ZWx5IHN0cmluZ2lmaWVzIHRoZSB2YWx1ZXMgb2YgYW4gb2JqZWN0LCBzcGFjZSBzZXBhcmF0ZWQsIGluIGFuXG4vLyBTU1Igc2FmZSBkZXRlcm1pbmlzdGljIHdheSAoa2V5cyBhcmUgc29ydGVkIGJlZm9yZSBzdHJpbmdpZmljYXRpb24pXG4vL1xuLy8gICBleDpcbi8vICAgICB7IGI6IDMsIGM6IHsgejogJ3p6eicsIGQ6IG51bGwsIGU6IDIgfSwgZDogWzEwLCAxMiwgMTFdLCBhOiAnb25lJyB9XG4vLyAgIGJlY29tZXNcbi8vICAgICAnb25lIDMgMiB6enogMTAgMTIgMTEnXG4vL1xuLy8gUHJpbWl0aXZlcyAobnVtYmVycy9zdHJpbmdzKSBhcmUgcmV0dXJuZWQgYXMtaXNcbi8vIE51bGwgYW5kIHVuZGVmaW5lZCB2YWx1ZXMgYXJlIGZpbHRlcmVkIG91dFxuLy8gRGF0ZXMgYXJlIGNvbnZlcnRlZCB0byB0aGVpciBuYXRpdmUgc3RyaW5nIGZvcm1hdFxuXG52YXIgc3RyaW5naWZ5T2JqZWN0VmFsdWVzID0gZnVuY3Rpb24gc3RyaW5naWZ5T2JqZWN0VmFsdWVzKHZhbCkge1xuICBpZiAoaXNVbmRlZmluZWRPck51bGwodmFsKSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuICcnO1xuICB9IC8vIEFycmF5cyBhcmUgYWxzbyBvYmplY3QsIGFuZCBrZXlzIGp1c3QgcmV0dXJucyB0aGUgYXJyYXkgaW5kZXhlc1xuICAvLyBEYXRlIG9iamVjdHMgd2UgY29udmVydCB0byBzdHJpbmdzXG5cblxuICBpZiAoaXNPYmplY3QodmFsKSAmJiAhaXNEYXRlKHZhbCkpIHtcbiAgICByZXR1cm4ga2V5cyh2YWwpLnNvcnQoKSAvLyBTb3J0IHRvIHByZXZlbnQgU1NSIGlzc3VlcyBvbiBwcmUtcmVuZGVyZWQgc29ydGVkIHRhYmxlc1xuICAgIC5maWx0ZXIoZnVuY3Rpb24gKHYpIHtcbiAgICAgIHJldHVybiAhaXNVbmRlZmluZWRPck51bGwodik7XG4gICAgfSkgLy8gSWdub3JlIHVuZGVmaW5lZC9udWxsIHZhbHVlc1xuICAgIC5tYXAoZnVuY3Rpb24gKGspIHtcbiAgICAgIHJldHVybiBzdHJpbmdpZnlPYmplY3RWYWx1ZXModmFsW2tdKTtcbiAgICB9KS5qb2luKCcgJyk7XG4gIH1cblxuICByZXR1cm4gU3RyaW5nKHZhbCk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBzdHJpbmdpZnlPYmplY3RWYWx1ZXM7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL3N0cmluZ2lmeS1vYmplY3QtdmFsdWVzLmpzXG4vLyBtb2R1bGUgaWQgPSAyMDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///200\n"); + +/***/ }), +/* 201 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in <b-table> if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nvar stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (stableSort);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvc3RhYmxlLXNvcnQuanM/MGFlZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQixXQUFXLFNBQVM7QUFDcEIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7O0FBRWUsbUVBQVUiLCJmaWxlIjoiMjAxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvbnNpc3RlbnQgYW5kIHN0YWJsZSBzb3J0IGZ1bmN0aW9uIGFjcm9zcyBKYXZhU2NyaXB0IHBsYXRmb3Jtc1xuICpcbiAqIEluY29uc2lzdGVudCBzb3J0cyBjYW4gY2F1c2UgU1NSIHByb2JsZW1zIGJldHdlZW4gY2xpZW50IGFuZCBzZXJ2ZXJcbiAqIHN1Y2ggYXMgaW4gPGItdGFibGU+IGlmIHNvcnRCeSBpcyBhcHBsaWVkIHRvIHRoZSBkYXRhIG9uIHNlcnZlciBzaWRlIHJlbmRlci5cbiAqIENocm9tZSBhbmQgVjggbmF0aXZlIHNvcnRzIGFyZSBpbmNvbnNpc3RlbnQvdW5zdGFibGVcbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHVzZXMgbmF0aXZlIHNvcnQgd2l0aCBmYWxsYmFjayB0byBpbmRleCBjb21wYXJlIHdoZW4gdGhlIGEgYW5kIGJcbiAqIGNvbXBhcmUgcmV0dXJucyAwXG4gKlxuICogQWxnb3JpdGhtIGJhc2VkIG9uOlxuICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTQyNzYwOC9mYXN0LXN0YWJsZS1zb3J0aW5nLWFsZ29yaXRobS1pbXBsZW1lbnRhdGlvbi1pbi1qYXZhc2NyaXB0LzQ1NDIyNjQ1IzQ1NDIyNjQ1XG4gKlxuICogQHBhcmFtIHthcnJheX0gYXJyYXkgdG8gc29ydFxuICogQHBhcmFtIHtmdW5jdGlvbn0gc29ydCBjb21wYXJlIGZ1bmN0aW9uXG4gKiBAcmV0dXJuIHthcnJheX1cbiAqL1xudmFyIHN0YWJsZVNvcnQgPSBmdW5jdGlvbiBzdGFibGVTb3J0KGFycmF5LCBjb21wYXJlRm4pIHtcbiAgLy8gVXNpbmcgYC5iaW5kKGNvbXBhcmVGbilgIG9uIHRoZSB3cmFwcGVkIGFub255bW91cyBmdW5jdGlvbiBpbXByb3Zlc1xuICAvLyBwZXJmb3JtYW5jZSBieSBhdm9pZGluZyB0aGUgZnVuY3Rpb24gY2FsbCBzZXR1cC4gV2UgZG9uJ3QgdXNlIGFuIGFycm93XG4gIC8vIGZ1bmN0aW9uIGhlcmUgYXMgaXQgYmluZHMgYHRoaXNgIHRvIHRoZSBgc3RhYmxlU29ydGAgY29udGV4dCByYXRoZXIgdGhhblxuICAvLyB0aGUgYGNvbXBhcmVGbmAgY29udGV4dCwgd2hpY2ggd291bGRuJ3QgZ2l2ZSB1cyB0aGUgcGVyZm9ybWFuY2UgaW5jcmVhc2UuXG4gIHJldHVybiBhcnJheS5tYXAoZnVuY3Rpb24gKGEsIGluZGV4KSB7XG4gICAgcmV0dXJuIFtpbmRleCwgYV07XG4gIH0pLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICByZXR1cm4gdGhpcyhhWzFdLCBiWzFdKSB8fCBhWzBdIC0gYlswXTtcbiAgfS5iaW5kKGNvbXBhcmVGbikpLm1hcChmdW5jdGlvbiAoZSkge1xuICAgIHJldHVybiBlWzFdO1xuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN0YWJsZVNvcnQ7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvc3RhYmxlLXNvcnQuanNcbi8vIG1vZHVsZSBpZCA9IDIwMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///201\n"); + +/***/ }), +/* 202 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_html__ = __webpack_require__(11);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n // `caption-top` is part of table-redere mixin (styling)\n // captionTop: {\n // type: Boolean,\n // default: false\n // },\n caption: {\n type: String,\n default: null\n },\n captionHtml: {\n type: String\n }\n },\n computed: {\n captionId: function captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var h = this.$createElement; // Build the caption\n\n var $captionSlot = this.normalizeSlot('table-caption');\n var $caption = h();\n\n if ($captionSlot || this.caption || this.captionHtml) {\n var data = {\n key: 'caption',\n attrs: {\n id: this.captionId\n }\n };\n\n if (!$captionSlot) {\n data.domProps = Object(__WEBPACK_IMPORTED_MODULE_0__utils_html__[\"a\" /* htmlOrText */])(this.captionHtml, this.caption);\n }\n\n $caption = h('caption', data, [$captionSlot]);\n }\n\n return $caption;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLWNhcHRpb24uanM/YzllMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFpRDtBQUNsQztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQix1RUFBVTtBQUNwQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMjAyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaHRtbE9yVGV4dCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2h0bWwnO1xuZXhwb3J0IGRlZmF1bHQge1xuICBwcm9wczoge1xuICAgIC8vIGBjYXB0aW9uLXRvcGAgaXMgcGFydCBvZiB0YWJsZS1yZWRlcmUgbWl4aW4gKHN0eWxpbmcpXG4gICAgLy8gY2FwdGlvblRvcDoge1xuICAgIC8vICAgdHlwZTogQm9vbGVhbixcbiAgICAvLyAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgLy8gfSxcbiAgICBjYXB0aW9uOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBjYXB0aW9uSHRtbDoge1xuICAgICAgdHlwZTogU3RyaW5nXG4gICAgfVxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGNhcHRpb25JZDogZnVuY3Rpb24gY2FwdGlvbklkKCkge1xuICAgICAgLy8gRXZlbiB0aG91Z2ggYHRoaXMuc2FmZUlkYCBsb29rcyBsaWtlIGEgbWV0aG9kLCBpdCBpcyBhIGNvbXB1dGVkIHByb3BcbiAgICAgIC8vIHRoYXQgcmV0dXJucyBhIG5ldyBmdW5jdGlvbiBpZiB0aGUgdW5kZXJseWluZyBJRCBjaGFuZ2VzXG4gICAgICByZXR1cm4gdGhpcy5pc1N0YWNrZWQgPyB0aGlzLnNhZmVJZCgnX2NhcHRpb25fJykgOiBudWxsO1xuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIHJlbmRlckNhcHRpb246IGZ1bmN0aW9uIHJlbmRlckNhcHRpb24oKSB7XG4gICAgICB2YXIgaCA9IHRoaXMuJGNyZWF0ZUVsZW1lbnQ7IC8vIEJ1aWxkIHRoZSBjYXB0aW9uXG5cbiAgICAgIHZhciAkY2FwdGlvblNsb3QgPSB0aGlzLm5vcm1hbGl6ZVNsb3QoJ3RhYmxlLWNhcHRpb24nKTtcbiAgICAgIHZhciAkY2FwdGlvbiA9IGgoKTtcblxuICAgICAgaWYgKCRjYXB0aW9uU2xvdCB8fCB0aGlzLmNhcHRpb24gfHwgdGhpcy5jYXB0aW9uSHRtbCkge1xuICAgICAgICB2YXIgZGF0YSA9IHtcbiAgICAgICAgICBrZXk6ICdjYXB0aW9uJyxcbiAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgaWQ6IHRoaXMuY2FwdGlvbklkXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICghJGNhcHRpb25TbG90KSB7XG4gICAgICAgICAgZGF0YS5kb21Qcm9wcyA9IGh0bWxPclRleHQodGhpcy5jYXB0aW9uSHRtbCwgdGhpcy5jYXB0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgICRjYXB0aW9uID0gaCgnY2FwdGlvbicsIGRhdGEsIFskY2FwdGlvblNsb3RdKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICRjYXB0aW9uO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvbWl4aW4tY2FwdGlvbi5qc1xuLy8gbW9kdWxlIGlkID0gMjAyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///202\n"); + +/***/ }), +/* 203 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony default export */ __webpack_exports__[\"a\"] = ({\n methods: {\n renderColgroup: function renderColgroup() {\n var h = this.$createElement;\n var fields = this.computedFields;\n var $colgroup = h();\n\n if (this.hasNormalizedSlot('table-colgroup')) {\n $colgroup = h('colgroup', {\n key: 'colgroup'\n }, [this.normalizeSlot('table-colgroup', {\n columns: fields.length,\n fields: fields\n })]);\n }\n\n return $colgroup;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLWNvbGdyb3VwLmpzP2RmODIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMjAzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBtZXRob2RzOiB7XG4gICAgcmVuZGVyQ29sZ3JvdXA6IGZ1bmN0aW9uIHJlbmRlckNvbGdyb3VwKCkge1xuICAgICAgdmFyIGggPSB0aGlzLiRjcmVhdGVFbGVtZW50O1xuICAgICAgdmFyIGZpZWxkcyA9IHRoaXMuY29tcHV0ZWRGaWVsZHM7XG4gICAgICB2YXIgJGNvbGdyb3VwID0gaCgpO1xuXG4gICAgICBpZiAodGhpcy5oYXNOb3JtYWxpemVkU2xvdCgndGFibGUtY29sZ3JvdXAnKSkge1xuICAgICAgICAkY29sZ3JvdXAgPSBoKCdjb2xncm91cCcsIHtcbiAgICAgICAgICBrZXk6ICdjb2xncm91cCdcbiAgICAgICAgfSwgW3RoaXMubm9ybWFsaXplU2xvdCgndGFibGUtY29sZ3JvdXAnLCB7XG4gICAgICAgICAgY29sdW1uczogZmllbGRzLmxlbmd0aCxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkc1xuICAgICAgICB9KV0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJGNvbGdyb3VwO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvbWl4aW4tY29sZ3JvdXAuanNcbi8vIG1vZHVsZSBpZCA9IDIwM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///203\n"); + +/***/ }), +/* 204 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_startcase__ = __webpack_require__(85);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__filter_event__ = __webpack_require__(205);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__text_selection_active__ = __webpack_require__(206);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__thead__ = __webpack_require__(88);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__tfoot__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__tr__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__th__ = __webpack_require__(49);\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n headVariant: {\n type: String,\n // 'light', 'dark' or null (or custom)\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_config__[\"c\" /* getComponentConfig */])('BTable', 'headVariant');\n }\n },\n theadClass: {\n type: [String, Array, Object] // default: undefined\n\n },\n theadTrClass: {\n type: [String, Array, Object] // default: undefined\n\n }\n },\n methods: {\n fieldClasses: function fieldClasses(field) {\n // Header field (<th>) classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(evt, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(evt)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_4__filter_event__[\"a\" /* default */])(evt)) {\n // Clicked on a non-disabled control so ignore\n return;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_5__text_selection_active__[\"a\" /* default */])(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n evt.stopPropagation();\n evt.preventDefault();\n this.$emit('head-clicked', field.key, field, evt, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var h = this.$createElement;\n var fields = this.computedFields || [];\n\n if (this.isStackedAlways || fields.length === 0) {\n // In always stacked mode, we don't bother rendering the head/foot.\n // Or if no field headings (empty table)\n return h();\n } // Refernce to `selectAllRows` and `clearSelected()`, if table is Selectable\n\n\n var selectAllRows = this.isSelectable ? this.selectAllRows : function () {};\n var clearSelected = this.isSelectable ? this.clearSelected : function () {}; // Helper function to generate a field <th> cell\n\n var makeCell = function makeCell(field, colIndex) {\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = Object(__WEBPACK_IMPORTED_MODULE_1__utils_startcase__[\"a\" /* default */])(field.key);\n }\n\n var hasHeadClickListener = _this.$listeners['head-clicked'] || _this.isSortable;\n var handlers = {};\n\n if (hasHeadClickListener) {\n handlers.click = function (evt) {\n _this.headClicked(evt, field, isFoot);\n };\n\n handlers.keydown = function (evt) {\n var keyCode = evt.keyCode;\n\n if (keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].ENTER || keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].SPACE) {\n _this.headClicked(evt, field, isFoot);\n }\n };\n }\n\n var sortAttrs = _this.isSortable ? _this.sortTheadThAttrs(field.key, field, isFoot) : {};\n var sortClass = _this.isSortable ? _this.sortTheadThClasses(field.key, field, isFoot) : null;\n var data = {\n key: field.key,\n class: [_this.fieldClasses(field), sortClass],\n props: {\n variant: field.variant,\n stickyColumn: field.stickyColumn\n },\n style: field.thStyle || {},\n attrs: _objectSpread({\n // We only add a tabindex of 0 if there is a head-clicked listener\n tabindex: hasHeadClickListener ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': String(colIndex + 1),\n 'aria-label': ariaLabel\n }, _this.getThValues(null, field.key, field.thAttr, isFoot ? 'foot' : 'head', {}), {}, sortAttrs),\n on: handlers\n }; // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n\n var slotNames = [\"head(\".concat(field.key, \")\"), \"head(\".concat(field.key.toLowerCase(), \")\"), 'head()'];\n\n if (isFoot) {\n // Footer will fallback to header slot names\n slotNames = [\"foot(\".concat(field.key, \")\"), \"foot(\".concat(field.key.toLowerCase(), \")\"), 'foot()'].concat(_toConsumableArray(slotNames));\n }\n\n var hasSlot = _this.hasNormalizedSlot(slotNames);\n\n var slot = field.label;\n\n if (hasSlot) {\n slot = _this.normalizeSlot(slotNames, {\n label: field.label,\n column: field.key,\n field: field,\n isFoot: isFoot,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n });\n } else {\n data.domProps = Object(__WEBPACK_IMPORTED_MODULE_3__utils_html__[\"a\" /* htmlOrText */])(field.labelHtml);\n }\n\n return h(__WEBPACK_IMPORTED_MODULE_9__th__[\"a\" /* BTh */], data, slot);\n }; // Generate the array of <th> cells\n\n\n var $cells = fields.map(makeCell).filter(function (th) {\n return th;\n }); // Genrate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h(__WEBPACK_IMPORTED_MODULE_8__tr__[\"a\" /* BTr */], {\n class: this.tfootTrClass\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n $trs.push(this.normalizeSlot('thead-top', scope) || h());\n $trs.push(h(__WEBPACK_IMPORTED_MODULE_8__tr__[\"a\" /* BTr */], {\n class: this.theadTrClass\n }, $cells));\n }\n\n return h(isFoot ? __WEBPACK_IMPORTED_MODULE_7__tfoot__[\"a\" /* BTfoot */] : __WEBPACK_IMPORTED_MODULE_6__thead__[\"a\" /* BThead */], {\n key: isFoot ? 'bv-tfoot' : 'bv-thead',\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot ? {\n footVariant: this.footVariant || this.headVariant || null\n } : {\n headVariant: this.headVariant || null\n }\n }, $trs);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXRoZWFkLmpzPzdkNDQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxrQ0FBa0MsaUZBQWlGOztBQUVuSCwrQkFBK0Isd0VBQXdFOztBQUV2RyxpQ0FBaUMsK0hBQStIOztBQUVoSyxrQ0FBa0MsMEJBQTBCLDhDQUE4QyxnQkFBZ0IsT0FBTyxrQkFBa0IsRUFBRSxhQUFhLEVBQUU7O0FBRXBLLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL0o7QUFDQztBQUNVO0FBQ1Y7QUFDUjtBQUNpQjtBQUN4QjtBQUNBO0FBQ047QUFDQTtBQUNiO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUZBQWtCO0FBQ2pDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFVBQVUsc0VBQVc7QUFDNUI7QUFDQTtBQUNBLE9BQU8sVUFBVSwrRUFBbUI7QUFDcEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0Esa0ZBQWtGOztBQUVsRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNCQUFzQix5RUFBUztBQUMvQjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsNEJBQTRCLGlFQUFRLHNCQUFzQixpRUFBUTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsK0VBQStFLEtBQUs7QUFDL0Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVCwwQkFBMEIsdUVBQVU7QUFDcEM7O0FBRUEsaUJBQWlCLGdEQUFHO0FBQ3BCLFFBQVE7OztBQUdSO0FBQ0E7QUFDQSxPQUFPLEVBQUU7O0FBRVQ7O0FBRUE7QUFDQSxvQkFBb0IsZ0RBQUc7QUFDdkI7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZ0RBQUc7QUFDdkI7QUFDQSxTQUFTO0FBQ1Q7O0FBRUEsd0JBQXdCLHNEQUFNLEdBQUcsc0RBQU07QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIyMDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7IHJldHVybiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5KGFycikgfHwgX25vbkl0ZXJhYmxlU3ByZWFkKCk7IH1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2VcIik7IH1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheShpdGVyKSB7IGlmIChTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXIpIHx8IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpdGVyKSA9PT0gXCJbb2JqZWN0IEFyZ3VtZW50c11cIikgcmV0dXJuIEFycmF5LmZyb20oaXRlcik7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7IGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGFyci5sZW5ndGgpOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7IGFycjJbaV0gPSBhcnJbaV07IH0gcmV0dXJuIGFycjI7IH0gfVxuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgS2V5Q29kZXMgZnJvbSAnLi4vLi4vLi4vdXRpbHMva2V5LWNvZGVzJztcbmltcG9ydCBzdGFydENhc2UgZnJvbSAnLi4vLi4vLi4vdXRpbHMvc3RhcnRjYXNlJztcbmltcG9ydCB7IGdldENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBodG1sT3JUZXh0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaHRtbCc7XG5pbXBvcnQgZmlsdGVyRXZlbnQgZnJvbSAnLi9maWx0ZXItZXZlbnQnO1xuaW1wb3J0IHRleHRTZWxlY3Rpb25BY3RpdmUgZnJvbSAnLi90ZXh0LXNlbGVjdGlvbi1hY3RpdmUnO1xuaW1wb3J0IHsgQlRoZWFkIH0gZnJvbSAnLi4vdGhlYWQnO1xuaW1wb3J0IHsgQlRmb290IH0gZnJvbSAnLi4vdGZvb3QnO1xuaW1wb3J0IHsgQlRyIH0gZnJvbSAnLi4vdHInO1xuaW1wb3J0IHsgQlRoIH0gZnJvbSAnLi4vdGgnO1xuZXhwb3J0IGRlZmF1bHQge1xuICBwcm9wczoge1xuICAgIGhlYWRWYXJpYW50OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAvLyAnbGlnaHQnLCAnZGFyaycgb3IgbnVsbCAob3IgY3VzdG9tKVxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnRDb25maWcoJ0JUYWJsZScsICdoZWFkVmFyaWFudCcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdGhlYWRDbGFzczoge1xuICAgICAgdHlwZTogW1N0cmluZywgQXJyYXksIE9iamVjdF0gLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgICB9LFxuICAgIHRoZWFkVHJDbGFzczoge1xuICAgICAgdHlwZTogW1N0cmluZywgQXJyYXksIE9iamVjdF0gLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBmaWVsZENsYXNzZXM6IGZ1bmN0aW9uIGZpZWxkQ2xhc3NlcyhmaWVsZCkge1xuICAgICAgLy8gSGVhZGVyIGZpZWxkICg8dGg+KSBjbGFzc2VzXG4gICAgICByZXR1cm4gW2ZpZWxkLmNsYXNzID8gZmllbGQuY2xhc3MgOiAnJywgZmllbGQudGhDbGFzcyA/IGZpZWxkLnRoQ2xhc3MgOiAnJ107XG4gICAgfSxcbiAgICBoZWFkQ2xpY2tlZDogZnVuY3Rpb24gaGVhZENsaWNrZWQoZXZ0LCBmaWVsZCwgaXNGb290KSB7XG4gICAgICBpZiAodGhpcy5zdG9wSWZCdXN5ICYmIHRoaXMuc3RvcElmQnVzeShldnQpKSB7XG4gICAgICAgIC8vIElmIHRhYmxlIGlzIGJ1c3kgKHZpYSBwcm92aWRlcikgdGhlbiBkb24ndCBwcm9wYWdhdGVcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmIChmaWx0ZXJFdmVudChldnQpKSB7XG4gICAgICAgIC8vIENsaWNrZWQgb24gYSBub24tZGlzYWJsZWQgY29udHJvbCBzbyBpZ25vcmVcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmICh0ZXh0U2VsZWN0aW9uQWN0aXZlKHRoaXMuJGVsKSkge1xuICAgICAgICAvLyBVc2VyIGlzIHNlbGVjdGluZyB0ZXh0LCBzbyBpZ25vcmVcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogSlNET00gZG9lc24ndCBzdXBwb3J0IGdldFNlbGVjdGlvbigpICovXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLiRlbWl0KCdoZWFkLWNsaWNrZWQnLCBmaWVsZC5rZXksIGZpZWxkLCBldnQsIGlzRm9vdCk7XG4gICAgfSxcbiAgICByZW5kZXJUaGVhZDogZnVuY3Rpb24gcmVuZGVyVGhlYWQoKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICB2YXIgaXNGb290ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBmYWxzZTtcbiAgICAgIHZhciBoID0gdGhpcy4kY3JlYXRlRWxlbWVudDtcbiAgICAgIHZhciBmaWVsZHMgPSB0aGlzLmNvbXB1dGVkRmllbGRzIHx8IFtdO1xuXG4gICAgICBpZiAodGhpcy5pc1N0YWNrZWRBbHdheXMgfHwgZmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAvLyBJbiBhbHdheXMgc3RhY2tlZCBtb2RlLCB3ZSBkb24ndCBib3RoZXIgcmVuZGVyaW5nIHRoZSBoZWFkL2Zvb3QuXG4gICAgICAgIC8vIE9yIGlmIG5vIGZpZWxkIGhlYWRpbmdzIChlbXB0eSB0YWJsZSlcbiAgICAgICAgcmV0dXJuIGgoKTtcbiAgICAgIH0gLy8gUmVmZXJuY2UgdG8gYHNlbGVjdEFsbFJvd3NgIGFuZCBgY2xlYXJTZWxlY3RlZCgpYCwgaWYgdGFibGUgaXMgU2VsZWN0YWJsZVxuXG5cbiAgICAgIHZhciBzZWxlY3RBbGxSb3dzID0gdGhpcy5pc1NlbGVjdGFibGUgPyB0aGlzLnNlbGVjdEFsbFJvd3MgOiBmdW5jdGlvbiAoKSB7fTtcbiAgICAgIHZhciBjbGVhclNlbGVjdGVkID0gdGhpcy5pc1NlbGVjdGFibGUgPyB0aGlzLmNsZWFyU2VsZWN0ZWQgOiBmdW5jdGlvbiAoKSB7fTsgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIGEgZmllbGQgPHRoPiBjZWxsXG5cbiAgICAgIHZhciBtYWtlQ2VsbCA9IGZ1bmN0aW9uIG1ha2VDZWxsKGZpZWxkLCBjb2xJbmRleCkge1xuICAgICAgICB2YXIgYXJpYUxhYmVsID0gbnVsbDtcblxuICAgICAgICBpZiAoIWZpZWxkLmxhYmVsLnRyaW0oKSAmJiAhZmllbGQuaGVhZGVyVGl0bGUpIHtcbiAgICAgICAgICAvLyBJbiBjYXNlIGZpZWxkJ3MgbGFiZWwgYW5kIHRpdGxlIGFyZSBlbXB0eS9ibGFua1xuICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWRkIGEgaGludCBhYm91dCB3aGF0IHRoZSBjb2x1bW4gaXMgYWJvdXQgZm9yIG5vbi1zaWdodGVkIHVzZXJzXG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgIGFyaWFMYWJlbCA9IHN0YXJ0Q2FzZShmaWVsZC5rZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGhhc0hlYWRDbGlja0xpc3RlbmVyID0gX3RoaXMuJGxpc3RlbmVyc1snaGVhZC1jbGlja2VkJ10gfHwgX3RoaXMuaXNTb3J0YWJsZTtcbiAgICAgICAgdmFyIGhhbmRsZXJzID0ge307XG5cbiAgICAgICAgaWYgKGhhc0hlYWRDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgaGFuZGxlcnMuY2xpY2sgPSBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICBfdGhpcy5oZWFkQ2xpY2tlZChldnQsIGZpZWxkLCBpc0Zvb3QpO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBoYW5kbGVycy5rZXlkb3duID0gZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgdmFyIGtleUNvZGUgPSBldnQua2V5Q29kZTtcblxuICAgICAgICAgICAgaWYgKGtleUNvZGUgPT09IEtleUNvZGVzLkVOVEVSIHx8IGtleUNvZGUgPT09IEtleUNvZGVzLlNQQUNFKSB7XG4gICAgICAgICAgICAgIF90aGlzLmhlYWRDbGlja2VkKGV2dCwgZmllbGQsIGlzRm9vdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBzb3J0QXR0cnMgPSBfdGhpcy5pc1NvcnRhYmxlID8gX3RoaXMuc29ydFRoZWFkVGhBdHRycyhmaWVsZC5rZXksIGZpZWxkLCBpc0Zvb3QpIDoge307XG4gICAgICAgIHZhciBzb3J0Q2xhc3MgPSBfdGhpcy5pc1NvcnRhYmxlID8gX3RoaXMuc29ydFRoZWFkVGhDbGFzc2VzKGZpZWxkLmtleSwgZmllbGQsIGlzRm9vdCkgOiBudWxsO1xuICAgICAgICB2YXIgZGF0YSA9IHtcbiAgICAgICAgICBrZXk6IGZpZWxkLmtleSxcbiAgICAgICAgICBjbGFzczogW190aGlzLmZpZWxkQ2xhc3NlcyhmaWVsZCksIHNvcnRDbGFzc10sXG4gICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIHZhcmlhbnQ6IGZpZWxkLnZhcmlhbnQsXG4gICAgICAgICAgICBzdGlja3lDb2x1bW46IGZpZWxkLnN0aWNreUNvbHVtblxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3R5bGU6IGZpZWxkLnRoU3R5bGUgfHwge30sXG4gICAgICAgICAgYXR0cnM6IF9vYmplY3RTcHJlYWQoe1xuICAgICAgICAgICAgLy8gV2Ugb25seSBhZGQgYSB0YWJpbmRleCBvZiAwIGlmIHRoZXJlIGlzIGEgaGVhZC1jbGlja2VkIGxpc3RlbmVyXG4gICAgICAgICAgICB0YWJpbmRleDogaGFzSGVhZENsaWNrTGlzdGVuZXIgPyAnMCcgOiBudWxsLFxuICAgICAgICAgICAgYWJicjogZmllbGQuaGVhZGVyQWJiciB8fCBudWxsLFxuICAgICAgICAgICAgdGl0bGU6IGZpZWxkLmhlYWRlclRpdGxlIHx8IG51bGwsXG4gICAgICAgICAgICAnYXJpYS1jb2xpbmRleCc6IFN0cmluZyhjb2xJbmRleCArIDEpLFxuICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWxcbiAgICAgICAgICB9LCBfdGhpcy5nZXRUaFZhbHVlcyhudWxsLCBmaWVsZC5rZXksIGZpZWxkLnRoQXR0ciwgaXNGb290ID8gJ2Zvb3QnIDogJ2hlYWQnLCB7fSksIHt9LCBzb3J0QXR0cnMpLFxuICAgICAgICAgIG9uOiBoYW5kbGVyc1xuICAgICAgICB9OyAvLyBIYW5kbGUgZWRnZSBjYXNlIHdoZXJlIGluLWRvY3VtZW50IHRlbXBsYXRlcyBhcmUgdXNlZCB3aXRoIG5ld1xuICAgICAgICAvLyBgdi1zbG90Om5hbWVgIHN5bnRheCB3aGVyZSB0aGUgYnJvd3NlciBsb3dlci1jYXNlcyB0aGUgdi1zbG90J3NcbiAgICAgICAgLy8gbmFtZSAoYXR0cmlidXRlcyBiZWNvbWUgbG93ZXIgY2FzZWQgd2hlbiBwYXJzZWQgYnkgdGhlIGJyb3dzZXIpXG4gICAgICAgIC8vIFdlIGhhdmUgcmVwbGFjZWQgdGhlIHNxdWFyZSBicmFja2V0IHN5bnRheCB3aXRoIHJvdW5kIGJyYWNrZXRzXG4gICAgICAgIC8vIHRvIHByZXZlbnQgY29uZnVzaW9uIHdpdGggZHluYW1pYyBzbG90IG5hbWVzXG5cbiAgICAgICAgdmFyIHNsb3ROYW1lcyA9IFtcImhlYWQoXCIuY29uY2F0KGZpZWxkLmtleSwgXCIpXCIpLCBcImhlYWQoXCIuY29uY2F0KGZpZWxkLmtleS50b0xvd2VyQ2FzZSgpLCBcIilcIiksICdoZWFkKCknXTtcblxuICAgICAgICBpZiAoaXNGb290KSB7XG4gICAgICAgICAgLy8gRm9vdGVyIHdpbGwgZmFsbGJhY2sgdG8gaGVhZGVyIHNsb3QgbmFtZXNcbiAgICAgICAgICBzbG90TmFtZXMgPSBbXCJmb290KFwiLmNvbmNhdChmaWVsZC5rZXksIFwiKVwiKSwgXCJmb290KFwiLmNvbmNhdChmaWVsZC5rZXkudG9Mb3dlckNhc2UoKSwgXCIpXCIpLCAnZm9vdCgpJ10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShzbG90TmFtZXMpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBoYXNTbG90ID0gX3RoaXMuaGFzTm9ybWFsaXplZFNsb3Qoc2xvdE5hbWVzKTtcblxuICAgICAgICB2YXIgc2xvdCA9IGZpZWxkLmxhYmVsO1xuXG4gICAgICAgIGlmIChoYXNTbG90KSB7XG4gICAgICAgICAgc2xvdCA9IF90aGlzLm5vcm1hbGl6ZVNsb3Qoc2xvdE5hbWVzLCB7XG4gICAgICAgICAgICBsYWJlbDogZmllbGQubGFiZWwsXG4gICAgICAgICAgICBjb2x1bW46IGZpZWxkLmtleSxcbiAgICAgICAgICAgIGZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgIGlzRm9vdDogaXNGb290LFxuICAgICAgICAgICAgLy8gQWRkIGluIHJvdyBzZWxlY3QgbWV0aG9kc1xuICAgICAgICAgICAgc2VsZWN0QWxsUm93czogc2VsZWN0QWxsUm93cyxcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWQ6IGNsZWFyU2VsZWN0ZWRcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkYXRhLmRvbVByb3BzID0gaHRtbE9yVGV4dChmaWVsZC5sYWJlbEh0bWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGgoQlRoLCBkYXRhLCBzbG90KTtcbiAgICAgIH07IC8vIEdlbmVyYXRlIHRoZSBhcnJheSBvZiA8dGg+IGNlbGxzXG5cblxuICAgICAgdmFyICRjZWxscyA9IGZpZWxkcy5tYXAobWFrZUNlbGwpLmZpbHRlcihmdW5jdGlvbiAodGgpIHtcbiAgICAgICAgcmV0dXJuIHRoO1xuICAgICAgfSk7IC8vIEdlbnJhdGUgdGhlIHJvdyhzKVxuXG4gICAgICB2YXIgJHRycyA9IFtdO1xuXG4gICAgICBpZiAoaXNGb290KSB7XG4gICAgICAgICR0cnMucHVzaChoKEJUciwge1xuICAgICAgICAgIGNsYXNzOiB0aGlzLnRmb290VHJDbGFzc1xuICAgICAgICB9LCAkY2VsbHMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBzY29wZSA9IHtcbiAgICAgICAgICBjb2x1bW5zOiBmaWVsZHMubGVuZ3RoLFxuICAgICAgICAgIGZpZWxkczogZmllbGRzLFxuICAgICAgICAgIC8vIEFkZCBpbiByb3cgc2VsZWN0IG1ldGhvZHNcbiAgICAgICAgICBzZWxlY3RBbGxSb3dzOiBzZWxlY3RBbGxSb3dzLFxuICAgICAgICAgIGNsZWFyU2VsZWN0ZWQ6IGNsZWFyU2VsZWN0ZWRcbiAgICAgICAgfTtcbiAgICAgICAgJHRycy5wdXNoKHRoaXMubm9ybWFsaXplU2xvdCgndGhlYWQtdG9wJywgc2NvcGUpIHx8IGgoKSk7XG4gICAgICAgICR0cnMucHVzaChoKEJUciwge1xuICAgICAgICAgIGNsYXNzOiB0aGlzLnRoZWFkVHJDbGFzc1xuICAgICAgICB9LCAkY2VsbHMpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGgoaXNGb290ID8gQlRmb290IDogQlRoZWFkLCB7XG4gICAgICAgIGtleTogaXNGb290ID8gJ2J2LXRmb290JyA6ICdidi10aGVhZCcsXG4gICAgICAgIGNsYXNzOiAoaXNGb290ID8gdGhpcy50Zm9vdENsYXNzIDogdGhpcy50aGVhZENsYXNzKSB8fCBudWxsLFxuICAgICAgICBwcm9wczogaXNGb290ID8ge1xuICAgICAgICAgIGZvb3RWYXJpYW50OiB0aGlzLmZvb3RWYXJpYW50IHx8IHRoaXMuaGVhZFZhcmlhbnQgfHwgbnVsbFxuICAgICAgICB9IDoge1xuICAgICAgICAgIGhlYWRWYXJpYW50OiB0aGlzLmhlYWRWYXJpYW50IHx8IG51bGxcbiAgICAgICAgfVxuICAgICAgfSwgJHRycyk7XG4gICAgfVxuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvaGVscGVycy9taXhpbi10aGVhZC5qc1xuLy8gbW9kdWxlIGlkID0gMjA0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///204\n"); + +/***/ }), +/* 205 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(86);\n\n\nvar TABLE_TAG_NAMES = ['TD', 'TH', 'TR']; // Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\n\nvar filterEvent = function filterEvent(evt) {\n // Exit early when we don't have a target element\n if (!evt || !evt.target) {\n /* istanbul ignore next */\n return false;\n }\n\n var el = evt.target; // Exit early when element is disabled or a table element\n\n if (el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n } // Ignore the click when it was inside a dropdown menu\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"c\" /* closest */])('.dropdown-menu', el)) {\n return true;\n }\n\n var label = el.tagName === 'LABEL' ? el : Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"c\" /* closest */])('label', el); // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE11\n // does not have this property on the label element, so we resort to DOM lookups\n\n if (label) {\n var labelFor = Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"g\" /* getAttr */])(label, 'for');\n var input = labelFor ? Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"i\" /* getById */])(labelFor) : Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"x\" /* select */])('input, select, textarea', label);\n\n if (input && !input.disabled) {\n return true;\n }\n } // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"q\" /* matches */])(el, __WEBPACK_IMPORTED_MODULE_1__constants__[\"a\" /* EVENT_FILTER */]);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (filterEvent);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL2ZpbHRlci1ldmVudC5qcz85YjE5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBZ0Y7QUFDckM7QUFDM0MseUNBQXlDO0FBQ3pDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0I7O0FBRXRCO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSCxNQUFNLG1FQUFPO0FBQ2I7QUFDQTs7QUFFQSw0Q0FBNEMsbUVBQU8sY0FBYztBQUNqRTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLG1FQUFPO0FBQzFCLDJCQUEyQixtRUFBTyxhQUFhLGtFQUFNOztBQUVyRDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7O0FBR0EsU0FBUyxtRUFBTyxLQUFLLGdFQUFZO0FBQ2pDOztBQUVlLG9FQUFXIiwiZmlsZSI6IjIwNS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsb3Nlc3QsIGdldEF0dHIsIGdldEJ5SWQsIG1hdGNoZXMsIHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBFVkVOVF9GSUxURVIgfSBmcm9tICcuL2NvbnN0YW50cyc7XG52YXIgVEFCTEVfVEFHX05BTUVTID0gWydURCcsICdUSCcsICdUUiddOyAvLyBSZXR1cm5zIGB0cnVlYCBpZiB3ZSBzaG91bGQgaWdub3JlIHRoZSBjbGljay9kb3VibGUtY2xpY2sva2V5cHJlc3MgZXZlbnRcbi8vIEF2b2lkcyBoYXZpbmcgdGhlIHVzZXIgbmVlZCB0byB1c2UgYEBjbGljay5zdG9wYCBvbiB0aGUgZm9ybSBjb250cm9sXG5cbnZhciBmaWx0ZXJFdmVudCA9IGZ1bmN0aW9uIGZpbHRlckV2ZW50KGV2dCkge1xuICAvLyBFeGl0IGVhcmx5IHdoZW4gd2UgZG9uJ3QgaGF2ZSBhIHRhcmdldCBlbGVtZW50XG4gIGlmICghZXZ0IHx8ICFldnQudGFyZ2V0KSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgZWwgPSBldnQudGFyZ2V0OyAvLyBFeGl0IGVhcmx5IHdoZW4gZWxlbWVudCBpcyBkaXNhYmxlZCBvciBhIHRhYmxlIGVsZW1lbnRcblxuICBpZiAoZWwuZGlzYWJsZWQgfHwgVEFCTEVfVEFHX05BTUVTLmluZGV4T2YoZWwudGFnTmFtZSkgIT09IC0xKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIElnbm9yZSB0aGUgY2xpY2sgd2hlbiBpdCB3YXMgaW5zaWRlIGEgZHJvcGRvd24gbWVudVxuXG5cbiAgaWYgKGNsb3Nlc3QoJy5kcm9wZG93bi1tZW51JywgZWwpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YXIgbGFiZWwgPSBlbC50YWdOYW1lID09PSAnTEFCRUwnID8gZWwgOiBjbG9zZXN0KCdsYWJlbCcsIGVsKTsgLy8gSWYgdGhlIGxhYmVsJ3MgZm9ybSBjb250cm9sIGlzIG5vdCBkaXNhYmxlZCB0aGVuIHdlIGRvbid0IHByb3BhZ2F0ZSBldmVudFxuICAvLyBNb2Rlcm4gYnJvd3NlcnMgaGF2ZSBgbGFiZWwuY29udHJvbGAgdGhhdCByZWZlcmVuY2VzIHRoZSBhc3NvY2lhdGVkIGlucHV0LCBidXQgSUUxMVxuICAvLyBkb2VzIG5vdCBoYXZlIHRoaXMgcHJvcGVydHkgb24gdGhlIGxhYmVsIGVsZW1lbnQsIHNvIHdlIHJlc29ydCB0byBET00gbG9va3Vwc1xuXG4gIGlmIChsYWJlbCkge1xuICAgIHZhciBsYWJlbEZvciA9IGdldEF0dHIobGFiZWwsICdmb3InKTtcbiAgICB2YXIgaW5wdXQgPSBsYWJlbEZvciA/IGdldEJ5SWQobGFiZWxGb3IpIDogc2VsZWN0KCdpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYScsIGxhYmVsKTtcblxuICAgIGlmIChpbnB1dCAmJiAhaW5wdXQuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSAvLyBPdGhlcndpc2UgY2hlY2sgaWYgdGhlIGV2ZW50IHRhcmdldCBtYXRjaGVzIG9uZSBvZiB0aGUgc2VsZWN0b3JzIGluIHRoZVxuICAvLyBldmVudCBmaWx0ZXIgKGkuZS4gYW5jaG9ycywgbm9uIGRpc2FibGVkIGlucHV0cywgZXRjLilcbiAgLy8gUmV0dXJuIGB0cnVlYCBpZiB3ZSBzaG91bGQgaWdub3JlIHRoZSBldmVudFxuXG5cbiAgcmV0dXJuIG1hdGNoZXMoZWwsIEVWRU5UX0ZJTFRFUik7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmaWx0ZXJFdmVudDtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvZmlsdGVyLWV2ZW50LmpzXG4vLyBtb2R1bGUgaWQgPSAyMDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///205\n"); + +/***/ }), +/* 206 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_dom__ = __webpack_require__(6);\n // Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\n\nvar textSelectionActive = function textSelectionActive() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var sel = Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"k\" /* getSel */])();\n return sel && sel.toString().trim() !== '' && sel.containsNode && Object(__WEBPACK_IMPORTED_MODULE_0__utils_dom__[\"o\" /* isElement */])(el) ? sel.containsNode(el, true) : false;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (textSelectionActive);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL3RleHQtc2VsZWN0aW9uLWFjdGl2ZS5qcz85YTQ3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQXVEO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZLGtFQUFNO0FBQ2xCLG9FQUFvRSxxRUFBUztBQUM3RTs7QUFFZSw0RUFBbUIiLCJmaWxlIjoiMjA2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2VsLCBpc0VsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9kb20nOyAvLyBIZWxwZXIgdG8gZGV0ZXJtaW5lIGlmIGEgdGhlcmUgaXMgYW4gYWN0aXZlIHRleHQgc2VsZWN0aW9uIG9uIHRoZSBkb2N1bWVudCBwYWdlXG4vLyBVc2VkIHRvIGZpbHRlciBvdXQgY2xpY2sgZXZlbnRzIGNhdXNlZCBieSB0aGUgbW91c2UgdXAgYXQgZW5kIG9mIHNlbGVjdGlvblxuLy9cbi8vIEFjY2VwdHMgYW4gZWxlbWVudCBhcyBvbmx5IGFyZ3VtZW50IHRvIHRlc3QgdG8gc2VlIGlmIHNlbGVjdGlvbiBvdmVybGFwcyBvciBpc1xuLy8gY29udGFpbmVkIHdpdGhpbiB0aGUgZWxlbWVudFxuXG52YXIgdGV4dFNlbGVjdGlvbkFjdGl2ZSA9IGZ1bmN0aW9uIHRleHRTZWxlY3Rpb25BY3RpdmUoKSB7XG4gIHZhciBlbCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogZG9jdW1lbnQ7XG4gIHZhciBzZWwgPSBnZXRTZWwoKTtcbiAgcmV0dXJuIHNlbCAmJiBzZWwudG9TdHJpbmcoKS50cmltKCkgIT09ICcnICYmIHNlbC5jb250YWluc05vZGUgJiYgaXNFbGVtZW50KGVsKSA/IHNlbC5jb250YWluc05vZGUoZWwsIHRydWUpIDogZmFsc2U7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB0ZXh0U2VsZWN0aW9uQWN0aXZlO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvaGVscGVycy90ZXh0LXNlbGVjdGlvbi1hY3RpdmUuanNcbi8vIG1vZHVsZSBpZCA9IDIwNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///206\n"); + +/***/ }), +/* 207 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tfoot__ = __webpack_require__(48);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n footClone: {\n type: Boolean,\n default: false\n },\n footVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_config__[\"c\" /* getComponentConfig */])('BTable', 'footVariant');\n }\n },\n tfootClass: {\n type: [String, Array, Object],\n default: null\n },\n tfootTrClass: {\n type: [String, Array, Object],\n default: null\n }\n },\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot('custom-foot')) {\n return h(__WEBPACK_IMPORTED_MODULE_1__tfoot__[\"a\" /* BTfoot */], {\n key: 'bv-tfoot-custom',\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n }\n }, this.normalizeSlot('custom-foot', {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n } else {\n return h();\n }\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXRmb290LmpzPzg4NDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUEyRDtBQUN6QjtBQUNuQjtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUZBQWtCO0FBQ2pDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsc0RBQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMjA3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IEJUZm9vdCB9IGZyb20gJy4uL3Rmb290JztcbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBmb290Q2xvbmU6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgZm9vdFZhcmlhbnQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50Q29uZmlnKCdCVGFibGUnLCAnZm9vdFZhcmlhbnQnKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHRmb290Q2xhc3M6IHtcbiAgICAgIHR5cGU6IFtTdHJpbmcsIEFycmF5LCBPYmplY3RdLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgdGZvb3RUckNsYXNzOiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICByZW5kZXJURm9vdEN1c3RvbTogZnVuY3Rpb24gcmVuZGVyVEZvb3RDdXN0b20oKSB7XG4gICAgICB2YXIgaCA9IHRoaXMuJGNyZWF0ZUVsZW1lbnQ7XG5cbiAgICAgIGlmICh0aGlzLmhhc05vcm1hbGl6ZWRTbG90KCdjdXN0b20tZm9vdCcpKSB7XG4gICAgICAgIHJldHVybiBoKEJUZm9vdCwge1xuICAgICAgICAgIGtleTogJ2J2LXRmb290LWN1c3RvbScsXG4gICAgICAgICAgY2xhc3M6IHRoaXMudGZvb3RDbGFzcyB8fCBudWxsLFxuICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBmb290VmFyaWFudDogdGhpcy5mb290VmFyaWFudCB8fCB0aGlzLmhlYWRWYXJpYW50IHx8IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMubm9ybWFsaXplU2xvdCgnY3VzdG9tLWZvb3QnLCB7XG4gICAgICAgICAgaXRlbXM6IHRoaXMuY29tcHV0ZWRJdGVtcy5zbGljZSgpLFxuICAgICAgICAgIGZpZWxkczogdGhpcy5jb21wdXRlZEZpZWxkcy5zbGljZSgpLFxuICAgICAgICAgIGNvbHVtbnM6IHRoaXMuY29tcHV0ZWRGaWVsZHMubGVuZ3RoXG4gICAgICAgIH0pKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBoKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICByZW5kZXJUZm9vdDogZnVuY3Rpb24gcmVuZGVyVGZvb3QoKSB7XG4gICAgICAvLyBQYXNzaW5nIHRydWUgdG8gcmVuZGVyVGhlYWQgd2lsbCBtYWtlIGl0IHJlbmRlciBhIHRmb290XG4gICAgICByZXR1cm4gdGhpcy5mb290Q2xvbmUgPyB0aGlzLnJlbmRlclRoZWFkKHRydWUpIDogdGhpcy5yZW5kZXJURm9vdEN1c3RvbSgpO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvbWl4aW4tdGZvb3QuanNcbi8vIG1vZHVsZSBpZCA9IDIwN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///207\n"); + +/***/ }), +/* 208 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tbody__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__filter_event__ = __webpack_require__(205);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__text_selection_active__ = __webpack_require__(206);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixin_tbody_row__ = __webpack_require__(266);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\nvar props = _objectSpread({}, __WEBPACK_IMPORTED_MODULE_3__tbody__[\"b\" /* props */], {\n tbodyClass: {\n type: [String, Array, Object] // default: undefined\n\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_6__mixin_tbody_row__[\"a\" /* default */]],\n props: props,\n methods: {\n // Helper methods\n getTbodyTrs: function getTbodyTrs() {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs.itemRows` is an array of item TR components/elements\n // Rows should all be B-TR components, but we map to TR elements\n // TODO: This may take time for tables many rows, so we may want to cache\n // the result of this during each render cycle on a non-reactive\n // property. We clear out the cache as each render starts, and\n // populate it on first access of this method if null\n return (this.$refs.itemRows || []).map(function (tr) {\n return tr.$el || tr;\n });\n },\n getTbodyTrIndex: function getTbodyTrIndex(el) {\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n\n /* istanbul ignore next: should not normally happen */\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"o\" /* isElement */])(el)) {\n return -1;\n }\n\n var tr = el.tagName === 'TR' ? el : Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"c\" /* closest */])('tr', el, true);\n return tr ? this.getTbodyTrs().indexOf(tr) : -1;\n },\n emitTbodyRowEvent: function emitTbodyRowEvent(type, evt) {\n // Emits a row event, with the item object, row index and original event\n if (type && evt && evt.target) {\n var rowIndex = this.getTbodyTrIndex(evt.target);\n\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n var item = this.computedItems[rowIndex];\n this.$emit(type, item, rowIndex, evt);\n }\n }\n },\n tbodyRowEvtStopped: function tbodyRowEvtStopped(evt) {\n return this.stopIfBusy && this.stopIfBusy(evt);\n },\n // Delegated row event handlers\n onTbodyRowKeydown: function onTbodyRowKeydown(evt) {\n // Keyboard navigation and row click emulation\n var target = evt.target;\n\n if (this.tbodyRowEvtStopped(evt) || target.tagName !== 'TR' || target !== document.activeElement || target.tabIndex !== 0) {\n // Early exit if not an item row TR\n return;\n }\n\n var keyCode = evt.keyCode;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"a\" /* arrayIncludes */])([__WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].ENTER, __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n evt.stopPropagation();\n evt.preventDefault();\n this.onTBodyRowClicked(evt);\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_array__[\"a\" /* arrayIncludes */])([__WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].UP, __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].DOWN, __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].HOME, __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].END], keyCode)) {\n // Keyboard navigation\n var rowIndex = this.getTbodyTrIndex(target);\n\n if (rowIndex > -1) {\n evt.stopPropagation();\n evt.preventDefault();\n var trs = this.getTbodyTrs();\n var shift = evt.shiftKey;\n\n if (keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].HOME || shift && keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].UP) {\n // Focus first row\n trs[0].focus();\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].END || shift && keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].DOWN) {\n // Focus last row\n trs[trs.length - 1].focus();\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].UP && rowIndex > 0) {\n // Focus previous row\n trs[rowIndex - 1].focus();\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_0__utils_key_codes__[\"a\" /* default */].DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n trs[rowIndex + 1].focus();\n }\n }\n }\n },\n onTBodyRowClicked: function onTBodyRowClicked(evt) {\n if (this.tbodyRowEvtStopped(evt)) {\n // If table is busy, then don't propagate\n return;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_4__filter_event__[\"a\" /* default */])(evt) || Object(__WEBPACK_IMPORTED_MODULE_5__text_selection_active__[\"a\" /* default */])(this.$el)) {\n // Clicked on a non-disabled control so ignore\n // Or user is selecting text, so ignore\n return;\n }\n\n this.emitTbodyRowEvent('row-clicked', evt);\n },\n onTbodyRowMiddleMouseRowClicked: function onTbodyRowMiddleMouseRowClicked(evt) {\n if (!this.tbodyRowEvtStopped(evt) && evt.which === 2) {\n this.emitTbodyRowEvent('row-middle-clicked', evt);\n }\n },\n onTbodyRowContextmenu: function onTbodyRowContextmenu(evt) {\n if (!this.tbodyRowEvtStopped(evt)) {\n this.emitTbodyRowEvent('row-contextmenu', evt);\n }\n },\n onTbodyRowDblClicked: function onTbodyRowDblClicked(evt) {\n if (!this.tbodyRowEvtStopped(evt) && !Object(__WEBPACK_IMPORTED_MODULE_4__filter_event__[\"a\" /* default */])(evt)) {\n this.emitTbodyRowEvent('row-dblclicked', evt);\n }\n },\n // Note: Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n //\n // Render Helper\n renderTbody: function renderTbody() {\n var _this = this;\n\n // Render the tbody element and children\n var items = this.computedItems; // Shortcut to `createElement` (could use `this._c()` instead)\n\n var h = this.$createElement;\n var hasRowClickHandler = this.$listeners['row-clicked'] || this.isSelectable; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = this.renderBusy ? this.renderBusy() : null;\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't busy, or we don't have a busy slot\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n var cache = {};\n var defaultSlotName = this.hasNormalizedSlot('cell()') ? 'cell()' : null;\n this.computedFields.forEach(function (field) {\n var key = field.key;\n var fullName = \"cell(\".concat(key, \")\");\n var lowerName = \"cell(\".concat(key.toLowerCase(), \")\");\n cache[key] = _this.hasNormalizedSlot(fullName) ? fullName : _this.hasNormalizedSlot(lowerName) ? lowerName : defaultSlotName;\n }); // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n\n this.$_bodyFieldSlotNameCache = cache; // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(this.renderTopRow ? this.renderTopRow() : h()); // Render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n\n $rows.push(this.renderEmpty ? this.renderEmpty() : h()); // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(this.renderBottomRow ? this.renderBottomRow() : h());\n }\n\n var handlers = {\n // TODO: We may want to to only instantiate these handlers\n // if there is an event listener registered\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO: Perhaps we do want to automatically prevent the\n // default context menu from showing if there is\n // a `row-contextmenu` listener registered.\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked // hover events (mouseenter/mouseleave) ad handled by tbody-row mixin\n\n };\n\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked;\n handlers.keydown = this.onTbodyRowKeydown;\n } // Assemble rows into the tbody\n\n\n var $tbody = h(__WEBPACK_IMPORTED_MODULE_3__tbody__[\"a\" /* BTbody */], {\n ref: 'tbody',\n class: this.tbodyClass || null,\n props: {\n tbodyTransitionProps: this.tbodyTransitionProps,\n tbodyTransitionHandlers: this.tbodyTransitionHandlers\n },\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXRib2R5LmpzP2Q5MTciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRS9KO0FBQ0s7QUFDRztBQUNEO0FBQ2Q7QUFDaUI7QUFDWjs7QUFFOUMsNEJBQTRCLEVBQUUscURBQVU7QUFDeEM7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRWM7QUFDZixXQUFXLGlFQUFhO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLHFFQUFTO0FBQ3BCO0FBQ0E7O0FBRUEsMENBQTBDLG1FQUFPO0FBQ2pEO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLFVBQVUsMkVBQWEsRUFBRSxpRUFBUSxRQUFRLGlFQUFRO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxVQUFVLDJFQUFhLEVBQUUsaUVBQVEsS0FBSyxpRUFBUSxPQUFPLGlFQUFRLE9BQU8saUVBQVE7QUFDbkY7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDBCQUEwQixpRUFBUSw4QkFBOEIsaUVBQVE7QUFDeEU7QUFDQTtBQUNBLFdBQVcsc0JBQXNCLGlFQUFRLDZCQUE2QixpRUFBUTtBQUM5RTtBQUNBO0FBQ0EsV0FBVyxzQkFBc0IsaUVBQVE7QUFDekM7QUFDQTtBQUNBLFdBQVcsc0JBQXNCLGlFQUFRO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFVBQVUsc0VBQVcsU0FBUywrRUFBbUI7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSw0Q0FBNEMsc0VBQVc7QUFDdkQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQ0FBcUM7O0FBRXJDO0FBQ0EsbUZBQW1GOztBQUVuRixxQkFBcUI7O0FBRXJCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLEVBQUU7QUFDWDs7QUFFQSw4Q0FBOEM7QUFDOUM7O0FBRUEsa0VBQWtFOztBQUVsRTtBQUNBO0FBQ0E7QUFDQSxTQUFTLEVBQUU7O0FBRVgsZ0VBQWdFO0FBQ2hFOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1AscUJBQXFCLHNEQUFNO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTyxTQUFTOztBQUVoQjtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjIwOC5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBLZXlDb2RlcyBmcm9tICcuLi8uLi8uLi91dGlscy9rZXktY29kZXMnO1xuaW1wb3J0IHsgYXJyYXlJbmNsdWRlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FycmF5JztcbmltcG9ydCB7IGNsb3Nlc3QsIGlzRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBwcm9wcyBhcyB0Ym9keVByb3BzLCBCVGJvZHkgfSBmcm9tICcuLi90Ym9keSc7XG5pbXBvcnQgZmlsdGVyRXZlbnQgZnJvbSAnLi9maWx0ZXItZXZlbnQnO1xuaW1wb3J0IHRleHRTZWxlY3Rpb25BY3RpdmUgZnJvbSAnLi90ZXh0LXNlbGVjdGlvbi1hY3RpdmUnO1xuaW1wb3J0IHRib2R5Um93TWl4aW4gZnJvbSAnLi9taXhpbi10Ym9keS1yb3cnO1xuXG52YXIgcHJvcHMgPSBfb2JqZWN0U3ByZWFkKHt9LCB0Ym9keVByb3BzLCB7XG4gIHRib2R5Q2xhc3M6IHtcbiAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSAvLyBkZWZhdWx0OiB1bmRlZmluZWRcblxuICB9XG59KTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBtaXhpbnM6IFt0Ym9keVJvd01peGluXSxcbiAgcHJvcHM6IHByb3BzLFxuICBtZXRob2RzOiB7XG4gICAgLy8gSGVscGVyIG1ldGhvZHNcbiAgICBnZXRUYm9keVRyczogZnVuY3Rpb24gZ2V0VGJvZHlUcnMoKSB7XG4gICAgICAvLyBSZXR1cm5zIGFsbCB0aGUgaXRlbSBUUiBlbGVtZW50cyAoZXhjbHVkZXMgZGV0YWlsIGFuZCBzcGFjZXIgcm93cylcbiAgICAgIC8vIGB0aGlzLiRyZWZzLml0ZW1Sb3dzYCBpcyBhbiBhcnJheSBvZiBpdGVtIFRSIGNvbXBvbmVudHMvZWxlbWVudHNcbiAgICAgIC8vIFJvd3Mgc2hvdWxkIGFsbCBiZSBCLVRSIGNvbXBvbmVudHMsIGJ1dCB3ZSBtYXAgdG8gVFIgZWxlbWVudHNcbiAgICAgIC8vIFRPRE86IFRoaXMgbWF5IHRha2UgdGltZSBmb3IgdGFibGVzIG1hbnkgcm93cywgc28gd2UgbWF5IHdhbnQgdG8gY2FjaGVcbiAgICAgIC8vICAgICAgIHRoZSByZXN1bHQgb2YgdGhpcyBkdXJpbmcgZWFjaCByZW5kZXIgY3ljbGUgb24gYSBub24tcmVhY3RpdmVcbiAgICAgIC8vICAgICAgIHByb3BlcnR5LiBXZSBjbGVhciBvdXQgdGhlIGNhY2hlIGFzIGVhY2ggcmVuZGVyIHN0YXJ0cywgYW5kXG4gICAgICAvLyAgICAgICBwb3B1bGF0ZSBpdCBvbiBmaXJzdCBhY2Nlc3Mgb2YgdGhpcyBtZXRob2QgaWYgbnVsbFxuICAgICAgcmV0dXJuICh0aGlzLiRyZWZzLml0ZW1Sb3dzIHx8IFtdKS5tYXAoZnVuY3Rpb24gKHRyKSB7XG4gICAgICAgIHJldHVybiB0ci4kZWwgfHwgdHI7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGdldFRib2R5VHJJbmRleDogZnVuY3Rpb24gZ2V0VGJvZHlUckluZGV4KGVsKSB7XG4gICAgICAvLyBSZXR1cm5zIGluZGV4IG9mIGEgcGFydGljdWxhciBUQk9EWSBpdGVtIFRSXG4gICAgICAvLyBXZSBzZXQgYHRydWVgIG9uIGNsb3Nlc3QgdG8gaW5jbHVkZSBzZWxmIGluIHJlc3VsdFxuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogc2hvdWxkIG5vdCBub3JtYWxseSBoYXBwZW4gKi9cbiAgICAgIGlmICghaXNFbGVtZW50KGVsKSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG5cbiAgICAgIHZhciB0ciA9IGVsLnRhZ05hbWUgPT09ICdUUicgPyBlbCA6IGNsb3Nlc3QoJ3RyJywgZWwsIHRydWUpO1xuICAgICAgcmV0dXJuIHRyID8gdGhpcy5nZXRUYm9keVRycygpLmluZGV4T2YodHIpIDogLTE7XG4gICAgfSxcbiAgICBlbWl0VGJvZHlSb3dFdmVudDogZnVuY3Rpb24gZW1pdFRib2R5Um93RXZlbnQodHlwZSwgZXZ0KSB7XG4gICAgICAvLyBFbWl0cyBhIHJvdyBldmVudCwgd2l0aCB0aGUgaXRlbSBvYmplY3QsIHJvdyBpbmRleCBhbmQgb3JpZ2luYWwgZXZlbnRcbiAgICAgIGlmICh0eXBlICYmIGV2dCAmJiBldnQudGFyZ2V0KSB7XG4gICAgICAgIHZhciByb3dJbmRleCA9IHRoaXMuZ2V0VGJvZHlUckluZGV4KGV2dC50YXJnZXQpO1xuXG4gICAgICAgIGlmIChyb3dJbmRleCA+IC0xKSB7XG4gICAgICAgICAgLy8gVGhlIGFycmF5IG9mIFRScyBjb3JyZWxhdGUgdG8gdGhlIGBjb21wdXRlZEl0ZW1zYCBhcnJheVxuICAgICAgICAgIHZhciBpdGVtID0gdGhpcy5jb21wdXRlZEl0ZW1zW3Jvd0luZGV4XTtcbiAgICAgICAgICB0aGlzLiRlbWl0KHR5cGUsIGl0ZW0sIHJvd0luZGV4LCBldnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB0Ym9keVJvd0V2dFN0b3BwZWQ6IGZ1bmN0aW9uIHRib2R5Um93RXZ0U3RvcHBlZChldnQpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0b3BJZkJ1c3kgJiYgdGhpcy5zdG9wSWZCdXN5KGV2dCk7XG4gICAgfSxcbiAgICAvLyBEZWxlZ2F0ZWQgcm93IGV2ZW50IGhhbmRsZXJzXG4gICAgb25UYm9keVJvd0tleWRvd246IGZ1bmN0aW9uIG9uVGJvZHlSb3dLZXlkb3duKGV2dCkge1xuICAgICAgLy8gS2V5Ym9hcmQgbmF2aWdhdGlvbiBhbmQgcm93IGNsaWNrIGVtdWxhdGlvblxuICAgICAgdmFyIHRhcmdldCA9IGV2dC50YXJnZXQ7XG5cbiAgICAgIGlmICh0aGlzLnRib2R5Um93RXZ0U3RvcHBlZChldnQpIHx8IHRhcmdldC50YWdOYW1lICE9PSAnVFInIHx8IHRhcmdldCAhPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCB8fCB0YXJnZXQudGFiSW5kZXggIT09IDApIHtcbiAgICAgICAgLy8gRWFybHkgZXhpdCBpZiBub3QgYW4gaXRlbSByb3cgVFJcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIga2V5Q29kZSA9IGV2dC5rZXlDb2RlO1xuXG4gICAgICBpZiAoYXJyYXlJbmNsdWRlcyhbS2V5Q29kZXMuRU5URVIsIEtleUNvZGVzLlNQQUNFXSwga2V5Q29kZSkpIHtcbiAgICAgICAgLy8gRW11bGF0ZWQgY2xpY2sgZm9yIGtleWJvYXJkIHVzZXJzLCB0cmFuc2ZlciB0byBjbGljayBoYW5kbGVyXG4gICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMub25UQm9keVJvd0NsaWNrZWQoZXZ0KTtcbiAgICAgIH0gZWxzZSBpZiAoYXJyYXlJbmNsdWRlcyhbS2V5Q29kZXMuVVAsIEtleUNvZGVzLkRPV04sIEtleUNvZGVzLkhPTUUsIEtleUNvZGVzLkVORF0sIGtleUNvZGUpKSB7XG4gICAgICAgIC8vIEtleWJvYXJkIG5hdmlnYXRpb25cbiAgICAgICAgdmFyIHJvd0luZGV4ID0gdGhpcy5nZXRUYm9keVRySW5kZXgodGFyZ2V0KTtcblxuICAgICAgICBpZiAocm93SW5kZXggPiAtMSkge1xuICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB2YXIgdHJzID0gdGhpcy5nZXRUYm9keVRycygpO1xuICAgICAgICAgIHZhciBzaGlmdCA9IGV2dC5zaGlmdEtleTtcblxuICAgICAgICAgIGlmIChrZXlDb2RlID09PSBLZXlDb2Rlcy5IT01FIHx8IHNoaWZ0ICYmIGtleUNvZGUgPT09IEtleUNvZGVzLlVQKSB7XG4gICAgICAgICAgICAvLyBGb2N1cyBmaXJzdCByb3dcbiAgICAgICAgICAgIHRyc1swXS5mb2N1cygpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gS2V5Q29kZXMuRU5EIHx8IHNoaWZ0ICYmIGtleUNvZGUgPT09IEtleUNvZGVzLkRPV04pIHtcbiAgICAgICAgICAgIC8vIEZvY3VzIGxhc3Qgcm93XG4gICAgICAgICAgICB0cnNbdHJzLmxlbmd0aCAtIDFdLmZvY3VzKCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSBLZXlDb2Rlcy5VUCAmJiByb3dJbmRleCA+IDApIHtcbiAgICAgICAgICAgIC8vIEZvY3VzIHByZXZpb3VzIHJvd1xuICAgICAgICAgICAgdHJzW3Jvd0luZGV4IC0gMV0uZm9jdXMoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IEtleUNvZGVzLkRPV04gJiYgcm93SW5kZXggPCB0cnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgLy8gRm9jdXMgbmV4dCByb3dcbiAgICAgICAgICAgIHRyc1tyb3dJbmRleCArIDFdLmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBvblRCb2R5Um93Q2xpY2tlZDogZnVuY3Rpb24gb25UQm9keVJvd0NsaWNrZWQoZXZ0KSB7XG4gICAgICBpZiAodGhpcy50Ym9keVJvd0V2dFN0b3BwZWQoZXZ0KSkge1xuICAgICAgICAvLyBJZiB0YWJsZSBpcyBidXN5LCB0aGVuIGRvbid0IHByb3BhZ2F0ZVxuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKGZpbHRlckV2ZW50KGV2dCkgfHwgdGV4dFNlbGVjdGlvbkFjdGl2ZSh0aGlzLiRlbCkpIHtcbiAgICAgICAgLy8gQ2xpY2tlZCBvbiBhIG5vbi1kaXNhYmxlZCBjb250cm9sIHNvIGlnbm9yZVxuICAgICAgICAvLyBPciB1c2VyIGlzIHNlbGVjdGluZyB0ZXh0LCBzbyBpZ25vcmVcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVtaXRUYm9keVJvd0V2ZW50KCdyb3ctY2xpY2tlZCcsIGV2dCk7XG4gICAgfSxcbiAgICBvblRib2R5Um93TWlkZGxlTW91c2VSb3dDbGlja2VkOiBmdW5jdGlvbiBvblRib2R5Um93TWlkZGxlTW91c2VSb3dDbGlja2VkKGV2dCkge1xuICAgICAgaWYgKCF0aGlzLnRib2R5Um93RXZ0U3RvcHBlZChldnQpICYmIGV2dC53aGljaCA9PT0gMikge1xuICAgICAgICB0aGlzLmVtaXRUYm9keVJvd0V2ZW50KCdyb3ctbWlkZGxlLWNsaWNrZWQnLCBldnQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgb25UYm9keVJvd0NvbnRleHRtZW51OiBmdW5jdGlvbiBvblRib2R5Um93Q29udGV4dG1lbnUoZXZ0KSB7XG4gICAgICBpZiAoIXRoaXMudGJvZHlSb3dFdnRTdG9wcGVkKGV2dCkpIHtcbiAgICAgICAgdGhpcy5lbWl0VGJvZHlSb3dFdmVudCgncm93LWNvbnRleHRtZW51JywgZXZ0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uVGJvZHlSb3dEYmxDbGlja2VkOiBmdW5jdGlvbiBvblRib2R5Um93RGJsQ2xpY2tlZChldnQpIHtcbiAgICAgIGlmICghdGhpcy50Ym9keVJvd0V2dFN0b3BwZWQoZXZ0KSAmJiAhZmlsdGVyRXZlbnQoZXZ0KSkge1xuICAgICAgICB0aGlzLmVtaXRUYm9keVJvd0V2ZW50KCdyb3ctZGJsY2xpY2tlZCcsIGV2dCk7XG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBOb3RlOiBSb3cgaG92ZXIgaGFuZGxlcnMgYXJlIGhhbmRsZWQgYnkgdGhlIHRib2R5LXJvdyBtaXhpblxuICAgIC8vIEFzIG1vdXNlZW50ZXIvbW91c2VsZWF2ZSBldmVudHMgZG8gbm90IGJ1YmJsZVxuICAgIC8vXG4gICAgLy8gUmVuZGVyIEhlbHBlclxuICAgIHJlbmRlclRib2R5OiBmdW5jdGlvbiByZW5kZXJUYm9keSgpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIC8vIFJlbmRlciB0aGUgdGJvZHkgZWxlbWVudCBhbmQgY2hpbGRyZW5cbiAgICAgIHZhciBpdGVtcyA9IHRoaXMuY29tcHV0ZWRJdGVtczsgLy8gU2hvcnRjdXQgdG8gYGNyZWF0ZUVsZW1lbnRgIChjb3VsZCB1c2UgYHRoaXMuX2MoKWAgaW5zdGVhZClcblxuICAgICAgdmFyIGggPSB0aGlzLiRjcmVhdGVFbGVtZW50O1xuICAgICAgdmFyIGhhc1Jvd0NsaWNrSGFuZGxlciA9IHRoaXMuJGxpc3RlbmVyc1sncm93LWNsaWNrZWQnXSB8fCB0aGlzLmlzU2VsZWN0YWJsZTsgLy8gUHJlcGFyZSB0aGUgdGJvZHkgcm93c1xuXG4gICAgICB2YXIgJHJvd3MgPSBbXTsgLy8gQWRkIHRoZSBpdGVtIGRhdGEgcm93cyBvciB0aGUgYnVzeSBzbG90XG5cbiAgICAgIHZhciAkYnVzeSA9IHRoaXMucmVuZGVyQnVzeSA/IHRoaXMucmVuZGVyQnVzeSgpIDogbnVsbDtcblxuICAgICAgaWYgKCRidXN5KSB7XG4gICAgICAgIC8vIElmIHRhYmxlIGlzIGJ1c3kgYW5kIGEgYnVzeSBzbG90LCB0aGVuIHJldHVybiBvbmx5IHRoZSBidXN5IFwicm93XCIgaW5kaWNhdG9yXG4gICAgICAgICRyb3dzLnB1c2goJGJ1c3kpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGFibGUgaXNuJ3QgYnVzeSwgb3Igd2UgZG9uJ3QgaGF2ZSBhIGJ1c3kgc2xvdFxuICAgICAgICAvLyBDcmVhdGUgYSBzbG90IGNhY2hlIGZvciBpbXByb3ZlZCBwZXJmb3JtYW5jZSB3aGVuIGxvb2tpbmcgdXAgY2VsbCBzbG90IG5hbWVzXG4gICAgICAgIC8vIFZhbHVlcyB3aWxsIGJlIGtleWVkIGJ5IHRoZSBmaWVsZCdzIGBrZXlgIGFuZCB3aWxsIHN0b3JlIHRoZSBzbG90J3MgbmFtZVxuICAgICAgICAvLyBTbG90cyBjb3VsZCBiZSBkeW5hbWljIChpLmUuIGB2LWlmYCksIHNvIHdlIG11c3QgY29tcHV0ZSBvbiBlYWNoIHJlbmRlclxuICAgICAgICAvLyBVc2VkIGJ5IHRib2R5LXJvdyBtaXhpbiByZW5kZXIgaGVscGVyXG4gICAgICAgIHZhciBjYWNoZSA9IHt9O1xuICAgICAgICB2YXIgZGVmYXVsdFNsb3ROYW1lID0gdGhpcy5oYXNOb3JtYWxpemVkU2xvdCgnY2VsbCgpJykgPyAnY2VsbCgpJyA6IG51bGw7XG4gICAgICAgIHRoaXMuY29tcHV0ZWRGaWVsZHMuZm9yRWFjaChmdW5jdGlvbiAoZmllbGQpIHtcbiAgICAgICAgICB2YXIga2V5ID0gZmllbGQua2V5O1xuICAgICAgICAgIHZhciBmdWxsTmFtZSA9IFwiY2VsbChcIi5jb25jYXQoa2V5LCBcIilcIik7XG4gICAgICAgICAgdmFyIGxvd2VyTmFtZSA9IFwiY2VsbChcIi5jb25jYXQoa2V5LnRvTG93ZXJDYXNlKCksIFwiKVwiKTtcbiAgICAgICAgICBjYWNoZVtrZXldID0gX3RoaXMuaGFzTm9ybWFsaXplZFNsb3QoZnVsbE5hbWUpID8gZnVsbE5hbWUgOiBfdGhpcy5oYXNOb3JtYWxpemVkU2xvdChsb3dlck5hbWUpID8gbG93ZXJOYW1lIDogZGVmYXVsdFNsb3ROYW1lO1xuICAgICAgICB9KTsgLy8gQ3JlYXRlZCBhcyBhIG5vbi1yZWFjdGl2ZSBwcm9wZXJ0eSBzbyB0byBub3QgdHJpZ2dlciBjb21wb25lbnQgdXBkYXRlc1xuICAgICAgICAvLyBNdXN0IGJlIGEgZnJlc2ggb2JqZWN0IGVhY2ggcmVuZGVyXG5cbiAgICAgICAgdGhpcy4kX2JvZHlGaWVsZFNsb3ROYW1lQ2FjaGUgPSBjYWNoZTsgLy8gQWRkIHN0YXRpYyB0b3Agcm93IHNsb3QgKGhpZGRlbiBpbiB2aXNpYmx5IHN0YWNrZWQgbW9kZVxuICAgICAgICAvLyBhcyB3ZSBjYW4ndCBjb250cm9sIGBkYXRhLWxhYmVsYCBhdHRyKVxuXG4gICAgICAgICRyb3dzLnB1c2godGhpcy5yZW5kZXJUb3BSb3cgPyB0aGlzLnJlbmRlclRvcFJvdygpIDogaCgpKTsgLy8gUmVuZGVyIHRoZSByb3dzXG5cbiAgICAgICAgaXRlbXMuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSwgcm93SW5kZXgpIHtcbiAgICAgICAgICAvLyBSZW5kZXIgdGhlIGluZGl2aWR1YWwgaXRlbSByb3cgKHJvd3MgaWYgZGV0YWlscyBzbG90KVxuICAgICAgICAgICRyb3dzLnB1c2goX3RoaXMucmVuZGVyVGJvZHlSb3coaXRlbSwgcm93SW5kZXgpKTtcbiAgICAgICAgfSk7IC8vIEVtcHR5IGl0ZW1zIC8gZW1wdHkgZmlsdGVyZWQgcm93IHNsb3QgKG9ubHkgc2hvd3MgaWYgYGl0ZW1zLmxlbmd0aCA8IDFgKVxuXG4gICAgICAgICRyb3dzLnB1c2godGhpcy5yZW5kZXJFbXB0eSA/IHRoaXMucmVuZGVyRW1wdHkoKSA6IGgoKSk7IC8vIFN0YXRpYyBib3R0b20gcm93IHNsb3QgKGhpZGRlbiBpbiB2aXNpYmx5IHN0YWNrZWQgbW9kZVxuICAgICAgICAvLyBhcyB3ZSBjYW4ndCBjb250cm9sIGBkYXRhLWxhYmVsYCBhdHRyKVxuXG4gICAgICAgICRyb3dzLnB1c2godGhpcy5yZW5kZXJCb3R0b21Sb3cgPyB0aGlzLnJlbmRlckJvdHRvbVJvdygpIDogaCgpKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGhhbmRsZXJzID0ge1xuICAgICAgICAvLyBUT0RPOiBXZSBtYXkgd2FudCB0byB0byBvbmx5IGluc3RhbnRpYXRlIHRoZXNlIGhhbmRsZXJzXG4gICAgICAgIC8vICAgICAgIGlmIHRoZXJlIGlzIGFuIGV2ZW50IGxpc3RlbmVyIHJlZ2lzdGVyZWRcbiAgICAgICAgYXV4Y2xpY2s6IHRoaXMub25UYm9keVJvd01pZGRsZU1vdXNlUm93Q2xpY2tlZCxcbiAgICAgICAgLy8gVE9ETzogUGVyaGFwcyB3ZSBkbyB3YW50IHRvIGF1dG9tYXRpY2FsbHkgcHJldmVudCB0aGVcbiAgICAgICAgLy8gICAgICAgZGVmYXVsdCBjb250ZXh0IG1lbnUgZnJvbSBzaG93aW5nIGlmIHRoZXJlIGlzXG4gICAgICAgIC8vICAgICAgIGEgYHJvdy1jb250ZXh0bWVudWAgbGlzdGVuZXIgcmVnaXN0ZXJlZC5cbiAgICAgICAgY29udGV4dG1lbnU6IHRoaXMub25UYm9keVJvd0NvbnRleHRtZW51LFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGV2ZW50KHMpIGlzIG5vdCBjb25zaWRlcmVkIEExMVkgZnJpZW5kbHlcbiAgICAgICAgZGJsY2xpY2s6IHRoaXMub25UYm9keVJvd0RibENsaWNrZWQgLy8gaG92ZXIgZXZlbnRzIChtb3VzZWVudGVyL21vdXNlbGVhdmUpIGFkIGhhbmRsZWQgYnkgdGJvZHktcm93IG1peGluXG5cbiAgICAgIH07XG5cbiAgICAgIGlmIChoYXNSb3dDbGlja0hhbmRsZXIpIHtcbiAgICAgICAgaGFuZGxlcnMuY2xpY2sgPSB0aGlzLm9uVEJvZHlSb3dDbGlja2VkO1xuICAgICAgICBoYW5kbGVycy5rZXlkb3duID0gdGhpcy5vblRib2R5Um93S2V5ZG93bjtcbiAgICAgIH0gLy8gQXNzZW1ibGUgcm93cyBpbnRvIHRoZSB0Ym9keVxuXG5cbiAgICAgIHZhciAkdGJvZHkgPSBoKEJUYm9keSwge1xuICAgICAgICByZWY6ICd0Ym9keScsXG4gICAgICAgIGNsYXNzOiB0aGlzLnRib2R5Q2xhc3MgfHwgbnVsbCxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICB0Ym9keVRyYW5zaXRpb25Qcm9wczogdGhpcy50Ym9keVRyYW5zaXRpb25Qcm9wcyxcbiAgICAgICAgICB0Ym9keVRyYW5zaXRpb25IYW5kbGVyczogdGhpcy50Ym9keVRyYW5zaXRpb25IYW5kbGVyc1xuICAgICAgICB9LFxuICAgICAgICAvLyBCVGJvZHkgdHJhbnNmZXJzIGFsbCBuYXRpdmUgZXZlbnQgbGlzdGVuZXJzIHRvIHRoZSByb290IGVsZW1lbnRcbiAgICAgICAgLy8gVE9ETzogT25seSBzZXQgdGhlIGhhbmRsZXJzIGlmIHRoZSB0YWJsZSBpcyBub3QgYnVzeVxuICAgICAgICBvbjogaGFuZGxlcnNcbiAgICAgIH0sICRyb3dzKTsgLy8gUmV0dXJuIHRoZSBhc3NlbWJsZWQgdGJvZHlcblxuICAgICAgcmV0dXJuICR0Ym9keTtcbiAgICB9XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXRib2R5LmpzXG4vLyBtb2R1bGUgaWQgPSAyMDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///208\n"); + +/***/ }), +/* 209 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTableLite; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__helpers_mixin_items__ = __webpack_require__(198);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__helpers_mixin_caption__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__helpers_mixin_colgroup__ = __webpack_require__(203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__helpers_mixin_stacked__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__helpers_mixin_thead__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__helpers_mixin_tfoot__ = __webpack_require__(207);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__helpers_mixin_tbody__ = __webpack_require__(208);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__helpers_mixin_table_renderer__ = __webpack_require__(90);\n // Mixins\n\n\n // Table helper Mixins\n\n\n\n\n\n\n\n // Main table renderer mixin\n\n // b-table-lite component definition\n// @vue/component\n\nvar BTableLite =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTableLite',\n // Order of mixins is important!\n // They are merged from first to last, followed by this component.\n mixins: [// Required mixins\n __WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__helpers_mixin_items__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_10__helpers_mixin_table_renderer__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_6__helpers_mixin_stacked__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_7__helpers_mixin_thead__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_8__helpers_mixin_tfoot__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_9__helpers_mixin_tbody__[\"a\" /* default */], // Features Mixins\n // These are pretty lightweight, and are useful for lightweight tables\n __WEBPACK_IMPORTED_MODULE_4__helpers_mixin_caption__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_5__helpers_mixin_colgroup__[\"a\" /* default */]] // render function provided by table-renderer mixin\n\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90YWJsZS1saXRlLmpzP2I0MmIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDOztBQUVJO0FBQ3VCOztBQUVkO0FBQ0k7QUFDRTtBQUNGO0FBQ0o7QUFDQTtBQUNBOztBQUVpQjtBQUNoRTs7QUFFTztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMkRBQU8sRUFBRSx1RUFBa0IsRUFBRSxxRUFBVSxFQUFFLCtFQUFrQixFQUFFLHVFQUFZLEVBQUUscUVBQVUsRUFBRSxxRUFBVSxFQUFFLHFFQUFVO0FBQy9HO0FBQ0EsRUFBRSx1RUFBWSxFQUFFLHdFQUFhOztBQUU3QixDQUFDIiwiZmlsZSI6IjIwOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJzsgLy8gTWl4aW5zXG5cbmltcG9ydCBpZE1peGluIGZyb20gJy4uLy4uL21peGlucy9pZCc7XG5pbXBvcnQgbm9ybWFsaXplU2xvdE1peGluIGZyb20gJy4uLy4uL21peGlucy9ub3JtYWxpemUtc2xvdCc7IC8vIFRhYmxlIGhlbHBlciBNaXhpbnNcblxuaW1wb3J0IGl0ZW1zTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLWl0ZW1zJztcbmltcG9ydCBjYXB0aW9uTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLWNhcHRpb24nO1xuaW1wb3J0IGNvbGdyb3VwTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLWNvbGdyb3VwJztcbmltcG9ydCBzdGFja2VkTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLXN0YWNrZWQnO1xuaW1wb3J0IHRoZWFkTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLXRoZWFkJztcbmltcG9ydCB0Zm9vdE1peGluIGZyb20gJy4vaGVscGVycy9taXhpbi10Zm9vdCc7XG5pbXBvcnQgdGJvZHlNaXhpbiBmcm9tICcuL2hlbHBlcnMvbWl4aW4tdGJvZHknOyAvLyBNYWluIHRhYmxlIHJlbmRlcmVyIG1peGluXG5cbmltcG9ydCB0YWJsZVJlbmRlcmVyTWl4aW4gZnJvbSAnLi9oZWxwZXJzL21peGluLXRhYmxlLXJlbmRlcmVyJzsgLy8gYi10YWJsZS1saXRlIGNvbXBvbmVudCBkZWZpbml0aW9uXG4vLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJUYWJsZUxpdGUgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCVGFibGVMaXRlJyxcbiAgLy8gT3JkZXIgb2YgbWl4aW5zIGlzIGltcG9ydGFudCFcbiAgLy8gVGhleSBhcmUgbWVyZ2VkIGZyb20gZmlyc3QgdG8gbGFzdCwgZm9sbG93ZWQgYnkgdGhpcyBjb21wb25lbnQuXG4gIG1peGluczogWy8vIFJlcXVpcmVkIG1peGluc1xuICBpZE1peGluLCBub3JtYWxpemVTbG90TWl4aW4sIGl0ZW1zTWl4aW4sIHRhYmxlUmVuZGVyZXJNaXhpbiwgc3RhY2tlZE1peGluLCB0aGVhZE1peGluLCB0Zm9vdE1peGluLCB0Ym9keU1peGluLCAvLyBGZWF0dXJlcyBNaXhpbnNcbiAgLy8gVGhlc2UgYXJlIHByZXR0eSBsaWdodHdlaWdodCwgYW5kIGFyZSB1c2VmdWwgZm9yIGxpZ2h0d2VpZ2h0IHRhYmxlc1xuICBjYXB0aW9uTWl4aW4sIGNvbGdyb3VwTWl4aW5dIC8vIHJlbmRlciBmdW5jdGlvbiBwcm92aWRlZCBieSB0YWJsZS1yZW5kZXJlciBtaXhpblxuXG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLWxpdGUuanNcbi8vIG1vZHVsZSBpZCA9IDIwOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///209\n"); + +/***/ }), +/* 210 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTableSimple; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__helpers_mixin_table_renderer__ = __webpack_require__(90);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__helpers_mixin_stacked__ = __webpack_require__(87);\n // Mixins\n\n\n // Main table renderer mixin\n\n // Feature miins\n\n // b-table-simple component definition\n// @vue/component\n\nvar BTableSimple =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTableSimple',\n // Order of mixins is important!\n // They are merged from first to last, followed by this component.\n mixins: [// Required mixins\n __WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__helpers_mixin_table_renderer__[\"a\" /* default */], // feature mixin\n // Stacked requires extra handling by users via\n // the table cell `stacked-heading` prop\n __WEBPACK_IMPORTED_MODULE_4__helpers_mixin_stacked__[\"a\" /* default */]],\n computed: {\n isTableSimple: function isTableSimple() {\n return true;\n }\n } // render function provided by table-renderer mixin\n\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS90YWJsZS1zaW1wbGUuanM/YzYyNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7O0FBRUk7QUFDdUI7O0FBRUc7O0FBRWI7QUFDbkQ7O0FBRU87QUFDUDtBQUNBLDJEQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDJEQUFPLEVBQUUsdUVBQWtCLEVBQUUsOEVBQWtCO0FBQ2pEO0FBQ0E7QUFDQSxFQUFFLHVFQUFZO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVILENBQUMiLCJmaWxlIjoiMjEwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnOyAvLyBNaXhpbnNcblxuaW1wb3J0IGlkTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2lkJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JzsgLy8gTWFpbiB0YWJsZSByZW5kZXJlciBtaXhpblxuXG5pbXBvcnQgdGFibGVSZW5kZXJlck1peGluIGZyb20gJy4vaGVscGVycy9taXhpbi10YWJsZS1yZW5kZXJlcic7IC8vIEZlYXR1cmUgbWlpbnNcblxuaW1wb3J0IHN0YWNrZWRNaXhpbiBmcm9tICcuL2hlbHBlcnMvbWl4aW4tc3RhY2tlZCc7IC8vIGItdGFibGUtc2ltcGxlIGNvbXBvbmVudCBkZWZpbml0aW9uXG4vLyBAdnVlL2NvbXBvbmVudFxuXG5leHBvcnQgdmFyIEJUYWJsZVNpbXBsZSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JUYWJsZVNpbXBsZScsXG4gIC8vIE9yZGVyIG9mIG1peGlucyBpcyBpbXBvcnRhbnQhXG4gIC8vIFRoZXkgYXJlIG1lcmdlZCBmcm9tIGZpcnN0IHRvIGxhc3QsIGZvbGxvd2VkIGJ5IHRoaXMgY29tcG9uZW50LlxuICBtaXhpbnM6IFsvLyBSZXF1aXJlZCBtaXhpbnNcbiAgaWRNaXhpbiwgbm9ybWFsaXplU2xvdE1peGluLCB0YWJsZVJlbmRlcmVyTWl4aW4sIC8vIGZlYXR1cmUgbWl4aW5cbiAgLy8gU3RhY2tlZCByZXF1aXJlcyBleHRyYSBoYW5kbGluZyBieSB1c2VycyB2aWFcbiAgLy8gdGhlIHRhYmxlIGNlbGwgYHN0YWNrZWQtaGVhZGluZ2AgcHJvcFxuICBzdGFja2VkTWl4aW5dLFxuICBjb21wdXRlZDoge1xuICAgIGlzVGFibGVTaW1wbGU6IGZ1bmN0aW9uIGlzVGFibGVTaW1wbGUoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0gLy8gcmVuZGVyIGZ1bmN0aW9uIHByb3ZpZGVkIGJ5IHRhYmxlLXJlbmRlcmVyIG1peGluXG5cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvdGFibGUtc2ltcGxlLmpzXG4vLyBtb2R1bGUgaWQgPSAyMTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///210\n"); + +/***/ }), +/* 211 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TabsPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tabs__ = __webpack_require__(212);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tab__ = __webpack_require__(213);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BTabs */\n/* unused harmony reexport BTab */\n\n\n\nvar TabsPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BTabs: __WEBPACK_IMPORTED_MODULE_0__tabs__[\"a\" /* BTabs */],\n BTab: __WEBPACK_IMPORTED_MODULE_1__tab__[\"a\" /* BTab */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJzL2luZGV4LmpzPzYzMjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQStCO0FBQ0Y7QUFDdUI7QUFDcEQ7QUFDQTtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxXQUFXLG9EQUFLO0FBQ2hCLFVBQVUsa0RBQUk7QUFDZDtBQUNBLENBQUMiLCJmaWxlIjoiMjExLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQlRhYnMgfSBmcm9tICcuL3RhYnMnO1xuaW1wb3J0IHsgQlRhYiB9IGZyb20gJy4vdGFiJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBUYWJzUGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3Rvcnkoe1xuICBjb21wb25lbnRzOiB7XG4gICAgQlRhYnM6IEJUYWJzLFxuICAgIEJUYWI6IEJUYWJcbiAgfVxufSk7XG5leHBvcnQgeyBUYWJzUGx1Z2luLCBCVGFicywgQlRhYiB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFicy9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMjExXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///211\n"); + +/***/ }), +/* 212 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTabs; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_observe_dom__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_stable_sort__ = __webpack_require__(201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__link_link__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__nav_nav__ = __webpack_require__(47);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n\n\n\n\n\n // -- Constants --\n\nvar navProps = Object(__WEBPACK_IMPORTED_MODULE_8__utils_object__[\"k\" /* omit */])(__WEBPACK_IMPORTED_MODULE_12__nav_nav__[\"b\" /* props */], ['tabs', 'isNavBar', 'cardHeader']); // -- Utils --\n// Filter function to filter out disabled tabs\n\nvar notDisabled = function notDisabled(tab) {\n return !tab.disabled;\n}; // --- Helper components ---\n// @vue/component\n\n\nvar BTabButtonHelper =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTabButtonHelper',\n inject: {\n bvTabs: {\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: {\n // Reference to the child <b-tab> instance\n tab: {\n default: null\n },\n tabs: {\n type: Array,\n default: function _default()\n /* istanbul ignore next */\n {\n return [];\n }\n },\n id: {\n type: String,\n default: null\n },\n controls: {\n type: String,\n default: null\n },\n tabIndex: {\n type: Number,\n default: null\n },\n posInSet: {\n type: Number,\n default: null\n },\n setSize: {\n type: Number,\n default: null\n },\n noKeyNav: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n focus: function focus() {\n if (this.$refs && this.$refs.link && this.$refs.link.focus) {\n this.$refs.link.focus();\n }\n },\n handleEvt: function handleEvt(evt) {\n var stop = function stop() {\n evt.preventDefault();\n evt.stopPropagation();\n };\n\n if (this.tab.disabled) {\n /* istanbul ignore next */\n return;\n }\n\n var type = evt.type;\n var key = evt.keyCode;\n var shift = evt.shiftKey;\n\n if (type === 'click') {\n stop();\n this.$emit('click', evt);\n } else if (type === 'keydown' && !this.noKeyNav && key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].SPACE) {\n // In keynav mode, SPACE press will also trigger a click/select\n stop();\n this.$emit('click', evt);\n } else if (type === 'keydown' && !this.noKeyNav) {\n // For keyboard navigation\n if (key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].UP || key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].LEFT || key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].HOME) {\n stop();\n\n if (shift || key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].HOME) {\n this.$emit('first', evt);\n } else {\n this.$emit('prev', evt);\n }\n } else if (key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].DOWN || key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].RIGHT || key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].END) {\n stop();\n\n if (shift || key === __WEBPACK_IMPORTED_MODULE_1__utils_key_codes__[\"a\" /* default */].END) {\n this.$emit('last', evt);\n } else {\n this.$emit('next', evt);\n }\n }\n }\n }\n },\n render: function render(h) {\n var link = h(__WEBPACK_IMPORTED_MODULE_11__link_link__[\"a\" /* BLink */], {\n ref: 'link',\n staticClass: 'nav-link',\n class: [{\n active: this.tab.localActive && !this.tab.disabled,\n disabled: this.tab.disabled\n }, this.tab.titleLinkClass, // Apply <b-tabs> `activeNavItemClass` styles when the tab is active\n this.tab.localActive ? this.bvTabs.activeNavItemClass : null],\n props: {\n disabled: this.tab.disabled\n },\n attrs: {\n role: 'tab',\n id: this.id,\n // Roving tab index when keynav enabled\n tabindex: this.tabIndex,\n 'aria-selected': this.tab.localActive && !this.tab.disabled ? 'true' : 'false',\n 'aria-setsize': this.setSize,\n 'aria-posinset': this.posInSet,\n 'aria-controls': this.controls\n },\n on: {\n click: this.handleEvt,\n keydown: this.handleEvt\n }\n }, [this.tab.normalizeSlot('title') || this.tab.title]);\n return h('li', {\n staticClass: 'nav-item',\n class: [this.tab.titleItemClass],\n attrs: {\n role: 'presentation'\n }\n }, [link]);\n }\n}); // @vue/component\n\nvar BTabs =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTabs',\n mixins: [__WEBPACK_IMPORTED_MODULE_9__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_10__mixins_normalize_slot__[\"a\" /* default */]],\n provide: function provide() {\n return {\n bvTabs: this\n };\n },\n model: {\n prop: 'value',\n event: 'input'\n },\n props: _objectSpread({}, navProps, {\n tag: {\n type: String,\n default: 'div'\n },\n card: {\n type: Boolean,\n default: false\n },\n end: {\n // Synonym for 'bottom'\n type: Boolean,\n default: false\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noNavStyle: {\n type: Boolean,\n default: false\n },\n noKeyNav: {\n type: Boolean,\n default: false\n },\n lazy: {\n // This prop is sniffed by the <b-tab> child\n type: Boolean,\n default: false\n },\n contentClass: {\n type: [String, Array, Object],\n default: null\n },\n navClass: {\n type: [String, Array, Object],\n default: null\n },\n navWrapperClass: {\n type: [String, Array, Object],\n default: null\n },\n activeNavItemClass: {\n // Only applied to the currently active <b-nav-item>\n type: [String, Array, Object],\n default: null\n },\n activeTabClass: {\n // Only applied to the currently active <b-tab>\n // This prop is sniffed by the <b-tab> child\n type: [String, Array, Object],\n default: null\n },\n value: {\n // v-model\n type: Number,\n default: null\n }\n }),\n data: function data() {\n var tabIdx = parseInt(this.value, 10);\n tabIdx = isNaN(tabIdx) ? -1 : tabIdx;\n return {\n // Index of current tab\n currentTab: tabIdx,\n // Array of direct child <b-tab> instances, in DOM order\n tabs: [],\n // Array of child instances registered (for triggering reactive updates)\n registeredTabs: [],\n // Flag to know if we are mounted or not\n isMounted: false\n };\n },\n computed: {\n fade: function fade() {\n // This computed prop is sniffed by the tab child\n return !this.noFade;\n },\n localNavClass: function localNavClass() {\n var classes = [];\n\n if (this.card && this.vertical) {\n classes.push('card-header', 'h-100', 'border-bottom-0', 'rounded-0');\n }\n\n return [].concat(classes, [this.navClass]);\n }\n },\n watch: {\n currentTab: function currentTab(val, old) {\n var index = -1; // Ensure only one tab is active at most\n\n this.tabs.forEach(function (tab, idx) {\n if (val === idx && !tab.disabled) {\n tab.localActive = true;\n index = idx;\n } else {\n tab.localActive = false;\n }\n }); // Update the v-model\n\n this.$emit('input', index);\n },\n value: function value(val, old) {\n if (val !== old) {\n val = parseInt(val, 10);\n val = isNaN(val) ? -1 : val;\n old = parseInt(old, 10) || 0;\n var tabs = this.tabs;\n\n if (tabs[val] && !tabs[val].disabled) {\n this.currentTab = val;\n } else {\n // Try next or prev tabs\n if (val < old) {\n this.previousTab();\n } else {\n this.nextTab();\n }\n }\n }\n },\n registeredTabs: function registeredTabs(newVal, oldVal) {\n var _this = this;\n\n // Each b-tab will register/unregister itself.\n // We use this to detect when tabs are added/removed\n // to trigger the update of the tabs.\n this.$nextTick(function () {\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"w\" /* requestAF */])(function () {\n _this.updateTabs();\n });\n });\n },\n tabs: function tabs(newVal, oldVal) {\n var _this2 = this;\n\n // If tabs added, removed, or re-ordered, we emit a `changed` event.\n // We use `tab._uid` instead of `tab.safeId()`, as the later is changed\n // in a nextTick if no explicit ID is provided, causing duplicate emits.\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__utils_loose_equal__[\"a\" /* default */])(newVal.map(function (t) {\n return t._uid;\n }), oldVal.map(function (t) {\n return t._uid;\n }))) {\n // In a nextTick to ensure currentTab has been set first.\n this.$nextTick(function () {\n // We emit shallow copies of the new and old arrays of tabs, to\n // prevent users from potentially mutating the internal arrays.\n _this2.$emit('changed', newVal.slice(), oldVal.slice());\n });\n }\n },\n isMounted: function isMounted(newVal, oldVal) {\n var _this3 = this;\n\n // Trigger an update after mounted. Needed for tabs inside lazy modals.\n if (newVal) {\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"w\" /* requestAF */])(function () {\n _this3.updateTabs();\n });\n } // Enable or disable the observer\n\n\n this.setObserver(newVal);\n }\n },\n created: function created() {\n var _this4 = this;\n\n var tabIdx = parseInt(this.value, 10);\n this.currentTab = isNaN(tabIdx) ? -1 : tabIdx;\n this._bvObserver = null; // For SSR and to make sure only a single tab is shown on mount\n // We wrap this in a `$nextTick()` to ensure the child tabs have been created\n\n this.$nextTick(function () {\n _this4.updateTabs();\n });\n },\n mounted: function mounted() {\n var _this5 = this;\n\n // Call `updateTabs()` just in case...\n this.updateTabs();\n this.$nextTick(function () {\n // Flag we are now mounted and to switch to DOM for tab probing.\n // As this.$slots.default appears to lie about component instances\n // after b-tabs is destroyed and re-instantiated.\n // And this.$children does not respect DOM order.\n _this5.isMounted = true;\n });\n },\n deactivated: function deactivated()\n /* istanbul ignore next */\n {\n this.isMounted = false;\n },\n activated: function activated()\n /* istanbul ignore next */\n {\n var _this6 = this;\n\n var tabIdx = parseInt(this.value, 10);\n this.currentTab = isNaN(tabIdx) ? -1 : tabIdx;\n this.$nextTick(function () {\n _this6.updateTabs();\n\n _this6.isMounted = true;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.isMounted = false;\n },\n destroyed: function destroyed() {\n // Ensure no references to child instances exist\n this.tabs = [];\n },\n methods: {\n registerTab: function registerTab(tab) {\n var _this7 = this;\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_5__utils_array__[\"a\" /* arrayIncludes */])(this.registeredTabs, tab)) {\n this.registeredTabs.push(tab);\n tab.$once('hook:destroyed', function () {\n _this7.unregisterTab(tab);\n });\n }\n },\n unregisterTab: function unregisterTab(tab) {\n this.registeredTabs = this.registeredTabs.slice().filter(function (t) {\n return t !== tab;\n });\n },\n setObserver: function setObserver(on) {\n // DOM observer is needed to detect changes in order of tabs\n if (on) {\n // Make sure no existing observer running\n this.setObserver(false);\n var self = this;\n /* istanbul ignore next: difficult to test mutation observer in JSDOM */\n\n var handler = function handler() {\n // We delay the update to ensure that `tab.safeId()` has\n // updated with the final ID value.\n self.$nextTick(function () {\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"w\" /* requestAF */])(function () {\n self.updateTabs();\n });\n });\n }; // Watch for changes to <b-tab> sub components\n\n\n this._bvObserver = Object(__WEBPACK_IMPORTED_MODULE_3__utils_observe_dom__[\"a\" /* default */])(this.$refs.tabsContainer, handler, {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['id']\n });\n } else {\n if (this._bvObserver && this._bvObserver.disconnect) {\n this._bvObserver.disconnect();\n }\n\n this._bvObserver = null;\n }\n },\n getTabs: function getTabs() {\n // We use registeredTabs as the source of truth for child tab components. And we\n // filter out any BTab components that are extended BTab with a root child BTab.\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3260\n var tabs = this.registeredTabs.filter(function (tab) {\n return tab.$children.filter(function (t) {\n return t._isTab;\n }).length === 0;\n }); // DOM Order of Tabs\n\n var order = [];\n\n if (this.isMounted && tabs.length > 0) {\n // We rely on the DOM when mounted to get the 'true' order of the b-tab children.\n // querySelectorAll(...) always returns elements in document order, regardless of\n // order specified in the selector.\n var selector = tabs.map(function (tab) {\n return \"#\".concat(tab.safeId());\n }).join(', ');\n order = Object(__WEBPACK_IMPORTED_MODULE_6__utils_dom__[\"y\" /* selectAll */])(selector, this.$el).map(function (el) {\n return el.id;\n }).filter(Boolean);\n } // Stable sort keeps the original order if not found in the\n // `order` array, which will be an empty array before mount.\n\n\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_stable_sort__[\"a\" /* default */])(tabs, function (a, b) {\n return order.indexOf(a.safeId()) - order.indexOf(b.safeId());\n });\n },\n // Update list of <b-tab> children\n updateTabs: function updateTabs() {\n // Probe tabs\n var tabs = this.getTabs(); // Find *last* active non-disabled tab in current tabs\n // We trust tab state over currentTab, in case tabs were added/removed/re-ordered\n\n var tabIndex = tabs.indexOf(tabs.slice().reverse().find(function (tab) {\n return tab.localActive && !tab.disabled;\n })); // Else try setting to currentTab\n\n if (tabIndex < 0) {\n var currentTab = this.currentTab;\n\n if (currentTab >= tabs.length) {\n // Handle last tab being removed, so find the last non-disabled tab\n tabIndex = tabs.indexOf(tabs.slice().reverse().find(notDisabled));\n } else if (tabs[currentTab] && !tabs[currentTab].disabled) {\n // Current tab is not disabled\n tabIndex = currentTab;\n }\n } // Else find *first* non-disabled tab in current tabs\n\n\n if (tabIndex < 0) {\n tabIndex = tabs.indexOf(tabs.find(notDisabled));\n } // Set the current tab state to active\n\n\n tabs.forEach(function (tab, idx) {\n // tab.localActive = idx === tabIndex && !tab.disabled\n tab.localActive = false;\n });\n\n if (tabs[tabIndex]) {\n tabs[tabIndex].localActive = true;\n } // Update the array of tab children\n\n\n this.tabs = tabs; // Set the currentTab index (can be -1 if no non-disabled tabs)\n\n this.currentTab = tabIndex;\n },\n // Find a button that controls a tab, given the tab reference\n // Returns the button vm instance\n getButtonForTab: function getButtonForTab(tab) {\n return (this.$refs.buttons || []).find(function (btn) {\n return btn.tab === tab;\n });\n },\n // Force a button to re-render it's content, given a <b-tab> instance\n // Called by <b-tab> on `update()`\n updateButton: function updateButton(tab) {\n var button = this.getButtonForTab(tab);\n\n if (button && button.$forceUpdate) {\n button.$forceUpdate();\n }\n },\n // Activate a tab given a <b-tab> instance\n // Also accessed by <b-tab>\n activateTab: function activateTab(tab) {\n var result = false;\n\n if (tab) {\n var index = this.tabs.indexOf(tab);\n\n if (!tab.disabled && index > -1) {\n result = true;\n this.currentTab = index;\n }\n }\n\n if (!result) {\n // Couldn't set tab, so ensure v-model is set to `this.currentTab`\n\n /* istanbul ignore next: should rarely happen */\n this.$emit('input', this.currentTab);\n }\n\n return result;\n },\n // Deactivate a tab given a <b-tab> instance\n // Accessed by <b-tab>\n deactivateTab: function deactivateTab(tab) {\n if (tab) {\n // Find first non-disabled tab that isn't the one being deactivated\n // If no tabs are available, then don't deactivate current tab\n return this.activateTab(this.tabs.filter(function (t) {\n return t !== tab;\n }).find(notDisabled));\n } else {\n // No tab specified\n\n /* istanbul ignore next: should never happen */\n return false;\n }\n },\n // Focus a tab button given it's <b-tab> instance\n focusButton: function focusButton(tab) {\n var _this8 = this;\n\n // Wrap in `$nextTick()` to ensure DOM has completed rendering/updating before focusing\n this.$nextTick(function () {\n var button = _this8.getButtonForTab(tab);\n\n if (button && button.focus) {\n button.focus();\n }\n });\n },\n // Emit a click event on a specified <b-tab> component instance\n emitTabClick: function emitTabClick(tab, evt) {\n if (Object(__WEBPACK_IMPORTED_MODULE_7__utils_inspect__[\"d\" /* isEvent */])(evt) && tab && tab.$emit && !tab.disabled) {\n tab.$emit('click', evt);\n }\n },\n // Click handler\n clickTab: function clickTab(tab, evt) {\n this.activateTab(tab);\n this.emitTabClick(tab, evt);\n },\n // Move to first non-disabled tab\n firstTab: function firstTab(focus) {\n var tab = this.tabs.find(notDisabled);\n\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab);\n this.emitTabClick(tab, focus);\n }\n },\n // Move to previous non-disabled tab\n previousTab: function previousTab(focus) {\n var currentIndex = Math.max(this.currentTab, 0);\n var tab = this.tabs.slice(0, currentIndex).reverse().find(notDisabled);\n\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab);\n this.emitTabClick(tab, focus);\n }\n },\n // Move to next non-disabled tab\n nextTab: function nextTab(focus) {\n var currentIndex = Math.max(this.currentTab, -1);\n var tab = this.tabs.slice(currentIndex + 1).find(notDisabled);\n\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab);\n this.emitTabClick(tab, focus);\n }\n },\n // Move to last non-disabled tab\n lastTab: function lastTab(focus) {\n var tab = this.tabs.slice().reverse().find(notDisabled);\n\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab);\n this.emitTabClick(tab, focus);\n }\n }\n },\n render: function render(h) {\n var _this9 = this;\n\n var tabs = this.tabs; // Currently active tab\n\n var activeTab = tabs.find(function (tab) {\n return tab.localActive && !tab.disabled;\n }); // Tab button to allow focusing when no active tab found (keynav only)\n\n var fallbackTab = tabs.find(function (tab) {\n return !tab.disabled;\n }); // For each <b-tab> found create the tab buttons\n\n var buttons = tabs.map(function (tab, index) {\n var tabIndex = null; // Ensure at least one tab button is focusable when keynav enabled (if possible)\n\n if (!_this9.noKeyNav) {\n // Buttons are not in tab index unless active, or a fallback tab\n tabIndex = -1;\n\n if (activeTab === tab || !activeTab && fallbackTab === tab) {\n // Place tab button in tab sequence\n tabIndex = null;\n }\n }\n\n return h(BTabButtonHelper, {\n key: tab._uid || index,\n ref: 'buttons',\n // Needed to make `this.$refs.buttons` an array\n refInFor: true,\n props: {\n tab: tab,\n tabs: tabs,\n id: tab.controlledBy || (tab.safeId ? tab.safeId(\"_BV_tab_button_\") : null),\n controls: tab.safeId ? tab.safeId() : null,\n tabIndex: tabIndex,\n setSize: tabs.length,\n posInSet: index + 1,\n noKeyNav: _this9.noKeyNav\n },\n on: {\n click: function click(evt) {\n _this9.clickTab(tab, evt);\n },\n first: _this9.firstTab,\n prev: _this9.previousTab,\n next: _this9.nextTab,\n last: _this9.lastTab\n }\n });\n }); // Nav\n\n var nav = h(__WEBPACK_IMPORTED_MODULE_12__nav_nav__[\"a\" /* BNav */], {\n ref: 'nav',\n class: this.localNavClass,\n attrs: {\n role: 'tablist',\n id: this.safeId('_BV_tab_controls_')\n },\n props: {\n fill: this.fill,\n justified: this.justified,\n align: this.align,\n tabs: !this.noNavStyle && !this.pills,\n pills: !this.noNavStyle && this.pills,\n vertical: this.vertical,\n small: this.small,\n cardHeader: this.card && !this.vertical\n }\n }, [this.normalizeSlot('tabs-start') || h(), buttons, this.normalizeSlot('tabs-end') || h()]);\n nav = h('div', {\n key: 'bv-tabs-nav',\n class: [{\n 'card-header': this.card && !this.vertical && !this.end,\n 'card-footer': this.card && !this.vertical && this.end,\n 'col-auto': this.vertical\n }, this.navWrapperClass]\n }, [nav]);\n var empty = h();\n\n if (!tabs || tabs.length === 0) {\n empty = h('div', {\n key: 'bv-empty-tab',\n class: ['tab-pane', 'active', {\n 'card-body': this.card\n }]\n }, this.normalizeSlot('empty'));\n } // Main content section\n\n\n var content = h('div', {\n ref: 'tabsContainer',\n key: 'bv-tabs-container',\n staticClass: 'tab-content',\n class: [{\n col: this.vertical\n }, this.contentClass],\n attrs: {\n id: this.safeId('_BV_tab_container_')\n }\n }, Object(__WEBPACK_IMPORTED_MODULE_5__utils_array__[\"b\" /* concat */])(this.normalizeSlot('default'), empty)); // Render final output\n\n return h(this.tag, {\n staticClass: 'tabs',\n class: {\n row: this.vertical,\n 'no-gutters': this.vertical && this.card\n },\n attrs: {\n id: this.safeId()\n }\n }, [this.end ? content : h(), [nav], this.end ? h() : content]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJzL3RhYnMuanM/M2FiZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUU3SztBQUNXO0FBQ0k7QUFDQTtBQUNBO0FBQ1M7QUFDSDtBQUNUO0FBQ0o7QUFDSjtBQUN1QjtBQUN4QjtBQUNpQjs7QUFFdEQsZUFBZSxtRUFBSSxDQUFDLHdEQUFTLHNDQUFzQztBQUNuRTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sMERBQTBELGlFQUFRO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLG9CQUFvQixpRUFBUSxlQUFlLGlFQUFRLGlCQUFpQixpRUFBUTtBQUM1RTs7QUFFQSwrQkFBK0IsaUVBQVE7QUFDdkM7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFNBQVMsa0JBQWtCLGlFQUFRLGlCQUFpQixpRUFBUSxrQkFBa0IsaUVBQVE7QUFDdEY7O0FBRUEsK0JBQStCLGlFQUFRO0FBQ3ZDO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxpQkFBaUIsMERBQUs7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMsRUFBRTs7QUFFSTtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsMkRBQU8sRUFBRSx3RUFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxxQkFBcUI7O0FBRXJCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPLEVBQUU7O0FBRVQ7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLHFFQUFTO0FBQ2pCO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLDJFQUFVO0FBQ3JCO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUSxxRUFBUztBQUNqQjtBQUNBLFNBQVM7QUFDVCxPQUFPOzs7QUFHUDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRCQUE0QjtBQUM1Qjs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUEsV0FBVywyRUFBYTtBQUN4QjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVkscUVBQVM7QUFDckI7QUFDQSxhQUFhO0FBQ2IsV0FBVztBQUNYLFVBQVU7OztBQUdWLDJCQUEyQiwyRUFBVTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTyxFQUFFOztBQUVUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxnQkFBZ0IscUVBQVM7QUFDekI7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOzs7QUFHQSxhQUFhLDJFQUFVO0FBQ3ZCO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7O0FBRUE7QUFDQTtBQUNBLE9BQU8sR0FBRzs7QUFFVjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0EsT0FBTzs7O0FBR1AsdUJBQXVCOztBQUV2QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBLFVBQVUsdUVBQU87QUFDakI7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQSx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQSxLQUFLLEVBQUU7O0FBRVA7QUFDQTtBQUNBLEtBQUssRUFBRTs7QUFFUDtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7O0FBRVAsZ0JBQWdCLHVEQUFJO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUCxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSyxFQUFFLG9FQUFNLHdDQUF3Qzs7QUFFckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjIxMi5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCBLZXlDb2RlcyBmcm9tICcuLi8uLi91dGlscy9rZXktY29kZXMnO1xuaW1wb3J0IGxvb3NlRXF1YWwgZnJvbSAnLi4vLi4vdXRpbHMvbG9vc2UtZXF1YWwnO1xuaW1wb3J0IG9ic2VydmVEb20gZnJvbSAnLi4vLi4vdXRpbHMvb2JzZXJ2ZS1kb20nO1xuaW1wb3J0IHN0YWJsZVNvcnQgZnJvbSAnLi4vLi4vdXRpbHMvc3RhYmxlLXNvcnQnO1xuaW1wb3J0IHsgYXJyYXlJbmNsdWRlcywgY29uY2F0IH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgcmVxdWVzdEFGLCBzZWxlY3RBbGwgfSBmcm9tICcuLi8uLi91dGlscy9kb20nO1xuaW1wb3J0IHsgaXNFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsgb21pdCB9IGZyb20gJy4uLy4uL3V0aWxzL29iamVjdCc7XG5pbXBvcnQgaWRNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvaWQnO1xuaW1wb3J0IG5vcm1hbGl6ZVNsb3RNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvbm9ybWFsaXplLXNsb3QnO1xuaW1wb3J0IHsgQkxpbmsgfSBmcm9tICcuLi9saW5rL2xpbmsnO1xuaW1wb3J0IHsgQk5hdiwgcHJvcHMgYXMgQk5hdlByb3BzIH0gZnJvbSAnLi4vbmF2L25hdic7IC8vIC0tIENvbnN0YW50cyAtLVxuXG52YXIgbmF2UHJvcHMgPSBvbWl0KEJOYXZQcm9wcywgWyd0YWJzJywgJ2lzTmF2QmFyJywgJ2NhcmRIZWFkZXInXSk7IC8vIC0tIFV0aWxzIC0tXG4vLyBGaWx0ZXIgZnVuY3Rpb24gdG8gZmlsdGVyIG91dCBkaXNhYmxlZCB0YWJzXG5cbnZhciBub3REaXNhYmxlZCA9IGZ1bmN0aW9uIG5vdERpc2FibGVkKHRhYikge1xuICByZXR1cm4gIXRhYi5kaXNhYmxlZDtcbn07IC8vIC0tLSBIZWxwZXIgY29tcG9uZW50cyAtLS1cbi8vIEB2dWUvY29tcG9uZW50XG5cblxudmFyIEJUYWJCdXR0b25IZWxwZXIgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCVGFiQnV0dG9uSGVscGVyJyxcbiAgaW5qZWN0OiB7XG4gICAgYnZUYWJzOiB7XG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBwcm9wczoge1xuICAgIC8vIFJlZmVyZW5jZSB0byB0aGUgY2hpbGQgPGItdGFiPiBpbnN0YW5jZVxuICAgIHRhYjoge1xuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgdGFiczoge1xuICAgICAgdHlwZTogQXJyYXksXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgfSxcbiAgICBpZDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgY29udHJvbHM6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIHRhYkluZGV4OiB7XG4gICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBwb3NJblNldDoge1xuICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgc2V0U2l6ZToge1xuICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgbm9LZXlOYXY6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIGZvY3VzOiBmdW5jdGlvbiBmb2N1cygpIHtcbiAgICAgIGlmICh0aGlzLiRyZWZzICYmIHRoaXMuJHJlZnMubGluayAmJiB0aGlzLiRyZWZzLmxpbmsuZm9jdXMpIHtcbiAgICAgICAgdGhpcy4kcmVmcy5saW5rLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBoYW5kbGVFdnQ6IGZ1bmN0aW9uIGhhbmRsZUV2dChldnQpIHtcbiAgICAgIHZhciBzdG9wID0gZnVuY3Rpb24gc3RvcCgpIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnRhYi5kaXNhYmxlZCkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciB0eXBlID0gZXZ0LnR5cGU7XG4gICAgICB2YXIga2V5ID0gZXZ0LmtleUNvZGU7XG4gICAgICB2YXIgc2hpZnQgPSBldnQuc2hpZnRLZXk7XG5cbiAgICAgIGlmICh0eXBlID09PSAnY2xpY2snKSB7XG4gICAgICAgIHN0b3AoKTtcbiAgICAgICAgdGhpcy4kZW1pdCgnY2xpY2snLCBldnQpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAna2V5ZG93bicgJiYgIXRoaXMubm9LZXlOYXYgJiYga2V5ID09PSBLZXlDb2Rlcy5TUEFDRSkge1xuICAgICAgICAvLyBJbiBrZXluYXYgbW9kZSwgU1BBQ0UgcHJlc3Mgd2lsbCBhbHNvIHRyaWdnZXIgYSBjbGljay9zZWxlY3RcbiAgICAgICAgc3RvcCgpO1xuICAgICAgICB0aGlzLiRlbWl0KCdjbGljaycsIGV2dCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdrZXlkb3duJyAmJiAhdGhpcy5ub0tleU5hdikge1xuICAgICAgICAvLyBGb3Iga2V5Ym9hcmQgbmF2aWdhdGlvblxuICAgICAgICBpZiAoa2V5ID09PSBLZXlDb2Rlcy5VUCB8fCBrZXkgPT09IEtleUNvZGVzLkxFRlQgfHwga2V5ID09PSBLZXlDb2Rlcy5IT01FKSB7XG4gICAgICAgICAgc3RvcCgpO1xuXG4gICAgICAgICAgaWYgKHNoaWZ0IHx8IGtleSA9PT0gS2V5Q29kZXMuSE9NRSkge1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnZmlyc3QnLCBldnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdwcmV2JywgZXZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBLZXlDb2Rlcy5ET1dOIHx8IGtleSA9PT0gS2V5Q29kZXMuUklHSFQgfHwga2V5ID09PSBLZXlDb2Rlcy5FTkQpIHtcbiAgICAgICAgICBzdG9wKCk7XG5cbiAgICAgICAgICBpZiAoc2hpZnQgfHwga2V5ID09PSBLZXlDb2Rlcy5FTkQpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2xhc3QnLCBldnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCduZXh0JywgZXZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICB2YXIgbGluayA9IGgoQkxpbmssIHtcbiAgICAgIHJlZjogJ2xpbmsnLFxuICAgICAgc3RhdGljQ2xhc3M6ICduYXYtbGluaycsXG4gICAgICBjbGFzczogW3tcbiAgICAgICAgYWN0aXZlOiB0aGlzLnRhYi5sb2NhbEFjdGl2ZSAmJiAhdGhpcy50YWIuZGlzYWJsZWQsXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLnRhYi5kaXNhYmxlZFxuICAgICAgfSwgdGhpcy50YWIudGl0bGVMaW5rQ2xhc3MsIC8vIEFwcGx5IDxiLXRhYnM+IGBhY3RpdmVOYXZJdGVtQ2xhc3NgIHN0eWxlcyB3aGVuIHRoZSB0YWIgaXMgYWN0aXZlXG4gICAgICB0aGlzLnRhYi5sb2NhbEFjdGl2ZSA/IHRoaXMuYnZUYWJzLmFjdGl2ZU5hdkl0ZW1DbGFzcyA6IG51bGxdLFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMudGFiLmRpc2FibGVkXG4gICAgICB9LFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgcm9sZTogJ3RhYicsXG4gICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAvLyBSb3ZpbmcgdGFiIGluZGV4IHdoZW4ga2V5bmF2IGVuYWJsZWRcbiAgICAgICAgdGFiaW5kZXg6IHRoaXMudGFiSW5kZXgsXG4gICAgICAgICdhcmlhLXNlbGVjdGVkJzogdGhpcy50YWIubG9jYWxBY3RpdmUgJiYgIXRoaXMudGFiLmRpc2FibGVkID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgJ2FyaWEtc2V0c2l6ZSc6IHRoaXMuc2V0U2l6ZSxcbiAgICAgICAgJ2FyaWEtcG9zaW5zZXQnOiB0aGlzLnBvc0luU2V0LFxuICAgICAgICAnYXJpYS1jb250cm9scyc6IHRoaXMuY29udHJvbHNcbiAgICAgIH0sXG4gICAgICBvbjoge1xuICAgICAgICBjbGljazogdGhpcy5oYW5kbGVFdnQsXG4gICAgICAgIGtleWRvd246IHRoaXMuaGFuZGxlRXZ0XG4gICAgICB9XG4gICAgfSwgW3RoaXMudGFiLm5vcm1hbGl6ZVNsb3QoJ3RpdGxlJykgfHwgdGhpcy50YWIudGl0bGVdKTtcbiAgICByZXR1cm4gaCgnbGknLCB7XG4gICAgICBzdGF0aWNDbGFzczogJ25hdi1pdGVtJyxcbiAgICAgIGNsYXNzOiBbdGhpcy50YWIudGl0bGVJdGVtQ2xhc3NdLFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgcm9sZTogJ3ByZXNlbnRhdGlvbidcbiAgICAgIH1cbiAgICB9LCBbbGlua10pO1xuICB9XG59KTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVGFicyA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JUYWJzJyxcbiAgbWl4aW5zOiBbaWRNaXhpbiwgbm9ybWFsaXplU2xvdE1peGluXSxcbiAgcHJvdmlkZTogZnVuY3Rpb24gcHJvdmlkZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnZUYWJzOiB0aGlzXG4gICAgfTtcbiAgfSxcbiAgbW9kZWw6IHtcbiAgICBwcm9wOiAndmFsdWUnLFxuICAgIGV2ZW50OiAnaW5wdXQnXG4gIH0sXG4gIHByb3BzOiBfb2JqZWN0U3ByZWFkKHt9LCBuYXZQcm9wcywge1xuICAgIHRhZzoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ2RpdidcbiAgICB9LFxuICAgIGNhcmQ6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgZW5kOiB7XG4gICAgICAvLyBTeW5vbnltIGZvciAnYm90dG9tJ1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBub0ZhZGU6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbm9OYXZTdHlsZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBub0tleU5hdjoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBsYXp5OiB7XG4gICAgICAvLyBUaGlzIHByb3AgaXMgc25pZmZlZCBieSB0aGUgPGItdGFiPiBjaGlsZFxuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBjb250ZW50Q2xhc3M6IHtcbiAgICAgIHR5cGU6IFtTdHJpbmcsIEFycmF5LCBPYmplY3RdLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgbmF2Q2xhc3M6IHtcbiAgICAgIHR5cGU6IFtTdHJpbmcsIEFycmF5LCBPYmplY3RdLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH0sXG4gICAgbmF2V3JhcHBlckNsYXNzOiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIGFjdGl2ZU5hdkl0ZW1DbGFzczoge1xuICAgICAgLy8gT25seSBhcHBsaWVkIHRvIHRoZSBjdXJyZW50bHkgYWN0aXZlIDxiLW5hdi1pdGVtPlxuICAgICAgdHlwZTogW1N0cmluZywgQXJyYXksIE9iamVjdF0sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBhY3RpdmVUYWJDbGFzczoge1xuICAgICAgLy8gT25seSBhcHBsaWVkIHRvIHRoZSBjdXJyZW50bHkgYWN0aXZlIDxiLXRhYj5cbiAgICAgIC8vIFRoaXMgcHJvcCBpcyBzbmlmZmVkIGJ5IHRoZSA8Yi10YWI+IGNoaWxkXG4gICAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIHZhbHVlOiB7XG4gICAgICAvLyB2LW1vZGVsXG4gICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfVxuICB9KSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICB2YXIgdGFiSWR4ID0gcGFyc2VJbnQodGhpcy52YWx1ZSwgMTApO1xuICAgIHRhYklkeCA9IGlzTmFOKHRhYklkeCkgPyAtMSA6IHRhYklkeDtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gSW5kZXggb2YgY3VycmVudCB0YWJcbiAgICAgIGN1cnJlbnRUYWI6IHRhYklkeCxcbiAgICAgIC8vIEFycmF5IG9mIGRpcmVjdCBjaGlsZCA8Yi10YWI+IGluc3RhbmNlcywgaW4gRE9NIG9yZGVyXG4gICAgICB0YWJzOiBbXSxcbiAgICAgIC8vIEFycmF5IG9mIGNoaWxkIGluc3RhbmNlcyByZWdpc3RlcmVkIChmb3IgdHJpZ2dlcmluZyByZWFjdGl2ZSB1cGRhdGVzKVxuICAgICAgcmVnaXN0ZXJlZFRhYnM6IFtdLFxuICAgICAgLy8gRmxhZyB0byBrbm93IGlmIHdlIGFyZSBtb3VudGVkIG9yIG5vdFxuICAgICAgaXNNb3VudGVkOiBmYWxzZVxuICAgIH07XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgZmFkZTogZnVuY3Rpb24gZmFkZSgpIHtcbiAgICAgIC8vIFRoaXMgY29tcHV0ZWQgcHJvcCBpcyBzbmlmZmVkIGJ5IHRoZSB0YWIgY2hpbGRcbiAgICAgIHJldHVybiAhdGhpcy5ub0ZhZGU7XG4gICAgfSxcbiAgICBsb2NhbE5hdkNsYXNzOiBmdW5jdGlvbiBsb2NhbE5hdkNsYXNzKCkge1xuICAgICAgdmFyIGNsYXNzZXMgPSBbXTtcblxuICAgICAgaWYgKHRoaXMuY2FyZCAmJiB0aGlzLnZlcnRpY2FsKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaCgnY2FyZC1oZWFkZXInLCAnaC0xMDAnLCAnYm9yZGVyLWJvdHRvbS0wJywgJ3JvdW5kZWQtMCcpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gW10uY29uY2F0KGNsYXNzZXMsIFt0aGlzLm5hdkNsYXNzXSk7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIGN1cnJlbnRUYWI6IGZ1bmN0aW9uIGN1cnJlbnRUYWIodmFsLCBvbGQpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xOyAvLyBFbnN1cmUgb25seSBvbmUgdGFiIGlzIGFjdGl2ZSBhdCBtb3N0XG5cbiAgICAgIHRoaXMudGFicy5mb3JFYWNoKGZ1bmN0aW9uICh0YWIsIGlkeCkge1xuICAgICAgICBpZiAodmFsID09PSBpZHggJiYgIXRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYi5sb2NhbEFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgaW5kZXggPSBpZHg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFiLmxvY2FsQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pOyAvLyBVcGRhdGUgdGhlIHYtbW9kZWxcblxuICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCBpbmRleCk7XG4gICAgfSxcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUodmFsLCBvbGQpIHtcbiAgICAgIGlmICh2YWwgIT09IG9sZCkge1xuICAgICAgICB2YWwgPSBwYXJzZUludCh2YWwsIDEwKTtcbiAgICAgICAgdmFsID0gaXNOYU4odmFsKSA/IC0xIDogdmFsO1xuICAgICAgICBvbGQgPSBwYXJzZUludChvbGQsIDEwKSB8fCAwO1xuICAgICAgICB2YXIgdGFicyA9IHRoaXMudGFicztcblxuICAgICAgICBpZiAodGFic1t2YWxdICYmICF0YWJzW3ZhbF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUYWIgPSB2YWw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVHJ5IG5leHQgb3IgcHJldiB0YWJzXG4gICAgICAgICAgaWYgKHZhbCA8IG9sZCkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1RhYigpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5leHRUYWIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHJlZ2lzdGVyZWRUYWJzOiBmdW5jdGlvbiByZWdpc3RlcmVkVGFicyhuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgLy8gRWFjaCBiLXRhYiB3aWxsIHJlZ2lzdGVyL3VucmVnaXN0ZXIgaXRzZWxmLlxuICAgICAgLy8gV2UgdXNlIHRoaXMgdG8gZGV0ZWN0IHdoZW4gdGFicyBhcmUgYWRkZWQvcmVtb3ZlZFxuICAgICAgLy8gdG8gdHJpZ2dlciB0aGUgdXBkYXRlIG9mIHRoZSB0YWJzLlxuICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIF90aGlzLnVwZGF0ZVRhYnMoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHRhYnM6IGZ1bmN0aW9uIHRhYnMobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAvLyBJZiB0YWJzIGFkZGVkLCByZW1vdmVkLCBvciByZS1vcmRlcmVkLCB3ZSBlbWl0IGEgYGNoYW5nZWRgIGV2ZW50LlxuICAgICAgLy8gV2UgdXNlIGB0YWIuX3VpZGAgaW5zdGVhZCBvZiBgdGFiLnNhZmVJZCgpYCwgYXMgdGhlIGxhdGVyIGlzIGNoYW5nZWRcbiAgICAgIC8vIGluIGEgbmV4dFRpY2sgaWYgbm8gZXhwbGljaXQgSUQgaXMgcHJvdmlkZWQsIGNhdXNpbmcgZHVwbGljYXRlIGVtaXRzLlxuICAgICAgaWYgKCFsb29zZUVxdWFsKG5ld1ZhbC5tYXAoZnVuY3Rpb24gKHQpIHtcbiAgICAgICAgcmV0dXJuIHQuX3VpZDtcbiAgICAgIH0pLCBvbGRWYWwubWFwKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHJldHVybiB0Ll91aWQ7XG4gICAgICB9KSkpIHtcbiAgICAgICAgLy8gSW4gYSBuZXh0VGljayB0byBlbnN1cmUgY3VycmVudFRhYiBoYXMgYmVlbiBzZXQgZmlyc3QuXG4gICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBXZSBlbWl0IHNoYWxsb3cgY29waWVzIG9mIHRoZSBuZXcgYW5kIG9sZCBhcnJheXMgb2YgdGFicywgdG9cbiAgICAgICAgICAvLyBwcmV2ZW50IHVzZXJzIGZyb20gcG90ZW50aWFsbHkgbXV0YXRpbmcgdGhlIGludGVybmFsIGFycmF5cy5cbiAgICAgICAgICBfdGhpczIuJGVtaXQoJ2NoYW5nZWQnLCBuZXdWYWwuc2xpY2UoKSwgb2xkVmFsLnNsaWNlKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGlzTW91bnRlZDogZnVuY3Rpb24gaXNNb3VudGVkKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgLy8gVHJpZ2dlciBhbiB1cGRhdGUgYWZ0ZXIgbW91bnRlZC4gIE5lZWRlZCBmb3IgdGFicyBpbnNpZGUgbGF6eSBtb2RhbHMuXG4gICAgICBpZiAobmV3VmFsKSB7XG4gICAgICAgIHJlcXVlc3RBRihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgX3RoaXMzLnVwZGF0ZVRhYnMoKTtcbiAgICAgICAgfSk7XG4gICAgICB9IC8vIEVuYWJsZSBvciBkaXNhYmxlIHRoZSBvYnNlcnZlclxuXG5cbiAgICAgIHRoaXMuc2V0T2JzZXJ2ZXIobmV3VmFsKTtcbiAgICB9XG4gIH0sXG4gIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7XG4gICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICB2YXIgdGFiSWR4ID0gcGFyc2VJbnQodGhpcy52YWx1ZSwgMTApO1xuICAgIHRoaXMuY3VycmVudFRhYiA9IGlzTmFOKHRhYklkeCkgPyAtMSA6IHRhYklkeDtcbiAgICB0aGlzLl9idk9ic2VydmVyID0gbnVsbDsgLy8gRm9yIFNTUiBhbmQgdG8gbWFrZSBzdXJlIG9ubHkgYSBzaW5nbGUgdGFiIGlzIHNob3duIG9uIG1vdW50XG4gICAgLy8gV2Ugd3JhcCB0aGlzIGluIGEgYCRuZXh0VGljaygpYCB0byBlbnN1cmUgdGhlIGNoaWxkIHRhYnMgaGF2ZSBiZWVuIGNyZWF0ZWRcblxuICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzNC51cGRhdGVUYWJzKCk7XG4gICAgfSk7XG4gIH0sXG4gIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICAvLyBDYWxsIGB1cGRhdGVUYWJzKClgIGp1c3QgaW4gY2FzZS4uLlxuICAgIHRoaXMudXBkYXRlVGFicygpO1xuICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIEZsYWcgd2UgYXJlIG5vdyBtb3VudGVkIGFuZCB0byBzd2l0Y2ggdG8gRE9NIGZvciB0YWIgcHJvYmluZy5cbiAgICAgIC8vIEFzIHRoaXMuJHNsb3RzLmRlZmF1bHQgYXBwZWFycyB0byBsaWUgYWJvdXQgY29tcG9uZW50IGluc3RhbmNlc1xuICAgICAgLy8gYWZ0ZXIgYi10YWJzIGlzIGRlc3Ryb3llZCBhbmQgcmUtaW5zdGFudGlhdGVkLlxuICAgICAgLy8gQW5kIHRoaXMuJGNoaWxkcmVuIGRvZXMgbm90IHJlc3BlY3QgRE9NIG9yZGVyLlxuICAgICAgX3RoaXM1LmlzTW91bnRlZCA9IHRydWU7XG4gICAgfSk7XG4gIH0sXG4gIGRlYWN0aXZhdGVkOiBmdW5jdGlvbiBkZWFjdGl2YXRlZCgpXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHtcbiAgICB0aGlzLmlzTW91bnRlZCA9IGZhbHNlO1xuICB9LFxuICBhY3RpdmF0ZWQ6IGZ1bmN0aW9uIGFjdGl2YXRlZCgpXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHtcbiAgICB2YXIgX3RoaXM2ID0gdGhpcztcblxuICAgIHZhciB0YWJJZHggPSBwYXJzZUludCh0aGlzLnZhbHVlLCAxMCk7XG4gICAgdGhpcy5jdXJyZW50VGFiID0gaXNOYU4odGFiSWR4KSA/IC0xIDogdGFiSWR4O1xuICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzNi51cGRhdGVUYWJzKCk7XG5cbiAgICAgIF90aGlzNi5pc01vdW50ZWQgPSB0cnVlO1xuICAgIH0pO1xuICB9LFxuICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgIHRoaXMuaXNNb3VudGVkID0gZmFsc2U7XG4gIH0sXG4gIGRlc3Ryb3llZDogZnVuY3Rpb24gZGVzdHJveWVkKCkge1xuICAgIC8vIEVuc3VyZSBubyByZWZlcmVuY2VzIHRvIGNoaWxkIGluc3RhbmNlcyBleGlzdFxuICAgIHRoaXMudGFicyA9IFtdO1xuICB9LFxuICBtZXRob2RzOiB7XG4gICAgcmVnaXN0ZXJUYWI6IGZ1bmN0aW9uIHJlZ2lzdGVyVGFiKHRhYikge1xuICAgICAgdmFyIF90aGlzNyA9IHRoaXM7XG5cbiAgICAgIGlmICghYXJyYXlJbmNsdWRlcyh0aGlzLnJlZ2lzdGVyZWRUYWJzLCB0YWIpKSB7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJlZFRhYnMucHVzaCh0YWIpO1xuICAgICAgICB0YWIuJG9uY2UoJ2hvb2s6ZGVzdHJveWVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIF90aGlzNy51bnJlZ2lzdGVyVGFiKHRhYik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgdW5yZWdpc3RlclRhYjogZnVuY3Rpb24gdW5yZWdpc3RlclRhYih0YWIpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJlZFRhYnMgPSB0aGlzLnJlZ2lzdGVyZWRUYWJzLnNsaWNlKCkuZmlsdGVyKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHJldHVybiB0ICE9PSB0YWI7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHNldE9ic2VydmVyOiBmdW5jdGlvbiBzZXRPYnNlcnZlcihvbikge1xuICAgICAgLy8gRE9NIG9ic2VydmVyIGlzIG5lZWRlZCB0byBkZXRlY3QgY2hhbmdlcyBpbiBvcmRlciBvZiB0YWJzXG4gICAgICBpZiAob24pIHtcbiAgICAgICAgLy8gTWFrZSBzdXJlIG5vIGV4aXN0aW5nIG9ic2VydmVyIHJ1bm5pbmdcbiAgICAgICAgdGhpcy5zZXRPYnNlcnZlcihmYWxzZSk7XG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGRpZmZpY3VsdCB0byB0ZXN0IG11dGF0aW9uIG9ic2VydmVyIGluIEpTRE9NICovXG5cbiAgICAgICAgdmFyIGhhbmRsZXIgPSBmdW5jdGlvbiBoYW5kbGVyKCkge1xuICAgICAgICAgIC8vIFdlIGRlbGF5IHRoZSB1cGRhdGUgdG8gZW5zdXJlIHRoYXQgYHRhYi5zYWZlSWQoKWAgaGFzXG4gICAgICAgICAgLy8gdXBkYXRlZCB3aXRoIHRoZSBmaW5hbCBJRCB2YWx1ZS5cbiAgICAgICAgICBzZWxmLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICBzZWxmLnVwZGF0ZVRhYnMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9OyAvLyBXYXRjaCBmb3IgY2hhbmdlcyB0byA8Yi10YWI+IHN1YiBjb21wb25lbnRzXG5cblxuICAgICAgICB0aGlzLl9idk9ic2VydmVyID0gb2JzZXJ2ZURvbSh0aGlzLiRyZWZzLnRhYnNDb250YWluZXIsIGhhbmRsZXIsIHtcbiAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgc3VidHJlZTogZmFsc2UsXG4gICAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLl9idk9ic2VydmVyICYmIHRoaXMuX2J2T2JzZXJ2ZXIuZGlzY29ubmVjdCkge1xuICAgICAgICAgIHRoaXMuX2J2T2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYnZPYnNlcnZlciA9IG51bGw7XG4gICAgICB9XG4gICAgfSxcbiAgICBnZXRUYWJzOiBmdW5jdGlvbiBnZXRUYWJzKCkge1xuICAgICAgLy8gV2UgdXNlIHJlZ2lzdGVyZWRUYWJzIGFzIHRoZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIGNoaWxkIHRhYiBjb21wb25lbnRzLiBBbmQgd2VcbiAgICAgIC8vIGZpbHRlciBvdXQgYW55IEJUYWIgY29tcG9uZW50cyB0aGF0IGFyZSBleHRlbmRlZCBCVGFiIHdpdGggYSByb290IGNoaWxkIEJUYWIuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYm9vdHN0cmFwLXZ1ZS9ib290c3RyYXAtdnVlL2lzc3Vlcy8zMjYwXG4gICAgICB2YXIgdGFicyA9IHRoaXMucmVnaXN0ZXJlZFRhYnMuZmlsdGVyKGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgcmV0dXJuIHRhYi4kY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgcmV0dXJuIHQuX2lzVGFiO1xuICAgICAgICB9KS5sZW5ndGggPT09IDA7XG4gICAgICB9KTsgLy8gRE9NIE9yZGVyIG9mIFRhYnNcblxuICAgICAgdmFyIG9yZGVyID0gW107XG5cbiAgICAgIGlmICh0aGlzLmlzTW91bnRlZCAmJiB0YWJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgLy8gV2UgcmVseSBvbiB0aGUgRE9NIHdoZW4gbW91bnRlZCB0byBnZXQgdGhlICd0cnVlJyBvcmRlciBvZiB0aGUgYi10YWIgY2hpbGRyZW4uXG4gICAgICAgIC8vIHF1ZXJ5U2VsZWN0b3JBbGwoLi4uKSBhbHdheXMgcmV0dXJucyBlbGVtZW50cyBpbiBkb2N1bWVudCBvcmRlciwgcmVnYXJkbGVzcyBvZlxuICAgICAgICAvLyBvcmRlciBzcGVjaWZpZWQgaW4gdGhlIHNlbGVjdG9yLlxuICAgICAgICB2YXIgc2VsZWN0b3IgPSB0YWJzLm1hcChmdW5jdGlvbiAodGFiKSB7XG4gICAgICAgICAgcmV0dXJuIFwiI1wiLmNvbmNhdCh0YWIuc2FmZUlkKCkpO1xuICAgICAgICB9KS5qb2luKCcsICcpO1xuICAgICAgICBvcmRlciA9IHNlbGVjdEFsbChzZWxlY3RvciwgdGhpcy4kZWwpLm1hcChmdW5jdGlvbiAoZWwpIHtcbiAgICAgICAgICByZXR1cm4gZWwuaWQ7XG4gICAgICAgIH0pLmZpbHRlcihCb29sZWFuKTtcbiAgICAgIH0gLy8gU3RhYmxlIHNvcnQga2VlcHMgdGhlIG9yaWdpbmFsIG9yZGVyIGlmIG5vdCBmb3VuZCBpbiB0aGVcbiAgICAgIC8vIGBvcmRlcmAgYXJyYXksIHdoaWNoIHdpbGwgYmUgYW4gZW1wdHkgYXJyYXkgYmVmb3JlIG1vdW50LlxuXG5cbiAgICAgIHJldHVybiBzdGFibGVTb3J0KHRhYnMsIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgIHJldHVybiBvcmRlci5pbmRleE9mKGEuc2FmZUlkKCkpIC0gb3JkZXIuaW5kZXhPZihiLnNhZmVJZCgpKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLy8gVXBkYXRlIGxpc3Qgb2YgPGItdGFiPiBjaGlsZHJlblxuICAgIHVwZGF0ZVRhYnM6IGZ1bmN0aW9uIHVwZGF0ZVRhYnMoKSB7XG4gICAgICAvLyBQcm9iZSB0YWJzXG4gICAgICB2YXIgdGFicyA9IHRoaXMuZ2V0VGFicygpOyAvLyBGaW5kICpsYXN0KiBhY3RpdmUgbm9uLWRpc2FibGVkIHRhYiBpbiBjdXJyZW50IHRhYnNcbiAgICAgIC8vIFdlIHRydXN0IHRhYiBzdGF0ZSBvdmVyIGN1cnJlbnRUYWIsIGluIGNhc2UgdGFicyB3ZXJlIGFkZGVkL3JlbW92ZWQvcmUtb3JkZXJlZFxuXG4gICAgICB2YXIgdGFiSW5kZXggPSB0YWJzLmluZGV4T2YodGFicy5zbGljZSgpLnJldmVyc2UoKS5maW5kKGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgcmV0dXJuIHRhYi5sb2NhbEFjdGl2ZSAmJiAhdGFiLmRpc2FibGVkO1xuICAgICAgfSkpOyAvLyBFbHNlIHRyeSBzZXR0aW5nIHRvIGN1cnJlbnRUYWJcblxuICAgICAgaWYgKHRhYkluZGV4IDwgMCkge1xuICAgICAgICB2YXIgY3VycmVudFRhYiA9IHRoaXMuY3VycmVudFRhYjtcblxuICAgICAgICBpZiAoY3VycmVudFRhYiA+PSB0YWJzLmxlbmd0aCkge1xuICAgICAgICAgIC8vIEhhbmRsZSBsYXN0IHRhYiBiZWluZyByZW1vdmVkLCBzbyBmaW5kIHRoZSBsYXN0IG5vbi1kaXNhYmxlZCB0YWJcbiAgICAgICAgICB0YWJJbmRleCA9IHRhYnMuaW5kZXhPZih0YWJzLnNsaWNlKCkucmV2ZXJzZSgpLmZpbmQobm90RGlzYWJsZWQpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWJzW2N1cnJlbnRUYWJdICYmICF0YWJzW2N1cnJlbnRUYWJdLmRpc2FibGVkKSB7XG4gICAgICAgICAgLy8gQ3VycmVudCB0YWIgaXMgbm90IGRpc2FibGVkXG4gICAgICAgICAgdGFiSW5kZXggPSBjdXJyZW50VGFiO1xuICAgICAgICB9XG4gICAgICB9IC8vIEVsc2UgZmluZCAqZmlyc3QqIG5vbi1kaXNhYmxlZCB0YWIgaW4gY3VycmVudCB0YWJzXG5cblxuICAgICAgaWYgKHRhYkluZGV4IDwgMCkge1xuICAgICAgICB0YWJJbmRleCA9IHRhYnMuaW5kZXhPZih0YWJzLmZpbmQobm90RGlzYWJsZWQpKTtcbiAgICAgIH0gLy8gU2V0IHRoZSBjdXJyZW50IHRhYiBzdGF0ZSB0byBhY3RpdmVcblxuXG4gICAgICB0YWJzLmZvckVhY2goZnVuY3Rpb24gKHRhYiwgaWR4KSB7XG4gICAgICAgIC8vIHRhYi5sb2NhbEFjdGl2ZSA9IGlkeCA9PT0gdGFiSW5kZXggJiYgIXRhYi5kaXNhYmxlZFxuICAgICAgICB0YWIubG9jYWxBY3RpdmUgPSBmYWxzZTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGFic1t0YWJJbmRleF0pIHtcbiAgICAgICAgdGFic1t0YWJJbmRleF0ubG9jYWxBY3RpdmUgPSB0cnVlO1xuICAgICAgfSAvLyBVcGRhdGUgdGhlIGFycmF5IG9mIHRhYiBjaGlsZHJlblxuXG5cbiAgICAgIHRoaXMudGFicyA9IHRhYnM7IC8vIFNldCB0aGUgY3VycmVudFRhYiBpbmRleCAoY2FuIGJlIC0xIGlmIG5vIG5vbi1kaXNhYmxlZCB0YWJzKVxuXG4gICAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWJJbmRleDtcbiAgICB9LFxuICAgIC8vIEZpbmQgYSBidXR0b24gdGhhdCBjb250cm9scyBhIHRhYiwgZ2l2ZW4gdGhlIHRhYiByZWZlcmVuY2VcbiAgICAvLyBSZXR1cm5zIHRoZSBidXR0b24gdm0gaW5zdGFuY2VcbiAgICBnZXRCdXR0b25Gb3JUYWI6IGZ1bmN0aW9uIGdldEJ1dHRvbkZvclRhYih0YWIpIHtcbiAgICAgIHJldHVybiAodGhpcy4kcmVmcy5idXR0b25zIHx8IFtdKS5maW5kKGZ1bmN0aW9uIChidG4pIHtcbiAgICAgICAgcmV0dXJuIGJ0bi50YWIgPT09IHRhYjtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLy8gRm9yY2UgYSBidXR0b24gdG8gcmUtcmVuZGVyIGl0J3MgY29udGVudCwgZ2l2ZW4gYSA8Yi10YWI+IGluc3RhbmNlXG4gICAgLy8gQ2FsbGVkIGJ5IDxiLXRhYj4gb24gYHVwZGF0ZSgpYFxuICAgIHVwZGF0ZUJ1dHRvbjogZnVuY3Rpb24gdXBkYXRlQnV0dG9uKHRhYikge1xuICAgICAgdmFyIGJ1dHRvbiA9IHRoaXMuZ2V0QnV0dG9uRm9yVGFiKHRhYik7XG5cbiAgICAgIGlmIChidXR0b24gJiYgYnV0dG9uLiRmb3JjZVVwZGF0ZSkge1xuICAgICAgICBidXR0b24uJGZvcmNlVXBkYXRlKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBBY3RpdmF0ZSBhIHRhYiBnaXZlbiBhIDxiLXRhYj4gaW5zdGFuY2VcbiAgICAvLyBBbHNvIGFjY2Vzc2VkIGJ5IDxiLXRhYj5cbiAgICBhY3RpdmF0ZVRhYjogZnVuY3Rpb24gYWN0aXZhdGVUYWIodGFiKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICAgIGlmICh0YWIpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gdGhpcy50YWJzLmluZGV4T2YodGFiKTtcblxuICAgICAgICBpZiAoIXRhYi5kaXNhYmxlZCAmJiBpbmRleCA+IC0xKSB7XG4gICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUYWIgPSBpbmRleDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAvLyBDb3VsZG4ndCBzZXQgdGFiLCBzbyBlbnN1cmUgdi1tb2RlbCBpcyBzZXQgdG8gYHRoaXMuY3VycmVudFRhYmBcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogc2hvdWxkIHJhcmVseSBoYXBwZW4gKi9cbiAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCB0aGlzLmN1cnJlbnRUYWIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgLy8gRGVhY3RpdmF0ZSBhIHRhYiBnaXZlbiBhIDxiLXRhYj4gaW5zdGFuY2VcbiAgICAvLyBBY2Nlc3NlZCBieSA8Yi10YWI+XG4gICAgZGVhY3RpdmF0ZVRhYjogZnVuY3Rpb24gZGVhY3RpdmF0ZVRhYih0YWIpIHtcbiAgICAgIGlmICh0YWIpIHtcbiAgICAgICAgLy8gRmluZCBmaXJzdCBub24tZGlzYWJsZWQgdGFiIHRoYXQgaXNuJ3QgdGhlIG9uZSBiZWluZyBkZWFjdGl2YXRlZFxuICAgICAgICAvLyBJZiBubyB0YWJzIGFyZSBhdmFpbGFibGUsIHRoZW4gZG9uJ3QgZGVhY3RpdmF0ZSBjdXJyZW50IHRhYlxuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmF0ZVRhYih0aGlzLnRhYnMuZmlsdGVyKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgcmV0dXJuIHQgIT09IHRhYjtcbiAgICAgICAgfSkuZmluZChub3REaXNhYmxlZCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTm8gdGFiIHNwZWNpZmllZFxuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBzaG91bGQgbmV2ZXIgaGFwcGVuICovXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIEZvY3VzIGEgdGFiIGJ1dHRvbiBnaXZlbiBpdCdzIDxiLXRhYj4gaW5zdGFuY2VcbiAgICBmb2N1c0J1dHRvbjogZnVuY3Rpb24gZm9jdXNCdXR0b24odGFiKSB7XG4gICAgICB2YXIgX3RoaXM4ID0gdGhpcztcblxuICAgICAgLy8gV3JhcCBpbiBgJG5leHRUaWNrKClgIHRvIGVuc3VyZSBET00gaGFzIGNvbXBsZXRlZCByZW5kZXJpbmcvdXBkYXRpbmcgYmVmb3JlIGZvY3VzaW5nXG4gICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBidXR0b24gPSBfdGhpczguZ2V0QnV0dG9uRm9yVGFiKHRhYik7XG5cbiAgICAgICAgaWYgKGJ1dHRvbiAmJiBidXR0b24uZm9jdXMpIHtcbiAgICAgICAgICBidXR0b24uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvLyBFbWl0IGEgY2xpY2sgZXZlbnQgb24gYSBzcGVjaWZpZWQgPGItdGFiPiBjb21wb25lbnQgaW5zdGFuY2VcbiAgICBlbWl0VGFiQ2xpY2s6IGZ1bmN0aW9uIGVtaXRUYWJDbGljayh0YWIsIGV2dCkge1xuICAgICAgaWYgKGlzRXZlbnQoZXZ0KSAmJiB0YWIgJiYgdGFiLiRlbWl0ICYmICF0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgdGFiLiRlbWl0KCdjbGljaycsIGV2dCk7XG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBDbGljayBoYW5kbGVyXG4gICAgY2xpY2tUYWI6IGZ1bmN0aW9uIGNsaWNrVGFiKHRhYiwgZXZ0KSB7XG4gICAgICB0aGlzLmFjdGl2YXRlVGFiKHRhYik7XG4gICAgICB0aGlzLmVtaXRUYWJDbGljayh0YWIsIGV2dCk7XG4gICAgfSxcbiAgICAvLyBNb3ZlIHRvIGZpcnN0IG5vbi1kaXNhYmxlZCB0YWJcbiAgICBmaXJzdFRhYjogZnVuY3Rpb24gZmlyc3RUYWIoZm9jdXMpIHtcbiAgICAgIHZhciB0YWIgPSB0aGlzLnRhYnMuZmluZChub3REaXNhYmxlZCk7XG5cbiAgICAgIGlmICh0aGlzLmFjdGl2YXRlVGFiKHRhYikgJiYgZm9jdXMpIHtcbiAgICAgICAgdGhpcy5mb2N1c0J1dHRvbih0YWIpO1xuICAgICAgICB0aGlzLmVtaXRUYWJDbGljayh0YWIsIGZvY3VzKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIE1vdmUgdG8gcHJldmlvdXMgbm9uLWRpc2FibGVkIHRhYlxuICAgIHByZXZpb3VzVGFiOiBmdW5jdGlvbiBwcmV2aW91c1RhYihmb2N1cykge1xuICAgICAgdmFyIGN1cnJlbnRJbmRleCA9IE1hdGgubWF4KHRoaXMuY3VycmVudFRhYiwgMCk7XG4gICAgICB2YXIgdGFiID0gdGhpcy50YWJzLnNsaWNlKDAsIGN1cnJlbnRJbmRleCkucmV2ZXJzZSgpLmZpbmQobm90RGlzYWJsZWQpO1xuXG4gICAgICBpZiAodGhpcy5hY3RpdmF0ZVRhYih0YWIpICYmIGZvY3VzKSB7XG4gICAgICAgIHRoaXMuZm9jdXNCdXR0b24odGFiKTtcbiAgICAgICAgdGhpcy5lbWl0VGFiQ2xpY2sodGFiLCBmb2N1cyk7XG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBNb3ZlIHRvIG5leHQgbm9uLWRpc2FibGVkIHRhYlxuICAgIG5leHRUYWI6IGZ1bmN0aW9uIG5leHRUYWIoZm9jdXMpIHtcbiAgICAgIHZhciBjdXJyZW50SW5kZXggPSBNYXRoLm1heCh0aGlzLmN1cnJlbnRUYWIsIC0xKTtcbiAgICAgIHZhciB0YWIgPSB0aGlzLnRhYnMuc2xpY2UoY3VycmVudEluZGV4ICsgMSkuZmluZChub3REaXNhYmxlZCk7XG5cbiAgICAgIGlmICh0aGlzLmFjdGl2YXRlVGFiKHRhYikgJiYgZm9jdXMpIHtcbiAgICAgICAgdGhpcy5mb2N1c0J1dHRvbih0YWIpO1xuICAgICAgICB0aGlzLmVtaXRUYWJDbGljayh0YWIsIGZvY3VzKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIE1vdmUgdG8gbGFzdCBub24tZGlzYWJsZWQgdGFiXG4gICAgbGFzdFRhYjogZnVuY3Rpb24gbGFzdFRhYihmb2N1cykge1xuICAgICAgdmFyIHRhYiA9IHRoaXMudGFicy5zbGljZSgpLnJldmVyc2UoKS5maW5kKG5vdERpc2FibGVkKTtcblxuICAgICAgaWYgKHRoaXMuYWN0aXZhdGVUYWIodGFiKSAmJiBmb2N1cykge1xuICAgICAgICB0aGlzLmZvY3VzQnV0dG9uKHRhYik7XG4gICAgICAgIHRoaXMuZW1pdFRhYkNsaWNrKHRhYiwgZm9jdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBfdGhpczkgPSB0aGlzO1xuXG4gICAgdmFyIHRhYnMgPSB0aGlzLnRhYnM7IC8vIEN1cnJlbnRseSBhY3RpdmUgdGFiXG5cbiAgICB2YXIgYWN0aXZlVGFiID0gdGFicy5maW5kKGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgIHJldHVybiB0YWIubG9jYWxBY3RpdmUgJiYgIXRhYi5kaXNhYmxlZDtcbiAgICB9KTsgLy8gVGFiIGJ1dHRvbiB0byBhbGxvdyBmb2N1c2luZyB3aGVuIG5vIGFjdGl2ZSB0YWIgZm91bmQgKGtleW5hdiBvbmx5KVxuXG4gICAgdmFyIGZhbGxiYWNrVGFiID0gdGFicy5maW5kKGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgIHJldHVybiAhdGFiLmRpc2FibGVkO1xuICAgIH0pOyAvLyBGb3IgZWFjaCA8Yi10YWI+IGZvdW5kIGNyZWF0ZSB0aGUgdGFiIGJ1dHRvbnNcblxuICAgIHZhciBidXR0b25zID0gdGFicy5tYXAoZnVuY3Rpb24gKHRhYiwgaW5kZXgpIHtcbiAgICAgIHZhciB0YWJJbmRleCA9IG51bGw7IC8vIEVuc3VyZSBhdCBsZWFzdCBvbmUgdGFiIGJ1dHRvbiBpcyBmb2N1c2FibGUgd2hlbiBrZXluYXYgZW5hYmxlZCAoaWYgcG9zc2libGUpXG5cbiAgICAgIGlmICghX3RoaXM5Lm5vS2V5TmF2KSB7XG4gICAgICAgIC8vIEJ1dHRvbnMgYXJlIG5vdCBpbiB0YWIgaW5kZXggdW5sZXNzIGFjdGl2ZSwgb3IgYSBmYWxsYmFjayB0YWJcbiAgICAgICAgdGFiSW5kZXggPSAtMTtcblxuICAgICAgICBpZiAoYWN0aXZlVGFiID09PSB0YWIgfHwgIWFjdGl2ZVRhYiAmJiBmYWxsYmFja1RhYiA9PT0gdGFiKSB7XG4gICAgICAgICAgLy8gUGxhY2UgdGFiIGJ1dHRvbiBpbiB0YWIgc2VxdWVuY2VcbiAgICAgICAgICB0YWJJbmRleCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGgoQlRhYkJ1dHRvbkhlbHBlciwge1xuICAgICAgICBrZXk6IHRhYi5fdWlkIHx8IGluZGV4LFxuICAgICAgICByZWY6ICdidXR0b25zJyxcbiAgICAgICAgLy8gTmVlZGVkIHRvIG1ha2UgYHRoaXMuJHJlZnMuYnV0dG9uc2AgYW4gYXJyYXlcbiAgICAgICAgcmVmSW5Gb3I6IHRydWUsXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgdGFiOiB0YWIsXG4gICAgICAgICAgdGFiczogdGFicyxcbiAgICAgICAgICBpZDogdGFiLmNvbnRyb2xsZWRCeSB8fCAodGFiLnNhZmVJZCA/IHRhYi5zYWZlSWQoXCJfQlZfdGFiX2J1dHRvbl9cIikgOiBudWxsKSxcbiAgICAgICAgICBjb250cm9sczogdGFiLnNhZmVJZCA/IHRhYi5zYWZlSWQoKSA6IG51bGwsXG4gICAgICAgICAgdGFiSW5kZXg6IHRhYkluZGV4LFxuICAgICAgICAgIHNldFNpemU6IHRhYnMubGVuZ3RoLFxuICAgICAgICAgIHBvc0luU2V0OiBpbmRleCArIDEsXG4gICAgICAgICAgbm9LZXlOYXY6IF90aGlzOS5ub0tleU5hdlxuICAgICAgICB9LFxuICAgICAgICBvbjoge1xuICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbiBjbGljayhldnQpIHtcbiAgICAgICAgICAgIF90aGlzOS5jbGlja1RhYih0YWIsIGV2dCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBmaXJzdDogX3RoaXM5LmZpcnN0VGFiLFxuICAgICAgICAgIHByZXY6IF90aGlzOS5wcmV2aW91c1RhYixcbiAgICAgICAgICBuZXh0OiBfdGhpczkubmV4dFRhYixcbiAgICAgICAgICBsYXN0OiBfdGhpczkubGFzdFRhYlxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTsgLy8gTmF2XG5cbiAgICB2YXIgbmF2ID0gaChCTmF2LCB7XG4gICAgICByZWY6ICduYXYnLFxuICAgICAgY2xhc3M6IHRoaXMubG9jYWxOYXZDbGFzcyxcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIHJvbGU6ICd0YWJsaXN0JyxcbiAgICAgICAgaWQ6IHRoaXMuc2FmZUlkKCdfQlZfdGFiX2NvbnRyb2xzXycpXG4gICAgICB9LFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgZmlsbDogdGhpcy5maWxsLFxuICAgICAgICBqdXN0aWZpZWQ6IHRoaXMuanVzdGlmaWVkLFxuICAgICAgICBhbGlnbjogdGhpcy5hbGlnbixcbiAgICAgICAgdGFiczogIXRoaXMubm9OYXZTdHlsZSAmJiAhdGhpcy5waWxscyxcbiAgICAgICAgcGlsbHM6ICF0aGlzLm5vTmF2U3R5bGUgJiYgdGhpcy5waWxscyxcbiAgICAgICAgdmVydGljYWw6IHRoaXMudmVydGljYWwsXG4gICAgICAgIHNtYWxsOiB0aGlzLnNtYWxsLFxuICAgICAgICBjYXJkSGVhZGVyOiB0aGlzLmNhcmQgJiYgIXRoaXMudmVydGljYWxcbiAgICAgIH1cbiAgICB9LCBbdGhpcy5ub3JtYWxpemVTbG90KCd0YWJzLXN0YXJ0JykgfHwgaCgpLCBidXR0b25zLCB0aGlzLm5vcm1hbGl6ZVNsb3QoJ3RhYnMtZW5kJykgfHwgaCgpXSk7XG4gICAgbmF2ID0gaCgnZGl2Jywge1xuICAgICAga2V5OiAnYnYtdGFicy1uYXYnLFxuICAgICAgY2xhc3M6IFt7XG4gICAgICAgICdjYXJkLWhlYWRlcic6IHRoaXMuY2FyZCAmJiAhdGhpcy52ZXJ0aWNhbCAmJiAhdGhpcy5lbmQsXG4gICAgICAgICdjYXJkLWZvb3Rlcic6IHRoaXMuY2FyZCAmJiAhdGhpcy52ZXJ0aWNhbCAmJiB0aGlzLmVuZCxcbiAgICAgICAgJ2NvbC1hdXRvJzogdGhpcy52ZXJ0aWNhbFxuICAgICAgfSwgdGhpcy5uYXZXcmFwcGVyQ2xhc3NdXG4gICAgfSwgW25hdl0pO1xuICAgIHZhciBlbXB0eSA9IGgoKTtcblxuICAgIGlmICghdGFicyB8fCB0YWJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZW1wdHkgPSBoKCdkaXYnLCB7XG4gICAgICAgIGtleTogJ2J2LWVtcHR5LXRhYicsXG4gICAgICAgIGNsYXNzOiBbJ3RhYi1wYW5lJywgJ2FjdGl2ZScsIHtcbiAgICAgICAgICAnY2FyZC1ib2R5JzogdGhpcy5jYXJkXG4gICAgICAgIH1dXG4gICAgICB9LCB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2VtcHR5JykpO1xuICAgIH0gLy8gTWFpbiBjb250ZW50IHNlY3Rpb25cblxuXG4gICAgdmFyIGNvbnRlbnQgPSBoKCdkaXYnLCB7XG4gICAgICByZWY6ICd0YWJzQ29udGFpbmVyJyxcbiAgICAgIGtleTogJ2J2LXRhYnMtY29udGFpbmVyJyxcbiAgICAgIHN0YXRpY0NsYXNzOiAndGFiLWNvbnRlbnQnLFxuICAgICAgY2xhc3M6IFt7XG4gICAgICAgIGNvbDogdGhpcy52ZXJ0aWNhbFxuICAgICAgfSwgdGhpcy5jb250ZW50Q2xhc3NdLFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgaWQ6IHRoaXMuc2FmZUlkKCdfQlZfdGFiX2NvbnRhaW5lcl8nKVxuICAgICAgfVxuICAgIH0sIGNvbmNhdCh0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKSwgZW1wdHkpKTsgLy8gUmVuZGVyIGZpbmFsIG91dHB1dFxuXG4gICAgcmV0dXJuIGgodGhpcy50YWcsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiAndGFicycsXG4gICAgICBjbGFzczoge1xuICAgICAgICByb3c6IHRoaXMudmVydGljYWwsXG4gICAgICAgICduby1ndXR0ZXJzJzogdGhpcy52ZXJ0aWNhbCAmJiB0aGlzLmNhcmRcbiAgICAgIH0sXG4gICAgICBhdHRyczoge1xuICAgICAgICBpZDogdGhpcy5zYWZlSWQoKVxuICAgICAgfVxuICAgIH0sIFt0aGlzLmVuZCA/IGNvbnRlbnQgOiBoKCksIFtuYXZdLCB0aGlzLmVuZCA/IGgoKSA6IGNvbnRlbnRdKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJzL3RhYnMuanNcbi8vIG1vZHVsZSBpZCA9IDIxMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///212\n"); + +/***/ }), +/* 213 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTab; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_id__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_bv_transition__ = __webpack_require__(30);\n\n\n\n // @vue/component\n\nvar BTab =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: 'BTab',\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_id__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__mixins_normalize_slot__[\"a\" /* default */]],\n inject: {\n bvTabs: {\n default: function _default() {\n return {\n // Don't set a tab index if not rendered inside <b-tabs>\n noKeyNav: true\n };\n }\n }\n },\n props: {\n active: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n },\n buttonId: {\n type: String,\n default: ''\n },\n title: {\n type: String,\n default: ''\n },\n titleItemClass: {\n // Sniffed by tabs.js and added to nav 'li.nav-item'\n type: [String, Array, Object],\n default: null\n },\n titleLinkClass: {\n // Sniffed by tabs.js and added to nav 'a.nav-link'\n type: [String, Array, Object],\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n noBody: {\n type: Boolean,\n default: false\n },\n lazy: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n localActive: this.active && !this.disabled,\n show: false\n };\n },\n computed: {\n tabClasses: function tabClasses() {\n return [{\n active: this.localActive,\n disabled: this.disabled,\n 'card-body': this.bvTabs.card && !this.noBody\n }, // Apply <b-tabs> `activeTabClass` styles when this tab is active\n this.localActive ? this.bvTabs.activeTabClass : null];\n },\n controlledBy: function controlledBy() {\n return this.buttonId || this.safeId('__BV_tab_button__');\n },\n computedNoFade: function computedNoFade() {\n return !(this.bvTabs.fade || false);\n },\n computedLazy: function computedLazy() {\n return this.bvTabs.lazy || this.lazy;\n },\n _isTab: function _isTab() {\n // For parent sniffing of child\n return true;\n }\n },\n watch: {\n localActive: function localActive(newVal, oldVal) {\n // Make 'active' prop work with `.sync` modifier\n this.$emit('update:active', newVal);\n },\n active: function active(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal) {\n // If activated post mount\n this.activate();\n } else {\n /* istanbul ignore next */\n if (!this.deactivate()) {\n // Tab couldn't be deactivated, so we reset the synced active prop\n // Deactivation will fail if no other tabs to activate\n this.$emit('update:active', this.localActive);\n }\n }\n }\n },\n disabled: function disabled(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal && this.localActive && this.bvTabs.firstTab) {\n this.localActive = false;\n this.bvTabs.firstTab();\n }\n }\n }\n },\n mounted: function mounted() {\n // Inform b-tabs of our presence\n this.registerTab(); // Initially show on mount if active and not disabled\n\n this.show = this.localActive;\n },\n updated: function updated() {\n // Force the tab button content to update (since slots are not reactive)\n // Only done if we have a title slot, as the title prop is reactive\n if (this.hasNormalizedSlot('title') && this.bvTabs.updateButton) {\n this.bvTabs.updateButton(this);\n }\n },\n destroyed: function destroyed() {\n // inform b-tabs of our departure\n this.unregisterTab();\n },\n methods: {\n // Private methods\n registerTab: function registerTab() {\n // Inform `b-tabs` of our presence\n this.bvTabs.registerTab && this.bvTabs.registerTab(this);\n },\n unregisterTab: function unregisterTab() {\n // Inform `b-tabs` of our departure\n this.bvTabs.unregisterTab && this.bvTabs.unregisterTab(this);\n },\n // Public methods\n activate: function activate() {\n if (this.bvTabs.activateTab && !this.disabled) {\n return this.bvTabs.activateTab(this);\n } else {\n // Not inside a <b-tabs> component or tab is disabled\n return false;\n }\n },\n deactivate: function deactivate() {\n if (this.bvTabs.deactivateTab && this.localActive) {\n return this.bvTabs.deactivateTab(this);\n } else {\n // Not inside a <b-tabs> component or not active to begin with\n return false;\n }\n }\n },\n render: function render(h) {\n var content = h(this.tag, {\n ref: 'panel',\n staticClass: 'tab-pane',\n class: this.tabClasses,\n directives: [{\n name: 'show',\n rawName: 'v-show',\n value: this.localActive,\n expression: 'localActive'\n }],\n attrs: {\n role: 'tabpanel',\n id: this.safeId(),\n tabindex: this.localActive && !this.bvTabs.noKeyNav ? '-1' : null,\n 'aria-hidden': this.localActive ? 'false' : 'true',\n 'aria-labelledby': this.controlledBy || null\n }\n }, // Render content lazily if requested\n [this.localActive || !this.computedLazy ? this.normalizeSlot('default') : h()]);\n return h(__WEBPACK_IMPORTED_MODULE_3__utils_bv_transition__[\"b\" /* default */], {\n props: {\n mode: 'out-in',\n noFade: this.computedNoFade\n }\n }, [content]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJzL3RhYi5qcz8xNmU3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0M7QUFDSTtBQUN1QjtBQUNSOztBQUU5QztBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsMkRBQU8sRUFBRSx1RUFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsYUFBYSxxRUFBWTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiMjEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IGlkTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2lkJztcbmltcG9ydCBub3JtYWxpemVTbG90TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL25vcm1hbGl6ZS1zbG90JztcbmltcG9ydCBCVlRyYW5zaXRpb24gZnJvbSAnLi4vLi4vdXRpbHMvYnYtdHJhbnNpdGlvbic7IC8vIEB2dWUvY29tcG9uZW50XG5cbmV4cG9ydCB2YXIgQlRhYiA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogJ0JUYWInLFxuICBtaXhpbnM6IFtpZE1peGluLCBub3JtYWxpemVTbG90TWl4aW5dLFxuICBpbmplY3Q6IHtcbiAgICBidlRhYnM6IHtcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC8vIERvbid0IHNldCBhIHRhYiBpbmRleCBpZiBub3QgcmVuZGVyZWQgaW5zaWRlIDxiLXRhYnM+XG4gICAgICAgICAgbm9LZXlOYXY6IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHByb3BzOiB7XG4gICAgYWN0aXZlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHRhZzoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ2RpdidcbiAgICB9LFxuICAgIGJ1dHRvbklkOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnJ1xuICAgIH0sXG4gICAgdGl0bGU6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICcnXG4gICAgfSxcbiAgICB0aXRsZUl0ZW1DbGFzczoge1xuICAgICAgLy8gU25pZmZlZCBieSB0YWJzLmpzIGFuZCBhZGRlZCB0byBuYXYgJ2xpLm5hdi1pdGVtJ1xuICAgICAgdHlwZTogW1N0cmluZywgQXJyYXksIE9iamVjdF0sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICB0aXRsZUxpbmtDbGFzczoge1xuICAgICAgLy8gU25pZmZlZCBieSB0YWJzLmpzIGFuZCBhZGRlZCB0byBuYXYgJ2EubmF2LWxpbmsnXG4gICAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIGRpc2FibGVkOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIG5vQm9keToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBsYXp5OiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9XG4gIH0sXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2FsQWN0aXZlOiB0aGlzLmFjdGl2ZSAmJiAhdGhpcy5kaXNhYmxlZCxcbiAgICAgIHNob3c6IGZhbHNlXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICB0YWJDbGFzc2VzOiBmdW5jdGlvbiB0YWJDbGFzc2VzKCkge1xuICAgICAgcmV0dXJuIFt7XG4gICAgICAgIGFjdGl2ZTogdGhpcy5sb2NhbEFjdGl2ZSxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgICdjYXJkLWJvZHknOiB0aGlzLmJ2VGFicy5jYXJkICYmICF0aGlzLm5vQm9keVxuICAgICAgfSwgLy8gQXBwbHkgPGItdGFicz4gYGFjdGl2ZVRhYkNsYXNzYCBzdHlsZXMgd2hlbiB0aGlzIHRhYiBpcyBhY3RpdmVcbiAgICAgIHRoaXMubG9jYWxBY3RpdmUgPyB0aGlzLmJ2VGFicy5hY3RpdmVUYWJDbGFzcyA6IG51bGxdO1xuICAgIH0sXG4gICAgY29udHJvbGxlZEJ5OiBmdW5jdGlvbiBjb250cm9sbGVkQnkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5idXR0b25JZCB8fCB0aGlzLnNhZmVJZCgnX19CVl90YWJfYnV0dG9uX18nKTtcbiAgICB9LFxuICAgIGNvbXB1dGVkTm9GYWRlOiBmdW5jdGlvbiBjb21wdXRlZE5vRmFkZSgpIHtcbiAgICAgIHJldHVybiAhKHRoaXMuYnZUYWJzLmZhZGUgfHwgZmFsc2UpO1xuICAgIH0sXG4gICAgY29tcHV0ZWRMYXp5OiBmdW5jdGlvbiBjb21wdXRlZExhenkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5idlRhYnMubGF6eSB8fCB0aGlzLmxhenk7XG4gICAgfSxcbiAgICBfaXNUYWI6IGZ1bmN0aW9uIF9pc1RhYigpIHtcbiAgICAgIC8vIEZvciBwYXJlbnQgc25pZmZpbmcgb2YgY2hpbGRcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBsb2NhbEFjdGl2ZTogZnVuY3Rpb24gbG9jYWxBY3RpdmUobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIC8vIE1ha2UgJ2FjdGl2ZScgcHJvcCB3b3JrIHdpdGggYC5zeW5jYCBtb2RpZmllclxuICAgICAgdGhpcy4kZW1pdCgndXBkYXRlOmFjdGl2ZScsIG5ld1ZhbCk7XG4gICAgfSxcbiAgICBhY3RpdmU6IGZ1bmN0aW9uIGFjdGl2ZShuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgaWYgKG5ld1ZhbCAhPT0gb2xkVmFsKSB7XG4gICAgICAgIGlmIChuZXdWYWwpIHtcbiAgICAgICAgICAvLyBJZiBhY3RpdmF0ZWQgcG9zdCBtb3VudFxuICAgICAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgIGlmICghdGhpcy5kZWFjdGl2YXRlKCkpIHtcbiAgICAgICAgICAgIC8vIFRhYiBjb3VsZG4ndCBiZSBkZWFjdGl2YXRlZCwgc28gd2UgcmVzZXQgdGhlIHN5bmNlZCBhY3RpdmUgcHJvcFxuICAgICAgICAgICAgLy8gRGVhY3RpdmF0aW9uIHdpbGwgZmFpbCBpZiBubyBvdGhlciB0YWJzIHRvIGFjdGl2YXRlXG4gICAgICAgICAgICB0aGlzLiRlbWl0KCd1cGRhdGU6YWN0aXZlJywgdGhpcy5sb2NhbEFjdGl2ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBkaXNhYmxlZDogZnVuY3Rpb24gZGlzYWJsZWQobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIGlmIChuZXdWYWwgIT09IG9sZFZhbCkge1xuICAgICAgICBpZiAobmV3VmFsICYmIHRoaXMubG9jYWxBY3RpdmUgJiYgdGhpcy5idlRhYnMuZmlyc3RUYWIpIHtcbiAgICAgICAgICB0aGlzLmxvY2FsQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5idlRhYnMuZmlyc3RUYWIoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICAvLyBJbmZvcm0gYi10YWJzIG9mIG91ciBwcmVzZW5jZVxuICAgIHRoaXMucmVnaXN0ZXJUYWIoKTsgLy8gSW5pdGlhbGx5IHNob3cgb24gbW91bnQgaWYgYWN0aXZlIGFuZCBub3QgZGlzYWJsZWRcblxuICAgIHRoaXMuc2hvdyA9IHRoaXMubG9jYWxBY3RpdmU7XG4gIH0sXG4gIHVwZGF0ZWQ6IGZ1bmN0aW9uIHVwZGF0ZWQoKSB7XG4gICAgLy8gRm9yY2UgdGhlIHRhYiBidXR0b24gY29udGVudCB0byB1cGRhdGUgKHNpbmNlIHNsb3RzIGFyZSBub3QgcmVhY3RpdmUpXG4gICAgLy8gT25seSBkb25lIGlmIHdlIGhhdmUgYSB0aXRsZSBzbG90LCBhcyB0aGUgdGl0bGUgcHJvcCBpcyByZWFjdGl2ZVxuICAgIGlmICh0aGlzLmhhc05vcm1hbGl6ZWRTbG90KCd0aXRsZScpICYmIHRoaXMuYnZUYWJzLnVwZGF0ZUJ1dHRvbikge1xuICAgICAgdGhpcy5idlRhYnMudXBkYXRlQnV0dG9uKHRoaXMpO1xuICAgIH1cbiAgfSxcbiAgZGVzdHJveWVkOiBmdW5jdGlvbiBkZXN0cm95ZWQoKSB7XG4gICAgLy8gaW5mb3JtIGItdGFicyBvZiBvdXIgZGVwYXJ0dXJlXG4gICAgdGhpcy51bnJlZ2lzdGVyVGFiKCk7XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICAvLyBQcml2YXRlIG1ldGhvZHNcbiAgICByZWdpc3RlclRhYjogZnVuY3Rpb24gcmVnaXN0ZXJUYWIoKSB7XG4gICAgICAvLyBJbmZvcm0gYGItdGFic2Agb2Ygb3VyIHByZXNlbmNlXG4gICAgICB0aGlzLmJ2VGFicy5yZWdpc3RlclRhYiAmJiB0aGlzLmJ2VGFicy5yZWdpc3RlclRhYih0aGlzKTtcbiAgICB9LFxuICAgIHVucmVnaXN0ZXJUYWI6IGZ1bmN0aW9uIHVucmVnaXN0ZXJUYWIoKSB7XG4gICAgICAvLyBJbmZvcm0gYGItdGFic2Agb2Ygb3VyIGRlcGFydHVyZVxuICAgICAgdGhpcy5idlRhYnMudW5yZWdpc3RlclRhYiAmJiB0aGlzLmJ2VGFicy51bnJlZ2lzdGVyVGFiKHRoaXMpO1xuICAgIH0sXG4gICAgLy8gUHVibGljIG1ldGhvZHNcbiAgICBhY3RpdmF0ZTogZnVuY3Rpb24gYWN0aXZhdGUoKSB7XG4gICAgICBpZiAodGhpcy5idlRhYnMuYWN0aXZhdGVUYWIgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnZUYWJzLmFjdGl2YXRlVGFiKHRoaXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTm90IGluc2lkZSBhIDxiLXRhYnM+IGNvbXBvbmVudCBvciB0YWIgaXMgZGlzYWJsZWRcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0sXG4gICAgZGVhY3RpdmF0ZTogZnVuY3Rpb24gZGVhY3RpdmF0ZSgpIHtcbiAgICAgIGlmICh0aGlzLmJ2VGFicy5kZWFjdGl2YXRlVGFiICYmIHRoaXMubG9jYWxBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnZUYWJzLmRlYWN0aXZhdGVUYWIodGhpcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBOb3QgaW5zaWRlIGEgPGItdGFicz4gY29tcG9uZW50IG9yIG5vdCBhY3RpdmUgdG8gYmVnaW4gd2l0aFxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgdmFyIGNvbnRlbnQgPSBoKHRoaXMudGFnLCB7XG4gICAgICByZWY6ICdwYW5lbCcsXG4gICAgICBzdGF0aWNDbGFzczogJ3RhYi1wYW5lJyxcbiAgICAgIGNsYXNzOiB0aGlzLnRhYkNsYXNzZXMsXG4gICAgICBkaXJlY3RpdmVzOiBbe1xuICAgICAgICBuYW1lOiAnc2hvdycsXG4gICAgICAgIHJhd05hbWU6ICd2LXNob3cnLFxuICAgICAgICB2YWx1ZTogdGhpcy5sb2NhbEFjdGl2ZSxcbiAgICAgICAgZXhwcmVzc2lvbjogJ2xvY2FsQWN0aXZlJ1xuICAgICAgfV0sXG4gICAgICBhdHRyczoge1xuICAgICAgICByb2xlOiAndGFicGFuZWwnLFxuICAgICAgICBpZDogdGhpcy5zYWZlSWQoKSxcbiAgICAgICAgdGFiaW5kZXg6IHRoaXMubG9jYWxBY3RpdmUgJiYgIXRoaXMuYnZUYWJzLm5vS2V5TmF2ID8gJy0xJyA6IG51bGwsXG4gICAgICAgICdhcmlhLWhpZGRlbic6IHRoaXMubG9jYWxBY3RpdmUgPyAnZmFsc2UnIDogJ3RydWUnLFxuICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogdGhpcy5jb250cm9sbGVkQnkgfHwgbnVsbFxuICAgICAgfVxuICAgIH0sIC8vIFJlbmRlciBjb250ZW50IGxhemlseSBpZiByZXF1ZXN0ZWRcbiAgICBbdGhpcy5sb2NhbEFjdGl2ZSB8fCAhdGhpcy5jb21wdXRlZExhenkgPyB0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKSA6IGgoKV0pO1xuICAgIHJldHVybiBoKEJWVHJhbnNpdGlvbiwge1xuICAgICAgcHJvcHM6IHtcbiAgICAgICAgbW9kZTogJ291dC1pbicsXG4gICAgICAgIG5vRmFkZTogdGhpcy5jb21wdXRlZE5vRmFkZVxuICAgICAgfVxuICAgIH0sIFtjb250ZW50XSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFicy90YWIuanNcbi8vIG1vZHVsZSBpZCA9IDIxM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///213\n"); + +/***/ }), +/* 214 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ToastPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers_bv_toast__ = __webpack_require__(215);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__toast__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__toaster__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BToast */\n/* unused harmony reexport BToaster */\n\n\n\n\nvar ToastPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_3__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BToast: __WEBPACK_IMPORTED_MODULE_1__toast__[\"a\" /* BToast */],\n BToaster: __WEBPACK_IMPORTED_MODULE_2__toaster__[\"a\" /* BToaster */]\n },\n // $bvToast injection\n plugins: {\n BVToastPlugin: __WEBPACK_IMPORTED_MODULE_0__helpers_bv_toast__[\"a\" /* BVToastPlugin */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b2FzdC9pbmRleC5qcz9jMWU1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW1EO0FBQ2xCO0FBQ0k7QUFDZTtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLFlBQVksc0RBQU07QUFDbEIsY0FBYywwREFBUTtBQUN0QixHQUFHO0FBQ0g7QUFDQTtBQUNBLG1CQUFtQix3RUFBYTtBQUNoQztBQUNBLENBQUMiLCJmaWxlIjoiMjE0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQlZUb2FzdFBsdWdpbiB9IGZyb20gJy4vaGVscGVycy9idi10b2FzdCc7XG5pbXBvcnQgeyBCVG9hc3QgfSBmcm9tICcuL3RvYXN0JztcbmltcG9ydCB7IEJUb2FzdGVyIH0gZnJvbSAnLi90b2FzdGVyJztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBUb2FzdFBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJUb2FzdDogQlRvYXN0LFxuICAgIEJUb2FzdGVyOiBCVG9hc3RlclxuICB9LFxuICAvLyAkYnZUb2FzdCBpbmplY3Rpb25cbiAgcGx1Z2luczoge1xuICAgIEJWVG9hc3RQbHVnaW46IEJWVG9hc3RQbHVnaW5cbiAgfVxufSk7XG5leHBvcnQgeyBUb2FzdFBsdWdpbiwgQlRvYXN0LCBCVG9hc3RlciB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdG9hc3QvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDIxNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///214\n"); + +/***/ }), +/* 215 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BVToastPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_plugins__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__toast__ = __webpack_require__(91);\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 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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\n/**\n * Plugin for adding `$bvToast` property to all Vue instances\n */\n\n\n\n\n\n\n\n // --- Constants ---\n\nvar PROP_NAME = '$bvToast';\nvar PROP_NAME_PRIV = '_bv__toast'; // Base toast props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\n\nvar BASE_PROPS = ['id'].concat(_toConsumableArray(Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"j\" /* keys */])(Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"k\" /* omit */])(__WEBPACK_IMPORTED_MODULE_7__toast__[\"b\" /* props */], ['static', 'visible'])))); // Map prop names to toast slot names\n\nvar propsToSlots = {\n toastContent: 'default',\n title: 'toast-title'\n}; // --- Utility methods ---\n// Method to filter only recognized props that are not undefined\n\nvar filterOptions = function filterOptions(options) {\n return BASE_PROPS.reduce(function (memo, key) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"n\" /* isUndefined */])(options[key])) {\n memo[key] = options[key];\n }\n\n return memo;\n }, {});\n}; // Method to install `$bvToast` VM injection\n\n\nvar plugin = function plugin(Vue) {\n // Create a private sub-component constructor that\n // extends BToast and self-destructs after hidden\n // @vue/component\n var BToastPop = Vue.extend({\n name: 'BToastPop',\n extends: __WEBPACK_IMPORTED_MODULE_7__toast__[\"a\" /* BToast */],\n destroyed: function destroyed() {\n // Make sure we not in document any more\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n },\n mounted: function mounted() {\n var self = this; // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n // Ensure the toast has been force hidden\n self.localShow = false;\n self.doRender = false;\n self.$nextTick(function () {\n self.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n // and to allow the portal-target time to remove the content\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"w\" /* requestAF */])(function () {\n self.$destroy();\n });\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once('hook:destroyed', handleDestroy); // Self destruct after hidden\n\n this.$once('hidden', handleDestroy); // Self destruct when toaster is destroyed\n\n this.listenOnRoot('bv::toaster::destroyed', function (toaster) {\n /* istanbul ignore next: hard to test */\n if (toaster === self.toaster) {\n handleDestroy();\n }\n });\n }\n }); // Private method to generate the on-demand toast\n\n var makeToast = function makeToast(props, $parent) {\n if (Object(__WEBPACK_IMPORTED_MODULE_6__utils_warn__[\"e\" /* warnNotClient */])(PROP_NAME)) {\n /* istanbul ignore next */\n return;\n } // Create an instance of `BToastPop` component\n\n\n var toast = new BToastPop({\n // We set parent as the local VM so these toasts can emit events on the\n // app `$root`, and it ensures `BToast` is destroyed when parent is destroyed\n parent: $parent,\n propsData: _objectSpread({}, filterOptions(Object(__WEBPACK_IMPORTED_MODULE_1__utils_config__[\"c\" /* getComponentConfig */])('BToast') || {}), {}, Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"k\" /* omit */])(props, Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"j\" /* keys */])(propsToSlots)), {\n // Props that can't be overridden\n static: false,\n visible: true\n })\n }); // Convert certain props to slots\n\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"j\" /* keys */])(propsToSlots).forEach(function (prop) {\n var value = props[prop];\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"n\" /* isUndefined */])(value)) {\n // Can be a string, or array of VNodes\n if (prop === 'title' && Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"m\" /* isString */])(value)) {\n // Special case for title if it is a string, we wrap in a <strong>\n value = [$parent.$createElement('strong', {\n class: 'mr-2'\n }, value)];\n }\n\n toast.$slots[propsToSlots[prop]] = Object(__WEBPACK_IMPORTED_MODULE_0__utils_array__[\"b\" /* concat */])(value);\n }\n }); // Create a mount point (a DIV) and mount it (which triggers the show)\n\n var div = document.createElement('div');\n document.body.appendChild(div);\n toast.$mount(div);\n }; // Declare BvToast instance property class\n\n\n var BvToast =\n /*#__PURE__*/\n function () {\n function BvToast(vm) {\n _classCallCheck(this, BvToast);\n\n // Assign the new properties to this instance\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"a\" /* assign */])(this, {\n _vm: vm,\n _root: vm.$root\n }); // Set these properties as read-only and non-enumerable\n\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"d\" /* defineProperties */])(this, {\n _vm: Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"l\" /* readonlyDescriptor */])(),\n _root: Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"l\" /* readonlyDescriptor */])()\n });\n } // --- Public Instance methods ---\n // Opens a user defined toast and returns immediately\n\n\n _createClass(BvToast, [{\n key: \"toast\",\n value: function toast(content) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!content || Object(__WEBPACK_IMPORTED_MODULE_6__utils_warn__[\"e\" /* warnNotClient */])(PROP_NAME)) {\n /* istanbul ignore next */\n return;\n }\n\n makeToast(_objectSpread({}, filterOptions(options), {\n toastContent: content\n }), this._vm);\n } // shows a `<b-toast>` component with the specified ID\n\n }, {\n key: \"show\",\n value: function show(id) {\n if (id) {\n this._root.$emit('bv::show::toast', id);\n }\n } // Hide a toast with specified ID, or if not ID all toasts\n\n }, {\n key: \"hide\",\n value: function hide() {\n var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n this._root.$emit('bv::hide::toast', id);\n }\n }]);\n\n return BvToast;\n }(); // Add our instance mixin\n\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvToast` for each VM\n this[PROP_NAME_PRIV] = new BvToast(this);\n }\n }); // Define our read-only `$bvToast` instance property\n // Placed in an if just in case in HMR mode\n // eslint-disable-next-line no-prototype-builtins\n\n if (!Vue.prototype.hasOwnProperty(PROP_NAME)) {\n Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"e\" /* defineProperty */])(Vue.prototype, PROP_NAME, {\n get: function get() {\n /* istanbul ignore next */\n if (!this || !this[PROP_NAME_PRIV]) {\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_warn__[\"b\" /* warn */])(\"'\".concat(PROP_NAME, \"' must be accessed from a Vue instance 'this' context\"));\n }\n\n return this[PROP_NAME_PRIV];\n }\n });\n }\n};\n\nvar BVToastPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_5__utils_plugins__[\"b\" /* pluginFactory */])({\n plugins: {\n plugin: plugin\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b2FzdC9oZWxwZXJzL2J2LXRvYXN0LmpzPzM4YmIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsaURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdkosMkNBQTJDLGdCQUFnQixrQkFBa0IsT0FBTywyQkFBMkIsd0RBQXdELGdDQUFnQyx1REFBdUQsMkRBQTJELEVBQUU7O0FBRTNULDZEQUE2RCxzRUFBc0UsOERBQThELG9CQUFvQjs7QUFFck4sMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUUvTSxrQ0FBa0MsaUZBQWlGOztBQUVuSCwrQkFBK0Isd0VBQXdFOztBQUV2RyxpQ0FBaUMsK0hBQStIOztBQUVoSyxrQ0FBa0MsMEJBQTBCLDhDQUE4QyxnQkFBZ0IsT0FBTyxrQkFBa0IsRUFBRSxhQUFhLEVBQUU7O0FBRXBLO0FBQ0E7QUFDQTtBQUM4QztBQUNhO0FBQ1o7QUFDZ0I7QUFDa0Q7QUFDMUQ7QUFDRztBQUNIOztBQUV2RDtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUEsa0RBQWtELG1FQUFJLENBQUMsbUVBQUksQ0FBQyxxREFBVSw0QkFBNEI7O0FBRWxHO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0EsU0FBUywyRUFBVztBQUNwQjtBQUNBOztBQUVBO0FBQ0EsR0FBRyxJQUFJO0FBQ1AsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxzREFBTTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxxRUFBUztBQUNyQjtBQUNBLGFBQWE7QUFDYixXQUFXO0FBQ1gsU0FBUztBQUNULFFBQVE7OztBQUdSLDBEQUEwRDs7QUFFMUQsMENBQTBDOztBQUUxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRyxFQUFFOztBQUVMO0FBQ0EsUUFBUSwwRUFBYTtBQUNyQjtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsZ0JBQWdCLGlGQUFrQixnQkFBZ0IsS0FBSyxFQUFFLG1FQUFJLFFBQVEsbUVBQUk7QUFDMUc7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUssRUFBRTs7QUFFUCxJQUFJLG1FQUFJO0FBQ1I7O0FBRUEsV0FBVywyRUFBVztBQUN0QjtBQUNBLGdDQUFnQyx3RUFBUTtBQUN4QztBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUEsMkNBQTJDLG9FQUFNO0FBQ2pEO0FBQ0EsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNLHFFQUFNO0FBQ1o7QUFDQTtBQUNBLE9BQU8sRUFBRTs7QUFFVCxNQUFNLCtFQUFnQjtBQUN0QixhQUFhLGlGQUFrQjtBQUMvQixlQUFlLGlGQUFrQjtBQUNqQyxPQUFPO0FBQ1AsS0FBSztBQUNMOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3QkFBd0IsMEVBQWE7QUFDckM7QUFDQTtBQUNBOztBQUVBLGtDQUFrQztBQUNsQztBQUNBLFNBQVM7QUFDVCxPQUFPOztBQUVQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUCxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsR0FBRyxHQUFHOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7QUFDTDtBQUNBOztBQUVBO0FBQ0EsSUFBSSw2RUFBYztBQUNsQjtBQUNBO0FBQ0E7QUFDQSxVQUFVLGlFQUFJO0FBQ2Q7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVPO0FBQ1A7QUFDQSw2RUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMjE1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7IHJldHVybiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5KGFycikgfHwgX25vbkl0ZXJhYmxlU3ByZWFkKCk7IH1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2VcIik7IH1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheShpdGVyKSB7IGlmIChTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXIpIHx8IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpdGVyKSA9PT0gXCJbb2JqZWN0IEFyZ3VtZW50c11cIikgcmV0dXJuIEFycmF5LmZyb20oaXRlcik7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7IGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGFyci5sZW5ndGgpOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7IGFycjJbaV0gPSBhcnJbaV07IH0gcmV0dXJuIGFycjI7IH0gfVxuXG4vKipcbiAqIFBsdWdpbiBmb3IgYWRkaW5nIGAkYnZUb2FzdGAgcHJvcGVydHkgdG8gYWxsIFZ1ZSBpbnN0YW5jZXNcbiAqL1xuaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IHJlcXVlc3RBRiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwgaXNTdHJpbmcgfSBmcm9tICcuLi8uLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7IGFzc2lnbiwgZGVmaW5lUHJvcGVydGllcywgZGVmaW5lUHJvcGVydHksIGtleXMsIG9taXQsIHJlYWRvbmx5RGVzY3JpcHRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL29iamVjdCc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG5pbXBvcnQgeyB3YXJuLCB3YXJuTm90Q2xpZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvd2Fybic7XG5pbXBvcnQgeyBCVG9hc3QsIHByb3BzIGFzIHRvYXN0UHJvcHMgfSBmcm9tICcuLi90b2FzdCc7IC8vIC0tLSBDb25zdGFudHMgLS0tXG5cbnZhciBQUk9QX05BTUUgPSAnJGJ2VG9hc3QnO1xudmFyIFBST1BfTkFNRV9QUklWID0gJ19idl9fdG9hc3QnOyAvLyBCYXNlIHRvYXN0IHByb3BzIHRoYXQgYXJlIGFsbG93ZWRcbi8vIFNvbWUgbWF5IGJlIGlnbm9yZWQgb3Igb3ZlcnJpZGRlbiBvbiBzb21lIG1lc3NhZ2UgYm94ZXNcbi8vIFByb3AgSUQgaXMgYWxsb3dlZCwgYnV0IHJlYWxseSBvbmx5IHNob3VsZCBiZSB1c2VkIGZvciB0ZXN0aW5nXG4vLyBXZSBuZWVkIHRvIGFkZCBpdCBpbiBleHBsaWNpdGx5IGFzIGl0IGNvbWVzIGZyb20gdGhlIGBpZE1peGluYFxuXG52YXIgQkFTRV9QUk9QUyA9IFsnaWQnXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGtleXMob21pdCh0b2FzdFByb3BzLCBbJ3N0YXRpYycsICd2aXNpYmxlJ10pKSkpOyAvLyBNYXAgcHJvcCBuYW1lcyB0byB0b2FzdCBzbG90IG5hbWVzXG5cbnZhciBwcm9wc1RvU2xvdHMgPSB7XG4gIHRvYXN0Q29udGVudDogJ2RlZmF1bHQnLFxuICB0aXRsZTogJ3RvYXN0LXRpdGxlJ1xufTsgLy8gLS0tIFV0aWxpdHkgbWV0aG9kcyAtLS1cbi8vIE1ldGhvZCB0byBmaWx0ZXIgb25seSByZWNvZ25pemVkIHByb3BzIHRoYXQgYXJlIG5vdCB1bmRlZmluZWRcblxudmFyIGZpbHRlck9wdGlvbnMgPSBmdW5jdGlvbiBmaWx0ZXJPcHRpb25zKG9wdGlvbnMpIHtcbiAgcmV0dXJuIEJBU0VfUFJPUFMucmVkdWNlKGZ1bmN0aW9uIChtZW1vLCBrZXkpIHtcbiAgICBpZiAoIWlzVW5kZWZpbmVkKG9wdGlvbnNba2V5XSkpIHtcbiAgICAgIG1lbW9ba2V5XSA9IG9wdGlvbnNba2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVtbztcbiAgfSwge30pO1xufTsgLy8gTWV0aG9kIHRvIGluc3RhbGwgYCRidlRvYXN0YCBWTSBpbmplY3Rpb25cblxuXG52YXIgcGx1Z2luID0gZnVuY3Rpb24gcGx1Z2luKFZ1ZSkge1xuICAvLyBDcmVhdGUgYSBwcml2YXRlIHN1Yi1jb21wb25lbnQgY29uc3RydWN0b3IgdGhhdFxuICAvLyBleHRlbmRzIEJUb2FzdCBhbmQgc2VsZi1kZXN0cnVjdHMgYWZ0ZXIgaGlkZGVuXG4gIC8vIEB2dWUvY29tcG9uZW50XG4gIHZhciBCVG9hc3RQb3AgPSBWdWUuZXh0ZW5kKHtcbiAgICBuYW1lOiAnQlRvYXN0UG9wJyxcbiAgICBleHRlbmRzOiBCVG9hc3QsXG4gICAgZGVzdHJveWVkOiBmdW5jdGlvbiBkZXN0cm95ZWQoKSB7XG4gICAgICAvLyBNYWtlIHN1cmUgd2Ugbm90IGluIGRvY3VtZW50IGFueSBtb3JlXG4gICAgICBpZiAodGhpcy4kZWwgJiYgdGhpcy4kZWwucGFyZW50Tm9kZSkge1xuICAgICAgICB0aGlzLiRlbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuJGVsKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgICB2YXIgc2VsZiA9IHRoaXM7IC8vIFNlbGYgZGVzdHJ1Y3QgaGFuZGxlclxuXG4gICAgICB2YXIgaGFuZGxlRGVzdHJveSA9IGZ1bmN0aW9uIGhhbmRsZURlc3Ryb3koKSB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGUgdG9hc3QgaGFzIGJlZW4gZm9yY2UgaGlkZGVuXG4gICAgICAgIHNlbGYubG9jYWxTaG93ID0gZmFsc2U7XG4gICAgICAgIHNlbGYuZG9SZW5kZXIgPSBmYWxzZTtcbiAgICAgICAgc2VsZi4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHNlbGYuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIEluIGEgYHJlcXVlc3RBRigpYCB0byByZWxlYXNlIGNvbnRyb2wgYmFjayB0byBhcHBsaWNhdGlvblxuICAgICAgICAgICAgLy8gYW5kIHRvIGFsbG93IHRoZSBwb3J0YWwtdGFyZ2V0IHRpbWUgdG8gcmVtb3ZlIHRoZSBjb250ZW50XG4gICAgICAgICAgICByZXF1ZXN0QUYoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICBzZWxmLiRkZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9OyAvLyBTZWxmIGRlc3RydWN0IGlmIHBhcmVudCBkZXN0cm95ZWRcblxuXG4gICAgICB0aGlzLiRwYXJlbnQuJG9uY2UoJ2hvb2s6ZGVzdHJveWVkJywgaGFuZGxlRGVzdHJveSk7IC8vIFNlbGYgZGVzdHJ1Y3QgYWZ0ZXIgaGlkZGVuXG5cbiAgICAgIHRoaXMuJG9uY2UoJ2hpZGRlbicsIGhhbmRsZURlc3Ryb3kpOyAvLyBTZWxmIGRlc3RydWN0IHdoZW4gdG9hc3RlciBpcyBkZXN0cm95ZWRcblxuICAgICAgdGhpcy5saXN0ZW5PblJvb3QoJ2J2Ojp0b2FzdGVyOjpkZXN0cm95ZWQnLCBmdW5jdGlvbiAodG9hc3Rlcikge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogaGFyZCB0byB0ZXN0ICovXG4gICAgICAgIGlmICh0b2FzdGVyID09PSBzZWxmLnRvYXN0ZXIpIHtcbiAgICAgICAgICBoYW5kbGVEZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7IC8vIFByaXZhdGUgbWV0aG9kIHRvIGdlbmVyYXRlIHRoZSBvbi1kZW1hbmQgdG9hc3RcblxuICB2YXIgbWFrZVRvYXN0ID0gZnVuY3Rpb24gbWFrZVRvYXN0KHByb3BzLCAkcGFyZW50KSB7XG4gICAgaWYgKHdhcm5Ob3RDbGllbnQoUFJPUF9OQU1FKSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybjtcbiAgICB9IC8vIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBgQlRvYXN0UG9wYCBjb21wb25lbnRcblxuXG4gICAgdmFyIHRvYXN0ID0gbmV3IEJUb2FzdFBvcCh7XG4gICAgICAvLyBXZSBzZXQgcGFyZW50IGFzIHRoZSBsb2NhbCBWTSBzbyB0aGVzZSB0b2FzdHMgY2FuIGVtaXQgZXZlbnRzIG9uIHRoZVxuICAgICAgLy8gYXBwIGAkcm9vdGAsIGFuZCBpdCBlbnN1cmVzIGBCVG9hc3RgIGlzIGRlc3Ryb3llZCB3aGVuIHBhcmVudCBpcyBkZXN0cm95ZWRcbiAgICAgIHBhcmVudDogJHBhcmVudCxcbiAgICAgIHByb3BzRGF0YTogX29iamVjdFNwcmVhZCh7fSwgZmlsdGVyT3B0aW9ucyhnZXRDb21wb25lbnRDb25maWcoJ0JUb2FzdCcpIHx8IHt9KSwge30sIG9taXQocHJvcHMsIGtleXMocHJvcHNUb1Nsb3RzKSksIHtcbiAgICAgICAgLy8gUHJvcHMgdGhhdCBjYW4ndCBiZSBvdmVycmlkZGVuXG4gICAgICAgIHN0YXRpYzogZmFsc2UsXG4gICAgICAgIHZpc2libGU6IHRydWVcbiAgICAgIH0pXG4gICAgfSk7IC8vIENvbnZlcnQgY2VydGFpbiBwcm9wcyB0byBzbG90c1xuXG4gICAga2V5cyhwcm9wc1RvU2xvdHMpLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgIHZhciB2YWx1ZSA9IHByb3BzW3Byb3BdO1xuXG4gICAgICBpZiAoIWlzVW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICAvLyBDYW4gYmUgYSBzdHJpbmcsIG9yIGFycmF5IG9mIFZOb2Rlc1xuICAgICAgICBpZiAocHJvcCA9PT0gJ3RpdGxlJyAmJiBpc1N0cmluZyh2YWx1ZSkpIHtcbiAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIHRpdGxlIGlmIGl0IGlzIGEgc3RyaW5nLCB3ZSB3cmFwIGluIGEgPHN0cm9uZz5cbiAgICAgICAgICB2YWx1ZSA9IFskcGFyZW50LiRjcmVhdGVFbGVtZW50KCdzdHJvbmcnLCB7XG4gICAgICAgICAgICBjbGFzczogJ21yLTInXG4gICAgICAgICAgfSwgdmFsdWUpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvYXN0LiRzbG90c1twcm9wc1RvU2xvdHNbcHJvcF1dID0gY29uY2F0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gQ3JlYXRlIGEgbW91bnQgcG9pbnQgKGEgRElWKSBhbmQgbW91bnQgaXQgKHdoaWNoIHRyaWdnZXJzIHRoZSBzaG93KVxuXG4gICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTtcbiAgICB0b2FzdC4kbW91bnQoZGl2KTtcbiAgfTsgLy8gRGVjbGFyZSBCdlRvYXN0IGluc3RhbmNlIHByb3BlcnR5IGNsYXNzXG5cblxuICB2YXIgQnZUb2FzdCA9XG4gIC8qI19fUFVSRV9fKi9cbiAgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEJ2VG9hc3Qodm0pIHtcbiAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBCdlRvYXN0KTtcblxuICAgICAgLy8gQXNzaWduIHRoZSBuZXcgcHJvcGVydGllcyB0byB0aGlzIGluc3RhbmNlXG4gICAgICBhc3NpZ24odGhpcywge1xuICAgICAgICBfdm06IHZtLFxuICAgICAgICBfcm9vdDogdm0uJHJvb3RcbiAgICAgIH0pOyAvLyBTZXQgdGhlc2UgcHJvcGVydGllcyBhcyByZWFkLW9ubHkgYW5kIG5vbi1lbnVtZXJhYmxlXG5cbiAgICAgIGRlZmluZVByb3BlcnRpZXModGhpcywge1xuICAgICAgICBfdm06IHJlYWRvbmx5RGVzY3JpcHRvcigpLFxuICAgICAgICBfcm9vdDogcmVhZG9ubHlEZXNjcmlwdG9yKClcbiAgICAgIH0pO1xuICAgIH0gLy8gLS0tIFB1YmxpYyBJbnN0YW5jZSBtZXRob2RzIC0tLVxuICAgIC8vIE9wZW5zIGEgdXNlciBkZWZpbmVkIHRvYXN0IGFuZCByZXR1cm5zIGltbWVkaWF0ZWx5XG5cblxuICAgIF9jcmVhdGVDbGFzcyhCdlRvYXN0LCBbe1xuICAgICAga2V5OiBcInRvYXN0XCIsXG4gICAgICB2YWx1ZTogZnVuY3Rpb24gdG9hc3QoY29udGVudCkge1xuICAgICAgICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG5cbiAgICAgICAgaWYgKCFjb250ZW50IHx8IHdhcm5Ob3RDbGllbnQoUFJPUF9OQU1FKSkge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbWFrZVRvYXN0KF9vYmplY3RTcHJlYWQoe30sIGZpbHRlck9wdGlvbnMob3B0aW9ucyksIHtcbiAgICAgICAgICB0b2FzdENvbnRlbnQ6IGNvbnRlbnRcbiAgICAgICAgfSksIHRoaXMuX3ZtKTtcbiAgICAgIH0gLy8gc2hvd3MgYSBgPGItdG9hc3Q+YCBjb21wb25lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIElEXG5cbiAgICB9LCB7XG4gICAgICBrZXk6IFwic2hvd1wiLFxuICAgICAgdmFsdWU6IGZ1bmN0aW9uIHNob3coaWQpIHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgdGhpcy5fcm9vdC4kZW1pdCgnYnY6OnNob3c6OnRvYXN0JywgaWQpO1xuICAgICAgICB9XG4gICAgICB9IC8vIEhpZGUgYSB0b2FzdCB3aXRoIHNwZWNpZmllZCBJRCwgb3IgaWYgbm90IElEIGFsbCB0b2FzdHNcblxuICAgIH0sIHtcbiAgICAgIGtleTogXCJoaWRlXCIsXG4gICAgICB2YWx1ZTogZnVuY3Rpb24gaGlkZSgpIHtcbiAgICAgICAgdmFyIGlkID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBudWxsO1xuXG4gICAgICAgIHRoaXMuX3Jvb3QuJGVtaXQoJ2J2OjpoaWRlOjp0b2FzdCcsIGlkKTtcbiAgICAgIH1cbiAgICB9XSk7XG5cbiAgICByZXR1cm4gQnZUb2FzdDtcbiAgfSgpOyAvLyBBZGQgb3VyIGluc3RhbmNlIG1peGluXG5cblxuICBWdWUubWl4aW4oe1xuICAgIGJlZm9yZUNyZWF0ZTogZnVuY3Rpb24gYmVmb3JlQ3JlYXRlKCkge1xuICAgICAgLy8gQmVjYXVzZSB3ZSBuZWVkIGFjY2VzcyB0byBgJHJvb3RgIGZvciBgJGVtaXRzYCwgYW5kIFZNIGZvciBwYXJlbnRpbmcsXG4gICAgICAvLyB3ZSBoYXZlIHRvIGNyZWF0ZSBhIGZyZXNoIGluc3RhbmNlIG9mIGBCdlRvYXN0YCBmb3IgZWFjaCBWTVxuICAgICAgdGhpc1tQUk9QX05BTUVfUFJJVl0gPSBuZXcgQnZUb2FzdCh0aGlzKTtcbiAgICB9XG4gIH0pOyAvLyBEZWZpbmUgb3VyIHJlYWQtb25seSBgJGJ2VG9hc3RgIGluc3RhbmNlIHByb3BlcnR5XG4gIC8vIFBsYWNlZCBpbiBhbiBpZiBqdXN0IGluIGNhc2UgaW4gSE1SIG1vZGVcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuXG4gIGlmICghVnVlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShQUk9QX05BTUUpKSB7XG4gICAgZGVmaW5lUHJvcGVydHkoVnVlLnByb3RvdHlwZSwgUFJPUF9OQU1FLCB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgaWYgKCF0aGlzIHx8ICF0aGlzW1BST1BfTkFNRV9QUklWXSkge1xuICAgICAgICAgIHdhcm4oXCInXCIuY29uY2F0KFBST1BfTkFNRSwgXCInIG11c3QgYmUgYWNjZXNzZWQgZnJvbSBhIFZ1ZSBpbnN0YW5jZSAndGhpcycgY29udGV4dFwiKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpc1tQUk9QX05BTUVfUFJJVl07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCB2YXIgQlZUb2FzdFBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgcGx1Z2luczoge1xuICAgIHBsdWdpbjogcGx1Z2luXG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdG9hc3QvaGVscGVycy9idi10b2FzdC5qc1xuLy8gbW9kdWxlIGlkID0gMjE1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///215\n"); + +/***/ }), +/* 216 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n /*! \n * portal-vue © Thorsten Lünborg, 2019 \n * \n * Version: 2.1.6\n * \n * LICENCE: MIT \n * \n * https://github.com/linusborg/portal-vue\n * \n */\n\n\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(__webpack_require__(50));\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar inBrowser = typeof window !== 'undefined';\nfunction freeze(item) {\n if (Array.isArray(item) || _typeof(item) === 'object') {\n return Object.freeze(item);\n }\n\n return item;\n}\nfunction combinePassengers(transports) {\n var slotProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return transports.reduce(function (passengers, transport) {\n var temp = transport.passengers[0];\n var newPassengers = typeof temp === 'function' ? temp(slotProps) : transport.passengers;\n return passengers.concat(newPassengers);\n }, []);\n}\nfunction stableSort(array, compareFn) {\n return array.map(function (v, idx) {\n return [idx, v];\n }).sort(function (a, b) {\n return compareFn(a[1], b[1]) || a[0] - b[0];\n }).map(function (c) {\n return c[1];\n });\n}\nfunction pick(obj, keys) {\n return keys.reduce(function (acc, key) {\n if (obj.hasOwnProperty(key)) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nvar transports = {};\nvar targets = {};\nvar sources = {};\nvar Wormhole = Vue.extend({\n data: function data() {\n return {\n transports: transports,\n targets: targets,\n sources: sources,\n trackInstances: inBrowser\n };\n },\n methods: {\n open: function open(transport) {\n if (!inBrowser) return;\n var to = transport.to,\n from = transport.from,\n passengers = transport.passengers,\n _transport$order = transport.order,\n order = _transport$order === void 0 ? Infinity : _transport$order;\n if (!to || !from || !passengers) return;\n var newTransport = {\n to: to,\n from: from,\n passengers: freeze(passengers),\n order: order\n };\n var keys = Object.keys(this.transports);\n\n if (keys.indexOf(to) === -1) {\n Vue.set(this.transports, to, []);\n }\n\n var currentIndex = this.$_getTransportIndex(newTransport); // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n\n var newTransports = this.transports[to].slice(0);\n\n if (currentIndex === -1) {\n newTransports.push(newTransport);\n } else {\n newTransports[currentIndex] = newTransport;\n }\n\n this.transports[to] = stableSort(newTransports, function (a, b) {\n return a.order - b.order;\n });\n },\n close: function close(transport) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var to = transport.to,\n from = transport.from;\n if (!to || !from && force === false) return;\n\n if (!this.transports[to]) {\n return;\n }\n\n if (force) {\n this.transports[to] = [];\n } else {\n var index = this.$_getTransportIndex(transport);\n\n if (index >= 0) {\n // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n var newTransports = this.transports[to].slice(0);\n newTransports.splice(index, 1);\n this.transports[to] = newTransports;\n }\n }\n },\n registerTarget: function registerTarget(target, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.targets[target]) {\n console.warn(\"[portal-vue]: Target \".concat(target, \" already exists\"));\n }\n\n this.$set(this.targets, target, Object.freeze([vm]));\n },\n unregisterTarget: function unregisterTarget(target) {\n this.$delete(this.targets, target);\n },\n registerSource: function registerSource(source, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.sources[source]) {\n console.warn(\"[portal-vue]: source \".concat(source, \" already exists\"));\n }\n\n this.$set(this.sources, source, Object.freeze([vm]));\n },\n unregisterSource: function unregisterSource(source) {\n this.$delete(this.sources, source);\n },\n hasTarget: function hasTarget(to) {\n return !!(this.targets[to] && this.targets[to][0]);\n },\n hasSource: function hasSource(to) {\n return !!(this.sources[to] && this.sources[to][0]);\n },\n hasContentFor: function hasContentFor(to) {\n return !!this.transports[to] && !!this.transports[to].length;\n },\n // Internal\n $_getTransportIndex: function $_getTransportIndex(_ref) {\n var to = _ref.to,\n from = _ref.from;\n\n for (var i in this.transports[to]) {\n if (this.transports[to][i].from === from) {\n return +i;\n }\n }\n\n return -1;\n }\n }\n});\nvar wormhole = new Wormhole(transports);\n\nvar _id = 1;\nvar Portal = Vue.extend({\n name: 'portal',\n props: {\n disabled: {\n type: Boolean\n },\n name: {\n type: String,\n default: function _default() {\n return String(_id++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerSource(_this.name, _this);\n });\n },\n mounted: function mounted() {\n if (!this.disabled) {\n this.sendUpdate();\n }\n },\n updated: function updated() {\n if (this.disabled) {\n this.clear();\n } else {\n this.sendUpdate();\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterSource(this.name);\n this.clear();\n },\n watch: {\n to: function to(newValue, oldValue) {\n oldValue && oldValue !== newValue && this.clear(oldValue);\n this.sendUpdate();\n }\n },\n methods: {\n clear: function clear(target) {\n var closer = {\n from: this.name,\n to: target || this.to\n };\n wormhole.close(closer);\n },\n normalizeSlots: function normalizeSlots() {\n return this.$scopedSlots.default ? [this.$scopedSlots.default] : this.$slots.default;\n },\n normalizeOwnChildren: function normalizeOwnChildren(children) {\n return typeof children === 'function' ? children(this.slotProps) : children;\n },\n sendUpdate: function sendUpdate() {\n var slotContent = this.normalizeSlots();\n\n if (slotContent) {\n var transport = {\n from: this.name,\n to: this.to,\n passengers: _toConsumableArray(slotContent),\n order: this.order\n };\n wormhole.open(transport);\n } else {\n this.clear();\n }\n }\n },\n render: function render(h) {\n var children = this.$slots.default || this.$scopedSlots.default || [];\n var Tag = this.tag;\n\n if (children && this.disabled) {\n return children.length <= 1 && this.slim ? this.normalizeOwnChildren(children)[0] : h(Tag, [this.normalizeOwnChildren(children)]);\n } else {\n return this.slim ? h() : h(Tag, {\n class: {\n 'v-portal': true\n },\n style: {\n display: 'none'\n },\n key: 'v-portal-placeholder'\n });\n }\n }\n});\n\nvar PortalTarget = Vue.extend({\n name: 'portalTarget',\n props: {\n multiple: {\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n required: true\n },\n slim: {\n type: Boolean,\n default: false\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n data: function data() {\n return {\n transports: wormhole.transports,\n firstRender: true\n };\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerTarget(_this.name, _this);\n });\n },\n watch: {\n ownTransports: function ownTransports() {\n this.$emit('change', this.children().length > 0);\n },\n name: function name(newVal, oldVal) {\n /**\r\n * TODO\r\n * This should warn as well ...\r\n */\n wormhole.unregisterTarget(oldVal);\n wormhole.registerTarget(newVal, this);\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.transition) {\n this.$nextTick(function () {\n // only when we have a transition, because it causes a re-render\n _this2.firstRender = false;\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterTarget(this.name);\n },\n computed: {\n ownTransports: function ownTransports() {\n var transports = this.transports[this.name] || [];\n\n if (this.multiple) {\n return transports;\n }\n\n return transports.length === 0 ? [] : [transports[transports.length - 1]];\n },\n passengers: function passengers() {\n return combinePassengers(this.ownTransports, this.slotProps);\n }\n },\n methods: {\n // can't be a computed prop because it has to \"react\" to $slot changes.\n children: function children() {\n return this.passengers.length !== 0 ? this.passengers : this.$scopedSlots.default ? this.$scopedSlots.default(this.slotProps) : this.$slots.default || [];\n },\n // can't be a computed prop because it has to \"react\" to this.children().\n noWrapper: function noWrapper() {\n var noWrapper = this.slim && !this.transition;\n\n if (noWrapper && this.children().length > 1) {\n console.warn('[portal-vue]: PortalTarget with `slim` option received more than one child element.');\n }\n\n return noWrapper;\n }\n },\n render: function render(h) {\n var noWrapper = this.noWrapper();\n var children = this.children();\n var Tag = this.transition || this.tag;\n return noWrapper ? children[0] : this.slim && !Tag ? h() : h(Tag, {\n props: {\n // if we have a transition component, pass the tag if it exists\n tag: this.transition && this.tag ? this.tag : undefined\n },\n class: {\n 'vue-portal-target': true\n }\n }, children);\n }\n});\n\nvar _id$1 = 0;\nvar portalProps = ['disabled', 'name', 'order', 'slim', 'slotProps', 'tag', 'to'];\nvar targetProps = ['multiple', 'transition'];\nvar MountingPortal = Vue.extend({\n name: 'MountingPortal',\n inheritAttrs: false,\n props: {\n append: {\n type: [Boolean, String]\n },\n bail: {\n type: Boolean\n },\n mountTo: {\n type: String,\n required: true\n },\n // Portal\n disabled: {\n type: Boolean\n },\n // name for the portal\n name: {\n type: String,\n default: function _default() {\n return 'mounted_' + String(_id$1++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n // name for the target\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n },\n // Target\n multiple: {\n type: Boolean,\n default: false\n },\n targetSlim: {\n type: Boolean\n },\n targetSlotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n targetTag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n created: function created() {\n if (typeof document === 'undefined') return;\n var el = document.querySelector(this.mountTo);\n\n if (!el) {\n console.error(\"[portal-vue]: Mount Point '\".concat(this.mountTo, \"' not found in document\"));\n return;\n }\n\n var props = this.$props; // Target already exists\n\n if (wormhole.targets[props.name]) {\n if (props.bail) {\n console.warn(\"[portal-vue]: Target \".concat(props.name, \" is already mounted.\\n Aborting because 'bail: true' is set\"));\n } else {\n this.portalTarget = wormhole.targets[props.name];\n }\n\n return;\n }\n\n var append = props.append;\n\n if (append) {\n var type = typeof append === 'string' ? append : 'DIV';\n var mountEl = document.createElement(type);\n el.appendChild(mountEl);\n el = mountEl;\n } // get props for target from $props\n // we have to rename a few of them\n\n\n var _props = pick(this.$props, targetProps);\n\n _props.slim = this.targetSlim;\n _props.tag = this.targetTag;\n _props.slotProps = this.targetSlotProps;\n _props.name = this.to;\n this.portalTarget = new PortalTarget({\n el: el,\n parent: this.$parent || this,\n propsData: _props\n });\n },\n beforeDestroy: function beforeDestroy() {\n var target = this.portalTarget;\n\n if (this.append) {\n var el = target.$el;\n el.parentNode.removeChild(el);\n }\n\n target.$destroy();\n },\n render: function render(h) {\n if (!this.portalTarget) {\n console.warn(\"[portal-vue] Target wasn't mounted\");\n return h();\n } // if there's no \"manual\" scoped slot, so we create a <Portal> ourselves\n\n\n if (!this.$scopedSlots.manual) {\n var props = pick(this.$props, portalProps);\n return h(Portal, {\n props: props,\n attrs: this.$attrs,\n on: this.$listeners,\n scopedSlots: this.$scopedSlots\n }, this.$slots.default);\n } // else, we render the scoped slot\n\n\n var content = this.$scopedSlots.manual({\n to: this.to\n }); // if user used <template> for the scoped slot\n // content will be an array\n\n if (Array.isArray(content)) {\n content = content[0];\n }\n\n if (!content) return h();\n return content;\n }\n});\n\nfunction install(Vue$$1) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n Vue$$1.component(options.portalName || 'Portal', Portal);\n Vue$$1.component(options.portalTargetName || 'PortalTarget', PortalTarget);\n Vue$$1.component(options.MountingPortalName || 'MountingPortal', MountingPortal);\n}\n\nvar index = {\n install: install\n};\n\nexports.default = index;\nexports.Portal = Portal;\nexports.PortalTarget = PortalTarget;\nexports.MountingPortal = MountingPortal;\nexports.Wormhole = wormhole;\n//# sourceMappingURL=portal-vue.common.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcG9ydGFsLXZ1ZS9kaXN0L3BvcnRhbC12dWUuY29tbW9uLmpzPzRkN2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLDhDQUE4QyxjQUFjOztBQUU1RCwrQkFBK0IsaUZBQWlGOztBQUVoSCwwQkFBMEIsbUJBQU8sQ0FBQyxFQUFLOztBQUV2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpREFBaUQsZ0JBQWdCOztBQUVqRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRyxJQUFJO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0Qjs7QUFFNUI7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7O0FBR0w7QUFDQTtBQUNBLEtBQUssRUFBRTtBQUNQOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjIxNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuIC8qISBcbiAgKiBwb3J0YWwtdnVlIMKpIFRob3JzdGVuIEzDvG5ib3JnLCAyMDE5IFxuICAqIFxuICAqIFZlcnNpb246IDIuMS42XG4gICogXG4gICogTElDRU5DRTogTUlUIFxuICAqIFxuICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9saW51c2JvcmcvcG9ydGFsLXZ1ZVxuICAqIFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcblxuZnVuY3Rpb24gX2ludGVyb3BEZWZhdWx0IChleCkgeyByZXR1cm4gKGV4ICYmICh0eXBlb2YgZXggPT09ICdvYmplY3QnKSAmJiAnZGVmYXVsdCcgaW4gZXgpID8gZXhbJ2RlZmF1bHQnXSA6IGV4OyB9XG5cbnZhciBWdWUgPSBfaW50ZXJvcERlZmF1bHQocmVxdWlyZSgndnVlJykpO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHtcbiAgICBfdHlwZW9mID0gZnVuY3Rpb24gKG9iaikge1xuICAgICAgcmV0dXJuIHR5cGVvZiBvYmo7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBfdHlwZW9mID0gZnVuY3Rpb24gKG9iaikge1xuICAgICAgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBfdHlwZW9mKG9iaik7XG59XG5cbmZ1bmN0aW9uIF90b0NvbnN1bWFibGVBcnJheShhcnIpIHtcbiAgcmV0dXJuIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBfbm9uSXRlcmFibGVTcHJlYWQoKTtcbn1cblxuZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkoYXJyLmxlbmd0aCk7IGkgPCBhcnIubGVuZ3RoOyBpKyspIGFycjJbaV0gPSBhcnJbaV07XG5cbiAgICByZXR1cm4gYXJyMjtcbiAgfVxufVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5KGl0ZXIpIHtcbiAgaWYgKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcikgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGl0ZXIpID09PSBcIltvYmplY3QgQXJndW1lbnRzXVwiKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2VcIik7XG59XG5cbnZhciBpbkJyb3dzZXIgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJztcbmZ1bmN0aW9uIGZyZWV6ZShpdGVtKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pIHx8IF90eXBlb2YoaXRlbSkgPT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcmVlemUoaXRlbSk7XG4gIH1cblxuICByZXR1cm4gaXRlbTtcbn1cbmZ1bmN0aW9uIGNvbWJpbmVQYXNzZW5nZXJzKHRyYW5zcG9ydHMpIHtcbiAgdmFyIHNsb3RQcm9wcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gIHJldHVybiB0cmFuc3BvcnRzLnJlZHVjZShmdW5jdGlvbiAocGFzc2VuZ2VycywgdHJhbnNwb3J0KSB7XG4gICAgdmFyIHRlbXAgPSB0cmFuc3BvcnQucGFzc2VuZ2Vyc1swXTtcbiAgICB2YXIgbmV3UGFzc2VuZ2VycyA9IHR5cGVvZiB0ZW1wID09PSAnZnVuY3Rpb24nID8gdGVtcChzbG90UHJvcHMpIDogdHJhbnNwb3J0LnBhc3NlbmdlcnM7XG4gICAgcmV0dXJuIHBhc3NlbmdlcnMuY29uY2F0KG5ld1Bhc3NlbmdlcnMpO1xuICB9LCBbXSk7XG59XG5mdW5jdGlvbiBzdGFibGVTb3J0KGFycmF5LCBjb21wYXJlRm4pIHtcbiAgcmV0dXJuIGFycmF5Lm1hcChmdW5jdGlvbiAodiwgaWR4KSB7XG4gICAgcmV0dXJuIFtpZHgsIHZdO1xuICB9KS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIGNvbXBhcmVGbihhWzFdLCBiWzFdKSB8fCBhWzBdIC0gYlswXTtcbiAgfSkubWFwKGZ1bmN0aW9uIChjKSB7XG4gICAgcmV0dXJuIGNbMV07XG4gIH0pO1xufVxuZnVuY3Rpb24gcGljayhvYmosIGtleXMpIHtcbiAgcmV0dXJuIGtleXMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGtleSkge1xuICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgYWNjW2tleV0gPSBvYmpba2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG59XG5cbnZhciB0cmFuc3BvcnRzID0ge307XG52YXIgdGFyZ2V0cyA9IHt9O1xudmFyIHNvdXJjZXMgPSB7fTtcbnZhciBXb3JtaG9sZSA9IFZ1ZS5leHRlbmQoe1xuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0cmFuc3BvcnRzOiB0cmFuc3BvcnRzLFxuICAgICAgdGFyZ2V0czogdGFyZ2V0cyxcbiAgICAgIHNvdXJjZXM6IHNvdXJjZXMsXG4gICAgICB0cmFja0luc3RhbmNlczogaW5Ccm93c2VyXG4gICAgfTtcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIG9wZW46IGZ1bmN0aW9uIG9wZW4odHJhbnNwb3J0KSB7XG4gICAgICBpZiAoIWluQnJvd3NlcikgcmV0dXJuO1xuICAgICAgdmFyIHRvID0gdHJhbnNwb3J0LnRvLFxuICAgICAgICAgIGZyb20gPSB0cmFuc3BvcnQuZnJvbSxcbiAgICAgICAgICBwYXNzZW5nZXJzID0gdHJhbnNwb3J0LnBhc3NlbmdlcnMsXG4gICAgICAgICAgX3RyYW5zcG9ydCRvcmRlciA9IHRyYW5zcG9ydC5vcmRlcixcbiAgICAgICAgICBvcmRlciA9IF90cmFuc3BvcnQkb3JkZXIgPT09IHZvaWQgMCA/IEluZmluaXR5IDogX3RyYW5zcG9ydCRvcmRlcjtcbiAgICAgIGlmICghdG8gfHwgIWZyb20gfHwgIXBhc3NlbmdlcnMpIHJldHVybjtcbiAgICAgIHZhciBuZXdUcmFuc3BvcnQgPSB7XG4gICAgICAgIHRvOiB0byxcbiAgICAgICAgZnJvbTogZnJvbSxcbiAgICAgICAgcGFzc2VuZ2VyczogZnJlZXplKHBhc3NlbmdlcnMpLFxuICAgICAgICBvcmRlcjogb3JkZXJcbiAgICAgIH07XG4gICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHRoaXMudHJhbnNwb3J0cyk7XG5cbiAgICAgIGlmIChrZXlzLmluZGV4T2YodG8pID09PSAtMSkge1xuICAgICAgICBWdWUuc2V0KHRoaXMudHJhbnNwb3J0cywgdG8sIFtdKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGN1cnJlbnRJbmRleCA9IHRoaXMuJF9nZXRUcmFuc3BvcnRJbmRleChuZXdUcmFuc3BvcnQpOyAvLyBDb3B5aW5nIHRoZSBhcnJheSBoZXJlIHNvIHRoYXQgdGhlIFBvcnRhbFRhcmdldCBjaGFuZ2UgZXZlbnQgd2lsbCBhY3R1YWxseSBjb250YWluIHR3byBkaXN0aW5jdCBhcnJheXNcblxuICAgICAgdmFyIG5ld1RyYW5zcG9ydHMgPSB0aGlzLnRyYW5zcG9ydHNbdG9dLnNsaWNlKDApO1xuXG4gICAgICBpZiAoY3VycmVudEluZGV4ID09PSAtMSkge1xuICAgICAgICBuZXdUcmFuc3BvcnRzLnB1c2gobmV3VHJhbnNwb3J0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1RyYW5zcG9ydHNbY3VycmVudEluZGV4XSA9IG5ld1RyYW5zcG9ydDtcbiAgICAgIH1cblxuICAgICAgdGhpcy50cmFuc3BvcnRzW3RvXSA9IHN0YWJsZVNvcnQobmV3VHJhbnNwb3J0cywgZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgcmV0dXJuIGEub3JkZXIgLSBiLm9yZGVyO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBjbG9zZTogZnVuY3Rpb24gY2xvc2UodHJhbnNwb3J0KSB7XG4gICAgICB2YXIgZm9yY2UgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlO1xuICAgICAgdmFyIHRvID0gdHJhbnNwb3J0LnRvLFxuICAgICAgICAgIGZyb20gPSB0cmFuc3BvcnQuZnJvbTtcbiAgICAgIGlmICghdG8gfHwgIWZyb20gJiYgZm9yY2UgPT09IGZhbHNlKSByZXR1cm47XG5cbiAgICAgIGlmICghdGhpcy50cmFuc3BvcnRzW3RvXSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChmb3JjZSkge1xuICAgICAgICB0aGlzLnRyYW5zcG9ydHNbdG9dID0gW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgaW5kZXggPSB0aGlzLiRfZ2V0VHJhbnNwb3J0SW5kZXgodHJhbnNwb3J0KTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIC8vIENvcHlpbmcgdGhlIGFycmF5IGhlcmUgc28gdGhhdCB0aGUgUG9ydGFsVGFyZ2V0IGNoYW5nZSBldmVudCB3aWxsIGFjdHVhbGx5IGNvbnRhaW4gdHdvIGRpc3RpbmN0IGFycmF5c1xuICAgICAgICAgIHZhciBuZXdUcmFuc3BvcnRzID0gdGhpcy50cmFuc3BvcnRzW3RvXS5zbGljZSgwKTtcbiAgICAgICAgICBuZXdUcmFuc3BvcnRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgdGhpcy50cmFuc3BvcnRzW3RvXSA9IG5ld1RyYW5zcG9ydHM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHJlZ2lzdGVyVGFyZ2V0OiBmdW5jdGlvbiByZWdpc3RlclRhcmdldCh0YXJnZXQsIHZtLCBmb3JjZSkge1xuICAgICAgaWYgKCFpbkJyb3dzZXIpIHJldHVybjtcblxuICAgICAgaWYgKHRoaXMudHJhY2tJbnN0YW5jZXMgJiYgIWZvcmNlICYmIHRoaXMudGFyZ2V0c1t0YXJnZXRdKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIltwb3J0YWwtdnVlXTogVGFyZ2V0IFwiLmNvbmNhdCh0YXJnZXQsIFwiIGFscmVhZHkgZXhpc3RzXCIpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4kc2V0KHRoaXMudGFyZ2V0cywgdGFyZ2V0LCBPYmplY3QuZnJlZXplKFt2bV0pKTtcbiAgICB9LFxuICAgIHVucmVnaXN0ZXJUYXJnZXQ6IGZ1bmN0aW9uIHVucmVnaXN0ZXJUYXJnZXQodGFyZ2V0KSB7XG4gICAgICB0aGlzLiRkZWxldGUodGhpcy50YXJnZXRzLCB0YXJnZXQpO1xuICAgIH0sXG4gICAgcmVnaXN0ZXJTb3VyY2U6IGZ1bmN0aW9uIHJlZ2lzdGVyU291cmNlKHNvdXJjZSwgdm0sIGZvcmNlKSB7XG4gICAgICBpZiAoIWluQnJvd3NlcikgcmV0dXJuO1xuXG4gICAgICBpZiAodGhpcy50cmFja0luc3RhbmNlcyAmJiAhZm9yY2UgJiYgdGhpcy5zb3VyY2VzW3NvdXJjZV0pIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiW3BvcnRhbC12dWVdOiBzb3VyY2UgXCIuY29uY2F0KHNvdXJjZSwgXCIgYWxyZWFkeSBleGlzdHNcIikpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiRzZXQodGhpcy5zb3VyY2VzLCBzb3VyY2UsIE9iamVjdC5mcmVlemUoW3ZtXSkpO1xuICAgIH0sXG4gICAgdW5yZWdpc3RlclNvdXJjZTogZnVuY3Rpb24gdW5yZWdpc3RlclNvdXJjZShzb3VyY2UpIHtcbiAgICAgIHRoaXMuJGRlbGV0ZSh0aGlzLnNvdXJjZXMsIHNvdXJjZSk7XG4gICAgfSxcbiAgICBoYXNUYXJnZXQ6IGZ1bmN0aW9uIGhhc1RhcmdldCh0bykge1xuICAgICAgcmV0dXJuICEhKHRoaXMudGFyZ2V0c1t0b10gJiYgdGhpcy50YXJnZXRzW3RvXVswXSk7XG4gICAgfSxcbiAgICBoYXNTb3VyY2U6IGZ1bmN0aW9uIGhhc1NvdXJjZSh0bykge1xuICAgICAgcmV0dXJuICEhKHRoaXMuc291cmNlc1t0b10gJiYgdGhpcy5zb3VyY2VzW3RvXVswXSk7XG4gICAgfSxcbiAgICBoYXNDb250ZW50Rm9yOiBmdW5jdGlvbiBoYXNDb250ZW50Rm9yKHRvKSB7XG4gICAgICByZXR1cm4gISF0aGlzLnRyYW5zcG9ydHNbdG9dICYmICEhdGhpcy50cmFuc3BvcnRzW3RvXS5sZW5ndGg7XG4gICAgfSxcbiAgICAvLyBJbnRlcm5hbFxuICAgICRfZ2V0VHJhbnNwb3J0SW5kZXg6IGZ1bmN0aW9uICRfZ2V0VHJhbnNwb3J0SW5kZXgoX3JlZikge1xuICAgICAgdmFyIHRvID0gX3JlZi50byxcbiAgICAgICAgICBmcm9tID0gX3JlZi5mcm9tO1xuXG4gICAgICBmb3IgKHZhciBpIGluIHRoaXMudHJhbnNwb3J0c1t0b10pIHtcbiAgICAgICAgaWYgKHRoaXMudHJhbnNwb3J0c1t0b11baV0uZnJvbSA9PT0gZnJvbSkge1xuICAgICAgICAgIHJldHVybiAraTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG59KTtcbnZhciB3b3JtaG9sZSA9IG5ldyBXb3JtaG9sZSh0cmFuc3BvcnRzKTtcblxudmFyIF9pZCA9IDE7XG52YXIgUG9ydGFsID0gVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdwb3J0YWwnLFxuICBwcm9wczoge1xuICAgIGRpc2FibGVkOiB7XG4gICAgICB0eXBlOiBCb29sZWFuXG4gICAgfSxcbiAgICBuYW1lOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhfaWQrKyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBvcmRlcjoge1xuICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgZGVmYXVsdDogMFxuICAgIH0sXG4gICAgc2xpbToge1xuICAgICAgdHlwZTogQm9vbGVhblxuICAgIH0sXG4gICAgc2xvdFByb3BzOiB7XG4gICAgICB0eXBlOiBPYmplY3QsXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgIH0sXG4gICAgdGFnOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnRElWJ1xuICAgIH0sXG4gICAgdG86IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwKSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICB3b3JtaG9sZS5yZWdpc3RlclNvdXJjZShfdGhpcy5uYW1lLCBfdGhpcyk7XG4gICAgfSk7XG4gIH0sXG4gIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbmRVcGRhdGUoKTtcbiAgICB9XG4gIH0sXG4gIHVwZGF0ZWQ6IGZ1bmN0aW9uIHVwZGF0ZWQoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZW5kVXBkYXRlKCk7XG4gICAgfVxuICB9LFxuICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgIHdvcm1ob2xlLnVucmVnaXN0ZXJTb3VyY2UodGhpcy5uYW1lKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgdG86IGZ1bmN0aW9uIHRvKG5ld1ZhbHVlLCBvbGRWYWx1ZSkge1xuICAgICAgb2xkVmFsdWUgJiYgb2xkVmFsdWUgIT09IG5ld1ZhbHVlICYmIHRoaXMuY2xlYXIob2xkVmFsdWUpO1xuICAgICAgdGhpcy5zZW5kVXBkYXRlKCk7XG4gICAgfVxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgY2xlYXI6IGZ1bmN0aW9uIGNsZWFyKHRhcmdldCkge1xuICAgICAgdmFyIGNsb3NlciA9IHtcbiAgICAgICAgZnJvbTogdGhpcy5uYW1lLFxuICAgICAgICB0bzogdGFyZ2V0IHx8IHRoaXMudG9cbiAgICAgIH07XG4gICAgICB3b3JtaG9sZS5jbG9zZShjbG9zZXIpO1xuICAgIH0sXG4gICAgbm9ybWFsaXplU2xvdHM6IGZ1bmN0aW9uIG5vcm1hbGl6ZVNsb3RzKCkge1xuICAgICAgcmV0dXJuIHRoaXMuJHNjb3BlZFNsb3RzLmRlZmF1bHQgPyBbdGhpcy4kc2NvcGVkU2xvdHMuZGVmYXVsdF0gOiB0aGlzLiRzbG90cy5kZWZhdWx0O1xuICAgIH0sXG4gICAgbm9ybWFsaXplT3duQ2hpbGRyZW46IGZ1bmN0aW9uIG5vcm1hbGl6ZU93bkNoaWxkcmVuKGNoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nID8gY2hpbGRyZW4odGhpcy5zbG90UHJvcHMpIDogY2hpbGRyZW47XG4gICAgfSxcbiAgICBzZW5kVXBkYXRlOiBmdW5jdGlvbiBzZW5kVXBkYXRlKCkge1xuICAgICAgdmFyIHNsb3RDb250ZW50ID0gdGhpcy5ub3JtYWxpemVTbG90cygpO1xuXG4gICAgICBpZiAoc2xvdENvbnRlbnQpIHtcbiAgICAgICAgdmFyIHRyYW5zcG9ydCA9IHtcbiAgICAgICAgICBmcm9tOiB0aGlzLm5hbWUsXG4gICAgICAgICAgdG86IHRoaXMudG8sXG4gICAgICAgICAgcGFzc2VuZ2VyczogX3RvQ29uc3VtYWJsZUFycmF5KHNsb3RDb250ZW50KSxcbiAgICAgICAgICBvcmRlcjogdGhpcy5vcmRlclxuICAgICAgICB9O1xuICAgICAgICB3b3JtaG9sZS5vcGVuKHRyYW5zcG9ydCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgdmFyIGNoaWxkcmVuID0gdGhpcy4kc2xvdHMuZGVmYXVsdCB8fCB0aGlzLiRzY29wZWRTbG90cy5kZWZhdWx0IHx8IFtdO1xuICAgIHZhciBUYWcgPSB0aGlzLnRhZztcblxuICAgIGlmIChjaGlsZHJlbiAmJiB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gY2hpbGRyZW4ubGVuZ3RoIDw9IDEgJiYgdGhpcy5zbGltID8gdGhpcy5ub3JtYWxpemVPd25DaGlsZHJlbihjaGlsZHJlbilbMF0gOiBoKFRhZywgW3RoaXMubm9ybWFsaXplT3duQ2hpbGRyZW4oY2hpbGRyZW4pXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnNsaW0gPyBoKCkgOiBoKFRhZywge1xuICAgICAgICBjbGFzczoge1xuICAgICAgICAgICd2LXBvcnRhbCc6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiAnbm9uZSdcbiAgICAgICAgfSxcbiAgICAgICAga2V5OiAndi1wb3J0YWwtcGxhY2Vob2xkZXInXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn0pO1xuXG52YXIgUG9ydGFsVGFyZ2V0ID0gVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdwb3J0YWxUYXJnZXQnLFxuICBwcm9wczoge1xuICAgIG11bHRpcGxlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIG5hbWU6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgfSxcbiAgICBzbGltOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHNsb3RQcm9wczoge1xuICAgICAgdHlwZTogT2JqZWN0LFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhZzoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ2RpdidcbiAgICB9LFxuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIHR5cGU6IFtTdHJpbmcsIE9iamVjdCwgRnVuY3Rpb25dXG4gICAgfVxuICB9LFxuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0cmFuc3BvcnRzOiB3b3JtaG9sZS50cmFuc3BvcnRzLFxuICAgICAgZmlyc3RSZW5kZXI6IHRydWVcbiAgICB9O1xuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICB3b3JtaG9sZS5yZWdpc3RlclRhcmdldChfdGhpcy5uYW1lLCBfdGhpcyk7XG4gICAgfSk7XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgb3duVHJhbnNwb3J0czogZnVuY3Rpb24gb3duVHJhbnNwb3J0cygpIHtcbiAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHRoaXMuY2hpbGRyZW4oKS5sZW5ndGggPiAwKTtcbiAgICB9LFxuICAgIG5hbWU6IGZ1bmN0aW9uIG5hbWUobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIC8qKlxyXG4gICAgICAgKiBUT0RPXHJcbiAgICAgICAqIFRoaXMgc2hvdWxkIHdhcm4gYXMgd2VsbCAuLi5cclxuICAgICAgICovXG4gICAgICB3b3JtaG9sZS51bnJlZ2lzdGVyVGFyZ2V0KG9sZFZhbCk7XG4gICAgICB3b3JtaG9sZS5yZWdpc3RlclRhcmdldChuZXdWYWwsIHRoaXMpO1xuICAgIH1cbiAgfSxcbiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIGlmICh0aGlzLnRyYW5zaXRpb24pIHtcbiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gb25seSB3aGVuIHdlIGhhdmUgYSB0cmFuc2l0aW9uLCBiZWNhdXNlIGl0IGNhdXNlcyBhIHJlLXJlbmRlclxuICAgICAgICBfdGhpczIuZmlyc3RSZW5kZXIgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSxcbiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICB3b3JtaG9sZS51bnJlZ2lzdGVyVGFyZ2V0KHRoaXMubmFtZSk7XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgb3duVHJhbnNwb3J0czogZnVuY3Rpb24gb3duVHJhbnNwb3J0cygpIHtcbiAgICAgIHZhciB0cmFuc3BvcnRzID0gdGhpcy50cmFuc3BvcnRzW3RoaXMubmFtZV0gfHwgW107XG5cbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIHJldHVybiB0cmFuc3BvcnRzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJhbnNwb3J0cy5sZW5ndGggPT09IDAgPyBbXSA6IFt0cmFuc3BvcnRzW3RyYW5zcG9ydHMubGVuZ3RoIC0gMV1dO1xuICAgIH0sXG4gICAgcGFzc2VuZ2VyczogZnVuY3Rpb24gcGFzc2VuZ2VycygpIHtcbiAgICAgIHJldHVybiBjb21iaW5lUGFzc2VuZ2Vycyh0aGlzLm93blRyYW5zcG9ydHMsIHRoaXMuc2xvdFByb3BzKTtcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICAvLyBjYW4ndCBiZSBhIGNvbXB1dGVkIHByb3AgYmVjYXVzZSBpdCBoYXMgdG8gXCJyZWFjdFwiIHRvICRzbG90IGNoYW5nZXMuXG4gICAgY2hpbGRyZW46IGZ1bmN0aW9uIGNoaWxkcmVuKCkge1xuICAgICAgcmV0dXJuIHRoaXMucGFzc2VuZ2Vycy5sZW5ndGggIT09IDAgPyB0aGlzLnBhc3NlbmdlcnMgOiB0aGlzLiRzY29wZWRTbG90cy5kZWZhdWx0ID8gdGhpcy4kc2NvcGVkU2xvdHMuZGVmYXVsdCh0aGlzLnNsb3RQcm9wcykgOiB0aGlzLiRzbG90cy5kZWZhdWx0IHx8IFtdO1xuICAgIH0sXG4gICAgLy8gY2FuJ3QgYmUgYSBjb21wdXRlZCBwcm9wIGJlY2F1c2UgaXQgaGFzIHRvIFwicmVhY3RcIiB0byB0aGlzLmNoaWxkcmVuKCkuXG4gICAgbm9XcmFwcGVyOiBmdW5jdGlvbiBub1dyYXBwZXIoKSB7XG4gICAgICB2YXIgbm9XcmFwcGVyID0gdGhpcy5zbGltICYmICF0aGlzLnRyYW5zaXRpb247XG5cbiAgICAgIGlmIChub1dyYXBwZXIgJiYgdGhpcy5jaGlsZHJlbigpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbcG9ydGFsLXZ1ZV06IFBvcnRhbFRhcmdldCB3aXRoIGBzbGltYCBvcHRpb24gcmVjZWl2ZWQgbW9yZSB0aGFuIG9uZSBjaGlsZCBlbGVtZW50LicpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9XcmFwcGVyO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBub1dyYXBwZXIgPSB0aGlzLm5vV3JhcHBlcigpO1xuICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4oKTtcbiAgICB2YXIgVGFnID0gdGhpcy50cmFuc2l0aW9uIHx8IHRoaXMudGFnO1xuICAgIHJldHVybiBub1dyYXBwZXIgPyBjaGlsZHJlblswXSA6IHRoaXMuc2xpbSAmJiAhVGFnID8gaCgpIDogaChUYWcsIHtcbiAgICAgIHByb3BzOiB7XG4gICAgICAgIC8vIGlmIHdlIGhhdmUgYSB0cmFuc2l0aW9uIGNvbXBvbmVudCwgcGFzcyB0aGUgdGFnIGlmIGl0IGV4aXN0c1xuICAgICAgICB0YWc6IHRoaXMudHJhbnNpdGlvbiAmJiB0aGlzLnRhZyA/IHRoaXMudGFnIDogdW5kZWZpbmVkXG4gICAgICB9LFxuICAgICAgY2xhc3M6IHtcbiAgICAgICAgJ3Z1ZS1wb3J0YWwtdGFyZ2V0JzogdHJ1ZVxuICAgICAgfVxuICAgIH0sIGNoaWxkcmVuKTtcbiAgfVxufSk7XG5cbnZhciBfaWQkMSA9IDA7XG52YXIgcG9ydGFsUHJvcHMgPSBbJ2Rpc2FibGVkJywgJ25hbWUnLCAnb3JkZXInLCAnc2xpbScsICdzbG90UHJvcHMnLCAndGFnJywgJ3RvJ107XG52YXIgdGFyZ2V0UHJvcHMgPSBbJ211bHRpcGxlJywgJ3RyYW5zaXRpb24nXTtcbnZhciBNb3VudGluZ1BvcnRhbCA9IFZ1ZS5leHRlbmQoe1xuICBuYW1lOiAnTW91bnRpbmdQb3J0YWwnLFxuICBpbmhlcml0QXR0cnM6IGZhbHNlLFxuICBwcm9wczoge1xuICAgIGFwcGVuZDoge1xuICAgICAgdHlwZTogW0Jvb2xlYW4sIFN0cmluZ11cbiAgICB9LFxuICAgIGJhaWw6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW5cbiAgICB9LFxuICAgIG1vdW50VG86IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgfSxcbiAgICAvLyBQb3J0YWxcbiAgICBkaXNhYmxlZDoge1xuICAgICAgdHlwZTogQm9vbGVhblxuICAgIH0sXG4gICAgLy8gbmFtZSBmb3IgdGhlIHBvcnRhbFxuICAgIG5hbWU6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gJ21vdW50ZWRfJyArIFN0cmluZyhfaWQkMSsrKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9yZGVyOiB7XG4gICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICBkZWZhdWx0OiAwXG4gICAgfSxcbiAgICBzbGltOiB7XG4gICAgICB0eXBlOiBCb29sZWFuXG4gICAgfSxcbiAgICBzbG90UHJvcHM6IHtcbiAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgfSxcbiAgICB0YWc6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICdESVYnXG4gICAgfSxcbiAgICAvLyBuYW1lIGZvciB0aGUgdGFyZ2V0XG4gICAgdG86IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwKSk7XG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBUYXJnZXRcbiAgICBtdWx0aXBsZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICB0YXJnZXRTbGltOiB7XG4gICAgICB0eXBlOiBCb29sZWFuXG4gICAgfSxcbiAgICB0YXJnZXRTbG90UHJvcHM6IHtcbiAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgfSxcbiAgICB0YXJnZXRUYWc6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICdkaXYnXG4gICAgfSxcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBPYmplY3QsIEZ1bmN0aW9uXVxuICAgIH1cbiAgfSxcbiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIHZhciBlbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5tb3VudFRvKTtcblxuICAgIGlmICghZWwpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJbcG9ydGFsLXZ1ZV06IE1vdW50IFBvaW50ICdcIi5jb25jYXQodGhpcy5tb3VudFRvLCBcIicgbm90IGZvdW5kIGluIGRvY3VtZW50XCIpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgcHJvcHMgPSB0aGlzLiRwcm9wczsgLy8gVGFyZ2V0IGFscmVhZHkgZXhpc3RzXG5cbiAgICBpZiAod29ybWhvbGUudGFyZ2V0c1twcm9wcy5uYW1lXSkge1xuICAgICAgaWYgKHByb3BzLmJhaWwpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiW3BvcnRhbC12dWVdOiBUYXJnZXQgXCIuY29uY2F0KHByb3BzLm5hbWUsIFwiIGlzIGFscmVhZHkgbW91bnRlZC5cXG4gICAgICAgIEFib3J0aW5nIGJlY2F1c2UgJ2JhaWw6IHRydWUnIGlzIHNldFwiKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBvcnRhbFRhcmdldCA9IHdvcm1ob2xlLnRhcmdldHNbcHJvcHMubmFtZV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgYXBwZW5kID0gcHJvcHMuYXBwZW5kO1xuXG4gICAgaWYgKGFwcGVuZCkge1xuICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgYXBwZW5kID09PSAnc3RyaW5nJyA/IGFwcGVuZCA6ICdESVYnO1xuICAgICAgdmFyIG1vdW50RWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpO1xuICAgICAgZWwuYXBwZW5kQ2hpbGQobW91bnRFbCk7XG4gICAgICBlbCA9IG1vdW50RWw7XG4gICAgfSAvLyBnZXQgcHJvcHMgZm9yIHRhcmdldCBmcm9tICRwcm9wc1xuICAgIC8vIHdlIGhhdmUgdG8gcmVuYW1lIGEgZmV3IG9mIHRoZW1cblxuXG4gICAgdmFyIF9wcm9wcyA9IHBpY2sodGhpcy4kcHJvcHMsIHRhcmdldFByb3BzKTtcblxuICAgIF9wcm9wcy5zbGltID0gdGhpcy50YXJnZXRTbGltO1xuICAgIF9wcm9wcy50YWcgPSB0aGlzLnRhcmdldFRhZztcbiAgICBfcHJvcHMuc2xvdFByb3BzID0gdGhpcy50YXJnZXRTbG90UHJvcHM7XG4gICAgX3Byb3BzLm5hbWUgPSB0aGlzLnRvO1xuICAgIHRoaXMucG9ydGFsVGFyZ2V0ID0gbmV3IFBvcnRhbFRhcmdldCh7XG4gICAgICBlbDogZWwsXG4gICAgICBwYXJlbnQ6IHRoaXMuJHBhcmVudCB8fCB0aGlzLFxuICAgICAgcHJvcHNEYXRhOiBfcHJvcHNcbiAgICB9KTtcbiAgfSxcbiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICB2YXIgdGFyZ2V0ID0gdGhpcy5wb3J0YWxUYXJnZXQ7XG5cbiAgICBpZiAodGhpcy5hcHBlbmQpIHtcbiAgICAgIHZhciBlbCA9IHRhcmdldC4kZWw7XG4gICAgICBlbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsKTtcbiAgICB9XG5cbiAgICB0YXJnZXQuJGRlc3Ryb3koKTtcbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIGlmICghdGhpcy5wb3J0YWxUYXJnZXQpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIltwb3J0YWwtdnVlXSBUYXJnZXQgd2Fzbid0IG1vdW50ZWRcIik7XG4gICAgICByZXR1cm4gaCgpO1xuICAgIH0gLy8gaWYgdGhlcmUncyBubyBcIm1hbnVhbFwiIHNjb3BlZCBzbG90LCBzbyB3ZSBjcmVhdGUgYSA8UG9ydGFsPiBvdXJzZWx2ZXNcblxuXG4gICAgaWYgKCF0aGlzLiRzY29wZWRTbG90cy5tYW51YWwpIHtcbiAgICAgIHZhciBwcm9wcyA9IHBpY2sodGhpcy4kcHJvcHMsIHBvcnRhbFByb3BzKTtcbiAgICAgIHJldHVybiBoKFBvcnRhbCwge1xuICAgICAgICBwcm9wczogcHJvcHMsXG4gICAgICAgIGF0dHJzOiB0aGlzLiRhdHRycyxcbiAgICAgICAgb246IHRoaXMuJGxpc3RlbmVycyxcbiAgICAgICAgc2NvcGVkU2xvdHM6IHRoaXMuJHNjb3BlZFNsb3RzXG4gICAgICB9LCB0aGlzLiRzbG90cy5kZWZhdWx0KTtcbiAgICB9IC8vIGVsc2UsIHdlIHJlbmRlciB0aGUgc2NvcGVkIHNsb3RcblxuXG4gICAgdmFyIGNvbnRlbnQgPSB0aGlzLiRzY29wZWRTbG90cy5tYW51YWwoe1xuICAgICAgdG86IHRoaXMudG9cbiAgICB9KTsgLy8gaWYgdXNlciB1c2VkIDx0ZW1wbGF0ZT4gZm9yIHRoZSBzY29wZWQgc2xvdFxuICAgIC8vIGNvbnRlbnQgd2lsbCBiZSBhbiBhcnJheVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29udGVudCkpIHtcbiAgICAgIGNvbnRlbnQgPSBjb250ZW50WzBdO1xuICAgIH1cblxuICAgIGlmICghY29udGVudCkgcmV0dXJuIGgoKTtcbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIGluc3RhbGwoVnVlJCQxKSB7XG4gIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgVnVlJCQxLmNvbXBvbmVudChvcHRpb25zLnBvcnRhbE5hbWUgfHwgJ1BvcnRhbCcsIFBvcnRhbCk7XG4gIFZ1ZSQkMS5jb21wb25lbnQob3B0aW9ucy5wb3J0YWxUYXJnZXROYW1lIHx8ICdQb3J0YWxUYXJnZXQnLCBQb3J0YWxUYXJnZXQpO1xuICBWdWUkJDEuY29tcG9uZW50KG9wdGlvbnMuTW91bnRpbmdQb3J0YWxOYW1lIHx8ICdNb3VudGluZ1BvcnRhbCcsIE1vdW50aW5nUG9ydGFsKTtcbn1cblxudmFyIGluZGV4ID0ge1xuICBpbnN0YWxsOiBpbnN0YWxsXG59O1xuXG5leHBvcnRzLmRlZmF1bHQgPSBpbmRleDtcbmV4cG9ydHMuUG9ydGFsID0gUG9ydGFsO1xuZXhwb3J0cy5Qb3J0YWxUYXJnZXQgPSBQb3J0YWxUYXJnZXQ7XG5leHBvcnRzLk1vdW50aW5nUG9ydGFsID0gTW91bnRpbmdQb3J0YWw7XG5leHBvcnRzLldvcm1ob2xlID0gd29ybWhvbGU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wb3J0YWwtdnVlLmNvbW1vbi5qcy5tYXBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3BvcnRhbC12dWUvZGlzdC9wb3J0YWwtdnVlLmNvbW1vbi5qc1xuLy8gbW9kdWxlIGlkID0gMjE2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///216\n"); + +/***/ }), +/* 217 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TooltipPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tooltip__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__directives_tooltip__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport BTooltip */\n\n\n\nvar TooltipPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_2__utils_plugins__[\"b\" /* pluginFactory */])({\n components: {\n BTooltip: __WEBPACK_IMPORTED_MODULE_0__tooltip__[\"a\" /* BTooltip */]\n },\n plugins: {\n VBTooltipPlugin: __WEBPACK_IMPORTED_MODULE_1__directives_tooltip__[\"a\" /* VBTooltipPlugin */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b29sdGlwL2luZGV4LmpzPzE5NTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFxQztBQUNzQjtBQUNQO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsY0FBYywwREFBUTtBQUN0QixHQUFHO0FBQ0g7QUFDQSxxQkFBcUIsNEVBQWU7QUFDcEM7QUFDQSxDQUFDIiwiZmlsZSI6IjIxNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJUb29sdGlwIH0gZnJvbSAnLi90b29sdGlwJztcbmltcG9ydCB7IFZCVG9vbHRpcFBsdWdpbiB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdG9vbHRpcCc7XG5pbXBvcnQgeyBwbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGx1Z2lucyc7XG52YXIgVG9vbHRpcFBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgY29tcG9uZW50czoge1xuICAgIEJUb29sdGlwOiBCVG9vbHRpcFxuICB9LFxuICBwbHVnaW5zOiB7XG4gICAgVkJUb29sdGlwUGx1Z2luOiBWQlRvb2x0aXBQbHVnaW5cbiAgfVxufSk7XG5leHBvcnQgeyBUb29sdGlwUGx1Z2luLCBCVG9vbHRpcCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdG9vbHRpcC9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMjE3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///217\n"); + +/***/ }), +/* 218 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBTooltip; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_get_scope_id__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_tooltip_helpers_bv_tooltip__ = __webpack_require__(82);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\n\n // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var NAME = 'BTooltip'; // Default config\n\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n disabled: false,\n delay: Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'delay'),\n boundary: String(Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'boundary')),\n boundaryPadding: parseInt(Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'boundaryPadding'), 10) || 0,\n variant: Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'variant'),\n customClass: Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])(NAME, 'customClass')\n }; // Process `bindings.value`\n\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"m\" /* isString */])(bindings.value) || Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"h\" /* isNumber */])(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"f\" /* isFunction */])(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"j\" /* isPlainObject */])(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread({}, config, {}, bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"n\" /* isUndefined */])(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"o\" /* isUndefinedOrNull */])(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"j\" /* isPlainObject */])(config.delay)) {\n config.delay = {\n show: parseInt(config.delay, 10) || 0,\n hide: parseInt(config.delay, 10) || 0\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = parseInt(mod.slice(1), 10) || 0;\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = parseInt(mod.slice(2), 10) || 0;\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = parseInt(mod.slice(2), 10) || 0;\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = parseInt(mod.slice(1), 10) || 0;\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"b\" /* concat */])(config.trigger || '').filter(Boolean).join(' ').trim().toLowerCase().split(/\\s+/).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!__WEBPACK_IMPORTED_MODULE_4__utils_env__[\"j\" /* isBrowser */]) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new __WEBPACK_IMPORTED_MODULE_7__components_tooltip_helpers_bv_tooltip__[\"a\" /* BVTooltip */]({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: Object(__WEBPACK_IMPORTED_MODULE_0__utils_get_scope_id__[\"a\" /* default */])($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on('show', function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"f\" /* isFunction */])(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title()\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__[\"a\" /* default */])(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n Object(__WEBPACK_IMPORTED_MODULE_6__utils_object__[\"j\" /* keys */])(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && Object(__WEBPACK_IMPORTED_MODULE_5__utils_inspect__[\"f\" /* isFunction */])(data[prop]) ? data[prop]() : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nvar VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAuanM/MjY2NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTlKO0FBQ0E7QUFDTjtBQUNhO0FBQ1o7QUFDd0U7QUFDMUU7QUFDOEI7O0FBRXhFLGtDQUFrQzs7QUFFbEMsbUNBQW1DOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7O0FBRXhCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxpRkFBa0I7QUFDN0IscUJBQXFCLGlGQUFrQjtBQUN2Qyw4QkFBOEIsaUZBQWtCO0FBQ2hELGFBQWEsaUZBQWtCO0FBQy9CLGlCQUFpQixpRkFBa0I7QUFDbkMsSUFBSTs7QUFFSixNQUFNLHdFQUFRLG9CQUFvQix3RUFBUTtBQUMxQztBQUNBO0FBQ0EsR0FBRyxVQUFVLDBFQUFVO0FBQ3ZCO0FBQ0E7QUFDQSxHQUFHLFVBQVUsNkVBQWE7QUFDMUI7QUFDQSw2QkFBNkIsWUFBWTtBQUN6QyxHQUFHOzs7QUFHSCxNQUFNLDJFQUFXO0FBQ2pCO0FBQ0E7QUFDQSxrQ0FBa0MsaUZBQWlCO0FBQ25ELEdBQUc7OztBQUdILE9BQU8sNkVBQWE7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdILEVBQUUsbUVBQUk7QUFDTjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7QUFDTDs7QUFFQSw0QkFBNEI7O0FBRTVCLEVBQUUsb0VBQU07QUFDUjtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7O0FBRUwsRUFBRSxtRUFBSTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxFQUFFOztBQUVMLG1CQUFtQixtRUFBSTs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQSxFQUFFOzs7QUFHRjtBQUNBLE9BQU8sNkRBQVM7QUFDaEI7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUIseUZBQVM7QUFDbEM7QUFDQTtBQUNBLGdCQUFnQiw0RUFBUztBQUN6QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsMEVBQVU7QUFDcEI7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTywyRUFBVTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksbUVBQUk7QUFDUjtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsMEVBQVU7QUFDdEQ7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOzs7QUFHSztBQUNQO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIyMTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgZ2V0U2NvcElkIGZyb20gJy4uLy4uL3V0aWxzL2dldC1zY29wZS1pZCc7XG5pbXBvcnQgbG9vc2VFcXVhbCBmcm9tICcuLi8uLi91dGlscy9sb29zZS1lcXVhbCc7XG5pbXBvcnQgeyBjb25jYXQgfSBmcm9tICcuLi8uLi91dGlscy9hcnJheSc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWcnO1xuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMvZW52JztcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzTnVtYmVyLCBpc1BsYWluT2JqZWN0LCBpc1N0cmluZywgaXNVbmRlZmluZWQsIGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgeyBrZXlzIH0gZnJvbSAnLi4vLi4vdXRpbHMvb2JqZWN0JztcbmltcG9ydCB7IEJWVG9vbHRpcCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdG9vbHRpcC9oZWxwZXJzL2J2LXRvb2x0aXAnOyAvLyBLZXkgd2hpY2ggd2UgdXNlIHRvIHN0b3JlIHRvb2x0aXAgb2JqZWN0IG9uIGVsZW1lbnRcblxudmFyIEJWX1RPT0xUSVAgPSAnX19CVl9Ub29sdGlwX18nOyAvLyBEZWZhdWx0IHRyaWdnZXJcblxudmFyIERlZmF1bHRUcmlnZ2VyID0gJ2hvdmVyIGZvY3VzJzsgLy8gVmFsaWQgZXZlbnQgdHJpZ2dlcnNcblxudmFyIHZhbGlkVHJpZ2dlcnMgPSB7XG4gIGZvY3VzOiB0cnVlLFxuICBob3ZlcjogdHJ1ZSxcbiAgY2xpY2s6IHRydWUsXG4gIGJsdXI6IHRydWUsXG4gIG1hbnVhbDogdHJ1ZVxufTsgLy8gRGlyZWN0aXZlIG1vZGlmaWVyIHRlc3QgcmVndWxhciBleHByZXNzaW9ucy4gUHJlLWNvbXBpbGUgZm9yIHBlcmZvcm1hbmNlXG5cbnZhciBodG1sUkUgPSAvXmh0bWwkL2k7XG52YXIgbm9GYWRlUkUgPSAvXm5vZmFkZSQvaTtcbnZhciBwbGFjZW1lbnRSRSA9IC9eKGF1dG98dG9wKGxlZnR8cmlnaHQpP3xib3R0b20obGVmdHxyaWdodCk/fGxlZnQodG9wfGJvdHRvbSk/fHJpZ2h0KHRvcHxib3R0b20pPykkL2k7XG52YXIgYm91bmRhcnlSRSA9IC9eKHdpbmRvd3x2aWV3cG9ydHxzY3JvbGxQYXJlbnQpJC9pO1xudmFyIGRlbGF5UkUgPSAvXmRcXGQrJC9pO1xudmFyIGRlbGF5U2hvd1JFID0gL15kc1xcZCskL2k7XG52YXIgZGVsYXlIaWRlUkUgPSAvXmRoXFxkKyQvaTtcbnZhciBvZmZzZXRSRSA9IC9eby0/XFxkKyQvaTtcbnZhciB2YXJpYW50UkUgPSAvXnYtLiskL2k7IC8vIEJ1aWxkIGEgVG9vbHRpcCBjb25maWcgYmFzZWQgb24gYmluZGluZ3MgKGlmIGFueSlcbi8vIEFyZ3VtZW50cyBhbmQgbW9kaWZpZXJzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHBhc3NlZCB2YWx1ZSBjb25maWcgb2JqZWN0XG5cbnZhciBwYXJzZUJpbmRpbmdzID0gZnVuY3Rpb24gcGFyc2VCaW5kaW5ncyhiaW5kaW5ncywgdm5vZGUpXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm90IGVhc3kgdG8gdGVzdCAqL1xue1xuICAvLyBXZSBzdGFydCBvdXQgd2l0aCBhIGJhc2ljIGNvbmZpZ1xuICB2YXIgTkFNRSA9ICdCVG9vbHRpcCc7IC8vIERlZmF1bHQgY29uZmlnXG5cbiAgdmFyIGNvbmZpZyA9IHtcbiAgICB0aXRsZTogdW5kZWZpbmVkLFxuICAgIHRyaWdnZXI6ICcnLFxuICAgIC8vIERlZmF1bHQgc2V0IGJlbG93IGlmIG5lZWRlZFxuICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgZmFsbGJhY2tQbGFjZW1lbnQ6ICdmbGlwJyxcbiAgICBjb250YWluZXI6IGZhbHNlLFxuICAgIC8vIERlZmF1bHQgb2YgYm9keVxuICAgIGFuaW1hdGlvbjogdHJ1ZSxcbiAgICBvZmZzZXQ6IDAsXG4gICAgaWQ6IG51bGwsXG4gICAgaHRtbDogZmFsc2UsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGRlbGF5OiBnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2RlbGF5JyksXG4gICAgYm91bmRhcnk6IFN0cmluZyhnZXRDb21wb25lbnRDb25maWcoTkFNRSwgJ2JvdW5kYXJ5JykpLFxuICAgIGJvdW5kYXJ5UGFkZGluZzogcGFyc2VJbnQoZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICdib3VuZGFyeVBhZGRpbmcnKSwgMTApIHx8IDAsXG4gICAgdmFyaWFudDogZ2V0Q29tcG9uZW50Q29uZmlnKE5BTUUsICd2YXJpYW50JyksXG4gICAgY3VzdG9tQ2xhc3M6IGdldENvbXBvbmVudENvbmZpZyhOQU1FLCAnY3VzdG9tQ2xhc3MnKVxuICB9OyAvLyBQcm9jZXNzIGBiaW5kaW5ncy52YWx1ZWBcblxuICBpZiAoaXNTdHJpbmcoYmluZGluZ3MudmFsdWUpIHx8IGlzTnVtYmVyKGJpbmRpbmdzLnZhbHVlKSkge1xuICAgIC8vIFZhbHVlIGlzIHRvb2x0aXAgY29udGVudCAoSFRNTCBvcHRpb25hbGx5IHN1cHBvcnRlZClcbiAgICBjb25maWcudGl0bGUgPSBiaW5kaW5ncy52YWx1ZTtcbiAgfSBlbHNlIGlmIChpc0Z1bmN0aW9uKGJpbmRpbmdzLnZhbHVlKSkge1xuICAgIC8vIFRpdGxlIGdlbmVyYXRvciBmdW5jdGlvblxuICAgIGNvbmZpZy50aXRsZSA9IGJpbmRpbmdzLnZhbHVlO1xuICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3QoYmluZGluZ3MudmFsdWUpKSB7XG4gICAgLy8gVmFsdWUgaXMgY29uZmlnIG9iamVjdCwgc28gbWVyZ2VcbiAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkKHt9LCBjb25maWcsIHt9LCBiaW5kaW5ncy52YWx1ZSk7XG4gIH0gLy8gSWYgdGl0bGUgaXMgbm90IHByb3ZpZGVkLCB0cnkgdGl0bGUgYXR0cmlidXRlXG5cblxuICBpZiAoaXNVbmRlZmluZWQoY29uZmlnLnRpdGxlKSkge1xuICAgIC8vIFRyeSBhdHRyaWJ1dGVcbiAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGEgfHwge307XG4gICAgY29uZmlnLnRpdGxlID0gZGF0YS5hdHRycyAmJiAhaXNVbmRlZmluZWRPck51bGwoZGF0YS5hdHRycy50aXRsZSkgPyBkYXRhLmF0dHJzLnRpdGxlIDogdW5kZWZpbmVkO1xuICB9IC8vIE5vcm1hbGl6ZSBkZWxheVxuXG5cbiAgaWYgKCFpc1BsYWluT2JqZWN0KGNvbmZpZy5kZWxheSkpIHtcbiAgICBjb25maWcuZGVsYXkgPSB7XG4gICAgICBzaG93OiBwYXJzZUludChjb25maWcuZGVsYXksIDEwKSB8fCAwLFxuICAgICAgaGlkZTogcGFyc2VJbnQoY29uZmlnLmRlbGF5LCAxMCkgfHwgMFxuICAgIH07XG4gIH0gLy8gSWYgYXJndW1lbnQsIGFzc3VtZSBlbGVtZW50IElEIG9mIGNvbnRhaW5lciBlbGVtZW50XG5cblxuICBpZiAoYmluZGluZ3MuYXJnKSB7XG4gICAgLy8gRWxlbWVudCBJRCBzcGVjaWZpZWQgYXMgYXJnXG4gICAgLy8gV2UgbXVzdCBwcmVwZW5kICcjJyB0byBiZWNvbWUgYSBDU1Mgc2VsZWN0b3JcbiAgICBjb25maWcuY29udGFpbmVyID0gXCIjXCIuY29uY2F0KGJpbmRpbmdzLmFyZyk7XG4gIH0gLy8gUHJvY2VzcyBtb2RpZmllcnNcblxuXG4gIGtleXMoYmluZGluZ3MubW9kaWZpZXJzKS5mb3JFYWNoKGZ1bmN0aW9uIChtb2QpIHtcbiAgICBpZiAoaHRtbFJFLnRlc3QobW9kKSkge1xuICAgICAgLy8gVGl0bGUgYWxsb3dzIEhUTUxcbiAgICAgIGNvbmZpZy5odG1sID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKG5vRmFkZVJFLnRlc3QobW9kKSkge1xuICAgICAgLy8gTm8gYW5pbWF0aW9uXG4gICAgICBjb25maWcuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChwbGFjZW1lbnRSRS50ZXN0KG1vZCkpIHtcbiAgICAgIC8vIFBsYWNlbWVudCBvZiB0b29sdGlwXG4gICAgICBjb25maWcucGxhY2VtZW50ID0gbW9kO1xuICAgIH0gZWxzZSBpZiAoYm91bmRhcnlSRS50ZXN0KG1vZCkpIHtcbiAgICAgIC8vIEJvdW5kYXJ5IG9mIHRvb2x0aXBcbiAgICAgIG1vZCA9IG1vZCA9PT0gJ3Njcm9sbHBhcmVudCcgPyAnc2Nyb2xsUGFyZW50JyA6IG1vZDtcbiAgICAgIGNvbmZpZy5ib3VuZGFyeSA9IG1vZDtcbiAgICB9IGVsc2UgaWYgKGRlbGF5UkUudGVzdChtb2QpKSB7XG4gICAgICAvLyBEZWxheSB2YWx1ZVxuICAgICAgdmFyIGRlbGF5ID0gcGFyc2VJbnQobW9kLnNsaWNlKDEpLCAxMCkgfHwgMDtcbiAgICAgIGNvbmZpZy5kZWxheS5zaG93ID0gZGVsYXk7XG4gICAgICBjb25maWcuZGVsYXkuaGlkZSA9IGRlbGF5O1xuICAgIH0gZWxzZSBpZiAoZGVsYXlTaG93UkUudGVzdChtb2QpKSB7XG4gICAgICAvLyBEZWxheSBzaG93IHZhbHVlXG4gICAgICBjb25maWcuZGVsYXkuc2hvdyA9IHBhcnNlSW50KG1vZC5zbGljZSgyKSwgMTApIHx8IDA7XG4gICAgfSBlbHNlIGlmIChkZWxheUhpZGVSRS50ZXN0KG1vZCkpIHtcbiAgICAgIC8vIERlbGF5IGhpZGUgdmFsdWVcbiAgICAgIGNvbmZpZy5kZWxheS5oaWRlID0gcGFyc2VJbnQobW9kLnNsaWNlKDIpLCAxMCkgfHwgMDtcbiAgICB9IGVsc2UgaWYgKG9mZnNldFJFLnRlc3QobW9kKSkge1xuICAgICAgLy8gT2Zmc2V0IHZhbHVlLCBuZWdhdGl2ZSBhbGxvd2VkXG4gICAgICBjb25maWcub2Zmc2V0ID0gcGFyc2VJbnQobW9kLnNsaWNlKDEpLCAxMCkgfHwgMDtcbiAgICB9IGVsc2UgaWYgKHZhcmlhbnRSRS50ZXN0KG1vZCkpIHtcbiAgICAgIC8vIFZhcmlhbnRcbiAgICAgIGNvbmZpZy52YXJpYW50ID0gbW9kLnNsaWNlKDIpIHx8IG51bGw7XG4gICAgfVxuICB9KTsgLy8gU3BlY2lhbCBoYW5kbGluZyBvZiBldmVudCB0cmlnZ2VyIG1vZGlmaWVycyB0cmlnZ2VyIGlzXG4gIC8vIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3RcblxuICB2YXIgc2VsZWN0ZWRUcmlnZ2VycyA9IHt9OyAvLyBQYXJzZSBjdXJyZW50IGNvbmZpZyBvYmplY3QgdHJpZ2dlclxuXG4gIGNvbmNhdChjb25maWcudHJpZ2dlciB8fCAnJykuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50cmltKCkudG9Mb3dlckNhc2UoKS5zcGxpdCgvXFxzKy8pLmZvckVhY2goZnVuY3Rpb24gKHRyaWdnZXIpIHtcbiAgICBpZiAodmFsaWRUcmlnZ2Vyc1t0cmlnZ2VyXSkge1xuICAgICAgc2VsZWN0ZWRUcmlnZ2Vyc1t0cmlnZ2VyXSA9IHRydWU7XG4gICAgfVxuICB9KTsgLy8gUGFyc2UgbW9kaWZpZXJzIGZvciB0cmlnZ2Vyc1xuXG4gIGtleXMoYmluZGluZ3MubW9kaWZpZXJzKS5mb3JFYWNoKGZ1bmN0aW9uIChtb2QpIHtcbiAgICBtb2QgPSBtb2QudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICh2YWxpZFRyaWdnZXJzW21vZF0pIHtcbiAgICAgIC8vIElmIG1vZGlmaWVyIGlzIGEgdmFsaWQgdHJpZ2dlclxuICAgICAgc2VsZWN0ZWRUcmlnZ2Vyc1ttb2RdID0gdHJ1ZTtcbiAgICB9XG4gIH0pOyAvLyBTYW5pdGl6ZSB0cmlnZ2Vyc1xuXG4gIGNvbmZpZy50cmlnZ2VyID0ga2V5cyhzZWxlY3RlZFRyaWdnZXJzKS5qb2luKCcgJyk7XG5cbiAgaWYgKGNvbmZpZy50cmlnZ2VyID09PSAnYmx1cicpIHtcbiAgICAvLyBCbHVyIGJ5IGl0c2VsZiBpcyB1c2VsZXNzLCBzbyBjb252ZXJ0IGl0IHRvICdmb2N1cydcbiAgICBjb25maWcudHJpZ2dlciA9ICdmb2N1cyc7XG4gIH1cblxuICBpZiAoIWNvbmZpZy50cmlnZ2VyKSB7XG4gICAgLy8gVXNlIGRlZmF1bHQgdHJpZ2dlclxuICAgIGNvbmZpZy50cmlnZ2VyID0gRGVmYXVsdFRyaWdnZXI7XG4gIH0gLy8gUmV0dXJuIHRoZSBjb25maWdcblxuXG4gIHJldHVybiBjb25maWc7XG59OyAvLyBBZGQvdXBkYXRlIFRvb2x0aXAgb24gb3VyIGVsZW1lbnRcblxuXG52YXIgYXBwbHlUb29sdGlwID0gZnVuY3Rpb24gYXBwbHlUb29sdGlwKGVsLCBiaW5kaW5ncywgdm5vZGUpIHtcbiAgaWYgKCFpc0Jyb3dzZXIpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBjb25maWcgPSBwYXJzZUJpbmRpbmdzKGJpbmRpbmdzLCB2bm9kZSk7XG5cbiAgaWYgKCFlbFtCVl9UT09MVElQXSkge1xuICAgIHZhciAkcGFyZW50ID0gdm5vZGUuY29udGV4dDtcbiAgICBlbFtCVl9UT09MVElQXSA9IG5ldyBCVlRvb2x0aXAoe1xuICAgICAgcGFyZW50OiAkcGFyZW50LFxuICAgICAgLy8gQWRkIHRoZSBwYXJlbnQncyBzY29wZWQgc3R5bGUgYXR0cmlidXRlIGRhdGFcbiAgICAgIF9zY29wZUlkOiBnZXRTY29wSWQoJHBhcmVudCwgdW5kZWZpbmVkKVxuICAgIH0pO1xuICAgIGVsW0JWX1RPT0xUSVBdLl9fYnZfcHJldl9kYXRhX18gPSB7fTtcbiAgICBlbFtCVl9UT09MVElQXS4kb24oJ3Nob3cnLCBmdW5jdGlvbiAoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBmb3Igbm93ICovXG4gICAge1xuICAgICAgLy8gQmVmb3JlIHNob3dpbmcgdGhlIHRvb2x0aXAsIHdlIHVwZGF0ZSB0aGUgdGl0bGUgaWYgaXQgaXMgYSBmdW5jdGlvblxuICAgICAgaWYgKGlzRnVuY3Rpb24oY29uZmlnLnRpdGxlKSkge1xuICAgICAgICBlbFtCVl9UT09MVElQXS51cGRhdGVEYXRhKHtcbiAgICAgICAgICB0aXRsZTogY29uZmlnLnRpdGxlKClcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHtcbiAgICB0aXRsZTogY29uZmlnLnRpdGxlLFxuICAgIHRyaWdnZXJzOiBjb25maWcudHJpZ2dlcixcbiAgICBwbGFjZW1lbnQ6IGNvbmZpZy5wbGFjZW1lbnQsXG4gICAgZmFsbGJhY2tQbGFjZW1lbnQ6IGNvbmZpZy5mYWxsYmFja1BsYWNlbWVudCxcbiAgICB2YXJpYW50OiBjb25maWcudmFyaWFudCxcbiAgICBjdXN0b21DbGFzczogY29uZmlnLmN1c3RvbUNsYXNzLFxuICAgIGNvbnRhaW5lcjogY29uZmlnLmNvbnRhaW5lcixcbiAgICBib3VuZGFyeTogY29uZmlnLmJvdW5kYXJ5LFxuICAgIGRlbGF5OiBjb25maWcuZGVsYXksXG4gICAgb2Zmc2V0OiBjb25maWcub2Zmc2V0LFxuICAgIG5vRmFkZTogIWNvbmZpZy5hbmltYXRpb24sXG4gICAgaWQ6IGNvbmZpZy5pZCxcbiAgICBkaXNhYmxlZDogY29uZmlnLmRpc2FibGVkLFxuICAgIGh0bWw6IGNvbmZpZy5odG1sXG4gIH07XG4gIHZhciBvbGREYXRhID0gZWxbQlZfVE9PTFRJUF0uX19idl9wcmV2X2RhdGFfXztcbiAgZWxbQlZfVE9PTFRJUF0uX19idl9wcmV2X2RhdGFfXyA9IGRhdGE7XG5cbiAgaWYgKCFsb29zZUVxdWFsKGRhdGEsIG9sZERhdGEpKSB7XG4gICAgLy8gV2Ugb25seSB1cGRhdGUgdGhlIGluc3RhbmNlIGlmIGRhdGEgaGFzIGNoYW5nZWRcbiAgICB2YXIgbmV3RGF0YSA9IHtcbiAgICAgIHRhcmdldDogZWxcbiAgICB9O1xuICAgIGtleXMoZGF0YSkuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgLy8gV2Ugb25seSBwYXNzIGRhdGEgcHJvcGVydGllcyB0aGF0IGhhdmUgY2hhbmdlZFxuICAgICAgaWYgKGRhdGFbcHJvcF0gIT09IG9sZERhdGFbcHJvcF0pIHtcbiAgICAgICAgLy8gaWYgdGl0bGUgaXMgYSBmdW5jdGlvbiwgd2UgZXhlY3V0ZSBpdCBoZXJlXG4gICAgICAgIG5ld0RhdGFbcHJvcF0gPSBwcm9wID09PSAndGl0bGUnICYmIGlzRnVuY3Rpb24oZGF0YVtwcm9wXSkgPyBkYXRhW3Byb3BdKCkgOiBkYXRhW3Byb3BdO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGVsW0JWX1RPT0xUSVBdLnVwZGF0ZURhdGEobmV3RGF0YSk7XG4gIH1cbn07IC8vIFJlbW92ZSBUb29sdGlwIG9uIG91ciBlbGVtZW50XG5cblxudmFyIHJlbW92ZVRvb2x0aXAgPSBmdW5jdGlvbiByZW1vdmVUb29sdGlwKGVsKSB7XG4gIGlmIChlbFtCVl9UT09MVElQXSkge1xuICAgIGVsW0JWX1RPT0xUSVBdLiRkZXN0cm95KCk7XG4gICAgZWxbQlZfVE9PTFRJUF0gPSBudWxsO1xuICB9XG5cbiAgZGVsZXRlIGVsW0JWX1RPT0xUSVBdO1xufTsgLy8gRXhwb3J0IG91ciBkaXJlY3RpdmVcblxuXG5leHBvcnQgdmFyIFZCVG9vbHRpcCA9IHtcbiAgYmluZDogZnVuY3Rpb24gYmluZChlbCwgYmluZGluZ3MsIHZub2RlKSB7XG4gICAgYXBwbHlUb29sdGlwKGVsLCBiaW5kaW5ncywgdm5vZGUpO1xuICB9LFxuICAvLyBXZSB1c2UgYGNvbXBvbmVudFVwZGF0ZWRgIGhlcmUgaW5zdGVhZCBvZiBgdXBkYXRlYCwgYXMgdGhlIGZvcm1lclxuICAvLyB3YWl0cyB1bnRpbCB0aGUgY29udGFpbmluZyBjb21wb25lbnQgYW5kIGNoaWxkcmVuIGhhdmUgZmluaXNoZWQgdXBkYXRpbmdcbiAgY29tcG9uZW50VXBkYXRlZDogZnVuY3Rpb24gY29tcG9uZW50VXBkYXRlZChlbCwgYmluZGluZ3MsIHZub2RlKSB7XG4gICAgLy8gUGVyZm9ybWVkIGluIGEgYCRuZXh0VGljaygpYCB0byBwcmV2ZW50IHJlbmRlciB1cGRhdGUgbG9vcHNcbiAgICB2bm9kZS5jb250ZXh0LiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICBhcHBseVRvb2x0aXAoZWwsIGJpbmRpbmdzLCB2bm9kZSk7XG4gICAgfSk7XG4gIH0sXG4gIHVuYmluZDogZnVuY3Rpb24gdW5iaW5kKGVsKSB7XG4gICAgcmVtb3ZlVG9vbHRpcChlbCk7XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAuanNcbi8vIG1vZHVsZSBpZCA9IDIxOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///218\n"); + +/***/ }), +/* 219 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBModalPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__modal__ = __webpack_require__(79);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport VBModal */\n\n\nvar VBModalPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n directives: {\n VBModal: __WEBPACK_IMPORTED_MODULE_0__modal__[\"a\" /* VBModal */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9tb2RhbC9pbmRleC5qcz84M2M3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtDO0FBQ2tCO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsYUFBYSx1REFBTztBQUNwQjtBQUNBLENBQUMiLCJmaWxlIjoiMjE5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkJNb2RhbCB9IGZyb20gJy4vbW9kYWwnO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIFZCTW9kYWxQbHVnaW4gPVxuLyojX19QVVJFX18qL1xucGx1Z2luRmFjdG9yeSh7XG4gIGRpcmVjdGl2ZXM6IHtcbiAgICBWQk1vZGFsOiBWQk1vZGFsXG4gIH1cbn0pO1xuZXhwb3J0IHsgVkJNb2RhbFBsdWdpbiwgVkJNb2RhbCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2RpcmVjdGl2ZXMvbW9kYWwvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDIxOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///219\n"); + +/***/ }), +/* 220 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBScrollspyPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__scrollspy__ = __webpack_require__(221);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport VBScrollspy */\n\n\nvar VBScrollspyPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n directives: {\n VBScrollspy: __WEBPACK_IMPORTED_MODULE_0__scrollspy__[\"a\" /* VBScrollspy */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9zY3JvbGxzcHkvaW5kZXguanM/N2U5MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUEwQztBQUNVO0FBQ3BEO0FBQ0E7QUFDQSw2RUFBYTtBQUNiO0FBQ0EsaUJBQWlCLCtEQUFXO0FBQzVCO0FBQ0EsQ0FBQyIsImZpbGUiOiIyMjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWQlNjcm9sbHNweSB9IGZyb20gJy4vc2Nyb2xsc3B5JztcbmltcG9ydCB7IHBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9wbHVnaW5zJztcbnZhciBWQlNjcm9sbHNweVBsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgZGlyZWN0aXZlczoge1xuICAgIFZCU2Nyb2xsc3B5OiBWQlNjcm9sbHNweVxuICB9XG59KTtcbmV4cG9ydCB7IFZCU2Nyb2xsc3B5UGx1Z2luLCBWQlNjcm9sbHNweSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2RpcmVjdGl2ZXMvc2Nyb2xsc3B5L2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAyMjBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///220\n"); + +/***/ }), +/* 221 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBScrollspy; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__scrollspy_class__ = __webpack_require__(274);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n\n\n\n // Key we use to store our instance\n\nvar BV_SCROLLSPY = '__BV_ScrollSpy__'; // Build a ScrollSpy config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\n/* istanbul ignore next: not easy to test */\n\nvar parseBindings = function parseBindings(bindings)\n/* istanbul ignore next: not easy to test */\n{\n var config = {}; // If argument, assume element ID\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.element = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_object__[\"j\" /* keys */])(bindings.modifiers).forEach(function (mod) {\n if (/^\\d+$/.test(mod)) {\n // Offset value\n config.offset = parseInt(mod, 10);\n } else if (/^(auto|position|offset)$/.test(mod)) {\n // Offset method\n config.method = mod;\n }\n }); // Process value\n\n if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"m\" /* isString */])(bindings.value)) {\n // Value is a CSS ID or selector\n config.element = bindings.value;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"h\" /* isNumber */])(bindings.value)) {\n // Value is offset\n config.offset = Math.round(bindings.value);\n } else if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"i\" /* isObject */])(bindings.value)) {\n // Value is config object\n // Filter the object based on our supported config options\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_object__[\"j\" /* keys */])(bindings.value).filter(function (k) {\n return Boolean(__WEBPACK_IMPORTED_MODULE_0__scrollspy_class__[\"a\" /* default */].DefaultType[k]);\n }).forEach(function (k) {\n config[k] = bindings.value[k];\n });\n }\n\n return config;\n}; // Add or update ScrollSpy on our element\n\n\nvar applyScrollspy = function applyScrollspy(el, bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n if (!__WEBPACK_IMPORTED_MODULE_1__utils_env__[\"j\" /* isBrowser */]) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings);\n\n if (el[BV_SCROLLSPY]) {\n el[BV_SCROLLSPY].updateConfig(config, vnode.context.$root);\n } else {\n el[BV_SCROLLSPY] = new __WEBPACK_IMPORTED_MODULE_0__scrollspy_class__[\"a\" /* default */](el, config, vnode.context.$root);\n }\n}; // Remove ScrollSpy on our element\n\n/* istanbul ignore next: not easy to test */\n\n\nvar removeScrollspy = function removeScrollspy(el)\n/* istanbul ignore next: not easy to test */\n{\n if (el[BV_SCROLLSPY]) {\n el[BV_SCROLLSPY].dispose();\n el[BV_SCROLLSPY] = null;\n delete el[BV_SCROLLSPY];\n }\n};\n/*\n * Export our directive\n */\n\n\nvar VBScrollspy = {\n bind: function bind(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n applyScrollspy(el, bindings, vnode);\n },\n inserted: function inserted(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n applyScrollspy(el, bindings, vnode);\n },\n update: function update(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n if (bindings.value !== bindings.oldValue) {\n applyScrollspy(el, bindings, vnode);\n }\n },\n componentUpdated: function componentUpdated(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n if (bindings.value !== bindings.oldValue) {\n applyScrollspy(el, bindings, vnode);\n }\n },\n unbind: function unbind(el)\n /* istanbul ignore next: not easy to test */\n {\n removeScrollspy(el);\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9zY3JvbGxzcHkvc2Nyb2xsc3B5LmpzP2Y4ODgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUEwQztBQUNFO0FBQ0Y7QUFDeUI7O0FBRW5FLHNDQUFzQztBQUN0Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0gsRUFBRSxtRUFBSTtBQUNOO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7O0FBRUwsTUFBTSx3RUFBUTtBQUNkO0FBQ0E7QUFDQSxHQUFHLFVBQVUsd0VBQVE7QUFDckI7QUFDQTtBQUNBLEdBQUcsVUFBVSx3RUFBUTtBQUNyQjtBQUNBO0FBQ0EsSUFBSSxtRUFBSTtBQUNSLHFCQUFxQixpRUFBUztBQUM5QixLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxPQUFPLDZEQUFTO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNILDJCQUEyQixpRUFBUztBQUNwQztBQUNBLEVBQUU7O0FBRUY7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIyMjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU2Nyb2xsU3B5IGZyb20gJy4vc2Nyb2xsc3B5LmNsYXNzJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJy4uLy4uL3V0aWxzL2Vudic7XG5pbXBvcnQgeyBrZXlzIH0gZnJvbSAnLi4vLi4vdXRpbHMvb2JqZWN0JztcbmltcG9ydCB7IGlzTnVtYmVyLCBpc09iamVjdCwgaXNTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscy9pbnNwZWN0JzsgLy8gS2V5IHdlIHVzZSB0byBzdG9yZSBvdXIgaW5zdGFuY2VcblxudmFyIEJWX1NDUk9MTFNQWSA9ICdfX0JWX1Njcm9sbFNweV9fJzsgLy8gQnVpbGQgYSBTY3JvbGxTcHkgY29uZmlnIGJhc2VkIG9uIGJpbmRpbmdzIChpZiBhbnkpXG4vLyBBcmd1bWVudHMgYW5kIG1vZGlmaWVycyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwYXNzZWQgdmFsdWUgY29uZmlnIG9iamVjdFxuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm90IGVhc3kgdG8gdGVzdCAqL1xuXG52YXIgcGFyc2VCaW5kaW5ncyA9IGZ1bmN0aW9uIHBhcnNlQmluZGluZ3MoYmluZGluZ3MpXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm90IGVhc3kgdG8gdGVzdCAqL1xue1xuICB2YXIgY29uZmlnID0ge307IC8vIElmIGFyZ3VtZW50LCBhc3N1bWUgZWxlbWVudCBJRFxuXG4gIGlmIChiaW5kaW5ncy5hcmcpIHtcbiAgICAvLyBFbGVtZW50IElEIHNwZWNpZmllZCBhcyBhcmdcbiAgICAvLyBXZSBtdXN0IHByZXBlbmQgJyMnIHRvIGJlY29tZSBhIENTUyBzZWxlY3RvclxuICAgIGNvbmZpZy5lbGVtZW50ID0gXCIjXCIuY29uY2F0KGJpbmRpbmdzLmFyZyk7XG4gIH0gLy8gUHJvY2VzcyBtb2RpZmllcnNcblxuXG4gIGtleXMoYmluZGluZ3MubW9kaWZpZXJzKS5mb3JFYWNoKGZ1bmN0aW9uIChtb2QpIHtcbiAgICBpZiAoL15cXGQrJC8udGVzdChtb2QpKSB7XG4gICAgICAvLyBPZmZzZXQgdmFsdWVcbiAgICAgIGNvbmZpZy5vZmZzZXQgPSBwYXJzZUludChtb2QsIDEwKTtcbiAgICB9IGVsc2UgaWYgKC9eKGF1dG98cG9zaXRpb258b2Zmc2V0KSQvLnRlc3QobW9kKSkge1xuICAgICAgLy8gT2Zmc2V0IG1ldGhvZFxuICAgICAgY29uZmlnLm1ldGhvZCA9IG1vZDtcbiAgICB9XG4gIH0pOyAvLyBQcm9jZXNzIHZhbHVlXG5cbiAgaWYgKGlzU3RyaW5nKGJpbmRpbmdzLnZhbHVlKSkge1xuICAgIC8vIFZhbHVlIGlzIGEgQ1NTIElEIG9yIHNlbGVjdG9yXG4gICAgY29uZmlnLmVsZW1lbnQgPSBiaW5kaW5ncy52YWx1ZTtcbiAgfSBlbHNlIGlmIChpc051bWJlcihiaW5kaW5ncy52YWx1ZSkpIHtcbiAgICAvLyBWYWx1ZSBpcyBvZmZzZXRcbiAgICBjb25maWcub2Zmc2V0ID0gTWF0aC5yb3VuZChiaW5kaW5ncy52YWx1ZSk7XG4gIH0gZWxzZSBpZiAoaXNPYmplY3QoYmluZGluZ3MudmFsdWUpKSB7XG4gICAgLy8gVmFsdWUgaXMgY29uZmlnIG9iamVjdFxuICAgIC8vIEZpbHRlciB0aGUgb2JqZWN0IGJhc2VkIG9uIG91ciBzdXBwb3J0ZWQgY29uZmlnIG9wdGlvbnNcbiAgICBrZXlzKGJpbmRpbmdzLnZhbHVlKS5maWx0ZXIoZnVuY3Rpb24gKGspIHtcbiAgICAgIHJldHVybiBCb29sZWFuKFNjcm9sbFNweS5EZWZhdWx0VHlwZVtrXSk7XG4gICAgfSkuZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgICAgY29uZmlnW2tdID0gYmluZGluZ3MudmFsdWVba107XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufTsgLy8gQWRkIG9yIHVwZGF0ZSBTY3JvbGxTcHkgb24gb3VyIGVsZW1lbnRcblxuXG52YXIgYXBwbHlTY3JvbGxzcHkgPSBmdW5jdGlvbiBhcHBseVNjcm9sbHNweShlbCwgYmluZGluZ3MsIHZub2RlKVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IG5vdCBlYXN5IHRvIHRlc3QgKi9cbntcbiAgaWYgKCFpc0Jyb3dzZXIpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBjb25maWcgPSBwYXJzZUJpbmRpbmdzKGJpbmRpbmdzKTtcblxuICBpZiAoZWxbQlZfU0NST0xMU1BZXSkge1xuICAgIGVsW0JWX1NDUk9MTFNQWV0udXBkYXRlQ29uZmlnKGNvbmZpZywgdm5vZGUuY29udGV4dC4kcm9vdCk7XG4gIH0gZWxzZSB7XG4gICAgZWxbQlZfU0NST0xMU1BZXSA9IG5ldyBTY3JvbGxTcHkoZWwsIGNvbmZpZywgdm5vZGUuY29udGV4dC4kcm9vdCk7XG4gIH1cbn07IC8vIFJlbW92ZSBTY3JvbGxTcHkgb24gb3VyIGVsZW1lbnRcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IG5vdCBlYXN5IHRvIHRlc3QgKi9cblxuXG52YXIgcmVtb3ZlU2Nyb2xsc3B5ID0gZnVuY3Rpb24gcmVtb3ZlU2Nyb2xsc3B5KGVsKVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IG5vdCBlYXN5IHRvIHRlc3QgKi9cbntcbiAgaWYgKGVsW0JWX1NDUk9MTFNQWV0pIHtcbiAgICBlbFtCVl9TQ1JPTExTUFldLmRpc3Bvc2UoKTtcbiAgICBlbFtCVl9TQ1JPTExTUFldID0gbnVsbDtcbiAgICBkZWxldGUgZWxbQlZfU0NST0xMU1BZXTtcbiAgfVxufTtcbi8qXG4gKiBFeHBvcnQgb3VyIGRpcmVjdGl2ZVxuICovXG5cblxuZXhwb3J0IHZhciBWQlNjcm9sbHNweSA9IHtcbiAgYmluZDogZnVuY3Rpb24gYmluZChlbCwgYmluZGluZ3MsIHZub2RlKVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm90IGVhc3kgdG8gdGVzdCAqL1xuICB7XG4gICAgYXBwbHlTY3JvbGxzcHkoZWwsIGJpbmRpbmdzLCB2bm9kZSk7XG4gIH0sXG4gIGluc2VydGVkOiBmdW5jdGlvbiBpbnNlcnRlZChlbCwgYmluZGluZ3MsIHZub2RlKVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm90IGVhc3kgdG8gdGVzdCAqL1xuICB7XG4gICAgYXBwbHlTY3JvbGxzcHkoZWwsIGJpbmRpbmdzLCB2bm9kZSk7XG4gIH0sXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlKGVsLCBiaW5kaW5ncywgdm5vZGUpXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBub3QgZWFzeSB0byB0ZXN0ICovXG4gIHtcbiAgICBpZiAoYmluZGluZ3MudmFsdWUgIT09IGJpbmRpbmdzLm9sZFZhbHVlKSB7XG4gICAgICBhcHBseVNjcm9sbHNweShlbCwgYmluZGluZ3MsIHZub2RlKTtcbiAgICB9XG4gIH0sXG4gIGNvbXBvbmVudFVwZGF0ZWQ6IGZ1bmN0aW9uIGNvbXBvbmVudFVwZGF0ZWQoZWwsIGJpbmRpbmdzLCB2bm9kZSlcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IG5vdCBlYXN5IHRvIHRlc3QgKi9cbiAge1xuICAgIGlmIChiaW5kaW5ncy52YWx1ZSAhPT0gYmluZGluZ3Mub2xkVmFsdWUpIHtcbiAgICAgIGFwcGx5U2Nyb2xsc3B5KGVsLCBiaW5kaW5ncywgdm5vZGUpO1xuICAgIH1cbiAgfSxcbiAgdW5iaW5kOiBmdW5jdGlvbiB1bmJpbmQoZWwpXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBub3QgZWFzeSB0byB0ZXN0ICovXG4gIHtcbiAgICByZW1vdmVTY3JvbGxzcHkoZWwpO1xuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2RpcmVjdGl2ZXMvc2Nyb2xsc3B5L3Njcm9sbHNweS5qc1xuLy8gbW9kdWxlIGlkID0gMjIxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///221\n"); + +/***/ }), +/* 222 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VBTogglePlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__toggle__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_plugins__ = __webpack_require__(3);\n/* unused harmony reexport VBToggle */\n\n\nvar VBTogglePlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_1__utils_plugins__[\"b\" /* pluginFactory */])({\n directives: {\n VBToggle: __WEBPACK_IMPORTED_MODULE_0__toggle__[\"a\" /* VBToggle */]\n }\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy90b2dnbGUvaW5kZXguanM/YTU4ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFvQztBQUNnQjtBQUNwRDtBQUNBO0FBQ0EsNkVBQWE7QUFDYjtBQUNBLGNBQWMseURBQVE7QUFDdEI7QUFDQSxDQUFDIiwiZmlsZSI6IjIyMi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZCVG9nZ2xlIH0gZnJvbSAnLi90b2dnbGUnO1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL3BsdWdpbnMnO1xudmFyIFZCVG9nZ2xlUGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3Rvcnkoe1xuICBkaXJlY3RpdmVzOiB7XG4gICAgVkJUb2dnbGU6IFZCVG9nZ2xlXG4gIH1cbn0pO1xuZXhwb3J0IHsgVkJUb2dnbGVQbHVnaW4sIFZCVG9nZ2xlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy90b2dnbGUvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDIyMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///222\n"); + +/***/ }), +/* 223 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__App_vue__ = __webpack_require__(226);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_bootstrap_vue__ = __webpack_require__(246);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_bootstrap_dist_css_bootstrap_css__ = __webpack_require__(276);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_bootstrap_dist_css_bootstrap_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_bootstrap_dist_css_bootstrap_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_bootstrap_vue_dist_bootstrap_vue_css__ = __webpack_require__(278);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_bootstrap_vue_dist_bootstrap_vue_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_bootstrap_vue_dist_bootstrap_vue_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vue_code_highlight_themes_prism_css__ = __webpack_require__(280);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vue_code_highlight_themes_prism_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_vue_code_highlight_themes_prism_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vue_code_highlight_themes_prism_coy_css__ = __webpack_require__(282);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vue_code_highlight_themes_prism_coy_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_vue_code_highlight_themes_prism_coy_css__);\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"default\"].use(__WEBPACK_IMPORTED_MODULE_2_bootstrap_vue__[\"a\" /* default */]);\n\n\n\n\n// import 'vue-code-highlight/themes/duotone-sea.css'\n\n\n// import 'vue-code-highlight/themes/prism-dark.css'\n// import 'vue-code-highlight/themes/prism-funky.css'\n// import 'vue-code-highlight/themes/prism-okaidia.css'\n// import 'vue-code-highlight/themes/prism-solarizedlight.css'\n// import 'vue-code-highlight/themes/prism-tomorrow.css'\n// import 'vue-code-highlight/themes/prism-twilight.css'\n// import 'vue-code-highlight/themes/window.css'\n\nnew __WEBPACK_IMPORTED_MODULE_0_vue__[\"default\"]({\n el: '#ocrd-kwalitee',\n render: function render(h) {\n return h(__WEBPACK_IMPORTED_MODULE_1__App_vue__[\"a\" /* default */]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi5qcz8zNDc5Il0sIm5hbWVzIjpbIlZ1ZSIsInVzZSIsIkJvb3RzdHJhcFZ1ZSIsImVsIiwicmVuZGVyIiwiaCIsIkFwcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0FBLDRDQUFHQSxDQUFDQyxHQUFKLENBQVFDLDhEQUFSOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSUYsNENBQUosQ0FBUTtBQUNORyxNQUFJLGdCQURFO0FBRU5DLFVBQVE7QUFBQSxXQUFLQyxFQUFFQyx5REFBRixDQUFMO0FBQUE7QUFGRixDQUFSIiwiZmlsZSI6IjIyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAndnVlJ1xuaW1wb3J0IEFwcCBmcm9tICcuL0FwcC52dWUnXG5pbXBvcnQgQm9vdHN0cmFwVnVlIGZyb20gJ2Jvb3RzdHJhcC12dWUnXG5WdWUudXNlKEJvb3RzdHJhcFZ1ZSlcblxuaW1wb3J0ICdib290c3RyYXAvZGlzdC9jc3MvYm9vdHN0cmFwLmNzcydcbmltcG9ydCAnYm9vdHN0cmFwLXZ1ZS9kaXN0L2Jvb3RzdHJhcC12dWUuY3NzJ1xuXG4vLyBpbXBvcnQgJ3Z1ZS1jb2RlLWhpZ2hsaWdodC90aGVtZXMvZHVvdG9uZS1zZWEuY3NzJ1xuaW1wb3J0ICd2dWUtY29kZS1oaWdobGlnaHQvdGhlbWVzL3ByaXNtLmNzcydcbmltcG9ydCAndnVlLWNvZGUtaGlnaGxpZ2h0L3RoZW1lcy9wcmlzbS1jb3kuY3NzJ1xuLy8gaW1wb3J0ICd2dWUtY29kZS1oaWdobGlnaHQvdGhlbWVzL3ByaXNtLWRhcmsuY3NzJ1xuLy8gaW1wb3J0ICd2dWUtY29kZS1oaWdobGlnaHQvdGhlbWVzL3ByaXNtLWZ1bmt5LmNzcydcbi8vIGltcG9ydCAndnVlLWNvZGUtaGlnaGxpZ2h0L3RoZW1lcy9wcmlzbS1va2FpZGlhLmNzcydcbi8vIGltcG9ydCAndnVlLWNvZGUtaGlnaGxpZ2h0L3RoZW1lcy9wcmlzbS1zb2xhcml6ZWRsaWdodC5jc3MnXG4vLyBpbXBvcnQgJ3Z1ZS1jb2RlLWhpZ2hsaWdodC90aGVtZXMvcHJpc20tdG9tb3Jyb3cuY3NzJ1xuLy8gaW1wb3J0ICd2dWUtY29kZS1oaWdobGlnaHQvdGhlbWVzL3ByaXNtLXR3aWxpZ2h0LmNzcydcbi8vIGltcG9ydCAndnVlLWNvZGUtaGlnaGxpZ2h0L3RoZW1lcy93aW5kb3cuY3NzJ1xuXG5uZXcgVnVlKHtcbiAgZWw6ICcjb2NyZC1rd2FsaXRlZScsXG4gIHJlbmRlcjogaCA9PiBoKEFwcClcbn0pXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvbWFpbi5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///223\n"); + +/***/ }), +/* 224 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(225);\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(25)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qcz9kN2FkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxtQkFBTyxDQUFDLEdBQWM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjIyNC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBzY29wZSA9ICh0eXBlb2YgZ2xvYmFsICE9PSBcInVuZGVmaW5lZFwiICYmIGdsb2JhbCkgfHxcbiAgICAgICAgICAgICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiBzZWxmKSB8fFxuICAgICAgICAgICAgd2luZG93O1xudmFyIGFwcGx5ID0gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5O1xuXG4vLyBET00gQVBJcywgZm9yIGNvbXBsZXRlbmVzc1xuXG5leHBvcnRzLnNldFRpbWVvdXQgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIG5ldyBUaW1lb3V0KGFwcGx5LmNhbGwoc2V0VGltZW91dCwgc2NvcGUsIGFyZ3VtZW50cyksIGNsZWFyVGltZW91dCk7XG59O1xuZXhwb3J0cy5zZXRJbnRlcnZhbCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRJbnRlcnZhbCwgc2NvcGUsIGFyZ3VtZW50cyksIGNsZWFySW50ZXJ2YWwpO1xufTtcbmV4cG9ydHMuY2xlYXJUaW1lb3V0ID1cbmV4cG9ydHMuY2xlYXJJbnRlcnZhbCA9IGZ1bmN0aW9uKHRpbWVvdXQpIHtcbiAgaWYgKHRpbWVvdXQpIHtcbiAgICB0aW1lb3V0LmNsb3NlKCk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIFRpbWVvdXQoaWQsIGNsZWFyRm4pIHtcbiAgdGhpcy5faWQgPSBpZDtcbiAgdGhpcy5fY2xlYXJGbiA9IGNsZWFyRm47XG59XG5UaW1lb3V0LnByb3RvdHlwZS51bnJlZiA9IFRpbWVvdXQucHJvdG90eXBlLnJlZiA9IGZ1bmN0aW9uKCkge307XG5UaW1lb3V0LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLl9jbGVhckZuLmNhbGwoc2NvcGUsIHRoaXMuX2lkKTtcbn07XG5cbi8vIERvZXMgbm90IHN0YXJ0IHRoZSB0aW1lLCBqdXN0IHNldHMgdXAgdGhlIG1lbWJlcnMgbmVlZGVkLlxuZXhwb3J0cy5lbnJvbGwgPSBmdW5jdGlvbihpdGVtLCBtc2Vjcykge1xuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XG4gIGl0ZW0uX2lkbGVUaW1lb3V0ID0gbXNlY3M7XG59O1xuXG5leHBvcnRzLnVuZW5yb2xsID0gZnVuY3Rpb24oaXRlbSkge1xuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XG4gIGl0ZW0uX2lkbGVUaW1lb3V0ID0gLTE7XG59O1xuXG5leHBvcnRzLl91bnJlZkFjdGl2ZSA9IGV4cG9ydHMuYWN0aXZlID0gZnVuY3Rpb24oaXRlbSkge1xuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XG5cbiAgdmFyIG1zZWNzID0gaXRlbS5faWRsZVRpbWVvdXQ7XG4gIGlmIChtc2VjcyA+PSAwKSB7XG4gICAgaXRlbS5faWRsZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gb25UaW1lb3V0KCkge1xuICAgICAgaWYgKGl0ZW0uX29uVGltZW91dClcbiAgICAgICAgaXRlbS5fb25UaW1lb3V0KCk7XG4gICAgfSwgbXNlY3MpO1xuICB9XG59O1xuXG4vLyBzZXRpbW1lZGlhdGUgYXR0YWNoZXMgaXRzZWxmIHRvIHRoZSBnbG9iYWwgb2JqZWN0XG5yZXF1aXJlKFwic2V0aW1tZWRpYXRlXCIpO1xuLy8gT24gc29tZSBleG90aWMgZW52aXJvbm1lbnRzLCBpdCdzIG5vdCBjbGVhciB3aGljaCBvYmplY3QgYHNldGltbWVkaWF0ZWAgd2FzXG4vLyBhYmxlIHRvIGluc3RhbGwgb250by4gIFNlYXJjaCBlYWNoIHBvc3NpYmlsaXR5IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZVxuLy8gYHNldGltbWVkaWF0ZWAgbGlicmFyeS5cbmV4cG9ydHMuc2V0SW1tZWRpYXRlID0gKHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiICYmIHNlbGYuc2V0SW1tZWRpYXRlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAodHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBnbG9iYWwuc2V0SW1tZWRpYXRlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAodGhpcyAmJiB0aGlzLnNldEltbWVkaWF0ZSk7XG5leHBvcnRzLmNsZWFySW1tZWRpYXRlID0gKHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiICYmIHNlbGYuY2xlYXJJbW1lZGlhdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgJiYgZ2xvYmFsLmNsZWFySW1tZWRpYXRlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzICYmIHRoaXMuY2xlYXJJbW1lZGlhdGUpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qc1xuLy8gbW9kdWxlIGlkID0gMjI0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///224\n"); + +/***/ }), +/* 225 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(25), __webpack_require__(51)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2V0aW1tZWRpYXRlL3NldEltbWVkaWF0ZS5qcz85YjJhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixpQkFBaUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBDQUEwQyxzQkFBc0IsRUFBRTtBQUNsRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIyMjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKGdsb2JhbCwgdW5kZWZpbmVkKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBpZiAoZ2xvYmFsLnNldEltbWVkaWF0ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5leHRIYW5kbGUgPSAxOyAvLyBTcGVjIHNheXMgZ3JlYXRlciB0aGFuIHplcm9cbiAgICB2YXIgdGFza3NCeUhhbmRsZSA9IHt9O1xuICAgIHZhciBjdXJyZW50bHlSdW5uaW5nQVRhc2sgPSBmYWxzZTtcbiAgICB2YXIgZG9jID0gZ2xvYmFsLmRvY3VtZW50O1xuICAgIHZhciByZWdpc3RlckltbWVkaWF0ZTtcblxuICAgIGZ1bmN0aW9uIHNldEltbWVkaWF0ZShjYWxsYmFjaykge1xuICAgICAgLy8gQ2FsbGJhY2sgY2FuIGVpdGhlciBiZSBhIGZ1bmN0aW9uIG9yIGEgc3RyaW5nXG4gICAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgY2FsbGJhY2sgPSBuZXcgRnVuY3Rpb24oXCJcIiArIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICAgIC8vIENvcHkgZnVuY3Rpb24gYXJndW1lbnRzXG4gICAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2kgKyAxXTtcbiAgICAgIH1cbiAgICAgIC8vIFN0b3JlIGFuZCByZWdpc3RlciB0aGUgdGFza1xuICAgICAgdmFyIHRhc2sgPSB7IGNhbGxiYWNrOiBjYWxsYmFjaywgYXJnczogYXJncyB9O1xuICAgICAgdGFza3NCeUhhbmRsZVtuZXh0SGFuZGxlXSA9IHRhc2s7XG4gICAgICByZWdpc3RlckltbWVkaWF0ZShuZXh0SGFuZGxlKTtcbiAgICAgIHJldHVybiBuZXh0SGFuZGxlKys7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2xlYXJJbW1lZGlhdGUoaGFuZGxlKSB7XG4gICAgICAgIGRlbGV0ZSB0YXNrc0J5SGFuZGxlW2hhbmRsZV07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcnVuKHRhc2spIHtcbiAgICAgICAgdmFyIGNhbGxiYWNrID0gdGFzay5jYWxsYmFjaztcbiAgICAgICAgdmFyIGFyZ3MgPSB0YXNrLmFyZ3M7XG4gICAgICAgIHN3aXRjaCAoYXJncy5sZW5ndGgpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzWzBdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkodW5kZWZpbmVkLCBhcmdzKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcnVuSWZQcmVzZW50KGhhbmRsZSkge1xuICAgICAgICAvLyBGcm9tIHRoZSBzcGVjOiBcIldhaXQgdW50aWwgYW55IGludm9jYXRpb25zIG9mIHRoaXMgYWxnb3JpdGhtIHN0YXJ0ZWQgYmVmb3JlIHRoaXMgb25lIGhhdmUgY29tcGxldGVkLlwiXG4gICAgICAgIC8vIFNvIGlmIHdlJ3JlIGN1cnJlbnRseSBydW5uaW5nIGEgdGFzaywgd2UnbGwgbmVlZCB0byBkZWxheSB0aGlzIGludm9jYXRpb24uXG4gICAgICAgIGlmIChjdXJyZW50bHlSdW5uaW5nQVRhc2spIHtcbiAgICAgICAgICAgIC8vIERlbGF5IGJ5IGRvaW5nIGEgc2V0VGltZW91dC4gc2V0SW1tZWRpYXRlIHdhcyB0cmllZCBpbnN0ZWFkLCBidXQgaW4gRmlyZWZveCA3IGl0IGdlbmVyYXRlZCBhXG4gICAgICAgICAgICAvLyBcInRvbyBtdWNoIHJlY3Vyc2lvblwiIGVycm9yLlxuICAgICAgICAgICAgc2V0VGltZW91dChydW5JZlByZXNlbnQsIDAsIGhhbmRsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgdGFzayA9IHRhc2tzQnlIYW5kbGVbaGFuZGxlXTtcbiAgICAgICAgICAgIGlmICh0YXNrKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudGx5UnVubmluZ0FUYXNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBydW4odGFzayk7XG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJJbW1lZGlhdGUoaGFuZGxlKTtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudGx5UnVubmluZ0FUYXNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5zdGFsbE5leHRUaWNrSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHsgcnVuSWZQcmVzZW50KGhhbmRsZSk7IH0pO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNhblVzZVBvc3RNZXNzYWdlKCkge1xuICAgICAgICAvLyBUaGUgdGVzdCBhZ2FpbnN0IGBpbXBvcnRTY3JpcHRzYCBwcmV2ZW50cyB0aGlzIGltcGxlbWVudGF0aW9uIGZyb20gYmVpbmcgaW5zdGFsbGVkIGluc2lkZSBhIHdlYiB3b3JrZXIsXG4gICAgICAgIC8vIHdoZXJlIGBnbG9iYWwucG9zdE1lc3NhZ2VgIG1lYW5zIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudCBhbmQgY2FuJ3QgYmUgdXNlZCBmb3IgdGhpcyBwdXJwb3NlLlxuICAgICAgICBpZiAoZ2xvYmFsLnBvc3RNZXNzYWdlICYmICFnbG9iYWwuaW1wb3J0U2NyaXB0cykge1xuICAgICAgICAgICAgdmFyIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXMgPSB0cnVlO1xuICAgICAgICAgICAgdmFyIG9sZE9uTWVzc2FnZSA9IGdsb2JhbC5vbm1lc3NhZ2U7XG4gICAgICAgICAgICBnbG9iYWwub25tZXNzYWdlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcG9zdE1lc3NhZ2VJc0FzeW5jaHJvbm91cyA9IGZhbHNlO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGdsb2JhbC5wb3N0TWVzc2FnZShcIlwiLCBcIipcIik7XG4gICAgICAgICAgICBnbG9iYWwub25tZXNzYWdlID0gb2xkT25NZXNzYWdlO1xuICAgICAgICAgICAgcmV0dXJuIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsUG9zdE1lc3NhZ2VJbXBsZW1lbnRhdGlvbigpIHtcbiAgICAgICAgLy8gSW5zdGFsbHMgYW4gZXZlbnQgaGFuZGxlciBvbiBgZ2xvYmFsYCBmb3IgdGhlIGBtZXNzYWdlYCBldmVudDogc2VlXG4gICAgICAgIC8vICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vRE9NL3dpbmRvdy5wb3N0TWVzc2FnZVxuICAgICAgICAvLyAqIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL2NvbW1zLmh0bWwjY3Jvc3NEb2N1bWVudE1lc3NhZ2VzXG5cbiAgICAgICAgdmFyIG1lc3NhZ2VQcmVmaXggPSBcInNldEltbWVkaWF0ZSRcIiArIE1hdGgucmFuZG9tKCkgKyBcIiRcIjtcbiAgICAgICAgdmFyIG9uR2xvYmFsTWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQuc291cmNlID09PSBnbG9iYWwgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgZXZlbnQuZGF0YSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgICAgIGV2ZW50LmRhdGEuaW5kZXhPZihtZXNzYWdlUHJlZml4KSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJ1bklmUHJlc2VudCgrZXZlbnQuZGF0YS5zbGljZShtZXNzYWdlUHJlZml4Lmxlbmd0aCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIG9uR2xvYmFsTWVzc2FnZSwgZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ2xvYmFsLmF0dGFjaEV2ZW50KFwib25tZXNzYWdlXCIsIG9uR2xvYmFsTWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgZ2xvYmFsLnBvc3RNZXNzYWdlKG1lc3NhZ2VQcmVmaXggKyBoYW5kbGUsIFwiKlwiKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsTWVzc2FnZUNoYW5uZWxJbXBsZW1lbnRhdGlvbigpIHtcbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgdmFyIGhhbmRsZSA9IGV2ZW50LmRhdGE7XG4gICAgICAgICAgICBydW5JZlByZXNlbnQoaGFuZGxlKTtcbiAgICAgICAgfTtcblxuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgY2hhbm5lbC5wb3J0Mi5wb3N0TWVzc2FnZShoYW5kbGUpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxSZWFkeVN0YXRlQ2hhbmdlSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHZhciBodG1sID0gZG9jLmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICAgICAgICAgIC8vIENyZWF0ZSBhIDxzY3JpcHQ+IGVsZW1lbnQ7IGl0cyByZWFkeXN0YXRlY2hhbmdlIGV2ZW50IHdpbGwgYmUgZmlyZWQgYXN5bmNocm9ub3VzbHkgb25jZSBpdCBpcyBpbnNlcnRlZFxuICAgICAgICAgICAgLy8gaW50byB0aGUgZG9jdW1lbnQuIERvIHNvLCB0aHVzIHF1ZXVpbmcgdXAgdGhlIHRhc2suIFJlbWVtYmVyIHRvIGNsZWFuIHVwIG9uY2UgaXQncyBiZWVuIGNhbGxlZC5cbiAgICAgICAgICAgIHZhciBzY3JpcHQgPSBkb2MuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgcnVuSWZQcmVzZW50KGhhbmRsZSk7XG4gICAgICAgICAgICAgICAgc2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgaHRtbC5yZW1vdmVDaGlsZChzY3JpcHQpO1xuICAgICAgICAgICAgICAgIHNjcmlwdCA9IG51bGw7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaHRtbC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxTZXRUaW1lb3V0SW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bklmUHJlc2VudCwgMCwgaGFuZGxlKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBJZiBzdXBwb3J0ZWQsIHdlIHNob3VsZCBhdHRhY2ggdG8gdGhlIHByb3RvdHlwZSBvZiBnbG9iYWwsIHNpbmNlIHRoYXQgaXMgd2hlcmUgc2V0VGltZW91dCBldCBhbC4gbGl2ZS5cbiAgICB2YXIgYXR0YWNoVG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKGdsb2JhbCk7XG4gICAgYXR0YWNoVG8gPSBhdHRhY2hUbyAmJiBhdHRhY2hUby5zZXRUaW1lb3V0ID8gYXR0YWNoVG8gOiBnbG9iYWw7XG5cbiAgICAvLyBEb24ndCBnZXQgZm9vbGVkIGJ5IGUuZy4gYnJvd3NlcmlmeSBlbnZpcm9ubWVudHMuXG4gICAgaWYgKHt9LnRvU3RyaW5nLmNhbGwoZ2xvYmFsLnByb2Nlc3MpID09PSBcIltvYmplY3QgcHJvY2Vzc11cIikge1xuICAgICAgICAvLyBGb3IgTm9kZS5qcyBiZWZvcmUgMC45XG4gICAgICAgIGluc3RhbGxOZXh0VGlja0ltcGxlbWVudGF0aW9uKCk7XG5cbiAgICB9IGVsc2UgaWYgKGNhblVzZVBvc3RNZXNzYWdlKCkpIHtcbiAgICAgICAgLy8gRm9yIG5vbi1JRTEwIG1vZGVybiBicm93c2Vyc1xuICAgICAgICBpbnN0YWxsUG9zdE1lc3NhZ2VJbXBsZW1lbnRhdGlvbigpO1xuXG4gICAgfSBlbHNlIGlmIChnbG9iYWwuTWVzc2FnZUNoYW5uZWwpIHtcbiAgICAgICAgLy8gRm9yIHdlYiB3b3JrZXJzLCB3aGVyZSBzdXBwb3J0ZWRcbiAgICAgICAgaW5zdGFsbE1lc3NhZ2VDaGFubmVsSW1wbGVtZW50YXRpb24oKTtcblxuICAgIH0gZWxzZSBpZiAoZG9jICYmIFwib25yZWFkeXN0YXRlY2hhbmdlXCIgaW4gZG9jLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIikpIHtcbiAgICAgICAgLy8gRm9yIElFIDbigJM4XG4gICAgICAgIGluc3RhbGxSZWFkeVN0YXRlQ2hhbmdlSW1wbGVtZW50YXRpb24oKTtcblxuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZvciBvbGRlciBicm93c2Vyc1xuICAgICAgICBpbnN0YWxsU2V0VGltZW91dEltcGxlbWVudGF0aW9uKCk7XG4gICAgfVxuXG4gICAgYXR0YWNoVG8uc2V0SW1tZWRpYXRlID0gc2V0SW1tZWRpYXRlO1xuICAgIGF0dGFjaFRvLmNsZWFySW1tZWRpYXRlID0gY2xlYXJJbW1lZGlhdGU7XG59KHR5cGVvZiBzZWxmID09PSBcInVuZGVmaW5lZFwiID8gdHlwZW9mIGdsb2JhbCA9PT0gXCJ1bmRlZmluZWRcIiA/IHRoaXMgOiBnbG9iYWwgOiBzZWxmKSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9zZXRpbW1lZGlhdGUvc2V0SW1tZWRpYXRlLmpzXG4vLyBtb2R1bGUgaWQgPSAyMjVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///225\n"); + +/***/ }), +/* 226 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__ = __webpack_require__(94);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_7ba5bd90_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__ = __webpack_require__(245);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(227)\n}\nvar normalizeComponent = __webpack_require__(29)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_7ba5bd90_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/App.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7ba5bd90\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7ba5bd90\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvQXBwLnZ1ZT9hOGU5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUF3UDtBQUNsUTtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLEVBQXNEO0FBQ3ZGO0FBQ29HO0FBQ2E7QUFDakg7QUFDOE87QUFDOU87QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwrSEFBYztBQUNoQixFQUFFLDROQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYywwRUFBaUIiLCJmaWxlIjoiMjI2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03YmE1YmQ5MFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vQXBwLnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL0FwcC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL0FwcC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTdiYTViZDkwXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vQXBwLnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvQXBwLnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi03YmE1YmQ5MFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTdiYTViZDkwXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL0FwcC52dWVcbi8vIG1vZHVsZSBpZCA9IDIyNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///226\n"); + +/***/ }), +/* 227 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(228);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(23)(\"2fbdf82a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../node_modules/css-loader/index.js?sourceMap!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7ba5bd90\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./App.vue\", function() {\n var newContent = require(\"!!../node_modules/css-loader/index.js?sourceMap!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7ba5bd90\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./App.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvQXBwLnZ1ZT83YTJiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQXNRO0FBQzVSLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsRUFBMEQsZ0NBQWdDO0FBQy9HO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDhIQUE4SCxtRkFBbUY7QUFDak4sdUlBQXVJLG1GQUFtRjtBQUMxTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjIyNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03YmE1YmQ5MFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vQXBwLnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMmZiZGY4MmFcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdiYTViZDkwXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9BcHAudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTdiYTViZDkwXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9BcHAudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTdiYTViZDkwXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vc3JjL0FwcC52dWVcbi8vIG1vZHVsZSBpZCA9IDIyN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///227\n"); + +/***/ }), +/* 228 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("exports = module.exports = __webpack_require__(22)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"App.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvQXBwLnZ1ZT8wMzI4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLEVBQTRDO0FBQy9FOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyx1TkFBdU4sbUZBQW1GOztBQUVqVSIsImZpbGUiOiIyMjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcIkFwcC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03YmE1YmQ5MFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL3NyYy9BcHAudnVlXG4vLyBtb2R1bGUgaWQgPSAyMjhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///228\n"); + +/***/ }), +/* 229 */ +/***/ (function(module, exports) { + +eval("/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nmodule.exports = function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9saWIvbGlzdFRvU3R5bGVzLmpzP2I1MzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsaUJBQWlCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyx3QkFBd0I7QUFDM0QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUcmFuc2xhdGVzIHRoZSBsaXN0IGZvcm1hdCBwcm9kdWNlZCBieSBjc3MtbG9hZGVyIGludG8gc29tZXRoaW5nXG4gKiBlYXNpZXIgdG8gbWFuaXB1bGF0ZS5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBsaXN0VG9TdHlsZXMgKHBhcmVudElkLCBsaXN0KSB7XG4gIHZhciBzdHlsZXMgPSBbXVxuICB2YXIgbmV3U3R5bGVzID0ge31cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0gPSBsaXN0W2ldXG4gICAgdmFyIGlkID0gaXRlbVswXVxuICAgIHZhciBjc3MgPSBpdGVtWzFdXG4gICAgdmFyIG1lZGlhID0gaXRlbVsyXVxuICAgIHZhciBzb3VyY2VNYXAgPSBpdGVtWzNdXG4gICAgdmFyIHBhcnQgPSB7XG4gICAgICBpZDogcGFyZW50SWQgKyAnOicgKyBpLFxuICAgICAgY3NzOiBjc3MsXG4gICAgICBtZWRpYTogbWVkaWEsXG4gICAgICBzb3VyY2VNYXA6IHNvdXJjZU1hcFxuICAgIH1cbiAgICBpZiAoIW5ld1N0eWxlc1tpZF0pIHtcbiAgICAgIHN0eWxlcy5wdXNoKG5ld1N0eWxlc1tpZF0gPSB7IGlkOiBpZCwgcGFydHM6IFtwYXJ0XSB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdTdHlsZXNbaWRdLnBhcnRzLnB1c2gocGFydClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0eWxlc1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9saWIvbGlzdFRvU3R5bGVzLmpzXG4vLyBtb2R1bGUgaWQgPSAyMjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///229\n"); + +/***/ }), +/* 230 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_OcrdProcessorList_vue__ = __webpack_require__(95);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5757c97e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_OcrdProcessorList_vue__ = __webpack_require__(233);\nvar disposed = false\nvar normalizeComponent = __webpack_require__(29)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_OcrdProcessorList_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5757c97e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_OcrdProcessorList_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/OcrdProcessorList.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-5757c97e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-5757c97e\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2Nlc3Nvckxpc3QudnVlP2I3NjEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxFQUFzRDtBQUN2RjtBQUNrSDtBQUNhO0FBQy9IO0FBQzRQO0FBQzVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsNklBQWM7QUFDaEIsRUFBRSwwT0FBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsMEVBQWlCIiwiZmlsZSI6IjIzMC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vT2NyZFByb2Nlc3Nvckxpc3QudnVlXCJcbmltcG9ydCBfX3Z1ZV9zY3JpcHRfXyBmcm9tIFwiISFiYWJlbC1sb2FkZXIhLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c2NyaXB0JmluZGV4PTAhLi9PY3JkUHJvY2Vzc29yTGlzdC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTU3NTdjOTdlXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vT2NyZFByb2Nlc3Nvckxpc3QudnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBudWxsXG4vKiBzY29wZUlkICovXG52YXIgX192dWVfc2NvcGVJZF9fID0gbnVsbFxuLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG52YXIgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfXyA9IG51bGxcbnZhciBDb21wb25lbnQgPSBub3JtYWxpemVDb21wb25lbnQoXG4gIF9fdnVlX3NjcmlwdF9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9fLFxuICBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18sXG4gIF9fdnVlX3N0eWxlc19fLFxuICBfX3Z1ZV9zY29wZUlkX18sXG4gIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX19cbilcbkNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL09jcmRQcm9jZXNzb3JMaXN0LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi01NzU3Yzk3ZVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LTU3NTdjOTdlXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL09jcmRQcm9jZXNzb3JMaXN0LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjMwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///230\n"); + +/***/ }), +/* 231 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_OcrdProcessorListItem_vue__ = __webpack_require__(96);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_7a8fbc74_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_OcrdProcessorListItem_vue__ = __webpack_require__(232);\nvar disposed = false\nvar normalizeComponent = __webpack_require__(29)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_OcrdProcessorListItem_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_7a8fbc74_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_OcrdProcessorListItem_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/OcrdProcessorListItem.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7a8fbc74\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7a8fbc74\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2Nlc3Nvckxpc3RJdGVtLnZ1ZT9lMzliIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsRUFBc0Q7QUFDdkY7QUFDc0g7QUFDYTtBQUNuSTtBQUNnUTtBQUNoUTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLGlKQUFjO0FBQ2hCLEVBQUUsOE9BQWdCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksS0FBVSxHQUFHO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVjLDBFQUFpQiIsImZpbGUiOiIyMzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL09jcmRQcm9jZXNzb3JMaXN0SXRlbS52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL09jcmRQcm9jZXNzb3JMaXN0SXRlbS52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTdhOGZiYzc0XFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vT2NyZFByb2Nlc3Nvckxpc3RJdGVtLnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9PY3JkUHJvY2Vzc29yTGlzdEl0ZW0udnVlXCJcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHsoZnVuY3Rpb24gKCkge1xuICB2YXIgaG90QVBJID0gcmVxdWlyZShcInZ1ZS1ob3QtcmVsb2FkLWFwaVwiKVxuICBob3RBUEkuaW5zdGFsbChyZXF1aXJlKFwidnVlXCIpLCBmYWxzZSlcbiAgaWYgKCFob3RBUEkuY29tcGF0aWJsZSkgcmV0dXJuXG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKCFtb2R1bGUuaG90LmRhdGEpIHtcbiAgICBob3RBUEkuY3JlYXRlUmVjb3JkKFwiZGF0YS12LTdhOGZiYzc0XCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIGhvdEFQSS5yZWxvYWQoXCJkYXRhLXYtN2E4ZmJjNzRcIiwgQ29tcG9uZW50Lm9wdGlvbnMpXG4gIH1cbiAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGlzcG9zZWQgPSB0cnVlXG4gIH0pXG59KSgpfVxuXG5leHBvcnQgZGVmYXVsdCBDb21wb25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvT2NyZFByb2Nlc3Nvckxpc3RJdGVtLnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjMxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///231\n"); + +/***/ }), +/* 232 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"b-card\",\n {\n staticClass: \"mb-5\",\n attrs: {\n tag: \"article\",\n title: _vm.processor.executable.replace(\"ocrd-\", \"\")\n }\n },\n [\n _c(\n \"b-card-text\",\n [\n _c(\n \"b-tabs\",\n [\n _c(\n \"b-tab\",\n { attrs: { title: \"Description\" } },\n [\n _c(\"blockquote\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.processor.description) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.processor.steps, function(step) {\n return _c(\"b-badge\", { attrs: { variant: \"info\" } }, [\n _vm._v(_vm._s(step))\n ])\n }),\n _vm._v(\" \"),\n _vm._l(_vm.processor.categories, function(category) {\n return _c(\"b-badge\", { attrs: { variant: \"success\" } }, [\n _vm._v(_vm._s(category))\n ])\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"\\n Part of \"),\n _c(\"a\", { attrs: { href: \"\" } }, [\n _vm._v(_vm._s(_vm.processor.part_of))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"a\", { attrs: { href: \"\" } }, [\n _vm._v(\"Read the Documentation!\")\n ])\n ])\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"b-tab\", { attrs: { title: \"Parameters\" } }, [\n _c(\n \"ul\",\n _vm._l(_vm.processor.parameters, function(param, name) {\n return _c(\"li\", [\n _c(\"strong\", [_vm._v(_vm._s(name))]),\n _vm._v(\" \" + _vm._s(param) + \"\\n \")\n ])\n }),\n 0\n )\n ])\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-7a8fbc74\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2Nlc3Nvckxpc3RJdGVtLnZ1ZT8wYWYxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsU0FBUyx1QkFBdUIsRUFBRTtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxTQUFTLGtCQUFrQixFQUFFO0FBQ3ZFO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBLDBDQUEwQyxTQUFTLHFCQUFxQixFQUFFO0FBQzFFO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLFNBQVMsV0FBVyxFQUFFO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsU0FBUyxXQUFXLEVBQUU7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsU0FBUyxzQkFBc0IsRUFBRTtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjIzMi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJiLWNhcmRcIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJtYi01XCIsXG4gICAgICBhdHRyczoge1xuICAgICAgICB0YWc6IFwiYXJ0aWNsZVwiLFxuICAgICAgICB0aXRsZTogX3ZtLnByb2Nlc3Nvci5leGVjdXRhYmxlLnJlcGxhY2UoXCJvY3JkLVwiLCBcIlwiKVxuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiYi1jYXJkLXRleHRcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJiLXRhYnNcIixcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJiLXRhYlwiLFxuICAgICAgICAgICAgICAgIHsgYXR0cnM6IHsgdGl0bGU6IFwiRGVzY3JpcHRpb25cIiB9IH0sXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgX2MoXCJibG9ja3F1b3RlXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhfdm0ucHJvY2Vzc29yLmRlc2NyaXB0aW9uKSArXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5wcm9jZXNzb3Iuc3RlcHMsIGZ1bmN0aW9uKHN0ZXApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFwiYi1iYWRnZVwiLCB7IGF0dHJzOiB7IHZhcmlhbnQ6IFwiaW5mb1wiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihfdm0uX3Moc3RlcCkpXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLnByb2Nlc3Nvci5jYXRlZ29yaWVzLCBmdW5jdGlvbihjYXRlZ29yeSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXCJiLWJhZGdlXCIsIHsgYXR0cnM6IHsgdmFyaWFudDogXCJzdWNjZXNzXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhjYXRlZ29yeSkpXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcInBcIiwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG4gICAgICAgICAgUGFydCBvZiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFwiYVwiLCB7IGF0dHJzOiB7IGhyZWY6IFwiXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0ucHJvY2Vzc29yLnBhcnRfb2YpKVxuICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXCJwXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXCJhXCIsIHsgYXR0cnM6IHsgaHJlZjogXCJcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCJSZWFkIHRoZSBEb2N1bWVudGF0aW9uIVwiKVxuICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXCJiLXRhYlwiLCB7IGF0dHJzOiB7IHRpdGxlOiBcIlBhcmFtZXRlcnNcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwidWxcIixcbiAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0ucHJvY2Vzc29yLnBhcmFtZXRlcnMsIGZ1bmN0aW9uKHBhcmFtLCBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcImxpXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcInN0cm9uZ1wiLCBbX3ZtLl92KF92bS5fcyhuYW1lKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIgKyBfdm0uX3MocGFyYW0pICsgXCJcXG4gICAgICAgICAgXCIpXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi03YThmYmM3NFwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTdhOGZiYzc0XCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vc3JjL09jcmRQcm9jZXNzb3JMaXN0SXRlbS52dWVcbi8vIG1vZHVsZSBpZCA9IDIzMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///232\n"); + +/***/ }), +/* 233 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"b-row\",\n [\n _vm._v(\"\\n Filter by category:\\n \"),\n _vm._l(_vm.categories, function(category) {\n return _c(\n \"b-badge\",\n {\n attrs: {\n variant:\n _vm.category_filter.indexOf(category) != -1\n ? \"primary\"\n : \"secondary\"\n },\n on: {\n click: function($event) {\n _vm.category_filter.indexOf(category) != -1\n ? _vm.category_filter.splice(\n _vm.category_filter.indexOf(category),\n 1\n )\n : _vm.category_filter.push(category)\n }\n }\n },\n [_vm._v(\"\\n \" + _vm._s(category) + \"\\n \")]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _vm._v(\"\\n Filter by step:\\n \"),\n _vm._l(_vm.steps, function(step) {\n return _c(\n \"b-badge\",\n {\n attrs: {\n variant:\n _vm.step_filter.indexOf(step) != -1\n ? \"primary\"\n : \"secondary\"\n },\n on: {\n click: function($event) {\n _vm.step_filter.indexOf(step) != -1\n ? _vm.step_filter.splice(_vm.step_filter.indexOf(step), 1)\n : _vm.step_filter.push(step)\n }\n }\n },\n [_vm._v(\"\\n \" + _vm._s(step) + \"\\n \")]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n _vm._l(_vm.processors, function(processor) {\n return _c(\"ocrd-processor-list-item\", {\n attrs: { processor: processor }\n })\n }),\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-5757c97e\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2Nlc3Nvckxpc3QudnVlP2YzMzEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjMzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImItcm93XCIsXG4gICAgICAgIFtcbiAgICAgICAgICBfdm0uX3YoXCJcXG4gICAgRmlsdGVyIGJ5IGNhdGVnb3J5OlxcbiAgICBcIiksXG4gICAgICAgICAgX3ZtLl9sKF92bS5jYXRlZ29yaWVzLCBmdW5jdGlvbihjYXRlZ29yeSkge1xuICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICBcImItYmFkZ2VcIixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICB2YXJpYW50OlxuICAgICAgICAgICAgICAgICAgICBfdm0uY2F0ZWdvcnlfZmlsdGVyLmluZGV4T2YoY2F0ZWdvcnkpICE9IC0xXG4gICAgICAgICAgICAgICAgICAgICAgPyBcInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgIDogXCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLmNhdGVnb3J5X2ZpbHRlci5pbmRleE9mKGNhdGVnb3J5KSAhPSAtMVxuICAgICAgICAgICAgICAgICAgICAgID8gX3ZtLmNhdGVnb3J5X2ZpbHRlci5zcGxpY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5jYXRlZ29yeV9maWx0ZXIuaW5kZXhPZihjYXRlZ29yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IF92bS5jYXRlZ29yeV9maWx0ZXIucHVzaChjYXRlZ29yeSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFtfdm0uX3YoXCJcXG4gICAgICBcIiArIF92bS5fcyhjYXRlZ29yeSkgKyBcIlxcbiAgICBcIildXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSlcbiAgICAgICAgXSxcbiAgICAgICAgMlxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJiLXJvd1wiLFxuICAgICAgICBbXG4gICAgICAgICAgX3ZtLl92KFwiXFxuICAgIEZpbHRlciBieSBzdGVwOlxcbiAgICBcIiksXG4gICAgICAgICAgX3ZtLl9sKF92bS5zdGVwcywgZnVuY3Rpb24oc3RlcCkge1xuICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICBcImItYmFkZ2VcIixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICB2YXJpYW50OlxuICAgICAgICAgICAgICAgICAgICBfdm0uc3RlcF9maWx0ZXIuaW5kZXhPZihzdGVwKSAhPSAtMVxuICAgICAgICAgICAgICAgICAgICAgID8gXCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICA6IFwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS5zdGVwX2ZpbHRlci5pbmRleE9mKHN0ZXApICE9IC0xXG4gICAgICAgICAgICAgICAgICAgICAgPyBfdm0uc3RlcF9maWx0ZXIuc3BsaWNlKF92bS5zdGVwX2ZpbHRlci5pbmRleE9mKHN0ZXApLCAxKVxuICAgICAgICAgICAgICAgICAgICAgIDogX3ZtLnN0ZXBfZmlsdGVyLnB1c2goc3RlcClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFtfdm0uX3YoXCJcXG4gICAgICBcIiArIF92bS5fcyhzdGVwKSArIFwiXFxuICAgIFwiKV1cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICBdLFxuICAgICAgICAyXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcImItcm93XCIsXG4gICAgICAgIF92bS5fbChfdm0ucHJvY2Vzc29ycywgZnVuY3Rpb24ocHJvY2Vzc29yKSB7XG4gICAgICAgICAgcmV0dXJuIF9jKFwib2NyZC1wcm9jZXNzb3ItbGlzdC1pdGVtXCIsIHtcbiAgICAgICAgICAgIGF0dHJzOiB7IHByb2Nlc3NvcjogcHJvY2Vzc29yIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9KSxcbiAgICAgICAgMVxuICAgICAgKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxudmFyIGVzRXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmV4cG9ydCBkZWZhdWx0IGVzRXhwb3J0c1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAobW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgcmVxdWlyZShcInZ1ZS1ob3QtcmVsb2FkLWFwaVwiKSAgICAgIC5yZXJlbmRlcihcImRhdGEtdi01NzU3Yzk3ZVwiLCBlc0V4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTU3NTdjOTdlXCIsXCJoYXNTY29wZWRcIjpmYWxzZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vc3JjL09jcmRQcm9jZXNzb3JMaXN0LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjMzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///233\n"); + +/***/ }), +/* 234 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_OcrdProjectList_vue__ = __webpack_require__(97);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_a15c35f0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_OcrdProjectList_vue__ = __webpack_require__(244);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(235)\n}\nvar normalizeComponent = __webpack_require__(29)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_OcrdProjectList_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_a15c35f0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_OcrdProjectList_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/OcrdProjectList.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-a15c35f0\", Component.options)\n } else {\n hotAPI.reload(\"data-v-a15c35f0\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2plY3RMaXN0LnZ1ZT83MDg3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUJBQU8sQ0FBQyxHQUFvUTtBQUM5UTtBQUNBLHlCQUF5QixtQkFBTyxDQUFDLEVBQXNEO0FBQ3ZGO0FBQ2dIO0FBQ2E7QUFDN0g7QUFDMFA7QUFDMVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwySUFBYztBQUNoQixFQUFFLHdPQUFnQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLEtBQVUsR0FBRztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFYywwRUFBaUIiLCJmaWxlIjoiMjM0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1hMTVjMzVmMFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vT2NyZFByb2plY3RMaXN0LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbmV4cG9ydCAqIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL09jcmRQcm9qZWN0TGlzdC52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL09jcmRQcm9qZWN0TGlzdC52dWVcIlxuLyogdGVtcGxhdGUgKi9cbmltcG9ydCBfX3Z1ZV90ZW1wbGF0ZV9fIGZyb20gXCIhIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LWExNWMzNWYwXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZSxcXFwiYnVibGVcXFwiOntcXFwidHJhbnNmb3Jtc1xcXCI6e319fSEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vT2NyZFByb2plY3RMaXN0LnZ1ZVwiXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gaW5qZWN0U3R5bGVcbi8qIHNjb3BlSWQgKi9cbnZhciBfX3Z1ZV9zY29wZUlkX18gPSBudWxsXG4vKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIgb25seSkgKi9cbnZhciBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fID0gbnVsbFxudmFyIENvbXBvbmVudCA9IG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgX192dWVfc2NyaXB0X18sXG4gIF9fdnVlX3RlbXBsYXRlX18sXG4gIF9fdnVlX3RlbXBsYXRlX2Z1bmN0aW9uYWxfXyxcbiAgX192dWVfc3R5bGVzX18sXG4gIF9fdnVlX3Njb3BlSWRfXyxcbiAgX192dWVfbW9kdWxlX2lkZW50aWZpZXJfX1xuKVxuQ29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvT2NyZFByb2plY3RMaXN0LnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1hMTVjMzVmMFwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWExNWMzNWYwXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL09jcmRQcm9qZWN0TGlzdC52dWVcbi8vIG1vZHVsZSBpZCA9IDIzNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///234\n"); + +/***/ }), +/* 235 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(236);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(23)(\"2adfd839\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../node_modules/css-loader/index.js?sourceMap!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a15c35f0\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./OcrdProjectList.vue\", function() {\n var newContent = require(\"!!../node_modules/css-loader/index.js?sourceMap!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a15c35f0\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./OcrdProjectList.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2plY3RMaXN0LnZ1ZT82NjE4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLEdBQWtSO0FBQ3hTLDRDQUE0QyxRQUFTO0FBQ3JEO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsRUFBMEQsZ0NBQWdDO0FBQy9HO0FBQ0EsR0FBRyxLQUFVO0FBQ2I7QUFDQTtBQUNBLDhIQUE4SCxtRkFBbUY7QUFDak4sdUlBQXVJLG1GQUFtRjtBQUMxTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6IjIzNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi1hMTVjMzVmMFxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6ZmFsc2V9IS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vT2NyZFByb2plY3RMaXN0LnZ1ZVwiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMmFkZmQ4MzlcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWExNWMzNWYwXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9PY3JkUHJvamVjdExpc3QudnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWExNWMzNWYwXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9PY3JkUHJvamVjdExpc3QudnVlXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWExNWMzNWYwXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vc3JjL09jcmRQcm9qZWN0TGlzdC52dWVcbi8vIG1vZHVsZSBpZCA9IDIzNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///235\n"); + +/***/ }), +/* 236 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("exports = module.exports = __webpack_require__(22)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"OcrdProjectList.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2plY3RMaXN0LnZ1ZT85NzVmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQixtQkFBTyxDQUFDLEVBQTRDO0FBQy9FOzs7QUFHQTtBQUNBLGNBQWMsUUFBUyxtRUFBbUUsK0ZBQStGOztBQUV6TCIsImZpbGUiOiIyMzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcIk9jcmRQcm9qZWN0TGlzdC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1hMTVjMzVmMFwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL3NyYy9PY3JkUHJvamVjdExpc3QudnVlXG4vLyBtb2R1bGUgaWQgPSAyMzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///236\n"); + +/***/ }), +/* 237 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_OcrdProjectListItem_vue__ = __webpack_require__(98);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_ab156a8a_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_OcrdProjectListItem_vue__ = __webpack_require__(243);\nvar disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(238)\n}\nvar normalizeComponent = __webpack_require__(29)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_OcrdProjectListItem_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_ab156a8a_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_OcrdProjectListItem_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"src/OcrdProjectListItem.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-ab156a8a\", Component.options)\n } else {\n hotAPI.reload(\"data-v-ab156a8a\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2plY3RMaXN0SXRlbS52dWU/YWI2NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMsR0FBd1E7QUFDbFI7QUFDQSx5QkFBeUIsbUJBQU8sQ0FBQyxFQUFzRDtBQUN2RjtBQUNvSDtBQUNhO0FBQ2pJO0FBQzhQO0FBQzlQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0lBQWM7QUFDaEIsRUFBRSw0T0FBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEdBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRWMsMEVBQWlCIiwiZmlsZSI6IjIzNy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYWIxNTZhOGFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xuZXhwb3J0ICogZnJvbSBcIiEhYmFiZWwtbG9hZGVyIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vT2NyZFByb2plY3RMaXN0SXRlbS52dWVcIlxuaW1wb3J0IF9fdnVlX3NjcmlwdF9fIGZyb20gXCIhIWJhYmVsLWxvYWRlciEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlXCJcbi8qIHRlbXBsYXRlICovXG5pbXBvcnQgX192dWVfdGVtcGxhdGVfXyBmcm9tIFwiISEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXg/e1xcXCJpZFxcXCI6XFxcImRhdGEtdi1hYjE1NmE4YVxcXCIsXFxcImhhc1Njb3BlZFxcXCI6ZmFsc2UsXFxcImJ1YmxlXFxcIjp7XFxcInRyYW5zZm9ybXNcXFwiOnt9fX0hLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlXCJcbi8qIHRlbXBsYXRlIGZ1bmN0aW9uYWwgKi9cbnZhciBfX3Z1ZV90ZW1wbGF0ZV9mdW5jdGlvbmFsX18gPSBmYWxzZVxuLyogc3R5bGVzICovXG52YXIgX192dWVfc3R5bGVzX18gPSBpbmplY3RTdHlsZVxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9PY3JkUHJvamVjdExpc3RJdGVtLnZ1ZVwiXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7KGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhvdEFQSSA9IHJlcXVpcmUoXCJ2dWUtaG90LXJlbG9hZC1hcGlcIilcbiAgaG90QVBJLmluc3RhbGwocmVxdWlyZShcInZ1ZVwiKSwgZmFsc2UpXG4gIGlmICghaG90QVBJLmNvbXBhdGlibGUpIHJldHVyblxuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgaG90QVBJLmNyZWF0ZVJlY29yZChcImRhdGEtdi1hYjE1NmE4YVwiLCBDb21wb25lbnQub3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICBob3RBUEkucmVsb2FkKFwiZGF0YS12LWFiMTU2YThhXCIsIENvbXBvbmVudC5vcHRpb25zKVxuICB9XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRpc3Bvc2VkID0gdHJ1ZVxuICB9KVxufSkoKX1cblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlXG4vLyBtb2R1bGUgaWQgPSAyMzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///237\n"); + +/***/ }), +/* 238 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(239);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(23)(\"a21787e0\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../node_modules/css-loader/index.js?sourceMap!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ab156a8a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./OcrdProjectListItem.vue\", function() {\n var newContent = require(\"!!../node_modules/css-loader/index.js?sourceMap!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ab156a8a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./OcrdProjectListItem.vue\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2plY3RMaXN0SXRlbS52dWU/NTkwOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFzUjtBQUM1Uyw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLEVBQTBELGdDQUFnQztBQUMvRztBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQSw4SEFBOEgsbUZBQW1GO0FBQ2pOLHVJQUF1SSxtRkFBbUY7QUFDMU47QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIyMzguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYWIxNTZhOGFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJhMjE3ODdlMFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYWIxNTZhOGFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWFiMTU2YThhXFxcIixcXFwic2NvcGVkXFxcIjpmYWxzZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjpmYWxzZX0hLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9PY3JkUHJvamVjdExpc3RJdGVtLnZ1ZVwiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlciEuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1hYjE1NmE4YVwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL3NyYy9PY3JkUHJvamVjdExpc3RJdGVtLnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjM4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///238\n"); + +/***/ }), +/* 239 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("exports = module.exports = __webpack_require__(22)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.ocrd-project-list-item {\\n max-width: 30rem;\\n max-height: 30rem;\\n overflow: auto;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"/data/monorepo/ocrd-kwalitee/webapp/src/src/OcrdProjectListItem.vue\"],\"names\":[],\"mappings\":\";AAsEA;EACA,iBAAA;EACA,kBAAA;EACA,eAAA;CACA\",\"file\":\"OcrdProjectListItem.vue\",\"sourcesContent\":[\"<template>\\n <b-card\\n :title=\\\"repo.org_plus_name\\\"\\n tag=\\\"article\\\"\\n class=\\\"mb-5 ocrd-project-list-item\\\"\\n >\\n <b-tabs>\\n <b-tab title=\\\"README\\\">\\n <div v-html=\\\"compiledReadme\\\"></div>\\n </b-tab>\\n <b-tab title=\\\"Dockerfile\\\">\\n <vue-code-highlight>{{ repo.files.Dockerfile || '# NO DOCKERFILE' }}</vue-code-highlight>\\n </b-tab>\\n <b-tab title=\\\"Git\\\">\\n <b-card-text>\\n <p>\\n <a href=\\\"`https://pypi.org/project/${ repo.python.name }/`\\\"> <img :src=\\\"`https://img.shields.io/pypi/v/${ repo.python.name }.svg`\\\" /> </a>\\n <!-- <a href=\\\"`https://travis-ci.org/${ repo.org_plus_name }`\\\"> <img :src=\\\"`https://travis-ci.org/${ repo.org_plus_name }.svg?branch=master`\\\" /> </a> -->\\n <!-- <a href=\\\"`https://circleci.com/gh/${ repo.org_plus_name }`\\\"> <img :src=\\\"`https://circleci.com/gh/${ repo.org_plus_name }.svg?style=svg`\\\" /> </a> -->\\n <!-- <a href=\\\"`https://hub.docker.com/r/ocrd/core/tags/`\\\"> <img :src=\\\"`https://img.shields.io/docker/automated/ocrd/core.svg`\\\" /> </a> -->\\n <!-- <a href=\\\"`https://codecov.io/gh/${ repo.org_plus_name }`\\\"> <img :src=\\\"`https://codecov.io/gh/${ repo.org_plus_name }/branch/master/graph/badge.svg`\\\" /> </a> -->\\n <!-- <a href=\\\"`https://scrutinizer-ci.com/g/${ repo.org_plus_name }`\\\"> <img :src=\\\"`https://scrutinizer-ci.com/g/${ repo.org_plus_name }/badges/quality-score.png?b=master`\\\" /> </a> -->\\n <!-- <a href=\\\"`https://lgtm.com/projects/g/${ repo.org_plus_name }/alerts/`\\\"> <img :src=\\\"`https://img.shields.io/lgtm/alerts/g/${ repo.org_plus_name }.svg?logo=lgtm&logoWidth=18`\\\" /> </a> -->\\n </p>\\n <b-table v-if=\\\"repo.git\\\" :items=\\\"[repo.git]\\\"></b-table>\\n </b-card-text>\\n </b-tab>\\n\\n <b-tab title=\\\"ocrd-tool validation\\\">\\n <b-card-text>\\n <vue-code-highlight>{{ repo.ocrd_tool_validate || '# NO validation data' }}</vue-code-highlight>\\n </b-card-text>\\n </b-tab>\\n\\n <b-tab title=\\\"Python\\\">\\n <b-card-text>\\n <b-table v-if=\\\"repo.python\\\" :items=\\\"[repo.python]\\\"></b-table>\\n </b-card-text>\\n </b-tab>\\n\\n </b-tabs>\\n </b-card>\\n</template>\\n\\n<script>\\nimport marked from 'marked'\\nimport { component as VueCodeHighlight } from 'vue-code-highlight'\\n\\nexport default {\\n components: {\\n VueCodeHighlight\\n },\\n props: {\\n repo: {required: true},\\n },\\n computed: {\\n cleanId() {\\n return this.repo.org_plus_name.replace(/[^A-Za-z0-9]/g, '-')\\n },\\n compiledReadme() {\\n let src = this.repo.files['README.md']\\n if (!src) src = '`# NO README`'\\n return marked(src)\\n }\\n }\\n}\\n</script>\\n\\n<style>\\n\\n.ocrd-project-list-item {\\n max-width: 30rem;\\n max-height: 30rem;\\n overflow: auto;\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2plY3RMaXN0SXRlbS52dWU/NmQ5MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxFQUE0QztBQUMvRTs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsOEJBQThCLHFCQUFxQixzQkFBc0IsbUJBQW1CLEdBQUcsVUFBVSxzSEFBc0gsTUFBTSxXQUFXLFdBQVcsVUFBVSwwV0FBMFcsOENBQThDLDRKQUE0SixtQkFBbUIsK0RBQStELG1CQUFtQix5R0FBeUcscUJBQXFCLHdEQUF3RCxxQkFBcUIscUhBQXFILHFCQUFxQix3REFBd0QscUJBQXFCLHdVQUF3VSxxQkFBcUIsd0RBQXdELHFCQUFxQiwwSEFBMEgscUJBQXFCLHdEQUF3RCxxQkFBcUIsa0hBQWtILHFCQUFxQixpRUFBaUUscUJBQXFCLG1CQUFtQixtUUFBbVEscURBQXFELHlVQUF5VSxnQ0FBZ0MsOENBQThDLGlCQUFpQiwyQkFBMkIsYUFBYSxhQUFhLGVBQWUsTUFBTSxnQkFBZ0IsaUJBQWlCLDJFQUEyRSx5QkFBeUIsc0hBQXNILEtBQUssR0FBRyxtREFBbUQscUJBQXFCLHNCQUFzQixtQkFBbUIsR0FBRywrQkFBK0I7O0FBRTc0RyIsImZpbGUiOiIyMzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLm9jcmQtcHJvamVjdC1saXN0LWl0ZW0ge1xcbiAgbWF4LXdpZHRoOiAzMHJlbTtcXG4gIG1heC1oZWlnaHQ6IDMwcmVtO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCIvZGF0YS9tb25vcmVwby9vY3JkLWt3YWxpdGVlL3dlYmFwcC9zcmMvc3JjL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFzRUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtDQUNBXCIsXCJmaWxlXCI6XCJPY3JkUHJvamVjdExpc3RJdGVtLnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8dGVtcGxhdGU+XFxuICA8Yi1jYXJkXFxuICAgIDp0aXRsZT1cXFwicmVwby5vcmdfcGx1c19uYW1lXFxcIlxcbiAgICB0YWc9XFxcImFydGljbGVcXFwiXFxuICAgIGNsYXNzPVxcXCJtYi01IG9jcmQtcHJvamVjdC1saXN0LWl0ZW1cXFwiXFxuICAgID5cXG4gICAgPGItdGFicz5cXG4gICAgICA8Yi10YWIgdGl0bGU9XFxcIlJFQURNRVxcXCI+XFxuICAgICAgICA8ZGl2IHYtaHRtbD1cXFwiY29tcGlsZWRSZWFkbWVcXFwiPjwvZGl2PlxcbiAgICAgIDwvYi10YWI+XFxuICAgICAgPGItdGFiIHRpdGxlPVxcXCJEb2NrZXJmaWxlXFxcIj5cXG4gICAgICAgIDx2dWUtY29kZS1oaWdobGlnaHQ+e3sgcmVwby5maWxlcy5Eb2NrZXJmaWxlIHx8ICcjIE5PIERPQ0tFUkZJTEUnIH19PC92dWUtY29kZS1oaWdobGlnaHQ+XFxuICAgICAgPC9iLXRhYj5cXG4gICAgICA8Yi10YWIgdGl0bGU9XFxcIkdpdFxcXCI+XFxuICAgICAgICA8Yi1jYXJkLXRleHQ+XFxuICAgICAgICAgIDxwPlxcbiAgICAgICAgICAgIDxhIGhyZWY9XFxcImBodHRwczovL3B5cGkub3JnL3Byb2plY3QvJHsgcmVwby5weXRob24ubmFtZSB9L2BcXFwiPiAgICAgICAgICAgICA8aW1nIDpzcmM9XFxcImBodHRwczovL2ltZy5zaGllbGRzLmlvL3B5cGkvdi8keyByZXBvLnB5dGhvbi5uYW1lIH0uc3ZnYFxcXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz4gPC9hPlxcbiAgICAgICAgICAgIDwhLS0gPGEgaHJlZj1cXFwiYGh0dHBzOi8vdHJhdmlzLWNpLm9yZy8keyByZXBvLm9yZ19wbHVzX25hbWUgfWBcXFwiPiAgICAgICAgICAgICAgIDxpbWcgOnNyYz1cXFwiYGh0dHBzOi8vdHJhdmlzLWNpLm9yZy8keyByZXBvLm9yZ19wbHVzX25hbWUgfS5zdmc/YnJhbmNoPW1hc3RlcmBcXFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPiA8L2E+IC0tPlxcbiAgICAgICAgICAgIDwhLS0gPGEgaHJlZj1cXFwiYGh0dHBzOi8vY2lyY2xlY2kuY29tL2doLyR7IHJlcG8ub3JnX3BsdXNfbmFtZSB9YFxcXCI+ICAgICAgICAgICAgIDxpbWcgOnNyYz1cXFwiYGh0dHBzOi8vY2lyY2xlY2kuY29tL2doLyR7IHJlcG8ub3JnX3BsdXNfbmFtZSB9LnN2Zz9zdHlsZT1zdmdgXFxcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPiA8L2E+IC0tPlxcbiAgICAgICAgICAgIDwhLS0gPGEgaHJlZj1cXFwiYGh0dHBzOi8vaHViLmRvY2tlci5jb20vci9vY3JkL2NvcmUvdGFncy9gXFxcIj4gICAgICAgICAgICAgICAgICAgICA8aW1nIDpzcmM9XFxcImBodHRwczovL2ltZy5zaGllbGRzLmlvL2RvY2tlci9hdXRvbWF0ZWQvb2NyZC9jb3JlLnN2Z2BcXFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+IDwvYT4gLS0+XFxuICAgICAgICAgICAgPCEtLSA8YSBocmVmPVxcXCJgaHR0cHM6Ly9jb2RlY292LmlvL2doLyR7IHJlcG8ub3JnX3BsdXNfbmFtZSB9YFxcXCI+ICAgICAgICAgICAgICAgPGltZyA6c3JjPVxcXCJgaHR0cHM6Ly9jb2RlY292LmlvL2doLyR7IHJlcG8ub3JnX3BsdXNfbmFtZSB9L2JyYW5jaC9tYXN0ZXIvZ3JhcGgvYmFkZ2Uuc3ZnYFxcXCIgICAgICAgICAgICAgICAgIC8+IDwvYT4gLS0+XFxuICAgICAgICAgICAgPCEtLSA8YSBocmVmPVxcXCJgaHR0cHM6Ly9zY3J1dGluaXplci1jaS5jb20vZy8keyByZXBvLm9yZ19wbHVzX25hbWUgfWBcXFwiPiAgICAgICAgPGltZyA6c3JjPVxcXCJgaHR0cHM6Ly9zY3J1dGluaXplci1jaS5jb20vZy8keyByZXBvLm9yZ19wbHVzX25hbWUgfS9iYWRnZXMvcXVhbGl0eS1zY29yZS5wbmc/Yj1tYXN0ZXJgXFxcIiAgICAgIC8+IDwvYT4gLS0+XFxuICAgICAgICAgICAgPCEtLSA8YSBocmVmPVxcXCJgaHR0cHM6Ly9sZ3RtLmNvbS9wcm9qZWN0cy9nLyR7IHJlcG8ub3JnX3BsdXNfbmFtZSB9L2FsZXJ0cy9gXFxcIj4gPGltZyA6c3JjPVxcXCJgaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9sZ3RtL2FsZXJ0cy9nLyR7IHJlcG8ub3JnX3BsdXNfbmFtZSB9LnN2Zz9sb2dvPWxndG0mYW1wO2xvZ29XaWR0aD0xOGBcXFwiIC8+IDwvYT4gLS0+XFxuICAgICAgICAgIDwvcD5cXG4gICAgICAgICAgPGItdGFibGUgdi1pZj1cXFwicmVwby5naXRcXFwiIDppdGVtcz1cXFwiW3JlcG8uZ2l0XVxcXCI+PC9iLXRhYmxlPlxcbiAgICAgICAgPC9iLWNhcmQtdGV4dD5cXG4gICAgICA8L2ItdGFiPlxcblxcbiAgICAgIDxiLXRhYiB0aXRsZT1cXFwib2NyZC10b29sIHZhbGlkYXRpb25cXFwiPlxcbiAgICAgICAgPGItY2FyZC10ZXh0PlxcbiAgICAgICAgICA8dnVlLWNvZGUtaGlnaGxpZ2h0Pnt7IHJlcG8ub2NyZF90b29sX3ZhbGlkYXRlIHx8ICcjIE5PIHZhbGlkYXRpb24gZGF0YScgfX08L3Z1ZS1jb2RlLWhpZ2hsaWdodD5cXG4gICAgICAgIDwvYi1jYXJkLXRleHQ+XFxuICAgICAgPC9iLXRhYj5cXG5cXG4gICAgICA8Yi10YWIgdGl0bGU9XFxcIlB5dGhvblxcXCI+XFxuICAgICAgICA8Yi1jYXJkLXRleHQ+XFxuICAgICAgICAgIDxiLXRhYmxlIHYtaWY9XFxcInJlcG8ucHl0aG9uXFxcIiA6aXRlbXM9XFxcIltyZXBvLnB5dGhvbl1cXFwiPjwvYi10YWJsZT5cXG4gICAgICAgIDwvYi1jYXJkLXRleHQ+XFxuICAgICAgPC9iLXRhYj5cXG5cXG4gICAgPC9iLXRhYnM+XFxuICA8L2ItY2FyZD5cXG48L3RlbXBsYXRlPlxcblxcbjxzY3JpcHQ+XFxuaW1wb3J0IG1hcmtlZCBmcm9tICdtYXJrZWQnXFxuaW1wb3J0IHsgY29tcG9uZW50IGFzIFZ1ZUNvZGVIaWdobGlnaHQgfSBmcm9tICd2dWUtY29kZS1oaWdobGlnaHQnXFxuXFxuZXhwb3J0IGRlZmF1bHQge1xcbiAgY29tcG9uZW50czoge1xcbiAgICBWdWVDb2RlSGlnaGxpZ2h0XFxuICB9LFxcbiAgcHJvcHM6IHtcXG4gICAgcmVwbzoge3JlcXVpcmVkOiB0cnVlfSxcXG4gIH0sXFxuICBjb21wdXRlZDoge1xcbiAgICBjbGVhbklkKCkge1xcbiAgICAgIHJldHVybiB0aGlzLnJlcG8ub3JnX3BsdXNfbmFtZS5yZXBsYWNlKC9bXkEtWmEtejAtOV0vZywgJy0nKVxcbiAgICB9LFxcbiAgICBjb21waWxlZFJlYWRtZSgpIHtcXG4gICAgICBsZXQgc3JjID0gdGhpcy5yZXBvLmZpbGVzWydSRUFETUUubWQnXVxcbiAgICAgIGlmICghc3JjKSBzcmMgPSAnYCMgTk8gUkVBRE1FYCdcXG4gICAgICByZXR1cm4gbWFya2VkKHNyYylcXG4gICAgfVxcbiAgfVxcbn1cXG48L3NjcmlwdD5cXG5cXG48c3R5bGU+XFxuXFxuLm9jcmQtcHJvamVjdC1saXN0LWl0ZW0ge1xcbiAgbWF4LXdpZHRoOiAzMHJlbTtcXG4gIG1heC1oZWlnaHQ6IDMwcmVtO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxufVxcbjwvc3R5bGU+XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LWFiMTU2YThhXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vc3JjL09jcmRQcm9qZWN0TGlzdEl0ZW0udnVlXG4vLyBtb2R1bGUgaWQgPSAyMzlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///239\n"); + +/***/ }), +/* 240 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}|~{3,})([^`~\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?>\\\\n*' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\n*' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|</(?!script|pre|style)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *<?([^\\s>]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noop,\n table: noop,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /<!--(?!-?>)[\\s\\S]*?-->/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} +')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noop, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n this.rules = block.gfm;\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n var lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*]|\\b_|$)|[^ ](?= {2,}\\n))|(?= {2,}\\n))/\n};\n\n// list of punctuation marks from common mark spec\n// without ` and ] to workaround Rule 17 (inline code blocks/links)\ninline._punctuation = '!\"#$%&\\'()*+,\\\\-./:;<=>?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*~]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))|(?= {2,}\\n|[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))/\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^<a /i.test(cap[0])) {\n this.inLink = true;\n } else if (this.inLink && /^<\\/a>/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = 4 + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape(code, true))\n + '</code></pre>';\n }\n\n return '<pre><code class=\"'\n + this.options.langPrefix\n + escape(lang, true)\n + '\">'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '<blockquote>\\n' + quote + '</blockquote>\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '<h'\n + level\n + ' id=\"'\n + this.options.headerPrefix\n + slugger.slug(raw)\n + '\">'\n + text\n + '</h'\n + level\n + '>\\n';\n }\n // ignore IDs\n return '<h' + level + '>' + text + '</h' + level + '>\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '<li>' + text + '</li>\\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\"'\n + (this.options.xhtml ? ' /' : '')\n + '> ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '<p>' + text + '</p>\\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '<tbody>' + body + '</tbody>';\n\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '<tr>\\n' + content + '</tr>\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '</' + type + '>\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '<strong>' + text + '</strong>';\n};\n\nRenderer.prototype.em = function(text) {\n return '<em>' + text + '</em>';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '<code>' + text + '</code>';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '<br/>' : '<br>';\n};\n\nRenderer.prototype.del = function(text) {\n return '<del>' + text + '</del>';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '<a href=\"' + escape(href) + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += this.options.xhtml ? '/>' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function(text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, { renderer: new TextRenderer() })\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n this.token = this.tokens.pop();\n return this.token;\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger() {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function(value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function(ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function(ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function(match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n checkSanitizeDeprecation(opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (true) {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(25)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbWFya2VkL2xpYi9tYXJrZWQuanM/MTA1YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWEsRUFBRTtBQUNmLGNBQWMsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLG1DQUFtQyxJQUFJO0FBQ3JFLFVBQVUsSUFBSSxTQUFTLEdBQUcsU0FBUyxHQUFHLFVBQVUsR0FBRztBQUNuRCxlQUFlLElBQUksR0FBRyxJQUFJO0FBQzFCLG1CQUFtQixJQUFJO0FBQ3ZCLGFBQWEsSUFBSSw2QkFBNkIsR0FBRztBQUNqRCxZQUFZLElBQUk7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQyxHQUFHO0FBQ2xELG9HQUFvRyxHQUFHO0FBQ3ZHLG9GQUFvRixHQUFHO0FBQ3ZGO0FBQ0EsV0FBVyxJQUFJO0FBQ2Y7QUFDQTtBQUNBLDBCQUEwQixJQUFJO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0QixJQUFJO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3Q0FBd0MsR0FBRyxTQUFTLEdBQUcsV0FBVyxHQUFHO0FBQ3JFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUIsSUFBSSxFQUFFLElBQUk7QUFDbkM7QUFDQSw0QkFBNEIsSUFBSTtBQUNoQyx3QkFBd0IsSUFBSSxLQUFLLEdBQUcsR0FBRyxHQUFHO0FBQzFDLHNCQUFzQixJQUFJO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBOztBQUVBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7O0FBRUEseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQSx1Q0FBdUMsR0FBRztBQUMxQyxnRUFBZ0UsR0FBRztBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixJQUFJO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixJQUFJO0FBQ2pDO0FBQ0EsOEJBQThCLElBQUk7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxpQ0FBaUMsRUFBRTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUJBQW1CLHVCQUF1QjtBQUMxQztBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsV0FBVztBQUNYO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsdUJBQXVCO0FBQzFDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87O0FBRVA7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFlBQVksT0FBTztBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLGdCQUFnQjtBQUMxRCwrQkFBK0IsSUFBSTtBQUNuQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG1CQUFtQix1QkFBdUI7QUFDMUM7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLFdBQVc7QUFDWDtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLHVCQUF1QjtBQUMxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtDQUFrQyxlQUFlLEVBQUU7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkO0FBQ0EsK0RBQStELEdBQUcsVUFBVSxHQUFHO0FBQy9FOztBQUVBO0FBQ0E7QUFDQSwyQ0FBMkMsV0FBVyxFQUFFO0FBQ3hEOztBQUVBLHlDQUF5QyxlQUFlLEVBQUU7O0FBRTFELHlDQUF5QyxLQUFLO0FBQzlDLDJDQUEyQyxFQUFFLGtDQUFrQyxLQUFLLDZDQUE2QyxLQUFLO0FBQ3RJO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCOztBQUV4QjtBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG9DQUFvQyxVQUFVO0FBQ3hFO0FBQ0EsMkZBQTJGLEdBQUcsK0JBQStCLEdBQUcsZ0NBQWdDLEdBQUcsYUFBYSxHQUFHLDZCQUE2QixHQUFHO0FBQ25OLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdCQUF3QjtBQUN4QixnQ0FBZ0MsR0FBRztBQUNuQztBQUNBLDZCQUE2QixHQUFHO0FBQ2hDLGdCQUFnQixJQUFJO0FBQ3BCO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixFQUFFO0FBQ25COztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsUUFBUSxPQUFPO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksaUJBQWlCLCtCQUErQjtBQUM1RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUJBQWlCLDhCQUE4QjtBQUMvQztBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsNkJBQTZCO0FBQzlDOztBQUVBO0FBQ0EsbUJBQW1CLGdCQUFnQjtBQUNuQztBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRCxXQUFXLEVBQUU7QUFDeEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RCxnQ0FBZ0MsRUFBRTtBQUNoRztBQUNBLEdBQUc7QUFDSDtBQUNBLHNFQUFzRSxnQ0FBZ0MsRUFBRTtBQUN4RztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFlBQVk7QUFDWixZQUFZO0FBQ1osY0FBYztBQUNkLGFBQWE7QUFDYjs7QUFFQSw4Q0FBOEM7QUFDOUMsaURBQWlEOztBQUVqRDtBQUNBO0FBQ0EsOERBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsUUFBUSxzQkFBc0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQSxRQUFRLGtCQUFrQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGdCQUFnQjtBQUNqQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLDRCQUE0QjtBQUM5Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBLFVBQVUsbUJBQW1CO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUEsSUFBSSxJQUE0RDtBQUNoRTtBQUNBLENBQUM7QUFDRCxxQkFBcUIsZUFBZSxFQUFFO0FBQ3RDLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIyNDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIG1hcmtlZCAtIGEgbWFya2Rvd24gcGFyc2VyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTEtMjAxOCwgQ2hyaXN0b3BoZXIgSmVmZnJleS4gKE1JVCBMaWNlbnNlZClcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrZWRqcy9tYXJrZWRcbiAqL1xuXG47KGZ1bmN0aW9uKHJvb3QpIHtcbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBCbG9jay1MZXZlbCBHcmFtbWFyXG4gKi9cblxudmFyIGJsb2NrID0ge1xuICBuZXdsaW5lOiAvXlxcbisvLFxuICBjb2RlOiAvXiggezR9W15cXG5dK1xcbiopKy8sXG4gIGZlbmNlczogL14gezAsM30oYHszLH18fnszLH0pKFteYH5cXG5dKilcXG4oPzp8KFtcXHNcXFNdKj8pXFxuKSg/OiB7MCwzfVxcMVt+YF0qICooPzpcXG4rfCQpfCQpLyxcbiAgaHI6IC9eIHswLDN9KCg/Oi0gKil7Myx9fCg/Ol8gKil7Myx9fCg/OlxcKiAqKXszLH0pKD86XFxuK3wkKS8sXG4gIGhlYWRpbmc6IC9eIHswLDN9KCN7MSw2fSkgKyhbXlxcbl0qPykoPzogKyMrKT8gKig/Olxcbit8JCkvLFxuICBibG9ja3F1b3RlOiAvXiggezAsM30+ID8ocGFyYWdyYXBofFteXFxuXSopKD86XFxufCQpKSsvLFxuICBsaXN0OiAvXiggezAsM30pKGJ1bGwpIFtcXHNcXFNdKz8oPzpocnxkZWZ8XFxuezIsfSg/ISApKD8hXFwxYnVsbCApXFxuKnxcXHMqJCkvLFxuICBodG1sOiAnXiB7MCwzfSg/OicgLy8gb3B0aW9uYWwgaW5kZW50YXRpb25cbiAgICArICc8KHNjcmlwdHxwcmV8c3R5bGUpW1xcXFxzPl1bXFxcXHNcXFxcU10qPyg/OjwvXFxcXDE+W15cXFxcbl0qXFxcXG4rfCQpJyAvLyAoMSlcbiAgICArICd8Y29tbWVudFteXFxcXG5dKihcXFxcbit8JCknIC8vICgyKVxuICAgICsgJ3w8XFxcXD9bXFxcXHNcXFxcU10qP1xcXFw/PlxcXFxuKicgLy8gKDMpXG4gICAgKyAnfDwhW0EtWl1bXFxcXHNcXFxcU10qPz5cXFxcbionIC8vICg0KVxuICAgICsgJ3w8IVxcXFxbQ0RBVEFcXFxcW1tcXFxcc1xcXFxTXSo/XFxcXF1cXFxcXT5cXFxcbionIC8vICg1KVxuICAgICsgJ3w8Lz8odGFnKSg/OiArfFxcXFxufC8/PilbXFxcXHNcXFxcU10qPyg/OlxcXFxuezIsfXwkKScgLy8gKDYpXG4gICAgKyAnfDwoPyFzY3JpcHR8cHJlfHN0eWxlKShbYS16XVtcXFxcdy1dKikoPzphdHRyaWJ1dGUpKj8gKi8/Pig/PVsgXFxcXHRdKig/OlxcXFxufCQpKVtcXFxcc1xcXFxTXSo/KD86XFxcXG57Mix9fCQpJyAvLyAoNykgb3BlbiB0YWdcbiAgICArICd8PC8oPyFzY3JpcHR8cHJlfHN0eWxlKVthLXpdW1xcXFx3LV0qXFxcXHMqPig/PVsgXFxcXHRdKig/OlxcXFxufCQpKVtcXFxcc1xcXFxTXSo/KD86XFxcXG57Mix9fCQpJyAvLyAoNykgY2xvc2luZyB0YWdcbiAgICArICcpJyxcbiAgZGVmOiAvXiB7MCwzfVxcWyhsYWJlbClcXF06ICpcXG4/ICo8PyhbXlxccz5dKyk+Pyg/Oig/OiArXFxuPyAqfCAqXFxuICopKHRpdGxlKSk/ICooPzpcXG4rfCQpLyxcbiAgbnB0YWJsZTogbm9vcCxcbiAgdGFibGU6IG5vb3AsXG4gIGxoZWFkaW5nOiAvXihbXlxcbl0rKVxcbiB7MCwzfSg9K3wtKykgKig/Olxcbit8JCkvLFxuICAvLyByZWdleCB0ZW1wbGF0ZSwgcGxhY2Vob2xkZXJzIHdpbGwgYmUgcmVwbGFjZWQgYWNjb3JkaW5nIHRvIGRpZmZlcmVudCBwYXJhZ3JhcGhcbiAgLy8gaW50ZXJydXB0aW9uIHJ1bGVzIG9mIGNvbW1vbm1hcmsgYW5kIHRoZSBvcmlnaW5hbCBtYXJrZG93biBzcGVjOlxuICBfcGFyYWdyYXBoOiAvXihbXlxcbl0rKD86XFxuKD8haHJ8aGVhZGluZ3xsaGVhZGluZ3xibG9ja3F1b3RlfGZlbmNlc3xsaXN0fGh0bWwpW15cXG5dKykqKS8sXG4gIHRleHQ6IC9eW15cXG5dKy9cbn07XG5cbmJsb2NrLl9sYWJlbCA9IC8oPyFcXHMqXFxdKSg/OlxcXFxbXFxbXFxdXXxbXlxcW1xcXV0pKy87XG5ibG9jay5fdGl0bGUgPSAvKD86XCIoPzpcXFxcXCI/fFteXCJcXFxcXSkqXCJ8J1teJ1xcbl0qKD86XFxuW14nXFxuXSspKlxcbj8nfFxcKFteKCldKlxcKSkvO1xuYmxvY2suZGVmID0gZWRpdChibG9jay5kZWYpXG4gIC5yZXBsYWNlKCdsYWJlbCcsIGJsb2NrLl9sYWJlbClcbiAgLnJlcGxhY2UoJ3RpdGxlJywgYmxvY2suX3RpdGxlKVxuICAuZ2V0UmVnZXgoKTtcblxuYmxvY2suYnVsbGV0ID0gLyg/OlsqKy1dfFxcZHsxLDl9XFwuKS87XG5ibG9jay5pdGVtID0gL14oICopKGJ1bGwpID9bXlxcbl0qKD86XFxuKD8hXFwxYnVsbCA/KVteXFxuXSopKi87XG5ibG9jay5pdGVtID0gZWRpdChibG9jay5pdGVtLCAnZ20nKVxuICAucmVwbGFjZSgvYnVsbC9nLCBibG9jay5idWxsZXQpXG4gIC5nZXRSZWdleCgpO1xuXG5ibG9jay5saXN0ID0gZWRpdChibG9jay5saXN0KVxuICAucmVwbGFjZSgvYnVsbC9nLCBibG9jay5idWxsZXQpXG4gIC5yZXBsYWNlKCdocicsICdcXFxcbisoPz1cXFxcMT8oPzooPzotICopezMsfXwoPzpfICopezMsfXwoPzpcXFxcKiAqKXszLH0pKD86XFxcXG4rfCQpKScpXG4gIC5yZXBsYWNlKCdkZWYnLCAnXFxcXG4rKD89JyArIGJsb2NrLmRlZi5zb3VyY2UgKyAnKScpXG4gIC5nZXRSZWdleCgpO1xuXG5ibG9jay5fdGFnID0gJ2FkZHJlc3N8YXJ0aWNsZXxhc2lkZXxiYXNlfGJhc2Vmb250fGJsb2NrcXVvdGV8Ym9keXxjYXB0aW9uJ1xuICArICd8Y2VudGVyfGNvbHxjb2xncm91cHxkZHxkZXRhaWxzfGRpYWxvZ3xkaXJ8ZGl2fGRsfGR0fGZpZWxkc2V0fGZpZ2NhcHRpb24nXG4gICsgJ3xmaWd1cmV8Zm9vdGVyfGZvcm18ZnJhbWV8ZnJhbWVzZXR8aFsxLTZdfGhlYWR8aGVhZGVyfGhyfGh0bWx8aWZyYW1lJ1xuICArICd8bGVnZW5kfGxpfGxpbmt8bWFpbnxtZW51fG1lbnVpdGVtfG1ldGF8bmF2fG5vZnJhbWVzfG9sfG9wdGdyb3VwfG9wdGlvbidcbiAgKyAnfHB8cGFyYW18c2VjdGlvbnxzb3VyY2V8c3VtbWFyeXx0YWJsZXx0Ym9keXx0ZHx0Zm9vdHx0aHx0aGVhZHx0aXRsZXx0cidcbiAgKyAnfHRyYWNrfHVsJztcbmJsb2NrLl9jb21tZW50ID0gLzwhLS0oPyEtPz4pW1xcc1xcU10qPy0tPi87XG5ibG9jay5odG1sID0gZWRpdChibG9jay5odG1sLCAnaScpXG4gIC5yZXBsYWNlKCdjb21tZW50JywgYmxvY2suX2NvbW1lbnQpXG4gIC5yZXBsYWNlKCd0YWcnLCBibG9jay5fdGFnKVxuICAucmVwbGFjZSgnYXR0cmlidXRlJywgLyArW2EtekEtWjpfXVtcXHcuOi1dKig/OiAqPSAqXCJbXlwiXFxuXSpcInwgKj0gKidbXidcXG5dKid8ICo9ICpbXlxcc1wiJz08PmBdKyk/LylcbiAgLmdldFJlZ2V4KCk7XG5cbmJsb2NrLnBhcmFncmFwaCA9IGVkaXQoYmxvY2suX3BhcmFncmFwaClcbiAgLnJlcGxhY2UoJ2hyJywgYmxvY2suaHIpXG4gIC5yZXBsYWNlKCdoZWFkaW5nJywgJyB7MCwzfSN7MSw2fSArJylcbiAgLnJlcGxhY2UoJ3xsaGVhZGluZycsICcnKSAvLyBzZXRleCBoZWFkaW5ncyBkb24ndCBpbnRlcnJ1cHQgY29tbW9ubWFyayBwYXJhZ3JhcGhzXG4gIC5yZXBsYWNlKCdibG9ja3F1b3RlJywgJyB7MCwzfT4nKVxuICAucmVwbGFjZSgnZmVuY2VzJywgJyB7MCwzfSg/OmB7Myx9fH57Myx9KVteYFxcXFxuXSpcXFxcbicpXG4gIC5yZXBsYWNlKCdsaXN0JywgJyB7MCwzfSg/OlsqKy1dfDFbLildKSAnKSAvLyBvbmx5IGxpc3RzIHN0YXJ0aW5nIGZyb20gMSBjYW4gaW50ZXJydXB0XG4gIC5yZXBsYWNlKCdodG1sJywgJzwvPyg/OnRhZykoPzogK3xcXFxcbnwvPz4pfDwoPzpzY3JpcHR8cHJlfHN0eWxlfCEtLSknKVxuICAucmVwbGFjZSgndGFnJywgYmxvY2suX3RhZykgLy8gcGFycyBjYW4gYmUgaW50ZXJydXB0ZWQgYnkgdHlwZSAoNikgaHRtbCBibG9ja3NcbiAgLmdldFJlZ2V4KCk7XG5cbmJsb2NrLmJsb2NrcXVvdGUgPSBlZGl0KGJsb2NrLmJsb2NrcXVvdGUpXG4gIC5yZXBsYWNlKCdwYXJhZ3JhcGgnLCBibG9jay5wYXJhZ3JhcGgpXG4gIC5nZXRSZWdleCgpO1xuXG4vKipcbiAqIE5vcm1hbCBCbG9jayBHcmFtbWFyXG4gKi9cblxuYmxvY2subm9ybWFsID0gbWVyZ2Uoe30sIGJsb2NrKTtcblxuLyoqXG4gKiBHRk0gQmxvY2sgR3JhbW1hclxuICovXG5cbmJsb2NrLmdmbSA9IG1lcmdlKHt9LCBibG9jay5ub3JtYWwsIHtcbiAgbnB0YWJsZTogL14gKihbXnxcXG4gXS4qXFx8LiopXFxuICooWy06XSsgKlxcfFstfCA6XSopKD86XFxuKCg/Oi4qW14+XFxuIF0uKig/OlxcbnwkKSkqKVxcbip8JCkvLFxuICB0YWJsZTogL14gKlxcfCguKylcXG4gKlxcfD8oICpbLTpdK1stfCA6XSopKD86XFxuKCg/OiAqW14+XFxuIF0uKig/OlxcbnwkKSkqKVxcbip8JCkvXG59KTtcblxuLyoqXG4gKiBQZWRhbnRpYyBncmFtbWFyIChvcmlnaW5hbCBKb2huIEdydWJlcidzIGxvb3NlIG1hcmtkb3duIHNwZWNpZmljYXRpb24pXG4gKi9cblxuYmxvY2sucGVkYW50aWMgPSBtZXJnZSh7fSwgYmxvY2subm9ybWFsLCB7XG4gIGh0bWw6IGVkaXQoXG4gICAgJ14gKig/OmNvbW1lbnQgKig/OlxcXFxufFxcXFxzKiQpJ1xuICAgICsgJ3w8KHRhZylbXFxcXHNcXFxcU10rPzwvXFxcXDE+ICooPzpcXFxcbnsyLH18XFxcXHMqJCknIC8vIGNsb3NlZCB0YWdcbiAgICArICd8PHRhZyg/OlwiW15cIl0qXCJ8XFwnW15cXCddKlxcJ3xcXFxcc1teXFwnXCIvPlxcXFxzXSopKj8vPz4gKig/OlxcXFxuezIsfXxcXFxccyokKSknKVxuICAgIC5yZXBsYWNlKCdjb21tZW50JywgYmxvY2suX2NvbW1lbnQpXG4gICAgLnJlcGxhY2UoL3RhZy9nLCAnKD8hKD86J1xuICAgICAgKyAnYXxlbXxzdHJvbmd8c21hbGx8c3xjaXRlfHF8ZGZufGFiYnJ8ZGF0YXx0aW1lfGNvZGV8dmFyfHNhbXB8a2JkfHN1YidcbiAgICAgICsgJ3xzdXB8aXxifHV8bWFya3xydWJ5fHJ0fHJwfGJkaXxiZG98c3Bhbnxicnx3YnJ8aW5zfGRlbHxpbWcpJ1xuICAgICAgKyAnXFxcXGIpXFxcXHcrKD8hOnxbXlxcXFx3XFxcXHNAXSpAKVxcXFxiJylcbiAgICAuZ2V0UmVnZXgoKSxcbiAgZGVmOiAvXiAqXFxbKFteXFxdXSspXFxdOiAqPD8oW15cXHM+XSspPj8oPzogKyhbXCIoXVteXFxuXStbXCIpXSkpPyAqKD86XFxuK3wkKS8sXG4gIGhlYWRpbmc6IC9eICooI3sxLDZ9KSAqKFteXFxuXSs/KSAqKD86IysgKik/KD86XFxuK3wkKS8sXG4gIGZlbmNlczogbm9vcCwgLy8gZmVuY2VzIG5vdCBzdXBwb3J0ZWRcbiAgcGFyYWdyYXBoOiBlZGl0KGJsb2NrLm5vcm1hbC5fcGFyYWdyYXBoKVxuICAgIC5yZXBsYWNlKCdocicsIGJsb2NrLmhyKVxuICAgIC5yZXBsYWNlKCdoZWFkaW5nJywgJyAqI3sxLDZ9ICpbXlxcbl0nKVxuICAgIC5yZXBsYWNlKCdsaGVhZGluZycsIGJsb2NrLmxoZWFkaW5nKVxuICAgIC5yZXBsYWNlKCdibG9ja3F1b3RlJywgJyB7MCwzfT4nKVxuICAgIC5yZXBsYWNlKCd8ZmVuY2VzJywgJycpXG4gICAgLnJlcGxhY2UoJ3xsaXN0JywgJycpXG4gICAgLnJlcGxhY2UoJ3xodG1sJywgJycpXG4gICAgLmdldFJlZ2V4KClcbn0pO1xuXG4vKipcbiAqIEJsb2NrIExleGVyXG4gKi9cblxuZnVuY3Rpb24gTGV4ZXIob3B0aW9ucykge1xuICB0aGlzLnRva2VucyA9IFtdO1xuICB0aGlzLnRva2Vucy5saW5rcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgfHwgbWFya2VkLmRlZmF1bHRzO1xuICB0aGlzLnJ1bGVzID0gYmxvY2subm9ybWFsO1xuXG4gIGlmICh0aGlzLm9wdGlvbnMucGVkYW50aWMpIHtcbiAgICB0aGlzLnJ1bGVzID0gYmxvY2sucGVkYW50aWM7XG4gIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zLmdmbSkge1xuICAgIHRoaXMucnVsZXMgPSBibG9jay5nZm07XG4gIH1cbn1cblxuLyoqXG4gKiBFeHBvc2UgQmxvY2sgUnVsZXNcbiAqL1xuXG5MZXhlci5ydWxlcyA9IGJsb2NrO1xuXG4vKipcbiAqIFN0YXRpYyBMZXggTWV0aG9kXG4gKi9cblxuTGV4ZXIubGV4ID0gZnVuY3Rpb24oc3JjLCBvcHRpb25zKSB7XG4gIHZhciBsZXhlciA9IG5ldyBMZXhlcihvcHRpb25zKTtcbiAgcmV0dXJuIGxleGVyLmxleChzcmMpO1xufTtcblxuLyoqXG4gKiBQcmVwcm9jZXNzaW5nXG4gKi9cblxuTGV4ZXIucHJvdG90eXBlLmxleCA9IGZ1bmN0aW9uKHNyYykge1xuICBzcmMgPSBzcmNcbiAgICAucmVwbGFjZSgvXFxyXFxufFxcci9nLCAnXFxuJylcbiAgICAucmVwbGFjZSgvXFx0L2csICcgICAgJylcbiAgICAucmVwbGFjZSgvXFx1MDBhMC9nLCAnICcpXG4gICAgLnJlcGxhY2UoL1xcdTI0MjQvZywgJ1xcbicpO1xuXG4gIHJldHVybiB0aGlzLnRva2VuKHNyYywgdHJ1ZSk7XG59O1xuXG4vKipcbiAqIExleGluZ1xuICovXG5cbkxleGVyLnByb3RvdHlwZS50b2tlbiA9IGZ1bmN0aW9uKHNyYywgdG9wKSB7XG4gIHNyYyA9IHNyYy5yZXBsYWNlKC9eICskL2dtLCAnJyk7XG4gIHZhciBuZXh0LFxuICAgICAgbG9vc2UsXG4gICAgICBjYXAsXG4gICAgICBidWxsLFxuICAgICAgYixcbiAgICAgIGl0ZW0sXG4gICAgICBsaXN0U3RhcnQsXG4gICAgICBsaXN0SXRlbXMsXG4gICAgICB0LFxuICAgICAgc3BhY2UsXG4gICAgICBpLFxuICAgICAgdGFnLFxuICAgICAgbCxcbiAgICAgIGlzb3JkZXJlZCxcbiAgICAgIGlzdGFzayxcbiAgICAgIGlzY2hlY2tlZDtcblxuICB3aGlsZSAoc3JjKSB7XG4gICAgLy8gbmV3bGluZVxuICAgIGlmIChjYXAgPSB0aGlzLnJ1bGVzLm5ld2xpbmUuZXhlYyhzcmMpKSB7XG4gICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO1xuICAgICAgaWYgKGNhcFswXS5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnB1c2goe1xuICAgICAgICAgIHR5cGU6ICdzcGFjZSdcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gY29kZVxuICAgIGlmIChjYXAgPSB0aGlzLnJ1bGVzLmNvZGUuZXhlYyhzcmMpKSB7XG4gICAgICB2YXIgbGFzdFRva2VuID0gdGhpcy50b2tlbnNbdGhpcy50b2tlbnMubGVuZ3RoIC0gMV07XG4gICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO1xuICAgICAgLy8gQW4gaW5kZW50ZWQgY29kZSBibG9jayBjYW5ub3QgaW50ZXJydXB0IGEgcGFyYWdyYXBoLlxuICAgICAgaWYgKGxhc3RUb2tlbiAmJiBsYXN0VG9rZW4udHlwZSA9PT0gJ3BhcmFncmFwaCcpIHtcbiAgICAgICAgbGFzdFRva2VuLnRleHQgKz0gJ1xcbicgKyBjYXBbMF0udHJpbVJpZ2h0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYXAgPSBjYXBbMF0ucmVwbGFjZSgvXiB7NH0vZ20sICcnKTtcbiAgICAgICAgdGhpcy50b2tlbnMucHVzaCh7XG4gICAgICAgICAgdHlwZTogJ2NvZGUnLFxuICAgICAgICAgIGNvZGVCbG9ja1N0eWxlOiAnaW5kZW50ZWQnLFxuICAgICAgICAgIHRleHQ6ICF0aGlzLm9wdGlvbnMucGVkYW50aWNcbiAgICAgICAgICAgID8gcnRyaW0oY2FwLCAnXFxuJylcbiAgICAgICAgICAgIDogY2FwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gZmVuY2VzXG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMuZmVuY2VzLmV4ZWMoc3JjKSkge1xuICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtcbiAgICAgIHRoaXMudG9rZW5zLnB1c2goe1xuICAgICAgICB0eXBlOiAnY29kZScsXG4gICAgICAgIGxhbmc6IGNhcFsyXSA/IGNhcFsyXS50cmltKCkgOiBjYXBbMl0sXG4gICAgICAgIHRleHQ6IGNhcFszXSB8fCAnJ1xuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBoZWFkaW5nXG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMuaGVhZGluZy5leGVjKHNyYykpIHtcbiAgICAgIHNyYyA9IHNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7XG4gICAgICB0aGlzLnRva2Vucy5wdXNoKHtcbiAgICAgICAgdHlwZTogJ2hlYWRpbmcnLFxuICAgICAgICBkZXB0aDogY2FwWzFdLmxlbmd0aCxcbiAgICAgICAgdGV4dDogY2FwWzJdXG4gICAgICB9KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIHRhYmxlIG5vIGxlYWRpbmcgcGlwZSAoZ2ZtKVxuICAgIGlmIChjYXAgPSB0aGlzLnJ1bGVzLm5wdGFibGUuZXhlYyhzcmMpKSB7XG4gICAgICBpdGVtID0ge1xuICAgICAgICB0eXBlOiAndGFibGUnLFxuICAgICAgICBoZWFkZXI6IHNwbGl0Q2VsbHMoY2FwWzFdLnJlcGxhY2UoL14gKnwgKlxcfCAqJC9nLCAnJykpLFxuICAgICAgICBhbGlnbjogY2FwWzJdLnJlcGxhY2UoL14gKnxcXHwgKiQvZywgJycpLnNwbGl0KC8gKlxcfCAqLyksXG4gICAgICAgIGNlbGxzOiBjYXBbM10gPyBjYXBbM10ucmVwbGFjZSgvXFxuJC8sICcnKS5zcGxpdCgnXFxuJykgOiBbXVxuICAgICAgfTtcblxuICAgICAgaWYgKGl0ZW0uaGVhZGVyLmxlbmd0aCA9PT0gaXRlbS5hbGlnbi5sZW5ndGgpIHtcbiAgICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtcblxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgaXRlbS5hbGlnbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGlmICgvXiAqLSs6ICokLy50ZXN0KGl0ZW0uYWxpZ25baV0pKSB7XG4gICAgICAgICAgICBpdGVtLmFsaWduW2ldID0gJ3JpZ2h0JztcbiAgICAgICAgICB9IGVsc2UgaWYgKC9eICo6LSs6ICokLy50ZXN0KGl0ZW0uYWxpZ25baV0pKSB7XG4gICAgICAgICAgICBpdGVtLmFsaWduW2ldID0gJ2NlbnRlcic7XG4gICAgICAgICAgfSBlbHNlIGlmICgvXiAqOi0rICokLy50ZXN0KGl0ZW0uYWxpZ25baV0pKSB7XG4gICAgICAgICAgICBpdGVtLmFsaWduW2ldID0gJ2xlZnQnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpdGVtLmFsaWduW2ldID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgaXRlbS5jZWxscy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGl0ZW0uY2VsbHNbaV0gPSBzcGxpdENlbGxzKGl0ZW0uY2VsbHNbaV0sIGl0ZW0uaGVhZGVyLmxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRva2Vucy5wdXNoKGl0ZW0pO1xuXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGhyXG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMuaHIuZXhlYyhzcmMpKSB7XG4gICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO1xuICAgICAgdGhpcy50b2tlbnMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdocidcbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gYmxvY2txdW90ZVxuICAgIGlmIChjYXAgPSB0aGlzLnJ1bGVzLmJsb2NrcXVvdGUuZXhlYyhzcmMpKSB7XG4gICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO1xuXG4gICAgICB0aGlzLnRva2Vucy5wdXNoKHtcbiAgICAgICAgdHlwZTogJ2Jsb2NrcXVvdGVfc3RhcnQnXG4gICAgICB9KTtcblxuICAgICAgY2FwID0gY2FwWzBdLnJlcGxhY2UoL14gKj4gPy9nbSwgJycpO1xuXG4gICAgICAvLyBQYXNzIGB0b3BgIHRvIGtlZXAgdGhlIGN1cnJlbnRcbiAgICAgIC8vIFwidG9wbGV2ZWxcIiBzdGF0ZS4gVGhpcyBpcyBleGFjdGx5XG4gICAgICAvLyBob3cgbWFya2Rvd24ucGwgd29ya3MuXG4gICAgICB0aGlzLnRva2VuKGNhcCwgdG9wKTtcblxuICAgICAgdGhpcy50b2tlbnMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdibG9ja3F1b3RlX2VuZCdcbiAgICAgIH0pO1xuXG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBsaXN0XG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMubGlzdC5leGVjKHNyYykpIHtcbiAgICAgIHNyYyA9IHNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7XG4gICAgICBidWxsID0gY2FwWzJdO1xuICAgICAgaXNvcmRlcmVkID0gYnVsbC5sZW5ndGggPiAxO1xuXG4gICAgICBsaXN0U3RhcnQgPSB7XG4gICAgICAgIHR5cGU6ICdsaXN0X3N0YXJ0JyxcbiAgICAgICAgb3JkZXJlZDogaXNvcmRlcmVkLFxuICAgICAgICBzdGFydDogaXNvcmRlcmVkID8gK2J1bGwgOiAnJyxcbiAgICAgICAgbG9vc2U6IGZhbHNlXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnRva2Vucy5wdXNoKGxpc3RTdGFydCk7XG5cbiAgICAgIC8vIEdldCBlYWNoIHRvcC1sZXZlbCBpdGVtLlxuICAgICAgY2FwID0gY2FwWzBdLm1hdGNoKHRoaXMucnVsZXMuaXRlbSk7XG5cbiAgICAgIGxpc3RJdGVtcyA9IFtdO1xuICAgICAgbmV4dCA9IGZhbHNlO1xuICAgICAgbCA9IGNhcC5sZW5ndGg7XG4gICAgICBpID0gMDtcblxuICAgICAgZm9yICg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaXRlbSA9IGNhcFtpXTtcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIGxpc3QgaXRlbSdzIGJ1bGxldFxuICAgICAgICAvLyBzbyBpdCBpcyBzZWVuIGFzIHRoZSBuZXh0IHRva2VuLlxuICAgICAgICBzcGFjZSA9IGl0ZW0ubGVuZ3RoO1xuICAgICAgICBpdGVtID0gaXRlbS5yZXBsYWNlKC9eICooWyorLV18XFxkK1xcLikgKi8sICcnKTtcblxuICAgICAgICAvLyBPdXRkZW50IHdoYXRldmVyIHRoZVxuICAgICAgICAvLyBsaXN0IGl0ZW0gY29udGFpbnMuIEhhY2t5LlxuICAgICAgICBpZiAofml0ZW0uaW5kZXhPZignXFxuICcpKSB7XG4gICAgICAgICAgc3BhY2UgLT0gaXRlbS5sZW5ndGg7XG4gICAgICAgICAgaXRlbSA9ICF0aGlzLm9wdGlvbnMucGVkYW50aWNcbiAgICAgICAgICAgID8gaXRlbS5yZXBsYWNlKG5ldyBSZWdFeHAoJ14gezEsJyArIHNwYWNlICsgJ30nLCAnZ20nKSwgJycpXG4gICAgICAgICAgICA6IGl0ZW0ucmVwbGFjZSgvXiB7MSw0fS9nbSwgJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG5leHQgbGlzdCBpdGVtIGJlbG9uZ3MgaGVyZS5cbiAgICAgICAgLy8gQmFja3BlZGFsIGlmIGl0IGRvZXMgbm90IGJlbG9uZyBpbiB0aGlzIGxpc3QuXG4gICAgICAgIGlmIChpICE9PSBsIC0gMSkge1xuICAgICAgICAgIGIgPSBibG9jay5idWxsZXQuZXhlYyhjYXBbaSArIDFdKVswXTtcbiAgICAgICAgICBpZiAoYnVsbC5sZW5ndGggPiAxID8gYi5sZW5ndGggPT09IDFcbiAgICAgICAgICAgIDogKGIubGVuZ3RoID4gMSB8fCAodGhpcy5vcHRpb25zLnNtYXJ0TGlzdHMgJiYgYiAhPT0gYnVsbCkpKSB7XG4gICAgICAgICAgICBzcmMgPSBjYXAuc2xpY2UoaSArIDEpLmpvaW4oJ1xcbicpICsgc3JjO1xuICAgICAgICAgICAgaSA9IGwgLSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERldGVybWluZSB3aGV0aGVyIGl0ZW0gaXMgbG9vc2Ugb3Igbm90LlxuICAgICAgICAvLyBVc2U6IC8oXnxcXG4pKD8hIClbXlxcbl0rXFxuXFxuKD8hXFxzKiQpL1xuICAgICAgICAvLyBmb3IgZGlzY291bnQgYmVoYXZpb3IuXG4gICAgICAgIGxvb3NlID0gbmV4dCB8fCAvXFxuXFxuKD8hXFxzKiQpLy50ZXN0KGl0ZW0pO1xuICAgICAgICBpZiAoaSAhPT0gbCAtIDEpIHtcbiAgICAgICAgICBuZXh0ID0gaXRlbS5jaGFyQXQoaXRlbS5sZW5ndGggLSAxKSA9PT0gJ1xcbic7XG4gICAgICAgICAgaWYgKCFsb29zZSkgbG9vc2UgPSBuZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxvb3NlKSB7XG4gICAgICAgICAgbGlzdFN0YXJ0Lmxvb3NlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIGZvciB0YXNrIGxpc3QgaXRlbXNcbiAgICAgICAgaXN0YXNrID0gL15cXFtbIHhYXVxcXSAvLnRlc3QoaXRlbSk7XG4gICAgICAgIGlzY2hlY2tlZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGlzdGFzaykge1xuICAgICAgICAgIGlzY2hlY2tlZCA9IGl0ZW1bMV0gIT09ICcgJztcbiAgICAgICAgICBpdGVtID0gaXRlbS5yZXBsYWNlKC9eXFxbWyB4WF1cXF0gKy8sICcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHQgPSB7XG4gICAgICAgICAgdHlwZTogJ2xpc3RfaXRlbV9zdGFydCcsXG4gICAgICAgICAgdGFzazogaXN0YXNrLFxuICAgICAgICAgIGNoZWNrZWQ6IGlzY2hlY2tlZCxcbiAgICAgICAgICBsb29zZTogbG9vc2VcbiAgICAgICAgfTtcblxuICAgICAgICBsaXN0SXRlbXMucHVzaCh0KTtcbiAgICAgICAgdGhpcy50b2tlbnMucHVzaCh0KTtcblxuICAgICAgICAvLyBSZWN1cnNlLlxuICAgICAgICB0aGlzLnRva2VuKGl0ZW0sIGZhbHNlKTtcblxuICAgICAgICB0aGlzLnRva2Vucy5wdXNoKHtcbiAgICAgICAgICB0eXBlOiAnbGlzdF9pdGVtX2VuZCdcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChsaXN0U3RhcnQubG9vc2UpIHtcbiAgICAgICAgbCA9IGxpc3RJdGVtcy5sZW5ndGg7XG4gICAgICAgIGkgPSAwO1xuICAgICAgICBmb3IgKDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgIGxpc3RJdGVtc1tpXS5sb29zZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy50b2tlbnMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdsaXN0X2VuZCdcbiAgICAgIH0pO1xuXG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBodG1sXG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMuaHRtbC5leGVjKHNyYykpIHtcbiAgICAgIHNyYyA9IHNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7XG4gICAgICB0aGlzLnRva2Vucy5wdXNoKHtcbiAgICAgICAgdHlwZTogdGhpcy5vcHRpb25zLnNhbml0aXplXG4gICAgICAgICAgPyAncGFyYWdyYXBoJ1xuICAgICAgICAgIDogJ2h0bWwnLFxuICAgICAgICBwcmU6ICF0aGlzLm9wdGlvbnMuc2FuaXRpemVyXG4gICAgICAgICAgJiYgKGNhcFsxXSA9PT0gJ3ByZScgfHwgY2FwWzFdID09PSAnc2NyaXB0JyB8fCBjYXBbMV0gPT09ICdzdHlsZScpLFxuICAgICAgICB0ZXh0OiB0aGlzLm9wdGlvbnMuc2FuaXRpemUgPyAodGhpcy5vcHRpb25zLnNhbml0aXplciA/IHRoaXMub3B0aW9ucy5zYW5pdGl6ZXIoY2FwWzBdKSA6IGVzY2FwZShjYXBbMF0pKSA6IGNhcFswXVxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBkZWZcbiAgICBpZiAodG9wICYmIChjYXAgPSB0aGlzLnJ1bGVzLmRlZi5leGVjKHNyYykpKSB7XG4gICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO1xuICAgICAgaWYgKGNhcFszXSkgY2FwWzNdID0gY2FwWzNdLnN1YnN0cmluZygxLCBjYXBbM10ubGVuZ3RoIC0gMSk7XG4gICAgICB0YWcgPSBjYXBbMV0udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICcgJyk7XG4gICAgICBpZiAoIXRoaXMudG9rZW5zLmxpbmtzW3RhZ10pIHtcbiAgICAgICAgdGhpcy50b2tlbnMubGlua3NbdGFnXSA9IHtcbiAgICAgICAgICBocmVmOiBjYXBbMl0sXG4gICAgICAgICAgdGl0bGU6IGNhcFszXVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gdGFibGUgKGdmbSlcbiAgICBpZiAoY2FwID0gdGhpcy5ydWxlcy50YWJsZS5leGVjKHNyYykpIHtcbiAgICAgIGl0ZW0gPSB7XG4gICAgICAgIHR5cGU6ICd0YWJsZScsXG4gICAgICAgIGhlYWRlcjogc3BsaXRDZWxscyhjYXBbMV0ucmVwbGFjZSgvXiAqfCAqXFx8ICokL2csICcnKSksXG4gICAgICAgIGFsaWduOiBjYXBbMl0ucmVwbGFjZSgvXiAqfFxcfCAqJC9nLCAnJykuc3BsaXQoLyAqXFx8ICovKSxcbiAgICAgICAgY2VsbHM6IGNhcFszXSA/IGNhcFszXS5yZXBsYWNlKC9cXG4kLywgJycpLnNwbGl0KCdcXG4nKSA6IFtdXG4gICAgICB9O1xuXG4gICAgICBpZiAoaXRlbS5oZWFkZXIubGVuZ3RoID09PSBpdGVtLmFsaWduLmxlbmd0aCkge1xuICAgICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO1xuXG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBpdGVtLmFsaWduLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKC9eICotKzogKiQvLnRlc3QoaXRlbS5hbGlnbltpXSkpIHtcbiAgICAgICAgICAgIGl0ZW0uYWxpZ25baV0gPSAncmlnaHQnO1xuICAgICAgICAgIH0gZWxzZSBpZiAoL14gKjotKzogKiQvLnRlc3QoaXRlbS5hbGlnbltpXSkpIHtcbiAgICAgICAgICAgIGl0ZW0uYWxpZ25baV0gPSAnY2VudGVyJztcbiAgICAgICAgICB9IGVsc2UgaWYgKC9eICo6LSsgKiQvLnRlc3QoaXRlbS5hbGlnbltpXSkpIHtcbiAgICAgICAgICAgIGl0ZW0uYWxpZ25baV0gPSAnbGVmdCc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGl0ZW0uYWxpZ25baV0gPSBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBpdGVtLmNlbGxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaXRlbS5jZWxsc1tpXSA9IHNwbGl0Q2VsbHMoXG4gICAgICAgICAgICBpdGVtLmNlbGxzW2ldLnJlcGxhY2UoL14gKlxcfCAqfCAqXFx8ICokL2csICcnKSxcbiAgICAgICAgICAgIGl0ZW0uaGVhZGVyLmxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRva2Vucy5wdXNoKGl0ZW0pO1xuXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGxoZWFkaW5nXG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMubGhlYWRpbmcuZXhlYyhzcmMpKSB7XG4gICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO1xuICAgICAgdGhpcy50b2tlbnMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdoZWFkaW5nJyxcbiAgICAgICAgZGVwdGg6IGNhcFsyXS5jaGFyQXQoMCkgPT09ICc9JyA/IDEgOiAyLFxuICAgICAgICB0ZXh0OiBjYXBbMV1cbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gdG9wLWxldmVsIHBhcmFncmFwaFxuICAgIGlmICh0b3AgJiYgKGNhcCA9IHRoaXMucnVsZXMucGFyYWdyYXBoLmV4ZWMoc3JjKSkpIHtcbiAgICAgIHNyYyA9IHNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7XG4gICAgICB0aGlzLnRva2Vucy5wdXNoKHtcbiAgICAgICAgdHlwZTogJ3BhcmFncmFwaCcsXG4gICAgICAgIHRleHQ6IGNhcFsxXS5jaGFyQXQoY2FwWzFdLmxlbmd0aCAtIDEpID09PSAnXFxuJ1xuICAgICAgICAgID8gY2FwWzFdLnNsaWNlKDAsIC0xKVxuICAgICAgICAgIDogY2FwWzFdXG4gICAgICB9KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIHRleHRcbiAgICBpZiAoY2FwID0gdGhpcy5ydWxlcy50ZXh0LmV4ZWMoc3JjKSkge1xuICAgICAgLy8gVG9wLWxldmVsIHNob3VsZCBuZXZlciByZWFjaCBoZXJlLlxuICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtcbiAgICAgIHRoaXMudG9rZW5zLnB1c2goe1xuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIHRleHQ6IGNhcFswXVxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoc3JjKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luZmluaXRlIGxvb3Agb24gYnl0ZTogJyArIHNyYy5jaGFyQ29kZUF0KDApKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGhpcy50b2tlbnM7XG59O1xuXG4vKipcbiAqIElubGluZS1MZXZlbCBHcmFtbWFyXG4gKi9cblxudmFyIGlubGluZSA9IHtcbiAgZXNjYXBlOiAvXlxcXFwoWyFcIiMkJSYnKCkqKyxcXC0uLzo7PD0+P0BcXFtcXF1cXFxcXl9ge3x9fl0pLyxcbiAgYXV0b2xpbms6IC9ePChzY2hlbWU6W15cXHNcXHgwMC1cXHgxZjw+XSp8ZW1haWwpPi8sXG4gIHVybDogbm9vcCxcbiAgdGFnOiAnXmNvbW1lbnQnXG4gICAgKyAnfF48L1thLXpBLVpdW1xcXFx3Oi1dKlxcXFxzKj4nIC8vIHNlbGYtY2xvc2luZyB0YWdcbiAgICArICd8XjxbYS16QS1aXVtcXFxcdy1dKig/OmF0dHJpYnV0ZSkqP1xcXFxzKi8/PicgLy8gb3BlbiB0YWdcbiAgICArICd8XjxcXFxcP1tcXFxcc1xcXFxTXSo/XFxcXD8+JyAvLyBwcm9jZXNzaW5nIGluc3RydWN0aW9uLCBlLmcuIDw/cGhwID8+XG4gICAgKyAnfF48IVthLXpBLVpdK1xcXFxzW1xcXFxzXFxcXFNdKj8+JyAvLyBkZWNsYXJhdGlvbiwgZS5nLiA8IURPQ1RZUEUgaHRtbD5cbiAgICArICd8XjwhXFxcXFtDREFUQVxcXFxbW1xcXFxzXFxcXFNdKj9cXFxcXVxcXFxdPicsIC8vIENEQVRBIHNlY3Rpb25cbiAgbGluazogL14hP1xcWyhsYWJlbClcXF1cXChcXHMqKGhyZWYpKD86XFxzKyh0aXRsZSkpP1xccypcXCkvLFxuICByZWZsaW5rOiAvXiE/XFxbKGxhYmVsKVxcXVxcWyg/IVxccypcXF0pKCg/OlxcXFxbXFxbXFxdXT98W15cXFtcXF1cXFxcXSkrKVxcXS8sXG4gIG5vbGluazogL14hP1xcWyg/IVxccypcXF0pKCg/OlxcW1teXFxbXFxdXSpcXF18XFxcXFtcXFtcXF1dfFteXFxbXFxdXSkqKVxcXSg/OlxcW1xcXSk/LyxcbiAgc3Ryb25nOiAvXl9fKFteXFxzX10pX18oPyFfKXxeXFwqXFwqKFteXFxzKl0pXFwqXFwqKD8hXFwqKXxeX18oW15cXHNdW1xcc1xcU10qP1teXFxzXSlfXyg/IV8pfF5cXCpcXCooW15cXHNdW1xcc1xcU10qP1teXFxzXSlcXCpcXCooPyFcXCopLyxcbiAgZW06IC9eXyhbXlxcc19dKV8oPyFfKXxeXFwqKFteXFxzKjxcXFtdKVxcKig/IVxcKil8Xl8oW15cXHM8XVtcXHNcXFNdKj9bXlxcc19dKV8oPyFffFteXFxzcHVuY3R1YXRpb25dKXxeXyhbXlxcc188XVtcXHNcXFNdKj9bXlxcc10pXyg/IV98W15cXHNwdW5jdHVhdGlvbl0pfF5cXCooW15cXHM8XCJdW1xcc1xcU10qP1teXFxzXFwqXSlcXCooPyFcXCp8W15cXHNwdW5jdHVhdGlvbl0pfF5cXCooW15cXHMqXCI8XFxbXVtcXHNcXFNdKj9bXlxcc10pXFwqKD8hXFwqKS8sXG4gIGNvZGU6IC9eKGArKShbXmBdfFteYF1bXFxzXFxTXSo/W15gXSlcXDEoPyFgKS8sXG4gIGJyOiAvXiggezIsfXxcXFxcKVxcbig/IVxccyokKS8sXG4gIGRlbDogbm9vcCxcbiAgdGV4dDogL14oYCt8W15gXSkoPzpbXFxzXFxTXSo/KD86KD89W1xcXFw8IVxcW2AqXXxcXGJffCQpfFteIF0oPz0gezIsfVxcbikpfCg/PSB7Mix9XFxuKSkvXG59O1xuXG4vLyBsaXN0IG9mIHB1bmN0dWF0aW9uIG1hcmtzIGZyb20gY29tbW9uIG1hcmsgc3BlY1xuLy8gd2l0aG91dCBgIGFuZCBdIHRvIHdvcmthcm91bmQgUnVsZSAxNyAoaW5saW5lIGNvZGUgYmxvY2tzL2xpbmtzKVxuaW5saW5lLl9wdW5jdHVhdGlvbiA9ICchXCIjJCUmXFwnKCkqKyxcXFxcLS4vOjs8PT4/QFxcXFxbXl97fH1+JztcbmlubGluZS5lbSA9IGVkaXQoaW5saW5lLmVtKS5yZXBsYWNlKC9wdW5jdHVhdGlvbi9nLCBpbmxpbmUuX3B1bmN0dWF0aW9uKS5nZXRSZWdleCgpO1xuXG5pbmxpbmUuX2VzY2FwZXMgPSAvXFxcXChbIVwiIyQlJicoKSorLFxcLS4vOjs8PT4/QFxcW1xcXVxcXFxeX2B7fH1+XSkvZztcblxuaW5saW5lLl9zY2hlbWUgPSAvW2EtekEtWl1bYS16QS1aMC05Ky4tXXsxLDMxfS87XG5pbmxpbmUuX2VtYWlsID0gL1thLXpBLVowLTkuISMkJSYnKisvPT9eX2B7fH1+LV0rKEApW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KD86XFwuW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KSsoPyFbLV9dKS87XG5pbmxpbmUuYXV0b2xpbmsgPSBlZGl0KGlubGluZS5hdXRvbGluaylcbiAgLnJlcGxhY2UoJ3NjaGVtZScsIGlubGluZS5fc2NoZW1lKVxuICAucmVwbGFjZSgnZW1haWwnLCBpbmxpbmUuX2VtYWlsKVxuICAuZ2V0UmVnZXgoKTtcblxuaW5saW5lLl9hdHRyaWJ1dGUgPSAvXFxzK1thLXpBLVo6X11bXFx3LjotXSooPzpcXHMqPVxccypcIlteXCJdKlwifFxccyo9XFxzKidbXiddKid8XFxzKj1cXHMqW15cXHNcIic9PD5gXSspPy87XG5cbmlubGluZS50YWcgPSBlZGl0KGlubGluZS50YWcpXG4gIC5yZXBsYWNlKCdjb21tZW50JywgYmxvY2suX2NvbW1lbnQpXG4gIC5yZXBsYWNlKCdhdHRyaWJ1dGUnLCBpbmxpbmUuX2F0dHJpYnV0ZSlcbiAgLmdldFJlZ2V4KCk7XG5cbmlubGluZS5fbGFiZWwgPSAvKD86XFxbW15cXFtcXF1dKlxcXXxcXFxcLnxgW15gXSpgfFteXFxbXFxdXFxcXGBdKSo/LztcbmlubGluZS5faHJlZiA9IC88KD86XFxcXFs8Pl0/fFteXFxzPD5cXFxcXSkqPnxbXlxcc1xceDAwLVxceDFmXSovO1xuaW5saW5lLl90aXRsZSA9IC9cIig/OlxcXFxcIj98W15cIlxcXFxdKSpcInwnKD86XFxcXCc/fFteJ1xcXFxdKSonfFxcKCg/OlxcXFxcXCk/fFteKVxcXFxdKSpcXCkvO1xuXG5pbmxpbmUubGluayA9IGVkaXQoaW5saW5lLmxpbmspXG4gIC5yZXBsYWNlKCdsYWJlbCcsIGlubGluZS5fbGFiZWwpXG4gIC5yZXBsYWNlKCdocmVmJywgaW5saW5lLl9ocmVmKVxuICAucmVwbGFjZSgndGl0bGUnLCBpbmxpbmUuX3RpdGxlKVxuICAuZ2V0UmVnZXgoKTtcblxuaW5saW5lLnJlZmxpbmsgPSBlZGl0KGlubGluZS5yZWZsaW5rKVxuICAucmVwbGFjZSgnbGFiZWwnLCBpbmxpbmUuX2xhYmVsKVxuICAuZ2V0UmVnZXgoKTtcblxuLyoqXG4gKiBOb3JtYWwgSW5saW5lIEdyYW1tYXJcbiAqL1xuXG5pbmxpbmUubm9ybWFsID0gbWVyZ2Uoe30sIGlubGluZSk7XG5cbi8qKlxuICogUGVkYW50aWMgSW5saW5lIEdyYW1tYXJcbiAqL1xuXG5pbmxpbmUucGVkYW50aWMgPSBtZXJnZSh7fSwgaW5saW5lLm5vcm1hbCwge1xuICBzdHJvbmc6IC9eX18oPz1cXFMpKFtcXHNcXFNdKj9cXFMpX18oPyFfKXxeXFwqXFwqKD89XFxTKShbXFxzXFxTXSo/XFxTKVxcKlxcKig/IVxcKikvLFxuICBlbTogL15fKD89XFxTKShbXFxzXFxTXSo/XFxTKV8oPyFfKXxeXFwqKD89XFxTKShbXFxzXFxTXSo/XFxTKVxcKig/IVxcKikvLFxuICBsaW5rOiBlZGl0KC9eIT9cXFsobGFiZWwpXFxdXFwoKC4qPylcXCkvKVxuICAgIC5yZXBsYWNlKCdsYWJlbCcsIGlubGluZS5fbGFiZWwpXG4gICAgLmdldFJlZ2V4KCksXG4gIHJlZmxpbms6IGVkaXQoL14hP1xcWyhsYWJlbClcXF1cXHMqXFxbKFteXFxdXSopXFxdLylcbiAgICAucmVwbGFjZSgnbGFiZWwnLCBpbmxpbmUuX2xhYmVsKVxuICAgIC5nZXRSZWdleCgpXG59KTtcblxuLyoqXG4gKiBHRk0gSW5saW5lIEdyYW1tYXJcbiAqL1xuXG5pbmxpbmUuZ2ZtID0gbWVyZ2Uoe30sIGlubGluZS5ub3JtYWwsIHtcbiAgZXNjYXBlOiBlZGl0KGlubGluZS5lc2NhcGUpLnJlcGxhY2UoJ10pJywgJ358XSknKS5nZXRSZWdleCgpLFxuICBfZXh0ZW5kZWRfZW1haWw6IC9bQS1aYS16MC05Ll8rLV0rKEApW2EtekEtWjAtOS1fXSsoPzpcXC5bYS16QS1aMC05LV9dKlthLXpBLVowLTldKSsoPyFbLV9dKS8sXG4gIHVybDogL14oKD86ZnRwfGh0dHBzPyk6XFwvXFwvfHd3d1xcLikoPzpbYS16QS1aMC05XFwtXStcXC4/KStbXlxcczxdKnxeZW1haWwvLFxuICBfYmFja3BlZGFsOiAvKD86W14/IS4sOjsqX34oKSZdK3xcXChbXildKlxcKXwmKD8hW2EtekEtWjAtOV0rOyQpfFs/IS4sOjsqX34pXSsoPyEkKSkrLyxcbiAgZGVsOiAvXn4rKD89XFxTKShbXFxzXFxTXSo/XFxTKX4rLyxcbiAgdGV4dDogL14oYCt8W15gXSkoPzpbXFxzXFxTXSo/KD86KD89W1xcXFw8IVxcW2Aqfl18XFxiX3xodHRwcz86XFwvXFwvfGZ0cDpcXC9cXC98d3d3XFwufCQpfFteIF0oPz0gezIsfVxcbil8W15hLXpBLVowLTkuISMkJSYnKitcXC89P19ge1xcfH1+LV0oPz1bYS16QS1aMC05LiEjJCUmJyorXFwvPT9fYHtcXHx9fi1dK0ApKXwoPz0gezIsfVxcbnxbYS16QS1aMC05LiEjJCUmJyorXFwvPT9fYHtcXHx9fi1dK0ApKS9cbn0pO1xuXG5pbmxpbmUuZ2ZtLnVybCA9IGVkaXQoaW5saW5lLmdmbS51cmwsICdpJylcbiAgLnJlcGxhY2UoJ2VtYWlsJywgaW5saW5lLmdmbS5fZXh0ZW5kZWRfZW1haWwpXG4gIC5nZXRSZWdleCgpO1xuLyoqXG4gKiBHRk0gKyBMaW5lIEJyZWFrcyBJbmxpbmUgR3JhbW1hclxuICovXG5cbmlubGluZS5icmVha3MgPSBtZXJnZSh7fSwgaW5saW5lLmdmbSwge1xuICBicjogZWRpdChpbmxpbmUuYnIpLnJlcGxhY2UoJ3syLH0nLCAnKicpLmdldFJlZ2V4KCksXG4gIHRleHQ6IGVkaXQoaW5saW5lLmdmbS50ZXh0KVxuICAgIC5yZXBsYWNlKCdcXFxcYl8nLCAnXFxcXGJffCB7Mix9XFxcXG4nKVxuICAgIC5yZXBsYWNlKC9cXHsyLFxcfS9nLCAnKicpXG4gICAgLmdldFJlZ2V4KClcbn0pO1xuXG4vKipcbiAqIElubGluZSBMZXhlciAmIENvbXBpbGVyXG4gKi9cblxuZnVuY3Rpb24gSW5saW5lTGV4ZXIobGlua3MsIG9wdGlvbnMpIHtcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyB8fCBtYXJrZWQuZGVmYXVsdHM7XG4gIHRoaXMubGlua3MgPSBsaW5rcztcbiAgdGhpcy5ydWxlcyA9IGlubGluZS5ub3JtYWw7XG4gIHRoaXMucmVuZGVyZXIgPSB0aGlzLm9wdGlvbnMucmVuZGVyZXIgfHwgbmV3IFJlbmRlcmVyKCk7XG4gIHRoaXMucmVuZGVyZXIub3B0aW9ucyA9IHRoaXMub3B0aW9ucztcblxuICBpZiAoIXRoaXMubGlua3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rva2VucyBhcnJheSByZXF1aXJlcyBhIGBsaW5rc2AgcHJvcGVydHkuJyk7XG4gIH1cblxuICBpZiAodGhpcy5vcHRpb25zLnBlZGFudGljKSB7XG4gICAgdGhpcy5ydWxlcyA9IGlubGluZS5wZWRhbnRpYztcbiAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMuZ2ZtKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5icmVha3MpIHtcbiAgICAgIHRoaXMucnVsZXMgPSBpbmxpbmUuYnJlYWtzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJ1bGVzID0gaW5saW5lLmdmbTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBFeHBvc2UgSW5saW5lIFJ1bGVzXG4gKi9cblxuSW5saW5lTGV4ZXIucnVsZXMgPSBpbmxpbmU7XG5cbi8qKlxuICogU3RhdGljIExleGluZy9Db21waWxpbmcgTWV0aG9kXG4gKi9cblxuSW5saW5lTGV4ZXIub3V0cHV0ID0gZnVuY3Rpb24oc3JjLCBsaW5rcywgb3B0aW9ucykge1xuICB2YXIgaW5saW5lID0gbmV3IElubGluZUxleGVyKGxpbmtzLCBvcHRpb25zKTtcbiAgcmV0dXJuIGlubGluZS5vdXRwdXQoc3JjKTtcbn07XG5cbi8qKlxuICogTGV4aW5nL0NvbXBpbGluZ1xuICovXG5cbklubGluZUxleGVyLnByb3RvdHlwZS5vdXRwdXQgPSBmdW5jdGlvbihzcmMpIHtcbiAgdmFyIG91dCA9ICcnLFxuICAgICAgbGluayxcbiAgICAgIHRleHQsXG4gICAgICBocmVmLFxuICAgICAgdGl0bGUsXG4gICAgICBjYXAsXG4gICAgICBwcmV2Q2FwWmVybztcblxuICB3aGlsZSAoc3JjKSB7XG4gICAgLy8gZXNjYXBlXG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMuZXNjYXBlLmV4ZWMoc3JjKSkge1xuICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtcbiAgICAgIG91dCArPSBlc2NhcGUoY2FwWzFdKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIHRhZ1xuICAgIGlmIChjYXAgPSB0aGlzLnJ1bGVzLnRhZy5leGVjKHNyYykpIHtcbiAgICAgIGlmICghdGhpcy5pbkxpbmsgJiYgL148YSAvaS50ZXN0KGNhcFswXSkpIHtcbiAgICAgICAgdGhpcy5pbkxpbmsgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmluTGluayAmJiAvXjxcXC9hPi9pLnRlc3QoY2FwWzBdKSkge1xuICAgICAgICB0aGlzLmluTGluayA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmluUmF3QmxvY2sgJiYgL148KHByZXxjb2RlfGtiZHxzY3JpcHQpKFxcc3w+KS9pLnRlc3QoY2FwWzBdKSkge1xuICAgICAgICB0aGlzLmluUmF3QmxvY2sgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmluUmF3QmxvY2sgJiYgL148XFwvKHByZXxjb2RlfGtiZHxzY3JpcHQpKFxcc3w+KS9pLnRlc3QoY2FwWzBdKSkge1xuICAgICAgICB0aGlzLmluUmF3QmxvY2sgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtcbiAgICAgIG91dCArPSB0aGlzLm9wdGlvbnMuc2FuaXRpemVcbiAgICAgICAgPyB0aGlzLm9wdGlvbnMuc2FuaXRpemVyXG4gICAgICAgICAgPyB0aGlzLm9wdGlvbnMuc2FuaXRpemVyKGNhcFswXSlcbiAgICAgICAgICA6IGVzY2FwZShjYXBbMF0pXG4gICAgICAgIDogY2FwWzBdO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gbGlua1xuICAgIGlmIChjYXAgPSB0aGlzLnJ1bGVzLmxpbmsuZXhlYyhzcmMpKSB7XG4gICAgICB2YXIgbGFzdFBhcmVuSW5kZXggPSBmaW5kQ2xvc2luZ0JyYWNrZXQoY2FwWzJdLCAnKCknKTtcbiAgICAgIGlmIChsYXN0UGFyZW5JbmRleCA+IC0xKSB7XG4gICAgICAgIHZhciBsaW5rTGVuID0gNCArIGNhcFsxXS5sZW5ndGggKyBsYXN0UGFyZW5JbmRleDtcbiAgICAgICAgY2FwWzJdID0gY2FwWzJdLnN1YnN0cmluZygwLCBsYXN0UGFyZW5JbmRleCk7XG4gICAgICAgIGNhcFswXSA9IGNhcFswXS5zdWJzdHJpbmcoMCwgbGlua0xlbikudHJpbSgpO1xuICAgICAgICBjYXBbM10gPSAnJztcbiAgICAgIH1cbiAgICAgIHNyYyA9IHNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7XG4gICAgICB0aGlzLmluTGluayA9IHRydWU7XG4gICAgICBocmVmID0gY2FwWzJdO1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5wZWRhbnRpYykge1xuICAgICAgICBsaW5rID0gL14oW14nXCJdKlteXFxzXSlcXHMrKFsnXCJdKSguKilcXDIvLmV4ZWMoaHJlZik7XG5cbiAgICAgICAgaWYgKGxpbmspIHtcbiAgICAgICAgICBocmVmID0gbGlua1sxXTtcbiAgICAgICAgICB0aXRsZSA9IGxpbmtbM107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGl0bGUgPSAnJztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGl0bGUgPSBjYXBbM10gPyBjYXBbM10uc2xpY2UoMSwgLTEpIDogJyc7XG4gICAgICB9XG4gICAgICBocmVmID0gaHJlZi50cmltKCkucmVwbGFjZSgvXjwoW1xcc1xcU10qKT4kLywgJyQxJyk7XG4gICAgICBvdXQgKz0gdGhpcy5vdXRwdXRMaW5rKGNhcCwge1xuICAgICAgICBocmVmOiBJbmxpbmVMZXhlci5lc2NhcGVzKGhyZWYpLFxuICAgICAgICB0aXRsZTogSW5saW5lTGV4ZXIuZXNjYXBlcyh0aXRsZSlcbiAgICAgIH0pO1xuICAgICAgdGhpcy5pbkxpbmsgPSBmYWxzZTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIHJlZmxpbmssIG5vbGlua1xuICAgIGlmICgoY2FwID0gdGhpcy5ydWxlcy5yZWZsaW5rLmV4ZWMoc3JjKSlcbiAgICAgICAgfHwgKGNhcCA9IHRoaXMucnVsZXMubm9saW5rLmV4ZWMoc3JjKSkpIHtcbiAgICAgIHNyYyA9IHNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7XG4gICAgICBsaW5rID0gKGNhcFsyXSB8fCBjYXBbMV0pLnJlcGxhY2UoL1xccysvZywgJyAnKTtcbiAgICAgIGxpbmsgPSB0aGlzLmxpbmtzW2xpbmsudG9Mb3dlckNhc2UoKV07XG4gICAgICBpZiAoIWxpbmsgfHwgIWxpbmsuaHJlZikge1xuICAgICAgICBvdXQgKz0gY2FwWzBdLmNoYXJBdCgwKTtcbiAgICAgICAgc3JjID0gY2FwWzBdLnN1YnN0cmluZygxKSArIHNyYztcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICB0aGlzLmluTGluayA9IHRydWU7XG4gICAgICBvdXQgKz0gdGhpcy5vdXRwdXRMaW5rKGNhcCwgbGluayk7XG4gICAgICB0aGlzLmluTGluayA9IGZhbHNlO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gc3Ryb25nXG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMuc3Ryb25nLmV4ZWMoc3JjKSkge1xuICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtcbiAgICAgIG91dCArPSB0aGlzLnJlbmRlcmVyLnN0cm9uZyh0aGlzLm91dHB1dChjYXBbNF0gfHwgY2FwWzNdIHx8IGNhcFsyXSB8fCBjYXBbMV0pKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIGVtXG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMuZW0uZXhlYyhzcmMpKSB7XG4gICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO1xuICAgICAgb3V0ICs9IHRoaXMucmVuZGVyZXIuZW0odGhpcy5vdXRwdXQoY2FwWzZdIHx8IGNhcFs1XSB8fCBjYXBbNF0gfHwgY2FwWzNdIHx8IGNhcFsyXSB8fCBjYXBbMV0pKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIGNvZGVcbiAgICBpZiAoY2FwID0gdGhpcy5ydWxlcy5jb2RlLmV4ZWMoc3JjKSkge1xuICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtcbiAgICAgIG91dCArPSB0aGlzLnJlbmRlcmVyLmNvZGVzcGFuKGVzY2FwZShjYXBbMl0udHJpbSgpLCB0cnVlKSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBiclxuICAgIGlmIChjYXAgPSB0aGlzLnJ1bGVzLmJyLmV4ZWMoc3JjKSkge1xuICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtcbiAgICAgIG91dCArPSB0aGlzLnJlbmRlcmVyLmJyKCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBkZWwgKGdmbSlcbiAgICBpZiAoY2FwID0gdGhpcy5ydWxlcy5kZWwuZXhlYyhzcmMpKSB7XG4gICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO1xuICAgICAgb3V0ICs9IHRoaXMucmVuZGVyZXIuZGVsKHRoaXMub3V0cHV0KGNhcFsxXSkpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gYXV0b2xpbmtcbiAgICBpZiAoY2FwID0gdGhpcy5ydWxlcy5hdXRvbGluay5leGVjKHNyYykpIHtcbiAgICAgIHNyYyA9IHNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7XG4gICAgICBpZiAoY2FwWzJdID09PSAnQCcpIHtcbiAgICAgICAgdGV4dCA9IGVzY2FwZSh0aGlzLm1hbmdsZShjYXBbMV0pKTtcbiAgICAgICAgaHJlZiA9ICdtYWlsdG86JyArIHRleHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZXh0ID0gZXNjYXBlKGNhcFsxXSk7XG4gICAgICAgIGhyZWYgPSB0ZXh0O1xuICAgICAgfVxuICAgICAgb3V0ICs9IHRoaXMucmVuZGVyZXIubGluayhocmVmLCBudWxsLCB0ZXh0KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIHVybCAoZ2ZtKVxuICAgIGlmICghdGhpcy5pbkxpbmsgJiYgKGNhcCA9IHRoaXMucnVsZXMudXJsLmV4ZWMoc3JjKSkpIHtcbiAgICAgIGlmIChjYXBbMl0gPT09ICdAJykge1xuICAgICAgICB0ZXh0ID0gZXNjYXBlKGNhcFswXSk7XG4gICAgICAgIGhyZWYgPSAnbWFpbHRvOicgKyB0ZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZG8gZXh0ZW5kZWQgYXV0b2xpbmsgcGF0aCB2YWxpZGF0aW9uXG4gICAgICAgIGRvIHtcbiAgICAgICAgICBwcmV2Q2FwWmVybyA9IGNhcFswXTtcbiAgICAgICAgICBjYXBbMF0gPSB0aGlzLnJ1bGVzLl9iYWNrcGVkYWwuZXhlYyhjYXBbMF0pWzBdO1xuICAgICAgICB9IHdoaWxlIChwcmV2Q2FwWmVybyAhPT0gY2FwWzBdKTtcbiAgICAgICAgdGV4dCA9IGVzY2FwZShjYXBbMF0pO1xuICAgICAgICBpZiAoY2FwWzFdID09PSAnd3d3LicpIHtcbiAgICAgICAgICBocmVmID0gJ2h0dHA6Ly8nICsgdGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBocmVmID0gdGV4dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtcbiAgICAgIG91dCArPSB0aGlzLnJlbmRlcmVyLmxpbmsoaHJlZiwgbnVsbCwgdGV4dCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyB0ZXh0XG4gICAgaWYgKGNhcCA9IHRoaXMucnVsZXMudGV4dC5leGVjKHNyYykpIHtcbiAgICAgIHNyYyA9IHNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7XG4gICAgICBpZiAodGhpcy5pblJhd0Jsb2NrKSB7XG4gICAgICAgIG91dCArPSB0aGlzLnJlbmRlcmVyLnRleHQodGhpcy5vcHRpb25zLnNhbml0aXplID8gKHRoaXMub3B0aW9ucy5zYW5pdGl6ZXIgPyB0aGlzLm9wdGlvbnMuc2FuaXRpemVyKGNhcFswXSkgOiBlc2NhcGUoY2FwWzBdKSkgOiBjYXBbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9IHRoaXMucmVuZGVyZXIudGV4dChlc2NhcGUodGhpcy5zbWFydHlwYW50cyhjYXBbMF0pKSk7XG4gICAgICB9XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoc3JjKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luZmluaXRlIGxvb3Agb24gYnl0ZTogJyArIHNyYy5jaGFyQ29kZUF0KDApKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3V0O1xufTtcblxuSW5saW5lTGV4ZXIuZXNjYXBlcyA9IGZ1bmN0aW9uKHRleHQpIHtcbiAgcmV0dXJuIHRleHQgPyB0ZXh0LnJlcGxhY2UoSW5saW5lTGV4ZXIucnVsZXMuX2VzY2FwZXMsICckMScpIDogdGV4dDtcbn07XG5cbi8qKlxuICogQ29tcGlsZSBMaW5rXG4gKi9cblxuSW5saW5lTGV4ZXIucHJvdG90eXBlLm91dHB1dExpbmsgPSBmdW5jdGlvbihjYXAsIGxpbmspIHtcbiAgdmFyIGhyZWYgPSBsaW5rLmhyZWYsXG4gICAgICB0aXRsZSA9IGxpbmsudGl0bGUgPyBlc2NhcGUobGluay50aXRsZSkgOiBudWxsO1xuXG4gIHJldHVybiBjYXBbMF0uY2hhckF0KDApICE9PSAnISdcbiAgICA/IHRoaXMucmVuZGVyZXIubGluayhocmVmLCB0aXRsZSwgdGhpcy5vdXRwdXQoY2FwWzFdKSlcbiAgICA6IHRoaXMucmVuZGVyZXIuaW1hZ2UoaHJlZiwgdGl0bGUsIGVzY2FwZShjYXBbMV0pKTtcbn07XG5cbi8qKlxuICogU21hcnR5cGFudHMgVHJhbnNmb3JtYXRpb25zXG4gKi9cblxuSW5saW5lTGV4ZXIucHJvdG90eXBlLnNtYXJ0eXBhbnRzID0gZnVuY3Rpb24odGV4dCkge1xuICBpZiAoIXRoaXMub3B0aW9ucy5zbWFydHlwYW50cykgcmV0dXJuIHRleHQ7XG4gIHJldHVybiB0ZXh0XG4gICAgLy8gZW0tZGFzaGVzXG4gICAgLnJlcGxhY2UoLy0tLS9nLCAnXFx1MjAxNCcpXG4gICAgLy8gZW4tZGFzaGVzXG4gICAgLnJlcGxhY2UoLy0tL2csICdcXHUyMDEzJylcbiAgICAvLyBvcGVuaW5nIHNpbmdsZXNcbiAgICAucmVwbGFjZSgvKF58Wy1cXHUyMDE0LyhcXFt7XCJcXHNdKScvZywgJyQxXFx1MjAxOCcpXG4gICAgLy8gY2xvc2luZyBzaW5nbGVzICYgYXBvc3Ryb3BoZXNcbiAgICAucmVwbGFjZSgvJy9nLCAnXFx1MjAxOScpXG4gICAgLy8gb3BlbmluZyBkb3VibGVzXG4gICAgLnJlcGxhY2UoLyhefFstXFx1MjAxNC8oXFxbe1xcdTIwMThcXHNdKVwiL2csICckMVxcdTIwMWMnKVxuICAgIC8vIGNsb3NpbmcgZG91Ymxlc1xuICAgIC5yZXBsYWNlKC9cIi9nLCAnXFx1MjAxZCcpXG4gICAgLy8gZWxsaXBzZXNcbiAgICAucmVwbGFjZSgvXFwuezN9L2csICdcXHUyMDI2Jyk7XG59O1xuXG4vKipcbiAqIE1hbmdsZSBMaW5rc1xuICovXG5cbklubGluZUxleGVyLnByb3RvdHlwZS5tYW5nbGUgPSBmdW5jdGlvbih0ZXh0KSB7XG4gIGlmICghdGhpcy5vcHRpb25zLm1hbmdsZSkgcmV0dXJuIHRleHQ7XG4gIHZhciBvdXQgPSAnJyxcbiAgICAgIGwgPSB0ZXh0Lmxlbmd0aCxcbiAgICAgIGkgPSAwLFxuICAgICAgY2g7XG5cbiAgZm9yICg7IGkgPCBsOyBpKyspIHtcbiAgICBjaCA9IHRleHQuY2hhckNvZGVBdChpKTtcbiAgICBpZiAoTWF0aC5yYW5kb20oKSA+IDAuNSkge1xuICAgICAgY2ggPSAneCcgKyBjaC50b1N0cmluZygxNik7XG4gICAgfVxuICAgIG91dCArPSAnJiMnICsgY2ggKyAnOyc7XG4gIH1cblxuICByZXR1cm4gb3V0O1xufTtcblxuLyoqXG4gKiBSZW5kZXJlclxuICovXG5cbmZ1bmN0aW9uIFJlbmRlcmVyKG9wdGlvbnMpIHtcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyB8fCBtYXJrZWQuZGVmYXVsdHM7XG59XG5cblJlbmRlcmVyLnByb3RvdHlwZS5jb2RlID0gZnVuY3Rpb24oY29kZSwgaW5mb3N0cmluZywgZXNjYXBlZCkge1xuICB2YXIgbGFuZyA9IChpbmZvc3RyaW5nIHx8ICcnKS5tYXRjaCgvXFxTKi8pWzBdO1xuICBpZiAodGhpcy5vcHRpb25zLmhpZ2hsaWdodCkge1xuICAgIHZhciBvdXQgPSB0aGlzLm9wdGlvbnMuaGlnaGxpZ2h0KGNvZGUsIGxhbmcpO1xuICAgIGlmIChvdXQgIT0gbnVsbCAmJiBvdXQgIT09IGNvZGUpIHtcbiAgICAgIGVzY2FwZWQgPSB0cnVlO1xuICAgICAgY29kZSA9IG91dDtcbiAgICB9XG4gIH1cblxuICBpZiAoIWxhbmcpIHtcbiAgICByZXR1cm4gJzxwcmU+PGNvZGU+J1xuICAgICAgKyAoZXNjYXBlZCA/IGNvZGUgOiBlc2NhcGUoY29kZSwgdHJ1ZSkpXG4gICAgICArICc8L2NvZGU+PC9wcmU+JztcbiAgfVxuXG4gIHJldHVybiAnPHByZT48Y29kZSBjbGFzcz1cIidcbiAgICArIHRoaXMub3B0aW9ucy5sYW5nUHJlZml4XG4gICAgKyBlc2NhcGUobGFuZywgdHJ1ZSlcbiAgICArICdcIj4nXG4gICAgKyAoZXNjYXBlZCA/IGNvZGUgOiBlc2NhcGUoY29kZSwgdHJ1ZSkpXG4gICAgKyAnPC9jb2RlPjwvcHJlPlxcbic7XG59O1xuXG5SZW5kZXJlci5wcm90b3R5cGUuYmxvY2txdW90ZSA9IGZ1bmN0aW9uKHF1b3RlKSB7XG4gIHJldHVybiAnPGJsb2NrcXVvdGU+XFxuJyArIHF1b3RlICsgJzwvYmxvY2txdW90ZT5cXG4nO1xufTtcblxuUmVuZGVyZXIucHJvdG90eXBlLmh0bWwgPSBmdW5jdGlvbihodG1sKSB7XG4gIHJldHVybiBodG1sO1xufTtcblxuUmVuZGVyZXIucHJvdG90eXBlLmhlYWRpbmcgPSBmdW5jdGlvbih0ZXh0LCBsZXZlbCwgcmF3LCBzbHVnZ2VyKSB7XG4gIGlmICh0aGlzLm9wdGlvbnMuaGVhZGVySWRzKSB7XG4gICAgcmV0dXJuICc8aCdcbiAgICAgICsgbGV2ZWxcbiAgICAgICsgJyBpZD1cIidcbiAgICAgICsgdGhpcy5vcHRpb25zLmhlYWRlclByZWZpeFxuICAgICAgKyBzbHVnZ2VyLnNsdWcocmF3KVxuICAgICAgKyAnXCI+J1xuICAgICAgKyB0ZXh0XG4gICAgICArICc8L2gnXG4gICAgICArIGxldmVsXG4gICAgICArICc+XFxuJztcbiAgfVxuICAvLyBpZ25vcmUgSURzXG4gIHJldHVybiAnPGgnICsgbGV2ZWwgKyAnPicgKyB0ZXh0ICsgJzwvaCcgKyBsZXZlbCArICc+XFxuJztcbn07XG5cblJlbmRlcmVyLnByb3RvdHlwZS5ociA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gdGhpcy5vcHRpb25zLnhodG1sID8gJzxoci8+XFxuJyA6ICc8aHI+XFxuJztcbn07XG5cblJlbmRlcmVyLnByb3RvdHlwZS5saXN0ID0gZnVuY3Rpb24oYm9keSwgb3JkZXJlZCwgc3RhcnQpIHtcbiAgdmFyIHR5cGUgPSBvcmRlcmVkID8gJ29sJyA6ICd1bCcsXG4gICAgICBzdGFydGF0dCA9IChvcmRlcmVkICYmIHN0YXJ0ICE9PSAxKSA/ICgnIHN0YXJ0PVwiJyArIHN0YXJ0ICsgJ1wiJykgOiAnJztcbiAgcmV0dXJuICc8JyArIHR5cGUgKyBzdGFydGF0dCArICc+XFxuJyArIGJvZHkgKyAnPC8nICsgdHlwZSArICc+XFxuJztcbn07XG5cblJlbmRlcmVyLnByb3RvdHlwZS5saXN0aXRlbSA9IGZ1bmN0aW9uKHRleHQpIHtcbiAgcmV0dXJuICc8bGk+JyArIHRleHQgKyAnPC9saT5cXG4nO1xufTtcblxuUmVuZGVyZXIucHJvdG90eXBlLmNoZWNrYm94ID0gZnVuY3Rpb24oY2hlY2tlZCkge1xuICByZXR1cm4gJzxpbnB1dCAnXG4gICAgKyAoY2hlY2tlZCA/ICdjaGVja2VkPVwiXCIgJyA6ICcnKVxuICAgICsgJ2Rpc2FibGVkPVwiXCIgdHlwZT1cImNoZWNrYm94XCInXG4gICAgKyAodGhpcy5vcHRpb25zLnhodG1sID8gJyAvJyA6ICcnKVxuICAgICsgJz4gJztcbn07XG5cblJlbmRlcmVyLnByb3RvdHlwZS5wYXJhZ3JhcGggPSBmdW5jdGlvbih0ZXh0KSB7XG4gIHJldHVybiAnPHA+JyArIHRleHQgKyAnPC9wPlxcbic7XG59O1xuXG5SZW5kZXJlci5wcm90b3R5cGUudGFibGUgPSBmdW5jdGlvbihoZWFkZXIsIGJvZHkpIHtcbiAgaWYgKGJvZHkpIGJvZHkgPSAnPHRib2R5PicgKyBib2R5ICsgJzwvdGJvZHk+JztcblxuICByZXR1cm4gJzx0YWJsZT5cXG4nXG4gICAgKyAnPHRoZWFkPlxcbidcbiAgICArIGhlYWRlclxuICAgICsgJzwvdGhlYWQ+XFxuJ1xuICAgICsgYm9keVxuICAgICsgJzwvdGFibGU+XFxuJztcbn07XG5cblJlbmRlcmVyLnByb3RvdHlwZS50YWJsZXJvdyA9IGZ1bmN0aW9uKGNvbnRlbnQpIHtcbiAgcmV0dXJuICc8dHI+XFxuJyArIGNvbnRlbnQgKyAnPC90cj5cXG4nO1xufTtcblxuUmVuZGVyZXIucHJvdG90eXBlLnRhYmxlY2VsbCA9IGZ1bmN0aW9uKGNvbnRlbnQsIGZsYWdzKSB7XG4gIHZhciB0eXBlID0gZmxhZ3MuaGVhZGVyID8gJ3RoJyA6ICd0ZCc7XG4gIHZhciB0YWcgPSBmbGFncy5hbGlnblxuICAgID8gJzwnICsgdHlwZSArICcgYWxpZ249XCInICsgZmxhZ3MuYWxpZ24gKyAnXCI+J1xuICAgIDogJzwnICsgdHlwZSArICc+JztcbiAgcmV0dXJuIHRhZyArIGNvbnRlbnQgKyAnPC8nICsgdHlwZSArICc+XFxuJztcbn07XG5cbi8vIHNwYW4gbGV2ZWwgcmVuZGVyZXJcblJlbmRlcmVyLnByb3RvdHlwZS5zdHJvbmcgPSBmdW5jdGlvbih0ZXh0KSB7XG4gIHJldHVybiAnPHN0cm9uZz4nICsgdGV4dCArICc8L3N0cm9uZz4nO1xufTtcblxuUmVuZGVyZXIucHJvdG90eXBlLmVtID0gZnVuY3Rpb24odGV4dCkge1xuICByZXR1cm4gJzxlbT4nICsgdGV4dCArICc8L2VtPic7XG59O1xuXG5SZW5kZXJlci5wcm90b3R5cGUuY29kZXNwYW4gPSBmdW5jdGlvbih0ZXh0KSB7XG4gIHJldHVybiAnPGNvZGU+JyArIHRleHQgKyAnPC9jb2RlPic7XG59O1xuXG5SZW5kZXJlci5wcm90b3R5cGUuYnIgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIHRoaXMub3B0aW9ucy54aHRtbCA/ICc8YnIvPicgOiAnPGJyPic7XG59O1xuXG5SZW5kZXJlci5wcm90b3R5cGUuZGVsID0gZnVuY3Rpb24odGV4dCkge1xuICByZXR1cm4gJzxkZWw+JyArIHRleHQgKyAnPC9kZWw+Jztcbn07XG5cblJlbmRlcmVyLnByb3RvdHlwZS5saW5rID0gZnVuY3Rpb24oaHJlZiwgdGl0bGUsIHRleHQpIHtcbiAgaHJlZiA9IGNsZWFuVXJsKHRoaXMub3B0aW9ucy5zYW5pdGl6ZSwgdGhpcy5vcHRpb25zLmJhc2VVcmwsIGhyZWYpO1xuICBpZiAoaHJlZiA9PT0gbnVsbCkge1xuICAgIHJldHVybiB0ZXh0O1xuICB9XG4gIHZhciBvdXQgPSAnPGEgaHJlZj1cIicgKyBlc2NhcGUoaHJlZikgKyAnXCInO1xuICBpZiAodGl0bGUpIHtcbiAgICBvdXQgKz0gJyB0aXRsZT1cIicgKyB0aXRsZSArICdcIic7XG4gIH1cbiAgb3V0ICs9ICc+JyArIHRleHQgKyAnPC9hPic7XG4gIHJldHVybiBvdXQ7XG59O1xuXG5SZW5kZXJlci5wcm90b3R5cGUuaW1hZ2UgPSBmdW5jdGlvbihocmVmLCB0aXRsZSwgdGV4dCkge1xuICBocmVmID0gY2xlYW5VcmwodGhpcy5vcHRpb25zLnNhbml0aXplLCB0aGlzLm9wdGlvbnMuYmFzZVVybCwgaHJlZik7XG4gIGlmIChocmVmID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICB2YXIgb3V0ID0gJzxpbWcgc3JjPVwiJyArIGhyZWYgKyAnXCIgYWx0PVwiJyArIHRleHQgKyAnXCInO1xuICBpZiAodGl0bGUpIHtcbiAgICBvdXQgKz0gJyB0aXRsZT1cIicgKyB0aXRsZSArICdcIic7XG4gIH1cbiAgb3V0ICs9IHRoaXMub3B0aW9ucy54aHRtbCA/ICcvPicgOiAnPic7XG4gIHJldHVybiBvdXQ7XG59O1xuXG5SZW5kZXJlci5wcm90b3R5cGUudGV4dCA9IGZ1bmN0aW9uKHRleHQpIHtcbiAgcmV0dXJuIHRleHQ7XG59O1xuXG4vKipcbiAqIFRleHRSZW5kZXJlclxuICogcmV0dXJucyBvbmx5IHRoZSB0ZXh0dWFsIHBhcnQgb2YgdGhlIHRva2VuXG4gKi9cblxuZnVuY3Rpb24gVGV4dFJlbmRlcmVyKCkge31cblxuLy8gbm8gbmVlZCBmb3IgYmxvY2sgbGV2ZWwgcmVuZGVyZXJzXG5cblRleHRSZW5kZXJlci5wcm90b3R5cGUuc3Ryb25nID1cblRleHRSZW5kZXJlci5wcm90b3R5cGUuZW0gPVxuVGV4dFJlbmRlcmVyLnByb3RvdHlwZS5jb2Rlc3BhbiA9XG5UZXh0UmVuZGVyZXIucHJvdG90eXBlLmRlbCA9XG5UZXh0UmVuZGVyZXIucHJvdG90eXBlLnRleHQgPSBmdW5jdGlvbih0ZXh0KSB7XG4gIHJldHVybiB0ZXh0O1xufTtcblxuVGV4dFJlbmRlcmVyLnByb3RvdHlwZS5saW5rID1cblRleHRSZW5kZXJlci5wcm90b3R5cGUuaW1hZ2UgPSBmdW5jdGlvbihocmVmLCB0aXRsZSwgdGV4dCkge1xuICByZXR1cm4gJycgKyB0ZXh0O1xufTtcblxuVGV4dFJlbmRlcmVyLnByb3RvdHlwZS5iciA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gJyc7XG59O1xuXG4vKipcbiAqIFBhcnNpbmcgJiBDb21waWxpbmdcbiAqL1xuXG5mdW5jdGlvbiBQYXJzZXIob3B0aW9ucykge1xuICB0aGlzLnRva2VucyA9IFtdO1xuICB0aGlzLnRva2VuID0gbnVsbDtcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyB8fCBtYXJrZWQuZGVmYXVsdHM7XG4gIHRoaXMub3B0aW9ucy5yZW5kZXJlciA9IHRoaXMub3B0aW9ucy5yZW5kZXJlciB8fCBuZXcgUmVuZGVyZXIoKTtcbiAgdGhpcy5yZW5kZXJlciA9IHRoaXMub3B0aW9ucy5yZW5kZXJlcjtcbiAgdGhpcy5yZW5kZXJlci5vcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICB0aGlzLnNsdWdnZXIgPSBuZXcgU2x1Z2dlcigpO1xufVxuXG4vKipcbiAqIFN0YXRpYyBQYXJzZSBNZXRob2RcbiAqL1xuXG5QYXJzZXIucGFyc2UgPSBmdW5jdGlvbihzcmMsIG9wdGlvbnMpIHtcbiAgdmFyIHBhcnNlciA9IG5ldyBQYXJzZXIob3B0aW9ucyk7XG4gIHJldHVybiBwYXJzZXIucGFyc2Uoc3JjKTtcbn07XG5cbi8qKlxuICogUGFyc2UgTG9vcFxuICovXG5cblBhcnNlci5wcm90b3R5cGUucGFyc2UgPSBmdW5jdGlvbihzcmMpIHtcbiAgdGhpcy5pbmxpbmUgPSBuZXcgSW5saW5lTGV4ZXIoc3JjLmxpbmtzLCB0aGlzLm9wdGlvbnMpO1xuICAvLyB1c2UgYW4gSW5saW5lTGV4ZXIgd2l0aCBhIFRleHRSZW5kZXJlciB0byBleHRyYWN0IHB1cmUgdGV4dFxuICB0aGlzLmlubGluZVRleHQgPSBuZXcgSW5saW5lTGV4ZXIoXG4gICAgc3JjLmxpbmtzLFxuICAgIG1lcmdlKHt9LCB0aGlzLm9wdGlvbnMsIHsgcmVuZGVyZXI6IG5ldyBUZXh0UmVuZGVyZXIoKSB9KVxuICApO1xuICB0aGlzLnRva2VucyA9IHNyYy5yZXZlcnNlKCk7XG5cbiAgdmFyIG91dCA9ICcnO1xuICB3aGlsZSAodGhpcy5uZXh0KCkpIHtcbiAgICBvdXQgKz0gdGhpcy50b2soKTtcbiAgfVxuXG4gIHJldHVybiBvdXQ7XG59O1xuXG4vKipcbiAqIE5leHQgVG9rZW5cbiAqL1xuXG5QYXJzZXIucHJvdG90eXBlLm5leHQgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy50b2tlbiA9IHRoaXMudG9rZW5zLnBvcCgpO1xuICByZXR1cm4gdGhpcy50b2tlbjtcbn07XG5cbi8qKlxuICogUHJldmlldyBOZXh0IFRva2VuXG4gKi9cblxuUGFyc2VyLnByb3RvdHlwZS5wZWVrID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiB0aGlzLnRva2Vuc1t0aGlzLnRva2Vucy5sZW5ndGggLSAxXSB8fCAwO1xufTtcblxuLyoqXG4gKiBQYXJzZSBUZXh0IFRva2Vuc1xuICovXG5cblBhcnNlci5wcm90b3R5cGUucGFyc2VUZXh0ID0gZnVuY3Rpb24oKSB7XG4gIHZhciBib2R5ID0gdGhpcy50b2tlbi50ZXh0O1xuXG4gIHdoaWxlICh0aGlzLnBlZWsoKS50eXBlID09PSAndGV4dCcpIHtcbiAgICBib2R5ICs9ICdcXG4nICsgdGhpcy5uZXh0KCkudGV4dDtcbiAgfVxuXG4gIHJldHVybiB0aGlzLmlubGluZS5vdXRwdXQoYm9keSk7XG59O1xuXG4vKipcbiAqIFBhcnNlIEN1cnJlbnQgVG9rZW5cbiAqL1xuXG5QYXJzZXIucHJvdG90eXBlLnRvayA9IGZ1bmN0aW9uKCkge1xuICBzd2l0Y2ggKHRoaXMudG9rZW4udHlwZSkge1xuICAgIGNhc2UgJ3NwYWNlJzoge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjYXNlICdocic6IHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLmhyKCk7XG4gICAgfVxuICAgIGNhc2UgJ2hlYWRpbmcnOiB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJlci5oZWFkaW5nKFxuICAgICAgICB0aGlzLmlubGluZS5vdXRwdXQodGhpcy50b2tlbi50ZXh0KSxcbiAgICAgICAgdGhpcy50b2tlbi5kZXB0aCxcbiAgICAgICAgdW5lc2NhcGUodGhpcy5pbmxpbmVUZXh0Lm91dHB1dCh0aGlzLnRva2VuLnRleHQpKSxcbiAgICAgICAgdGhpcy5zbHVnZ2VyKTtcbiAgICB9XG4gICAgY2FzZSAnY29kZSc6IHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLmNvZGUodGhpcy50b2tlbi50ZXh0LFxuICAgICAgICB0aGlzLnRva2VuLmxhbmcsXG4gICAgICAgIHRoaXMudG9rZW4uZXNjYXBlZCk7XG4gICAgfVxuICAgIGNhc2UgJ3RhYmxlJzoge1xuICAgICAgdmFyIGhlYWRlciA9ICcnLFxuICAgICAgICAgIGJvZHkgPSAnJyxcbiAgICAgICAgICBpLFxuICAgICAgICAgIHJvdyxcbiAgICAgICAgICBjZWxsLFxuICAgICAgICAgIGo7XG5cbiAgICAgIC8vIGhlYWRlclxuICAgICAgY2VsbCA9ICcnO1xuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMudG9rZW4uaGVhZGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNlbGwgKz0gdGhpcy5yZW5kZXJlci50YWJsZWNlbGwoXG4gICAgICAgICAgdGhpcy5pbmxpbmUub3V0cHV0KHRoaXMudG9rZW4uaGVhZGVyW2ldKSxcbiAgICAgICAgICB7IGhlYWRlcjogdHJ1ZSwgYWxpZ246IHRoaXMudG9rZW4uYWxpZ25baV0gfVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaGVhZGVyICs9IHRoaXMucmVuZGVyZXIudGFibGVyb3coY2VsbCk7XG5cbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLnRva2VuLmNlbGxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJvdyA9IHRoaXMudG9rZW4uY2VsbHNbaV07XG5cbiAgICAgICAgY2VsbCA9ICcnO1xuICAgICAgICBmb3IgKGogPSAwOyBqIDwgcm93Lmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgY2VsbCArPSB0aGlzLnJlbmRlcmVyLnRhYmxlY2VsbChcbiAgICAgICAgICAgIHRoaXMuaW5saW5lLm91dHB1dChyb3dbal0pLFxuICAgICAgICAgICAgeyBoZWFkZXI6IGZhbHNlLCBhbGlnbjogdGhpcy50b2tlbi5hbGlnbltqXSB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJvZHkgKz0gdGhpcy5yZW5kZXJlci50YWJsZXJvdyhjZWxsKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLnRhYmxlKGhlYWRlciwgYm9keSk7XG4gICAgfVxuICAgIGNhc2UgJ2Jsb2NrcXVvdGVfc3RhcnQnOiB7XG4gICAgICBib2R5ID0gJyc7XG5cbiAgICAgIHdoaWxlICh0aGlzLm5leHQoKS50eXBlICE9PSAnYmxvY2txdW90ZV9lbmQnKSB7XG4gICAgICAgIGJvZHkgKz0gdGhpcy50b2soKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyZXIuYmxvY2txdW90ZShib2R5KTtcbiAgICB9XG4gICAgY2FzZSAnbGlzdF9zdGFydCc6IHtcbiAgICAgIGJvZHkgPSAnJztcbiAgICAgIHZhciBvcmRlcmVkID0gdGhpcy50b2tlbi5vcmRlcmVkLFxuICAgICAgICAgIHN0YXJ0ID0gdGhpcy50b2tlbi5zdGFydDtcblxuICAgICAgd2hpbGUgKHRoaXMubmV4dCgpLnR5cGUgIT09ICdsaXN0X2VuZCcpIHtcbiAgICAgICAgYm9keSArPSB0aGlzLnRvaygpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJlci5saXN0KGJvZHksIG9yZGVyZWQsIHN0YXJ0KTtcbiAgICB9XG4gICAgY2FzZSAnbGlzdF9pdGVtX3N0YXJ0Jzoge1xuICAgICAgYm9keSA9ICcnO1xuICAgICAgdmFyIGxvb3NlID0gdGhpcy50b2tlbi5sb29zZTtcbiAgICAgIHZhciBjaGVja2VkID0gdGhpcy50b2tlbi5jaGVja2VkO1xuICAgICAgdmFyIHRhc2sgPSB0aGlzLnRva2VuLnRhc2s7XG5cbiAgICAgIGlmICh0aGlzLnRva2VuLnRhc2spIHtcbiAgICAgICAgYm9keSArPSB0aGlzLnJlbmRlcmVyLmNoZWNrYm94KGNoZWNrZWQpO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAodGhpcy5uZXh0KCkudHlwZSAhPT0gJ2xpc3RfaXRlbV9lbmQnKSB7XG4gICAgICAgIGJvZHkgKz0gIWxvb3NlICYmIHRoaXMudG9rZW4udHlwZSA9PT0gJ3RleHQnXG4gICAgICAgICAgPyB0aGlzLnBhcnNlVGV4dCgpXG4gICAgICAgICAgOiB0aGlzLnRvaygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyZXIubGlzdGl0ZW0oYm9keSwgdGFzaywgY2hlY2tlZCk7XG4gICAgfVxuICAgIGNhc2UgJ2h0bWwnOiB7XG4gICAgICAvLyBUT0RPIHBhcnNlIGlubGluZSBjb250ZW50IGlmIHBhcmFtZXRlciBtYXJrZG93bj0xXG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJlci5odG1sKHRoaXMudG9rZW4udGV4dCk7XG4gICAgfVxuICAgIGNhc2UgJ3BhcmFncmFwaCc6IHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLnBhcmFncmFwaCh0aGlzLmlubGluZS5vdXRwdXQodGhpcy50b2tlbi50ZXh0KSk7XG4gICAgfVxuICAgIGNhc2UgJ3RleHQnOiB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJlci5wYXJhZ3JhcGgodGhpcy5wYXJzZVRleHQoKSk7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHZhciBlcnJNc2cgPSAnVG9rZW4gd2l0aCBcIicgKyB0aGlzLnRva2VuLnR5cGUgKyAnXCIgdHlwZSB3YXMgbm90IGZvdW5kLic7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLnNpbGVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhlcnJNc2cpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVyck1zZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIFNsdWdnZXIgZ2VuZXJhdGVzIGhlYWRlciBpZFxuICovXG5cbmZ1bmN0aW9uIFNsdWdnZXIoKSB7XG4gIHRoaXMuc2VlbiA9IHt9O1xufVxuXG4vKipcbiAqIENvbnZlcnQgc3RyaW5nIHRvIHVuaXF1ZSBpZFxuICovXG5cblNsdWdnZXIucHJvdG90eXBlLnNsdWcgPSBmdW5jdGlvbih2YWx1ZSkge1xuICB2YXIgc2x1ZyA9IHZhbHVlXG4gICAgLnRvTG93ZXJDYXNlKClcbiAgICAudHJpbSgpXG4gICAgLnJlcGxhY2UoL1tcXHUyMDAwLVxcdTIwNkZcXHUyRTAwLVxcdTJFN0ZcXFxcJyFcIiMkJSYoKSorLC4vOjs8PT4/QFtcXF1eYHt8fX5dL2csICcnKVxuICAgIC5yZXBsYWNlKC9cXHMvZywgJy0nKTtcblxuICBpZiAodGhpcy5zZWVuLmhhc093blByb3BlcnR5KHNsdWcpKSB7XG4gICAgdmFyIG9yaWdpbmFsU2x1ZyA9IHNsdWc7XG4gICAgZG8ge1xuICAgICAgdGhpcy5zZWVuW29yaWdpbmFsU2x1Z10rKztcbiAgICAgIHNsdWcgPSBvcmlnaW5hbFNsdWcgKyAnLScgKyB0aGlzLnNlZW5bb3JpZ2luYWxTbHVnXTtcbiAgICB9IHdoaWxlICh0aGlzLnNlZW4uaGFzT3duUHJvcGVydHkoc2x1ZykpO1xuICB9XG4gIHRoaXMuc2VlbltzbHVnXSA9IDA7XG5cbiAgcmV0dXJuIHNsdWc7XG59O1xuXG4vKipcbiAqIEhlbHBlcnNcbiAqL1xuXG5mdW5jdGlvbiBlc2NhcGUoaHRtbCwgZW5jb2RlKSB7XG4gIGlmIChlbmNvZGUpIHtcbiAgICBpZiAoZXNjYXBlLmVzY2FwZVRlc3QudGVzdChodG1sKSkge1xuICAgICAgcmV0dXJuIGh0bWwucmVwbGFjZShlc2NhcGUuZXNjYXBlUmVwbGFjZSwgZnVuY3Rpb24oY2gpIHsgcmV0dXJuIGVzY2FwZS5yZXBsYWNlbWVudHNbY2hdOyB9KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGVzY2FwZS5lc2NhcGVUZXN0Tm9FbmNvZGUudGVzdChodG1sKSkge1xuICAgICAgcmV0dXJuIGh0bWwucmVwbGFjZShlc2NhcGUuZXNjYXBlUmVwbGFjZU5vRW5jb2RlLCBmdW5jdGlvbihjaCkgeyByZXR1cm4gZXNjYXBlLnJlcGxhY2VtZW50c1tjaF07IH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBodG1sO1xufVxuXG5lc2NhcGUuZXNjYXBlVGVzdCA9IC9bJjw+XCInXS87XG5lc2NhcGUuZXNjYXBlUmVwbGFjZSA9IC9bJjw+XCInXS9nO1xuZXNjYXBlLnJlcGxhY2VtZW50cyA9IHtcbiAgJyYnOiAnJmFtcDsnLFxuICAnPCc6ICcmbHQ7JyxcbiAgJz4nOiAnJmd0OycsXG4gICdcIic6ICcmcXVvdDsnLFxuICBcIidcIjogJyYjMzk7J1xufTtcblxuZXNjYXBlLmVzY2FwZVRlc3ROb0VuY29kZSA9IC9bPD5cIiddfCYoPyEjP1xcdys7KS87XG5lc2NhcGUuZXNjYXBlUmVwbGFjZU5vRW5jb2RlID0gL1s8PlwiJ118Jig/ISM/XFx3KzspL2c7XG5cbmZ1bmN0aW9uIHVuZXNjYXBlKGh0bWwpIHtcbiAgLy8gZXhwbGljaXRseSBtYXRjaCBkZWNpbWFsLCBoZXgsIGFuZCBuYW1lZCBIVE1MIGVudGl0aWVzXG4gIHJldHVybiBodG1sLnJlcGxhY2UoLyYoIyg/OlxcZCspfCg/OiN4WzAtOUEtRmEtZl0rKXwoPzpcXHcrKSk7Py9pZywgZnVuY3Rpb24oXywgbikge1xuICAgIG4gPSBuLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKG4gPT09ICdjb2xvbicpIHJldHVybiAnOic7XG4gICAgaWYgKG4uY2hhckF0KDApID09PSAnIycpIHtcbiAgICAgIHJldHVybiBuLmNoYXJBdCgxKSA9PT0gJ3gnXG4gICAgICAgID8gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChuLnN1YnN0cmluZygyKSwgMTYpKVxuICAgICAgICA6IFN0cmluZy5mcm9tQ2hhckNvZGUoK24uc3Vic3RyaW5nKDEpKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZWRpdChyZWdleCwgb3B0KSB7XG4gIHJlZ2V4ID0gcmVnZXguc291cmNlIHx8IHJlZ2V4O1xuICBvcHQgPSBvcHQgfHwgJyc7XG4gIHJldHVybiB7XG4gICAgcmVwbGFjZTogZnVuY3Rpb24obmFtZSwgdmFsKSB7XG4gICAgICB2YWwgPSB2YWwuc291cmNlIHx8IHZhbDtcbiAgICAgIHZhbCA9IHZhbC5yZXBsYWNlKC8oXnxbXlxcW10pXFxeL2csICckMScpO1xuICAgICAgcmVnZXggPSByZWdleC5yZXBsYWNlKG5hbWUsIHZhbCk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxuICAgIGdldFJlZ2V4OiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBuZXcgUmVnRXhwKHJlZ2V4LCBvcHQpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gY2xlYW5Vcmwoc2FuaXRpemUsIGJhc2UsIGhyZWYpIHtcbiAgaWYgKHNhbml0aXplKSB7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBwcm90ID0gZGVjb2RlVVJJQ29tcG9uZW50KHVuZXNjYXBlKGhyZWYpKVxuICAgICAgICAucmVwbGFjZSgvW15cXHc6XS9nLCAnJylcbiAgICAgICAgLnRvTG93ZXJDYXNlKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChwcm90LmluZGV4T2YoJ2phdmFzY3JpcHQ6JykgPT09IDAgfHwgcHJvdC5pbmRleE9mKCd2YnNjcmlwdDonKSA9PT0gMCB8fCBwcm90LmluZGV4T2YoJ2RhdGE6JykgPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICBpZiAoYmFzZSAmJiAhb3JpZ2luSW5kZXBlbmRlbnRVcmwudGVzdChocmVmKSkge1xuICAgIGhyZWYgPSByZXNvbHZlVXJsKGJhc2UsIGhyZWYpO1xuICB9XG4gIHRyeSB7XG4gICAgaHJlZiA9IGVuY29kZVVSSShocmVmKS5yZXBsYWNlKC8lMjUvZywgJyUnKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBocmVmO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlVXJsKGJhc2UsIGhyZWYpIHtcbiAgaWYgKCFiYXNlVXJsc1snICcgKyBiYXNlXSkge1xuICAgIC8vIHdlIGNhbiBpZ25vcmUgZXZlcnl0aGluZyBpbiBiYXNlIGFmdGVyIHRoZSBsYXN0IHNsYXNoIG9mIGl0cyBwYXRoIGNvbXBvbmVudCxcbiAgICAvLyBidXQgd2UgbWlnaHQgbmVlZCB0byBhZGQgX3RoYXRfXG4gICAgLy8gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM5ODYjc2VjdGlvbi0zXG4gICAgaWYgKC9eW146XSs6XFwvKlteL10qJC8udGVzdChiYXNlKSkge1xuICAgICAgYmFzZVVybHNbJyAnICsgYmFzZV0gPSBiYXNlICsgJy8nO1xuICAgIH0gZWxzZSB7XG4gICAgICBiYXNlVXJsc1snICcgKyBiYXNlXSA9IHJ0cmltKGJhc2UsICcvJywgdHJ1ZSk7XG4gICAgfVxuICB9XG4gIGJhc2UgPSBiYXNlVXJsc1snICcgKyBiYXNlXTtcblxuICBpZiAoaHJlZi5zbGljZSgwLCAyKSA9PT0gJy8vJykge1xuICAgIHJldHVybiBiYXNlLnJlcGxhY2UoLzpbXFxzXFxTXSovLCAnOicpICsgaHJlZjtcbiAgfSBlbHNlIGlmIChocmVmLmNoYXJBdCgwKSA9PT0gJy8nKSB7XG4gICAgcmV0dXJuIGJhc2UucmVwbGFjZSgvKDpcXC8qW14vXSopW1xcc1xcU10qLywgJyQxJykgKyBocmVmO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBiYXNlICsgaHJlZjtcbiAgfVxufVxudmFyIGJhc2VVcmxzID0ge307XG52YXIgb3JpZ2luSW5kZXBlbmRlbnRVcmwgPSAvXiR8XlthLXpdW2EtejAtOSsuLV0qOnxeWz8jXS9pO1xuXG5mdW5jdGlvbiBub29wKCkge31cbm5vb3AuZXhlYyA9IG5vb3A7XG5cbmZ1bmN0aW9uIG1lcmdlKG9iaikge1xuICB2YXIgaSA9IDEsXG4gICAgICB0YXJnZXQsXG4gICAgICBrZXk7XG5cbiAgZm9yICg7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB0YXJnZXQgPSBhcmd1bWVudHNbaV07XG4gICAgZm9yIChrZXkgaW4gdGFyZ2V0KSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRhcmdldCwga2V5KSkge1xuICAgICAgICBvYmpba2V5XSA9IHRhcmdldFtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBvYmo7XG59XG5cbmZ1bmN0aW9uIHNwbGl0Q2VsbHModGFibGVSb3csIGNvdW50KSB7XG4gIC8vIGVuc3VyZSB0aGF0IGV2ZXJ5IGNlbGwtZGVsaW1pdGluZyBwaXBlIGhhcyBhIHNwYWNlXG4gIC8vIGJlZm9yZSBpdCB0byBkaXN0aW5ndWlzaCBpdCBmcm9tIGFuIGVzY2FwZWQgcGlwZVxuICB2YXIgcm93ID0gdGFibGVSb3cucmVwbGFjZSgvXFx8L2csIGZ1bmN0aW9uKG1hdGNoLCBvZmZzZXQsIHN0cikge1xuICAgICAgICB2YXIgZXNjYXBlZCA9IGZhbHNlLFxuICAgICAgICAgICAgY3VyciA9IG9mZnNldDtcbiAgICAgICAgd2hpbGUgKC0tY3VyciA+PSAwICYmIHN0cltjdXJyXSA9PT0gJ1xcXFwnKSBlc2NhcGVkID0gIWVzY2FwZWQ7XG4gICAgICAgIGlmIChlc2NhcGVkKSB7XG4gICAgICAgICAgLy8gb2RkIG51bWJlciBvZiBzbGFzaGVzIG1lYW5zIHwgaXMgZXNjYXBlZFxuICAgICAgICAgIC8vIHNvIHdlIGxlYXZlIGl0IGFsb25lXG4gICAgICAgICAgcmV0dXJuICd8JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBhZGQgc3BhY2UgYmVmb3JlIHVuZXNjYXBlZCB8XG4gICAgICAgICAgcmV0dXJuICcgfCc7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2VsbHMgPSByb3cuc3BsaXQoLyBcXHwvKSxcbiAgICAgIGkgPSAwO1xuXG4gIGlmIChjZWxscy5sZW5ndGggPiBjb3VudCkge1xuICAgIGNlbGxzLnNwbGljZShjb3VudCk7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKGNlbGxzLmxlbmd0aCA8IGNvdW50KSBjZWxscy5wdXNoKCcnKTtcbiAgfVxuXG4gIGZvciAoOyBpIDwgY2VsbHMubGVuZ3RoOyBpKyspIHtcbiAgICAvLyBsZWFkaW5nIG9yIHRyYWlsaW5nIHdoaXRlc3BhY2UgaXMgaWdub3JlZCBwZXIgdGhlIGdmbSBzcGVjXG4gICAgY2VsbHNbaV0gPSBjZWxsc1tpXS50cmltKCkucmVwbGFjZSgvXFxcXFxcfC9nLCAnfCcpO1xuICB9XG4gIHJldHVybiBjZWxscztcbn1cblxuLy8gUmVtb3ZlIHRyYWlsaW5nICdjJ3MuIEVxdWl2YWxlbnQgdG8gc3RyLnJlcGxhY2UoL2MqJC8sICcnKS5cbi8vIC9jKiQvIGlzIHZ1bG5lcmFibGUgdG8gUkVET1MuXG4vLyBpbnZlcnQ6IFJlbW92ZSBzdWZmaXggb2Ygbm9uLWMgY2hhcnMgaW5zdGVhZC4gRGVmYXVsdCBmYWxzZXkuXG5mdW5jdGlvbiBydHJpbShzdHIsIGMsIGludmVydCkge1xuICBpZiAoc3RyLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8vIExlbmd0aCBvZiBzdWZmaXggbWF0Y2hpbmcgdGhlIGludmVydCBjb25kaXRpb24uXG4gIHZhciBzdWZmTGVuID0gMDtcblxuICAvLyBTdGVwIGxlZnQgdW50aWwgd2UgZmFpbCB0byBtYXRjaCB0aGUgaW52ZXJ0IGNvbmRpdGlvbi5cbiAgd2hpbGUgKHN1ZmZMZW4gPCBzdHIubGVuZ3RoKSB7XG4gICAgdmFyIGN1cnJDaGFyID0gc3RyLmNoYXJBdChzdHIubGVuZ3RoIC0gc3VmZkxlbiAtIDEpO1xuICAgIGlmIChjdXJyQ2hhciA9PT0gYyAmJiAhaW52ZXJ0KSB7XG4gICAgICBzdWZmTGVuKys7XG4gICAgfSBlbHNlIGlmIChjdXJyQ2hhciAhPT0gYyAmJiBpbnZlcnQpIHtcbiAgICAgIHN1ZmZMZW4rKztcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0ci5zdWJzdHIoMCwgc3RyLmxlbmd0aCAtIHN1ZmZMZW4pO1xufVxuXG5mdW5jdGlvbiBmaW5kQ2xvc2luZ0JyYWNrZXQoc3RyLCBiKSB7XG4gIGlmIChzdHIuaW5kZXhPZihiWzFdKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cbiAgdmFyIGxldmVsID0gMDtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc3RyW2ldID09PSAnXFxcXCcpIHtcbiAgICAgIGkrKztcbiAgICB9IGVsc2UgaWYgKHN0cltpXSA9PT0gYlswXSkge1xuICAgICAgbGV2ZWwrKztcbiAgICB9IGVsc2UgaWYgKHN0cltpXSA9PT0gYlsxXSkge1xuICAgICAgbGV2ZWwtLTtcbiAgICAgIGlmIChsZXZlbCA8IDApIHtcbiAgICAgICAgcmV0dXJuIGk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiAtMTtcbn1cblxuZnVuY3Rpb24gY2hlY2tTYW5pdGl6ZURlcHJlY2F0aW9uKG9wdCkge1xuICBpZiAob3B0ICYmIG9wdC5zYW5pdGl6ZSAmJiAhb3B0LnNpbGVudCkge1xuICAgIGNvbnNvbGUud2FybignbWFya2VkKCk6IHNhbml0aXplIGFuZCBzYW5pdGl6ZXIgcGFyYW1ldGVycyBhcmUgZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDAuNy4wLCBzaG91bGQgbm90IGJlIHVzZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgZnV0dXJlLiBSZWFkIG1vcmUgaGVyZTogaHR0cHM6Ly9tYXJrZWQuanMub3JnLyMvVVNJTkdfQURWQU5DRUQubWQjb3B0aW9ucycpO1xuICB9XG59XG5cbi8qKlxuICogTWFya2VkXG4gKi9cblxuZnVuY3Rpb24gbWFya2VkKHNyYywgb3B0LCBjYWxsYmFjaykge1xuICAvLyB0aHJvdyBlcnJvciBpbiBjYXNlIG9mIG5vbiBzdHJpbmcgaW5wdXRcbiAgaWYgKHR5cGVvZiBzcmMgPT09ICd1bmRlZmluZWQnIHx8IHNyYyA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbWFya2VkKCk6IGlucHV0IHBhcmFtZXRlciBpcyB1bmRlZmluZWQgb3IgbnVsbCcpO1xuICB9XG4gIGlmICh0eXBlb2Ygc3JjICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignbWFya2VkKCk6IGlucHV0IHBhcmFtZXRlciBpcyBvZiB0eXBlICdcbiAgICAgICsgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHNyYykgKyAnLCBzdHJpbmcgZXhwZWN0ZWQnKTtcbiAgfVxuXG4gIGlmIChjYWxsYmFjayB8fCB0eXBlb2Ygb3B0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKCFjYWxsYmFjaykge1xuICAgICAgY2FsbGJhY2sgPSBvcHQ7XG4gICAgICBvcHQgPSBudWxsO1xuICAgIH1cblxuICAgIG9wdCA9IG1lcmdlKHt9LCBtYXJrZWQuZGVmYXVsdHMsIG9wdCB8fCB7fSk7XG4gICAgY2hlY2tTYW5pdGl6ZURlcHJlY2F0aW9uKG9wdCk7XG5cbiAgICB2YXIgaGlnaGxpZ2h0ID0gb3B0LmhpZ2hsaWdodCxcbiAgICAgICAgdG9rZW5zLFxuICAgICAgICBwZW5kaW5nLFxuICAgICAgICBpID0gMDtcblxuICAgIHRyeSB7XG4gICAgICB0b2tlbnMgPSBMZXhlci5sZXgoc3JjLCBvcHQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjayhlKTtcbiAgICB9XG5cbiAgICBwZW5kaW5nID0gdG9rZW5zLmxlbmd0aDtcblxuICAgIHZhciBkb25lID0gZnVuY3Rpb24oZXJyKSB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIG9wdC5oaWdobGlnaHQgPSBoaWdobGlnaHQ7XG4gICAgICAgIHJldHVybiBjYWxsYmFjayhlcnIpO1xuICAgICAgfVxuXG4gICAgICB2YXIgb3V0O1xuXG4gICAgICB0cnkge1xuICAgICAgICBvdXQgPSBQYXJzZXIucGFyc2UodG9rZW5zLCBvcHQpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlcnIgPSBlO1xuICAgICAgfVxuXG4gICAgICBvcHQuaGlnaGxpZ2h0ID0gaGlnaGxpZ2h0O1xuXG4gICAgICByZXR1cm4gZXJyXG4gICAgICAgID8gY2FsbGJhY2soZXJyKVxuICAgICAgICA6IGNhbGxiYWNrKG51bGwsIG91dCk7XG4gICAgfTtcblxuICAgIGlmICghaGlnaGxpZ2h0IHx8IGhpZ2hsaWdodC5sZW5ndGggPCAzKSB7XG4gICAgICByZXR1cm4gZG9uZSgpO1xuICAgIH1cblxuICAgIGRlbGV0ZSBvcHQuaGlnaGxpZ2h0O1xuXG4gICAgaWYgKCFwZW5kaW5nKSByZXR1cm4gZG9uZSgpO1xuXG4gICAgZm9yICg7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIChmdW5jdGlvbih0b2tlbikge1xuICAgICAgICBpZiAodG9rZW4udHlwZSAhPT0gJ2NvZGUnKSB7XG4gICAgICAgICAgcmV0dXJuIC0tcGVuZGluZyB8fCBkb25lKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhpZ2hsaWdodCh0b2tlbi50ZXh0LCB0b2tlbi5sYW5nLCBmdW5jdGlvbihlcnIsIGNvZGUpIHtcbiAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gZG9uZShlcnIpO1xuICAgICAgICAgIGlmIChjb2RlID09IG51bGwgfHwgY29kZSA9PT0gdG9rZW4udGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIC0tcGVuZGluZyB8fCBkb25lKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRva2VuLnRleHQgPSBjb2RlO1xuICAgICAgICAgIHRva2VuLmVzY2FwZWQgPSB0cnVlO1xuICAgICAgICAgIC0tcGVuZGluZyB8fCBkb25lKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSkodG9rZW5zW2ldKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cbiAgdHJ5IHtcbiAgICBpZiAob3B0KSBvcHQgPSBtZXJnZSh7fSwgbWFya2VkLmRlZmF1bHRzLCBvcHQpO1xuICAgIGNoZWNrU2FuaXRpemVEZXByZWNhdGlvbihvcHQpO1xuICAgIHJldHVybiBQYXJzZXIucGFyc2UoTGV4ZXIubGV4KHNyYywgb3B0KSwgb3B0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGUubWVzc2FnZSArPSAnXFxuUGxlYXNlIHJlcG9ydCB0aGlzIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrZWRqcy9tYXJrZWQuJztcbiAgICBpZiAoKG9wdCB8fCBtYXJrZWQuZGVmYXVsdHMpLnNpbGVudCkge1xuICAgICAgcmV0dXJuICc8cD5BbiBlcnJvciBvY2N1cnJlZDo8L3A+PHByZT4nXG4gICAgICAgICsgZXNjYXBlKGUubWVzc2FnZSArICcnLCB0cnVlKVxuICAgICAgICArICc8L3ByZT4nO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbi8qKlxuICogT3B0aW9uc1xuICovXG5cbm1hcmtlZC5vcHRpb25zID1cbm1hcmtlZC5zZXRPcHRpb25zID0gZnVuY3Rpb24ob3B0KSB7XG4gIG1lcmdlKG1hcmtlZC5kZWZhdWx0cywgb3B0KTtcbiAgcmV0dXJuIG1hcmtlZDtcbn07XG5cbm1hcmtlZC5nZXREZWZhdWx0cyA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4ge1xuICAgIGJhc2VVcmw6IG51bGwsXG4gICAgYnJlYWtzOiBmYWxzZSxcbiAgICBnZm06IHRydWUsXG4gICAgaGVhZGVySWRzOiB0cnVlLFxuICAgIGhlYWRlclByZWZpeDogJycsXG4gICAgaGlnaGxpZ2h0OiBudWxsLFxuICAgIGxhbmdQcmVmaXg6ICdsYW5ndWFnZS0nLFxuICAgIG1hbmdsZTogdHJ1ZSxcbiAgICBwZWRhbnRpYzogZmFsc2UsXG4gICAgcmVuZGVyZXI6IG5ldyBSZW5kZXJlcigpLFxuICAgIHNhbml0aXplOiBmYWxzZSxcbiAgICBzYW5pdGl6ZXI6IG51bGwsXG4gICAgc2lsZW50OiBmYWxzZSxcbiAgICBzbWFydExpc3RzOiBmYWxzZSxcbiAgICBzbWFydHlwYW50czogZmFsc2UsXG4gICAgeGh0bWw6IGZhbHNlXG4gIH07XG59O1xuXG5tYXJrZWQuZGVmYXVsdHMgPSBtYXJrZWQuZ2V0RGVmYXVsdHMoKTtcblxuLyoqXG4gKiBFeHBvc2VcbiAqL1xuXG5tYXJrZWQuUGFyc2VyID0gUGFyc2VyO1xubWFya2VkLnBhcnNlciA9IFBhcnNlci5wYXJzZTtcblxubWFya2VkLlJlbmRlcmVyID0gUmVuZGVyZXI7XG5tYXJrZWQuVGV4dFJlbmRlcmVyID0gVGV4dFJlbmRlcmVyO1xuXG5tYXJrZWQuTGV4ZXIgPSBMZXhlcjtcbm1hcmtlZC5sZXhlciA9IExleGVyLmxleDtcblxubWFya2VkLklubGluZUxleGVyID0gSW5saW5lTGV4ZXI7XG5tYXJrZWQuaW5saW5lTGV4ZXIgPSBJbmxpbmVMZXhlci5vdXRwdXQ7XG5cbm1hcmtlZC5TbHVnZ2VyID0gU2x1Z2dlcjtcblxubWFya2VkLnBhcnNlID0gbWFya2VkO1xuXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gbWFya2VkO1xufSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHtcbiAgZGVmaW5lKGZ1bmN0aW9uKCkgeyByZXR1cm4gbWFya2VkOyB9KTtcbn0gZWxzZSB7XG4gIHJvb3QubWFya2VkID0gbWFya2VkO1xufVxufSkodGhpcyB8fCAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiBnbG9iYWwpKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL21hcmtlZC9saWIvbWFya2VkLmpzXG4vLyBtb2R1bGUgaWQgPSAyNDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///240\n"); + +/***/ }), +/* 241 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(module, global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return CodeHighlight; });\n/* eslint-disable */\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\nvar _self = {};\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n * MIT license http://www.opensource.org/licenses/mit-license.php/\n * @author Lea Verou http://lea.verou.me\n */\n\nvar Prism = (function () {\n// Private helper vars\n var lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n var uniqueId = 0;\n\n var _ = _self.Prism = {\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n util: {\n encode: function encode (tokens) {\n\t\t\tif (tokens instanceof Token) {\n\t\t\t\treturn new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);\n\t\t\t} else if (_.util.type(tokens) === 'Array') {\n\t\t\t\treturn tokens.map(_.util.encode);\n\t\t\t} else {\n\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t}\n\t\t},\n\n type: function type (o) {\n\t\t\treturn Object.prototype.toString.call(o).match(/\\[object (\\w+)\\]/)[1];\n\t\t},\n\n objId: function objId (obj) {\n\t\t\tif (!obj['__id']) {\n\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t}\n\t\t\treturn obj['__id'];\n\t\t},\n\n // Deep clone a language definition (e.g. to extend it)\n clone: function clone (o, visited) {\n\t\t\tvar type = _.util.type(o);\n\t\t\tvisited = visited || {};\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Object':\n\t\t\t\t\tif (visited[_.util.objId(o)]) {\n\t\t\t\t\t\treturn visited[_.util.objId(o)];\n\t\t\t\t\t}\n\t\t\t\t\tvar clone = {};\n\t\t\t\t\tvisited[_.util.objId(o)] = clone;\n\n\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\tclone[key] = _.util.clone(o[key], visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn clone;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\tif (visited[_.util.objId(o)]) {\n\t\t\t\t\t\treturn visited[_.util.objId(o)];\n\t\t\t\t\t}\n\t\t\t\t\tvar clone = [];\n\t\t\t\t\tvisited[_.util.objId(o)] = clone;\n\n\t\t\t\t\to.forEach(function (v, i) {\n\t\t\t\t\t\tclone[i] = _.util.clone(v, visited);\n\t\t\t\t\t});\n\n\t\t\t\t\treturn clone;\n\t\t\t}\n\n\t\t\treturn o;\n\t\t},\n },\n\n languages: {\n extend: function extend (id, redef) {\n\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\tfor (var key in redef) {\n\t\t\t\tlang[key] = redef[key];\n\t\t\t}\n\n\t\t\treturn lang;\n\t\t},\n\n /**\n\t\t * Insert a token before another token in a language literal\n\t\t * As this needs to recreate the object (we cannot actually insert before keys in object literals),\n\t\t * we cannot just provide an object, we need anobject and a key.\n\t\t * @param inside The key (or language id) of the parent\n\t\t * @param before The key to insert before. If not provided, the function appends instead.\n\t\t * @param insert Object with the key/value pairs to insert\n\t\t * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted.\n\t\t */\n insertBefore: function insertBefore (inside, before, insert, root) {\n\t\t\troot = root || _.languages;\n\t\t\tvar grammar = root[inside];\n\n\t\t\tif (arguments.length == 2) {\n\t\t\t\tinsert = arguments[1];\n\n\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\tgrammar[newToken] = insert[newToken];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn grammar;\n\t\t\t}\n\n\t\t\tvar ret = {};\n\n\t\t\tfor (var token in grammar) {\n\n\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\tif (token == before) {\n\n\t\t\t\t\t\tfor (var newToken in insert) {\n\n\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Update references in other language definitions\n\t\t\t_.languages.DFS(_.languages, function(key, value) {\n\t\t\t\tif (value === root[inside] && key != inside) {\n\t\t\t\t\tthis[key] = ret;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn root[inside] = ret;\n\t\t},\n\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n\t\t\tvisited = visited || {};\n\t\t\tfor (var i in o) {\n\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\tif (_.util.type(o[i]) === 'Object' && !visited[_.util.objId(o[i])]) {\n\t\t\t\t\t\tvisited[_.util.objId(o[i])] = true;\n\t\t\t\t\t\t_.languages.DFS(o[i], callback, null, visited);\n\t\t\t\t\t}\n\t\t\t\t\telse if (_.util.type(o[i]) === 'Array' && !visited[_.util.objId(o[i])]) {\n\t\t\t\t\t\tvisited[_.util.objId(o[i])] = true;\n\t\t\t\t\t\t_.languages.DFS(o[i], callback, i, visited);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n },\n plugins: {},\n\n highlightAll: function highlightAll(async, callback) {\n\t\t_.highlightAllUnder(document, async, callback);\n\t},\n\n highlightAllUnder: function highlightAllUnder(container, async, callback) {\n\t\tvar env = {\n\t\t\tcallback: callback,\n\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t};\n\n\t\t_.hooks.run(\"before-highlightall\", env);\n\n\t\tvar elements = env.elements || container.querySelectorAll(env.selector);\n\n\t\tfor (var i=0, element; element = elements[i++];) {\n\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t}\n\t},\n\n highlightElement: function highlightElement(element, async, callback) {\n\t\t// Find language\n\t\tvar language, grammar, parent = element;\n\n\t\twhile (parent && !lang.test(parent.className)) {\n\t\t\tparent = parent.parentNode;\n\t\t}\n\n\t\tif (parent) {\n\t\t\tlanguage = (parent.className.match(lang) || [,''])[1].toLowerCase();\n\t\t\tgrammar = _.languages[language];\n\t\t}\n\n\t\t// Set language on the element, if not present\n\t\telement.className = element.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n\n\t\tif (element.parentNode) {\n\t\t\t// Set language on the parent, for styling\n\t\t\tparent = element.parentNode;\n\n\t\t\tif (/pre/i.test(parent.nodeName)) {\n\t\t\t\tparent.className = parent.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n\t\t\t}\n\t\t}\n\n\t\tvar code = element.textContent;\n\n\t\tvar env = {\n\t\t\telement: element,\n\t\t\tlanguage: language,\n\t\t\tgrammar: grammar,\n\t\t\tcode: code\n\t\t};\n\n\t\t_.hooks.run('before-sanity-check', env);\n\n\t\tif (!env.code || !env.grammar) {\n\t\t\tif (env.code) {\n\t\t\t\t_.hooks.run('before-highlight', env);\n\t\t\t\tenv.element.textContent = env.code;\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t}\n\t\t\t_.hooks.run('complete', env);\n\t\t\treturn;\n\t\t}\n\n\t\t_.hooks.run('before-highlight', env);\n\n\t\tif (async && _self.Worker) {\n\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\tworker.onmessage = function(evt) {\n\t\t\t\tenv.highlightedCode = evt.data;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t};\n\n\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\tlanguage: env.language,\n\t\t\t\tcode: env.code,\n\t\t\t\timmediateClose: true\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tenv.highlightedCode = _.highlight(env.code, env.grammar, env.language);\n\n\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\tcallback && callback.call(element);\n\n\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t_.hooks.run('complete', env);\n\t\t}\n\t},\n\n highlight: function highlight (text, grammar, language) {\n\t\tvar env = {\n\t\t\tcode: text,\n\t\t\tgrammar: grammar,\n\t\t\tlanguage: language\n\t\t};\n\t\t_.hooks.run('before-tokenize', env);\n\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t_.hooks.run('after-tokenize', env);\n\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t},\n\n matchGrammar: function matchGrammar (text, strarr, grammar, index, startPos, oneshot, target) {\n\t\tvar Token = _.Token;\n\n\t\tfor (var token in grammar) {\n\t\t\tif(!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (token == target) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = (_.util.type(patterns) === \"Array\") ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tvar pattern = patterns[j],\n\t\t\t\t\tinside = pattern.inside,\n\t\t\t\t\tlookbehind = !!pattern.lookbehind,\n\t\t\t\t\tgreedy = !!pattern.greedy,\n\t\t\t\t\tlookbehindLength = 0,\n\t\t\t\t\talias = pattern.alias;\n\n\t\t\t\tif (greedy && !pattern.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = pattern.pattern.toString().match(/[imuy]*$/)[0];\n\t\t\t\t\tpattern.pattern = RegExp(pattern.pattern.source, flags + \"g\");\n\t\t\t\t}\n\n\t\t\t\tpattern = pattern.pattern || pattern;\n\n\t\t\t\t// Don’t cache length as it changes during the loop\n\t\t\t\tfor (var i = index, pos = startPos; i < strarr.length; pos += strarr[i].length, ++i) {\n\n\t\t\t\t\tvar str = strarr[i];\n\n\t\t\t\t\tif (strarr.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (greedy && i != strarr.length - 1) {\n\t\t\t\t\t\tpattern.lastIndex = pos;\n\t\t\t\t\t\tvar match = pattern.exec(text);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index + (lookbehind ? match[1].length : 0),\n\t\t\t\t\t\t to = match.index + match[0].length,\n\t\t\t\t\t\t k = i,\n\t\t\t\t\t\t p = pos;\n\n\t\t\t\t\t\tfor (var len = strarr.length; k < len && (p < to || (!strarr[k].type && !strarr[k - 1].greedy)); ++k) {\n\t\t\t\t\t\t\tp += strarr[k].length;\n\t\t\t\t\t\t\t// Move the index i to the element in strarr that is closest to from\n\t\t\t\t\t\t\tif (from >= p) {\n\t\t\t\t\t\t\t\t++i;\n\t\t\t\t\t\t\t\tpos = p;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If strarr[i] is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (strarr[i] instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Number of tokens to delete and replace with the new match\n\t\t\t\t\t\tdelNum = k - i;\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpattern.lastIndex = 0;\n\n\t\t\t\t\t\tvar match = pattern.exec(str),\n\t\t\t\t\t\t\tdelNum = 1;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!match) {\n\t\t\t\t\t\tif (oneshot) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(lookbehind) {\n\t\t\t\t\t\tlookbehindLength = match[1] ? match[1].length : 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar from = match.index + lookbehindLength,\n\t\t\t\t\t match = match[0].slice(lookbehindLength),\n\t\t\t\t\t to = from + match.length,\n\t\t\t\t\t before = str.slice(0, from),\n\t\t\t\t\t after = str.slice(to);\n\n\t\t\t\t\tvar args = [i, delNum];\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\t++i;\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t\targs.push(before);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy);\n\n\t\t\t\t\targs.push(wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\targs.push(after);\n\t\t\t\t\t}\n\n\t\t\t\t\tArray.prototype.splice.apply(strarr, args);\n\n\t\t\t\t\tif (delNum != 1)\n\t\t\t\t\t\t{ _.matchGrammar(text, strarr, grammar, i, pos, true, token); }\n\n\t\t\t\t\tif (oneshot)\n\t\t\t\t\t\t{ break; }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n tokenize: function tokenize(text, grammar, language) {\n\t\tvar strarr = [text];\n\n\t\tvar rest = grammar.rest;\n\n\t\tif (rest) {\n\t\t\tfor (var token in rest) {\n\t\t\t\tgrammar[token] = rest[token];\n\t\t\t}\n\n\t\t\tdelete grammar.rest;\n\t\t}\n\n\t\t_.matchGrammar(text, strarr, grammar, 0, 0, false);\n\n\t\treturn strarr;\n\t},\n\n hooks: {\n all: {},\n\n add: function add (name, callback) {\n\t\t\tvar hooks = _.hooks.all;\n\n\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\thooks[name].push(callback);\n\t\t},\n\n run: function run (name, env) {\n\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i=0, callback; callback = callbacks[i++];) {\n\t\t\t\tcallback(env);\n\t\t\t}\n\t\t},\n },\n };\n\n var Token = _.Token = function (type, content, alias, matchedStr, greedy) {\n this.type = type;\n this.content = content;\n this.alias = alias;\n // Copy of the full string this token was created from\n this.length = (matchedStr || '').length | 0;\n this.greedy = !!greedy;\n };\n\n Token.stringify = function (o, language, parent) {\n if (typeof o === 'string') {\n return o;\n }\n\n if (_.util.type(o) === 'Array') {\n return o.map(function (element) {\n\t\t\treturn Token.stringify(element, language, o);\n\t\t}).join('');\n }\n\n var env = {\n type: o.type,\n content: Token.stringify(o.content, language, parent),\n tag: 'span',\n classes: ['token', o.type],\n attributes: {},\n language: language,\n parent: parent,\n };\n\n if (o.alias) {\n var aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];\n Array.prototype.push.apply(env.classes, aliases);\n }\n\n _.hooks.run('wrap', env);\n\n var attributes = Object.keys(env.attributes).map(function (name) {\n\t\treturn name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t}).join(' ');\n\n return (\"<\" + (env.tag) + \" class=\\\"\" + (env.classes.join(' ')) + \"\\\"\" + (attributes ? ' ' + attributes : '') + \">\" + (env.content) + \"</\" + (env.tag) + \">\");\n };\n\n if (!_self.document) {\n if (!_self.addEventListener) {\n // in Node.js\n return _self.Prism;\n }\n\n if (!_.disableWorkerMessageHandler) {\n // In worker\n _self.addEventListener('message', function (evt) {\n\t\t\tvar message = JSON.parse(evt.data),\n\t\t\t\tlang = message.language,\n\t\t\t\tcode = message.code,\n\t\t\t\timmediateClose = message.immediateClose;\n\n\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\tif (immediateClose) {\n\t\t\t\t_self.close();\n\t\t\t}\n\t\t}, false);\n }\n\n return _self.Prism;\n }\n\n // Get current script and highlight\n // let script = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop();\n\n // if (script) {\n // _.filename = script.src;\n\n // if (!_.manual && !script.hasAttribute('data-manual')) {\n // if (document.readyState !== 'loading') {\n // if (window.requestAnimationFrame) {\n // window.requestAnimationFrame(_.highlightAll);\n // } else {\n // window.setTimeout(_.highlightAll, 16);\n // }\n // } else {\n // document.addEventListener('DOMContentLoaded', _.highlightAll);\n // }\n // }\n // }\n\n return _self.Prism;\n}());\n\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n global.Prism = Prism;\n}\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n comment: /<!--[\\s\\S]*?-->/,\n prolog: /<\\?[\\s\\S]+?\\?>/,\n doctype: /<!DOCTYPE[\\s\\S]+?>/i,\n cdata: /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n tag: {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,\n greedy: true,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/,\n },\n },\n 'attr-value': {\n pattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/i,\n inside: {\n punctuation: [\n /^=/,\n {\n pattern: /(^|[^\\\\])[\"']/,\n lookbehind: true,\n } ],\n },\n },\n punctuation: /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/,\n },\n },\n\n },\n },\n entity: /&#?[\\da-z]{1,8};/i,\n};\n\nPrism.languages.markup.tag.inside['attr-value'].inside.entity =\tPrism.languages.markup.entity;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nPrism.languages.xml = Prism.languages.markup;\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\nPrism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: /@[\\w-]+?.*?(?:;|(?=\\s*\\{))/i,\n inside: {\n rule: /@[\\w-]+/,\n // See rest below\n },\n },\n url: /url\\((?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|.*?)\\)/i,\n selector: /[^{}\\s][^{};]*?(?=\\s*\\{)/,\n string: {\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n },\n property: /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n important: /\\B!important\\b/i,\n function: /[-a-z0-9]+(?=\\()/i,\n punctuation: /[(){};:]/,\n};\n\nPrism.languages.css.atrule.inside.rest = Prism.languages.css;\n\nif (Prism.languages.markup) {\n Prism.languages.insertBefore('markup', 'tag', {\n style: {\n pattern: /(<style[\\s\\S]*?>)[\\s\\S]*?(?=<\\/style>)/i,\n lookbehind: true,\n inside: Prism.languages.css,\n alias: 'language-css',\n greedy: true,\n },\n });\n\n Prism.languages.insertBefore('inside', 'attr-value', {\n 'style-attr': {\n pattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n 'attr-name': {\n pattern: /^\\s*style/i,\n inside: Prism.languages.markup.tag.inside,\n },\n punctuation: /^\\s*=\\s*['\"]|['\"]\\s*$/,\n 'attr-value': {\n pattern: /.+/i,\n inside: Prism.languages.css,\n },\n },\n alias: 'language-css',\n },\n }, Prism.languages.markup.tag);\n}\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true,\n } ],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n },\n 'class-name': {\n pattern: /((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/,\n },\n },\n keyword: /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n boolean: /\\b(?:true|false)\\b/,\n function: /[a-z0-9_]+(?=\\()/i,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n punctuation: /[{}[\\];(),.:]/,\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n keyword: /\\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\\b/,\n number: /\\b(?:0[xX][\\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n function: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*\\()/i,\n operator: /-[-=]?|\\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/,\n});\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n regex: {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(\\[[^\\]\\r\\n]+]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyu]{0,5}(?=\\s*($|[\\r\\n,.;})\\]]))/,\n lookbehind: true,\n greedy: true,\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i,\n alias: 'function',\n },\n constant: /\\b[A-Z][A-Z\\d_]*\\b/,\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n 'template-string': {\n pattern: /`(?:\\\\[\\s\\S]|\\${[^}]+}|[^\\\\`])*`/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\${[^}]+}/,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\${|}$/,\n alias: 'punctuation',\n },\n rest: null, // See below\n },\n },\n string: /[\\s\\S]+/,\n },\n },\n});\nPrism.languages.javascript['template-string'].inside.interpolation.inside.rest = Prism.languages.javascript;\n\nif (Prism.languages.markup) {\n Prism.languages.insertBefore('markup', 'tag', {\n script: {\n pattern: /(<script[\\s\\S]*?>)[\\s\\S]*?(?=<\\/script>)/i,\n lookbehind: true,\n inside: Prism.languages.javascript,\n alias: 'language-javascript',\n greedy: true,\n },\n });\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n(function(){ if(typeof document !== 'undefined'){ var head=document.head||document.getElementsByTagName('head')[0], style=document.createElement('style'), css=\"\"; style.type='text/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); } head.appendChild(style); } })();\n\nvar CodeHighlight = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"codeBlock\"},[_c('pre',{class:_vm.languageClass},[_c('code',[_vm._t(\"default\")],2)])])},staticRenderFns: [],\n name: 'code-highlight',\n props: {\n language: {\n type: String,\n default: 'javascript',\n },\n },\n computed: {\n languageClass: function languageClass() {\n return (\"language-\" + (this.language));\n },\n },\n mounted: function mounted() {\n Prism.highlightAllUnder(this.$refs.codeBlock);\n },\n\n beforeUpdate: function beforeUpdate() {\n var newText = this.$slots.default[0].text.replace(/^[\\r\\n\\s]*|[\\r\\n\\s]*$/g, '');\n this.$el.querySelector('code').textContent = newText;\n Prism.highlightAllUnder(this.$refs.codeBlock);\n },\n};\n\nfunction registerDirective (el) {\n Prism.highlightAllUnder(el);\n}\n\n// Import vue component\n\n// Declare install function executed by Vue.use()\nfunction install(Vue) {\n if (install.installed) { return; }\n install.installed = true;\n Vue.directive('highlight', registerDirective);\n}\n\n// Create module definition for Vue.use()\nvar plugin = {\n install: install,\n};\n\n// Auto-install when vue is found (eg. in browser via <script> tag)\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\n/* unused harmony default export */ var _unused_webpack_default_export = (install);\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(242)(module), __webpack_require__(25)))\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWNvZGUtaGlnaGxpZ2h0L2Rpc3QvdnVlLWNvZGUtaGlnaGxpZ2h0LmVzbS5qcz81M2M1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSixzQ0FBc0Msc0JBQXNCO0FBQzVEO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0Esd0NBQXdDLG9CQUFvQjtBQUM1RDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNILEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsS0FBSztBQUNMLGVBQWU7O0FBRWY7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQSx3QkFBd0IseUJBQXlCO0FBQ2pEO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsa0JBQWtCLHFCQUFxQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHVDQUF1QyxtQkFBbUI7O0FBRTFEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DLG1FQUFtRTtBQUN0RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLE9BQU8sNERBQTREOztBQUVuRTtBQUNBLE9BQU8sT0FBTztBQUNkO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBLGFBQWE7O0FBRWI7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCLDJCQUEyQjtBQUNyRDtBQUNBO0FBQ0EsR0FBRztBQUNILEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHlFQUF5RTtBQUN6RSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPOztBQUVQLEtBQUs7QUFDTCxHQUFHO0FBQ0gsc0JBQXNCLEtBQUs7QUFDM0I7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsU0FBUztBQUN0QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0EsaUJBQWlCLFFBQVEsV0FBVztBQUNwQztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLElBQUk7QUFDdkI7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUdBQXlHLEVBQUU7QUFDM0csQ0FBQzs7QUFFRDtBQUNBO0FBQ0EsK0ZBQStGLElBQUksa0JBQWtCO0FBQ3JIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQSw4QkFBOEIsR0FBRyxHQUFHO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixHQUFHLEdBQUc7QUFDM0I7QUFDQTtBQUNBLDBCQUEwQixFQUFFO0FBQzVCO0FBQ0EsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0gsQ0FBQztBQUNEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBOztBQUVBLFlBQVkscUNBQXFDLGlIQUFpSCx1QkFBdUIsdUJBQXVCLGdDQUFnQyxFQUFFLE9BQU8saURBQWlELEVBQUUseUJBQXlCLEVBQUUsRUFBRTs7QUFFelUscUJBQXFCLG1CQUFtQixhQUFhLDBCQUEwQix3QkFBd0IsaUJBQWlCLGdCQUFnQixZQUFZLHdCQUF3Qix1Q0FBdUM7QUFDbk47QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQixRQUFRO0FBQ2xDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlLGlGQUFPLEVBQUM7QUFDZSIsImZpbGUiOiIyNDEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBCZWdpbiBwcmlzbS1jb3JlLmpzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbnZhciBfc2VsZiA9IHt9O1xuXG4vKipcbiAqIFByaXNtOiBMaWdodHdlaWdodCwgcm9idXN0LCBlbGVnYW50IHN5bnRheCBoaWdobGlnaHRpbmdcbiAqIE1JVCBsaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwL1xuICogQGF1dGhvciBMZWEgVmVyb3UgaHR0cDovL2xlYS52ZXJvdS5tZVxuICovXG5cbnZhciBQcmlzbSA9IChmdW5jdGlvbiAoKSB7XG4vLyBQcml2YXRlIGhlbHBlciB2YXJzXG4gIHZhciBsYW5nID0gL1xcYmxhbmcoPzp1YWdlKT8tKFtcXHctXSspXFxiL2k7XG4gIHZhciB1bmlxdWVJZCA9IDA7XG5cbiAgdmFyIF8gPSBfc2VsZi5QcmlzbSA9IHtcbiAgICBtYW51YWw6IF9zZWxmLlByaXNtICYmIF9zZWxmLlByaXNtLm1hbnVhbCxcbiAgICBkaXNhYmxlV29ya2VyTWVzc2FnZUhhbmRsZXI6IF9zZWxmLlByaXNtICYmIF9zZWxmLlByaXNtLmRpc2FibGVXb3JrZXJNZXNzYWdlSGFuZGxlcixcbiAgICB1dGlsOiB7XG4gICAgICBlbmNvZGU6IGZ1bmN0aW9uIGVuY29kZSAodG9rZW5zKSB7XG5cdFx0XHRpZiAodG9rZW5zIGluc3RhbmNlb2YgVG9rZW4pIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBUb2tlbih0b2tlbnMudHlwZSwgXy51dGlsLmVuY29kZSh0b2tlbnMuY29udGVudCksIHRva2Vucy5hbGlhcyk7XG5cdFx0XHR9IGVsc2UgaWYgKF8udXRpbC50eXBlKHRva2VucykgPT09ICdBcnJheScpIHtcblx0XHRcdFx0cmV0dXJuIHRva2Vucy5tYXAoXy51dGlsLmVuY29kZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gdG9rZW5zLnJlcGxhY2UoLyYvZywgJyZhbXA7JykucmVwbGFjZSgvPC9nLCAnJmx0OycpLnJlcGxhY2UoL1xcdTAwYTAvZywgJyAnKTtcblx0XHRcdH1cblx0XHR9LFxuXG4gICAgICB0eXBlOiBmdW5jdGlvbiB0eXBlIChvKSB7XG5cdFx0XHRyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLm1hdGNoKC9cXFtvYmplY3QgKFxcdyspXFxdLylbMV07XG5cdFx0fSxcblxuICAgICAgb2JqSWQ6IGZ1bmN0aW9uIG9iaklkIChvYmopIHtcblx0XHRcdGlmICghb2JqWydfX2lkJ10pIHtcblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgJ19faWQnLCB7IHZhbHVlOiArK3VuaXF1ZUlkIH0pO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIG9ialsnX19pZCddO1xuXHRcdH0sXG5cbiAgICAgIC8vIERlZXAgY2xvbmUgYSBsYW5ndWFnZSBkZWZpbml0aW9uIChlLmcuIHRvIGV4dGVuZCBpdClcbiAgICAgIGNsb25lOiBmdW5jdGlvbiBjbG9uZSAobywgdmlzaXRlZCkge1xuXHRcdFx0dmFyIHR5cGUgPSBfLnV0aWwudHlwZShvKTtcblx0XHRcdHZpc2l0ZWQgPSB2aXNpdGVkIHx8IHt9O1xuXG5cdFx0XHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRcdFx0Y2FzZSAnT2JqZWN0Jzpcblx0XHRcdFx0XHRpZiAodmlzaXRlZFtfLnV0aWwub2JqSWQobyldKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdmlzaXRlZFtfLnV0aWwub2JqSWQobyldO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR2YXIgY2xvbmUgPSB7fTtcblx0XHRcdFx0XHR2aXNpdGVkW18udXRpbC5vYmpJZChvKV0gPSBjbG9uZTtcblxuXHRcdFx0XHRcdGZvciAodmFyIGtleSBpbiBvKSB7XG5cdFx0XHRcdFx0XHRpZiAoby5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG5cdFx0XHRcdFx0XHRcdGNsb25lW2tleV0gPSBfLnV0aWwuY2xvbmUob1trZXldLCB2aXNpdGVkKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRyZXR1cm4gY2xvbmU7XG5cblx0XHRcdFx0Y2FzZSAnQXJyYXknOlxuXHRcdFx0XHRcdGlmICh2aXNpdGVkW18udXRpbC5vYmpJZChvKV0pIHtcblx0XHRcdFx0XHRcdHJldHVybiB2aXNpdGVkW18udXRpbC5vYmpJZChvKV07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHZhciBjbG9uZSA9IFtdO1xuXHRcdFx0XHRcdHZpc2l0ZWRbXy51dGlsLm9iaklkKG8pXSA9IGNsb25lO1xuXG5cdFx0XHRcdFx0by5mb3JFYWNoKGZ1bmN0aW9uICh2LCBpKSB7XG5cdFx0XHRcdFx0XHRjbG9uZVtpXSA9IF8udXRpbC5jbG9uZSh2LCB2aXNpdGVkKTtcblx0XHRcdFx0XHR9KTtcblxuXHRcdFx0XHRcdHJldHVybiBjbG9uZTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG87XG5cdFx0fSxcbiAgICB9LFxuXG4gICAgbGFuZ3VhZ2VzOiB7XG4gICAgICBleHRlbmQ6IGZ1bmN0aW9uIGV4dGVuZCAoaWQsIHJlZGVmKSB7XG5cdFx0XHR2YXIgbGFuZyA9IF8udXRpbC5jbG9uZShfLmxhbmd1YWdlc1tpZF0pO1xuXG5cdFx0XHRmb3IgKHZhciBrZXkgaW4gcmVkZWYpIHtcblx0XHRcdFx0bGFuZ1trZXldID0gcmVkZWZba2V5XTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGxhbmc7XG5cdFx0fSxcblxuICAgICAgLyoqXG5cdFx0ICogSW5zZXJ0IGEgdG9rZW4gYmVmb3JlIGFub3RoZXIgdG9rZW4gaW4gYSBsYW5ndWFnZSBsaXRlcmFsXG5cdFx0ICogQXMgdGhpcyBuZWVkcyB0byByZWNyZWF0ZSB0aGUgb2JqZWN0ICh3ZSBjYW5ub3QgYWN0dWFsbHkgaW5zZXJ0IGJlZm9yZSBrZXlzIGluIG9iamVjdCBsaXRlcmFscyksXG5cdFx0ICogd2UgY2Fubm90IGp1c3QgcHJvdmlkZSBhbiBvYmplY3QsIHdlIG5lZWQgYW5vYmplY3QgYW5kIGEga2V5LlxuXHRcdCAqIEBwYXJhbSBpbnNpZGUgVGhlIGtleSAob3IgbGFuZ3VhZ2UgaWQpIG9mIHRoZSBwYXJlbnRcblx0XHQgKiBAcGFyYW0gYmVmb3JlIFRoZSBrZXkgdG8gaW5zZXJ0IGJlZm9yZS4gSWYgbm90IHByb3ZpZGVkLCB0aGUgZnVuY3Rpb24gYXBwZW5kcyBpbnN0ZWFkLlxuXHRcdCAqIEBwYXJhbSBpbnNlcnQgT2JqZWN0IHdpdGggdGhlIGtleS92YWx1ZSBwYWlycyB0byBpbnNlcnRcblx0XHQgKiBAcGFyYW0gcm9vdCBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgYGluc2lkZWAuIElmIGVxdWFsIHRvIFByaXNtLmxhbmd1YWdlcywgaXQgY2FuIGJlIG9taXR0ZWQuXG5cdFx0ICovXG4gICAgICBpbnNlcnRCZWZvcmU6IGZ1bmN0aW9uIGluc2VydEJlZm9yZSAoaW5zaWRlLCBiZWZvcmUsIGluc2VydCwgcm9vdCkge1xuXHRcdFx0cm9vdCA9IHJvb3QgfHwgXy5sYW5ndWFnZXM7XG5cdFx0XHR2YXIgZ3JhbW1hciA9IHJvb3RbaW5zaWRlXTtcblxuXHRcdFx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikge1xuXHRcdFx0XHRpbnNlcnQgPSBhcmd1bWVudHNbMV07XG5cblx0XHRcdFx0Zm9yICh2YXIgbmV3VG9rZW4gaW4gaW5zZXJ0KSB7XG5cdFx0XHRcdFx0aWYgKGluc2VydC5oYXNPd25Qcm9wZXJ0eShuZXdUb2tlbikpIHtcblx0XHRcdFx0XHRcdGdyYW1tYXJbbmV3VG9rZW5dID0gaW5zZXJ0W25ld1Rva2VuXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gZ3JhbW1hcjtcblx0XHRcdH1cblxuXHRcdFx0dmFyIHJldCA9IHt9O1xuXG5cdFx0XHRmb3IgKHZhciB0b2tlbiBpbiBncmFtbWFyKSB7XG5cblx0XHRcdFx0aWYgKGdyYW1tYXIuaGFzT3duUHJvcGVydHkodG9rZW4pKSB7XG5cblx0XHRcdFx0XHRpZiAodG9rZW4gPT0gYmVmb3JlKSB7XG5cblx0XHRcdFx0XHRcdGZvciAodmFyIG5ld1Rva2VuIGluIGluc2VydCkge1xuXG5cdFx0XHRcdFx0XHRcdGlmIChpbnNlcnQuaGFzT3duUHJvcGVydHkobmV3VG9rZW4pKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0W25ld1Rva2VuXSA9IGluc2VydFtuZXdUb2tlbl07XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRyZXRbdG9rZW5dID0gZ3JhbW1hclt0b2tlbl07XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gVXBkYXRlIHJlZmVyZW5jZXMgaW4gb3RoZXIgbGFuZ3VhZ2UgZGVmaW5pdGlvbnNcblx0XHRcdF8ubGFuZ3VhZ2VzLkRGUyhfLmxhbmd1YWdlcywgZnVuY3Rpb24oa2V5LCB2YWx1ZSkge1xuXHRcdFx0XHRpZiAodmFsdWUgPT09IHJvb3RbaW5zaWRlXSAmJiBrZXkgIT0gaW5zaWRlKSB7XG5cdFx0XHRcdFx0dGhpc1trZXldID0gcmV0O1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdFx0cmV0dXJuIHJvb3RbaW5zaWRlXSA9IHJldDtcblx0XHR9LFxuXG4gICAgICAvLyBUcmF2ZXJzZSBhIGxhbmd1YWdlIGRlZmluaXRpb24gd2l0aCBEZXB0aCBGaXJzdCBTZWFyY2hcbiAgICAgIERGUzogZnVuY3Rpb24gREZTKG8sIGNhbGxiYWNrLCB0eXBlLCB2aXNpdGVkKSB7XG5cdFx0XHR2aXNpdGVkID0gdmlzaXRlZCB8fCB7fTtcblx0XHRcdGZvciAodmFyIGkgaW4gbykge1xuXHRcdFx0XHRpZiAoby5oYXNPd25Qcm9wZXJ0eShpKSkge1xuXHRcdFx0XHRcdGNhbGxiYWNrLmNhbGwobywgaSwgb1tpXSwgdHlwZSB8fCBpKTtcblxuXHRcdFx0XHRcdGlmIChfLnV0aWwudHlwZShvW2ldKSA9PT0gJ09iamVjdCcgJiYgIXZpc2l0ZWRbXy51dGlsLm9iaklkKG9baV0pXSkge1xuXHRcdFx0XHRcdFx0dmlzaXRlZFtfLnV0aWwub2JqSWQob1tpXSldID0gdHJ1ZTtcblx0XHRcdFx0XHRcdF8ubGFuZ3VhZ2VzLkRGUyhvW2ldLCBjYWxsYmFjaywgbnVsbCwgdmlzaXRlZCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGVsc2UgaWYgKF8udXRpbC50eXBlKG9baV0pID09PSAnQXJyYXknICYmICF2aXNpdGVkW18udXRpbC5vYmpJZChvW2ldKV0pIHtcblx0XHRcdFx0XHRcdHZpc2l0ZWRbXy51dGlsLm9iaklkKG9baV0pXSA9IHRydWU7XG5cdFx0XHRcdFx0XHRfLmxhbmd1YWdlcy5ERlMob1tpXSwgY2FsbGJhY2ssIGksIHZpc2l0ZWQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG4gICAgfSxcbiAgICBwbHVnaW5zOiB7fSxcblxuICAgIGhpZ2hsaWdodEFsbDogZnVuY3Rpb24gaGlnaGxpZ2h0QWxsKGFzeW5jLCBjYWxsYmFjaykge1xuXHRcdF8uaGlnaGxpZ2h0QWxsVW5kZXIoZG9jdW1lbnQsIGFzeW5jLCBjYWxsYmFjayk7XG5cdH0sXG5cbiAgICBoaWdobGlnaHRBbGxVbmRlcjogZnVuY3Rpb24gaGlnaGxpZ2h0QWxsVW5kZXIoY29udGFpbmVyLCBhc3luYywgY2FsbGJhY2spIHtcblx0XHR2YXIgZW52ID0ge1xuXHRcdFx0Y2FsbGJhY2s6IGNhbGxiYWNrLFxuXHRcdFx0c2VsZWN0b3I6ICdjb2RlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSwgW2NsYXNzKj1cImxhbmd1YWdlLVwiXSBjb2RlLCBjb2RlW2NsYXNzKj1cImxhbmctXCJdLCBbY2xhc3MqPVwibGFuZy1cIl0gY29kZSdcblx0XHR9O1xuXG5cdFx0Xy5ob29rcy5ydW4oXCJiZWZvcmUtaGlnaGxpZ2h0YWxsXCIsIGVudik7XG5cblx0XHR2YXIgZWxlbWVudHMgPSBlbnYuZWxlbWVudHMgfHwgY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoZW52LnNlbGVjdG9yKTtcblxuXHRcdGZvciAodmFyIGk9MCwgZWxlbWVudDsgZWxlbWVudCA9IGVsZW1lbnRzW2krK107KSB7XG5cdFx0XHRfLmhpZ2hsaWdodEVsZW1lbnQoZWxlbWVudCwgYXN5bmMgPT09IHRydWUsIGVudi5jYWxsYmFjayk7XG5cdFx0fVxuXHR9LFxuXG4gICAgaGlnaGxpZ2h0RWxlbWVudDogZnVuY3Rpb24gaGlnaGxpZ2h0RWxlbWVudChlbGVtZW50LCBhc3luYywgY2FsbGJhY2spIHtcblx0XHQvLyBGaW5kIGxhbmd1YWdlXG5cdFx0dmFyIGxhbmd1YWdlLCBncmFtbWFyLCBwYXJlbnQgPSBlbGVtZW50O1xuXG5cdFx0d2hpbGUgKHBhcmVudCAmJiAhbGFuZy50ZXN0KHBhcmVudC5jbGFzc05hbWUpKSB7XG5cdFx0XHRwYXJlbnQgPSBwYXJlbnQucGFyZW50Tm9kZTtcblx0XHR9XG5cblx0XHRpZiAocGFyZW50KSB7XG5cdFx0XHRsYW5ndWFnZSA9IChwYXJlbnQuY2xhc3NOYW1lLm1hdGNoKGxhbmcpIHx8IFssJyddKVsxXS50b0xvd2VyQ2FzZSgpO1xuXHRcdFx0Z3JhbW1hciA9IF8ubGFuZ3VhZ2VzW2xhbmd1YWdlXTtcblx0XHR9XG5cblx0XHQvLyBTZXQgbGFuZ3VhZ2Ugb24gdGhlIGVsZW1lbnQsIGlmIG5vdCBwcmVzZW50XG5cdFx0ZWxlbWVudC5jbGFzc05hbWUgPSBlbGVtZW50LmNsYXNzTmFtZS5yZXBsYWNlKGxhbmcsICcnKS5yZXBsYWNlKC9cXHMrL2csICcgJykgKyAnIGxhbmd1YWdlLScgKyBsYW5ndWFnZTtcblxuXHRcdGlmIChlbGVtZW50LnBhcmVudE5vZGUpIHtcblx0XHRcdC8vIFNldCBsYW5ndWFnZSBvbiB0aGUgcGFyZW50LCBmb3Igc3R5bGluZ1xuXHRcdFx0cGFyZW50ID0gZWxlbWVudC5wYXJlbnROb2RlO1xuXG5cdFx0XHRpZiAoL3ByZS9pLnRlc3QocGFyZW50Lm5vZGVOYW1lKSkge1xuXHRcdFx0XHRwYXJlbnQuY2xhc3NOYW1lID0gcGFyZW50LmNsYXNzTmFtZS5yZXBsYWNlKGxhbmcsICcnKS5yZXBsYWNlKC9cXHMrL2csICcgJykgKyAnIGxhbmd1YWdlLScgKyBsYW5ndWFnZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR2YXIgY29kZSA9IGVsZW1lbnQudGV4dENvbnRlbnQ7XG5cblx0XHR2YXIgZW52ID0ge1xuXHRcdFx0ZWxlbWVudDogZWxlbWVudCxcblx0XHRcdGxhbmd1YWdlOiBsYW5ndWFnZSxcblx0XHRcdGdyYW1tYXI6IGdyYW1tYXIsXG5cdFx0XHRjb2RlOiBjb2RlXG5cdFx0fTtcblxuXHRcdF8uaG9va3MucnVuKCdiZWZvcmUtc2FuaXR5LWNoZWNrJywgZW52KTtcblxuXHRcdGlmICghZW52LmNvZGUgfHwgIWVudi5ncmFtbWFyKSB7XG5cdFx0XHRpZiAoZW52LmNvZGUpIHtcblx0XHRcdFx0Xy5ob29rcy5ydW4oJ2JlZm9yZS1oaWdobGlnaHQnLCBlbnYpO1xuXHRcdFx0XHRlbnYuZWxlbWVudC50ZXh0Q29udGVudCA9IGVudi5jb2RlO1xuXHRcdFx0XHRfLmhvb2tzLnJ1bignYWZ0ZXItaGlnaGxpZ2h0JywgZW52KTtcblx0XHRcdH1cblx0XHRcdF8uaG9va3MucnVuKCdjb21wbGV0ZScsIGVudik7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Xy5ob29rcy5ydW4oJ2JlZm9yZS1oaWdobGlnaHQnLCBlbnYpO1xuXG5cdFx0aWYgKGFzeW5jICYmIF9zZWxmLldvcmtlcikge1xuXHRcdFx0dmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoXy5maWxlbmFtZSk7XG5cblx0XHRcdHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpIHtcblx0XHRcdFx0ZW52LmhpZ2hsaWdodGVkQ29kZSA9IGV2dC5kYXRhO1xuXG5cdFx0XHRcdF8uaG9va3MucnVuKCdiZWZvcmUtaW5zZXJ0JywgZW52KTtcblxuXHRcdFx0XHRlbnYuZWxlbWVudC5pbm5lckhUTUwgPSBlbnYuaGlnaGxpZ2h0ZWRDb2RlO1xuXG5cdFx0XHRcdGNhbGxiYWNrICYmIGNhbGxiYWNrLmNhbGwoZW52LmVsZW1lbnQpO1xuXHRcdFx0XHRfLmhvb2tzLnJ1bignYWZ0ZXItaGlnaGxpZ2h0JywgZW52KTtcblx0XHRcdFx0Xy5ob29rcy5ydW4oJ2NvbXBsZXRlJywgZW52KTtcblx0XHRcdH07XG5cblx0XHRcdHdvcmtlci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XG5cdFx0XHRcdGxhbmd1YWdlOiBlbnYubGFuZ3VhZ2UsXG5cdFx0XHRcdGNvZGU6IGVudi5jb2RlLFxuXHRcdFx0XHRpbW1lZGlhdGVDbG9zZTogdHJ1ZVxuXHRcdFx0fSkpO1xuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdGVudi5oaWdobGlnaHRlZENvZGUgPSBfLmhpZ2hsaWdodChlbnYuY29kZSwgZW52LmdyYW1tYXIsIGVudi5sYW5ndWFnZSk7XG5cblx0XHRcdF8uaG9va3MucnVuKCdiZWZvcmUtaW5zZXJ0JywgZW52KTtcblxuXHRcdFx0ZW52LmVsZW1lbnQuaW5uZXJIVE1MID0gZW52LmhpZ2hsaWdodGVkQ29kZTtcblxuXHRcdFx0Y2FsbGJhY2sgJiYgY2FsbGJhY2suY2FsbChlbGVtZW50KTtcblxuXHRcdFx0Xy5ob29rcy5ydW4oJ2FmdGVyLWhpZ2hsaWdodCcsIGVudik7XG5cdFx0XHRfLmhvb2tzLnJ1bignY29tcGxldGUnLCBlbnYpO1xuXHRcdH1cblx0fSxcblxuICAgIGhpZ2hsaWdodDogZnVuY3Rpb24gaGlnaGxpZ2h0ICh0ZXh0LCBncmFtbWFyLCBsYW5ndWFnZSkge1xuXHRcdHZhciBlbnYgPSB7XG5cdFx0XHRjb2RlOiB0ZXh0LFxuXHRcdFx0Z3JhbW1hcjogZ3JhbW1hcixcblx0XHRcdGxhbmd1YWdlOiBsYW5ndWFnZVxuXHRcdH07XG5cdFx0Xy5ob29rcy5ydW4oJ2JlZm9yZS10b2tlbml6ZScsIGVudik7XG5cdFx0ZW52LnRva2VucyA9IF8udG9rZW5pemUoZW52LmNvZGUsIGVudi5ncmFtbWFyKTtcblx0XHRfLmhvb2tzLnJ1bignYWZ0ZXItdG9rZW5pemUnLCBlbnYpO1xuXHRcdHJldHVybiBUb2tlbi5zdHJpbmdpZnkoXy51dGlsLmVuY29kZShlbnYudG9rZW5zKSwgZW52Lmxhbmd1YWdlKTtcblx0fSxcblxuICAgIG1hdGNoR3JhbW1hcjogZnVuY3Rpb24gbWF0Y2hHcmFtbWFyICh0ZXh0LCBzdHJhcnIsIGdyYW1tYXIsIGluZGV4LCBzdGFydFBvcywgb25lc2hvdCwgdGFyZ2V0KSB7XG5cdFx0dmFyIFRva2VuID0gXy5Ub2tlbjtcblxuXHRcdGZvciAodmFyIHRva2VuIGluIGdyYW1tYXIpIHtcblx0XHRcdGlmKCFncmFtbWFyLmhhc093blByb3BlcnR5KHRva2VuKSB8fCAhZ3JhbW1hclt0b2tlbl0pIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0b2tlbiA9PSB0YXJnZXQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHR2YXIgcGF0dGVybnMgPSBncmFtbWFyW3Rva2VuXTtcblx0XHRcdHBhdHRlcm5zID0gKF8udXRpbC50eXBlKHBhdHRlcm5zKSA9PT0gXCJBcnJheVwiKSA/IHBhdHRlcm5zIDogW3BhdHRlcm5zXTtcblxuXHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBwYXR0ZXJucy5sZW5ndGg7ICsraikge1xuXHRcdFx0XHR2YXIgcGF0dGVybiA9IHBhdHRlcm5zW2pdLFxuXHRcdFx0XHRcdGluc2lkZSA9IHBhdHRlcm4uaW5zaWRlLFxuXHRcdFx0XHRcdGxvb2tiZWhpbmQgPSAhIXBhdHRlcm4ubG9va2JlaGluZCxcblx0XHRcdFx0XHRncmVlZHkgPSAhIXBhdHRlcm4uZ3JlZWR5LFxuXHRcdFx0XHRcdGxvb2tiZWhpbmRMZW5ndGggPSAwLFxuXHRcdFx0XHRcdGFsaWFzID0gcGF0dGVybi5hbGlhcztcblxuXHRcdFx0XHRpZiAoZ3JlZWR5ICYmICFwYXR0ZXJuLnBhdHRlcm4uZ2xvYmFsKSB7XG5cdFx0XHRcdFx0Ly8gV2l0aG91dCB0aGUgZ2xvYmFsIGZsYWcsIGxhc3RJbmRleCB3b24ndCB3b3JrXG5cdFx0XHRcdFx0dmFyIGZsYWdzID0gcGF0dGVybi5wYXR0ZXJuLnRvU3RyaW5nKCkubWF0Y2goL1tpbXV5XSokLylbMF07XG5cdFx0XHRcdFx0cGF0dGVybi5wYXR0ZXJuID0gUmVnRXhwKHBhdHRlcm4ucGF0dGVybi5zb3VyY2UsIGZsYWdzICsgXCJnXCIpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cGF0dGVybiA9IHBhdHRlcm4ucGF0dGVybiB8fCBwYXR0ZXJuO1xuXG5cdFx0XHRcdC8vIERvbuKAmXQgY2FjaGUgbGVuZ3RoIGFzIGl0IGNoYW5nZXMgZHVyaW5nIHRoZSBsb29wXG5cdFx0XHRcdGZvciAodmFyIGkgPSBpbmRleCwgcG9zID0gc3RhcnRQb3M7IGkgPCBzdHJhcnIubGVuZ3RoOyBwb3MgKz0gc3RyYXJyW2ldLmxlbmd0aCwgKytpKSB7XG5cblx0XHRcdFx0XHR2YXIgc3RyID0gc3RyYXJyW2ldO1xuXG5cdFx0XHRcdFx0aWYgKHN0cmFyci5sZW5ndGggPiB0ZXh0Lmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0Ly8gU29tZXRoaW5nIHdlbnQgdGVycmlibHkgd3JvbmcsIEFCT1JULCBBQk9SVCFcblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpZiAoc3RyIGluc3RhbmNlb2YgVG9rZW4pIHtcblx0XHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmIChncmVlZHkgJiYgaSAhPSBzdHJhcnIubGVuZ3RoIC0gMSkge1xuXHRcdFx0XHRcdFx0cGF0dGVybi5sYXN0SW5kZXggPSBwb3M7XG5cdFx0XHRcdFx0XHR2YXIgbWF0Y2ggPSBwYXR0ZXJuLmV4ZWModGV4dCk7XG5cdFx0XHRcdFx0XHRpZiAoIW1hdGNoKSB7XG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHR2YXIgZnJvbSA9IG1hdGNoLmluZGV4ICsgKGxvb2tiZWhpbmQgPyBtYXRjaFsxXS5sZW5ndGggOiAwKSxcblx0XHRcdFx0XHRcdCAgICB0byA9IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoLFxuXHRcdFx0XHRcdFx0ICAgIGsgPSBpLFxuXHRcdFx0XHRcdFx0ICAgIHAgPSBwb3M7XG5cblx0XHRcdFx0XHRcdGZvciAodmFyIGxlbiA9IHN0cmFyci5sZW5ndGg7IGsgPCBsZW4gJiYgKHAgPCB0byB8fCAoIXN0cmFycltrXS50eXBlICYmICFzdHJhcnJbayAtIDFdLmdyZWVkeSkpOyArK2spIHtcblx0XHRcdFx0XHRcdFx0cCArPSBzdHJhcnJba10ubGVuZ3RoO1xuXHRcdFx0XHRcdFx0XHQvLyBNb3ZlIHRoZSBpbmRleCBpIHRvIHRoZSBlbGVtZW50IGluIHN0cmFyciB0aGF0IGlzIGNsb3Nlc3QgdG8gZnJvbVxuXHRcdFx0XHRcdFx0XHRpZiAoZnJvbSA+PSBwKSB7XG5cdFx0XHRcdFx0XHRcdFx0KytpO1xuXHRcdFx0XHRcdFx0XHRcdHBvcyA9IHA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ly8gSWYgc3RyYXJyW2ldIGlzIGEgVG9rZW4sIHRoZW4gdGhlIG1hdGNoIHN0YXJ0cyBpbnNpZGUgYW5vdGhlciBUb2tlbiwgd2hpY2ggaXMgaW52YWxpZFxuXHRcdFx0XHRcdFx0aWYgKHN0cmFycltpXSBpbnN0YW5jZW9mIFRva2VuKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyBOdW1iZXIgb2YgdG9rZW5zIHRvIGRlbGV0ZSBhbmQgcmVwbGFjZSB3aXRoIHRoZSBuZXcgbWF0Y2hcblx0XHRcdFx0XHRcdGRlbE51bSA9IGsgLSBpO1xuXHRcdFx0XHRcdFx0c3RyID0gdGV4dC5zbGljZShwb3MsIHApO1xuXHRcdFx0XHRcdFx0bWF0Y2guaW5kZXggLT0gcG9zO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRwYXR0ZXJuLmxhc3RJbmRleCA9IDA7XG5cblx0XHRcdFx0XHRcdHZhciBtYXRjaCA9IHBhdHRlcm4uZXhlYyhzdHIpLFxuXHRcdFx0XHRcdFx0XHRkZWxOdW0gPSAxO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmICghbWF0Y2gpIHtcblx0XHRcdFx0XHRcdGlmIChvbmVzaG90KSB7XG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpZihsb29rYmVoaW5kKSB7XG5cdFx0XHRcdFx0XHRsb29rYmVoaW5kTGVuZ3RoID0gbWF0Y2hbMV0gPyBtYXRjaFsxXS5sZW5ndGggOiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHZhciBmcm9tID0gbWF0Y2guaW5kZXggKyBsb29rYmVoaW5kTGVuZ3RoLFxuXHRcdFx0XHRcdCAgICBtYXRjaCA9IG1hdGNoWzBdLnNsaWNlKGxvb2tiZWhpbmRMZW5ndGgpLFxuXHRcdFx0XHRcdCAgICB0byA9IGZyb20gKyBtYXRjaC5sZW5ndGgsXG5cdFx0XHRcdFx0ICAgIGJlZm9yZSA9IHN0ci5zbGljZSgwLCBmcm9tKSxcblx0XHRcdFx0XHQgICAgYWZ0ZXIgPSBzdHIuc2xpY2UodG8pO1xuXG5cdFx0XHRcdFx0dmFyIGFyZ3MgPSBbaSwgZGVsTnVtXTtcblxuXHRcdFx0XHRcdGlmIChiZWZvcmUpIHtcblx0XHRcdFx0XHRcdCsraTtcblx0XHRcdFx0XHRcdHBvcyArPSBiZWZvcmUubGVuZ3RoO1xuXHRcdFx0XHRcdFx0YXJncy5wdXNoKGJlZm9yZSk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dmFyIHdyYXBwZWQgPSBuZXcgVG9rZW4odG9rZW4sIGluc2lkZT8gXy50b2tlbml6ZShtYXRjaCwgaW5zaWRlKSA6IG1hdGNoLCBhbGlhcywgbWF0Y2gsIGdyZWVkeSk7XG5cblx0XHRcdFx0XHRhcmdzLnB1c2god3JhcHBlZCk7XG5cblx0XHRcdFx0XHRpZiAoYWZ0ZXIpIHtcblx0XHRcdFx0XHRcdGFyZ3MucHVzaChhZnRlcik7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShzdHJhcnIsIGFyZ3MpO1xuXG5cdFx0XHRcdFx0aWYgKGRlbE51bSAhPSAxKVxuXHRcdFx0XHRcdFx0eyBfLm1hdGNoR3JhbW1hcih0ZXh0LCBzdHJhcnIsIGdyYW1tYXIsIGksIHBvcywgdHJ1ZSwgdG9rZW4pOyB9XG5cblx0XHRcdFx0XHRpZiAob25lc2hvdClcblx0XHRcdFx0XHRcdHsgYnJlYWs7IH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblxuICAgIHRva2VuaXplOiBmdW5jdGlvbiB0b2tlbml6ZSh0ZXh0LCBncmFtbWFyLCBsYW5ndWFnZSkge1xuXHRcdHZhciBzdHJhcnIgPSBbdGV4dF07XG5cblx0XHR2YXIgcmVzdCA9IGdyYW1tYXIucmVzdDtcblxuXHRcdGlmIChyZXN0KSB7XG5cdFx0XHRmb3IgKHZhciB0b2tlbiBpbiByZXN0KSB7XG5cdFx0XHRcdGdyYW1tYXJbdG9rZW5dID0gcmVzdFt0b2tlbl07XG5cdFx0XHR9XG5cblx0XHRcdGRlbGV0ZSBncmFtbWFyLnJlc3Q7XG5cdFx0fVxuXG5cdFx0Xy5tYXRjaEdyYW1tYXIodGV4dCwgc3RyYXJyLCBncmFtbWFyLCAwLCAwLCBmYWxzZSk7XG5cblx0XHRyZXR1cm4gc3RyYXJyO1xuXHR9LFxuXG4gICAgaG9va3M6IHtcbiAgICAgIGFsbDoge30sXG5cbiAgICAgIGFkZDogZnVuY3Rpb24gYWRkIChuYW1lLCBjYWxsYmFjaykge1xuXHRcdFx0dmFyIGhvb2tzID0gXy5ob29rcy5hbGw7XG5cblx0XHRcdGhvb2tzW25hbWVdID0gaG9va3NbbmFtZV0gfHwgW107XG5cblx0XHRcdGhvb2tzW25hbWVdLnB1c2goY2FsbGJhY2spO1xuXHRcdH0sXG5cbiAgICAgIHJ1bjogZnVuY3Rpb24gcnVuIChuYW1lLCBlbnYpIHtcblx0XHRcdHZhciBjYWxsYmFja3MgPSBfLmhvb2tzLmFsbFtuYW1lXTtcblxuXHRcdFx0aWYgKCFjYWxsYmFja3MgfHwgIWNhbGxiYWNrcy5sZW5ndGgpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3IgKHZhciBpPTAsIGNhbGxiYWNrOyBjYWxsYmFjayA9IGNhbGxiYWNrc1tpKytdOykge1xuXHRcdFx0XHRjYWxsYmFjayhlbnYpO1xuXHRcdFx0fVxuXHRcdH0sXG4gICAgfSxcbiAgfTtcblxuICB2YXIgVG9rZW4gPSBfLlRva2VuID0gZnVuY3Rpb24gKHR5cGUsIGNvbnRlbnQsIGFsaWFzLCBtYXRjaGVkU3RyLCBncmVlZHkpIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG4gICAgdGhpcy5hbGlhcyA9IGFsaWFzO1xuICAgIC8vIENvcHkgb2YgdGhlIGZ1bGwgc3RyaW5nIHRoaXMgdG9rZW4gd2FzIGNyZWF0ZWQgZnJvbVxuICAgIHRoaXMubGVuZ3RoID0gKG1hdGNoZWRTdHIgfHwgJycpLmxlbmd0aCB8IDA7XG4gICAgdGhpcy5ncmVlZHkgPSAhIWdyZWVkeTtcbiAgfTtcblxuICBUb2tlbi5zdHJpbmdpZnkgPSBmdW5jdGlvbiAobywgbGFuZ3VhZ2UsIHBhcmVudCkge1xuICAgIGlmICh0eXBlb2YgbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBvO1xuICAgIH1cblxuICAgIGlmIChfLnV0aWwudHlwZShvKSA9PT0gJ0FycmF5Jykge1xuICAgICAgcmV0dXJuIG8ubWFwKGZ1bmN0aW9uIChlbGVtZW50KSB7XG5cdFx0XHRyZXR1cm4gVG9rZW4uc3RyaW5naWZ5KGVsZW1lbnQsIGxhbmd1YWdlLCBvKTtcblx0XHR9KS5qb2luKCcnKTtcbiAgICB9XG5cbiAgICB2YXIgZW52ID0ge1xuICAgICAgdHlwZTogby50eXBlLFxuICAgICAgY29udGVudDogVG9rZW4uc3RyaW5naWZ5KG8uY29udGVudCwgbGFuZ3VhZ2UsIHBhcmVudCksXG4gICAgICB0YWc6ICdzcGFuJyxcbiAgICAgIGNsYXNzZXM6IFsndG9rZW4nLCBvLnR5cGVdLFxuICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICBsYW5ndWFnZTogbGFuZ3VhZ2UsXG4gICAgICBwYXJlbnQ6IHBhcmVudCxcbiAgICB9O1xuXG4gICAgaWYgKG8uYWxpYXMpIHtcbiAgICAgIHZhciBhbGlhc2VzID0gXy51dGlsLnR5cGUoby5hbGlhcykgPT09ICdBcnJheScgPyBvLmFsaWFzIDogW28uYWxpYXNdO1xuICAgICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoZW52LmNsYXNzZXMsIGFsaWFzZXMpO1xuICAgIH1cblxuICAgIF8uaG9va3MucnVuKCd3cmFwJywgZW52KTtcblxuICAgIHZhciBhdHRyaWJ1dGVzID0gT2JqZWN0LmtleXMoZW52LmF0dHJpYnV0ZXMpLm1hcChmdW5jdGlvbiAobmFtZSkge1xuXHRcdHJldHVybiBuYW1lICsgJz1cIicgKyAoZW52LmF0dHJpYnV0ZXNbbmFtZV0gfHwgJycpLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKSArICdcIic7XG5cdH0pLmpvaW4oJyAnKTtcblxuICAgIHJldHVybiAoXCI8XCIgKyAoZW52LnRhZykgKyBcIiBjbGFzcz1cXFwiXCIgKyAoZW52LmNsYXNzZXMuam9pbignICcpKSArIFwiXFxcIlwiICsgKGF0dHJpYnV0ZXMgPyAnICcgKyBhdHRyaWJ1dGVzIDogJycpICsgXCI+XCIgKyAoZW52LmNvbnRlbnQpICsgXCI8L1wiICsgKGVudi50YWcpICsgXCI+XCIpO1xuICB9O1xuXG4gIGlmICghX3NlbGYuZG9jdW1lbnQpIHtcbiAgICBpZiAoIV9zZWxmLmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgIC8vIGluIE5vZGUuanNcbiAgICAgIHJldHVybiBfc2VsZi5QcmlzbTtcbiAgICB9XG5cbiAgICBpZiAoIV8uZGlzYWJsZVdvcmtlck1lc3NhZ2VIYW5kbGVyKSB7XG4gICAgICAvLyBJbiB3b3JrZXJcbiAgICAgIF9zZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiAoZXZ0KSB7XG5cdFx0XHR2YXIgbWVzc2FnZSA9IEpTT04ucGFyc2UoZXZ0LmRhdGEpLFxuXHRcdFx0XHRsYW5nID0gbWVzc2FnZS5sYW5ndWFnZSxcblx0XHRcdFx0Y29kZSA9IG1lc3NhZ2UuY29kZSxcblx0XHRcdFx0aW1tZWRpYXRlQ2xvc2UgPSBtZXNzYWdlLmltbWVkaWF0ZUNsb3NlO1xuXG5cdFx0XHRfc2VsZi5wb3N0TWVzc2FnZShfLmhpZ2hsaWdodChjb2RlLCBfLmxhbmd1YWdlc1tsYW5nXSwgbGFuZykpO1xuXHRcdFx0aWYgKGltbWVkaWF0ZUNsb3NlKSB7XG5cdFx0XHRcdF9zZWxmLmNsb3NlKCk7XG5cdFx0XHR9XG5cdFx0fSwgZmFsc2UpO1xuICAgIH1cblxuICAgIHJldHVybiBfc2VsZi5QcmlzbTtcbiAgfVxuXG4gIC8vIEdldCBjdXJyZW50IHNjcmlwdCBhbmQgaGlnaGxpZ2h0XG4gIC8vIGxldCBzY3JpcHQgPSBkb2N1bWVudC5jdXJyZW50U2NyaXB0IHx8IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpKS5wb3AoKTtcblxuICAvLyBpZiAoc2NyaXB0KSB7XG4gIC8vICAgXy5maWxlbmFtZSA9IHNjcmlwdC5zcmM7XG5cbiAgLy8gICBpZiAoIV8ubWFudWFsICYmICFzY3JpcHQuaGFzQXR0cmlidXRlKCdkYXRhLW1hbnVhbCcpKSB7XG4gIC8vICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnKSB7XG4gIC8vICAgICAgIGlmICh3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKSB7XG4gIC8vICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShfLmhpZ2hsaWdodEFsbCk7XG4gIC8vICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoXy5oaWdobGlnaHRBbGwsIDE2KTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIF8uaGlnaGxpZ2h0QWxsKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cblxuICByZXR1cm4gX3NlbGYuUHJpc207XG59KCkpO1xuXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBQcmlzbTtcbn1cblxuLy8gaGFjayBmb3IgY29tcG9uZW50cyB0byB3b3JrIGNvcnJlY3RseSBpbiBub2RlLmpzXG5pZiAodHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgZ2xvYmFsLlByaXNtID0gUHJpc207XG59XG5cblxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBCZWdpbiBwcmlzbS1tYXJrdXAuanNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuUHJpc20ubGFuZ3VhZ2VzLm1hcmt1cCA9IHtcbiAgY29tbWVudDogLzwhLS1bXFxzXFxTXSo/LS0+LyxcbiAgcHJvbG9nOiAvPFxcP1tcXHNcXFNdKz9cXD8+LyxcbiAgZG9jdHlwZTogLzwhRE9DVFlQRVtcXHNcXFNdKz8+L2ksXG4gIGNkYXRhOiAvPCFcXFtDREFUQVxcW1tcXHNcXFNdKj9dXT4vaSxcbiAgdGFnOiB7XG4gICAgcGF0dGVybjogLzxcXC8/KD8hXFxkKVteXFxzPlxcLz0kPCVdKyg/OlxccytbXlxccz5cXC89XSsoPzo9KD86KFwifCcpKD86XFxcXFtcXHNcXFNdfCg/IVxcMSlbXlxcXFxdKSpcXDF8W15cXHMnXCI+PV0rKSk/KSpcXHMqXFwvPz4vaSxcbiAgICBncmVlZHk6IHRydWUsXG4gICAgaW5zaWRlOiB7XG4gICAgICB0YWc6IHtcbiAgICAgICAgcGF0dGVybjogL148XFwvP1teXFxzPlxcL10rL2ksXG4gICAgICAgIGluc2lkZToge1xuICAgICAgICAgIHB1bmN0dWF0aW9uOiAvXjxcXC8/LyxcbiAgICAgICAgICBuYW1lc3BhY2U6IC9eW15cXHM+XFwvOl0rOi8sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgJ2F0dHItdmFsdWUnOiB7XG4gICAgICAgIHBhdHRlcm46IC89KD86KFwifCcpKD86XFxcXFtcXHNcXFNdfCg/IVxcMSlbXlxcXFxdKSpcXDF8W15cXHMnXCI+PV0rKS9pLFxuICAgICAgICBpbnNpZGU6IHtcbiAgICAgICAgICBwdW5jdHVhdGlvbjogW1xuICAgICAgICAgICAgL149LyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcGF0dGVybjogLyhefFteXFxcXF0pW1wiJ10vLFxuICAgICAgICAgICAgICBsb29rYmVoaW5kOiB0cnVlLFxuICAgICAgICAgICAgfSBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHB1bmN0dWF0aW9uOiAvXFwvPz4vLFxuICAgICAgJ2F0dHItbmFtZSc6IHtcbiAgICAgICAgcGF0dGVybjogL1teXFxzPlxcL10rLyxcbiAgICAgICAgaW5zaWRlOiB7XG4gICAgICAgICAgbmFtZXNwYWNlOiAvXlteXFxzPlxcLzpdKzovLFxuICAgICAgICB9LFxuICAgICAgfSxcblxuICAgIH0sXG4gIH0sXG4gIGVudGl0eTogLyYjP1tcXGRhLXpdezEsOH07L2ksXG59O1xuXG5QcmlzbS5sYW5ndWFnZXMubWFya3VwLnRhZy5pbnNpZGVbJ2F0dHItdmFsdWUnXS5pbnNpZGUuZW50aXR5ID1cdFByaXNtLmxhbmd1YWdlcy5tYXJrdXAuZW50aXR5O1xuXG4vLyBQbHVnaW4gdG8gbWFrZSBlbnRpdHkgdGl0bGUgc2hvdyB0aGUgcmVhbCBlbnRpdHksIGlkZWEgYnkgUm9tYW4gS29tYXJvdlxuUHJpc20uaG9va3MuYWRkKCd3cmFwJywgZnVuY3Rpb24gKGVudikge1xuXG5cdGlmIChlbnYudHlwZSA9PT0gJ2VudGl0eScpIHtcblx0XHRlbnYuYXR0cmlidXRlc1sndGl0bGUnXSA9IGVudi5jb250ZW50LnJlcGxhY2UoLyZhbXA7LywgJyYnKTtcblx0fVxufSk7XG5cblByaXNtLmxhbmd1YWdlcy54bWwgPSBQcmlzbS5sYW5ndWFnZXMubWFya3VwO1xuUHJpc20ubGFuZ3VhZ2VzLmh0bWwgPSBQcmlzbS5sYW5ndWFnZXMubWFya3VwO1xuUHJpc20ubGFuZ3VhZ2VzLm1hdGhtbCA9IFByaXNtLmxhbmd1YWdlcy5tYXJrdXA7XG5QcmlzbS5sYW5ndWFnZXMuc3ZnID0gUHJpc20ubGFuZ3VhZ2VzLm1hcmt1cDtcblxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIEJlZ2luIHByaXNtLWNzcy5qc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5QcmlzbS5sYW5ndWFnZXMuY3NzID0ge1xuICBjb21tZW50OiAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy8sXG4gIGF0cnVsZToge1xuICAgIHBhdHRlcm46IC9AW1xcdy1dKz8uKj8oPzo7fCg/PVxccypcXHspKS9pLFxuICAgIGluc2lkZToge1xuICAgICAgcnVsZTogL0BbXFx3LV0rLyxcbiAgICAgIC8vIFNlZSByZXN0IGJlbG93XG4gICAgfSxcbiAgfSxcbiAgdXJsOiAvdXJsXFwoKD86KFtcIiddKSg/OlxcXFwoPzpcXHJcXG58W1xcc1xcU10pfCg/IVxcMSlbXlxcXFxcXHJcXG5dKSpcXDF8Lio/KVxcKS9pLFxuICBzZWxlY3RvcjogL1tee31cXHNdW157fTtdKj8oPz1cXHMqXFx7KS8sXG4gIHN0cmluZzoge1xuICAgIHBhdHRlcm46IC8oXCJ8JykoPzpcXFxcKD86XFxyXFxufFtcXHNcXFNdKXwoPyFcXDEpW15cXFxcXFxyXFxuXSkqXFwxLyxcbiAgICBncmVlZHk6IHRydWUsXG4gIH0sXG4gIHByb3BlcnR5OiAvWy1fYS16XFx4QTAtXFx1RkZGRl1bLVxcd1xceEEwLVxcdUZGRkZdKig/PVxccyo6KS9pLFxuICBpbXBvcnRhbnQ6IC9cXEIhaW1wb3J0YW50XFxiL2ksXG4gIGZ1bmN0aW9uOiAvWy1hLXowLTldKyg/PVxcKCkvaSxcbiAgcHVuY3R1YXRpb246IC9bKCl7fTs6XS8sXG59O1xuXG5QcmlzbS5sYW5ndWFnZXMuY3NzLmF0cnVsZS5pbnNpZGUucmVzdCA9IFByaXNtLmxhbmd1YWdlcy5jc3M7XG5cbmlmIChQcmlzbS5sYW5ndWFnZXMubWFya3VwKSB7XG4gIFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoJ21hcmt1cCcsICd0YWcnLCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIHBhdHRlcm46IC8oPHN0eWxlW1xcc1xcU10qPz4pW1xcc1xcU10qPyg/PTxcXC9zdHlsZT4pL2ksXG4gICAgICBsb29rYmVoaW5kOiB0cnVlLFxuICAgICAgaW5zaWRlOiBQcmlzbS5sYW5ndWFnZXMuY3NzLFxuICAgICAgYWxpYXM6ICdsYW5ndWFnZS1jc3MnLFxuICAgICAgZ3JlZWR5OiB0cnVlLFxuICAgIH0sXG4gIH0pO1xuXG4gIFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoJ2luc2lkZScsICdhdHRyLXZhbHVlJywge1xuICAgICdzdHlsZS1hdHRyJzoge1xuICAgICAgcGF0dGVybjogL1xccypzdHlsZT0oXCJ8JykoPzpcXFxcW1xcc1xcU118KD8hXFwxKVteXFxcXF0pKlxcMS9pLFxuICAgICAgaW5zaWRlOiB7XG4gICAgICAgICdhdHRyLW5hbWUnOiB7XG4gICAgICAgICAgcGF0dGVybjogL15cXHMqc3R5bGUvaSxcbiAgICAgICAgICBpbnNpZGU6IFByaXNtLmxhbmd1YWdlcy5tYXJrdXAudGFnLmluc2lkZSxcbiAgICAgICAgfSxcbiAgICAgICAgcHVuY3R1YXRpb246IC9eXFxzKj1cXHMqWydcIl18WydcIl1cXHMqJC8sXG4gICAgICAgICdhdHRyLXZhbHVlJzoge1xuICAgICAgICAgIHBhdHRlcm46IC8uKy9pLFxuICAgICAgICAgIGluc2lkZTogUHJpc20ubGFuZ3VhZ2VzLmNzcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBhbGlhczogJ2xhbmd1YWdlLWNzcycsXG4gICAgfSxcbiAgfSwgUHJpc20ubGFuZ3VhZ2VzLm1hcmt1cC50YWcpO1xufVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIEJlZ2luIHByaXNtLWNsaWtlLmpzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cblByaXNtLmxhbmd1YWdlcy5jbGlrZSA9IHtcbiAgY29tbWVudDogW1xuICAgIHtcbiAgICAgIHBhdHRlcm46IC8oXnxbXlxcXFxdKVxcL1xcKltcXHNcXFNdKj8oPzpcXCpcXC98JCkvLFxuICAgICAgbG9va2JlaGluZDogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHBhdHRlcm46IC8oXnxbXlxcXFw6XSlcXC9cXC8uKi8sXG4gICAgICBsb29rYmVoaW5kOiB0cnVlLFxuICAgICAgZ3JlZWR5OiB0cnVlLFxuICAgIH0gXSxcbiAgc3RyaW5nOiB7XG4gICAgcGF0dGVybjogLyhbXCInXSkoPzpcXFxcKD86XFxyXFxufFtcXHNcXFNdKXwoPyFcXDEpW15cXFxcXFxyXFxuXSkqXFwxLyxcbiAgICBncmVlZHk6IHRydWUsXG4gIH0sXG4gICdjbGFzcy1uYW1lJzoge1xuICAgIHBhdHRlcm46IC8oKD86XFxiKD86Y2xhc3N8aW50ZXJmYWNlfGV4dGVuZHN8aW1wbGVtZW50c3x0cmFpdHxpbnN0YW5jZW9mfG5ldylcXHMrKXwoPzpjYXRjaFxccytcXCgpKVtcXHcuXFxcXF0rL2ksXG4gICAgbG9va2JlaGluZDogdHJ1ZSxcbiAgICBpbnNpZGU6IHtcbiAgICAgIHB1bmN0dWF0aW9uOiAvWy5cXFxcXS8sXG4gICAgfSxcbiAgfSxcbiAga2V5d29yZDogL1xcYig/OmlmfGVsc2V8d2hpbGV8ZG98Zm9yfHJldHVybnxpbnxpbnN0YW5jZW9mfGZ1bmN0aW9ufG5ld3x0cnl8dGhyb3d8Y2F0Y2h8ZmluYWxseXxudWxsfGJyZWFrfGNvbnRpbnVlKVxcYi8sXG4gIGJvb2xlYW46IC9cXGIoPzp0cnVlfGZhbHNlKVxcYi8sXG4gIGZ1bmN0aW9uOiAvW2EtejAtOV9dKyg/PVxcKCkvaSxcbiAgbnVtYmVyOiAvXFxiMHhbXFxkYS1mXStcXGJ8KD86XFxiXFxkK1xcLj9cXGQqfFxcQlxcLlxcZCspKD86ZVsrLV0/XFxkKyk/L2ksXG4gIG9wZXJhdG9yOiAvLS0/fFxcK1xcKz98IT0/PT98PD0/fD49P3w9PT89P3wmJj98XFx8XFx8P3xcXD98XFwqfFxcL3x+fFxcXnwlLyxcbiAgcHVuY3R1YXRpb246IC9be31bXFxdOygpLC46XS8sXG59O1xuXG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgQmVnaW4gcHJpc20tamF2YXNjcmlwdC5qc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5QcmlzbS5sYW5ndWFnZXMuamF2YXNjcmlwdCA9IFByaXNtLmxhbmd1YWdlcy5leHRlbmQoJ2NsaWtlJywge1xuICBrZXl3b3JkOiAvXFxiKD86YXN8YXN5bmN8YXdhaXR8YnJlYWt8Y2FzZXxjYXRjaHxjbGFzc3xjb25zdHxjb250aW51ZXxkZWJ1Z2dlcnxkZWZhdWx0fGRlbGV0ZXxkb3xlbHNlfGVudW18ZXhwb3J0fGV4dGVuZHN8ZmluYWxseXxmb3J8ZnJvbXxmdW5jdGlvbnxnZXR8aWZ8aW1wbGVtZW50c3xpbXBvcnR8aW58aW5zdGFuY2VvZnxpbnRlcmZhY2V8bGV0fG5ld3xudWxsfG9mfHBhY2thZ2V8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJldHVybnxzZXR8c3RhdGljfHN1cGVyfHN3aXRjaHx0aGlzfHRocm93fHRyeXx0eXBlb2Z8dmFyfHZvaWR8d2hpbGV8d2l0aHx5aWVsZClcXGIvLFxuICBudW1iZXI6IC9cXGIoPzowW3hYXVtcXGRBLUZhLWZdK3wwW2JCXVswMV0rfDBbb09dWzAtN10rfE5hTnxJbmZpbml0eSlcXGJ8KD86XFxiXFxkK1xcLj9cXGQqfFxcQlxcLlxcZCspKD86W0VlXVsrLV0/XFxkKyk/LyxcbiAgLy8gQWxsb3cgZm9yIGFsbCBub24tQVNDSUkgY2hhcmFjdGVycyAoU2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzIwMDg0NDQpXG4gIGZ1bmN0aW9uOiAvW18kYS16XFx4QTAtXFx1RkZGRl1bJFxcd1xceEEwLVxcdUZGRkZdKig/PVxccypcXCgpL2ksXG4gIG9wZXJhdG9yOiAvLVstPV0/fFxcK1srPV0/fCE9Pz0/fDw8Pz0/fD4+Pz4/PT98PSg/Oj09P3w+KT98JlsmPV0/fFxcfFt8PV0/fFxcKlxcKj89P3xcXC89P3x+fFxcXj0/fCU9P3xcXD98XFwuezN9Lyxcbn0pO1xuXG5QcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCdqYXZhc2NyaXB0JywgJ2tleXdvcmQnLCB7XG4gIHJlZ2V4OiB7XG4gICAgcGF0dGVybjogLygoPzpefFteJFxcd1xceEEwLVxcdUZGRkYuXCInXFxdKVxcc10pXFxzKilcXC8oXFxbW15cXF1cXHJcXG5dK118XFxcXC58W14vXFxcXFxcW1xcclxcbl0pK1xcL1tnaW15dV17MCw1fSg/PVxccyooJHxbXFxyXFxuLC47fSlcXF1dKSkvLFxuICAgIGxvb2tiZWhpbmQ6IHRydWUsXG4gICAgZ3JlZWR5OiB0cnVlLFxuICB9LFxuICAvLyBUaGlzIG11c3QgYmUgZGVjbGFyZWQgYmVmb3JlIGtleXdvcmQgYmVjYXVzZSB3ZSB1c2UgXCJmdW5jdGlvblwiIGluc2lkZSB0aGUgbG9vay1mb3J3YXJkXG4gICdmdW5jdGlvbi12YXJpYWJsZSc6IHtcbiAgICBwYXR0ZXJuOiAvW18kYS16XFx4QTAtXFx1RkZGRl1bJFxcd1xceEEwLVxcdUZGRkZdKig/PVxccyo9XFxzKig/OmZ1bmN0aW9uXFxifCg/OlxcKFteKCldKlxcKXxbXyRhLXpcXHhBMC1cXHVGRkZGXVskXFx3XFx4QTAtXFx1RkZGRl0qKVxccyo9PikpL2ksXG4gICAgYWxpYXM6ICdmdW5jdGlvbicsXG4gIH0sXG4gIGNvbnN0YW50OiAvXFxiW0EtWl1bQS1aXFxkX10qXFxiLyxcbn0pO1xuXG5QcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCdqYXZhc2NyaXB0JywgJ3N0cmluZycsIHtcbiAgJ3RlbXBsYXRlLXN0cmluZyc6IHtcbiAgICBwYXR0ZXJuOiAvYCg/OlxcXFxbXFxzXFxTXXxcXCR7W159XSt9fFteXFxcXGBdKSpgLyxcbiAgICBncmVlZHk6IHRydWUsXG4gICAgaW5zaWRlOiB7XG4gICAgICBpbnRlcnBvbGF0aW9uOiB7XG4gICAgICAgIHBhdHRlcm46IC9cXCR7W159XSt9LyxcbiAgICAgICAgaW5zaWRlOiB7XG4gICAgICAgICAgJ2ludGVycG9sYXRpb24tcHVuY3R1YXRpb24nOiB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAvXlxcJHt8fSQvLFxuICAgICAgICAgICAgYWxpYXM6ICdwdW5jdHVhdGlvbicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXN0OiBudWxsLCAvLyBTZWUgYmVsb3dcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzdHJpbmc6IC9bXFxzXFxTXSsvLFxuICAgIH0sXG4gIH0sXG59KTtcblByaXNtLmxhbmd1YWdlcy5qYXZhc2NyaXB0Wyd0ZW1wbGF0ZS1zdHJpbmcnXS5pbnNpZGUuaW50ZXJwb2xhdGlvbi5pbnNpZGUucmVzdCA9IFByaXNtLmxhbmd1YWdlcy5qYXZhc2NyaXB0O1xuXG5pZiAoUHJpc20ubGFuZ3VhZ2VzLm1hcmt1cCkge1xuICBQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCdtYXJrdXAnLCAndGFnJywge1xuICAgIHNjcmlwdDoge1xuICAgICAgcGF0dGVybjogLyg8c2NyaXB0W1xcc1xcU10qPz4pW1xcc1xcU10qPyg/PTxcXC9zY3JpcHQ+KS9pLFxuICAgICAgbG9va2JlaGluZDogdHJ1ZSxcbiAgICAgIGluc2lkZTogUHJpc20ubGFuZ3VhZ2VzLmphdmFzY3JpcHQsXG4gICAgICBhbGlhczogJ2xhbmd1YWdlLWphdmFzY3JpcHQnLFxuICAgICAgZ3JlZWR5OiB0cnVlLFxuICAgIH0sXG4gIH0pO1xufVxuXG5QcmlzbS5sYW5ndWFnZXMuanMgPSBQcmlzbS5sYW5ndWFnZXMuamF2YXNjcmlwdDtcblxuKGZ1bmN0aW9uKCl7IGlmKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpeyB2YXIgaGVhZD1kb2N1bWVudC5oZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLCBzdHlsZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpLCBjc3M9XCJcIjsgc3R5bGUudHlwZT0ndGV4dC9jc3MnOyBpZiAoc3R5bGUuc3R5bGVTaGVldCl7IHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzczsgfSBlbHNlIHsgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7IH0gaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7IH0gfSkoKTtcblxudmFyIENvZGVIaWdobGlnaHQgPSB7cmVuZGVyOiBmdW5jdGlvbigpe3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7cmVmOlwiY29kZUJsb2NrXCJ9LFtfYygncHJlJyx7Y2xhc3M6X3ZtLmxhbmd1YWdlQ2xhc3N9LFtfYygnY29kZScsW192bS5fdChcImRlZmF1bHRcIildLDIpXSldKX0sc3RhdGljUmVuZGVyRm5zOiBbXSxcbiAgbmFtZTogJ2NvZGUtaGlnaGxpZ2h0JyxcbiAgcHJvcHM6IHtcbiAgICBsYW5ndWFnZToge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ2phdmFzY3JpcHQnLFxuICAgIH0sXG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgbGFuZ3VhZ2VDbGFzczogZnVuY3Rpb24gbGFuZ3VhZ2VDbGFzcygpIHtcbiAgICAgIHJldHVybiAoXCJsYW5ndWFnZS1cIiArICh0aGlzLmxhbmd1YWdlKSk7XG4gICAgfSxcbiAgfSxcbiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHtcbiAgICBQcmlzbS5oaWdobGlnaHRBbGxVbmRlcih0aGlzLiRyZWZzLmNvZGVCbG9jayk7XG4gIH0sXG5cbiAgYmVmb3JlVXBkYXRlOiBmdW5jdGlvbiBiZWZvcmVVcGRhdGUoKSB7XG4gICAgdmFyIG5ld1RleHQgPSB0aGlzLiRzbG90cy5kZWZhdWx0WzBdLnRleHQucmVwbGFjZSgvXltcXHJcXG5cXHNdKnxbXFxyXFxuXFxzXSokL2csICcnKTtcbiAgICB0aGlzLiRlbC5xdWVyeVNlbGVjdG9yKCdjb2RlJykudGV4dENvbnRlbnQgPSBuZXdUZXh0O1xuICAgIFByaXNtLmhpZ2hsaWdodEFsbFVuZGVyKHRoaXMuJHJlZnMuY29kZUJsb2NrKTtcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRGlyZWN0aXZlIChlbCkge1xuICBQcmlzbS5oaWdobGlnaHRBbGxVbmRlcihlbCk7XG59XG5cbi8vIEltcG9ydCB2dWUgY29tcG9uZW50XG5cbi8vIERlY2xhcmUgaW5zdGFsbCBmdW5jdGlvbiBleGVjdXRlZCBieSBWdWUudXNlKClcbmZ1bmN0aW9uIGluc3RhbGwoVnVlKSB7XG4gIGlmIChpbnN0YWxsLmluc3RhbGxlZCkgeyByZXR1cm47IH1cbiAgaW5zdGFsbC5pbnN0YWxsZWQgPSB0cnVlO1xuICBWdWUuZGlyZWN0aXZlKCdoaWdobGlnaHQnLCByZWdpc3RlckRpcmVjdGl2ZSk7XG59XG5cbi8vIENyZWF0ZSBtb2R1bGUgZGVmaW5pdGlvbiBmb3IgVnVlLnVzZSgpXG52YXIgcGx1Z2luID0ge1xuICBpbnN0YWxsOiBpbnN0YWxsLFxufTtcblxuLy8gQXV0by1pbnN0YWxsIHdoZW4gdnVlIGlzIGZvdW5kIChlZy4gaW4gYnJvd3NlciB2aWEgPHNjcmlwdD4gdGFnKVxudmFyIEdsb2JhbFZ1ZSA9IG51bGw7XG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgR2xvYmFsVnVlID0gd2luZG93LlZ1ZTtcbn0gZWxzZSBpZiAodHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgR2xvYmFsVnVlID0gZ2xvYmFsLlZ1ZTtcbn1cbmlmIChHbG9iYWxWdWUpIHtcbiAgR2xvYmFsVnVlLnVzZShwbHVnaW4pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBpbnN0YWxsO1xuZXhwb3J0IHsgQ29kZUhpZ2hsaWdodCBhcyBjb21wb25lbnQgfTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3Z1ZS1jb2RlLWhpZ2hsaWdodC9kaXN0L3Z1ZS1jb2RlLWhpZ2hsaWdodC5lc20uanNcbi8vIG1vZHVsZSBpZCA9IDI0MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///241\n"); + +/***/ }), +/* 242 */ +/***/ (function(module, exports) { + +eval("module.exports = function(originalModule) {\r\n\tif(!originalModule.webpackPolyfill) {\r\n\t\tvar module = Object.create(originalModule);\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"exports\", {\r\n\t\t\tenumerable: true,\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vaGFybW9ueS1tb2R1bGUuanM/Y2M5NiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjQyLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihvcmlnaW5hbE1vZHVsZSkge1xyXG5cdGlmKCFvcmlnaW5hbE1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcclxuXHRcdHZhciBtb2R1bGUgPSBPYmplY3QuY3JlYXRlKG9yaWdpbmFsTW9kdWxlKTtcclxuXHRcdC8vIG1vZHVsZS5wYXJlbnQgPSB1bmRlZmluZWQgYnkgZGVmYXVsdFxyXG5cdFx0aWYoIW1vZHVsZS5jaGlsZHJlbikgbW9kdWxlLmNoaWxkcmVuID0gW107XHJcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImxvYWRlZFwiLCB7XHJcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXHJcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5sO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwiaWRcIiwge1xyXG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxyXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHJldHVybiBtb2R1bGUuaTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImV4cG9ydHNcIiwge1xyXG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxyXG5cdFx0fSk7XHJcblx0XHRtb2R1bGUud2VicGFja1BvbHlmaWxsID0gMTtcclxuXHR9XHJcblx0cmV0dXJuIG1vZHVsZTtcclxufTtcclxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gKHdlYnBhY2spL2J1aWxkaW4vaGFybW9ueS1tb2R1bGUuanNcbi8vIG1vZHVsZSBpZCA9IDI0MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///242\n"); + +/***/ }), +/* 243 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"b-card\",\n {\n staticClass: \"mb-5 ocrd-project-list-item\",\n attrs: { title: _vm.repo.org_plus_name, tag: \"article\" }\n },\n [\n _c(\n \"b-tabs\",\n [\n _c(\"b-tab\", { attrs: { title: \"README\" } }, [\n _c(\"div\", { domProps: { innerHTML: _vm._s(_vm.compiledReadme) } })\n ]),\n _vm._v(\" \"),\n _c(\n \"b-tab\",\n { attrs: { title: \"Dockerfile\" } },\n [\n _c(\"vue-code-highlight\", [\n _vm._v(_vm._s(_vm.repo.files.Dockerfile || \"# NO DOCKERFILE\"))\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-tab\",\n { attrs: { title: \"Git\" } },\n [\n _c(\n \"b-card-text\",\n [\n _c(\"p\", [\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"`https://pypi.org/project/${ repo.python.name }/`\"\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src:\n \"https://img.shields.io/pypi/v/\" +\n _vm.repo.python.name +\n \".svg\"\n }\n })\n ]\n )\n ]),\n _vm._v(\" \"),\n _vm.repo.git\n ? _c(\"b-table\", { attrs: { items: [_vm.repo.git] } })\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-tab\",\n { attrs: { title: \"ocrd-tool validation\" } },\n [\n _c(\n \"b-card-text\",\n [\n _c(\"vue-code-highlight\", [\n _vm._v(\n _vm._s(\n _vm.repo.ocrd_tool_validate || \"# NO validation data\"\n )\n )\n ])\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-tab\",\n { attrs: { title: \"Python\" } },\n [\n _c(\n \"b-card-text\",\n [\n _vm.repo.python\n ? _c(\"b-table\", { attrs: { items: [_vm.repo.python] } })\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-ab156a8a\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2plY3RMaXN0SXRlbS52dWU/NzUzYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixTQUFTLGtCQUFrQixFQUFFO0FBQ3BELHVCQUF1QixZQUFZLHdDQUF3QyxFQUFFO0FBQzdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTLHNCQUFzQixFQUFFO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTLGVBQWUsRUFBRTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxtQkFBbUI7QUFDNUU7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLFNBQVMsd0JBQXdCLEVBQUU7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVMsZ0NBQWdDLEVBQUU7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsU0FBUyxrQkFBa0IsRUFBRTtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLFNBQVMsMkJBQTJCLEVBQUU7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjI0My5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJiLWNhcmRcIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJtYi01IG9jcmQtcHJvamVjdC1saXN0LWl0ZW1cIixcbiAgICAgIGF0dHJzOiB7IHRpdGxlOiBfdm0ucmVwby5vcmdfcGx1c19uYW1lLCB0YWc6IFwiYXJ0aWNsZVwiIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImItdGFic1wiLFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJiLXRhYlwiLCB7IGF0dHJzOiB7IHRpdGxlOiBcIlJFQURNRVwiIH0gfSwgW1xuICAgICAgICAgICAgX2MoXCJkaXZcIiwgeyBkb21Qcm9wczogeyBpbm5lckhUTUw6IF92bS5fcyhfdm0uY29tcGlsZWRSZWFkbWUpIH0gfSlcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJiLXRhYlwiLFxuICAgICAgICAgICAgeyBhdHRyczogeyB0aXRsZTogXCJEb2NrZXJmaWxlXCIgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcInZ1ZS1jb2RlLWhpZ2hsaWdodFwiLCBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0ucmVwby5maWxlcy5Eb2NrZXJmaWxlIHx8IFwiIyBOTyBET0NLRVJGSUxFXCIpKVxuICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImItdGFiXCIsXG4gICAgICAgICAgICB7IGF0dHJzOiB7IHRpdGxlOiBcIkdpdFwiIH0gfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJiLWNhcmQtdGV4dFwiLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwicFwiLCBbXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiYVwiLFxuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJgaHR0cHM6Ly9weXBpLm9yZy9wcm9qZWN0LyR7IHJlcG8ucHl0aG9uLm5hbWUgfS9gXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaW1nXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vcHlwaS92L1wiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5yZXBvLnB5dGhvbi5uYW1lICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0ucmVwby5naXRcbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcImItdGFibGVcIiwgeyBhdHRyczogeyBpdGVtczogW192bS5yZXBvLmdpdF0gfSB9KVxuICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJiLXRhYlwiLFxuICAgICAgICAgICAgeyBhdHRyczogeyB0aXRsZTogXCJvY3JkLXRvb2wgdmFsaWRhdGlvblwiIH0gfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJiLWNhcmQtdGV4dFwiLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwidnVlLWNvZGUtaGlnaGxpZ2h0XCIsIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5yZXBvLm9jcmRfdG9vbF92YWxpZGF0ZSB8fCBcIiMgTk8gdmFsaWRhdGlvbiBkYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJiLXRhYlwiLFxuICAgICAgICAgICAgeyBhdHRyczogeyB0aXRsZTogXCJQeXRob25cIiB9IH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgIFwiYi1jYXJkLXRleHRcIixcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBfdm0ucmVwby5weXRob25cbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcImItdGFibGVcIiwgeyBhdHRyczogeyBpdGVtczogW192bS5yZXBvLnB5dGhvbl0gfSB9KVxuICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LWFiMTU2YThhXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtYWIxNTZhOGFcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9zcmMvT2NyZFByb2plY3RMaXN0SXRlbS52dWVcbi8vIG1vZHVsZSBpZCA9IDI0M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///243\n"); + +/***/ }), +/* 244 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"b-row\",\n _vm._l(_vm.repos, function(repo) {\n return _c(\"ocrd-project-list-item\", {\n key: repo.org_plus_name,\n attrs: { repo: repo }\n })\n }),\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-a15c35f0\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvT2NyZFByb2plY3RMaXN0LnZ1ZT9kYTZjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQixXQUFXO0FBQ1gsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDRixrRUFBUztBQUN4QixJQUFJLEtBQVU7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjI0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJiLXJvd1wiLFxuICAgICAgICBfdm0uX2woX3ZtLnJlcG9zLCBmdW5jdGlvbihyZXBvKSB7XG4gICAgICAgICAgcmV0dXJuIF9jKFwib2NyZC1wcm9qZWN0LWxpc3QtaXRlbVwiLCB7XG4gICAgICAgICAgICBrZXk6IHJlcG8ub3JnX3BsdXNfbmFtZSxcbiAgICAgICAgICAgIGF0dHJzOiB7IHJlcG86IHJlcG8gfVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LWExNWMzNWYwXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtYTE1YzM1ZjBcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9zcmMvT2NyZFByb2plY3RMaXN0LnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjQ0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///244\n"); + +/***/ }), +/* 245 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"b-container\",\n { attrs: { fluid: \"\" } },\n [\n _c(\"b-row\", [\n _c(\"button\", { on: { click: _vm.fetchRepoData } }, [_vm._v(\"Fetch!\")])\n ]),\n _vm._v(\" \"),\n _c(\n \"b-tabs\",\n [\n _c(\n \"b-tab\",\n { attrs: { title: \"Processors\" } },\n [\n _c(\"ocrd-processor-list\", {\n attrs: {\n processors: _vm.processors,\n steps: _vm.steps,\n step_filter: _vm.step_filter,\n categories: _vm.categories,\n category_filter: _vm.category_filter\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-tab\",\n { attrs: { title: \"Projects\" } },\n [_c(\"ocrd-project-list\", { attrs: { repos: _vm.repos } })],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-7ba5bd90\", esExports)\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvQXBwLnZ1ZT8zYTI1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssU0FBUyxZQUFZLEVBQUU7QUFDNUI7QUFDQTtBQUNBLHNCQUFzQixNQUFNLDJCQUEyQixFQUFFO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTLHNCQUFzQixFQUFFO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVMsb0JBQW9CLEVBQUU7QUFDNUMsc0NBQXNDLFNBQVMsbUJBQW1CLEVBQUU7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNGLGtFQUFTO0FBQ3hCLElBQUksS0FBVTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMjQ1LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImItY29udGFpbmVyXCIsXG4gICAgeyBhdHRyczogeyBmbHVpZDogXCJcIiB9IH0sXG4gICAgW1xuICAgICAgX2MoXCJiLXJvd1wiLCBbXG4gICAgICAgIF9jKFwiYnV0dG9uXCIsIHsgb246IHsgY2xpY2s6IF92bS5mZXRjaFJlcG9EYXRhIH0gfSwgW192bS5fdihcIkZldGNoIVwiKV0pXG4gICAgICBdKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJiLXRhYnNcIixcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJiLXRhYlwiLFxuICAgICAgICAgICAgeyBhdHRyczogeyB0aXRsZTogXCJQcm9jZXNzb3JzXCIgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcIm9jcmQtcHJvY2Vzc29yLWxpc3RcIiwge1xuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICBwcm9jZXNzb3JzOiBfdm0ucHJvY2Vzc29ycyxcbiAgICAgICAgICAgICAgICAgIHN0ZXBzOiBfdm0uc3RlcHMsXG4gICAgICAgICAgICAgICAgICBzdGVwX2ZpbHRlcjogX3ZtLnN0ZXBfZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllczogX3ZtLmNhdGVnb3JpZXMsXG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeV9maWx0ZXI6IF92bS5jYXRlZ29yeV9maWx0ZXJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiYi10YWJcIixcbiAgICAgICAgICAgIHsgYXR0cnM6IHsgdGl0bGU6IFwiUHJvamVjdHNcIiB9IH0sXG4gICAgICAgICAgICBbX2MoXCJvY3JkLXByb2plY3QtbGlzdFwiLCB7IGF0dHJzOiB7IHJlcG9zOiBfdm0ucmVwb3MgfSB9KV0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG52YXIgZXNFeHBvcnRzID0geyByZW5kZXI6IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMgfVxuZXhwb3J0IGRlZmF1bHQgZXNFeHBvcnRzXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTdiYTViZDkwXCIsIGVzRXhwb3J0cylcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyP3tcImlkXCI6XCJkYXRhLXYtN2JhNWJkOTBcIixcImhhc1Njb3BlZFwiOmZhbHNlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9zcmMvQXBwLnZ1ZVxuLy8gbW9kdWxlIGlkID0gMjQ1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///245\n"); + +/***/ }), +/* 246 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export install */\n/* unused harmony export NAME */\n/* unused harmony export BootstrapVue */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_plugins__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components__ = __webpack_require__(248);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__directives__ = __webpack_require__(273);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__bv_config__ = __webpack_require__(275);\n/* unused harmony reexport BVConfigPlugin */\n/* unused harmony reexport BVConfig */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_modal_helpers_bv_modal__ = __webpack_require__(171);\n/* unused harmony reexport BVModalPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_toast_helpers_bv_toast__ = __webpack_require__(215);\n/* unused harmony reexport BVToastPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_alert__ = __webpack_require__(100);\n/* unused harmony reexport AlertPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_alert_alert__ = __webpack_require__(101);\n/* unused harmony reexport BAlert */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_badge__ = __webpack_require__(102);\n/* unused harmony reexport BadgePlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_badge_badge__ = __webpack_require__(103);\n/* unused harmony reexport BBadge */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_breadcrumb__ = __webpack_require__(106);\n/* unused harmony reexport BreadcrumbPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_breadcrumb_breadcrumb__ = __webpack_require__(107);\n/* unused harmony reexport BBreadcrumb */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_breadcrumb_breadcrumb_item__ = __webpack_require__(54);\n/* unused harmony reexport BBreadcrumbItem */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_button__ = __webpack_require__(109);\n/* unused harmony reexport ButtonPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_button_button__ = __webpack_require__(34);\n/* unused harmony reexport BButton */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__components_button_button_close__ = __webpack_require__(31);\n/* unused harmony reexport BButtonClose */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__components_button_group__ = __webpack_require__(110);\n/* unused harmony reexport ButtonGroupPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__components_button_group_button_group__ = __webpack_require__(111);\n/* unused harmony reexport BButtonGroup */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__components_button_toolbar__ = __webpack_require__(112);\n/* unused harmony reexport ButtonToolbarPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_button_toolbar_button_toolbar__ = __webpack_require__(113);\n/* unused harmony reexport BButtonToolbar */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_card__ = __webpack_require__(114);\n/* unused harmony reexport CardPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_card_card__ = __webpack_require__(115);\n/* unused harmony reexport BCard */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_card_card_body__ = __webpack_require__(56);\n/* unused harmony reexport BCardBody */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__components_card_card_footer__ = __webpack_require__(60);\n/* unused harmony reexport BCardFooter */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__components_card_card_group__ = __webpack_require__(119);\n/* unused harmony reexport BCardGroup */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__components_card_card_header__ = __webpack_require__(59);\n/* unused harmony reexport BCardHeader */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__components_card_card_img__ = __webpack_require__(61);\n/* unused harmony reexport BCardImg */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__components_card_card_img_lazy__ = __webpack_require__(116);\n/* unused harmony reexport BCardImgLazy */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__components_card_card_sub_title__ = __webpack_require__(58);\n/* unused harmony reexport BCardSubTitle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__components_card_card_text__ = __webpack_require__(118);\n/* unused harmony reexport BCardText */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__components_card_card_title__ = __webpack_require__(57);\n/* unused harmony reexport BCardTitle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__components_carousel__ = __webpack_require__(120);\n/* unused harmony reexport CarouselPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__components_carousel_carousel__ = __webpack_require__(121);\n/* unused harmony reexport BCarousel */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__components_carousel_carousel_slide__ = __webpack_require__(122);\n/* unused harmony reexport BCarouselSlide */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__components_collapse__ = __webpack_require__(63);\n/* unused harmony reexport CollapsePlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__components_collapse_collapse__ = __webpack_require__(123);\n/* unused harmony reexport BCollapse */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__components_dropdown__ = __webpack_require__(40);\n/* unused harmony reexport DropdownPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__components_dropdown_dropdown__ = __webpack_require__(65);\n/* unused harmony reexport BDropdown */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__components_dropdown_dropdown_item__ = __webpack_require__(126);\n/* unused harmony reexport BDropdownItem */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__components_dropdown_dropdown_item_button__ = __webpack_require__(127);\n/* unused harmony reexport BDropdownItemButton */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__components_dropdown_dropdown_divider__ = __webpack_require__(129);\n/* unused harmony reexport BDropdownDivider */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__components_dropdown_dropdown_form__ = __webpack_require__(130);\n/* unused harmony reexport BDropdownForm */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__components_dropdown_dropdown_group__ = __webpack_require__(132);\n/* unused harmony reexport BDropdownGroup */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__components_dropdown_dropdown_header__ = __webpack_require__(128);\n/* unused harmony reexport BDropdownHeader */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__components_dropdown_dropdown_text__ = __webpack_require__(131);\n/* unused harmony reexport BDropdownText */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__components_embed__ = __webpack_require__(133);\n/* unused harmony reexport EmbedPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__components_embed_embed__ = __webpack_require__(134);\n/* unused harmony reexport BEmbed */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__components_form__ = __webpack_require__(135);\n/* unused harmony reexport FormPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__components_form_form__ = __webpack_require__(42);\n/* unused harmony reexport BForm */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__components_form_form_datalist__ = __webpack_require__(136);\n/* unused harmony reexport BFormDatalist */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__components_form_form_text__ = __webpack_require__(66);\n/* unused harmony reexport BFormText */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__components_form_form_invalid_feedback__ = __webpack_require__(67);\n/* unused harmony reexport BFormInvalidFeedback */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__components_form_form_valid_feedback__ = __webpack_require__(68);\n/* unused harmony reexport BFormValidFeedback */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__components_form_checkbox__ = __webpack_require__(139);\n/* unused harmony reexport FormCheckboxPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__components_form_checkbox_form_checkbox__ = __webpack_require__(70);\n/* unused harmony reexport BFormCheckbox */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__components_form_checkbox_form_checkbox_group__ = __webpack_require__(141);\n/* unused harmony reexport BFormCheckboxGroup */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__components_form_file__ = __webpack_require__(152);\n/* unused harmony reexport FormFilePlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__components_form_file_form_file__ = __webpack_require__(153);\n/* unused harmony reexport BFormFile */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__components_form_group__ = __webpack_require__(137);\n/* unused harmony reexport FormGroupPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__components_form_group_form_group__ = __webpack_require__(138);\n/* unused harmony reexport BFormGroup */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60__components_form_input__ = __webpack_require__(145);\n/* unused harmony reexport FormInputPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__components_form_input_form_input__ = __webpack_require__(146);\n/* unused harmony reexport BFormInput */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__components_form_radio__ = __webpack_require__(143);\n/* unused harmony reexport FormRadioPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_63__components_form_radio_form_radio__ = __webpack_require__(71);\n/* unused harmony reexport BFormRadio */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__components_form_radio_form_radio_group__ = __webpack_require__(144);\n/* unused harmony reexport BFormRadioGroup */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__components_form_select__ = __webpack_require__(155);\n/* unused harmony reexport FormSelectPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_66__components_form_select_form_select__ = __webpack_require__(156);\n/* unused harmony reexport BFormSelect */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_67__components_form_textarea__ = __webpack_require__(150);\n/* unused harmony reexport FormTextareaPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__components_form_textarea_form_textarea__ = __webpack_require__(151);\n/* unused harmony reexport BFormTextarea */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__components_image__ = __webpack_require__(157);\n/* unused harmony reexport ImagePlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__components_image_img__ = __webpack_require__(38);\n/* unused harmony reexport BImg */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__components_image_img_lazy__ = __webpack_require__(62);\n/* unused harmony reexport BImgLazy */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__components_input_group__ = __webpack_require__(158);\n/* unused harmony reexport InputGroupPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__components_input_group_input_group__ = __webpack_require__(159);\n/* unused harmony reexport BInputGroup */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_74__components_input_group_input_group_addon__ = __webpack_require__(45);\n/* unused harmony reexport BInputGroupAddon */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_75__components_input_group_input_group_append__ = __webpack_require__(73);\n/* unused harmony reexport BInputGroupAppend */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_76__components_input_group_input_group_prepend__ = __webpack_require__(72);\n/* unused harmony reexport BInputGroupPrepend */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_77__components_input_group_input_group_text__ = __webpack_require__(46);\n/* unused harmony reexport BInputGroupText */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_78__components_jumbotron__ = __webpack_require__(160);\n/* unused harmony reexport JumbotronPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_79__components_jumbotron_jumbotron__ = __webpack_require__(161);\n/* unused harmony reexport BJumbotron */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_80__components_layout__ = __webpack_require__(162);\n/* unused harmony reexport LayoutPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_81__components_layout_container__ = __webpack_require__(74);\n/* unused harmony reexport BContainer */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_82__components_layout_row__ = __webpack_require__(163);\n/* unused harmony reexport BRow */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_83__components_layout_col__ = __webpack_require__(69);\n/* unused harmony reexport BCol */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_84__components_layout_form_row__ = __webpack_require__(44);\n/* unused harmony reexport BFormRow */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_85__components_link__ = __webpack_require__(164);\n/* unused harmony reexport LinkPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_86__components_link_link__ = __webpack_require__(14);\n/* unused harmony reexport BLink */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_87__components_list_group__ = __webpack_require__(165);\n/* unused harmony reexport ListGroupPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_88__components_list_group_list_group__ = __webpack_require__(166);\n/* unused harmony reexport BListGroup */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_89__components_list_group_list_group_item__ = __webpack_require__(167);\n/* unused harmony reexport BListGroupItem */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_90__components_media__ = __webpack_require__(168);\n/* unused harmony reexport MediaPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_91__components_media_media__ = __webpack_require__(169);\n/* unused harmony reexport BMedia */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_92__components_media_media_aside__ = __webpack_require__(76);\n/* unused harmony reexport BMediaAside */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_93__components_media_media_body__ = __webpack_require__(75);\n/* unused harmony reexport BMediaBody */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_94__components_modal__ = __webpack_require__(170);\n/* unused harmony reexport ModalPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_95__components_modal_modal__ = __webpack_require__(77);\n/* unused harmony reexport BModal */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_96__components_nav__ = __webpack_require__(80);\n/* unused harmony reexport NavPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_97__components_nav_nav__ = __webpack_require__(47);\n/* unused harmony reexport BNav */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_98__components_nav_nav_form__ = __webpack_require__(174);\n/* unused harmony reexport BNavForm */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_99__components_nav_nav_item__ = __webpack_require__(172);\n/* unused harmony reexport BNavItem */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_100__components_nav_nav_item_dropdown__ = __webpack_require__(175);\n/* unused harmony reexport BNavItemDropdown */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_101__components_nav_nav_text__ = __webpack_require__(173);\n/* unused harmony reexport BNavText */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_102__components_navbar__ = __webpack_require__(176);\n/* unused harmony reexport NavbarPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_103__components_navbar_navbar__ = __webpack_require__(177);\n/* unused harmony reexport BNavbar */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_104__components_navbar_navbar_brand__ = __webpack_require__(179);\n/* unused harmony reexport BNavbarBrand */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_105__components_navbar_navbar_nav__ = __webpack_require__(178);\n/* unused harmony reexport BNavbarNav */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_106__components_navbar_navbar_toggle__ = __webpack_require__(180);\n/* unused harmony reexport BNavbarToggle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_107__components_pagination__ = __webpack_require__(181);\n/* unused harmony reexport PaginationPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_108__components_pagination_pagination__ = __webpack_require__(182);\n/* unused harmony reexport BPagination */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_109__components_pagination_nav__ = __webpack_require__(185);\n/* unused harmony reexport PaginationNavPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_110__components_pagination_nav_pagination_nav__ = __webpack_require__(186);\n/* unused harmony reexport BPaginationNav */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_111__components_popover__ = __webpack_require__(187);\n/* unused harmony reexport PopoverPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_112__components_popover_popover__ = __webpack_require__(188);\n/* unused harmony reexport BPopover */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_113__components_progress__ = __webpack_require__(192);\n/* unused harmony reexport ProgressPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_114__components_progress_progress__ = __webpack_require__(193);\n/* unused harmony reexport BProgress */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_115__components_progress_progress_bar__ = __webpack_require__(84);\n/* unused harmony reexport BProgressBar */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_116__components_spinner__ = __webpack_require__(194);\n/* unused harmony reexport SpinnerPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_117__components_spinner_spinner__ = __webpack_require__(195);\n/* unused harmony reexport BSpinner */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_118__components_table__ = __webpack_require__(196);\n/* unused harmony reexport TablePlugin */\n/* unused harmony reexport TableLitePlugin */\n/* unused harmony reexport TableSimplePlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_119__components_table_table__ = __webpack_require__(197);\n/* unused harmony reexport BTable */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_120__components_table_table_lite__ = __webpack_require__(209);\n/* unused harmony reexport BTableLite */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_121__components_table_table_simple__ = __webpack_require__(210);\n/* unused harmony reexport BTableSimple */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_122__components_table_tbody__ = __webpack_require__(89);\n/* unused harmony reexport BTbody */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_123__components_table_thead__ = __webpack_require__(88);\n/* unused harmony reexport BThead */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_124__components_table_tfoot__ = __webpack_require__(48);\n/* unused harmony reexport BTfoot */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_125__components_table_tr__ = __webpack_require__(21);\n/* unused harmony reexport BTr */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_126__components_table_th__ = __webpack_require__(49);\n/* unused harmony reexport BTh */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_127__components_table_td__ = __webpack_require__(28);\n/* unused harmony reexport BTd */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_128__components_tabs__ = __webpack_require__(211);\n/* unused harmony reexport TabsPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_129__components_tabs_tabs__ = __webpack_require__(212);\n/* unused harmony reexport BTabs */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_130__components_tabs_tab__ = __webpack_require__(213);\n/* unused harmony reexport BTab */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_131__components_toast__ = __webpack_require__(214);\n/* unused harmony reexport ToastPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_132__components_toast_toast__ = __webpack_require__(91);\n/* unused harmony reexport BToast */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_133__components_toast_toaster__ = __webpack_require__(92);\n/* unused harmony reexport BToaster */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_134__components_tooltip__ = __webpack_require__(217);\n/* unused harmony reexport TooltipPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_135__components_tooltip_tooltip__ = __webpack_require__(81);\n/* unused harmony reexport BTooltip */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_136__directives_modal__ = __webpack_require__(219);\n/* unused harmony reexport VBModalPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_137__directives_modal_modal__ = __webpack_require__(79);\n/* unused harmony reexport VBModal */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_138__directives_popover__ = __webpack_require__(83);\n/* unused harmony reexport VBPopoverPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_139__directives_popover_popover__ = __webpack_require__(191);\n/* unused harmony reexport VBPopover */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_140__directives_scrollspy__ = __webpack_require__(220);\n/* unused harmony reexport VBScrollspyPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_141__directives_scrollspy_scrollspy__ = __webpack_require__(221);\n/* unused harmony reexport VBScrollspy */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_142__directives_toggle__ = __webpack_require__(222);\n/* unused harmony reexport VBTogglePlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_143__directives_toggle_toggle__ = __webpack_require__(64);\n/* unused harmony reexport VBToggle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_144__directives_tooltip__ = __webpack_require__(93);\n/* unused harmony reexport VBTooltipPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_145__directives_tooltip_tooltip__ = __webpack_require__(218);\n/* unused harmony reexport VBTooltip */\n/*!\n * BoostrapVue 2.0.4\n *\n * @link https://bootstrap-vue.js.org\n * @source https://github.com/bootstrap-vue/bootstrap-vue\n * @copyright (c) 2016-2019 BootstrapVue\n * @license MIT\n * https://github.com/bootstrap-vue/bootstrap-vue/blob/master/LICENSE\n */\n\n\n\n\nvar NAME = 'BootstrapVue'; //\n// BootstrapVue installer\n//\n\nvar install =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_0__utils_plugins__[\"a\" /* installFactory */])({\n plugins: {\n componentsPlugin: __WEBPACK_IMPORTED_MODULE_1__components__[\"a\" /* componentsPlugin */],\n directivesPlugin: __WEBPACK_IMPORTED_MODULE_2__directives__[\"a\" /* directivesPlugin */]\n }\n}); //\n// BootstrapVue plugin\n//\n\nvar BootstrapVue =\n/*#__PURE__*/\n{\n install: install,\n NAME: NAME\n}; //\n// Named exports for BvConfigPlugin\n//\n\n //\n// Export named injection plugins\n//\n// TODO: we should probably move injections into their\n// own parent directory (i.e. /src/injections)\n\n\n //\n// Export all individual components and component group plugins as named exports.\n//\n// Webpack 4 has optimization difficulties with re-eport of re-exports, so\n// we import the components individulaly here for better tree shaking,\n//\n// Webpack v5 fixes the optimizations with re-export of re-exports so this\n// can be reverted back to `export * from './table'` when Webpack v5 is released.\n// https://github.com/webpack/webpack/pull/9203 (available in Webpack v5.0.0-alpha.15)\n// export * from './components/alert'\n\n\n // export * from './components/badge'\n\n\n // export * from './components/breadcrumb'\n\n\n\n // export * from './components/button'\n\n\n\n // export * from './components/button-group'\n\n\n // export * from './components/button-toolbar'\n\n\n // export * from './components/card'\n\n\n\n\n\n\n\n\n\n\n\n // export * from './components/carousel'\n\n\n\n // export * from './components/collapse'\n\n\n // export * from './components/dropdown'\n\n\n\n\n\n\n\n\n\n // export * from './components/embed'\n\n\n // export * from './components/form'\n\n\n\n\n\n\n // export * from './components/form-checkbox'\n\n\n\n // export * from './components/form-file'\n\n\n // export * from './components/form-group'\n\n\n // export * from './components/form-input'\n\n\n // export * from './components/form-radio'\n\n\n\n // export * from './components/form-select'\n\n\n // export * from './components/form-textarea'\n\n\n // export * from './components/image'\n\n\n\n // export * from './components/input-group'\n\n\n\n\n\n\n // export * from './components/jumbotron'\n\n\n // export * from './components/layout'\n\n\n\n\n\n // export * from './components/link'\n\n\n // export * from './components/list-group'\n\n\n\n // export * from './components/media'\n\n\n\n\n // export * from './components/modal'\n\n\n // export * from './components/nav'\n\n\n\n\n\n\n // export * from './components/navbar'\n\n\n\n\n\n // export * from './components/pagination'\n\n\n // export * from './components/pagination-nav'\n\n\n // export * from './components/popover'\n\n\n // export * from './components/progress'\n\n\n\n // export * from './components/spinner'\n\n\n // export * from './components/table'\n\n\n\n\n\n\n\n\n\n\n // export * from './components/tabs'\n\n\n\n // export * from './components/toast'\n\n\n\n // export * from './components/tooltip'\n\n\n //\n// Named exports of all directives (VB<Name>) and Plugins (VB<name>Plugin)\n//\n// Webpack 4 has optimization difficulties with re-eport of re-exports, so\n// we import the directives individulaly here for better tree shaking,\n//\n// Webpack v5 fixes the optimizations with re-export of re-exports so this\n// can be reverted back to `export * from './scrollspy'` when Webpack v5 is released.\n// https://github.com/webpack/webpack/pull/9203 (available in Webpack v5.0.0-alpha.15)\n// export * from './directives/modal'\n\n\n // export * from './directives/popover'\n\n\n // export * from './directives/scrollspy'\n\n\n // export * from './directives/toggle'\n\n\n // export * from './directives/tooltip'\n\n\n // Default export is the BootstrapVue plugin\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (BootstrapVue);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vaW5kZXguanM/NGVhNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNpRDtBQUNEO0FBQ0E7QUFDSDtBQUM3QywwQkFBMEI7QUFDMUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEVBQWM7QUFDZDtBQUNBLHNCQUFzQixxRUFBZ0I7QUFDdEMsc0JBQXNCLHFFQUFnQjtBQUN0QztBQUNBLENBQUMsRUFBRTtBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQVlpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTs7QUFFb0U7QUFDQTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWlEO0FBQ0M7O0FBRUQ7QUFDQzs7QUFFUztBQUNNO0FBQ1M7O0FBRXZCO0FBQ0U7QUFDVzs7QUFFRjtBQUNROztBQUVKO0FBQ1U7O0FBRTdCO0FBQ0E7QUFDUztBQUNJO0FBQ0Y7QUFDRTtBQUNOO0FBQ1M7QUFDRTtBQUNUO0FBQ0U7O0FBRUg7QUFDSTtBQUNXOztBQUVmO0FBQ0k7O0FBRUo7QUFDSTtBQUNTO0FBQ2E7QUFDUDtBQUNOO0FBQ0U7QUFDRTtBQUNKOztBQUVuQjtBQUNDOztBQUVIO0FBQ0E7QUFDaUI7QUFDUjtBQUN1QjtBQUNKOztBQUVYO0FBQ1M7QUFDVzs7QUFFNUI7QUFDSzs7QUFFSDtBQUNNOztBQUVOO0FBQ007O0FBRU47QUFDTTtBQUNXOztBQUVmO0FBQ087O0FBRUg7QUFDUzs7QUFFeEI7QUFDSDtBQUNTOztBQUVLO0FBQ087QUFDVztBQUNFO0FBQ0U7QUFDTjs7QUFFbkI7QUFDSzs7QUFFWDtBQUNRO0FBQ1o7QUFDQTtBQUNTOztBQUVUO0FBQ0E7O0FBRVc7QUFDTTtBQUNTOztBQUV4QjtBQUNDO0FBQ1c7QUFDRjs7QUFFVjtBQUNDOztBQUVMO0FBQ0Q7QUFDUztBQUNBO0FBQ2lCO0FBQ2pCOztBQUVGO0FBQ0U7QUFDVztBQUNKO0FBQ007O0FBRVA7QUFDTTs7QUFFQztBQUNVOztBQUV2QjtBQUNHOztBQUVEO0FBQ0k7QUFDTzs7QUFFYjtBQUNHOztBQUU2QjtBQUNuQztBQUNTO0FBQ0k7QUFDYjtBQUNBO0FBQ0E7QUFDTjtBQUNBO0FBQ0E7O0FBRUc7QUFDQTtBQUNGOztBQUVJO0FBQ0M7QUFDSTs7QUFFRDtBQUNHO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFbUQ7QUFDQTs7QUFFSTtBQUNFOztBQUVFO0FBQ0k7O0FBRVY7QUFDQzs7QUFFQztBQUNFOztBQUUxQyxxRUFBWSIsImZpbGUiOiIyNDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEJvb3N0cmFwVnVlIDIuMC40XG4gKlxuICogQGxpbmsgaHR0cHM6Ly9ib290c3RyYXAtdnVlLmpzLm9yZ1xuICogQHNvdXJjZSBodHRwczovL2dpdGh1Yi5jb20vYm9vdHN0cmFwLXZ1ZS9ib290c3RyYXAtdnVlXG4gKiBAY29weXJpZ2h0IChjKSAyMDE2LTIwMTkgQm9vdHN0cmFwVnVlXG4gKiBAbGljZW5zZSBNSVRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9ib290c3RyYXAtdnVlL2Jvb3RzdHJhcC12dWUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5pbXBvcnQgeyBpbnN0YWxsRmFjdG9yeSB9IGZyb20gJy4vdXRpbHMvcGx1Z2lucyc7XG5pbXBvcnQgeyBjb21wb25lbnRzUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IGRpcmVjdGl2ZXNQbHVnaW4gfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQlZDb25maWdQbHVnaW4gfSBmcm9tICcuL2J2LWNvbmZpZyc7XG52YXIgTkFNRSA9ICdCb290c3RyYXBWdWUnOyAvL1xuLy8gQm9vdHN0cmFwVnVlIGluc3RhbGxlclxuLy9cblxudmFyIGluc3RhbGwgPVxuLyojX19QVVJFX18qL1xuaW5zdGFsbEZhY3Rvcnkoe1xuICBwbHVnaW5zOiB7XG4gICAgY29tcG9uZW50c1BsdWdpbjogY29tcG9uZW50c1BsdWdpbixcbiAgICBkaXJlY3RpdmVzUGx1Z2luOiBkaXJlY3RpdmVzUGx1Z2luXG4gIH1cbn0pOyAvL1xuLy8gQm9vdHN0cmFwVnVlIHBsdWdpblxuLy9cblxudmFyIEJvb3RzdHJhcFZ1ZSA9XG4vKiNfX1BVUkVfXyovXG57XG4gIGluc3RhbGw6IGluc3RhbGwsXG4gIE5BTUU6IE5BTUVcbn07IC8vXG4vLyBOYW1lZCBleHBvcnRzIGZvciBCdkNvbmZpZ1BsdWdpblxuLy9cblxuZXhwb3J0IHsgLy8gSW5zdGFsbGVyIGV4cG9ydGVkIGluIGNhc2UgdGhlIGNvbnN1bWVyIGRvZXMgbm90IGltcG9ydCBgZGVmYXVsdGBcbi8vIGFzIHRoZSBwbHVnaW4gaW4gQ29tbW9uSlMgYnVpbGQgKG9yIGRvZXMgbm90IGhhdmUgaW50ZXJvcCBlbmFibGVkXG4vLyBmb3IgQ29tbW9uSlMpLiBCb3RoIHRoZSBmb2xsb3dpbmcgd2lsbCB3b3JrOlxuLy8gICBCb290c3RyYXBWdWUgPSByZXF1aXJlKCdib290c3RyYXAtdnVlJylcbi8vICAgQm9vdHN0cmFwVnVlID0gcmVxdWlyZSgnYm9vdHN0cmFwLXZ1ZScpLmRlZmF1bHRcbi8vICAgVnVlLnVzZShCb290c3RyYXBWdWUpXG5pbnN0YWxsLCBOQU1FIC8vIEJWIENvbmZpZyBQbHVnaW5cbiwgQlZDb25maWdQbHVnaW4gLy8gQlZDb25maWdQbHVnaW4gaGFzIGJlZW4gZG9jdW1lbnRlZCBhcyBCVkNvbmZpZyBhcyB3ZWxsLFxuLy8gc28gd2UgYWRkIGFuIGFsaWFzIHRvIHRoZSBzaG9ydGVyIG5hbWUgZm9yIGJhY2t3YXJkcyBjb21wYXRcbiwgQlZDb25maWdQbHVnaW4gYXMgQlZDb25maWcgLy8gTWFpbiBCb290c3RyYXBWdWUgUGx1Z2luXG4sIEJvb3RzdHJhcFZ1ZSB9OyAvL1xuLy8gRXhwb3J0IG5hbWVkIGluamVjdGlvbiBwbHVnaW5zXG4vL1xuLy8gVE9ETzogd2Ugc2hvdWxkIHByb2JhYmx5IG1vdmUgaW5qZWN0aW9ucyBpbnRvIHRoZWlyXG4vLyAgICAgICBvd24gcGFyZW50IGRpcmVjdG9yeSAoaS5lLiAvc3JjL2luamVjdGlvbnMpXG5cbmV4cG9ydCB7IEJWTW9kYWxQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwvaGVscGVycy9idi1tb2RhbCc7XG5leHBvcnQgeyBCVlRvYXN0UGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L2hlbHBlcnMvYnYtdG9hc3QnOyAvL1xuLy8gRXhwb3J0IGFsbCBpbmRpdmlkdWFsIGNvbXBvbmVudHMgYW5kIGNvbXBvbmVudCBncm91cCBwbHVnaW5zIGFzIG5hbWVkIGV4cG9ydHMuXG4vL1xuLy8gV2VicGFjayA0IGhhcyBvcHRpbWl6YXRpb24gZGlmZmljdWx0aWVzIHdpdGggcmUtZXBvcnQgb2YgcmUtZXhwb3J0cywgc29cbi8vIHdlIGltcG9ydCB0aGUgY29tcG9uZW50cyBpbmRpdmlkdWxhbHkgaGVyZSBmb3IgYmV0dGVyIHRyZWUgc2hha2luZyxcbi8vXG4vLyBXZWJwYWNrIHY1IGZpeGVzIHRoZSBvcHRpbWl6YXRpb25zIHdpdGggcmUtZXhwb3J0IG9mIHJlLWV4cG9ydHMgc28gdGhpc1xuLy8gY2FuIGJlIHJldmVydGVkIGJhY2sgdG8gYGV4cG9ydCAqIGZyb20gJy4vdGFibGUnYCB3aGVuIFdlYnBhY2sgdjUgaXMgcmVsZWFzZWQuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrL3B1bGwvOTIwMyAoYXZhaWxhYmxlIGluIFdlYnBhY2sgdjUuMC4wLWFscGhhLjE1KVxuLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0J1xuXG5leHBvcnQgeyBBbGVydFBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9hbGVydCc7XG5leHBvcnQgeyBCQWxlcnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQnOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFkZ2UnXG5cbmV4cG9ydCB7IEJhZGdlUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL2JhZGdlJztcbmV4cG9ydCB7IEJCYWRnZSB9IGZyb20gJy4vY29tcG9uZW50cy9iYWRnZS9iYWRnZSc7IC8vIGV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iJ1xuXG5leHBvcnQgeyBCcmVhZGNydW1iUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkY3J1bWInO1xuZXhwb3J0IHsgQkJyZWFkY3J1bWIgfSBmcm9tICcuL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iJztcbmV4cG9ydCB7IEJCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbSc7IC8vIGV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9idXR0b24nXG5cbmV4cG9ydCB7IEJ1dHRvblBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24nO1xuZXhwb3J0IHsgQkJ1dHRvbiB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uJztcbmV4cG9ydCB7IEJCdXR0b25DbG9zZSB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLWNsb3NlJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi1ncm91cCdcblxuZXhwb3J0IHsgQnV0dG9uR3JvdXBQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbmV4cG9ydCB7IEJCdXR0b25Hcm91cCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi10b29sYmFyJ1xuXG5leHBvcnQgeyBCdXR0b25Ub29sYmFyUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi10b29sYmFyJztcbmV4cG9ydCB7IEJCdXR0b25Ub29sYmFyIH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi10b29sYmFyL2J1dHRvbi10b29sYmFyJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NhcmQnXG5cbmV4cG9ydCB7IENhcmRQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZCc7XG5leHBvcnQgeyBCQ2FyZCB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJkL2NhcmQnO1xuZXhwb3J0IHsgQkNhcmRCb2R5IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC1ib2R5JztcbmV4cG9ydCB7IEJDYXJkRm9vdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC1mb290ZXInO1xuZXhwb3J0IHsgQkNhcmRHcm91cCB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJkL2NhcmQtZ3JvdXAnO1xuZXhwb3J0IHsgQkNhcmRIZWFkZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZC9jYXJkLWhlYWRlcic7XG5leHBvcnQgeyBCQ2FyZEltZyB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJkL2NhcmQtaW1nJztcbmV4cG9ydCB7IEJDYXJkSW1nTGF6eSB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJkL2NhcmQtaW1nLWxhenknO1xuZXhwb3J0IHsgQkNhcmRTdWJUaXRsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJkL2NhcmQtc3ViLXRpdGxlJztcbmV4cG9ydCB7IEJDYXJkVGV4dCB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJkL2NhcmQtdGV4dCc7XG5leHBvcnQgeyBCQ2FyZFRpdGxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC10aXRsZSc7IC8vIGV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jYXJvdXNlbCdcblxuZXhwb3J0IHsgQ2Fyb3VzZWxQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvY2Fyb3VzZWwnO1xuZXhwb3J0IHsgQkNhcm91c2VsIH0gZnJvbSAnLi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsJztcbmV4cG9ydCB7IEJDYXJvdXNlbFNsaWRlIH0gZnJvbSAnLi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLXNsaWRlJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbGxhcHNlJ1xuXG5leHBvcnQgeyBDb2xsYXBzZVBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xsYXBzZSc7XG5leHBvcnQgeyBCQ29sbGFwc2UgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGFwc2UvY29sbGFwc2UnOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24nXG5cbmV4cG9ydCB7IERyb3Bkb3duUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmV4cG9ydCB7IEJEcm9wZG93biB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bic7XG5leHBvcnQgeyBCRHJvcGRvd25JdGVtIH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0nO1xuZXhwb3J0IHsgQkRyb3Bkb3duSXRlbUJ1dHRvbiB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1pdGVtLWJ1dHRvbic7XG5leHBvcnQgeyBCRHJvcGRvd25EaXZpZGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWRpdmlkZXInO1xuZXhwb3J0IHsgQkRyb3Bkb3duRm9ybSB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1mb3JtJztcbmV4cG9ydCB7IEJEcm9wZG93bkdyb3VwIH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWdyb3VwJztcbmV4cG9ydCB7IEJEcm9wZG93bkhlYWRlciB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1oZWFkZXInO1xuZXhwb3J0IHsgQkRyb3Bkb3duVGV4dCB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi10ZXh0JzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VtYmVkJ1xuXG5leHBvcnQgeyBFbWJlZFBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9lbWJlZCc7XG5leHBvcnQgeyBCRW1iZWQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1iZWQvZW1iZWQnOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZm9ybSdcblxuZXhwb3J0IHsgRm9ybVBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtJztcbmV4cG9ydCB7IEJGb3JtIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybSc7XG5leHBvcnQgeyBCRm9ybURhdGFsaXN0IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybS1kYXRhbGlzdCc7XG5leHBvcnQgeyBCRm9ybVRleHQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9mb3JtLXRleHQnO1xuZXhwb3J0IHsgQkZvcm1JbnZhbGlkRmVlZGJhY2sgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9mb3JtLWludmFsaWQtZmVlZGJhY2snO1xuZXhwb3J0IHsgQkZvcm1WYWxpZEZlZWRiYWNrIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybS12YWxpZC1mZWVkYmFjayc7IC8vIGV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWNoZWNrYm94J1xuXG5leHBvcnQgeyBGb3JtQ2hlY2tib3hQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1jaGVja2JveCc7XG5leHBvcnQgeyBCRm9ybUNoZWNrYm94IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tY2hlY2tib3gvZm9ybS1jaGVja2JveCc7XG5leHBvcnQgeyBCRm9ybUNoZWNrYm94R3JvdXAgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1jaGVja2JveC9mb3JtLWNoZWNrYm94LWdyb3VwJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZmlsZSdcblxuZXhwb3J0IHsgRm9ybUZpbGVQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1maWxlJztcbmV4cG9ydCB7IEJGb3JtRmlsZSB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWZpbGUvZm9ybS1maWxlJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZ3JvdXAnXG5cbmV4cG9ydCB7IEZvcm1Hcm91cFBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWdyb3VwJztcbmV4cG9ydCB7IEJGb3JtR3JvdXAgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1ncm91cC9mb3JtLWdyb3VwJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0taW5wdXQnXG5cbmV4cG9ydCB7IEZvcm1JbnB1dFBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWlucHV0JztcbmV4cG9ydCB7IEJGb3JtSW5wdXQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1pbnB1dC9mb3JtLWlucHV0JzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tcmFkaW8nXG5cbmV4cG9ydCB7IEZvcm1SYWRpb1BsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLXJhZGlvJztcbmV4cG9ydCB7IEJGb3JtUmFkaW8gfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1yYWRpby9mb3JtLXJhZGlvJztcbmV4cG9ydCB7IEJGb3JtUmFkaW9Hcm91cCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLXJhZGlvL2Zvcm0tcmFkaW8tZ3JvdXAnOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1zZWxlY3QnXG5cbmV4cG9ydCB7IEZvcm1TZWxlY3RQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1zZWxlY3QnO1xuZXhwb3J0IHsgQkZvcm1TZWxlY3QgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QnOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS10ZXh0YXJlYSdcblxuZXhwb3J0IHsgRm9ybVRleHRhcmVhUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tdGV4dGFyZWEnO1xuZXhwb3J0IHsgQkZvcm1UZXh0YXJlYSB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLXRleHRhcmVhL2Zvcm0tdGV4dGFyZWEnOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW1hZ2UnXG5cbmV4cG9ydCB7IEltYWdlUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL2ltYWdlJztcbmV4cG9ydCB7IEJJbWcgfSBmcm9tICcuL2NvbXBvbmVudHMvaW1hZ2UvaW1nJztcbmV4cG9ydCB7IEJJbWdMYXp5IH0gZnJvbSAnLi9jb21wb25lbnRzL2ltYWdlL2ltZy1sYXp5JzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWdyb3VwJ1xuXG5leHBvcnQgeyBJbnB1dEdyb3VwUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWdyb3VwJztcbmV4cG9ydCB7IEJJbnB1dEdyb3VwIH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwJztcbmV4cG9ydCB7IEJJbnB1dEdyb3VwQWRkb24gfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtYWRkb24nO1xuZXhwb3J0IHsgQklucHV0R3JvdXBBcHBlbmQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtYXBwZW5kJztcbmV4cG9ydCB7IEJJbnB1dEdyb3VwUHJlcGVuZCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC1wcmVwZW5kJztcbmV4cG9ydCB7IEJJbnB1dEdyb3VwVGV4dCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC10ZXh0JzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2p1bWJvdHJvbidcblxuZXhwb3J0IHsgSnVtYm90cm9uUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL2p1bWJvdHJvbic7XG5leHBvcnQgeyBCSnVtYm90cm9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2p1bWJvdHJvbi9qdW1ib3Ryb24nOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0J1xuXG5leHBvcnQgeyBMYXlvdXRQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0JztcbmV4cG9ydCB7IEJDb250YWluZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0L2NvbnRhaW5lcic7XG5leHBvcnQgeyBCUm93IH0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC9yb3cnO1xuZXhwb3J0IHsgQkNvbCB9IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQvY29sJztcbmV4cG9ydCB7IEJGb3JtUm93IH0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC9mb3JtLXJvdyc7IC8vIGV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9saW5rJ1xuXG5leHBvcnQgeyBMaW5rUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL2xpbmsnO1xuZXhwb3J0IHsgQkxpbmsgfSBmcm9tICcuL2NvbXBvbmVudHMvbGluay9saW5rJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xpc3QtZ3JvdXAnXG5cbmV4cG9ydCB7IExpc3RHcm91cFBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9saXN0LWdyb3VwJztcbmV4cG9ydCB7IEJMaXN0R3JvdXAgfSBmcm9tICcuL2NvbXBvbmVudHMvbGlzdC1ncm91cC9saXN0LWdyb3VwJztcbmV4cG9ydCB7IEJMaXN0R3JvdXBJdGVtIH0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3QtZ3JvdXAvbGlzdC1ncm91cC1pdGVtJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL21lZGlhJ1xuXG5leHBvcnQgeyBNZWRpYVBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9tZWRpYSc7XG5leHBvcnQgeyBCTWVkaWEgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVkaWEvbWVkaWEnO1xuZXhwb3J0IHsgQk1lZGlhQXNpZGUgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVkaWEvbWVkaWEtYXNpZGUnO1xuZXhwb3J0IHsgQk1lZGlhQm9keSB9IGZyb20gJy4vY29tcG9uZW50cy9tZWRpYS9tZWRpYS1ib2R5JzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL21vZGFsJ1xuXG5leHBvcnQgeyBNb2RhbFBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbCc7XG5leHBvcnQgeyBCTW9kYWwgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwnOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbmF2J1xuXG5leHBvcnQgeyBOYXZQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2JztcbmV4cG9ydCB7IEJOYXYgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2L25hdic7XG5leHBvcnQgeyBCTmF2Rm9ybSB9IGZyb20gJy4vY29tcG9uZW50cy9uYXYvbmF2LWZvcm0nO1xuZXhwb3J0IHsgQk5hdkl0ZW0gfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2L25hdi1pdGVtJztcbmV4cG9ydCB7IEJOYXZJdGVtRHJvcGRvd24gfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2L25hdi1pdGVtLWRyb3Bkb3duJztcbmV4cG9ydCB7IEJOYXZUZXh0IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdi9uYXYtdGV4dCc7IC8vIGV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9uYXZiYXInXG5cbmV4cG9ydCB7IE5hdmJhclBsdWdpbiB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZiYXInO1xuZXhwb3J0IHsgQk5hdmJhciB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyJztcbmV4cG9ydCB7IEJOYXZiYXJCcmFuZCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLWJyYW5kJztcbmV4cG9ydCB7IEJOYXZiYXJOYXYgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci1uYXYnO1xuZXhwb3J0IHsgQk5hdmJhclRvZ2dsZSB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLXRvZ2dsZSc7IC8vIGV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdpbmF0aW9uJ1xuXG5leHBvcnQgeyBQYWdpbmF0aW9uUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRpb24nO1xuZXhwb3J0IHsgQlBhZ2luYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRpb24tbmF2J1xuXG5leHBvcnQgeyBQYWdpbmF0aW9uTmF2UGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRpb24tbmF2JztcbmV4cG9ydCB7IEJQYWdpbmF0aW9uTmF2IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRpb24tbmF2L3BhZ2luYXRpb24tbmF2JzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BvcG92ZXInXG5cbmV4cG9ydCB7IFBvcG92ZXJQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvcG9wb3Zlcic7XG5leHBvcnQgeyBCUG9wb3ZlciB9IGZyb20gJy4vY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXInOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcHJvZ3Jlc3MnXG5cbmV4cG9ydCB7IFByb2dyZXNzUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2dyZXNzJztcbmV4cG9ydCB7IEJQcm9ncmVzcyB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9ncmVzcy9wcm9ncmVzcyc7XG5leHBvcnQgeyBCUHJvZ3Jlc3NCYXIgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MtYmFyJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NwaW5uZXInXG5cbmV4cG9ydCB7IFNwaW5uZXJQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvc3Bpbm5lcic7XG5leHBvcnQgeyBCU3Bpbm5lciB9IGZyb20gJy4vY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXInOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUnXG5cbmV4cG9ydCB7IFRhYmxlUGx1Z2luLCBUYWJsZUxpdGVQbHVnaW4sIFRhYmxlU2ltcGxlUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlJztcbmV4cG9ydCB7IEJUYWJsZSB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZSc7XG5leHBvcnQgeyBCVGFibGVMaXRlIH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLWxpdGUnO1xuZXhwb3J0IHsgQlRhYmxlU2ltcGxlIH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLXNpbXBsZSc7XG5leHBvcnQgeyBCVGJvZHkgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGJvZHknO1xuZXhwb3J0IHsgQlRoZWFkIH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RoZWFkJztcbmV4cG9ydCB7IEJUZm9vdCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90Zm9vdCc7XG5leHBvcnQgeyBCVHIgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdHInO1xuZXhwb3J0IHsgQlRoIH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RoJztcbmV4cG9ydCB7IEJUZCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90ZCc7IC8vIGV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJzJ1xuXG5leHBvcnQgeyBUYWJzUGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYnMnO1xuZXhwb3J0IHsgQlRhYnMgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWJzJztcbmV4cG9ydCB7IEJUYWIgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWInOyAvLyBleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdG9hc3QnXG5cbmV4cG9ydCB7IFRvYXN0UGx1Z2luIH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0JztcbmV4cG9ydCB7IEJUb2FzdCB9IGZyb20gJy4vY29tcG9uZW50cy90b2FzdC90b2FzdCc7XG5leHBvcnQgeyBCVG9hc3RlciB9IGZyb20gJy4vY29tcG9uZW50cy90b2FzdC90b2FzdGVyJzsgLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rvb2x0aXAnXG5cbmV4cG9ydCB7IFRvb2x0aXBQbHVnaW4gfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcCc7XG5leHBvcnQgeyBCVG9vbHRpcCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAnOyAvL1xuLy8gTmFtZWQgZXhwb3J0cyBvZiBhbGwgZGlyZWN0aXZlcyAoVkI8TmFtZT4pIGFuZCBQbHVnaW5zIChWQjxuYW1lPlBsdWdpbilcbi8vXG4vLyBXZWJwYWNrIDQgaGFzIG9wdGltaXphdGlvbiBkaWZmaWN1bHRpZXMgd2l0aCByZS1lcG9ydCBvZiByZS1leHBvcnRzLCBzb1xuLy8gd2UgaW1wb3J0IHRoZSBkaXJlY3RpdmVzIGluZGl2aWR1bGFseSBoZXJlIGZvciBiZXR0ZXIgdHJlZSBzaGFraW5nLFxuLy9cbi8vIFdlYnBhY2sgdjUgZml4ZXMgdGhlIG9wdGltaXphdGlvbnMgd2l0aCByZS1leHBvcnQgb2YgcmUtZXhwb3J0cyBzbyB0aGlzXG4vLyBjYW4gYmUgcmV2ZXJ0ZWQgYmFjayB0byBgZXhwb3J0ICogZnJvbSAnLi9zY3JvbGxzcHknYCB3aGVuIFdlYnBhY2sgdjUgaXMgcmVsZWFzZWQuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrL3B1bGwvOTIwMyAoYXZhaWxhYmxlIGluIFdlYnBhY2sgdjUuMC4wLWFscGhhLjE1KVxuLy8gZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL21vZGFsJ1xuXG5leHBvcnQgeyBWQk1vZGFsUGx1Z2luIH0gZnJvbSAnLi9kaXJlY3RpdmVzL21vZGFsJztcbmV4cG9ydCB7IFZCTW9kYWwgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbW9kYWwvbW9kYWwnOyAvLyBleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcG9wb3ZlcidcblxuZXhwb3J0IHsgVkJQb3BvdmVyUGx1Z2luIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3BvcG92ZXInO1xuZXhwb3J0IHsgVkJQb3BvdmVyIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3BvcG92ZXIvcG9wb3Zlcic7IC8vIGV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9zY3JvbGxzcHknXG5cbmV4cG9ydCB7IFZCU2Nyb2xsc3B5UGx1Z2luIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Njcm9sbHNweSc7XG5leHBvcnQgeyBWQlNjcm9sbHNweSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zY3JvbGxzcHkvc2Nyb2xsc3B5JzsgLy8gZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3RvZ2dsZSdcblxuZXhwb3J0IHsgVkJUb2dnbGVQbHVnaW4gfSBmcm9tICcuL2RpcmVjdGl2ZXMvdG9nZ2xlJztcbmV4cG9ydCB7IFZCVG9nZ2xlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUnOyAvLyBleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvdG9vbHRpcCdcblxuZXhwb3J0IHsgVkJUb29sdGlwUGx1Z2luIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Rvb2x0aXAnO1xuZXhwb3J0IHsgVkJUb29sdGlwIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcCc7IC8vIERlZmF1bHQgZXhwb3J0IGlzIHRoZSBCb290c3RyYXBWdWUgcGx1Z2luXG5cbmV4cG9ydCBkZWZhdWx0IEJvb3RzdHJhcFZ1ZTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMjQ2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///246\n"); + +/***/ }), +/* 247 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return setConfig; });\n/* unused harmony export resetConfig */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__clone_deep__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__get__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__config_defaults__ = __webpack_require__(99);\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\n\n\n\n\n\n\n // --- Constants ---\n\nvar PROP_NAME = '$bvConfig'; // Config manager class\n\nvar BvConfig =\n/*#__PURE__*/\nfunction () {\n function BvConfig() {\n _classCallCheck(this, BvConfig);\n\n // TODO: pre-populate with default config values (needs updated tests)\n // this.$_config = cloneDeep(DEFAULTS)\n this.$_config = {};\n this.$_cachedBreakpoints = null;\n }\n\n _createClass(BvConfig, [{\n key: \"getDefaults\",\n // Returns the defaults\n value: function getDefaults()\n /* istanbul ignore next */\n {\n return this.defaults;\n } // Method to merge in user config parameters\n\n }, {\n key: \"setConfig\",\n value: function setConfig() {\n var _this = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_4__inspect__[\"j\" /* isPlainObject */])(config)) {\n /* istanbul ignore next */\n return;\n }\n\n var configKeys = Object(__WEBPACK_IMPORTED_MODULE_5__object__[\"f\" /* getOwnPropertyNames */])(config);\n configKeys.forEach(function (cmpName) {\n /* istanbul ignore next */\n if (!Object(__WEBPACK_IMPORTED_MODULE_5__object__[\"g\" /* hasOwnProperty */])(__WEBPACK_IMPORTED_MODULE_6__config_defaults__[\"a\" /* default */], cmpName)) {\n Object(__WEBPACK_IMPORTED_MODULE_3__warn__[\"a\" /* default */])(\"config: unknown config property \\\"\".concat(cmpName, \"\\\"\"));\n return;\n }\n\n var cmpConfig = config[cmpName];\n\n if (cmpName === 'breakpoints') {\n // Special case for breakpoints\n var breakpoints = config.breakpoints;\n /* istanbul ignore if */\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_4__inspect__[\"a\" /* isArray */])(breakpoints) || breakpoints.length < 2 || breakpoints.some(function (b) {\n return !Object(__WEBPACK_IMPORTED_MODULE_4__inspect__[\"m\" /* isString */])(b) || b.length === 0;\n })) {\n Object(__WEBPACK_IMPORTED_MODULE_3__warn__[\"a\" /* default */])('config: \"breakpoints\" must be an array of at least 2 breakpoint names');\n } else {\n _this.$_config.breakpoints = Object(__WEBPACK_IMPORTED_MODULE_1__clone_deep__[\"a\" /* default */])(breakpoints);\n }\n } else if (Object(__WEBPACK_IMPORTED_MODULE_4__inspect__[\"j\" /* isPlainObject */])(cmpConfig)) {\n // Component prop defaults\n var props = Object(__WEBPACK_IMPORTED_MODULE_5__object__[\"f\" /* getOwnPropertyNames */])(cmpConfig);\n props.forEach(function (prop) {\n /* istanbul ignore if */\n if (!Object(__WEBPACK_IMPORTED_MODULE_5__object__[\"g\" /* hasOwnProperty */])(__WEBPACK_IMPORTED_MODULE_6__config_defaults__[\"a\" /* default */][cmpName], prop)) {\n Object(__WEBPACK_IMPORTED_MODULE_3__warn__[\"a\" /* default */])(\"config: unknown config property \\\"\".concat(cmpName, \".\").concat(prop, \"\\\"\"));\n } else {\n // TODO: If we pre-populate the config with defaults, we can skip this line\n _this.$_config[cmpName] = _this.$_config[cmpName] || {};\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_4__inspect__[\"n\" /* isUndefined */])(cmpConfig[prop])) {\n _this.$_config[cmpName][prop] = Object(__WEBPACK_IMPORTED_MODULE_1__clone_deep__[\"a\" /* default */])(cmpConfig[prop]);\n }\n }\n });\n }\n });\n } // Clear the config. For testing purposes only\n\n }, {\n key: \"resetConfig\",\n value: function resetConfig() {\n this.$_config = {};\n } // Returns a deep copy of the user config\n\n }, {\n key: \"getConfig\",\n value: function getConfig() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__clone_deep__[\"a\" /* default */])(this.$_config);\n }\n }, {\n key: \"getConfigValue\",\n value: function getConfigValue(key) {\n // First we try the user config, and if key not found we fall back to default value\n // NOTE: If we deep clone DEFAULTS into config, then we can skip the fallback for get\n return Object(__WEBPACK_IMPORTED_MODULE_1__clone_deep__[\"a\" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_2__get__[\"a\" /* default */])(this.$_config, key, Object(__WEBPACK_IMPORTED_MODULE_2__get__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_6__config_defaults__[\"a\" /* default */], key)));\n }\n }, {\n key: \"defaults\",\n get: function get()\n /* istanbul ignore next */\n {\n return __WEBPACK_IMPORTED_MODULE_6__config_defaults__[\"a\" /* default */];\n }\n }], [{\n key: \"Defaults\",\n get: function get()\n /* istanbul ignore next */\n {\n return __WEBPACK_IMPORTED_MODULE_6__config_defaults__[\"a\" /* default */];\n }\n }]);\n\n return BvConfig;\n}(); // Method for applying a global config\n\n\nvar setConfig = function setConfig() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var Vue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : __WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */];\n // Ensure we have a $bvConfig Object on the Vue prototype.\n // We set on Vue and OurVue just in case consumer has not set an alias of `vue`.\n Vue.prototype[PROP_NAME] = __WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */].prototype[PROP_NAME] = Vue.prototype[PROP_NAME] || __WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */].prototype[PROP_NAME] || new BvConfig(); // Apply the config values\n\n Vue.prototype[PROP_NAME].setConfig(config);\n}; // Method for resetting the user config. Exported for testing purposes only.\n\nvar resetConfig = function resetConfig() {\n if (__WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */].prototype[PROP_NAME] && __WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */].prototype[PROP_NAME].resetConfig) {\n __WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */].prototype[PROP_NAME].resetConfig();\n }\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvY29uZmlnLXNldC5qcz8wNGRmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGlEQUFpRCwwQ0FBMEMsMERBQTBELEVBQUU7O0FBRXZKLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELDJEQUEyRCxFQUFFOztBQUUzVCw2REFBNkQsc0VBQXNFLDhEQUE4RCxvQkFBb0I7O0FBRTFMO0FBQ1U7QUFDYjtBQUNFO0FBQ2dEO0FBQ1g7QUFDdEI7O0FBRXpDLDRCQUE0Qjs7QUFFNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTCxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBLFdBQVcsdUVBQWE7QUFDeEI7QUFDQTtBQUNBOztBQUVBLHVCQUF1Qiw0RUFBbUI7QUFDMUM7QUFDQTtBQUNBLGFBQWEsdUVBQWMsQ0FBQyxpRUFBUTtBQUNwQyxVQUFVLDhEQUFJO0FBQ2Q7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlLGlFQUFPO0FBQ3RCLG9CQUFvQixrRUFBUTtBQUM1QixXQUFXO0FBQ1gsWUFBWSw4REFBSTtBQUNoQixXQUFXO0FBQ1gseUNBQXlDLG9FQUFTO0FBQ2xEO0FBQ0EsU0FBUyxVQUFVLHVFQUFhO0FBQ2hDO0FBQ0Esc0JBQXNCLDRFQUFtQjtBQUN6QztBQUNBO0FBQ0EsaUJBQWlCLHVFQUFjLENBQUMsaUVBQVE7QUFDeEMsY0FBYyw4REFBSTtBQUNsQixhQUFhO0FBQ2I7QUFDQTs7QUFFQSxtQkFBbUIscUVBQVc7QUFDOUIsZ0RBQWdELG9FQUFTO0FBQ3pEO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTCxHQUFHO0FBQ0g7QUFDQTtBQUNBLGFBQWEsb0VBQVM7QUFDdEI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLG9FQUFTLENBQUMsNkRBQUcscUJBQXFCLDZEQUFHLENBQUMsaUVBQVE7QUFDM0Q7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGlFQUFRO0FBQ3JCO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpRUFBUTtBQUNyQjtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDLEdBQUc7OztBQUdHO0FBQ1A7QUFDQSxnRkFBZ0YscURBQU07QUFDdEY7QUFDQTtBQUNBLDZCQUE2QixxREFBTSxvREFBb0QscURBQU0sd0NBQXdDOztBQUVySTtBQUNBLEVBQUU7O0FBRUs7QUFDUCxNQUFNLHFEQUFNLHlCQUF5QixxREFBTTtBQUMzQyxJQUFJLHFEQUFNO0FBQ1Y7QUFDQSIsImZpbGUiOiIyNDcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmltcG9ydCBPdXJWdWUgZnJvbSAnLi92dWUnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICcuL2Nsb25lLWRlZXAnO1xuaW1wb3J0IGdldCBmcm9tICcuL2dldCc7XG5pbXBvcnQgd2FybiBmcm9tICcuL3dhcm4nO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNQbGFpbk9iamVjdCwgaXNTdHJpbmcsIGlzVW5kZWZpbmVkIH0gZnJvbSAnLi9pbnNwZWN0JztcbmltcG9ydCB7IGdldE93blByb3BlcnR5TmFtZXMsIGhhc093blByb3BlcnR5IH0gZnJvbSAnLi9vYmplY3QnO1xuaW1wb3J0IERFRkFVTFRTIGZyb20gJy4vY29uZmlnLWRlZmF1bHRzJzsgLy8gLS0tIENvbnN0YW50cyAtLS1cblxudmFyIFBST1BfTkFNRSA9ICckYnZDb25maWcnOyAvLyBDb25maWcgbWFuYWdlciBjbGFzc1xuXG52YXIgQnZDb25maWcgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBCdkNvbmZpZygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQnZDb25maWcpO1xuXG4gICAgLy8gVE9ETzogcHJlLXBvcHVsYXRlIHdpdGggZGVmYXVsdCBjb25maWcgdmFsdWVzIChuZWVkcyB1cGRhdGVkIHRlc3RzKVxuICAgIC8vIHRoaXMuJF9jb25maWcgPSBjbG9uZURlZXAoREVGQVVMVFMpXG4gICAgdGhpcy4kX2NvbmZpZyA9IHt9O1xuICAgIHRoaXMuJF9jYWNoZWRCcmVha3BvaW50cyA9IG51bGw7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQnZDb25maWcsIFt7XG4gICAga2V5OiBcImdldERlZmF1bHRzXCIsXG4gICAgLy8gUmV0dXJucyB0aGUgZGVmYXVsdHNcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RGVmYXVsdHMoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdHM7XG4gICAgfSAvLyBNZXRob2QgdG8gbWVyZ2UgaW4gdXNlciBjb25maWcgcGFyYW1ldGVyc1xuXG4gIH0sIHtcbiAgICBrZXk6IFwic2V0Q29uZmlnXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNldENvbmZpZygpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHZhciBjb25maWcgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuXG4gICAgICBpZiAoIWlzUGxhaW5PYmplY3QoY29uZmlnKSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBjb25maWdLZXlzID0gZ2V0T3duUHJvcGVydHlOYW1lcyhjb25maWcpO1xuICAgICAgY29uZmlnS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChjbXBOYW1lKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGlmICghaGFzT3duUHJvcGVydHkoREVGQVVMVFMsIGNtcE5hbWUpKSB7XG4gICAgICAgICAgd2FybihcImNvbmZpZzogdW5rbm93biBjb25maWcgcHJvcGVydHkgXFxcIlwiLmNvbmNhdChjbXBOYW1lLCBcIlxcXCJcIikpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBjbXBDb25maWcgPSBjb25maWdbY21wTmFtZV07XG5cbiAgICAgICAgaWYgKGNtcE5hbWUgPT09ICdicmVha3BvaW50cycpIHtcbiAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIGJyZWFrcG9pbnRzXG4gICAgICAgICAgdmFyIGJyZWFrcG9pbnRzID0gY29uZmlnLmJyZWFrcG9pbnRzO1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG4gICAgICAgICAgaWYgKCFpc0FycmF5KGJyZWFrcG9pbnRzKSB8fCBicmVha3BvaW50cy5sZW5ndGggPCAyIHx8IGJyZWFrcG9pbnRzLnNvbWUoZnVuY3Rpb24gKGIpIHtcbiAgICAgICAgICAgIHJldHVybiAhaXNTdHJpbmcoYikgfHwgYi5sZW5ndGggPT09IDA7XG4gICAgICAgICAgfSkpIHtcbiAgICAgICAgICAgIHdhcm4oJ2NvbmZpZzogXCJicmVha3BvaW50c1wiIG11c3QgYmUgYW4gYXJyYXkgb2YgYXQgbGVhc3QgMiBicmVha3BvaW50IG5hbWVzJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIF90aGlzLiRfY29uZmlnLmJyZWFrcG9pbnRzID0gY2xvbmVEZWVwKGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdChjbXBDb25maWcpKSB7XG4gICAgICAgICAgLy8gQ29tcG9uZW50IHByb3AgZGVmYXVsdHNcbiAgICAgICAgICB2YXIgcHJvcHMgPSBnZXRPd25Qcm9wZXJ0eU5hbWVzKGNtcENvbmZpZyk7XG4gICAgICAgICAgcHJvcHMuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICBpZiAoIWhhc093blByb3BlcnR5KERFRkFVTFRTW2NtcE5hbWVdLCBwcm9wKSkge1xuICAgICAgICAgICAgICB3YXJuKFwiY29uZmlnOiB1bmtub3duIGNvbmZpZyBwcm9wZXJ0eSBcXFwiXCIuY29uY2F0KGNtcE5hbWUsIFwiLlwiKS5jb25jYXQocHJvcCwgXCJcXFwiXCIpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFRPRE86IElmIHdlIHByZS1wb3B1bGF0ZSB0aGUgY29uZmlnIHdpdGggZGVmYXVsdHMsIHdlIGNhbiBza2lwIHRoaXMgbGluZVxuICAgICAgICAgICAgICBfdGhpcy4kX2NvbmZpZ1tjbXBOYW1lXSA9IF90aGlzLiRfY29uZmlnW2NtcE5hbWVdIHx8IHt9O1xuXG4gICAgICAgICAgICAgIGlmICghaXNVbmRlZmluZWQoY21wQ29uZmlnW3Byb3BdKSkge1xuICAgICAgICAgICAgICAgIF90aGlzLiRfY29uZmlnW2NtcE5hbWVdW3Byb3BdID0gY2xvbmVEZWVwKGNtcENvbmZpZ1twcm9wXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSAvLyBDbGVhciB0aGUgY29uZmlnLiBGb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5XG5cbiAgfSwge1xuICAgIGtleTogXCJyZXNldENvbmZpZ1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZXNldENvbmZpZygpIHtcbiAgICAgIHRoaXMuJF9jb25maWcgPSB7fTtcbiAgICB9IC8vIFJldHVybnMgYSBkZWVwIGNvcHkgb2YgdGhlIHVzZXIgY29uZmlnXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRDb25maWdcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0Q29uZmlnKCkge1xuICAgICAgcmV0dXJuIGNsb25lRGVlcCh0aGlzLiRfY29uZmlnKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0Q29uZmlnVmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0Q29uZmlnVmFsdWUoa2V5KSB7XG4gICAgICAvLyBGaXJzdCB3ZSB0cnkgdGhlIHVzZXIgY29uZmlnLCBhbmQgaWYga2V5IG5vdCBmb3VuZCB3ZSBmYWxsIGJhY2sgdG8gZGVmYXVsdCB2YWx1ZVxuICAgICAgLy8gTk9URTogSWYgd2UgZGVlcCBjbG9uZSBERUZBVUxUUyBpbnRvIGNvbmZpZywgdGhlbiB3ZSBjYW4gc2tpcCB0aGUgZmFsbGJhY2sgZm9yIGdldFxuICAgICAgcmV0dXJuIGNsb25lRGVlcChnZXQodGhpcy4kX2NvbmZpZywga2V5LCBnZXQoREVGQVVMVFMsIGtleSkpKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZGVmYXVsdHNcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB7XG4gICAgICByZXR1cm4gREVGQVVMVFM7XG4gICAgfVxuICB9XSwgW3tcbiAgICBrZXk6IFwiRGVmYXVsdHNcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB7XG4gICAgICByZXR1cm4gREVGQVVMVFM7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEJ2Q29uZmlnO1xufSgpOyAvLyBNZXRob2QgZm9yIGFwcGx5aW5nIGEgZ2xvYmFsIGNvbmZpZ1xuXG5cbmV4cG9ydCB2YXIgc2V0Q29uZmlnID0gZnVuY3Rpb24gc2V0Q29uZmlnKCkge1xuICB2YXIgY29uZmlnID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgdmFyIFZ1ZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogT3VyVnVlO1xuICAvLyBFbnN1cmUgd2UgaGF2ZSBhICRidkNvbmZpZyBPYmplY3Qgb24gdGhlIFZ1ZSBwcm90b3R5cGUuXG4gIC8vIFdlIHNldCBvbiBWdWUgYW5kIE91clZ1ZSBqdXN0IGluIGNhc2UgY29uc3VtZXIgaGFzIG5vdCBzZXQgYW4gYWxpYXMgb2YgYHZ1ZWAuXG4gIFZ1ZS5wcm90b3R5cGVbUFJPUF9OQU1FXSA9IE91clZ1ZS5wcm90b3R5cGVbUFJPUF9OQU1FXSA9IFZ1ZS5wcm90b3R5cGVbUFJPUF9OQU1FXSB8fCBPdXJWdWUucHJvdG90eXBlW1BST1BfTkFNRV0gfHwgbmV3IEJ2Q29uZmlnKCk7IC8vIEFwcGx5IHRoZSBjb25maWcgdmFsdWVzXG5cbiAgVnVlLnByb3RvdHlwZVtQUk9QX05BTUVdLnNldENvbmZpZyhjb25maWcpO1xufTsgLy8gTWV0aG9kIGZvciByZXNldHRpbmcgdGhlIHVzZXIgY29uZmlnLiBFeHBvcnRlZCBmb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5LlxuXG5leHBvcnQgdmFyIHJlc2V0Q29uZmlnID0gZnVuY3Rpb24gcmVzZXRDb25maWcoKSB7XG4gIGlmIChPdXJWdWUucHJvdG90eXBlW1BST1BfTkFNRV0gJiYgT3VyVnVlLnByb3RvdHlwZVtQUk9QX05BTUVdLnJlc2V0Q29uZmlnKSB7XG4gICAgT3VyVnVlLnByb3RvdHlwZVtQUk9QX05BTUVdLnJlc2V0Q29uZmlnKCk7XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvY29uZmlnLXNldC5qc1xuLy8gbW9kdWxlIGlkID0gMjQ3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///247\n"); + +/***/ }), +/* 248 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return componentsPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_plugins__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__alert__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__badge__ = __webpack_require__(102);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__breadcrumb__ = __webpack_require__(106);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__button__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__button_group__ = __webpack_require__(110);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__button_toolbar__ = __webpack_require__(112);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__card__ = __webpack_require__(114);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__carousel__ = __webpack_require__(120);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__collapse__ = __webpack_require__(63);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__dropdown__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__embed__ = __webpack_require__(133);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__form__ = __webpack_require__(135);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__form_group__ = __webpack_require__(137);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__form_checkbox__ = __webpack_require__(139);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__form_radio__ = __webpack_require__(143);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__form_input__ = __webpack_require__(145);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__form_textarea__ = __webpack_require__(150);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__form_file__ = __webpack_require__(152);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__form_select__ = __webpack_require__(155);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__image__ = __webpack_require__(157);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__input_group__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__jumbotron__ = __webpack_require__(160);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__layout__ = __webpack_require__(162);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__link__ = __webpack_require__(164);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__list_group__ = __webpack_require__(165);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__media__ = __webpack_require__(168);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__modal__ = __webpack_require__(170);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__nav__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__navbar__ = __webpack_require__(176);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__pagination__ = __webpack_require__(181);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__pagination_nav__ = __webpack_require__(185);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__popover__ = __webpack_require__(187);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__progress__ = __webpack_require__(192);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__spinner__ = __webpack_require__(194);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__table__ = __webpack_require__(196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__tabs__ = __webpack_require__(211);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__toast__ = __webpack_require__(214);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__tooltip__ = __webpack_require__(217);\n // Component group plugins\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // Table plugin includes TableLitePlugin and TableSimplePlugin\n\n\n\n\n // Main plugin to install all component group plugins\n\nvar componentsPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_0__utils_plugins__[\"b\" /* pluginFactory */])({\n plugins: {\n AlertPlugin: __WEBPACK_IMPORTED_MODULE_1__alert__[\"a\" /* AlertPlugin */],\n BadgePlugin: __WEBPACK_IMPORTED_MODULE_2__badge__[\"a\" /* BadgePlugin */],\n BreadcrumbPlugin: __WEBPACK_IMPORTED_MODULE_3__breadcrumb__[\"a\" /* BreadcrumbPlugin */],\n ButtonPlugin: __WEBPACK_IMPORTED_MODULE_4__button__[\"a\" /* ButtonPlugin */],\n ButtonGroupPlugin: __WEBPACK_IMPORTED_MODULE_5__button_group__[\"a\" /* ButtonGroupPlugin */],\n ButtonToolbarPlugin: __WEBPACK_IMPORTED_MODULE_6__button_toolbar__[\"a\" /* ButtonToolbarPlugin */],\n CardPlugin: __WEBPACK_IMPORTED_MODULE_7__card__[\"a\" /* CardPlugin */],\n CarouselPlugin: __WEBPACK_IMPORTED_MODULE_8__carousel__[\"a\" /* CarouselPlugin */],\n CollapsePlugin: __WEBPACK_IMPORTED_MODULE_9__collapse__[\"a\" /* CollapsePlugin */],\n DropdownPlugin: __WEBPACK_IMPORTED_MODULE_10__dropdown__[\"a\" /* DropdownPlugin */],\n EmbedPlugin: __WEBPACK_IMPORTED_MODULE_11__embed__[\"a\" /* EmbedPlugin */],\n FormPlugin: __WEBPACK_IMPORTED_MODULE_12__form__[\"a\" /* FormPlugin */],\n FormGroupPlugin: __WEBPACK_IMPORTED_MODULE_13__form_group__[\"a\" /* FormGroupPlugin */],\n FormCheckboxPlugin: __WEBPACK_IMPORTED_MODULE_14__form_checkbox__[\"a\" /* FormCheckboxPlugin */],\n FormRadioPlugin: __WEBPACK_IMPORTED_MODULE_15__form_radio__[\"a\" /* FormRadioPlugin */],\n FormInputPlugin: __WEBPACK_IMPORTED_MODULE_16__form_input__[\"a\" /* FormInputPlugin */],\n FormTextareaPlugin: __WEBPACK_IMPORTED_MODULE_17__form_textarea__[\"a\" /* FormTextareaPlugin */],\n FormFilePlugin: __WEBPACK_IMPORTED_MODULE_18__form_file__[\"a\" /* FormFilePlugin */],\n FormSelectPlugin: __WEBPACK_IMPORTED_MODULE_19__form_select__[\"a\" /* FormSelectPlugin */],\n ImagePlugin: __WEBPACK_IMPORTED_MODULE_20__image__[\"a\" /* ImagePlugin */],\n InputGroupPlugin: __WEBPACK_IMPORTED_MODULE_21__input_group__[\"a\" /* InputGroupPlugin */],\n JumbotronPlugin: __WEBPACK_IMPORTED_MODULE_22__jumbotron__[\"a\" /* JumbotronPlugin */],\n LayoutPlugin: __WEBPACK_IMPORTED_MODULE_23__layout__[\"a\" /* LayoutPlugin */],\n LinkPlugin: __WEBPACK_IMPORTED_MODULE_24__link__[\"a\" /* LinkPlugin */],\n ListGroupPlugin: __WEBPACK_IMPORTED_MODULE_25__list_group__[\"a\" /* ListGroupPlugin */],\n MediaPlugin: __WEBPACK_IMPORTED_MODULE_26__media__[\"a\" /* MediaPlugin */],\n ModalPlugin: __WEBPACK_IMPORTED_MODULE_27__modal__[\"a\" /* ModalPlugin */],\n NavPlugin: __WEBPACK_IMPORTED_MODULE_28__nav__[\"a\" /* NavPlugin */],\n NavbarPlugin: __WEBPACK_IMPORTED_MODULE_29__navbar__[\"a\" /* NavbarPlugin */],\n PaginationPlugin: __WEBPACK_IMPORTED_MODULE_30__pagination__[\"a\" /* PaginationPlugin */],\n PaginationNavPlugin: __WEBPACK_IMPORTED_MODULE_31__pagination_nav__[\"a\" /* PaginationNavPlugin */],\n PopoverPlugin: __WEBPACK_IMPORTED_MODULE_32__popover__[\"a\" /* PopoverPlugin */],\n ProgressPlugin: __WEBPACK_IMPORTED_MODULE_33__progress__[\"a\" /* ProgressPlugin */],\n SpinnerPlugin: __WEBPACK_IMPORTED_MODULE_34__spinner__[\"a\" /* SpinnerPlugin */],\n TablePlugin: __WEBPACK_IMPORTED_MODULE_35__table__[\"a\" /* TablePlugin */],\n TabsPlugin: __WEBPACK_IMPORTED_MODULE_36__tabs__[\"a\" /* TabsPlugin */],\n ToastPlugin: __WEBPACK_IMPORTED_MODULE_37__toast__[\"a\" /* ToastPlugin */],\n TooltipPlugin: __WEBPACK_IMPORTED_MODULE_38__tooltip__[\"a\" /* TooltipPlugin */]\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9pbmRleC5qcz9mYzYwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlEOztBQUVYO0FBQ0E7QUFDVTtBQUNSO0FBQ1c7QUFDSTtBQUNuQjtBQUNRO0FBQ0E7QUFDQTtBQUNOO0FBQ0Y7QUFDVztBQUNNO0FBQ047QUFDQTtBQUNNO0FBQ1I7QUFDSTtBQUNYO0FBQ1c7QUFDSDtBQUNOO0FBQ0o7QUFDVztBQUNUO0FBQ0E7QUFDSjtBQUNNO0FBQ1E7QUFDTztBQUNiO0FBQ0U7QUFDRjs7QUFFSjtBQUNGO0FBQ0U7QUFDSTs7QUFFbkM7QUFDUDtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxpQkFBaUIsMkRBQVc7QUFDNUIsaUJBQWlCLDJEQUFXO0FBQzVCLHNCQUFzQixxRUFBZ0I7QUFDdEMsa0JBQWtCLDZEQUFZO0FBQzlCLHVCQUF1Qix3RUFBaUI7QUFDeEMseUJBQXlCLDRFQUFtQjtBQUM1QyxnQkFBZ0IseURBQVU7QUFDMUIsb0JBQW9CLGlFQUFjO0FBQ2xDLG9CQUFvQixpRUFBYztBQUNsQyxvQkFBb0Isa0VBQWM7QUFDbEMsaUJBQWlCLDREQUFXO0FBQzVCLGdCQUFnQiwwREFBVTtBQUMxQixxQkFBcUIscUVBQWU7QUFDcEMsd0JBQXdCLDJFQUFrQjtBQUMxQyxxQkFBcUIscUVBQWU7QUFDcEMscUJBQXFCLHFFQUFlO0FBQ3BDLHdCQUF3QiwyRUFBa0I7QUFDMUMsb0JBQW9CLG1FQUFjO0FBQ2xDLHNCQUFzQix1RUFBZ0I7QUFDdEMsaUJBQWlCLDREQUFXO0FBQzVCLHNCQUFzQix1RUFBZ0I7QUFDdEMscUJBQXFCLG9FQUFlO0FBQ3BDLGtCQUFrQiw4REFBWTtBQUM5QixnQkFBZ0IsMERBQVU7QUFDMUIscUJBQXFCLHFFQUFlO0FBQ3BDLGlCQUFpQiw0REFBVztBQUM1QixpQkFBaUIsNERBQVc7QUFDNUIsZUFBZSx3REFBUztBQUN4QixrQkFBa0IsOERBQVk7QUFDOUIsc0JBQXNCLHNFQUFnQjtBQUN0Qyx5QkFBeUIsNkVBQW1CO0FBQzVDLG1CQUFtQixnRUFBYTtBQUNoQyxvQkFBb0Isa0VBQWM7QUFDbEMsbUJBQW1CLGdFQUFhO0FBQ2hDLGlCQUFpQiw0REFBVztBQUM1QixnQkFBZ0IsMERBQVU7QUFDMUIsaUJBQWlCLDREQUFXO0FBQzVCLG1CQUFtQixnRUFBYTtBQUNoQztBQUNBLENBQUMiLCJmaWxlIjoiMjQ4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uL3V0aWxzL3BsdWdpbnMnOyAvLyBDb21wb25lbnQgZ3JvdXAgcGx1Z2luc1xuXG5pbXBvcnQgeyBBbGVydFBsdWdpbiB9IGZyb20gJy4vYWxlcnQnO1xuaW1wb3J0IHsgQmFkZ2VQbHVnaW4gfSBmcm9tICcuL2JhZGdlJztcbmltcG9ydCB7IEJyZWFkY3J1bWJQbHVnaW4gfSBmcm9tICcuL2JyZWFkY3J1bWInO1xuaW1wb3J0IHsgQnV0dG9uUGx1Z2luIH0gZnJvbSAnLi9idXR0b24nO1xuaW1wb3J0IHsgQnV0dG9uR3JvdXBQbHVnaW4gfSBmcm9tICcuL2J1dHRvbi1ncm91cCc7XG5pbXBvcnQgeyBCdXR0b25Ub29sYmFyUGx1Z2luIH0gZnJvbSAnLi9idXR0b24tdG9vbGJhcic7XG5pbXBvcnQgeyBDYXJkUGx1Z2luIH0gZnJvbSAnLi9jYXJkJztcbmltcG9ydCB7IENhcm91c2VsUGx1Z2luIH0gZnJvbSAnLi9jYXJvdXNlbCc7XG5pbXBvcnQgeyBDb2xsYXBzZVBsdWdpbiB9IGZyb20gJy4vY29sbGFwc2UnO1xuaW1wb3J0IHsgRHJvcGRvd25QbHVnaW4gfSBmcm9tICcuL2Ryb3Bkb3duJztcbmltcG9ydCB7IEVtYmVkUGx1Z2luIH0gZnJvbSAnLi9lbWJlZCc7XG5pbXBvcnQgeyBGb3JtUGx1Z2luIH0gZnJvbSAnLi9mb3JtJztcbmltcG9ydCB7IEZvcm1Hcm91cFBsdWdpbiB9IGZyb20gJy4vZm9ybS1ncm91cCc7XG5pbXBvcnQgeyBGb3JtQ2hlY2tib3hQbHVnaW4gfSBmcm9tICcuL2Zvcm0tY2hlY2tib3gnO1xuaW1wb3J0IHsgRm9ybVJhZGlvUGx1Z2luIH0gZnJvbSAnLi9mb3JtLXJhZGlvJztcbmltcG9ydCB7IEZvcm1JbnB1dFBsdWdpbiB9IGZyb20gJy4vZm9ybS1pbnB1dCc7XG5pbXBvcnQgeyBGb3JtVGV4dGFyZWFQbHVnaW4gfSBmcm9tICcuL2Zvcm0tdGV4dGFyZWEnO1xuaW1wb3J0IHsgRm9ybUZpbGVQbHVnaW4gfSBmcm9tICcuL2Zvcm0tZmlsZSc7XG5pbXBvcnQgeyBGb3JtU2VsZWN0UGx1Z2luIH0gZnJvbSAnLi9mb3JtLXNlbGVjdCc7XG5pbXBvcnQgeyBJbWFnZVBsdWdpbiB9IGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IHsgSW5wdXRHcm91cFBsdWdpbiB9IGZyb20gJy4vaW5wdXQtZ3JvdXAnO1xuaW1wb3J0IHsgSnVtYm90cm9uUGx1Z2luIH0gZnJvbSAnLi9qdW1ib3Ryb24nO1xuaW1wb3J0IHsgTGF5b3V0UGx1Z2luIH0gZnJvbSAnLi9sYXlvdXQnO1xuaW1wb3J0IHsgTGlua1BsdWdpbiB9IGZyb20gJy4vbGluayc7XG5pbXBvcnQgeyBMaXN0R3JvdXBQbHVnaW4gfSBmcm9tICcuL2xpc3QtZ3JvdXAnO1xuaW1wb3J0IHsgTWVkaWFQbHVnaW4gfSBmcm9tICcuL21lZGlhJztcbmltcG9ydCB7IE1vZGFsUGx1Z2luIH0gZnJvbSAnLi9tb2RhbCc7XG5pbXBvcnQgeyBOYXZQbHVnaW4gfSBmcm9tICcuL25hdic7XG5pbXBvcnQgeyBOYXZiYXJQbHVnaW4gfSBmcm9tICcuL25hdmJhcic7XG5pbXBvcnQgeyBQYWdpbmF0aW9uUGx1Z2luIH0gZnJvbSAnLi9wYWdpbmF0aW9uJztcbmltcG9ydCB7IFBhZ2luYXRpb25OYXZQbHVnaW4gfSBmcm9tICcuL3BhZ2luYXRpb24tbmF2JztcbmltcG9ydCB7IFBvcG92ZXJQbHVnaW4gfSBmcm9tICcuL3BvcG92ZXInO1xuaW1wb3J0IHsgUHJvZ3Jlc3NQbHVnaW4gfSBmcm9tICcuL3Byb2dyZXNzJztcbmltcG9ydCB7IFNwaW5uZXJQbHVnaW4gfSBmcm9tICcuL3NwaW5uZXInOyAvLyBUYWJsZSBwbHVnaW4gaW5jbHVkZXMgVGFibGVMaXRlUGx1Z2luIGFuZCBUYWJsZVNpbXBsZVBsdWdpblxuXG5pbXBvcnQgeyBUYWJsZVBsdWdpbiB9IGZyb20gJy4vdGFibGUnO1xuaW1wb3J0IHsgVGFic1BsdWdpbiB9IGZyb20gJy4vdGFicyc7XG5pbXBvcnQgeyBUb2FzdFBsdWdpbiB9IGZyb20gJy4vdG9hc3QnO1xuaW1wb3J0IHsgVG9vbHRpcFBsdWdpbiB9IGZyb20gJy4vdG9vbHRpcCc7IC8vIE1haW4gcGx1Z2luIHRvIGluc3RhbGwgYWxsIGNvbXBvbmVudCBncm91cCBwbHVnaW5zXG5cbmV4cG9ydCB2YXIgY29tcG9uZW50c1BsdWdpbiA9XG4vKiNfX1BVUkVfXyovXG5wbHVnaW5GYWN0b3J5KHtcbiAgcGx1Z2luczoge1xuICAgIEFsZXJ0UGx1Z2luOiBBbGVydFBsdWdpbixcbiAgICBCYWRnZVBsdWdpbjogQmFkZ2VQbHVnaW4sXG4gICAgQnJlYWRjcnVtYlBsdWdpbjogQnJlYWRjcnVtYlBsdWdpbixcbiAgICBCdXR0b25QbHVnaW46IEJ1dHRvblBsdWdpbixcbiAgICBCdXR0b25Hcm91cFBsdWdpbjogQnV0dG9uR3JvdXBQbHVnaW4sXG4gICAgQnV0dG9uVG9vbGJhclBsdWdpbjogQnV0dG9uVG9vbGJhclBsdWdpbixcbiAgICBDYXJkUGx1Z2luOiBDYXJkUGx1Z2luLFxuICAgIENhcm91c2VsUGx1Z2luOiBDYXJvdXNlbFBsdWdpbixcbiAgICBDb2xsYXBzZVBsdWdpbjogQ29sbGFwc2VQbHVnaW4sXG4gICAgRHJvcGRvd25QbHVnaW46IERyb3Bkb3duUGx1Z2luLFxuICAgIEVtYmVkUGx1Z2luOiBFbWJlZFBsdWdpbixcbiAgICBGb3JtUGx1Z2luOiBGb3JtUGx1Z2luLFxuICAgIEZvcm1Hcm91cFBsdWdpbjogRm9ybUdyb3VwUGx1Z2luLFxuICAgIEZvcm1DaGVja2JveFBsdWdpbjogRm9ybUNoZWNrYm94UGx1Z2luLFxuICAgIEZvcm1SYWRpb1BsdWdpbjogRm9ybVJhZGlvUGx1Z2luLFxuICAgIEZvcm1JbnB1dFBsdWdpbjogRm9ybUlucHV0UGx1Z2luLFxuICAgIEZvcm1UZXh0YXJlYVBsdWdpbjogRm9ybVRleHRhcmVhUGx1Z2luLFxuICAgIEZvcm1GaWxlUGx1Z2luOiBGb3JtRmlsZVBsdWdpbixcbiAgICBGb3JtU2VsZWN0UGx1Z2luOiBGb3JtU2VsZWN0UGx1Z2luLFxuICAgIEltYWdlUGx1Z2luOiBJbWFnZVBsdWdpbixcbiAgICBJbnB1dEdyb3VwUGx1Z2luOiBJbnB1dEdyb3VwUGx1Z2luLFxuICAgIEp1bWJvdHJvblBsdWdpbjogSnVtYm90cm9uUGx1Z2luLFxuICAgIExheW91dFBsdWdpbjogTGF5b3V0UGx1Z2luLFxuICAgIExpbmtQbHVnaW46IExpbmtQbHVnaW4sXG4gICAgTGlzdEdyb3VwUGx1Z2luOiBMaXN0R3JvdXBQbHVnaW4sXG4gICAgTWVkaWFQbHVnaW46IE1lZGlhUGx1Z2luLFxuICAgIE1vZGFsUGx1Z2luOiBNb2RhbFBsdWdpbixcbiAgICBOYXZQbHVnaW46IE5hdlBsdWdpbixcbiAgICBOYXZiYXJQbHVnaW46IE5hdmJhclBsdWdpbixcbiAgICBQYWdpbmF0aW9uUGx1Z2luOiBQYWdpbmF0aW9uUGx1Z2luLFxuICAgIFBhZ2luYXRpb25OYXZQbHVnaW46IFBhZ2luYXRpb25OYXZQbHVnaW4sXG4gICAgUG9wb3ZlclBsdWdpbjogUG9wb3ZlclBsdWdpbixcbiAgICBQcm9ncmVzc1BsdWdpbjogUHJvZ3Jlc3NQbHVnaW4sXG4gICAgU3Bpbm5lclBsdWdpbjogU3Bpbm5lclBsdWdpbixcbiAgICBUYWJsZVBsdWdpbjogVGFibGVQbHVnaW4sXG4gICAgVGFic1BsdWdpbjogVGFic1BsdWdpbixcbiAgICBUb2FzdFBsdWdpbjogVG9hc3RQbHVnaW4sXG4gICAgVG9vbHRpcFBsdWdpbjogVG9vbHRpcFBsdWdpblxuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAyNDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///248\n"); + +/***/ }), +/* 249 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lower_first__ = __webpack_require__(250);\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\n\nvar unprefixPropName = function unprefixPropName(prefix, value) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__lower_first__[\"a\" /* default */])(value.replace(prefix, ''));\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (unprefixPropName);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvdW5wcmVmaXgtcHJvcC1uYW1lLmpzP2MxMWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBdUM7QUFDdkM7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCOztBQUVBO0FBQ0EsU0FBUyxxRUFBVTtBQUNuQjs7QUFFZSx5RUFBZ0IiLCJmaWxlIjoiMjQ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvd2VyRmlyc3QgZnJvbSAnLi9sb3dlci1maXJzdCc7XG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcmVmaXhcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICovXG5cbnZhciB1bnByZWZpeFByb3BOYW1lID0gZnVuY3Rpb24gdW5wcmVmaXhQcm9wTmFtZShwcmVmaXgsIHZhbHVlKSB7XG4gIHJldHVybiBsb3dlckZpcnN0KHZhbHVlLnJlcGxhY2UocHJlZml4LCAnJykpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdW5wcmVmaXhQcm9wTmFtZTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy91bnByZWZpeC1wcm9wLW5hbWUuanNcbi8vIG1vZHVsZSBpZCA9IDI0OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///249\n"); + +/***/ }), +/* 250 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/**\n * @param {string} str\n */\nvar lowerFirst = function lowerFirst(str) {\n str = String(str);\n return str.charAt(0).toLowerCase() + str.slice(1);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (lowerFirst);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvbG93ZXItZmlyc3QuanM/YWE0ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlLG1FQUFVIiwiZmlsZSI6IjI1MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICovXG52YXIgbG93ZXJGaXJzdCA9IGZ1bmN0aW9uIGxvd2VyRmlyc3Qoc3RyKSB7XG4gIHN0ciA9IFN0cmluZyhzdHIpO1xuICByZXR1cm4gc3RyLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsgc3RyLnNsaWNlKDEpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgbG93ZXJGaXJzdDtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy9sb3dlci1maXJzdC5qc1xuLy8gbW9kdWxlIGlkID0gMjUwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///250\n"); + +/***/ }), +/* 251 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("var noop = function noop() {};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (noop);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvbm9vcC5qcz9lNmRkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVlLDZEQUFJIiwiZmlsZSI6IjI1MS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBub29wID0gZnVuY3Rpb24gbm9vcCgpIHt9O1xuXG5leHBvcnQgZGVmYXVsdCBub29wO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL3V0aWxzL25vb3AuanNcbi8vIG1vZHVsZSBpZCA9IDI1MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///251\n"); + +/***/ }), +/* 252 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return bindTargets; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return unbindTargets; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return getTargets; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dom__ = __webpack_require__(6);\n\n\nvar allListenTypes = {\n hover: true,\n click: true,\n focus: true\n};\nvar BVBoundListeners = '__BV_boundEventListeners__';\n\nvar getTargets = function getTargets(binding) {\n var targets = Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"j\" /* keys */])(binding.modifiers || {}).filter(function (t) {\n return !allListenTypes[t];\n });\n\n if (binding.value) {\n targets.push(binding.value);\n }\n\n return targets;\n};\n\nvar bindTargets = function bindTargets(vnode, binding, listenTypes, fn) {\n var targets = getTargets(binding);\n\n var listener = function listener() {\n fn({\n targets: targets,\n vnode: vnode\n });\n };\n\n Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"j\" /* keys */])(allListenTypes).forEach(function (type) {\n if (listenTypes[type] || binding.modifiers[type]) {\n Object(__WEBPACK_IMPORTED_MODULE_1__dom__[\"f\" /* eventOn */])(vnode.elm, type, listener);\n var boundListeners = vnode.elm[BVBoundListeners] || {};\n boundListeners[type] = boundListeners[type] || [];\n boundListeners[type].push(listener);\n vnode.elm[BVBoundListeners] = boundListeners;\n }\n }); // Return the list of targets\n\n return targets;\n};\n\nvar unbindTargets = function unbindTargets(vnode, binding, listenTypes) {\n Object(__WEBPACK_IMPORTED_MODULE_0__object__[\"j\" /* keys */])(allListenTypes).forEach(function (type) {\n if (listenTypes[type] || binding.modifiers[type]) {\n var boundListeners = vnode.elm[BVBoundListeners] && vnode.elm[BVBoundListeners][type];\n\n if (boundListeners) {\n boundListeners.forEach(function (listener) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__dom__[\"e\" /* eventOff */])(vnode.elm, type, listener);\n });\n delete vnode.elm[BVBoundListeners][type];\n }\n }\n });\n};\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (bindTargets);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvdGFyZ2V0LmpzP2I5NDUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFnQztBQUNVO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdCQUFnQiw2REFBSSx3QkFBd0I7QUFDNUM7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUEsRUFBRSw2REFBSTtBQUNOO0FBQ0EsTUFBTSw2REFBTztBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7O0FBRUw7QUFDQTs7QUFFQTtBQUNBLEVBQUUsNkRBQUk7QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUIsOERBQVE7QUFDekIsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFa0Q7QUFDbkMscUZBQVciLCJmaWxlIjoiMjUyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsga2V5cyB9IGZyb20gJy4vb2JqZWN0JztcbmltcG9ydCB7IGV2ZW50T24sIGV2ZW50T2ZmIH0gZnJvbSAnLi9kb20nO1xudmFyIGFsbExpc3RlblR5cGVzID0ge1xuICBob3ZlcjogdHJ1ZSxcbiAgY2xpY2s6IHRydWUsXG4gIGZvY3VzOiB0cnVlXG59O1xudmFyIEJWQm91bmRMaXN0ZW5lcnMgPSAnX19CVl9ib3VuZEV2ZW50TGlzdGVuZXJzX18nO1xuXG52YXIgZ2V0VGFyZ2V0cyA9IGZ1bmN0aW9uIGdldFRhcmdldHMoYmluZGluZykge1xuICB2YXIgdGFyZ2V0cyA9IGtleXMoYmluZGluZy5tb2RpZmllcnMgfHwge30pLmZpbHRlcihmdW5jdGlvbiAodCkge1xuICAgIHJldHVybiAhYWxsTGlzdGVuVHlwZXNbdF07XG4gIH0pO1xuXG4gIGlmIChiaW5kaW5nLnZhbHVlKSB7XG4gICAgdGFyZ2V0cy5wdXNoKGJpbmRpbmcudmFsdWUpO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldHM7XG59O1xuXG52YXIgYmluZFRhcmdldHMgPSBmdW5jdGlvbiBiaW5kVGFyZ2V0cyh2bm9kZSwgYmluZGluZywgbGlzdGVuVHlwZXMsIGZuKSB7XG4gIHZhciB0YXJnZXRzID0gZ2V0VGFyZ2V0cyhiaW5kaW5nKTtcblxuICB2YXIgbGlzdGVuZXIgPSBmdW5jdGlvbiBsaXN0ZW5lcigpIHtcbiAgICBmbih7XG4gICAgICB0YXJnZXRzOiB0YXJnZXRzLFxuICAgICAgdm5vZGU6IHZub2RlXG4gICAgfSk7XG4gIH07XG5cbiAga2V5cyhhbGxMaXN0ZW5UeXBlcykuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgIGlmIChsaXN0ZW5UeXBlc1t0eXBlXSB8fCBiaW5kaW5nLm1vZGlmaWVyc1t0eXBlXSkge1xuICAgICAgZXZlbnRPbih2bm9kZS5lbG0sIHR5cGUsIGxpc3RlbmVyKTtcbiAgICAgIHZhciBib3VuZExpc3RlbmVycyA9IHZub2RlLmVsbVtCVkJvdW5kTGlzdGVuZXJzXSB8fCB7fTtcbiAgICAgIGJvdW5kTGlzdGVuZXJzW3R5cGVdID0gYm91bmRMaXN0ZW5lcnNbdHlwZV0gfHwgW107XG4gICAgICBib3VuZExpc3RlbmVyc1t0eXBlXS5wdXNoKGxpc3RlbmVyKTtcbiAgICAgIHZub2RlLmVsbVtCVkJvdW5kTGlzdGVuZXJzXSA9IGJvdW5kTGlzdGVuZXJzO1xuICAgIH1cbiAgfSk7IC8vIFJldHVybiB0aGUgbGlzdCBvZiB0YXJnZXRzXG5cbiAgcmV0dXJuIHRhcmdldHM7XG59O1xuXG52YXIgdW5iaW5kVGFyZ2V0cyA9IGZ1bmN0aW9uIHVuYmluZFRhcmdldHModm5vZGUsIGJpbmRpbmcsIGxpc3RlblR5cGVzKSB7XG4gIGtleXMoYWxsTGlzdGVuVHlwZXMpLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICBpZiAobGlzdGVuVHlwZXNbdHlwZV0gfHwgYmluZGluZy5tb2RpZmllcnNbdHlwZV0pIHtcbiAgICAgIHZhciBib3VuZExpc3RlbmVycyA9IHZub2RlLmVsbVtCVkJvdW5kTGlzdGVuZXJzXSAmJiB2bm9kZS5lbG1bQlZCb3VuZExpc3RlbmVyc11bdHlwZV07XG5cbiAgICAgIGlmIChib3VuZExpc3RlbmVycykge1xuICAgICAgICBib3VuZExpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICAgICAgICAgIHJldHVybiBldmVudE9mZih2bm9kZS5lbG0sIHR5cGUsIGxpc3RlbmVyKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGRlbGV0ZSB2bm9kZS5lbG1bQlZCb3VuZExpc3RlbmVyc11bdHlwZV07XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn07XG5cbmV4cG9ydCB7IGJpbmRUYXJnZXRzLCB1bmJpbmRUYXJnZXRzLCBnZXRUYXJnZXRzIH07XG5leHBvcnQgZGVmYXVsdCBiaW5kVGFyZ2V0cztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy90YXJnZXQuanNcbi8vIG1vZHVsZSBpZCA9IDI1MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///252\n"); + +/***/ }), +/* 253 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__upper_first__ = __webpack_require__(55);\n\n/**\n * Suffix can be a falsey value so nothing is appended to string.\n * (helps when looping over props & some shouldn't change)\n * Use data last parameters to allow for currying.\n * @param {string} suffix\n * @param {string} str\n */\n\nvar suffixPropName = function suffixPropName(suffix, str) {\n return str + (suffix ? Object(__WEBPACK_IMPORTED_MODULE_0__upper_first__[\"a\" /* default */])(suffix) : '');\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (suffixPropName);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvc3VmZml4LXByb3AtbmFtZS5qcz8yODFkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQjs7QUFFQTtBQUNBLHlCQUF5QixxRUFBVTtBQUNuQzs7QUFFZSx1RUFBYyIsImZpbGUiOiIyNTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXBwZXJGaXJzdCBmcm9tICcuL3VwcGVyLWZpcnN0Jztcbi8qKlxuICogU3VmZml4IGNhbiBiZSBhIGZhbHNleSB2YWx1ZSBzbyBub3RoaW5nIGlzIGFwcGVuZGVkIHRvIHN0cmluZy5cbiAqIChoZWxwcyB3aGVuIGxvb3Bpbmcgb3ZlciBwcm9wcyAmIHNvbWUgc2hvdWxkbid0IGNoYW5nZSlcbiAqIFVzZSBkYXRhIGxhc3QgcGFyYW1ldGVycyB0byBhbGxvdyBmb3IgY3VycnlpbmcuXG4gKiBAcGFyYW0ge3N0cmluZ30gc3VmZml4XG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyXG4gKi9cblxudmFyIHN1ZmZpeFByb3BOYW1lID0gZnVuY3Rpb24gc3VmZml4UHJvcE5hbWUoc3VmZml4LCBzdHIpIHtcbiAgcmV0dXJuIHN0ciArIChzdWZmaXggPyB1cHBlckZpcnN0KHN1ZmZpeCkgOiAnJyk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBzdWZmaXhQcm9wTmFtZTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS91dGlscy9zdWZmaXgtcHJvcC1uYW1lLmpzXG4vLyBtb2R1bGUgaWQgPSAyNTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///253\n"); + +/***/ }), +/* 254 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__loose_equal__ = __webpack_require__(12);\n\n\nvar looseIndexOf = function looseIndexOf(arr, val) {\n // Assumes that the first argument is an array\n for (var i = 0; i < arr.length; i++) {\n if (Object(__WEBPACK_IMPORTED_MODULE_0__loose_equal__[\"a\" /* default */])(arr[i], val)) {\n return i;\n }\n }\n\n return -1;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (looseIndexOf);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvbG9vc2UtaW5kZXgtb2YuanM/ZTJkMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUF1Qzs7QUFFdkM7QUFDQTtBQUNBLGlCQUFpQixnQkFBZ0I7QUFDakMsUUFBUSxxRUFBVTtBQUNsQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFZSxxRUFBWSIsImZpbGUiOiIyNTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbG9vc2VFcXVhbCBmcm9tICcuL2xvb3NlLWVxdWFsJztcblxudmFyIGxvb3NlSW5kZXhPZiA9IGZ1bmN0aW9uIGxvb3NlSW5kZXhPZihhcnIsIHZhbCkge1xuICAvLyBBc3N1bWVzIHRoYXQgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGFuIGFycmF5XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGxvb3NlRXF1YWwoYXJyW2ldLCB2YWwpKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gLTE7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb29zZUluZGV4T2Y7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvbG9vc2UtaW5kZXgtb2YuanNcbi8vIG1vZHVsZSBpZCA9IDI1NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///254\n"); + +/***/ }), +/* 255 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BTransporterSingle; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__safe_types__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins_normalize_slot__ = __webpack_require__(5);\n\n\n\n\n\n\n // BTransporterSingle/BTransporterTargetSingle:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of it's\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n// Transporter target used by BTransporterSingle\n// Supports only a single root element\n// @vue/component\n\nvar BTransporterTargetSingle =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */].extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: 'BTransporterTargetSingle',\n props: {\n nodes: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n type: [Array, Function] // default: undefined\n\n }\n },\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n destroyed: function destroyed() {\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n render: function render(h) {\n var nodes = Object(__WEBPACK_IMPORTED_MODULE_4__inspect__[\"f\" /* isFunction */])(this.updatedNodes) ? this.updatedNodes({}) : this.updatedNodes;\n nodes = Object(__WEBPACK_IMPORTED_MODULE_1__array__[\"b\" /* concat */])(nodes).filter(Boolean);\n /* istanbul ignore else */\n\n if (nodes && nodes.length > 0 && !nodes[0].text) {\n return nodes[0];\n } else {\n /* istanbul ignore next */\n return h();\n }\n }\n}); // This component has no root element, so only a single VNode is allowed\n// @vue/component\n\nvar BTransporterSingle =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__vue__[\"a\" /* default */].extend({\n name: 'BTransporterSingle',\n mixins: [__WEBPACK_IMPORTED_MODULE_6__mixins_normalize_slot__[\"a\" /* default */]],\n props: {\n disabled: {\n type: Boolean,\n default: false\n },\n container: {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n type: [String, __WEBPACK_IMPORTED_MODULE_5__safe_types__[\"b\" /* HTMLElement */]],\n default: 'body'\n },\n tag: {\n // This should be set to match the root element type\n type: String,\n default: 'div'\n }\n },\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget);\n }\n }\n },\n created: function created() {\n this._bv_defaultFn = null;\n this._bv_target = null;\n },\n beforeMount: function beforeMount() {\n this.mountTarget();\n },\n updated: function updated() {\n var _this = this;\n\n // Placed in a nextTick to ensure that children have completed\n // updating before rendering in the target\n this.$nextTick(function () {\n _this.updateTarget();\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unmountTarget();\n this._bv_defaultFn = null;\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer: function getContainer() {\n /* istanbul ignore else */\n if (__WEBPACK_IMPORTED_MODULE_3__env__[\"j\" /* isBrowser */]) {\n var container = this.container;\n return Object(__WEBPACK_IMPORTED_MODULE_4__inspect__[\"m\" /* isString */])(container) ? Object(__WEBPACK_IMPORTED_MODULE_2__dom__[\"x\" /* select */])(container) : container;\n } else {\n return null;\n }\n },\n // Mount the target\n mountTarget: function mountTarget() {\n if (!this._bv_target) {\n var container = this.getContainer();\n\n if (container) {\n var el = document.createElement('div');\n container.appendChild(el);\n this._bv_target = new BTransporterTargetSingle({\n el: el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: Object(__WEBPACK_IMPORTED_MODULE_1__array__[\"b\" /* concat */])(this.normalizeSlot('default'))\n }\n });\n }\n }\n },\n // Update the content of the target\n updateTarget: function updateTarget() {\n if (__WEBPACK_IMPORTED_MODULE_3__env__[\"j\" /* isBrowser */] && this._bv_target) {\n var defaultFn = this.$scopedSlots.default;\n\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this._bv_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this._bv_target.updatedNodes = defaultFn;\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this._bv_target.updatedNodes = this.$slots.default;\n }\n } // Update the scoped slot function cache\n\n\n this._bv_defaultFn = defaultFn;\n }\n },\n // Unmount the target\n unmountTarget: function unmountTarget() {\n if (this._bv_target) {\n this._bv_target.$destroy();\n\n this._bv_target = null;\n }\n }\n },\n render: function render(h) {\n if (this.disabled) {\n var nodes = Object(__WEBPACK_IMPORTED_MODULE_1__array__[\"b\" /* concat */])(this.normalizeSlot('default')).filter(Boolean);\n\n if (nodes.length > 0 && !nodes[0].text) {\n return nodes[0];\n }\n }\n\n return h();\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvdHJhbnNwb3J0ZXIuanM/YmQ2MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXdCO0FBQ1M7QUFDRjtBQUNHO0FBQ2U7QUFDTjtBQUNlO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscURBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxnQkFBZ0Isb0VBQVUsMENBQTBDO0FBQ3BFLFlBQVksOERBQU07QUFDbEI7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBRTtBQUNIOztBQUVPO0FBQ1A7QUFDQSxxREFBRztBQUNIO0FBQ0EsV0FBVyx1RUFBa0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsZ0VBQVc7QUFDaEM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLHVEQUFTO0FBQ25CO0FBQ0EsZUFBZSxrRUFBUSxjQUFjLDREQUFNO0FBQzNDLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsOERBQU07QUFDM0I7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsVUFBVSx1REFBUztBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxTQUFTOzs7QUFHVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0Esa0JBQWtCLDhEQUFNOztBQUV4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIyNTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJy4vdnVlJztcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJy4vYXJyYXknO1xuaW1wb3J0IHsgc2VsZWN0IH0gZnJvbSAnLi9kb20nO1xuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnLi9lbnYnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNTdHJpbmcgfSBmcm9tICcuL2luc3BlY3QnO1xuaW1wb3J0IHsgSFRNTEVsZW1lbnQgfSBmcm9tICcuL3NhZmUtdHlwZXMnO1xuaW1wb3J0IG5vcm1hbGl6ZVNsb3RNaXhpbiBmcm9tICcuLi9taXhpbnMvbm9ybWFsaXplLXNsb3QnOyAvLyBCVHJhbnNwb3J0ZXJTaW5nbGUvQlRyYW5zcG9ydGVyVGFyZ2V0U2luZ2xlOlxuLy9cbi8vIFNpbmdsZSByb290IG5vZGUgcG9ydGFsaW5nIG9mIGNvbnRlbnQsIHdoaWNoIHJldGFpbnMgcGFyZW50L2NoaWxkIGhpZXJhcmNoeVxuLy8gVW5saWtlIFBvcnRhbC1WdWUgd2hlcmUgcG9ydGFsZWQgY29udGVudCBpcyBubyBsb25nZXIgYSBkZXNjZW5kZW50IG9mIGl0J3Ncbi8vIGludGVuZGVkIHBhcmVudCBjb21wb25lbnRzXG4vL1xuLy8gUHJpdmF0ZSBjb21wb25lbnRzIGZvciB1c2UgYnkgVG9vbHRpcHMsIFBvcG92ZXJzIGFuZCBNb2RhbHNcbi8vXG4vLyBCYXNlZCBvbiB2dWUtc2ltcGxlLXBvcnRhbFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0xpbnVzQm9yZy92dWUtc2ltcGxlLXBvcnRhbFxuLy8gVHJhbnNwb3J0ZXIgdGFyZ2V0IHVzZWQgYnkgQlRyYW5zcG9ydGVyU2luZ2xlXG4vLyBTdXBwb3J0cyBvbmx5IGEgc2luZ2xlIHJvb3QgZWxlbWVudFxuLy8gQHZ1ZS9jb21wb25lbnRcblxudmFyIEJUcmFuc3BvcnRlclRhcmdldFNpbmdsZSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgLy8gQXMgYW4gYWJzdHJhY3QgY29tcG9uZW50LCBpdCBkb2Vzbid0IGFwcGVhciBpbiB0aGUgJHBhcmVudCBjaGFpbiBvZlxuICAvLyBjb21wb25lbnRzLCB3aGljaCBtZWFucyB0aGUgbmV4dCBwYXJlbnQgb2YgYW55IGNvbXBvbmVudCByZW5kZXJlZCBpbnNpZGVcbiAgLy8gb2YgdGhpcyBvbmUgd2lsbCBiZSB0aGUgcGFyZW50IGZyb20gd2hpY2ggaXMgd2FzIHBvcnRhbCdkXG4gIGFic3RyYWN0OiB0cnVlLFxuICBuYW1lOiAnQlRyYW5zcG9ydGVyVGFyZ2V0U2luZ2xlJyxcbiAgcHJvcHM6IHtcbiAgICBub2Rlczoge1xuICAgICAgLy8gRXZlbiB0aG91Z2ggd2Ugb25seSBzdXBwb3J0IGEgc2luZ2xlIHJvb3QgZWxlbWVudCxcbiAgICAgIC8vIFZOb2RlcyBhcmUgYWx3YXlzIHBhc3NlZCBhcyBhbiBhcnJheVxuICAgICAgdHlwZTogW0FycmF5LCBGdW5jdGlvbl0gLy8gZGVmYXVsdDogdW5kZWZpbmVkXG5cbiAgICB9XG4gIH0sXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEodm0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgdXBkYXRlZE5vZGVzOiB2bS5ub2Rlc1xuICAgIH07XG4gIH0sXG4gIGRlc3Ryb3llZDogZnVuY3Rpb24gZGVzdHJveWVkKCkge1xuICAgIHZhciBlbCA9IHRoaXMuJGVsO1xuICAgIGVsICYmIGVsLnBhcmVudE5vZGUgJiYgZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbCk7XG4gIH0sXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgpIHtcbiAgICB2YXIgbm9kZXMgPSBpc0Z1bmN0aW9uKHRoaXMudXBkYXRlZE5vZGVzKSA/IHRoaXMudXBkYXRlZE5vZGVzKHt9KSA6IHRoaXMudXBkYXRlZE5vZGVzO1xuICAgIG5vZGVzID0gY29uY2F0KG5vZGVzKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cblxuICAgIGlmIChub2RlcyAmJiBub2Rlcy5sZW5ndGggPiAwICYmICFub2Rlc1swXS50ZXh0KSB7XG4gICAgICByZXR1cm4gbm9kZXNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICByZXR1cm4gaCgpO1xuICAgIH1cbiAgfVxufSk7IC8vIFRoaXMgY29tcG9uZW50IGhhcyBubyByb290IGVsZW1lbnQsIHNvIG9ubHkgYSBzaW5nbGUgVk5vZGUgaXMgYWxsb3dlZFxuLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVHJhbnNwb3J0ZXJTaW5nbGUgPVxuLyojX19QVVJFX18qL1xuVnVlLmV4dGVuZCh7XG4gIG5hbWU6ICdCVHJhbnNwb3J0ZXJTaW5nbGUnLFxuICBtaXhpbnM6IFtub3JtYWxpemVTbG90TWl4aW5dLFxuICBwcm9wczoge1xuICAgIGRpc2FibGVkOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGNvbnRhaW5lcjoge1xuICAgICAgLy8gU3RyaW5nOiBDU1Mgc2VsZWN0b3IsXG4gICAgICAvLyBIVE1MRWxlbWVudDogRWxlbWVudCByZWZlcmVuY2VcbiAgICAgIC8vIE1haW5seSBuZWVkZWQgZm9yIHRvb2x0aXBzL3BvcG92ZXJzIGluc2lkZSBtb2RhbHNcbiAgICAgIHR5cGU6IFtTdHJpbmcsIEhUTUxFbGVtZW50XSxcbiAgICAgIGRlZmF1bHQ6ICdib2R5J1xuICAgIH0sXG4gICAgdGFnOiB7XG4gICAgICAvLyBUaGlzIHNob3VsZCBiZSBzZXQgdG8gbWF0Y2ggdGhlIHJvb3QgZWxlbWVudCB0eXBlXG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnZGl2J1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBkaXNhYmxlZDoge1xuICAgICAgaW1tZWRpYXRlOiB0cnVlLFxuICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcihkaXNhYmxlZCkge1xuICAgICAgICBkaXNhYmxlZCA/IHRoaXMudW5tb3VudFRhcmdldCgpIDogdGhpcy4kbmV4dFRpY2sodGhpcy5tb3VudFRhcmdldCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIHRoaXMuX2J2X2RlZmF1bHRGbiA9IG51bGw7XG4gICAgdGhpcy5fYnZfdGFyZ2V0ID0gbnVsbDtcbiAgfSxcbiAgYmVmb3JlTW91bnQ6IGZ1bmN0aW9uIGJlZm9yZU1vdW50KCkge1xuICAgIHRoaXMubW91bnRUYXJnZXQoKTtcbiAgfSxcbiAgdXBkYXRlZDogZnVuY3Rpb24gdXBkYXRlZCgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgLy8gUGxhY2VkIGluIGEgbmV4dFRpY2sgdG8gZW5zdXJlIHRoYXQgY2hpbGRyZW4gaGF2ZSBjb21wbGV0ZWRcbiAgICAvLyB1cGRhdGluZyBiZWZvcmUgcmVuZGVyaW5nIGluIHRoZSB0YXJnZXRcbiAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy51cGRhdGVUYXJnZXQoKTtcbiAgICB9KTtcbiAgfSxcbiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHtcbiAgICB0aGlzLnVubW91bnRUYXJnZXQoKTtcbiAgICB0aGlzLl9idl9kZWZhdWx0Rm4gPSBudWxsO1xuICB9LFxuICBtZXRob2RzOiB7XG4gICAgLy8gR2V0IHRoZSBlbGVtZW50IHdoaWNoIHRoZSB0YXJnZXQgc2hvdWxkIGJlIGFwcGVuZGVkIHRvXG4gICAgZ2V0Q29udGFpbmVyOiBmdW5jdGlvbiBnZXRDb250YWluZXIoKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGlzQnJvd3Nlcikge1xuICAgICAgICB2YXIgY29udGFpbmVyID0gdGhpcy5jb250YWluZXI7XG4gICAgICAgIHJldHVybiBpc1N0cmluZyhjb250YWluZXIpID8gc2VsZWN0KGNvbnRhaW5lcikgOiBjb250YWluZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIE1vdW50IHRoZSB0YXJnZXRcbiAgICBtb3VudFRhcmdldDogZnVuY3Rpb24gbW91bnRUYXJnZXQoKSB7XG4gICAgICBpZiAoIXRoaXMuX2J2X3RhcmdldCkge1xuICAgICAgICB2YXIgY29udGFpbmVyID0gdGhpcy5nZXRDb250YWluZXIoKTtcblxuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGVsKTtcbiAgICAgICAgICB0aGlzLl9idl90YXJnZXQgPSBuZXcgQlRyYW5zcG9ydGVyVGFyZ2V0U2luZ2xlKHtcbiAgICAgICAgICAgIGVsOiBlbCxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcyxcbiAgICAgICAgICAgIHByb3BzRGF0YToge1xuICAgICAgICAgICAgICAvLyBJbml0aWFsIG5vZGVzIHRvIGJlIHJlbmRlcmVkXG4gICAgICAgICAgICAgIG5vZGVzOiBjb25jYXQodGhpcy5ub3JtYWxpemVTbG90KCdkZWZhdWx0JykpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFVwZGF0ZSB0aGUgY29udGVudCBvZiB0aGUgdGFyZ2V0XG4gICAgdXBkYXRlVGFyZ2V0OiBmdW5jdGlvbiB1cGRhdGVUYXJnZXQoKSB7XG4gICAgICBpZiAoaXNCcm93c2VyICYmIHRoaXMuX2J2X3RhcmdldCkge1xuICAgICAgICB2YXIgZGVmYXVsdEZuID0gdGhpcy4kc2NvcGVkU2xvdHMuZGVmYXVsdDtcblxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZTogb25seSBhcHBsaWNhYmxlIGluIFZ1ZSAyLjUueCAqL1xuICAgICAgICAgIGlmIChkZWZhdWx0Rm4gJiYgdGhpcy5fYnZfZGVmYXVsdEZuICE9PSBkZWZhdWx0Rm4pIHtcbiAgICAgICAgICAgIC8vIFdlIG9ubHkgdXBkYXRlIHRoZSB0YXJnZXQgY29tcG9uZW50IGlmIHRoZSBzY29wZWQgc2xvdFxuICAgICAgICAgICAgLy8gZnVuY3Rpb24gaXMgYSBmcmVzaCBvbmUuIFRoZSBuZXcgc2xvdCBzeW50YXggKHNpbmNlIFZ1ZSAyLjYpXG4gICAgICAgICAgICAvLyBjYW4gY2FjaGUgdW5jaGFuZ2VkIHNsb3QgZnVuY3Rpb25zIGFuZCB3ZSB3YW50IHRvIHJlc3BlY3QgdGhhdCBoZXJlXG4gICAgICAgICAgICB0aGlzLl9idl90YXJnZXQudXBkYXRlZE5vZGVzID0gZGVmYXVsdEZuO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWRlZmF1bHRGbikge1xuICAgICAgICAgICAgLy8gV2UgYWxzbyBuZWVkIHRvIGJlIGJhY2sgY29tcGF0aWJsZSB3aXRoIG5vbi1zY29wZWQgZGVmYXVsdCBzbG90IChpLmUuIDIuNS54KVxuICAgICAgICAgICAgdGhpcy5fYnZfdGFyZ2V0LnVwZGF0ZWROb2RlcyA9IHRoaXMuJHNsb3RzLmRlZmF1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIFVwZGF0ZSB0aGUgc2NvcGVkIHNsb3QgZnVuY3Rpb24gY2FjaGVcblxuXG4gICAgICAgIHRoaXMuX2J2X2RlZmF1bHRGbiA9IGRlZmF1bHRGbjtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFVubW91bnQgdGhlIHRhcmdldFxuICAgIHVubW91bnRUYXJnZXQ6IGZ1bmN0aW9uIHVubW91bnRUYXJnZXQoKSB7XG4gICAgICBpZiAodGhpcy5fYnZfdGFyZ2V0KSB7XG4gICAgICAgIHRoaXMuX2J2X3RhcmdldC4kZGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMuX2J2X3RhcmdldCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHZhciBub2RlcyA9IGNvbmNhdCh0aGlzLm5vcm1hbGl6ZVNsb3QoJ2RlZmF1bHQnKSkuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgICBpZiAobm9kZXMubGVuZ3RoID4gMCAmJiAhbm9kZXNbMF0udGV4dCkge1xuICAgICAgICByZXR1cm4gbm9kZXNbMF07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGgoKTtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vdXRpbHMvdHJhbnNwb3J0ZXIuanNcbi8vIG1vZHVsZSBpZCA9IDI1NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///255\n"); + +/***/ }), +/* 256 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return modalManager; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_env__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\n\n\n\n // --- Constants ---\n// Default modal backdrop z-index\n\nvar DEFAULT_ZINDEX = 1040; // Selectors for padding/margin adjustments\n\nvar Selector = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\n}; // @vue/component\n\nvar ModalManager =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n data: function data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n };\n },\n computed: {\n modalCount: function modalCount() {\n return this.modals.length;\n },\n modalsAreOpen: function modalsAreOpen() {\n return this.modalCount > 0;\n }\n },\n watch: {\n modalCount: function modalCount(newCount, oldCount) {\n if (__WEBPACK_IMPORTED_MODULE_2__utils_env__[\"j\" /* isBrowser */]) {\n this.getScrollbarWidth();\n\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar();\n this.setScrollbar();\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"b\" /* addClass */])(document.body, 'modal-open');\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar();\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"v\" /* removeClass */])(document.body, 'modal-open');\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(document.body, 'data-modal-open-count', String(newCount));\n }\n },\n modals: function modals(newVal, oldVal) {\n var _this = this;\n\n this.checkScrollbar();\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"w\" /* requestAF */])(function () {\n _this.updateModals(newVal || []);\n });\n }\n },\n methods: {\n // Public methods\n registerModal: function registerModal(modal) {\n var _this2 = this;\n\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n // Add modal to modals array\n this.modals.push(modal);\n modal.$once('hook:beforeDestroy', function () {\n _this2.unregisterModal(modal);\n });\n }\n },\n unregisterModal: function unregisterModal(modal) {\n var index = this.modals.indexOf(modal);\n\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1); // Reset the modal's data\n\n if (!(modal._isBeingDestroyed || modal._isDestroyed)) {\n this.resetModal(modal);\n }\n }\n },\n getBaseZIndex: function getBaseZIndex() {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"g\" /* isNull */])(this.baseZIndex) && __WEBPACK_IMPORTED_MODULE_2__utils_env__[\"j\" /* isBrowser */]) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n var div = document.createElement('div');\n div.className = 'modal-backdrop d-none';\n div.style.display = 'none';\n document.body.appendChild(div);\n this.baseZIndex = parseInt(Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"j\" /* getCS */])(div).zIndex || DEFAULT_ZINDEX, 10);\n document.body.removeChild(div);\n }\n\n return this.baseZIndex || DEFAULT_ZINDEX;\n },\n getScrollbarWidth: function getScrollbarWidth() {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"g\" /* isNull */])(this.scrollbarWidth) && __WEBPACK_IMPORTED_MODULE_2__utils_env__[\"j\" /* isBrowser */]) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n var div = document.createElement('div');\n div.className = 'modal-scrollbar-measure';\n document.body.appendChild(div);\n this.scrollbarWidth = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"h\" /* getBCR */])(div).width - div.clientWidth;\n document.body.removeChild(div);\n }\n\n return this.scrollbarWidth || 0;\n },\n // Private methods\n updateModals: function updateModals(modals) {\n var _this3 = this;\n\n var baseZIndex = this.getBaseZIndex();\n var scrollbarWidth = this.getScrollbarWidth();\n modals.forEach(function (modal, index) {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index;\n modal.scrollbarWidth = scrollbarWidth;\n modal.isTop = index === _this3.modals.length - 1;\n modal.isBodyOverflowing = _this3.isBodyOverflowing;\n });\n },\n resetModal: function resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex();\n modal.isTop = true;\n modal.isBodyOverflowing = false;\n }\n },\n checkScrollbar: function checkScrollbar() {\n // Determine if the body element is overflowing\n var _getBCR = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"h\" /* getBCR */])(document.body),\n left = _getBCR.left,\n right = _getBCR.right;\n\n this.isBodyOverflowing = left + right < window.innerWidth;\n },\n setScrollbar: function setScrollbar() {\n var body = document.body; // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n\n body._paddingChangedForModal = body._paddingChangedForModal || [];\n body._marginChangedForModal = body._marginChangedForModal || [];\n\n if (this.isBodyOverflowing) {\n var scrollbarWidth = this.scrollbarWidth; // Adjust fixed content padding\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"y\" /* selectAll */])(Selector.FIXED_CONTENT).forEach(function (el) {\n var actualPadding = el.style.paddingRight;\n var calculatedPadding = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"j\" /* getCS */])(el).paddingRight || 0;\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'data-padding-right', actualPadding);\n el.style.paddingRight = \"\".concat(parseFloat(calculatedPadding) + scrollbarWidth, \"px\");\n\n body._paddingChangedForModal.push(el);\n }); // Adjust sticky content margin\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"y\" /* selectAll */])(Selector.STICKY_CONTENT).forEach(function (el)\n /* istanbul ignore next */\n {\n var actualMargin = el.style.marginRight;\n var calculatedMargin = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"j\" /* getCS */])(el).marginRight || 0;\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'data-margin-right', actualMargin);\n el.style.marginRight = \"\".concat(parseFloat(calculatedMargin) - scrollbarWidth, \"px\");\n\n body._marginChangedForModal.push(el);\n }); // Adjust <b-navbar-toggler> margin\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"y\" /* selectAll */])(Selector.NAVBAR_TOGGLER).forEach(function (el)\n /* istanbul ignore next */\n {\n var actualMargin = el.style.marginRight;\n var calculatedMargin = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"j\" /* getCS */])(el).marginRight || 0;\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(el, 'data-margin-right', actualMargin);\n el.style.marginRight = \"\".concat(parseFloat(calculatedMargin) + scrollbarWidth, \"px\");\n\n body._marginChangedForModal.push(el);\n }); // Adjust body padding\n\n var actualPadding = body.style.paddingRight;\n var calculatedPadding = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"j\" /* getCS */])(body).paddingRight;\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"z\" /* setAttr */])(body, 'data-padding-right', actualPadding);\n body.style.paddingRight = \"\".concat(parseFloat(calculatedPadding) + scrollbarWidth, \"px\");\n }\n },\n resetScrollbar: function resetScrollbar() {\n var body = document.body;\n\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(function (el) {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"l\" /* hasAttr */])(el, 'data-padding-right')) {\n el.style.paddingRight = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"g\" /* getAttr */])(el, 'data-padding-right') || '';\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"u\" /* removeAttr */])(el, 'data-padding-right');\n }\n });\n }\n\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(function (el) {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"l\" /* hasAttr */])(el, 'data-margin-right')) {\n el.style.marginRight = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"g\" /* getAttr */])(el, 'data-margin-right') || '';\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"u\" /* removeAttr */])(el, 'data-margin-right');\n }\n });\n }\n\n body._paddingChangedForModal = null;\n body._marginChangedForModal = null; // Restore body padding\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"l\" /* hasAttr */])(body, 'data-padding-right')) {\n body.style.paddingRight = Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"g\" /* getAttr */])(body, 'data-padding-right') || '';\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_dom__[\"u\" /* removeAttr */])(body, 'data-padding-right');\n }\n }\n }\n}); // Create and export our modal manager instance\n\nvar modalManager = new ModalManager();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tb2RhbC9oZWxwZXJzL21vZGFsLW1hbmFnZXIuanM/ZjFjNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDcUM7QUFDa0c7QUFDeEY7QUFDQztBQUNoRDs7QUFFQSwwQkFBMEI7O0FBRTFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0EsMkRBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxVQUFVLDZEQUFTO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxvRUFBUTtBQUNsQixTQUFTO0FBQ1Q7QUFDQTtBQUNBLFVBQVUsdUVBQVc7QUFDckI7O0FBRUEsUUFBUSxtRUFBTztBQUNmO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxNQUFNLHFFQUFTO0FBQ2Y7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxVQUFVLHNFQUFNLHFCQUFxQiw2REFBUztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLGlFQUFLO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQSxVQUFVLHNFQUFNLHlCQUF5Qiw2REFBUztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixrRUFBTTtBQUNwQztBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLG9CQUFvQixrRUFBTTtBQUMxQjtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGlEQUFpRDs7QUFFakQ7O0FBRUEsUUFBUSxxRUFBUztBQUNqQjtBQUNBLGtDQUFrQyxpRUFBSztBQUN2QyxVQUFVLG1FQUFPO0FBQ2pCOztBQUVBO0FBQ0EsU0FBUyxFQUFFOztBQUVYOztBQUVBLFFBQVEscUVBQVM7QUFDakI7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGlFQUFLO0FBQ3RDLFVBQVUsbUVBQU87QUFDakI7O0FBRUE7QUFDQSxTQUFTLEVBQUU7O0FBRVg7O0FBRUEsUUFBUSxxRUFBUztBQUNqQjtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsaUVBQUs7QUFDdEMsVUFBVSxtRUFBTztBQUNqQjs7QUFFQTtBQUNBLFNBQVMsRUFBRTs7QUFFWDtBQUNBLGdDQUFnQyxpRUFBSztBQUNyQyxRQUFRLG1FQUFPO0FBQ2Y7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxtRUFBTztBQUNyQixvQ0FBb0MsbUVBQU87QUFDM0MsWUFBWSxzRUFBVTtBQUN0QjtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsbUVBQU87QUFDckIsbUNBQW1DLG1FQUFPO0FBQzFDLFlBQVksc0VBQVU7QUFDdEI7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQSx5Q0FBeUM7O0FBRXpDLFVBQVUsbUVBQU87QUFDakIsa0NBQWtDLG1FQUFPO0FBQ3pDLFFBQVEsc0VBQVU7QUFDbEI7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFOztBQUVJIiwiZmlsZSI6IjI1Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJpdmF0ZSBNb2RhbE1hbmFnZXIgaGVscGVyXG4gKiBIYW5kbGVzIGNvbnRyb2xsaW5nIG1vZGFsIHN0YWNraW5nIHpJbmRleGVzIGFuZCBib2R5IGFkanVzdG1lbnRzL2NsYXNzZXNcbiAqL1xuaW1wb3J0IFZ1ZSBmcm9tICcuLi8uLi8uLi91dGlscy92dWUnO1xuaW1wb3J0IHsgZ2V0QXR0ciwgaGFzQXR0ciwgcmVtb3ZlQXR0ciwgc2V0QXR0ciwgYWRkQ2xhc3MsIHJlbW92ZUNsYXNzLCBnZXRCQ1IsIGdldENTLCBzZWxlY3RBbGwsIHJlcXVlc3RBRiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBpc0Jyb3dzZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9lbnYnO1xuaW1wb3J0IHsgaXNOdWxsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7IC8vIC0tLSBDb25zdGFudHMgLS0tXG4vLyBEZWZhdWx0IG1vZGFsIGJhY2tkcm9wIHotaW5kZXhcblxudmFyIERFRkFVTFRfWklOREVYID0gMTA0MDsgLy8gU2VsZWN0b3JzIGZvciBwYWRkaW5nL21hcmdpbiBhZGp1c3RtZW50c1xuXG52YXIgU2VsZWN0b3IgPSB7XG4gIEZJWEVEX0NPTlRFTlQ6ICcuZml4ZWQtdG9wLCAuZml4ZWQtYm90dG9tLCAuaXMtZml4ZWQsIC5zdGlja3ktdG9wJyxcbiAgU1RJQ0tZX0NPTlRFTlQ6ICcuc3RpY2t5LXRvcCcsXG4gIE5BVkJBUl9UT0dHTEVSOiAnLm5hdmJhci10b2dnbGVyJ1xufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxudmFyIE1vZGFsTWFuYWdlciA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kYWxzOiBbXSxcbiAgICAgIGJhc2VaSW5kZXg6IG51bGwsXG4gICAgICBzY3JvbGxiYXJXaWR0aDogbnVsbCxcbiAgICAgIGlzQm9keU92ZXJmbG93aW5nOiBmYWxzZVxuICAgIH07XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgbW9kYWxDb3VudDogZnVuY3Rpb24gbW9kYWxDb3VudCgpIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGFscy5sZW5ndGg7XG4gICAgfSxcbiAgICBtb2RhbHNBcmVPcGVuOiBmdW5jdGlvbiBtb2RhbHNBcmVPcGVuKCkge1xuICAgICAgcmV0dXJuIHRoaXMubW9kYWxDb3VudCA+IDA7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIG1vZGFsQ291bnQ6IGZ1bmN0aW9uIG1vZGFsQ291bnQobmV3Q291bnQsIG9sZENvdW50KSB7XG4gICAgICBpZiAoaXNCcm93c2VyKSB7XG4gICAgICAgIHRoaXMuZ2V0U2Nyb2xsYmFyV2lkdGgoKTtcblxuICAgICAgICBpZiAobmV3Q291bnQgPiAwICYmIG9sZENvdW50ID09PSAwKSB7XG4gICAgICAgICAgLy8gVHJhbnNpdGlvbmluZyB0byBtb2RhbChzKSBvcGVuXG4gICAgICAgICAgdGhpcy5jaGVja1Njcm9sbGJhcigpO1xuICAgICAgICAgIHRoaXMuc2V0U2Nyb2xsYmFyKCk7XG4gICAgICAgICAgYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgJ21vZGFsLW9wZW4nKTtcbiAgICAgICAgfSBlbHNlIGlmIChuZXdDb3VudCA9PT0gMCAmJiBvbGRDb3VudCA+IDApIHtcbiAgICAgICAgICAvLyBUcmFuc2l0aW9uaW5nIHRvIG1vZGFsKHMpIGNsb3NlZFxuICAgICAgICAgIHRoaXMucmVzZXRTY3JvbGxiYXIoKTtcbiAgICAgICAgICByZW1vdmVDbGFzcyhkb2N1bWVudC5ib2R5LCAnbW9kYWwtb3BlbicpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0QXR0cihkb2N1bWVudC5ib2R5LCAnZGF0YS1tb2RhbC1vcGVuLWNvdW50JywgU3RyaW5nKG5ld0NvdW50KSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBtb2RhbHM6IGZ1bmN0aW9uIG1vZGFscyhuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgdGhpcy5jaGVja1Njcm9sbGJhcigpO1xuICAgICAgcmVxdWVzdEFGKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgX3RoaXMudXBkYXRlTW9kYWxzKG5ld1ZhbCB8fCBbXSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICAvLyBQdWJsaWMgbWV0aG9kc1xuICAgIHJlZ2lzdGVyTW9kYWw6IGZ1bmN0aW9uIHJlZ2lzdGVyTW9kYWwobW9kYWwpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAvLyBSZWdpc3RlciB0aGUgbW9kYWwgaWYgbm90IGFscmVhZHkgcmVnaXN0ZXJlZFxuICAgICAgaWYgKG1vZGFsICYmIHRoaXMubW9kYWxzLmluZGV4T2YobW9kYWwpID09PSAtMSkge1xuICAgICAgICAvLyBBZGQgbW9kYWwgdG8gbW9kYWxzIGFycmF5XG4gICAgICAgIHRoaXMubW9kYWxzLnB1c2gobW9kYWwpO1xuICAgICAgICBtb2RhbC4kb25jZSgnaG9vazpiZWZvcmVEZXN0cm95JywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIF90aGlzMi51bnJlZ2lzdGVyTW9kYWwobW9kYWwpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVucmVnaXN0ZXJNb2RhbDogZnVuY3Rpb24gdW5yZWdpc3Rlck1vZGFsKG1vZGFsKSB7XG4gICAgICB2YXIgaW5kZXggPSB0aGlzLm1vZGFscy5pbmRleE9mKG1vZGFsKTtcblxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgLy8gUmVtb3ZlIG1vZGFsIGZyb20gbW9kYWxzIGFycmF5XG4gICAgICAgIHRoaXMubW9kYWxzLnNwbGljZShpbmRleCwgMSk7IC8vIFJlc2V0IHRoZSBtb2RhbCdzIGRhdGFcblxuICAgICAgICBpZiAoIShtb2RhbC5faXNCZWluZ0Rlc3Ryb3llZCB8fCBtb2RhbC5faXNEZXN0cm95ZWQpKSB7XG4gICAgICAgICAgdGhpcy5yZXNldE1vZGFsKG1vZGFsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0QmFzZVpJbmRleDogZnVuY3Rpb24gZ2V0QmFzZVpJbmRleCgpIHtcbiAgICAgIGlmIChpc051bGwodGhpcy5iYXNlWkluZGV4KSAmJiBpc0Jyb3dzZXIpIHtcbiAgICAgICAgLy8gQ3JlYXRlIGEgdGVtcG9yYXJ5IGBkaXYubW9kYWwtYmFja2Ryb3BgIHRvIGdldCBjb21wdXRlZCB6LWluZGV4XG4gICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgZGl2LmNsYXNzTmFtZSA9ICdtb2RhbC1iYWNrZHJvcCBkLW5vbmUnO1xuICAgICAgICBkaXYuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpO1xuICAgICAgICB0aGlzLmJhc2VaSW5kZXggPSBwYXJzZUludChnZXRDUyhkaXYpLnpJbmRleCB8fCBERUZBVUxUX1pJTkRFWCwgMTApO1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmJhc2VaSW5kZXggfHwgREVGQVVMVF9aSU5ERVg7XG4gICAgfSxcbiAgICBnZXRTY3JvbGxiYXJXaWR0aDogZnVuY3Rpb24gZ2V0U2Nyb2xsYmFyV2lkdGgoKSB7XG4gICAgICBpZiAoaXNOdWxsKHRoaXMuc2Nyb2xsYmFyV2lkdGgpICYmIGlzQnJvd3Nlcikge1xuICAgICAgICAvLyBDcmVhdGUgYSB0ZW1wb3JhcnkgYGRpdi5tZWFzdXJlLXNjcm9sbGJhcmAgdG8gZ2V0IGNvbXB1dGVkIHotaW5kZXhcbiAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBkaXYuY2xhc3NOYW1lID0gJ21vZGFsLXNjcm9sbGJhci1tZWFzdXJlJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpO1xuICAgICAgICB0aGlzLnNjcm9sbGJhcldpZHRoID0gZ2V0QkNSKGRpdikud2lkdGggLSBkaXYuY2xpZW50V2lkdGg7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZGl2KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuc2Nyb2xsYmFyV2lkdGggfHwgMDtcbiAgICB9LFxuICAgIC8vIFByaXZhdGUgbWV0aG9kc1xuICAgIHVwZGF0ZU1vZGFsczogZnVuY3Rpb24gdXBkYXRlTW9kYWxzKG1vZGFscykge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIHZhciBiYXNlWkluZGV4ID0gdGhpcy5nZXRCYXNlWkluZGV4KCk7XG4gICAgICB2YXIgc2Nyb2xsYmFyV2lkdGggPSB0aGlzLmdldFNjcm9sbGJhcldpZHRoKCk7XG4gICAgICBtb2RhbHMuZm9yRWFjaChmdW5jdGlvbiAobW9kYWwsIGluZGV4KSB7XG4gICAgICAgIC8vIFdlIHVwZGF0ZSBkYXRhIHZhbHVlcyBvbiBlYWNoIG1vZGFsXG4gICAgICAgIG1vZGFsLnpJbmRleCA9IGJhc2VaSW5kZXggKyBpbmRleDtcbiAgICAgICAgbW9kYWwuc2Nyb2xsYmFyV2lkdGggPSBzY3JvbGxiYXJXaWR0aDtcbiAgICAgICAgbW9kYWwuaXNUb3AgPSBpbmRleCA9PT0gX3RoaXMzLm1vZGFscy5sZW5ndGggLSAxO1xuICAgICAgICBtb2RhbC5pc0JvZHlPdmVyZmxvd2luZyA9IF90aGlzMy5pc0JvZHlPdmVyZmxvd2luZztcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcmVzZXRNb2RhbDogZnVuY3Rpb24gcmVzZXRNb2RhbChtb2RhbCkge1xuICAgICAgaWYgKG1vZGFsKSB7XG4gICAgICAgIG1vZGFsLnpJbmRleCA9IHRoaXMuZ2V0QmFzZVpJbmRleCgpO1xuICAgICAgICBtb2RhbC5pc1RvcCA9IHRydWU7XG4gICAgICAgIG1vZGFsLmlzQm9keU92ZXJmbG93aW5nID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSxcbiAgICBjaGVja1Njcm9sbGJhcjogZnVuY3Rpb24gY2hlY2tTY3JvbGxiYXIoKSB7XG4gICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIGJvZHkgZWxlbWVudCBpcyBvdmVyZmxvd2luZ1xuICAgICAgdmFyIF9nZXRCQ1IgPSBnZXRCQ1IoZG9jdW1lbnQuYm9keSksXG4gICAgICAgICAgbGVmdCA9IF9nZXRCQ1IubGVmdCxcbiAgICAgICAgICByaWdodCA9IF9nZXRCQ1IucmlnaHQ7XG5cbiAgICAgIHRoaXMuaXNCb2R5T3ZlcmZsb3dpbmcgPSBsZWZ0ICsgcmlnaHQgPCB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICB9LFxuICAgIHNldFNjcm9sbGJhcjogZnVuY3Rpb24gc2V0U2Nyb2xsYmFyKCkge1xuICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5OyAvLyBTdG9yYWdlIHBsYWNlIHRvIGNhY2hlIGNoYW5nZXMgdG8gbWFyZ2lucyBhbmQgcGFkZGluZ1xuICAgICAgLy8gTm90ZTogVGhpcyBhc3N1bWVzIHRoZSBmb2xsb3dpbmcgZWxlbWVudCB0eXBlcyBhcmUgbm90IGFkZGVkIHRvIHRoZVxuICAgICAgLy8gZG9jdW1lbnQgYWZ0ZXIgdGhlIG1vZGFsIGhhcyBvcGVuZWQuXG5cbiAgICAgIGJvZHkuX3BhZGRpbmdDaGFuZ2VkRm9yTW9kYWwgPSBib2R5Ll9wYWRkaW5nQ2hhbmdlZEZvck1vZGFsIHx8IFtdO1xuICAgICAgYm9keS5fbWFyZ2luQ2hhbmdlZEZvck1vZGFsID0gYm9keS5fbWFyZ2luQ2hhbmdlZEZvck1vZGFsIHx8IFtdO1xuXG4gICAgICBpZiAodGhpcy5pc0JvZHlPdmVyZmxvd2luZykge1xuICAgICAgICB2YXIgc2Nyb2xsYmFyV2lkdGggPSB0aGlzLnNjcm9sbGJhcldpZHRoOyAvLyBBZGp1c3QgZml4ZWQgY29udGVudCBwYWRkaW5nXG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGRpZmZpY3VsdCB0byB0ZXN0IGluIEpTRE9NICovXG5cbiAgICAgICAgc2VsZWN0QWxsKFNlbGVjdG9yLkZJWEVEX0NPTlRFTlQpLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgdmFyIGFjdHVhbFBhZGRpbmcgPSBlbC5zdHlsZS5wYWRkaW5nUmlnaHQ7XG4gICAgICAgICAgdmFyIGNhbGN1bGF0ZWRQYWRkaW5nID0gZ2V0Q1MoZWwpLnBhZGRpbmdSaWdodCB8fCAwO1xuICAgICAgICAgIHNldEF0dHIoZWwsICdkYXRhLXBhZGRpbmctcmlnaHQnLCBhY3R1YWxQYWRkaW5nKTtcbiAgICAgICAgICBlbC5zdHlsZS5wYWRkaW5nUmlnaHQgPSBcIlwiLmNvbmNhdChwYXJzZUZsb2F0KGNhbGN1bGF0ZWRQYWRkaW5nKSArIHNjcm9sbGJhcldpZHRoLCBcInB4XCIpO1xuXG4gICAgICAgICAgYm9keS5fcGFkZGluZ0NoYW5nZWRGb3JNb2RhbC5wdXNoKGVsKTtcbiAgICAgICAgfSk7IC8vIEFkanVzdCBzdGlja3kgY29udGVudCBtYXJnaW5cblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogZGlmZmljdWx0IHRvIHRlc3QgaW4gSlNET00gKi9cblxuICAgICAgICBzZWxlY3RBbGwoU2VsZWN0b3IuU1RJQ0tZX0NPTlRFTlQpLmZvckVhY2goZnVuY3Rpb24gKGVsKVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICB7XG4gICAgICAgICAgdmFyIGFjdHVhbE1hcmdpbiA9IGVsLnN0eWxlLm1hcmdpblJpZ2h0O1xuICAgICAgICAgIHZhciBjYWxjdWxhdGVkTWFyZ2luID0gZ2V0Q1MoZWwpLm1hcmdpblJpZ2h0IHx8IDA7XG4gICAgICAgICAgc2V0QXR0cihlbCwgJ2RhdGEtbWFyZ2luLXJpZ2h0JywgYWN0dWFsTWFyZ2luKTtcbiAgICAgICAgICBlbC5zdHlsZS5tYXJnaW5SaWdodCA9IFwiXCIuY29uY2F0KHBhcnNlRmxvYXQoY2FsY3VsYXRlZE1hcmdpbikgLSBzY3JvbGxiYXJXaWR0aCwgXCJweFwiKTtcblxuICAgICAgICAgIGJvZHkuX21hcmdpbkNoYW5nZWRGb3JNb2RhbC5wdXNoKGVsKTtcbiAgICAgICAgfSk7IC8vIEFkanVzdCA8Yi1uYXZiYXItdG9nZ2xlcj4gbWFyZ2luXG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGRpZmZpY3VsdCB0byB0ZXN0IGluIEpTRE9NICovXG5cbiAgICAgICAgc2VsZWN0QWxsKFNlbGVjdG9yLk5BVkJBUl9UT0dHTEVSKS5mb3JFYWNoKGZ1bmN0aW9uIChlbClcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAge1xuICAgICAgICAgIHZhciBhY3R1YWxNYXJnaW4gPSBlbC5zdHlsZS5tYXJnaW5SaWdodDtcbiAgICAgICAgICB2YXIgY2FsY3VsYXRlZE1hcmdpbiA9IGdldENTKGVsKS5tYXJnaW5SaWdodCB8fCAwO1xuICAgICAgICAgIHNldEF0dHIoZWwsICdkYXRhLW1hcmdpbi1yaWdodCcsIGFjdHVhbE1hcmdpbik7XG4gICAgICAgICAgZWwuc3R5bGUubWFyZ2luUmlnaHQgPSBcIlwiLmNvbmNhdChwYXJzZUZsb2F0KGNhbGN1bGF0ZWRNYXJnaW4pICsgc2Nyb2xsYmFyV2lkdGgsIFwicHhcIik7XG5cbiAgICAgICAgICBib2R5Ll9tYXJnaW5DaGFuZ2VkRm9yTW9kYWwucHVzaChlbCk7XG4gICAgICAgIH0pOyAvLyBBZGp1c3QgYm9keSBwYWRkaW5nXG5cbiAgICAgICAgdmFyIGFjdHVhbFBhZGRpbmcgPSBib2R5LnN0eWxlLnBhZGRpbmdSaWdodDtcbiAgICAgICAgdmFyIGNhbGN1bGF0ZWRQYWRkaW5nID0gZ2V0Q1MoYm9keSkucGFkZGluZ1JpZ2h0O1xuICAgICAgICBzZXRBdHRyKGJvZHksICdkYXRhLXBhZGRpbmctcmlnaHQnLCBhY3R1YWxQYWRkaW5nKTtcbiAgICAgICAgYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBcIlwiLmNvbmNhdChwYXJzZUZsb2F0KGNhbGN1bGF0ZWRQYWRkaW5nKSArIHNjcm9sbGJhcldpZHRoLCBcInB4XCIpO1xuICAgICAgfVxuICAgIH0sXG4gICAgcmVzZXRTY3JvbGxiYXI6IGZ1bmN0aW9uIHJlc2V0U2Nyb2xsYmFyKCkge1xuICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5O1xuXG4gICAgICBpZiAoYm9keS5fcGFkZGluZ0NoYW5nZWRGb3JNb2RhbCkge1xuICAgICAgICAvLyBSZXN0b3JlIGZpeGVkIGNvbnRlbnQgcGFkZGluZ1xuICAgICAgICBib2R5Ll9wYWRkaW5nQ2hhbmdlZEZvck1vZGFsLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGRpZmZpY3VsdCB0byB0ZXN0IGluIEpTRE9NICovXG4gICAgICAgICAgaWYgKGhhc0F0dHIoZWwsICdkYXRhLXBhZGRpbmctcmlnaHQnKSkge1xuICAgICAgICAgICAgZWwuc3R5bGUucGFkZGluZ1JpZ2h0ID0gZ2V0QXR0cihlbCwgJ2RhdGEtcGFkZGluZy1yaWdodCcpIHx8ICcnO1xuICAgICAgICAgICAgcmVtb3ZlQXR0cihlbCwgJ2RhdGEtcGFkZGluZy1yaWdodCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChib2R5Ll9tYXJnaW5DaGFuZ2VkRm9yTW9kYWwpIHtcbiAgICAgICAgLy8gUmVzdG9yZSBzdGlja3kgY29udGVudCBhbmQgbmF2YmFyLXRvZ2dsZXIgbWFyZ2luXG4gICAgICAgIGJvZHkuX21hcmdpbkNoYW5nZWRGb3JNb2RhbC5mb3JFYWNoKGZ1bmN0aW9uIChlbCkge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBkaWZmaWN1bHQgdG8gdGVzdCBpbiBKU0RPTSAqL1xuICAgICAgICAgIGlmIChoYXNBdHRyKGVsLCAnZGF0YS1tYXJnaW4tcmlnaHQnKSkge1xuICAgICAgICAgICAgZWwuc3R5bGUubWFyZ2luUmlnaHQgPSBnZXRBdHRyKGVsLCAnZGF0YS1tYXJnaW4tcmlnaHQnKSB8fCAnJztcbiAgICAgICAgICAgIHJlbW92ZUF0dHIoZWwsICdkYXRhLW1hcmdpbi1yaWdodCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGJvZHkuX3BhZGRpbmdDaGFuZ2VkRm9yTW9kYWwgPSBudWxsO1xuICAgICAgYm9keS5fbWFyZ2luQ2hhbmdlZEZvck1vZGFsID0gbnVsbDsgLy8gUmVzdG9yZSBib2R5IHBhZGRpbmdcblxuICAgICAgaWYgKGhhc0F0dHIoYm9keSwgJ2RhdGEtcGFkZGluZy1yaWdodCcpKSB7XG4gICAgICAgIGJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gZ2V0QXR0cihib2R5LCAnZGF0YS1wYWRkaW5nLXJpZ2h0JykgfHwgJyc7XG4gICAgICAgIHJlbW92ZUF0dHIoYm9keSwgJ2RhdGEtcGFkZGluZy1yaWdodCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSk7IC8vIENyZWF0ZSBhbmQgZXhwb3J0IG91ciBtb2RhbCBtYW5hZ2VyIGluc3RhbmNlXG5cbmV4cG9ydCB2YXIgbW9kYWxNYW5hZ2VyID0gbmV3IE1vZGFsTWFuYWdlcigpO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvbW9kYWwvaGVscGVycy9tb2RhbC1tYW5hZ2VyLmpzXG4vLyBtb2R1bGUgaWQgPSAyNTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///256\n"); + +/***/ }), +/* 257 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BvModalEvent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_bv_event_class__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_object__ = __webpack_require__(8);\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 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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\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\n\n\n\nvar BvModalEvent =\n/*#__PURE__*/\nfunction (_BvEvent) {\n _inherits(BvModalEvent, _BvEvent);\n\n function BvModalEvent(type) {\n var _this;\n\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvModalEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(BvModalEvent).call(this, type, eventInit)); // Freeze our new props as readonly, but leave them enumerable\n\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_object__[\"d\" /* defineProperties */])(_assertThisInitialized(_this), {\n trigger: Object(__WEBPACK_IMPORTED_MODULE_1__utils_object__[\"l\" /* readonlyDescriptor */])()\n });\n return _this;\n }\n\n _createClass(BvModalEvent, null, [{\n key: \"Defaults\",\n get: function get() {\n return _objectSpread({}, _get(_getPrototypeOf(BvModalEvent), \"Defaults\", this), {\n trigger: null\n });\n }\n }]);\n\n return BvModalEvent;\n}(__WEBPACK_IMPORTED_MODULE_0__utils_bv_event_class__[\"a\" /* BvEvent */]); // Named exports\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9tb2RhbC9oZWxwZXJzL2J2LW1vZGFsLWV2ZW50LmNsYXNzLmpzPzIzZmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUEsdUJBQXVCLDJFQUEyRSxrQ0FBa0MsbUJBQW1CLEdBQUcsRUFBRSxPQUFPLGtDQUFrQyw4SEFBOEgsR0FBRyxFQUFFLHFCQUFxQjs7QUFFN1YsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUUvTSxpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SiwyQ0FBMkMsZ0JBQWdCLGtCQUFrQixPQUFPLDJCQUEyQix3REFBd0QsZ0NBQWdDLHVEQUF1RCwyREFBMkQsRUFBRTs7QUFFM1QsNkRBQTZELHNFQUFzRSw4REFBOEQsb0JBQW9COztBQUVyTixpREFBaUQsMEVBQTBFLGFBQWEsRUFBRSxxQ0FBcUM7O0FBRS9LLHVDQUF1Qyx1QkFBdUIsdUZBQXVGLEVBQUUsYUFBYTs7QUFFcEssMkNBQTJDLHFEQUFxRCxvQkFBb0IsRUFBRSxPQUFPLG1EQUFtRCw2Q0FBNkMsbUJBQW1CLDREQUE0RCxnQkFBZ0IsZ0NBQWdDLEVBQUUsbUJBQW1CLEdBQUcsRUFBRSxtREFBbUQ7O0FBRXphLDJDQUEyQyxrRUFBa0Usa0NBQWtDLDRCQUE0QixFQUFFLGVBQWU7O0FBRTVMLDZCQUE2QixnR0FBZ0csZ0RBQWdELEdBQUcsMkJBQTJCOztBQUUzTSwwQ0FBMEMsK0RBQStELDJFQUEyRSxFQUFFLHlFQUF5RSxlQUFlLHNEQUFzRCxFQUFFLEVBQUUsdURBQXVEOztBQUUvWCxnQ0FBZ0MsNEVBQTRFLGlCQUFpQixVQUFVLEdBQUcsOEJBQThCOztBQUVoSDtBQUNxQjs7QUFFN0U7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQSx3R0FBd0c7O0FBRXhHLElBQUksK0VBQWdCO0FBQ3BCLGVBQWUsaUZBQWtCO0FBQ2pDLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDLENBQUMsc0VBQU8sRUFBRSIsImZpbGUiOiIyNTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXQodGFyZ2V0LCBwcm9wZXJ0eSwgcmVjZWl2ZXIpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ICE9PSBcInVuZGVmaW5lZFwiICYmIFJlZmxlY3QuZ2V0KSB7IF9nZXQgPSBSZWZsZWN0LmdldDsgfSBlbHNlIHsgX2dldCA9IGZ1bmN0aW9uIF9nZXQodGFyZ2V0LCBwcm9wZXJ0eSwgcmVjZWl2ZXIpIHsgdmFyIGJhc2UgPSBfc3VwZXJQcm9wQmFzZSh0YXJnZXQsIHByb3BlcnR5KTsgaWYgKCFiYXNlKSByZXR1cm47IHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiYXNlLCBwcm9wZXJ0eSk7IGlmIChkZXNjLmdldCkgeyByZXR1cm4gZGVzYy5nZXQuY2FsbChyZWNlaXZlcik7IH0gcmV0dXJuIGRlc2MudmFsdWU7IH07IH0gcmV0dXJuIF9nZXQodGFyZ2V0LCBwcm9wZXJ0eSwgcmVjZWl2ZXIgfHwgdGFyZ2V0KTsgfVxuXG5mdW5jdGlvbiBfc3VwZXJQcm9wQmFzZShvYmplY3QsIHByb3BlcnR5KSB7IHdoaWxlICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpKSB7IG9iamVjdCA9IF9nZXRQcm90b3R5cGVPZihvYmplY3QpOyBpZiAob2JqZWN0ID09PSBudWxsKSBicmVhazsgfSByZXR1cm4gb2JqZWN0OyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuaW1wb3J0IHsgQnZFdmVudCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2J2LWV2ZW50LmNsYXNzJztcbmltcG9ydCB7IGRlZmluZVByb3BlcnRpZXMsIHJlYWRvbmx5RGVzY3JpcHRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL29iamVjdCc7XG5cbnZhciBCdk1vZGFsRXZlbnQgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9CdkV2ZW50KSB7XG4gIF9pbmhlcml0cyhCdk1vZGFsRXZlbnQsIF9CdkV2ZW50KTtcblxuICBmdW5jdGlvbiBCdk1vZGFsRXZlbnQodHlwZSkge1xuICAgIHZhciBfdGhpcztcblxuICAgIHZhciBldmVudEluaXQgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJ2TW9kYWxFdmVudCk7XG5cbiAgICBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihCdk1vZGFsRXZlbnQpLmNhbGwodGhpcywgdHlwZSwgZXZlbnRJbml0KSk7IC8vIEZyZWV6ZSBvdXIgbmV3IHByb3BzIGFzIHJlYWRvbmx5LCBidXQgbGVhdmUgdGhlbSBlbnVtZXJhYmxlXG5cbiAgICBkZWZpbmVQcm9wZXJ0aWVzKF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCB7XG4gICAgICB0cmlnZ2VyOiByZWFkb25seURlc2NyaXB0b3IoKVxuICAgIH0pO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhCdk1vZGFsRXZlbnQsIG51bGwsIFt7XG4gICAga2V5OiBcIkRlZmF1bHRzXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgX2dldChfZ2V0UHJvdG90eXBlT2YoQnZNb2RhbEV2ZW50KSwgXCJEZWZhdWx0c1wiLCB0aGlzKSwge1xuICAgICAgICB0cmlnZ2VyOiBudWxsXG4gICAgICB9KTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQnZNb2RhbEV2ZW50O1xufShCdkV2ZW50KTsgLy8gTmFtZWQgZXhwb3J0c1xuXG5cbmV4cG9ydCB7IEJ2TW9kYWxFdmVudCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvbW9kYWwvaGVscGVycy9idi1tb2RhbC1ldmVudC5jbGFzcy5qc1xuLy8gbW9kdWxlIGlkID0gMjU3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///257\n"); + +/***/ }), +/* 258 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BVPopper; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_popper_js__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_safe_types__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_bv_transition__ = __webpack_require__(30);\n// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\n\n\n\n\n\nvar NAME = 'BVPopper';\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}; // @vue/component\n\nvar BVPopper =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n props: {\n target: {\n // Element that the tooltip/popover is positioned relative to\n type: [__WEBPACK_IMPORTED_MODULE_3__utils_safe_types__[\"b\" /* HTMLElement */], __WEBPACK_IMPORTED_MODULE_3__utils_safe_types__[\"c\" /* SVGElement */]],\n default: null\n },\n placement: {\n type: String,\n default: 'top'\n },\n fallbackPlacement: {\n type: [String, Array],\n default: 'flip'\n },\n offset: {\n type: Number,\n default: 0\n },\n boundary: {\n // 'scrollParent', 'viewport', 'window', or Element\n type: [String, __WEBPACK_IMPORTED_MODULE_3__utils_safe_types__[\"b\" /* HTMLElement */]],\n default: 'scrollParent'\n },\n boundaryPadding: {\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n type: Number,\n default: 5\n },\n arrowPadding: {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n type: Number,\n default: 6\n }\n },\n data: function data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n };\n },\n computed: {\n templateType: function templateType()\n /* istanbul ignore next */\n {\n // Overridden by template component\n return 'unknown';\n },\n popperConfig: function popperConfig() {\n var _this = this;\n\n var placement = this.placement;\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: {\n offset: this.getOffset(placement)\n },\n flip: {\n behavior: this.fallbackPlacement\n },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: {\n element: '.arrow'\n },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n _this.popperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this.popperPlacementChange(data);\n }\n };\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null; // Ensure we show as we mount\n\n this.localShow = true; // Create popper instance before shown\n\n this.$on('show', function (el) {\n _this2.popperCreate(el);\n }); // Self destruct once hidden\n\n this.$on('hidden', function () {\n _this2.$nextTick(_this2.$destroy);\n }); // If parent is destroyed, ensure we are destroyed\n\n this.$parent.$once('hook:destroyed', this.$destroy);\n },\n beforeMount: function beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement);\n },\n mounted: function mounted() {// TBD\n },\n updated: function updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.popperUpdate();\n },\n beforeDestroy: function beforeDestroy() {\n this.popperDestroy();\n },\n destroyed: function destroyed() {\n // Make sure template is removed from DOM\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide: function hide() {\n this.localShow = false;\n },\n // Private\n getAttachment: function getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto';\n },\n getOffset: function getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n var arrow = this.$refs.arrow || Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"x\" /* select */])('.arrow', this.$el);\n var arrowOffset = (parseFloat(Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"j\" /* getCS */])(arrow).width) || 0) + (parseFloat(this.arrowPadding) || 0);\n\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"+50%p - \".concat(arrowOffset, \"px\");\n\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"-50%p + \".concat(arrowOffset, \"px\");\n\n default:\n return 0;\n }\n }\n /* istanbul ignore next */\n\n\n return this.offset;\n },\n popperCreate: function popperCreate(el) {\n this.popperDestroy(); // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n\n this.$_popper = new __WEBPACK_IMPORTED_MODULE_1_popper_js__[\"a\" /* default */](this.target, el, this.popperConfig);\n },\n popperDestroy: function popperDestroy() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n popperUpdate: function popperUpdate() {\n this.$_popper && this.$_popper.scheduleUpdate();\n },\n popperPlacementChange: function popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement);\n },\n renderTemplate: function renderTemplate(h)\n /* istanbul ignore next */\n {\n // Will be overridden by templates\n return h('div');\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n // Note: `show` and 'fade' classes are only appled during transition\n return h(__WEBPACK_IMPORTED_MODULE_4__utils_bv_transition__[\"a\" /* BVTransition */], {\n // Transitions as soon as mounted\n props: {\n appear: true,\n noFade: this.noFade\n },\n on: {\n // Events used by parent component/instance\n beforeEnter: function beforeEnter(el) {\n return _this3.$emit('show', el);\n },\n afterEnter: function afterEnter(el) {\n return _this3.$emit('shown', el);\n },\n beforeLeave: function beforeLeave(el) {\n return _this3.$emit('hide', el);\n },\n afterLeave: function afterLeave(el) {\n return _this3.$emit('hidden', el);\n }\n }\n }, [this.localShow ? this.renderTemplate(h) : h()]);\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90b29sdGlwL2hlbHBlcnMvYnYtcG9wcGVyLmpzPzM1MDMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ3FDO0FBQ047QUFDb0I7QUFDaUI7QUFDUjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVLO0FBQ1A7QUFDQSwyREFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxzRUFBVyxFQUFFLHFFQUFVO0FBQ3BDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxxQkFBcUIsc0VBQVc7QUFDaEM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHlCQUF5Qjs7QUFFekIsMEJBQTBCOztBQUUxQjtBQUNBO0FBQ0EsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQSxLQUFLLEVBQUU7O0FBRVA7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLHNEQUFzRCxJQUFJO0FBQzFEO0FBQ0EsR0FBRztBQUNILCtCQUErQjtBQUMvQixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLGtFQUFNO0FBQzlDLHNDQUFzQyxpRUFBSzs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsMkJBQTJCO0FBQzNCOztBQUVBLDBCQUEwQiwwREFBTTtBQUNoQyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0EsYUFBYSwwRUFBWTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxDQUFDIiwiZmlsZSI6IjI1OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEJhc2Ugb24tZGVtYW5kIGNvbXBvbmVudCBmb3IgdG9vbHRpcCAvIHBvcG92ZXIgdGVtcGxhdGVzXG4vL1xuLy8gQ3VycmVudGx5OlxuLy8gICBSZXNwb25zaWJsZSBmb3IgcG9zaXRpb25pbmcgYW5kIHRyYW5zaXRpb25pbmcgdGhlIHRlbXBsYXRlXG4vLyAgIFRlbXBsYXRlcyBhcmUgb25seSBpbnN0YW50aWF0ZWQgd2hlbiBzaG93biwgYW5kIGRlc3Ryb3llZCB3aGVuIGhpZGRlblxuLy9cbmltcG9ydCBWdWUgZnJvbSAnLi4vLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCBQb3BwZXIgZnJvbSAncG9wcGVyLmpzJztcbmltcG9ydCB7IGdldENTLCBzZWxlY3QgfSBmcm9tICcuLi8uLi8uLi91dGlscy9kb20nO1xuaW1wb3J0IHsgSFRNTEVsZW1lbnQsIFNWR0VsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zYWZlLXR5cGVzJztcbmltcG9ydCB7IEJWVHJhbnNpdGlvbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2J2LXRyYW5zaXRpb24nO1xudmFyIE5BTUUgPSAnQlZQb3BwZXInO1xudmFyIEF0dGFjaG1lbnRNYXAgPSB7XG4gIEFVVE86ICdhdXRvJyxcbiAgVE9QOiAndG9wJyxcbiAgUklHSFQ6ICdyaWdodCcsXG4gIEJPVFRPTTogJ2JvdHRvbScsXG4gIExFRlQ6ICdsZWZ0JyxcbiAgVE9QTEVGVDogJ3RvcCcsXG4gIFRPUFJJR0hUOiAndG9wJyxcbiAgUklHSFRUT1A6ICdyaWdodCcsXG4gIFJJR0hUQk9UVE9NOiAncmlnaHQnLFxuICBCT1RUT01MRUZUOiAnYm90dG9tJyxcbiAgQk9UVE9NUklHSFQ6ICdib3R0b20nLFxuICBMRUZUVE9QOiAnbGVmdCcsXG4gIExFRlRCT1RUT006ICdsZWZ0J1xufTtcbnZhciBPZmZzZXRNYXAgPSB7XG4gIEFVVE86IDAsXG4gIFRPUExFRlQ6IC0xLFxuICBUT1A6IDAsXG4gIFRPUFJJR0hUOiArMSxcbiAgUklHSFRUT1A6IC0xLFxuICBSSUdIVDogMCxcbiAgUklHSFRCT1RUT006ICsxLFxuICBCT1RUT01MRUZUOiAtMSxcbiAgQk9UVE9NOiAwLFxuICBCT1RUT01SSUdIVDogKzEsXG4gIExFRlRUT1A6IC0xLFxuICBMRUZUOiAwLFxuICBMRUZUQk9UVE9NOiArMVxufTsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVlBvcHBlciA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgcHJvcHM6IHtcbiAgICB0YXJnZXQ6IHtcbiAgICAgIC8vIEVsZW1lbnQgdGhhdCB0aGUgdG9vbHRpcC9wb3BvdmVyIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG9cbiAgICAgIHR5cGU6IFtIVE1MRWxlbWVudCwgU1ZHRWxlbWVudF0sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBwbGFjZW1lbnQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICd0b3AnXG4gICAgfSxcbiAgICBmYWxsYmFja1BsYWNlbWVudDoge1xuICAgICAgdHlwZTogW1N0cmluZywgQXJyYXldLFxuICAgICAgZGVmYXVsdDogJ2ZsaXAnXG4gICAgfSxcbiAgICBvZmZzZXQ6IHtcbiAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgIGRlZmF1bHQ6IDBcbiAgICB9LFxuICAgIGJvdW5kYXJ5OiB7XG4gICAgICAvLyAnc2Nyb2xsUGFyZW50JywgJ3ZpZXdwb3J0JywgJ3dpbmRvdycsIG9yIEVsZW1lbnRcbiAgICAgIHR5cGU6IFtTdHJpbmcsIEhUTUxFbGVtZW50XSxcbiAgICAgIGRlZmF1bHQ6ICdzY3JvbGxQYXJlbnQnXG4gICAgfSxcbiAgICBib3VuZGFyeVBhZGRpbmc6IHtcbiAgICAgIC8vIFRvb2x0aXAvcG9wb3ZlciB3aWxsIHRyeSBhbmQgc3RheSBhd2F5IGZyb21cbiAgICAgIC8vIGJvdW5kYXJ5IGVkZ2UgYnkgdGhpcyBtYW55IHBpeGVsc1xuICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgZGVmYXVsdDogNVxuICAgIH0sXG4gICAgYXJyb3dQYWRkaW5nOiB7XG4gICAgICAvLyBUaGUgbWluaW11bSBkaXN0YW5jZSAoaW4gYHB4YCkgZnJvbSB0aGUgZWRnZSBvZiB0aGVcbiAgICAgIC8vIHRvb2x0aXAvcG9wb3ZlciB0aGF0IHRoZSBhcnJvdyBjYW4gYmUgcG9zaXRpb25lZFxuICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgZGVmYXVsdDogNlxuICAgIH1cbiAgfSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gcmVhY3RpdmUgcHJvcHMgc2V0IGJ5IHBhcmVudFxuICAgICAgbm9GYWRlOiBmYWxzZSxcbiAgICAgIC8vIFN0YXRlIHJlbGF0ZWQgZGF0YVxuICAgICAgbG9jYWxTaG93OiB0cnVlLFxuICAgICAgYXR0YWNobWVudDogdGhpcy5nZXRBdHRhY2htZW50KHRoaXMucGxhY2VtZW50KVxuICAgIH07XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgdGVtcGxhdGVUeXBlOiBmdW5jdGlvbiB0ZW1wbGF0ZVR5cGUoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAge1xuICAgICAgLy8gT3ZlcnJpZGRlbiBieSB0ZW1wbGF0ZSBjb21wb25lbnRcbiAgICAgIHJldHVybiAndW5rbm93bic7XG4gICAgfSxcbiAgICBwb3BwZXJDb25maWc6IGZ1bmN0aW9uIHBvcHBlckNvbmZpZygpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHZhciBwbGFjZW1lbnQgPSB0aGlzLnBsYWNlbWVudDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBsYWNlbWVudDogdGhpcy5nZXRBdHRhY2htZW50KHBsYWNlbWVudCksXG4gICAgICAgIG1vZGlmaWVyczoge1xuICAgICAgICAgIG9mZnNldDoge1xuICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLmdldE9mZnNldChwbGFjZW1lbnQpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmbGlwOiB7XG4gICAgICAgICAgICBiZWhhdmlvcjogdGhpcy5mYWxsYmFja1BsYWNlbWVudFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gYGFycm93LmVsZW1lbnRgIGNhbiBhbHNvIGJlIGEgcmVmZXJlbmNlIHRvIGFuIEhUTUwgRWxlbWVudFxuICAgICAgICAgIC8vIG1heWJlIHdlIHNob3VsZCBtYWtlIHRoaXMgYSBgJHJlZmAgaW4gdGhlIHRlbXBsYXRlcz9cbiAgICAgICAgICBhcnJvdzoge1xuICAgICAgICAgICAgZWxlbWVudDogJy5hcnJvdydcbiAgICAgICAgICB9LFxuICAgICAgICAgIHByZXZlbnRPdmVyZmxvdzoge1xuICAgICAgICAgICAgcGFkZGluZzogdGhpcy5ib3VuZGFyeVBhZGRpbmcsXG4gICAgICAgICAgICBib3VuZGFyaWVzRWxlbWVudDogdGhpcy5ib3VuZGFyeVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25DcmVhdGU6IGZ1bmN0aW9uIG9uQ3JlYXRlKGRhdGEpIHtcbiAgICAgICAgICAvLyBIYW5kbGUgZmxpcHBpbmcgYXJyb3cgY2xhc3Nlc1xuICAgICAgICAgIGlmIChkYXRhLm9yaWdpbmFsUGxhY2VtZW50ICE9PSBkYXRhLnBsYWNlbWVudCkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGNhbid0IHRlc3QgaW4gSlNET00gKi9cbiAgICAgICAgICAgIF90aGlzLnBvcHBlclBsYWNlbWVudENoYW5nZShkYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uVXBkYXRlOiBmdW5jdGlvbiBvblVwZGF0ZShkYXRhKSB7XG4gICAgICAgICAgLy8gSGFuZGxlIGZsaXBwaW5nIGFycm93IGNsYXNzZXNcbiAgICAgICAgICBfdGhpcy5wb3BwZXJQbGFjZW1lbnRDaGFuZ2UoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgLy8gTm90ZTogV2UgYXJlIGNyZWF0ZWQgb24tZGVtYW5kLCBhbmQgc2hvdWxkIGJlIGd1YXJhbnRlZWQgdGhhdFxuICAgIC8vIERPTSBpcyByZW5kZXJlZC9yZWFkeSBieSB0aGUgdGltZSB0aGUgY3JlYXRlZCBob29rIHJ1bnNcbiAgICB0aGlzLiRfcG9wcGVyID0gbnVsbDsgLy8gRW5zdXJlIHdlIHNob3cgYXMgd2UgbW91bnRcblxuICAgIHRoaXMubG9jYWxTaG93ID0gdHJ1ZTsgLy8gQ3JlYXRlIHBvcHBlciBpbnN0YW5jZSBiZWZvcmUgc2hvd25cblxuICAgIHRoaXMuJG9uKCdzaG93JywgZnVuY3Rpb24gKGVsKSB7XG4gICAgICBfdGhpczIucG9wcGVyQ3JlYXRlKGVsKTtcbiAgICB9KTsgLy8gU2VsZiBkZXN0cnVjdCBvbmNlIGhpZGRlblxuXG4gICAgdGhpcy4kb24oJ2hpZGRlbicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzMi4kbmV4dFRpY2soX3RoaXMyLiRkZXN0cm95KTtcbiAgICB9KTsgLy8gSWYgcGFyZW50IGlzIGRlc3Ryb3llZCwgZW5zdXJlIHdlIGFyZSBkZXN0cm95ZWRcblxuICAgIHRoaXMuJHBhcmVudC4kb25jZSgnaG9vazpkZXN0cm95ZWQnLCB0aGlzLiRkZXN0cm95KTtcbiAgfSxcbiAgYmVmb3JlTW91bnQ6IGZ1bmN0aW9uIGJlZm9yZU1vdW50KCkge1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBhdHRhY2htZW50IHBvc2l0aW9uIGlzIGNvcnJlY3QgYmVmb3JlIG1vdW50aW5nXG4gICAgLy8gYXMgb3VyIHByb3BzRGF0YSBpcyBhZGRlZCBhZnRlciBgbmV3IFRlbXBsYXRlKHsuLi59KWBcbiAgICB0aGlzLmF0dGFjaG1lbnQgPSB0aGlzLmdldEF0dGFjaG1lbnQodGhpcy5wbGFjZW1lbnQpO1xuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgey8vIFRCRFxuICB9LFxuICB1cGRhdGVkOiBmdW5jdGlvbiB1cGRhdGVkKCkge1xuICAgIC8vIFVwZGF0ZSBwb3BwZXIgaWYgbmVlZGVkXG4gICAgLy8gVE9ETzogU2hvdWxkIHRoaXMgYmUgYSB3YXRjaGVyIG9uIGB0aGlzLnBvcHBlckNvbmZpZ2AgaW5zdGVhZD9cbiAgICB0aGlzLnBvcHBlclVwZGF0ZSgpO1xuICB9LFxuICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkge1xuICAgIHRoaXMucG9wcGVyRGVzdHJveSgpO1xuICB9LFxuICBkZXN0cm95ZWQ6IGZ1bmN0aW9uIGRlc3Ryb3llZCgpIHtcbiAgICAvLyBNYWtlIHN1cmUgdGVtcGxhdGUgaXMgcmVtb3ZlZCBmcm9tIERPTVxuICAgIHZhciBlbCA9IHRoaXMuJGVsO1xuICAgIGVsICYmIGVsLnBhcmVudE5vZGUgJiYgZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbCk7XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICAvLyBcIlB1YmxpY1wiIG1ldGhvZCB0byB0cmlnZ2VyIGhpZGUgdGVtcGxhdGVcbiAgICBoaWRlOiBmdW5jdGlvbiBoaWRlKCkge1xuICAgICAgdGhpcy5sb2NhbFNob3cgPSBmYWxzZTtcbiAgICB9LFxuICAgIC8vIFByaXZhdGVcbiAgICBnZXRBdHRhY2htZW50OiBmdW5jdGlvbiBnZXRBdHRhY2htZW50KHBsYWNlbWVudCkge1xuICAgICAgcmV0dXJuIEF0dGFjaG1lbnRNYXBbU3RyaW5nKHBsYWNlbWVudCkudG9VcHBlckNhc2UoKV0gfHwgJ2F1dG8nO1xuICAgIH0sXG4gICAgZ2V0T2Zmc2V0OiBmdW5jdGlvbiBnZXRPZmZzZXQocGxhY2VtZW50KSB7XG4gICAgICBpZiAoIXRoaXMub2Zmc2V0KSB7XG4gICAgICAgIC8vIENvdWxkIHNldCBhIHJlZiBmb3IgdGhlIGFycm93IGVsZW1lbnRcbiAgICAgICAgdmFyIGFycm93ID0gdGhpcy4kcmVmcy5hcnJvdyB8fCBzZWxlY3QoJy5hcnJvdycsIHRoaXMuJGVsKTtcbiAgICAgICAgdmFyIGFycm93T2Zmc2V0ID0gKHBhcnNlRmxvYXQoZ2V0Q1MoYXJyb3cpLndpZHRoKSB8fCAwKSArIChwYXJzZUZsb2F0KHRoaXMuYXJyb3dQYWRkaW5nKSB8fCAwKTtcblxuICAgICAgICBzd2l0Y2ggKE9mZnNldE1hcFtTdHJpbmcocGxhY2VtZW50KS50b1VwcGVyQ2FzZSgpXSB8fCAwKSB7XG4gICAgICAgICAgY2FzZSArMTpcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBjYW4ndCB0ZXN0IGluIEpTRE9NICovXG4gICAgICAgICAgICByZXR1cm4gXCIrNTAlcCAtIFwiLmNvbmNhdChhcnJvd09mZnNldCwgXCJweFwiKTtcblxuICAgICAgICAgIGNhc2UgLTE6XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogY2FuJ3QgdGVzdCBpbiBKU0RPTSAqL1xuICAgICAgICAgICAgcmV0dXJuIFwiLTUwJXAgKyBcIi5jb25jYXQoYXJyb3dPZmZzZXQsIFwicHhcIik7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cblxuICAgICAgcmV0dXJuIHRoaXMub2Zmc2V0O1xuICAgIH0sXG4gICAgcG9wcGVyQ3JlYXRlOiBmdW5jdGlvbiBwb3BwZXJDcmVhdGUoZWwpIHtcbiAgICAgIHRoaXMucG9wcGVyRGVzdHJveSgpOyAvLyBXZSB1c2UgYGVsYCByYXRoZXIgdGhhbiBgdGhpcy4kZWxgIGp1c3QgaW4gY2FzZSB0aGUgb3JpZ2luYWxcbiAgICAgIC8vIG1vdW50cG9pbnQgcm9vdCBlbGVtZW50IHR5cGUgd2FzIGNoYW5nZWQgYnkgdGhlIHRlbXBsYXRlXG5cbiAgICAgIHRoaXMuJF9wb3BwZXIgPSBuZXcgUG9wcGVyKHRoaXMudGFyZ2V0LCBlbCwgdGhpcy5wb3BwZXJDb25maWcpO1xuICAgIH0sXG4gICAgcG9wcGVyRGVzdHJveTogZnVuY3Rpb24gcG9wcGVyRGVzdHJveSgpIHtcbiAgICAgIHRoaXMuJF9wb3BwZXIgJiYgdGhpcy4kX3BvcHBlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLiRfcG9wcGVyID0gbnVsbDtcbiAgICB9LFxuICAgIHBvcHBlclVwZGF0ZTogZnVuY3Rpb24gcG9wcGVyVXBkYXRlKCkge1xuICAgICAgdGhpcy4kX3BvcHBlciAmJiB0aGlzLiRfcG9wcGVyLnNjaGVkdWxlVXBkYXRlKCk7XG4gICAgfSxcbiAgICBwb3BwZXJQbGFjZW1lbnRDaGFuZ2U6IGZ1bmN0aW9uIHBvcHBlclBsYWNlbWVudENoYW5nZShkYXRhKSB7XG4gICAgICAvLyBDYWxsYmFjayB1c2VkIGJ5IHBvcHBlciB0byBhZGp1c3QgdGhlIGFycm93IHBsYWNlbWVudFxuICAgICAgdGhpcy5hdHRhY2htZW50ID0gdGhpcy5nZXRBdHRhY2htZW50KGRhdGEucGxhY2VtZW50KTtcbiAgICB9LFxuICAgIHJlbmRlclRlbXBsYXRlOiBmdW5jdGlvbiByZW5kZXJUZW1wbGF0ZShoKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAge1xuICAgICAgLy8gV2lsbCBiZSBvdmVycmlkZGVuIGJ5IHRlbXBsYXRlc1xuICAgICAgcmV0dXJuIGgoJ2RpdicpO1xuICAgIH1cbiAgfSxcbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgLy8gTm90ZTogYHNob3dgIGFuZCAnZmFkZScgY2xhc3NlcyBhcmUgb25seSBhcHBsZWQgZHVyaW5nIHRyYW5zaXRpb25cbiAgICByZXR1cm4gaChCVlRyYW5zaXRpb24sIHtcbiAgICAgIC8vIFRyYW5zaXRpb25zIGFzIHNvb24gYXMgbW91bnRlZFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgYXBwZWFyOiB0cnVlLFxuICAgICAgICBub0ZhZGU6IHRoaXMubm9GYWRlXG4gICAgICB9LFxuICAgICAgb246IHtcbiAgICAgICAgLy8gRXZlbnRzIHVzZWQgYnkgcGFyZW50IGNvbXBvbmVudC9pbnN0YW5jZVxuICAgICAgICBiZWZvcmVFbnRlcjogZnVuY3Rpb24gYmVmb3JlRW50ZXIoZWwpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMzLiRlbWl0KCdzaG93JywgZWwpO1xuICAgICAgICB9LFxuICAgICAgICBhZnRlckVudGVyOiBmdW5jdGlvbiBhZnRlckVudGVyKGVsKSB7XG4gICAgICAgICAgcmV0dXJuIF90aGlzMy4kZW1pdCgnc2hvd24nLCBlbCk7XG4gICAgICAgIH0sXG4gICAgICAgIGJlZm9yZUxlYXZlOiBmdW5jdGlvbiBiZWZvcmVMZWF2ZShlbCkge1xuICAgICAgICAgIHJldHVybiBfdGhpczMuJGVtaXQoJ2hpZGUnLCBlbCk7XG4gICAgICAgIH0sXG4gICAgICAgIGFmdGVyTGVhdmU6IGZ1bmN0aW9uIGFmdGVyTGVhdmUoZWwpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMzLiRlbWl0KCdoaWRkZW4nLCBlbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbdGhpcy5sb2NhbFNob3cgPyB0aGlzLnJlbmRlclRlbXBsYXRlKGgpIDogaCgpXSk7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdG9vbHRpcC9oZWxwZXJzL2J2LXBvcHBlci5qc1xuLy8gbW9kdWxlIGlkID0gMjU4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///258\n"); + +/***/ }), +/* 259 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BVPopoverTemplate; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tooltip_helpers_bv_tooltip_template__ = __webpack_require__(189);\n\n\n\nvar NAME = 'BVPopoverTemplate'; // @vue/component\n\nvar BVPopoverTemplate =\n/*#__PURE__*/\n__WEBPACK_IMPORTED_MODULE_0__utils_vue__[\"a\" /* default */].extend({\n name: NAME,\n extends: __WEBPACK_IMPORTED_MODULE_2__tooltip_helpers_bv_tooltip_template__[\"a\" /* BVTooltipTemplate */],\n computed: {\n templateType: function templateType() {\n return 'popover';\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n // Title and content could be a scoped slot function\n var $title = Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"f\" /* isFunction */])(this.title) ? this.title({}) : this.title;\n var $content = Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"f\" /* isFunction */])(this.content) ? this.content({}) : this.content; // Directive usage only\n\n var titleDomProps = this.html && !Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"f\" /* isFunction */])(this.title) ? {\n innerHTML: this.title\n } : {};\n var contentDomProps = this.html && !Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"f\" /* isFunction */])(this.content) ? {\n innerHTML: this.content\n } : {};\n return h('div', {\n staticClass: 'popover b-popover',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n ref: 'arrow',\n staticClass: 'arrow'\n }), Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"o\" /* isUndefinedOrNull */])($title) || $title === '' ? h() : h('h3', {\n staticClass: 'popover-header',\n domProps: titleDomProps\n }, [$title]), Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"o\" /* isUndefinedOrNull */])($content) || $content === '' ? h() : h('div', {\n staticClass: 'popover-body',\n domProps: contentDomProps\n }, [$content])]);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy9wb3BvdmVyL2hlbHBlcnMvYnYtcG9wb3Zlci10ZW1wbGF0ZS5qcz8yYzdjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXFDO0FBQ2tDO0FBQ087QUFDOUUsK0JBQStCOztBQUV4QjtBQUNQO0FBQ0EsMkRBQUc7QUFDSDtBQUNBLFdBQVcsK0ZBQWlCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiwwRUFBVSw0QkFBNEI7QUFDekQscUJBQXFCLDBFQUFVLGdDQUFnQyxpQkFBaUI7O0FBRWhGLHdDQUF3QywwRUFBVTtBQUNsRDtBQUNBLE9BQU87QUFDUCwwQ0FBMEMsMEVBQVU7QUFDcEQ7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTyxHQUFHLGlGQUFpQjtBQUMzQjtBQUNBO0FBQ0EsT0FBTyxhQUFhLGlGQUFpQjtBQUNyQztBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjI1OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAnLi4vLi4vLi4vdXRpbHMvdnVlJztcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgeyBCVlRvb2x0aXBUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2x0aXAvaGVscGVycy9idi10b29sdGlwLXRlbXBsYXRlJztcbnZhciBOQU1FID0gJ0JWUG9wb3ZlclRlbXBsYXRlJzsgLy8gQHZ1ZS9jb21wb25lbnRcblxuZXhwb3J0IHZhciBCVlBvcG92ZXJUZW1wbGF0ZSA9XG4vKiNfX1BVUkVfXyovXG5WdWUuZXh0ZW5kKHtcbiAgbmFtZTogTkFNRSxcbiAgZXh0ZW5kczogQlZUb29sdGlwVGVtcGxhdGUsXG4gIGNvbXB1dGVkOiB7XG4gICAgdGVtcGxhdGVUeXBlOiBmdW5jdGlvbiB0ZW1wbGF0ZVR5cGUoKSB7XG4gICAgICByZXR1cm4gJ3BvcG92ZXInO1xuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIHJlbmRlclRlbXBsYXRlOiBmdW5jdGlvbiByZW5kZXJUZW1wbGF0ZShoKSB7XG4gICAgICAvLyBUaXRsZSBhbmQgY29udGVudCBjb3VsZCBiZSBhIHNjb3BlZCBzbG90IGZ1bmN0aW9uXG4gICAgICB2YXIgJHRpdGxlID0gaXNGdW5jdGlvbih0aGlzLnRpdGxlKSA/IHRoaXMudGl0bGUoe30pIDogdGhpcy50aXRsZTtcbiAgICAgIHZhciAkY29udGVudCA9IGlzRnVuY3Rpb24odGhpcy5jb250ZW50KSA/IHRoaXMuY29udGVudCh7fSkgOiB0aGlzLmNvbnRlbnQ7IC8vIERpcmVjdGl2ZSB1c2FnZSBvbmx5XG5cbiAgICAgIHZhciB0aXRsZURvbVByb3BzID0gdGhpcy5odG1sICYmICFpc0Z1bmN0aW9uKHRoaXMudGl0bGUpID8ge1xuICAgICAgICBpbm5lckhUTUw6IHRoaXMudGl0bGVcbiAgICAgIH0gOiB7fTtcbiAgICAgIHZhciBjb250ZW50RG9tUHJvcHMgPSB0aGlzLmh0bWwgJiYgIWlzRnVuY3Rpb24odGhpcy5jb250ZW50KSA/IHtcbiAgICAgICAgaW5uZXJIVE1MOiB0aGlzLmNvbnRlbnRcbiAgICAgIH0gOiB7fTtcbiAgICAgIHJldHVybiBoKCdkaXYnLCB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiAncG9wb3ZlciBiLXBvcG92ZXInLFxuICAgICAgICBjbGFzczogdGhpcy50ZW1wbGF0ZUNsYXNzZXMsXG4gICAgICAgIGF0dHJzOiB0aGlzLnRlbXBsYXRlQXR0cmlidXRlcyxcbiAgICAgICAgb246IHRoaXMudGVtcGxhdGVMaXN0ZW5lcnNcbiAgICAgIH0sIFtoKCdkaXYnLCB7XG4gICAgICAgIHJlZjogJ2Fycm93JyxcbiAgICAgICAgc3RhdGljQ2xhc3M6ICdhcnJvdydcbiAgICAgIH0pLCBpc1VuZGVmaW5lZE9yTnVsbCgkdGl0bGUpIHx8ICR0aXRsZSA9PT0gJycgPyBoKCkgOiBoKCdoMycsIHtcbiAgICAgICAgc3RhdGljQ2xhc3M6ICdwb3BvdmVyLWhlYWRlcicsXG4gICAgICAgIGRvbVByb3BzOiB0aXRsZURvbVByb3BzXG4gICAgICB9LCBbJHRpdGxlXSksIGlzVW5kZWZpbmVkT3JOdWxsKCRjb250ZW50KSB8fCAkY29udGVudCA9PT0gJycgPyBoKCkgOiBoKCdkaXYnLCB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiAncG9wb3Zlci1ib2R5JyxcbiAgICAgICAgZG9tUHJvcHM6IGNvbnRlbnREb21Qcm9wc1xuICAgICAgfSwgWyRjb250ZW50XSldKTtcbiAgICB9XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvcG9wb3Zlci9oZWxwZXJzL2J2LXBvcG92ZXItdGVtcGxhdGUuanNcbi8vIG1vZHVsZSBpZCA9IDI1OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///259\n"); + +/***/ }), +/* 260 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_startcase__ = __webpack_require__(85);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_object__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constants__ = __webpack_require__(86);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n // Private function to massage field entry into common object format\n\nvar processField = function processField(key, value) {\n var field = null;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"m\" /* isString */])(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"f\" /* isFunction */])(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"i\" /* isObject */])(value)) {\n field = _objectSpread({}, value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nvar normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"a\" /* isArray */])(origFields)) {\n // Normalize array Form\n origFields.filter(function (f) {\n return f;\n }).forEach(function (f) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"m\" /* isString */])(f)) {\n fields.push({\n key: f,\n label: Object(__WEBPACK_IMPORTED_MODULE_0__utils_startcase__[\"a\" /* default */])(f)\n });\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"i\" /* isObject */])(f) && f.key && Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"m\" /* isString */])(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(_objectSpread({}, f));\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"i\" /* isObject */])(f) && Object(__WEBPACK_IMPORTED_MODULE_2__utils_object__[\"j\" /* keys */])(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = Object(__WEBPACK_IMPORTED_MODULE_2__utils_object__[\"j\" /* keys */])(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"a\" /* isArray */])(items) && items.length > 0) {\n var sample = items[0];\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_object__[\"j\" /* keys */])(sample).forEach(function (k) {\n if (!__WEBPACK_IMPORTED_MODULE_3__constants__[\"b\" /* IGNORED_FIELD_KEYS */][k]) {\n fields.push({\n key: k,\n label: Object(__WEBPACK_IMPORTED_MODULE_0__utils_startcase__[\"a\" /* default */])(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"m\" /* isString */])(f.label) ? f.label : Object(__WEBPACK_IMPORTED_MODULE_0__utils_startcase__[\"a\" /* default */])(f.key);\n return true;\n }\n\n return false;\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (normalizeFields);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL25vcm1hbGl6ZS1maWVsZHMuanM/NDVjZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFOUo7QUFDZ0M7QUFDcEM7QUFDSTs7QUFFakQ7QUFDQTs7QUFFQSxNQUFNLHdFQUFRO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsVUFBVSwwRUFBVTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxVQUFVLHdFQUFRO0FBQ3JCLDRCQUE0QjtBQUM1QjtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxRQUFRLEdBQUc7OztBQUdqRDtBQUNBOztBQUVBLE1BQU0sdUVBQU87QUFDYjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsVUFBVSx3RUFBUTtBQUNsQjtBQUNBO0FBQ0EsaUJBQWlCLHlFQUFTO0FBQzFCLFNBQVM7QUFDVCxPQUFPLFVBQVUsd0VBQVEsZ0JBQWdCLHdFQUFRO0FBQ2pEO0FBQ0Esb0NBQW9DO0FBQ3BDLE9BQU8sVUFBVSx3RUFBUSxPQUFPLG1FQUFJO0FBQ3BDLGtDQUFrQztBQUNsQyxrQkFBa0IsbUVBQUk7QUFDdEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRzs7O0FBR0gsNkJBQTZCLHVFQUFPO0FBQ3BDO0FBQ0EsSUFBSSxtRUFBSTtBQUNSLFdBQVcsc0VBQWtCO0FBQzdCO0FBQ0E7QUFDQSxpQkFBaUIseUVBQVM7QUFDMUIsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHdFQUFRLHNCQUFzQix5RUFBUztBQUN2RDtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVlLHdFQUFlIiwiZmlsZSI6IjI2MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBzdGFydENhc2UgZnJvbSAnLi4vLi4vLi4vdXRpbHMvc3RhcnRjYXNlJztcbmltcG9ydCB7IGlzQXJyYXksIGlzRnVuY3Rpb24sIGlzT2JqZWN0LCBpc1N0cmluZyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsga2V5cyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL29iamVjdCc7XG5pbXBvcnQgeyBJR05PUkVEX0ZJRUxEX0tFWVMgfSBmcm9tICcuL2NvbnN0YW50cyc7IC8vIFByaXZhdGUgZnVuY3Rpb24gdG8gbWFzc2FnZSBmaWVsZCBlbnRyeSBpbnRvIGNvbW1vbiBvYmplY3QgZm9ybWF0XG5cbnZhciBwcm9jZXNzRmllbGQgPSBmdW5jdGlvbiBwcm9jZXNzRmllbGQoa2V5LCB2YWx1ZSkge1xuICB2YXIgZmllbGQgPSBudWxsO1xuXG4gIGlmIChpc1N0cmluZyh2YWx1ZSkpIHtcbiAgICAvLyBMYWJlbCBzaG9ydGN1dFxuICAgIGZpZWxkID0ge1xuICAgICAga2V5OiBrZXksXG4gICAgICBsYWJlbDogdmFsdWVcbiAgICB9O1xuICB9IGVsc2UgaWYgKGlzRnVuY3Rpb24odmFsdWUpKSB7XG4gICAgLy8gRm9ybWF0dGVyIHNob3J0Y3V0XG4gICAgZmllbGQgPSB7XG4gICAgICBrZXk6IGtleSxcbiAgICAgIGZvcm1hdHRlcjogdmFsdWVcbiAgICB9O1xuICB9IGVsc2UgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgIGZpZWxkID0gX29iamVjdFNwcmVhZCh7fSwgdmFsdWUpO1xuICAgIGZpZWxkLmtleSA9IGZpZWxkLmtleSB8fCBrZXk7XG4gIH0gZWxzZSBpZiAodmFsdWUgIT09IGZhbHNlKSB7XG4gICAgLy8gRmFsbGJhY2sgdG8ganVzdCBrZXlcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgZmllbGQgPSB7XG4gICAgICBrZXk6IGtleVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gZmllbGQ7XG59OyAvLyBXZSBub3JtYWxpemUgZmllbGRzIGludG8gYW4gYXJyYXkgb2Ygb2JqZWN0c1xuLy8gWyB7IGtleTouLi4sIGxhYmVsOi4uLiwgLi4ufSwgey4uLn0sIC4uLiwgey4ufV1cblxuXG52YXIgbm9ybWFsaXplRmllbGRzID0gZnVuY3Rpb24gbm9ybWFsaXplRmllbGRzKG9yaWdGaWVsZHMsIGl0ZW1zKSB7XG4gIHZhciBmaWVsZHMgPSBbXTtcblxuICBpZiAoaXNBcnJheShvcmlnRmllbGRzKSkge1xuICAgIC8vIE5vcm1hbGl6ZSBhcnJheSBGb3JtXG4gICAgb3JpZ0ZpZWxkcy5maWx0ZXIoZnVuY3Rpb24gKGYpIHtcbiAgICAgIHJldHVybiBmO1xuICAgIH0pLmZvckVhY2goZnVuY3Rpb24gKGYpIHtcbiAgICAgIGlmIChpc1N0cmluZyhmKSkge1xuICAgICAgICBmaWVsZHMucHVzaCh7XG4gICAgICAgICAga2V5OiBmLFxuICAgICAgICAgIGxhYmVsOiBzdGFydENhc2UoZilcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KGYpICYmIGYua2V5ICYmIGlzU3RyaW5nKGYua2V5KSkge1xuICAgICAgICAvLyBGdWxsIG9iamVjdCBkZWZpbml0aW9uLiBXZSB1c2UgYXNzaWduIHNvIHRoYXQgd2UgZG9uJ3QgbXV0YXRlIHRoZSBvcmlnaW5hbFxuICAgICAgICBmaWVsZHMucHVzaChfb2JqZWN0U3ByZWFkKHt9LCBmKSk7XG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KGYpICYmIGtleXMoZikubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0IG9iamVjdCAoaS5lLiB7ICdmb29fYmFyJzogJ1RoaXMgaXMgRm9vIEJhcicgfVxuICAgICAgICB2YXIga2V5ID0ga2V5cyhmKVswXTtcbiAgICAgICAgdmFyIGZpZWxkID0gcHJvY2Vzc0ZpZWxkKGtleSwgZltrZXldKTtcblxuICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICBmaWVsZHMucHVzaChmaWVsZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfSAvLyBJZiBubyBmaWVsZCBwcm92aWRlZCwgdGFrZSBhIHNhbXBsZSBmcm9tIGZpcnN0IHJlY29yZCAoaWYgZXhpdHMpXG5cblxuICBpZiAoZmllbGRzLmxlbmd0aCA9PT0gMCAmJiBpc0FycmF5KGl0ZW1zKSAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgdmFyIHNhbXBsZSA9IGl0ZW1zWzBdO1xuICAgIGtleXMoc2FtcGxlKS5mb3JFYWNoKGZ1bmN0aW9uIChrKSB7XG4gICAgICBpZiAoIUlHTk9SRURfRklFTERfS0VZU1trXSkge1xuICAgICAgICBmaWVsZHMucHVzaCh7XG4gICAgICAgICAga2V5OiBrLFxuICAgICAgICAgIGxhYmVsOiBzdGFydENhc2UoaylcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gLy8gRW5zdXJlIHdlIGhhdmUgYSB1bmlxdWUgYXJyYXkgb2YgZmllbGRzIGFuZCB0aGF0IHRoZXkgaGF2ZSBTdHJpbmcgbGFiZWxzXG5cblxuICB2YXIgbWVtbyA9IHt9O1xuICByZXR1cm4gZmllbGRzLmZpbHRlcihmdW5jdGlvbiAoZikge1xuICAgIGlmICghbWVtb1tmLmtleV0pIHtcbiAgICAgIG1lbW9bZi5rZXldID0gdHJ1ZTtcbiAgICAgIGYubGFiZWwgPSBpc1N0cmluZyhmLmxhYmVsKSA/IGYubGFiZWwgOiBzdGFydENhc2UoZi5rZXkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG5vcm1hbGl6ZUZpZWxkcztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvbm9ybWFsaXplLWZpZWxkcy5qc1xuLy8gbW9kdWxlIGlkID0gMjYwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///260\n"); + +/***/ }), +/* 261 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_clone_deep__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__stringify_record_values__ = __webpack_require__(262);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n filter: {\n type: [String, RegExp, Object, Array],\n default: null\n },\n filterFunction: {\n type: Function,\n default: null\n },\n filterIgnoredFields: {\n type: Array // default: undefined\n\n },\n filterIncludedFields: {\n type: Array // default: undefined\n\n },\n filterDebounce: {\n type: [Number, String],\n default: 0,\n validator: function validator(val) {\n return /^\\d+/.test(String(val));\n }\n }\n },\n data: function data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n };\n },\n computed: {\n computedFilterIgnored: function computedFilterIgnored() {\n return this.filterIgnoredFields ? Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"b\" /* concat */])(this.filterIgnoredFields).filter(Boolean) : null;\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return this.filterIncludedFields ? Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"b\" /* concat */])(this.filterIncludedFields).filter(Boolean) : null;\n },\n computedFilterDebounce: function computedFilterDebounce() {\n return parseInt(this.filterDebounce, 10) || 0;\n },\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck: function filteredCheck() {\n return {\n filteredItems: this.filteredItems,\n localItems: this.localItems,\n localFilter: this.localFilter\n };\n },\n // Sanitized/normalize filter-function prop\n localFilterFn: function localFilterFn() {\n // Return `null` to signal to use internal filter function\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"f\" /* isFunction */])(this.filterFunction) ? this.filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n var items = this.localItems || []; // Note the criteria is debounced and sanitized\n\n var criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newVal, oldVal) {\n if (!newVal && this.$_filterTimer) {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria, oldCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localItems = _ref.localItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__[\"a\" /* default */])(localFilter, []) || Object(__WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__[\"a\" /* default */])(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit('filtered', filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newVal, oldVal) {\n if (newVal === false && oldVal === true) {\n // We need to emit a filtered event if isFiltered transitions from true to\n // false so that users can update their pagination controls.\n this.$emit('filtered', this.localItems, this.localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive prop where we store the debounce timer id\n this.$_filterTimer = null; // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n\n this.$nextTick(function () {\n _this2.isFiltered = Boolean(_this2.localFilter);\n });\n },\n beforeDestroy: function beforeDestroy()\n /* istanbul ignore next */\n {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\n methods: {\n filterSanitize: function filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (this.localFiltering && !this.localFilterFn && !(Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"m\" /* isString */])(criteria) || Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"l\" /* isRegExp */])(criteria))) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return '';\n } // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_clone_deep__[\"a\" /* default */])(criteria);\n },\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"f\" /* isFunction */])(filterFn) || !criteria || Object(__WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__[\"a\" /* default */])(criteria, []) || Object(__WEBPACK_IMPORTED_MODULE_1__utils_loose_equal__[\"a\" /* default */])(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n var _this3 = this;\n\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"m\" /* isString */])(criteria) || Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"l\" /* isRegExp */])(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the regexp needed for filtering\n\n\n var regexp = criteria;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"m\" /* isString */])(regexp)) {\n // Escape special `RegExp` characters in the string and convert contiguous\n // whitespace to `\\s+` matches\n var pattern = criteria.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&').replace(/[\\s\\uFEFF\\xA0]+/g, '\\\\s+'); // Build the `RegExp` (no need for global flag, as we only need\n // to find the value once in the string)\n\n regexp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regexp.lastIndex = 0;\n return regexp.test(Object(__WEBPACK_IMPORTED_MODULE_4__stringify_record_values__[\"a\" /* default */])(item, _this3.computedFilterIgnored, _this3.computedFilterIncluded, _this3.computedFieldsObj));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLWZpbHRlcmluZy5qcz84ZTRmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0Q7QUFDRTtBQUNOO0FBQzBCO0FBQ1Y7QUFDL0M7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0Esd0NBQXdDLG9FQUFNO0FBQzlDLEtBQUs7QUFDTDtBQUNBLHlDQUF5QyxvRUFBTTtBQUMvQyxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGFBQWEsMEVBQVU7QUFDdkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLHdDQUF3Qzs7QUFFeEMsc0NBQXNDO0FBQ3RDO0FBQ0E7O0FBRUEsOElBQThJOztBQUU5STtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sVUFBVSwyRUFBVSxxQkFBcUIsMkVBQVUsZ0JBQWdCO0FBQzFFO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsMERBQTBELHdFQUFRLGNBQWMsd0VBQVE7QUFDeEY7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7OztBQUdBLGFBQWEsMEVBQVM7QUFDdEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsMEVBQVUsMkJBQTJCLDJFQUFVLGtCQUFrQiwyRUFBVSxhQUFhO0FBQ2hIO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUIsd0VBQVEsY0FBYyx3RUFBUTtBQUN2RDtBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7O0FBRUEsVUFBVSx3RUFBUTtBQUNsQjtBQUNBO0FBQ0EsMkRBQTJELGlEQUFpRDtBQUM1Rzs7QUFFQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsaUZBQXFCO0FBQ2hELFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMjYxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsb25lRGVlcCBmcm9tICcuLi8uLi8uLi91dGlscy9jbG9uZS1kZWVwJztcbmltcG9ydCBsb29zZUVxdWFsIGZyb20gJy4uLy4uLy4uL3V0aWxzL2xvb3NlLWVxdWFsJztcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FycmF5JztcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzU3RyaW5nLCBpc1JlZ0V4cCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHN0cmluZ2lmeVJlY29yZFZhbHVlcyBmcm9tICcuL3N0cmluZ2lmeS1yZWNvcmQtdmFsdWVzJztcbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBmaWx0ZXI6IHtcbiAgICAgIHR5cGU6IFtTdHJpbmcsIFJlZ0V4cCwgT2JqZWN0LCBBcnJheV0sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBmaWx0ZXJGdW5jdGlvbjoge1xuICAgICAgdHlwZTogRnVuY3Rpb24sXG4gICAgICBkZWZhdWx0OiBudWxsXG4gICAgfSxcbiAgICBmaWx0ZXJJZ25vcmVkRmllbGRzOiB7XG4gICAgICB0eXBlOiBBcnJheSAvLyBkZWZhdWx0OiB1bmRlZmluZWRcblxuICAgIH0sXG4gICAgZmlsdGVySW5jbHVkZWRGaWVsZHM6IHtcbiAgICAgIHR5cGU6IEFycmF5IC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICBmaWx0ZXJEZWJvdW5jZToge1xuICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih2YWwpIHtcbiAgICAgICAgcmV0dXJuIC9eXFxkKy8udGVzdChTdHJpbmcodmFsKSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICAvLyBGbGFnIGZvciBkaXNwbGF5aW5nIHdoaWNoIGVtcHR5IHNsb3QgdG8gc2hvdyBhbmQgc29tZSBldmVudCB0cmlnZ2VyaW5nXG4gICAgICBpc0ZpbHRlcmVkOiBmYWxzZSxcbiAgICAgIC8vIFdoZXJlIHdlIHN0b3JlIHRoZSBjb3B5IG9mIHRoZSBmaWx0ZXIgY3JpdGVyaWEgYWZ0ZXIgZGVib3VuY2luZ1xuICAgICAgLy8gV2UgcHJlLXNldCBpdCB3aXRoIHRoZSBzYW5pdGl6ZWQgZmlsdGVyIHZhbHVlXG4gICAgICBsb2NhbEZpbHRlcjogdGhpcy5maWx0ZXJTYW5pdGl6ZSh0aGlzLmZpbHRlcilcbiAgICB9O1xuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGNvbXB1dGVkRmlsdGVySWdub3JlZDogZnVuY3Rpb24gY29tcHV0ZWRGaWx0ZXJJZ25vcmVkKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVySWdub3JlZEZpZWxkcyA/IGNvbmNhdCh0aGlzLmZpbHRlcklnbm9yZWRGaWVsZHMpLmZpbHRlcihCb29sZWFuKSA6IG51bGw7XG4gICAgfSxcbiAgICBjb21wdXRlZEZpbHRlckluY2x1ZGVkOiBmdW5jdGlvbiBjb21wdXRlZEZpbHRlckluY2x1ZGVkKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVySW5jbHVkZWRGaWVsZHMgPyBjb25jYXQodGhpcy5maWx0ZXJJbmNsdWRlZEZpZWxkcykuZmlsdGVyKEJvb2xlYW4pIDogbnVsbDtcbiAgICB9LFxuICAgIGNvbXB1dGVkRmlsdGVyRGVib3VuY2U6IGZ1bmN0aW9uIGNvbXB1dGVkRmlsdGVyRGVib3VuY2UoKSB7XG4gICAgICByZXR1cm4gcGFyc2VJbnQodGhpcy5maWx0ZXJEZWJvdW5jZSwgMTApIHx8IDA7XG4gICAgfSxcbiAgICBsb2NhbEZpbHRlcmluZzogZnVuY3Rpb24gbG9jYWxGaWx0ZXJpbmcoKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYXNQcm92aWRlciA/ICEhdGhpcy5ub1Byb3ZpZGVyRmlsdGVyaW5nIDogdHJ1ZTtcbiAgICB9LFxuICAgIC8vIEZvciB3YXRjaGluZyBjaGFuZ2VzIHRvIGBmaWx0ZXJlZEl0ZW1zYCB2cyBgbG9jYWxJdGVtc2BcbiAgICBmaWx0ZXJlZENoZWNrOiBmdW5jdGlvbiBmaWx0ZXJlZENoZWNrKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmlsdGVyZWRJdGVtczogdGhpcy5maWx0ZXJlZEl0ZW1zLFxuICAgICAgICBsb2NhbEl0ZW1zOiB0aGlzLmxvY2FsSXRlbXMsXG4gICAgICAgIGxvY2FsRmlsdGVyOiB0aGlzLmxvY2FsRmlsdGVyXG4gICAgICB9O1xuICAgIH0sXG4gICAgLy8gU2FuaXRpemVkL25vcm1hbGl6ZSBmaWx0ZXItZnVuY3Rpb24gcHJvcFxuICAgIGxvY2FsRmlsdGVyRm46IGZ1bmN0aW9uIGxvY2FsRmlsdGVyRm4oKSB7XG4gICAgICAvLyBSZXR1cm4gYG51bGxgIHRvIHNpZ25hbCB0byB1c2UgaW50ZXJuYWwgZmlsdGVyIGZ1bmN0aW9uXG4gICAgICByZXR1cm4gaXNGdW5jdGlvbih0aGlzLmZpbHRlckZ1bmN0aW9uKSA/IHRoaXMuZmlsdGVyRnVuY3Rpb24gOiBudWxsO1xuICAgIH0sXG4gICAgLy8gUmV0dXJucyB0aGUgcmVjb3JkcyBpbiBgbG9jYWxJdGVtc2AgdGhhdCBtYXRjaCB0aGUgZmlsdGVyIGNyaXRlcmlhXG4gICAgLy8gUmV0dXJucyB0aGUgb3JpZ2luYWwgYGxvY2FsSXRlbXNgIGFycmF5IGlmIG5vdCBzb3J0aW5nXG4gICAgZmlsdGVyZWRJdGVtczogZnVuY3Rpb24gZmlsdGVyZWRJdGVtcygpIHtcbiAgICAgIHZhciBpdGVtcyA9IHRoaXMubG9jYWxJdGVtcyB8fCBbXTsgLy8gTm90ZSB0aGUgY3JpdGVyaWEgaXMgZGVib3VuY2VkIGFuZCBzYW5pdGl6ZWRcblxuICAgICAgdmFyIGNyaXRlcmlhID0gdGhpcy5sb2NhbEZpbHRlcjsgLy8gUmVzb2x2ZSB0aGUgZmlsdGVyaW5nIGZ1bmN0aW9uLCB3aGVuIHJlcXVlc3RlZFxuICAgICAgLy8gV2UgcHJlZmVyIHRoZSBwcm92aWRlZCBmaWx0ZXJpbmcgZnVuY3Rpb24gYW5kIGZhbGxiYWNrIHRvIHRoZSBpbnRlcm5hbCBvbmVcbiAgICAgIC8vIFdoZW4gbm8gZmlsdGVyaW5nIGNyaXRlcmlhIGlzIHNwZWNpZmllZCB0aGUgZmlsdGVyaW5nIGZhY3RvcmllcyB3aWxsIHJldHVybiBgbnVsbGBcblxuICAgICAgdmFyIGZpbHRlckZuID0gdGhpcy5sb2NhbEZpbHRlcmluZyA/IHRoaXMuZmlsdGVyRm5GYWN0b3J5KHRoaXMubG9jYWxGaWx0ZXJGbiwgY3JpdGVyaWEpIHx8IHRoaXMuZGVmYXVsdEZpbHRlckZuRmFjdG9yeShjcml0ZXJpYSkgOiBudWxsOyAvLyBXZSBvbmx5IGRvIGxvY2FsIGZpbHRlcmluZyB3aGVuIHJlcXVlc3RlZCBhbmQgdGhlcmUgYXJlIHJlY29yZHMgdG8gZmlsdGVyXG5cbiAgICAgIHJldHVybiBmaWx0ZXJGbiAmJiBpdGVtcy5sZW5ndGggPiAwID8gaXRlbXMuZmlsdGVyKGZpbHRlckZuKSA6IGl0ZW1zO1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICAvLyBXYXRjaCBmb3IgZGVib3VuY2UgYmVpbmcgc2V0IHRvIDBcbiAgICBjb21wdXRlZEZpbHRlckRlYm91bmNlOiBmdW5jdGlvbiBjb21wdXRlZEZpbHRlckRlYm91bmNlKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICBpZiAoIW5ld1ZhbCAmJiB0aGlzLiRfZmlsdGVyVGltZXIpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuJF9maWx0ZXJUaW1lcik7XG4gICAgICAgIHRoaXMuJF9maWx0ZXJUaW1lciA9IG51bGw7XG4gICAgICAgIHRoaXMubG9jYWxGaWx0ZXIgPSB0aGlzLmZpbHRlclNhbml0aXplKHRoaXMuZmlsdGVyKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFdhdGNoIGZvciBjaGFuZ2VzIHRvIHRoZSBmaWx0ZXIgY3JpdGVyaWEsIGFuZCBkZWJvdW5jZSBpZiBuZWNlc3NhcnlcbiAgICBmaWx0ZXI6IHtcbiAgICAgIC8vIFdlIG5lZWQgYSBkZWVwIHdhdGNoZXIgaW4gY2FzZSB0aGUgdXNlciBwYXNzZXNcbiAgICAgIC8vIGFuIG9iamVjdCB3aGVuIHVzaW5nIGBmaWx0ZXItZnVuY3Rpb25gXG4gICAgICBkZWVwOiB0cnVlLFxuICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcihuZXdDcml0ZXJpYSwgb2xkQ3JpdGVyaWEpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICB2YXIgdGltZW91dCA9IHRoaXMuY29tcHV0ZWRGaWx0ZXJEZWJvdW5jZTtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuJF9maWx0ZXJUaW1lcik7XG4gICAgICAgIHRoaXMuJF9maWx0ZXJUaW1lciA9IG51bGw7XG5cbiAgICAgICAgaWYgKHRpbWVvdXQgJiYgdGltZW91dCA+IDApIHtcbiAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGEgZGVib3VuY2UgdGltZSwgZGVsYXkgdGhlIHVwZGF0ZSBvZiBgbG9jYWxGaWx0ZXJgXG4gICAgICAgICAgdGhpcy4kX2ZpbHRlclRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBfdGhpcy5sb2NhbEZpbHRlciA9IF90aGlzLmZpbHRlclNhbml0aXplKG5ld0NyaXRlcmlhKTtcbiAgICAgICAgICB9LCB0aW1lb3V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBPdGhlcndpc2UsIGltbWVkaWF0ZWx5IHVwZGF0ZSBgbG9jYWxGaWx0ZXJgIHdpdGggYG5ld0ZpbHRlcmAgdmFsdWVcbiAgICAgICAgICB0aGlzLmxvY2FsRmlsdGVyID0gdGhpcy5maWx0ZXJTYW5pdGl6ZShuZXdDcml0ZXJpYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFdhdGNoIGZvciBjaGFuZ2VzIHRvIHRoZSBmaWx0ZXIgY3JpdGVyaWEgYW5kIGZpbHRlcmVkIGl0ZW1zIHZzIGBsb2NhbEl0ZW1zYFxuICAgIC8vIFNldCB2aXN1YWwgc3RhdGUgYW5kIGVtaXQgZXZlbnRzIGFzIHJlcXVpcmVkXG4gICAgZmlsdGVyZWRDaGVjazogZnVuY3Rpb24gZmlsdGVyZWRDaGVjayhfcmVmKSB7XG4gICAgICB2YXIgZmlsdGVyZWRJdGVtcyA9IF9yZWYuZmlsdGVyZWRJdGVtcyxcbiAgICAgICAgICBsb2NhbEl0ZW1zID0gX3JlZi5sb2NhbEl0ZW1zLFxuICAgICAgICAgIGxvY2FsRmlsdGVyID0gX3JlZi5sb2NhbEZpbHRlcjtcbiAgICAgIC8vIERldGVybWluZSBpZiB0aGUgZGF0YXNldCBpcyBmaWx0ZXJlZCBvciBub3RcbiAgICAgIHZhciBpc0ZpbHRlcmVkID0gZmFsc2U7XG5cbiAgICAgIGlmICghbG9jYWxGaWx0ZXIpIHtcbiAgICAgICAgLy8gSWYgZmlsdGVyIGNyaXRlcmlhIGlzIGZhbHNleVxuICAgICAgICBpc0ZpbHRlcmVkID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGxvb3NlRXF1YWwobG9jYWxGaWx0ZXIsIFtdKSB8fCBsb29zZUVxdWFsKGxvY2FsRmlsdGVyLCB7fSkpIHtcbiAgICAgICAgLy8gSWYgZmlsdGVyIGNyaXRlcmlhIGlzIGFuIGVtcHR5IGFycmF5IG9yIG9iamVjdFxuICAgICAgICBpc0ZpbHRlcmVkID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGxvY2FsRmlsdGVyKSB7XG4gICAgICAgIC8vIElmIGZpbHRlciBjcml0ZXJpYSBpcyB0cnV0aHlcbiAgICAgICAgaXNGaWx0ZXJlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0ZpbHRlcmVkKSB7XG4gICAgICAgIHRoaXMuJGVtaXQoJ2ZpbHRlcmVkJywgZmlsdGVyZWRJdGVtcywgZmlsdGVyZWRJdGVtcy5sZW5ndGgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmlzRmlsdGVyZWQgPSBpc0ZpbHRlcmVkO1xuICAgIH0sXG4gICAgaXNGaWx0ZXJlZDogZnVuY3Rpb24gaXNGaWx0ZXJlZChuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgaWYgKG5ld1ZhbCA9PT0gZmFsc2UgJiYgb2xkVmFsID09PSB0cnVlKSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gZW1pdCBhIGZpbHRlcmVkIGV2ZW50IGlmIGlzRmlsdGVyZWQgdHJhbnNpdGlvbnMgZnJvbSB0cnVlIHRvXG4gICAgICAgIC8vIGZhbHNlIHNvIHRoYXQgdXNlcnMgY2FuIHVwZGF0ZSB0aGVpciBwYWdpbmF0aW9uIGNvbnRyb2xzLlxuICAgICAgICB0aGlzLiRlbWl0KCdmaWx0ZXJlZCcsIHRoaXMubG9jYWxJdGVtcywgdGhpcy5sb2NhbEl0ZW1zLmxlbmd0aCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgLy8gQ3JlYXRlIG5vbi1yZWFjdGl2ZSBwcm9wIHdoZXJlIHdlIHN0b3JlIHRoZSBkZWJvdW5jZSB0aW1lciBpZFxuICAgIHRoaXMuJF9maWx0ZXJUaW1lciA9IG51bGw7IC8vIElmIGZpbHRlciBpcyBcInByZS1zZXRcIiwgc2V0IHRoZSBjcml0ZXJpYVxuICAgIC8vIFRoaXMgd2lsbCB0cmlnZ2VyIGFueSB3YXRjaGVycy9kZXBlbmRlbnRzXG4gICAgLy8gdGhpcy5sb2NhbEZpbHRlciA9IHRoaXMuZmlsdGVyU2FuaXRpemUodGhpcy5maWx0ZXIpXG4gICAgLy8gU2V0IHRoZSBpbml0aWFsIGZpbHRlcmVkIHN0YXRlIGluIGEgYCRuZXh0VGljaygpYCBzbyB0aGF0XG4gICAgLy8gd2UgdHJpZ2dlciBhIGZpbHRlcmVkIGV2ZW50IGlmIG5lZWRlZFxuXG4gICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMyLmlzRmlsdGVyZWQgPSBCb29sZWFuKF90aGlzMi5sb2NhbEZpbHRlcik7XG4gICAgfSk7XG4gIH0sXG4gIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuJF9maWx0ZXJUaW1lcik7XG4gICAgdGhpcy4kX2ZpbHRlclRpbWVyID0gbnVsbDtcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIGZpbHRlclNhbml0aXplOiBmdW5jdGlvbiBmaWx0ZXJTYW5pdGl6ZShjcml0ZXJpYSkge1xuICAgICAgLy8gU2FuaXRpemVzIGZpbHRlciBjcml0ZXJpYSBiYXNlZCBvbiBpbnRlcm5hbCBvciBleHRlcm5hbCBmaWx0ZXJpbmdcbiAgICAgIGlmICh0aGlzLmxvY2FsRmlsdGVyaW5nICYmICF0aGlzLmxvY2FsRmlsdGVyRm4gJiYgIShpc1N0cmluZyhjcml0ZXJpYSkgfHwgaXNSZWdFeHAoY3JpdGVyaWEpKSkge1xuICAgICAgICAvLyBJZiB1c2luZyBpbnRlcm5hbCBmaWx0ZXIgZnVuY3Rpb24sIHdoaWNoIG9ubHkgYWNjZXB0cyBzdHJpbmcgb3IgUmVnRXhwLFxuICAgICAgICAvLyByZXR1cm4gJycgdG8gc2lnbmlmeSBubyBmaWx0ZXJcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfSAvLyBDb3VsZCBiZSBhIHN0cmluZywgb2JqZWN0IG9yIGFycmF5LCBhcyBuZWVkZWQgYnkgZXh0ZXJuYWwgZmlsdGVyIGZ1bmN0aW9uXG4gICAgICAvLyBXZSB1c2UgYGNsb25lRGVlcGAgdG8gZW5zdXJlIHdlIGhhdmUgYSBuZXcgY29weSBvZiBhbiBvYmplY3Qgb3IgYXJyYXlcbiAgICAgIC8vIHdpdGhvdXQgVnVlJ3MgcmVhY3RpdmUgb2JzZXJ2ZXJzXG5cblxuICAgICAgcmV0dXJuIGNsb25lRGVlcChjcml0ZXJpYSk7XG4gICAgfSxcbiAgICAvLyBGaWx0ZXIgRnVuY3Rpb24gZmFjdG9yaWVzXG4gICAgZmlsdGVyRm5GYWN0b3J5OiBmdW5jdGlvbiBmaWx0ZXJGbkZhY3RvcnkoZmlsdGVyRm4sIGNyaXRlcmlhKSB7XG4gICAgICAvLyBXcmFwcGVyIGZhY3RvcnkgZm9yIGV4dGVybmFsIGZpbHRlciBmdW5jdGlvbnNcbiAgICAgIC8vIFdyYXAgdGhlIHByb3ZpZGVkIGZpbHRlci1mdW5jdGlvbiBhbmQgcmV0dXJuIGEgbmV3IGZ1bmN0aW9uXG4gICAgICAvLyBSZXR1cm5zIGBudWxsYCBpZiBubyBmaWx0ZXItZnVuY3Rpb24gZGVmaW5lZCBvciBpZiBjcml0ZXJpYSBpcyBmYWxzZXlcbiAgICAgIC8vIFJhdGhlciB0aGFuIGRpcmVjdGx5IGdyYWJiaW5nIGB0aGlzLmNvbXB1dGVkTG9jYWxGaWx0ZXJGbmAgb3IgYHRoaXMuZmlsdGVyRnVuY3Rpb25gXG4gICAgICAvLyB3ZSBoYXZlIGl0IHBhc3NlZCwgc28gdGhhdCB0aGUgY2FsbGVyIGNvbXB1dGVkIHByb3Agd2lsbCBiZSByZWFjdGl2ZSB0byBjaGFuZ2VzXG4gICAgICAvLyBpbiB0aGUgb3JpZ2luYWwgZmlsdGVyLWZ1bmN0aW9uIChhcyB0aGlzIHJvdXRpbmUgaXMgYSBtZXRob2QpXG4gICAgICBpZiAoIWZpbHRlckZuIHx8ICFpc0Z1bmN0aW9uKGZpbHRlckZuKSB8fCAhY3JpdGVyaWEgfHwgbG9vc2VFcXVhbChjcml0ZXJpYSwgW10pIHx8IGxvb3NlRXF1YWwoY3JpdGVyaWEsIHt9KSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0gLy8gQnVpbGQgdGhlIHdyYXBwZWQgZmlsdGVyIHRlc3QgZnVuY3Rpb24sIHBhc3NpbmcgdGhlIGNyaXRlcmlhIHRvIHRoZSBwcm92aWRlZCBmdW5jdGlvblxuXG5cbiAgICAgIHZhciBmbiA9IGZ1bmN0aW9uIGZuKGl0ZW0pIHtcbiAgICAgICAgLy8gR2VuZXJhdGVkIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBpZiB0aGUgY3JpdGVyaWEgbWF0Y2hlcyBwYXJ0XG4gICAgICAgIC8vIG9mIHRoZSBzZXJpYWxpemVkIGRhdGEsIG90aGVyd2lzZSBmYWxzZVxuICAgICAgICByZXR1cm4gZmlsdGVyRm4oaXRlbSwgY3JpdGVyaWEpO1xuICAgICAgfTsgLy8gUmV0dXJuIHRoZSB3cmFwcGVkIGZ1bmN0aW9uXG5cblxuICAgICAgcmV0dXJuIGZuO1xuICAgIH0sXG4gICAgZGVmYXVsdEZpbHRlckZuRmFjdG9yeTogZnVuY3Rpb24gZGVmYXVsdEZpbHRlckZuRmFjdG9yeShjcml0ZXJpYSkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIC8vIEdlbmVyYXRlcyB0aGUgZGVmYXVsdCBmaWx0ZXIgZnVuY3Rpb24sIHVzaW5nIHRoZSBnaXZlbiBmaWx0ZXIgY3JpdGVyaWFcbiAgICAgIC8vIFJldHVybnMgYG51bGxgIGlmIG5vIGNyaXRlcmlhIG9yIGNyaXRlcmlhIGZvcm1hdCBub3Qgc3VwcG9ydGVkXG4gICAgICBpZiAoIWNyaXRlcmlhIHx8ICEoaXNTdHJpbmcoY3JpdGVyaWEpIHx8IGlzUmVnRXhwKGNyaXRlcmlhKSkpIHtcbiAgICAgICAgLy8gQnVpbHQgaW4gZmlsdGVyIGNhbiBvbmx5IHN1cHBvcnQgc3RyaW5ncyBvciBSZWdFeHAgY3JpdGVyaWEgKGF0IHRoZSBtb21lbnQpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSAvLyBCdWlsZCB0aGUgcmVnZXhwIG5lZWRlZCBmb3IgZmlsdGVyaW5nXG5cblxuICAgICAgdmFyIHJlZ2V4cCA9IGNyaXRlcmlhO1xuXG4gICAgICBpZiAoaXNTdHJpbmcocmVnZXhwKSkge1xuICAgICAgICAvLyBFc2NhcGUgc3BlY2lhbCBgUmVnRXhwYCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYW5kIGNvbnZlcnQgY29udGlndW91c1xuICAgICAgICAvLyB3aGl0ZXNwYWNlIHRvIGBcXHMrYCBtYXRjaGVzXG4gICAgICAgIHZhciBwYXR0ZXJuID0gY3JpdGVyaWEucmVwbGFjZSgvWy0vXFxcXF4kKis/LigpfFtcXF17fV0vZywgJ1xcXFwkJicpLnJlcGxhY2UoL1tcXHNcXHVGRUZGXFx4QTBdKy9nLCAnXFxcXHMrJyk7IC8vIEJ1aWxkIHRoZSBgUmVnRXhwYCAobm8gbmVlZCBmb3IgZ2xvYmFsIGZsYWcsIGFzIHdlIG9ubHkgbmVlZFxuICAgICAgICAvLyB0byBmaW5kIHRoZSB2YWx1ZSBvbmNlIGluIHRoZSBzdHJpbmcpXG5cbiAgICAgICAgcmVnZXhwID0gbmV3IFJlZ0V4cChcIi4qXCIuY29uY2F0KHBhdHRlcm4sIFwiLipcIiksICdpJyk7XG4gICAgICB9IC8vIEdlbmVyYXRlIHRoZSB3cmFwcGVkIGZpbHRlciB0ZXN0IGZ1bmN0aW9uIHRvIHVzZVxuXG5cbiAgICAgIHZhciBmbiA9IGZ1bmN0aW9uIGZuKGl0ZW0pIHtcbiAgICAgICAgLy8gVGhpcyBzZWFyY2hlcyBhbGwgcm93IHZhbHVlcyAoYW5kIHN1YiBwcm9wZXJ0eSB2YWx1ZXMpIGluIHRoZSBlbnRpcmUgKGV4Y2x1ZGluZ1xuICAgICAgICAvLyBzcGVjaWFsIGBfYCBwcmVmaXhlZCBrZXlzKSwgYmVjYXVzZSB3ZSBjb252ZXJ0IHRoZSByZWNvcmQgdG8gYSBzcGFjZS1zZXBhcmF0ZWRcbiAgICAgICAgLy8gc3RyaW5nIGNvbnRhaW5pbmcgYWxsIHRoZSB2YWx1ZSBwcm9wZXJ0aWVzIChyZWN1cnNpdmVseSksIGV2ZW4gb25lcyB0aGF0IGFyZVxuICAgICAgICAvLyBub3QgdmlzaWJsZSAobm90IHNwZWNpZmllZCBpbiB0aGlzLmZpZWxkcylcbiAgICAgICAgLy8gVXNlcnMgY2FuIGlnbm9yZSBmaWx0ZXJpbmcgb24gc3BlY2lmaWMgZmllbGRzLCBvciBvbiBvbmx5IGNlcnRhaW4gZmllbGRzLFxuICAgICAgICAvLyBhbmQgY2FuIG9wdGlvbmFsbCBzcGVjaWZ5IHNlYXJjaGluZyByZXN1bHRzIG9mIGZpZWxkcyB3aXRoIGZvcm1hdHRlclxuICAgICAgICAvL1xuICAgICAgICAvLyBUT0RPOiBFbmFibGUgc2VhcmNoaW5nIG9uIHNjb3BlZCBzbG90cyAob3B0aW9uYWwsIGFzIGl0IHdpbGwgYmUgU0xPVylcbiAgICAgICAgLy9cbiAgICAgICAgLy8gR2VuZXJhdGVkIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBpZiB0aGUgY3JpdGVyaWEgbWF0Y2hlcyBwYXJ0IG9mXG4gICAgICAgIC8vIHRoZSBzZXJpYWxpemVkIGRhdGEsIG90aGVyd2lzZSBmYWxzZVxuICAgICAgICAvLyBXZSBzZXQgYGxhc3RJbmRleCA9IDBgIG9uIHRoZSBgUmVnRXhwYCBpbiBjYXNlIHNvbWVvbmUgc3BlY2lmaWVzIHRoZSBgL2dgIGdsb2JhbCBmbGFnXG4gICAgICAgIHJlZ2V4cC5sYXN0SW5kZXggPSAwO1xuICAgICAgICByZXR1cm4gcmVnZXhwLnRlc3Qoc3RyaW5naWZ5UmVjb3JkVmFsdWVzKGl0ZW0sIF90aGlzMy5jb21wdXRlZEZpbHRlcklnbm9yZWQsIF90aGlzMy5jb21wdXRlZEZpbHRlckluY2x1ZGVkLCBfdGhpczMuY29tcHV0ZWRGaWVsZHNPYmopKTtcbiAgICAgIH07IC8vIFJldHVybiB0aGUgZ2VuZXJhdGVkIGZ1bmN0aW9uXG5cblxuICAgICAgcmV0dXJuIGZuO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvbWl4aW4tZmlsdGVyaW5nLmpzXG4vLyBtb2R1bGUgaWQgPSAyNjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///261\n"); + +/***/ }), +/* 262 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__sanitize_row__ = __webpack_require__(199);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__stringify_object_values__ = __webpack_require__(200);\n\n\n // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nvar stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_inspect__[\"i\" /* isObject */])(row) ? Object(__WEBPACK_IMPORTED_MODULE_2__stringify_object_values__[\"a\" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_1__sanitize_row__[\"a\" /* default */])(row, ignoreFields, includeFields, fieldsObj)) : '';\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (stringifyRecordValues);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL3N0cmluZ2lmeS1yZWNvcmQtdmFsdWVzLmpzPzI0MmEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQWtEO0FBQ1Q7QUFDcUI7QUFDOUQ7O0FBRUE7QUFDQSxTQUFTLHdFQUFRLFFBQVEsaUZBQXFCLENBQUMsc0VBQVc7QUFDMUQ7O0FBRWUsOEVBQXFCIiwiZmlsZSI6IjI2Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgc2FuaXRpemVSb3cgZnJvbSAnLi9zYW5pdGl6ZS1yb3cnO1xuaW1wb3J0IHN0cmluZ2lmeU9iamVjdFZhbHVlcyBmcm9tICcuL3N0cmluZ2lmeS1vYmplY3QtdmFsdWVzJzsgLy8gU3RyaW5naWZpZXMgdGhlIHZhbHVlcyBvZiBhIHJlY29yZCwgaWdub3JpbmcgYW55IHNwZWNpYWwgdG9wIGxldmVsIGZpZWxkIGtleXNcbi8vIFRPRE86IEFkZCBvcHRpb24gdG8gc3RyaW5naWZ5IGBzY29wZWRTbG90YCBpdGVtc1xuXG52YXIgc3RyaW5naWZ5UmVjb3JkVmFsdWVzID0gZnVuY3Rpb24gc3RyaW5naWZ5UmVjb3JkVmFsdWVzKHJvdywgaWdub3JlRmllbGRzLCBpbmNsdWRlRmllbGRzLCBmaWVsZHNPYmopIHtcbiAgcmV0dXJuIGlzT2JqZWN0KHJvdykgPyBzdHJpbmdpZnlPYmplY3RWYWx1ZXMoc2FuaXRpemVSb3cocm93LCBpZ25vcmVGaWVsZHMsIGluY2x1ZGVGaWVsZHMsIGZpZWxkc09iaikpIDogJyc7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBzdHJpbmdpZnlSZWNvcmRWYWx1ZXM7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL3N0cmluZ2lmeS1yZWNvcmQtdmFsdWVzLmpzXG4vLyBtb2R1bGUgaWQgPSAyNjJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///262\n"); + +/***/ }), +/* 263 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_stable_sort__ = __webpack_require__(201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_startcase__ = __webpack_require__(85);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__default_sort_compare__ = __webpack_require__(264);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n sortBy: {\n type: String,\n default: ''\n },\n sortDesc: {\n // TODO: Make this tri-state: true, false, null\n type: Boolean,\n default: false\n },\n sortDirection: {\n // This prop is named incorrectly\n // It should be `initialSortDirection` as it is a bit misleading\n // (not to mention it screws up the ARIA label on the headers)\n type: String,\n default: 'asc',\n validator: function validator(direction) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"a\" /* arrayIncludes */])(['asc', 'desc', 'last'], direction);\n }\n },\n sortCompare: {\n type: Function,\n default: null\n },\n sortCompareOptions: {\n // Supported localCompare options, see `options` section of:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\n type: Object,\n default: function _default() {\n return {\n numeric: true\n };\n }\n },\n sortCompareLocale: {\n // String: locale code\n // Array: array of Locale strings\n type: [String, Array] // default: undefined\n\n },\n sortNullLast: {\n // Sort null and undefined to appear last\n type: Boolean,\n default: false\n },\n noSortReset: {\n // Another prop that should have had a better name.\n // It should be noSortClear (on non-sortable headers).\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n type: Boolean,\n default: false\n },\n labelSortAsc: {\n type: String,\n default: 'Click to sort Ascending'\n },\n labelSortDesc: {\n type: String,\n default: 'Click to sort Descending'\n },\n labelSortClear: {\n type: String,\n default: 'Click to clear sorting'\n },\n noLocalSorting: {\n type: Boolean,\n default: false\n },\n noFooterSorting: {\n type: Boolean,\n default: false\n },\n sortIconLeft: {\n // Place the sorting icon on the left of the header cells\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n localSortBy: this.sortBy || '',\n localSortDesc: this.sortDesc || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n sortedItems: function sortedItems() {\n // Sorts the filtered items and returns a new array of the sorted items\n // or the original items array if not sorted.\n var items = (this.filteredItems || this.localItems || []).slice();\n var sortBy = this.localSortBy;\n var sortDesc = this.localSortDesc;\n var sortCompare = this.sortCompare;\n var localSorting = this.localSorting;\n\n var sortOptions = _objectSpread({}, this.sortCompareOptions, {\n usage: 'sort'\n });\n\n var sortLocale = this.sortCompareLocale || undefined;\n var nullLast = this.sortNullLast;\n\n if (sortBy && localSorting) {\n var field = this.computedFieldsObj[sortBy] || {};\n var sortByFormatted = field.sortByFormatted;\n var formatter = Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"f\" /* isFunction */])(sortByFormatted) ? sortByFormatted : sortByFormatted ? this.getFieldFormatter(sortBy) : undefined; // `stableSort` returns a new array, and leaves the original array intact\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__utils_stable_sort__[\"a\" /* default */])(items, function (a, b) {\n var result = null;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"f\" /* isFunction */])(sortCompare)) {\n // Call user provided sortCompare routine\n result = sortCompare(a, b, sortBy, sortDesc, formatter, sortOptions, sortLocale);\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"o\" /* isUndefinedOrNull */])(result) || result === false) {\n // Fallback to built-in defaultSortCompare if sortCompare\n // is not defined or returns null/false\n result = Object(__WEBPACK_IMPORTED_MODULE_4__default_sort_compare__[\"a\" /* default */])(a, b, sortBy, sortDesc, formatter, sortOptions, sortLocale, nullLast);\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: {\n isSortable: function isSortable(newVal, oldVal)\n /* istanbul ignore next: pain in the butt to test */\n {\n if (newVal) {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort);\n }\n } else {\n this.$off('head-clicked', this.handleSort);\n }\n },\n sortDesc: function sortDesc(newVal, oldVal) {\n if (newVal === this.localSortDesc) {\n /* istanbul ignore next */\n return;\n }\n\n this.localSortDesc = newVal || false;\n },\n sortBy: function sortBy(newVal, oldVal) {\n if (newVal === this.localSortBy) {\n /* istanbul ignore next */\n return;\n }\n\n this.localSortBy = newVal || '';\n },\n // Update .sync props\n localSortDesc: function localSortDesc(newVal, oldVal) {\n // Emit update to sort-desc.sync\n if (newVal !== oldVal) {\n this.$emit('update:sortDesc', newVal);\n }\n },\n localSortBy: function localSortBy(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('update:sortBy', newVal);\n }\n }\n },\n created: function created() {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, evt, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === 'asc') {\n _this.localSortDesc = false;\n } else if (sortDirection === 'desc') {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n if (key === this.localSortBy) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = key; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = '';\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit('sort-changed', this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left': field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable;\n var ariaLabel = '';\n\n if ((!field.label || !field.label.trim()) && !field.headerTitle) {\n // In case field's label and title are empty/blank, we need to\n // add a hint about what the column is about for non-sighted users.\n // This is duplicated code from tbody-row mixin, but we need it\n // here as well, since we overwrite the original aria-label.\n\n /* istanbul ignore next */\n ariaLabel = Object(__WEBPACK_IMPORTED_MODULE_1__utils_startcase__[\"a\" /* default */])(key);\n } // The correctness of these labels is very important for screen-reader users.\n\n\n var ariaLabelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n ariaLabelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n ariaLabelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === 'asc') {\n ariaLabelSorting = this.labelSortAsc;\n } else if (sortDirection === 'desc') {\n ariaLabelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n ariaLabelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Assemble the aria-label attribute value\n\n\n ariaLabel = [ariaLabel.trim(), ariaLabelSorting.trim()].filter(Boolean).join(': '); // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attributes\n // (All the above just to get these two values)\n\n return {\n 'aria-label': ariaLabel || null,\n 'aria-sort': ariaSort\n };\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXNvcnRpbmcuanM/NGUwNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMENBQTBDLGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWE7O0FBRW5WLGdDQUFnQyxnQkFBZ0Isc0JBQXNCLE9BQU8sdURBQXVELGFBQWEsK0NBQStDLDJDQUEyQyxFQUFFLEVBQUUsRUFBRSw2Q0FBNkMsMkVBQTJFLEVBQUUsT0FBTyx5Q0FBeUMsa0ZBQWtGLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZTs7QUFFcGdCLDJDQUEyQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZOztBQUUzSjtBQUNIO0FBQ0k7QUFDa0I7QUFDZjtBQUN6QztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSwyRUFBYTtBQUM1QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBLE9BQU87O0FBRVA7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsMEVBQVUsbUdBQW1HOztBQUVySSxlQUFlLDJFQUFVO0FBQ3pCOztBQUVBLGNBQWMsMEVBQVU7QUFDeEI7QUFDQTtBQUNBOztBQUVBLGNBQWMsaUZBQWlCO0FBQy9CO0FBQ0E7QUFDQSxxQkFBcUIsOEVBQWtCO0FBQ3ZDLFdBQVc7OztBQUdYO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7OztBQUdBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVMsT0FBTztBQUNoQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLHlFQUFTO0FBQzdCLE9BQU87OztBQUdQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHlGQUF5Rjs7QUFFekY7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87OztBQUdQLHlGQUF5Rjs7QUFFekYsdUlBQXVJO0FBQ3ZJOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMjYzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKHNvdXJjZSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOyB9KTsgfSB9IHJldHVybiB0YXJnZXQ7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuaW1wb3J0IHN0YWJsZVNvcnQgZnJvbSAnLi4vLi4vLi4vdXRpbHMvc3RhYmxlLXNvcnQnO1xuaW1wb3J0IHN0YXJ0Q2FzZSBmcm9tICcuLi8uLi8uLi91dGlscy9zdGFydGNhc2UnO1xuaW1wb3J0IHsgYXJyYXlJbmNsdWRlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FycmF5JztcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgZGVmYXVsdFNvcnRDb21wYXJlIGZyb20gJy4vZGVmYXVsdC1zb3J0LWNvbXBhcmUnO1xuZXhwb3J0IGRlZmF1bHQge1xuICBwcm9wczoge1xuICAgIHNvcnRCeToge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJydcbiAgICB9LFxuICAgIHNvcnREZXNjOiB7XG4gICAgICAvLyBUT0RPOiBNYWtlIHRoaXMgdHJpLXN0YXRlOiB0cnVlLCBmYWxzZSwgbnVsbFxuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBzb3J0RGlyZWN0aW9uOiB7XG4gICAgICAvLyBUaGlzIHByb3AgaXMgbmFtZWQgaW5jb3JyZWN0bHlcbiAgICAgIC8vIEl0IHNob3VsZCBiZSBgaW5pdGlhbFNvcnREaXJlY3Rpb25gIGFzIGl0IGlzIGEgYml0IG1pc2xlYWRpbmdcbiAgICAgIC8vIChub3QgdG8gbWVudGlvbiBpdCBzY3Jld3MgdXAgdGhlIEFSSUEgbGFiZWwgb24gdGhlIGhlYWRlcnMpXG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnYXNjJyxcbiAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKGRpcmVjdGlvbikge1xuICAgICAgICByZXR1cm4gYXJyYXlJbmNsdWRlcyhbJ2FzYycsICdkZXNjJywgJ2xhc3QnXSwgZGlyZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNvcnRDb21wYXJlOiB7XG4gICAgICB0eXBlOiBGdW5jdGlvbixcbiAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICB9LFxuICAgIHNvcnRDb21wYXJlT3B0aW9uczoge1xuICAgICAgLy8gU3VwcG9ydGVkIGxvY2FsQ29tcGFyZSBvcHRpb25zLCBzZWUgYG9wdGlvbnNgIHNlY3Rpb24gb2Y6XG4gICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TdHJpbmcvbG9jYWxlQ29tcGFyZVxuICAgICAgdHlwZTogT2JqZWN0LFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbnVtZXJpYzogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0sXG4gICAgc29ydENvbXBhcmVMb2NhbGU6IHtcbiAgICAgIC8vIFN0cmluZzogbG9jYWxlIGNvZGVcbiAgICAgIC8vIEFycmF5OiBhcnJheSBvZiBMb2NhbGUgc3RyaW5nc1xuICAgICAgdHlwZTogW1N0cmluZywgQXJyYXldIC8vIGRlZmF1bHQ6IHVuZGVmaW5lZFxuXG4gICAgfSxcbiAgICBzb3J0TnVsbExhc3Q6IHtcbiAgICAgIC8vIFNvcnQgbnVsbCBhbmQgdW5kZWZpbmVkIHRvIGFwcGVhciBsYXN0XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIG5vU29ydFJlc2V0OiB7XG4gICAgICAvLyBBbm90aGVyIHByb3AgdGhhdCBzaG91bGQgaGF2ZSBoYWQgYSBiZXR0ZXIgbmFtZS5cbiAgICAgIC8vIEl0IHNob3VsZCBiZSBub1NvcnRDbGVhciAob24gbm9uLXNvcnRhYmxlIGhlYWRlcnMpLlxuICAgICAgLy8gV2Ugd2lsbCBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgZG9jdW1lbnRhdGlvbiBpcyBjbGVhciBvbiB3aGF0XG4gICAgICAvLyB0aGlzIHByb3AgZG9lcyAoYXMgd2VsbCBhcyBpbiB0aGUgY29kZSBmb3IgZnV0dXJlIHJlZmVyZW5jZSlcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbGFiZWxTb3J0QXNjOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnQ2xpY2sgdG8gc29ydCBBc2NlbmRpbmcnXG4gICAgfSxcbiAgICBsYWJlbFNvcnREZXNjOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnQ2xpY2sgdG8gc29ydCBEZXNjZW5kaW5nJ1xuICAgIH0sXG4gICAgbGFiZWxTb3J0Q2xlYXI6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICdDbGljayB0byBjbGVhciBzb3J0aW5nJ1xuICAgIH0sXG4gICAgbm9Mb2NhbFNvcnRpbmc6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbm9Gb290ZXJTb3J0aW5nOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHNvcnRJY29uTGVmdDoge1xuICAgICAgLy8gUGxhY2UgdGhlIHNvcnRpbmcgaWNvbiBvbiB0aGUgbGVmdCBvZiB0aGUgaGVhZGVyIGNlbGxzXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9XG4gIH0sXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2FsU29ydEJ5OiB0aGlzLnNvcnRCeSB8fCAnJyxcbiAgICAgIGxvY2FsU29ydERlc2M6IHRoaXMuc29ydERlc2MgfHwgZmFsc2VcbiAgICB9O1xuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGxvY2FsU29ydGluZzogZnVuY3Rpb24gbG9jYWxTb3J0aW5nKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGFzUHJvdmlkZXIgPyAhIXRoaXMubm9Qcm92aWRlclNvcnRpbmcgOiAhdGhpcy5ub0xvY2FsU29ydGluZztcbiAgICB9LFxuICAgIGlzU29ydGFibGU6IGZ1bmN0aW9uIGlzU29ydGFibGUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wdXRlZEZpZWxkcy5zb21lKGZ1bmN0aW9uIChmKSB7XG4gICAgICAgIHJldHVybiBmLnNvcnRhYmxlO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBzb3J0ZWRJdGVtczogZnVuY3Rpb24gc29ydGVkSXRlbXMoKSB7XG4gICAgICAvLyBTb3J0cyB0aGUgZmlsdGVyZWQgaXRlbXMgYW5kIHJldHVybnMgYSBuZXcgYXJyYXkgb2YgdGhlIHNvcnRlZCBpdGVtc1xuICAgICAgLy8gb3IgdGhlIG9yaWdpbmFsIGl0ZW1zIGFycmF5IGlmIG5vdCBzb3J0ZWQuXG4gICAgICB2YXIgaXRlbXMgPSAodGhpcy5maWx0ZXJlZEl0ZW1zIHx8IHRoaXMubG9jYWxJdGVtcyB8fCBbXSkuc2xpY2UoKTtcbiAgICAgIHZhciBzb3J0QnkgPSB0aGlzLmxvY2FsU29ydEJ5O1xuICAgICAgdmFyIHNvcnREZXNjID0gdGhpcy5sb2NhbFNvcnREZXNjO1xuICAgICAgdmFyIHNvcnRDb21wYXJlID0gdGhpcy5zb3J0Q29tcGFyZTtcbiAgICAgIHZhciBsb2NhbFNvcnRpbmcgPSB0aGlzLmxvY2FsU29ydGluZztcblxuICAgICAgdmFyIHNvcnRPcHRpb25zID0gX29iamVjdFNwcmVhZCh7fSwgdGhpcy5zb3J0Q29tcGFyZU9wdGlvbnMsIHtcbiAgICAgICAgdXNhZ2U6ICdzb3J0J1xuICAgICAgfSk7XG5cbiAgICAgIHZhciBzb3J0TG9jYWxlID0gdGhpcy5zb3J0Q29tcGFyZUxvY2FsZSB8fCB1bmRlZmluZWQ7XG4gICAgICB2YXIgbnVsbExhc3QgPSB0aGlzLnNvcnROdWxsTGFzdDtcblxuICAgICAgaWYgKHNvcnRCeSAmJiBsb2NhbFNvcnRpbmcpIHtcbiAgICAgICAgdmFyIGZpZWxkID0gdGhpcy5jb21wdXRlZEZpZWxkc09ialtzb3J0QnldIHx8IHt9O1xuICAgICAgICB2YXIgc29ydEJ5Rm9ybWF0dGVkID0gZmllbGQuc29ydEJ5Rm9ybWF0dGVkO1xuICAgICAgICB2YXIgZm9ybWF0dGVyID0gaXNGdW5jdGlvbihzb3J0QnlGb3JtYXR0ZWQpID8gc29ydEJ5Rm9ybWF0dGVkIDogc29ydEJ5Rm9ybWF0dGVkID8gdGhpcy5nZXRGaWVsZEZvcm1hdHRlcihzb3J0QnkpIDogdW5kZWZpbmVkOyAvLyBgc3RhYmxlU29ydGAgcmV0dXJucyBhIG5ldyBhcnJheSwgYW5kIGxlYXZlcyB0aGUgb3JpZ2luYWwgYXJyYXkgaW50YWN0XG5cbiAgICAgICAgcmV0dXJuIHN0YWJsZVNvcnQoaXRlbXMsIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IG51bGw7XG5cbiAgICAgICAgICBpZiAoaXNGdW5jdGlvbihzb3J0Q29tcGFyZSkpIHtcbiAgICAgICAgICAgIC8vIENhbGwgdXNlciBwcm92aWRlZCBzb3J0Q29tcGFyZSByb3V0aW5lXG4gICAgICAgICAgICByZXN1bHQgPSBzb3J0Q29tcGFyZShhLCBiLCBzb3J0QnksIHNvcnREZXNjLCBmb3JtYXR0ZXIsIHNvcnRPcHRpb25zLCBzb3J0TG9jYWxlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXNVbmRlZmluZWRPck51bGwocmVzdWx0KSB8fCByZXN1bHQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBidWlsdC1pbiBkZWZhdWx0U29ydENvbXBhcmUgaWYgc29ydENvbXBhcmVcbiAgICAgICAgICAgIC8vIGlzIG5vdCBkZWZpbmVkIG9yIHJldHVybnMgbnVsbC9mYWxzZVxuICAgICAgICAgICAgcmVzdWx0ID0gZGVmYXVsdFNvcnRDb21wYXJlKGEsIGIsIHNvcnRCeSwgc29ydERlc2MsIGZvcm1hdHRlciwgc29ydE9wdGlvbnMsIHNvcnRMb2NhbGUsIG51bGxMYXN0KTtcbiAgICAgICAgICB9IC8vIE5lZ2F0ZSByZXN1bHQgaWYgc29ydGluZyBpbiBkZXNjZW5kaW5nIG9yZGVyXG5cblxuICAgICAgICAgIHJldHVybiAocmVzdWx0IHx8IDApICogKHNvcnREZXNjID8gLTEgOiAxKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpdGVtcztcbiAgICB9XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgaXNTb3J0YWJsZTogZnVuY3Rpb24gaXNTb3J0YWJsZShuZXdWYWwsIG9sZFZhbClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogcGFpbiBpbiB0aGUgYnV0dCB0byB0ZXN0ICovXG4gICAge1xuICAgICAgaWYgKG5ld1ZhbCkge1xuICAgICAgICBpZiAodGhpcy5pc1NvcnRhYmxlKSB7XG4gICAgICAgICAgdGhpcy4kb24oJ2hlYWQtY2xpY2tlZCcsIHRoaXMuaGFuZGxlU29ydCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuJG9mZignaGVhZC1jbGlja2VkJywgdGhpcy5oYW5kbGVTb3J0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNvcnREZXNjOiBmdW5jdGlvbiBzb3J0RGVzYyhuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgaWYgKG5ld1ZhbCA9PT0gdGhpcy5sb2NhbFNvcnREZXNjKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2NhbFNvcnREZXNjID0gbmV3VmFsIHx8IGZhbHNlO1xuICAgIH0sXG4gICAgc29ydEJ5OiBmdW5jdGlvbiBzb3J0QnkobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIGlmIChuZXdWYWwgPT09IHRoaXMubG9jYWxTb3J0QnkpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxvY2FsU29ydEJ5ID0gbmV3VmFsIHx8ICcnO1xuICAgIH0sXG4gICAgLy8gVXBkYXRlIC5zeW5jIHByb3BzXG4gICAgbG9jYWxTb3J0RGVzYzogZnVuY3Rpb24gbG9jYWxTb3J0RGVzYyhuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgLy8gRW1pdCB1cGRhdGUgdG8gc29ydC1kZXNjLnN5bmNcbiAgICAgIGlmIChuZXdWYWwgIT09IG9sZFZhbCkge1xuICAgICAgICB0aGlzLiRlbWl0KCd1cGRhdGU6c29ydERlc2MnLCBuZXdWYWwpO1xuICAgICAgfVxuICAgIH0sXG4gICAgbG9jYWxTb3J0Qnk6IGZ1bmN0aW9uIGxvY2FsU29ydEJ5KG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICBpZiAobmV3VmFsICE9PSBvbGRWYWwpIHtcbiAgICAgICAgdGhpcy4kZW1pdCgndXBkYXRlOnNvcnRCeScsIG5ld1ZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkge1xuICAgIGlmICh0aGlzLmlzU29ydGFibGUpIHtcbiAgICAgIHRoaXMuJG9uKCdoZWFkLWNsaWNrZWQnLCB0aGlzLmhhbmRsZVNvcnQpO1xuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIC8vIEhhbmRsZXJzXG4gICAgLy8gTmVlZCB0byBtb3ZlIGZyb20gdGhlYWQtbWl4aW5cbiAgICBoYW5kbGVTb3J0OiBmdW5jdGlvbiBoYW5kbGVTb3J0KGtleSwgZmllbGQsIGV2dCwgaXNGb290KSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICBpZiAoIXRoaXMuaXNTb3J0YWJsZSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0Zvb3QgJiYgdGhpcy5ub0Zvb3RlclNvcnRpbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBUT0RPOiBtYWtlIHRoaXMgdHJpLXN0YXRlIHNvcnRpbmdcbiAgICAgIC8vIGN5Y2xlIGRlc2MgPT4gYXNjID0+IG5vbmUgPT4gZGVzYyA9PiAuLi5cblxuXG4gICAgICB2YXIgc29ydENoYW5nZWQgPSBmYWxzZTtcblxuICAgICAgdmFyIHRvZ2dsZUxvY2FsU29ydERlc2MgPSBmdW5jdGlvbiB0b2dnbGVMb2NhbFNvcnREZXNjKCkge1xuICAgICAgICB2YXIgc29ydERpcmVjdGlvbiA9IGZpZWxkLnNvcnREaXJlY3Rpb24gfHwgX3RoaXMuc29ydERpcmVjdGlvbjtcblxuICAgICAgICBpZiAoc29ydERpcmVjdGlvbiA9PT0gJ2FzYycpIHtcbiAgICAgICAgICBfdGhpcy5sb2NhbFNvcnREZXNjID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSBpZiAoc29ydERpcmVjdGlvbiA9PT0gJ2Rlc2MnKSB7XG4gICAgICAgICAgX3RoaXMubG9jYWxTb3J0RGVzYyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7Ly8gc29ydERpcmVjdGlvbiA9PT0gJ2xhc3QnXG4gICAgICAgICAgLy8gTGVhdmUgYXQgbGFzdCBzb3J0IGRpcmVjdGlvbiBmcm9tIHByZXZpb3VzIGNvbHVtblxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBpZiAoZmllbGQuc29ydGFibGUpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gdGhpcy5sb2NhbFNvcnRCeSkge1xuICAgICAgICAgIC8vIENoYW5nZSBzb3J0aW5nIGRpcmVjdGlvbiBvbiBjdXJyZW50IGNvbHVtblxuICAgICAgICAgIHRoaXMubG9jYWxTb3J0RGVzYyA9ICF0aGlzLmxvY2FsU29ydERlc2M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gU3RhcnQgc29ydGluZyB0aGlzIGNvbHVtbiBhc2NlbmRpbmdcbiAgICAgICAgICB0aGlzLmxvY2FsU29ydEJ5ID0ga2V5OyAvLyB0aGlzLmxvY2FsU29ydERlc2MgPSBmYWxzZVxuXG4gICAgICAgICAgdG9nZ2xlTG9jYWxTb3J0RGVzYygpO1xuICAgICAgICB9XG5cbiAgICAgICAgc29ydENoYW5nZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmxvY2FsU29ydEJ5ICYmICF0aGlzLm5vU29ydFJlc2V0KSB7XG4gICAgICAgIHRoaXMubG9jYWxTb3J0QnkgPSAnJztcbiAgICAgICAgdG9nZ2xlTG9jYWxTb3J0RGVzYygpO1xuICAgICAgICBzb3J0Q2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChzb3J0Q2hhbmdlZCkge1xuICAgICAgICAvLyBTb3J0aW5nIHBhcmFtZXRlcnMgY2hhbmdlZFxuICAgICAgICB0aGlzLiRlbWl0KCdzb3J0LWNoYW5nZWQnLCB0aGlzLmNvbnRleHQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gbWV0aG9kcyB0byBjb21wdXRlIGNsYXNzZXMgYW5kIGF0dHJzIGZvciB0aGVhZD50aCBjZWxsc1xuICAgIHNvcnRUaGVhZFRoQ2xhc3NlczogZnVuY3Rpb24gc29ydFRoZWFkVGhDbGFzc2VzKGtleSwgZmllbGQsIGlzRm9vdCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLy8gSWYgc29ydGFibGUgYW5kIHNvcnRJY29uTGVmdCBhcmUgdHJ1ZSwgdGhlbiBwbGFjZSBzb3J0IGljb24gb24gdGhlIGxlZnRcbiAgICAgICAgJ2ItdGFibGUtc29ydC1pY29uLWxlZnQnOiBmaWVsZC5zb3J0YWJsZSAmJiB0aGlzLnNvcnRJY29uTGVmdCAmJiAhKGlzRm9vdCAmJiB0aGlzLm5vRm9vdGVyU29ydGluZylcbiAgICAgIH07XG4gICAgfSxcbiAgICBzb3J0VGhlYWRUaEF0dHJzOiBmdW5jdGlvbiBzb3J0VGhlYWRUaEF0dHJzKGtleSwgZmllbGQsIGlzRm9vdCkge1xuICAgICAgaWYgKCF0aGlzLmlzU29ydGFibGUgfHwgaXNGb290ICYmIHRoaXMubm9Gb290ZXJTb3J0aW5nKSB7XG4gICAgICAgIC8vIE5vIGF0dHJpYnV0ZXMgaWYgbm90IGEgc29ydGFibGUgdGFibGVcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuXG4gICAgICB2YXIgc29ydGFibGUgPSBmaWVsZC5zb3J0YWJsZTtcbiAgICAgIHZhciBhcmlhTGFiZWwgPSAnJztcblxuICAgICAgaWYgKCghZmllbGQubGFiZWwgfHwgIWZpZWxkLmxhYmVsLnRyaW0oKSkgJiYgIWZpZWxkLmhlYWRlclRpdGxlKSB7XG4gICAgICAgIC8vIEluIGNhc2UgZmllbGQncyBsYWJlbCBhbmQgdGl0bGUgYXJlIGVtcHR5L2JsYW5rLCB3ZSBuZWVkIHRvXG4gICAgICAgIC8vIGFkZCBhIGhpbnQgYWJvdXQgd2hhdCB0aGUgY29sdW1uIGlzIGFib3V0IGZvciBub24tc2lnaHRlZCB1c2Vycy5cbiAgICAgICAgLy8gVGhpcyBpcyBkdXBsaWNhdGVkIGNvZGUgZnJvbSB0Ym9keS1yb3cgbWl4aW4sIGJ1dCB3ZSBuZWVkIGl0XG4gICAgICAgIC8vIGhlcmUgYXMgd2VsbCwgc2luY2Ugd2Ugb3ZlcndyaXRlIHRoZSBvcmlnaW5hbCBhcmlhLWxhYmVsLlxuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGFyaWFMYWJlbCA9IHN0YXJ0Q2FzZShrZXkpO1xuICAgICAgfSAvLyBUaGUgY29ycmVjdG5lc3Mgb2YgdGhlc2UgbGFiZWxzIGlzIHZlcnkgaW1wb3J0YW50IGZvciBzY3JlZW4tcmVhZGVyIHVzZXJzLlxuXG5cbiAgICAgIHZhciBhcmlhTGFiZWxTb3J0aW5nID0gJyc7XG5cbiAgICAgIGlmIChzb3J0YWJsZSkge1xuICAgICAgICBpZiAodGhpcy5sb2NhbFNvcnRCeSA9PT0ga2V5KSB7XG4gICAgICAgICAgLy8gY3VycmVudGx5IHNvcnRlZCBzb3J0YWJsZSBjb2x1bW4uXG4gICAgICAgICAgYXJpYUxhYmVsU29ydGluZyA9IHRoaXMubG9jYWxTb3J0RGVzYyA/IHRoaXMubGFiZWxTb3J0QXNjIDogdGhpcy5sYWJlbFNvcnREZXNjO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE5vdCBjdXJyZW50bHkgc29ydGVkIHNvcnRhYmxlIGNvbHVtbi5cbiAgICAgICAgICAvLyBOb3QgdXNpbmcgbmVzdGVkIHRlcm5hcnkncyBoZXJlIGZvciBjbGFyaXR5L3JlYWRhYmlsaXR5XG4gICAgICAgICAgLy8gRGVmYXVsdCBmb3IgYXJpYUxhYmVsXG4gICAgICAgICAgYXJpYUxhYmVsU29ydGluZyA9IHRoaXMubG9jYWxTb3J0RGVzYyA/IHRoaXMubGFiZWxTb3J0RGVzYyA6IHRoaXMubGFiZWxTb3J0QXNjOyAvLyBIYW5kbGUgc29ydERpcmVjdGlvbiBzZXR0aW5nXG5cbiAgICAgICAgICB2YXIgc29ydERpcmVjdGlvbiA9IHRoaXMuc29ydERpcmVjdGlvbiB8fCBmaWVsZC5zb3J0RGlyZWN0aW9uO1xuXG4gICAgICAgICAgaWYgKHNvcnREaXJlY3Rpb24gPT09ICdhc2MnKSB7XG4gICAgICAgICAgICBhcmlhTGFiZWxTb3J0aW5nID0gdGhpcy5sYWJlbFNvcnRBc2M7XG4gICAgICAgICAgfSBlbHNlIGlmIChzb3J0RGlyZWN0aW9uID09PSAnZGVzYycpIHtcbiAgICAgICAgICAgIGFyaWFMYWJlbFNvcnRpbmcgPSB0aGlzLmxhYmVsU29ydERlc2M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLm5vU29ydFJlc2V0KSB7XG4gICAgICAgIC8vIE5vbiBzb3J0YWJsZSBjb2x1bW5cbiAgICAgICAgYXJpYUxhYmVsU29ydGluZyA9IHRoaXMubG9jYWxTb3J0QnkgPyB0aGlzLmxhYmVsU29ydENsZWFyIDogJyc7XG4gICAgICB9IC8vIEFzc2VtYmxlIHRoZSBhcmlhLWxhYmVsIGF0dHJpYnV0ZSB2YWx1ZVxuXG5cbiAgICAgIGFyaWFMYWJlbCA9IFthcmlhTGFiZWwudHJpbSgpLCBhcmlhTGFiZWxTb3J0aW5nLnRyaW0oKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJzogJyk7IC8vIEFzc2VtYmxlIHRoZSBhcmlhLXNvcnQgYXR0cmlidXRlIHZhbHVlXG5cbiAgICAgIHZhciBhcmlhU29ydCA9IHNvcnRhYmxlICYmIHRoaXMubG9jYWxTb3J0QnkgPT09IGtleSA/IHRoaXMubG9jYWxTb3J0RGVzYyA/ICdkZXNjZW5kaW5nJyA6ICdhc2NlbmRpbmcnIDogc29ydGFibGUgPyAnbm9uZScgOiBudWxsOyAvLyBSZXR1cm4gdGhlIGF0dHJpYnV0ZXNcbiAgICAgIC8vIChBbGwgdGhlIGFib3ZlIGp1c3QgdG8gZ2V0IHRoZXNlIHR3byB2YWx1ZXMpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsIHx8IG51bGwsXG4gICAgICAgICdhcmlhLXNvcnQnOiBhcmlhU29ydFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXNvcnRpbmcuanNcbi8vIG1vZHVsZSBpZCA9IDI2M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///263\n"); + +/***/ }), +/* 264 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_get__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__stringify_object_values__ = __webpack_require__(200);\n\n\n // Default sort compare routine\n//\n// TODO: Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where sortBy could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in mixin-sort.js by\n// calling this method for each sortBy\n\nvar defaultSortCompare = function defaultSortCompare(a, b, sortBy, sortDesc, formatter, localeOpts, locale, nullLast) {\n var aa = Object(__WEBPACK_IMPORTED_MODULE_0__utils_get__[\"a\" /* default */])(a, sortBy, null);\n var bb = Object(__WEBPACK_IMPORTED_MODULE_0__utils_get__[\"a\" /* default */])(b, sortBy, null);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"f\" /* isFunction */])(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n }\n\n aa = Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"o\" /* isUndefinedOrNull */])(aa) ? '' : aa;\n bb = Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"o\" /* isUndefinedOrNull */])(bb) ? '' : bb;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"c\" /* isDate */])(aa) && Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"c\" /* isDate */])(bb) || Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"h\" /* isNumber */])(aa) && Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"h\" /* isNumber */])(bb)) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting null/undefined/empty string last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting null/undefined/empty string last\n return -1;\n } // Do localized string comparison\n\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__stringify_object_values__[\"a\" /* default */])(aa).localeCompare(Object(__WEBPACK_IMPORTED_MODULE_2__stringify_object_values__[\"a\" /* default */])(bb), locale, localeOpts);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (defaultSortCompare);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL2RlZmF1bHQtc29ydC1jb21wYXJlLmpzPzRmZmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQXFDO0FBQ29EO0FBQzNCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwyQkFBMkIsR0FBRywyQkFBMkI7QUFDakY7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxtRUFBRztBQUNkLFdBQVcsbUVBQUc7O0FBRWQsTUFBTSwwRUFBVTtBQUNoQjtBQUNBO0FBQ0E7O0FBRUEsT0FBTyxpRkFBaUI7QUFDeEIsT0FBTyxpRkFBaUI7O0FBRXhCLE1BQU0sc0VBQU0sUUFBUSxzRUFBTSxRQUFRLHdFQUFRLFFBQVEsd0VBQVE7QUFDMUQ7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7OztBQUdILFNBQVMsaUZBQXFCLG1CQUFtQixpRkFBcUI7QUFDdEU7O0FBRWUsMkVBQWtCIiwiZmlsZSI6IjI2NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXQgZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ2V0JztcbmltcG9ydCB7IGlzRGF0ZSwgaXNGdW5jdGlvbiwgaXNOdW1iZXIsIGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgc3RyaW5naWZ5T2JqZWN0VmFsdWVzIGZyb20gJy4vc3RyaW5naWZ5LW9iamVjdC12YWx1ZXMnOyAvLyBEZWZhdWx0IHNvcnQgY29tcGFyZSByb3V0aW5lXG4vL1xuLy8gVE9ETzogQWRkIG9wdGlvbiB0byBzb3J0IGJ5IG11bHRpcGxlIGNvbHVtbnMgKHRyaS1zdGF0ZSBwZXIgY29sdW1uLFxuLy8gICAgICAgcGx1cyBvcmRlciBvZiBjb2x1bW5zIGluIHNvcnQpICB3aGVyZSBzb3J0QnkgY291bGQgYmUgYW4gYXJyYXlcbi8vICAgICAgIG9mIG9iamVjdHMgYFsge2tleTogJ2ZvbycsIHNvcnREaXI6ICdhc2MnfSwge2tleTonYmFyJywgc29ydERpcjogJ2Rlc2MnfSAuLi5dYFxuLy8gICAgICAgb3IgYW4gYXJyYXkgb2YgYXJyYXlzIGBbIFsnZm9vJywnYXNjJ10sIFsnYmFyJywnZGVzYyddIF1gXG4vLyAgICAgICBNdWx0aXNvcnQgd2lsbCBtb3N0IGxpa2VseSBiZSBoYW5kbGVkIGluIG1peGluLXNvcnQuanMgYnlcbi8vICAgICAgIGNhbGxpbmcgdGhpcyBtZXRob2QgZm9yIGVhY2ggc29ydEJ5XG5cbnZhciBkZWZhdWx0U29ydENvbXBhcmUgPSBmdW5jdGlvbiBkZWZhdWx0U29ydENvbXBhcmUoYSwgYiwgc29ydEJ5LCBzb3J0RGVzYywgZm9ybWF0dGVyLCBsb2NhbGVPcHRzLCBsb2NhbGUsIG51bGxMYXN0KSB7XG4gIHZhciBhYSA9IGdldChhLCBzb3J0QnksIG51bGwpO1xuICB2YXIgYmIgPSBnZXQoYiwgc29ydEJ5LCBudWxsKTtcblxuICBpZiAoaXNGdW5jdGlvbihmb3JtYXR0ZXIpKSB7XG4gICAgYWEgPSBmb3JtYXR0ZXIoYWEsIHNvcnRCeSwgYSk7XG4gICAgYmIgPSBmb3JtYXR0ZXIoYmIsIHNvcnRCeSwgYik7XG4gIH1cblxuICBhYSA9IGlzVW5kZWZpbmVkT3JOdWxsKGFhKSA/ICcnIDogYWE7XG4gIGJiID0gaXNVbmRlZmluZWRPck51bGwoYmIpID8gJycgOiBiYjtcblxuICBpZiAoaXNEYXRlKGFhKSAmJiBpc0RhdGUoYmIpIHx8IGlzTnVtYmVyKGFhKSAmJiBpc051bWJlcihiYikpIHtcbiAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIGNvbXBhcmluZyBkYXRlcyBhbmQgbnVtYmVyc1xuICAgIC8vIEludGVybmFsbHkgZGF0ZXMgYXJlIGNvbXBhcmVkIHZpYSB0aGVpciBlcG9jaCBudW1iZXIgdmFsdWVzXG4gICAgcmV0dXJuIGFhIDwgYmIgPyAtMSA6IGFhID4gYmIgPyAxIDogMDtcbiAgfSBlbHNlIGlmIChudWxsTGFzdCAmJiBhYSA9PT0gJycgJiYgYmIgIT09ICcnKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlIHdoZW4gc29ydGluZyBudWxsL3VuZGVmaW5lZC9lbXB0eSBzdHJpbmcgbGFzdFxuICAgIHJldHVybiAxO1xuICB9IGVsc2UgaWYgKG51bGxMYXN0ICYmIGFhICE9PSAnJyAmJiBiYiA9PT0gJycpIHtcbiAgICAvLyBTcGVjaWFsIGNhc2Ugd2hlbiBzb3J0aW5nIG51bGwvdW5kZWZpbmVkL2VtcHR5IHN0cmluZyBsYXN0XG4gICAgcmV0dXJuIC0xO1xuICB9IC8vIERvIGxvY2FsaXplZCBzdHJpbmcgY29tcGFyaXNvblxuXG5cbiAgcmV0dXJuIHN0cmluZ2lmeU9iamVjdFZhbHVlcyhhYSkubG9jYWxlQ29tcGFyZShzdHJpbmdpZnlPYmplY3RWYWx1ZXMoYmIpLCBsb2NhbGUsIGxvY2FsZU9wdHMpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZGVmYXVsdFNvcnRDb21wYXJlO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvaGVscGVycy9kZWZhdWx0LXNvcnQtY29tcGFyZS5qc1xuLy8gbW9kdWxlIGlkID0gMjY0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///264\n"); + +/***/ }), +/* 265 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n perPage: {\n type: [Number, String],\n default: 0\n },\n currentPage: {\n type: [Number, String],\n default: 1\n }\n },\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var items = this.sortedItems || this.filteredItems || this.localItems || [];\n var currentPage = Math.max(parseInt(this.currentPage, 10) || 1, 1);\n var perPage = Math.max(parseInt(this.perPage, 10) || 0, 0); // Apply local pagination\n\n if (this.localPaging && !!perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage);\n } // Return the items to display in the table\n\n\n return items;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXBhZ2luYXRpb24uanM/MTRjNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxpRUFBaUU7O0FBRWpFO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiMjY1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBwcm9wczoge1xuICAgIHBlclBhZ2U6IHtcbiAgICAgIHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sXG4gICAgICBkZWZhdWx0OiAwXG4gICAgfSxcbiAgICBjdXJyZW50UGFnZToge1xuICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSxcbiAgICAgIGRlZmF1bHQ6IDFcbiAgICB9XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgbG9jYWxQYWdpbmc6IGZ1bmN0aW9uIGxvY2FsUGFnaW5nKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGFzUHJvdmlkZXIgPyAhIXRoaXMubm9Qcm92aWRlclBhZ2luZyA6IHRydWU7XG4gICAgfSxcbiAgICBwYWdpbmF0ZWRJdGVtczogZnVuY3Rpb24gcGFnaW5hdGVkSXRlbXMoKSB7XG4gICAgICB2YXIgaXRlbXMgPSB0aGlzLnNvcnRlZEl0ZW1zIHx8IHRoaXMuZmlsdGVyZWRJdGVtcyB8fCB0aGlzLmxvY2FsSXRlbXMgfHwgW107XG4gICAgICB2YXIgY3VycmVudFBhZ2UgPSBNYXRoLm1heChwYXJzZUludCh0aGlzLmN1cnJlbnRQYWdlLCAxMCkgfHwgMSwgMSk7XG4gICAgICB2YXIgcGVyUGFnZSA9IE1hdGgubWF4KHBhcnNlSW50KHRoaXMucGVyUGFnZSwgMTApIHx8IDAsIDApOyAvLyBBcHBseSBsb2NhbCBwYWdpbmF0aW9uXG5cbiAgICAgIGlmICh0aGlzLmxvY2FsUGFnaW5nICYmICEhcGVyUGFnZSkge1xuICAgICAgICAvLyBHcmFiIHRoZSBjdXJyZW50IHBhZ2Ugb2YgZGF0YSAod2hpY2ggbWF5IGJlIHBhc3QgZmlsdGVyZWQgaXRlbXMgbGltaXQpXG4gICAgICAgIGl0ZW1zID0gaXRlbXMuc2xpY2UoKGN1cnJlbnRQYWdlIC0gMSkgKiBwZXJQYWdlLCBjdXJyZW50UGFnZSAqIHBlclBhZ2UpO1xuICAgICAgfSAvLyBSZXR1cm4gdGhlIGl0ZW1zIHRvIGRpc3BsYXkgaW4gdGhlIHRhYmxlXG5cblxuICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvbWl4aW4tcGFnaW5hdGlvbi5qc1xuLy8gbW9kdWxlIGlkID0gMjY1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///265\n"); + +/***/ }), +/* 266 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_get__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_to_string__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tr__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__td__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__th__ = __webpack_require__(49);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n\n\nvar detailsSlotName = 'row-details';\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n tbodyTrClass: {\n type: [String, Array, Function],\n default: null\n }\n },\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues: function getTdValues(item, key, tdValue, defValue) {\n var parent = this.$parent;\n\n if (tdValue) {\n var value = Object(__WEBPACK_IMPORTED_MODULE_0__utils_get__[\"a\" /* default */])(item, key, '');\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(tdValue)) {\n return tdValue(value, key, item);\n } else if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"m\" /* isString */])(tdValue) && Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(parent[tdValue])) {\n return parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defValue;\n },\n getThValues: function getThValues(item, key, thValue, type, defValue) {\n var parent = this.$parent;\n\n if (thValue) {\n var value = Object(__WEBPACK_IMPORTED_MODULE_0__utils_get__[\"a\" /* default */])(item, key, '');\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(thValue)) {\n return thValue(value, key, item, type);\n } else if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"m\" /* isString */])(thValue) && Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(parent[thValue])) {\n return parent[thValue](value, key, item, type);\n }\n\n return thValue;\n }\n\n return defValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = this.getFieldFormatter(key);\n var value = Object(__WEBPACK_IMPORTED_MODULE_0__utils_get__[\"a\" /* default */])(item, key, null);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(formatter)) {\n value = formatter(value, key, item);\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"o\" /* isUndefinedOrNull */])(value) ? '' : value;\n },\n // Factory function methods\n toggleDetailsFactory: function toggleDetailsFactory(hasDetailsSlot, item) {\n var _this = this;\n\n // Returns a function to toggle a row's details slot\n return function () {\n if (hasDetailsSlot) {\n _this.$set(item, '_showDetails', !item._showDetails);\n }\n };\n },\n // Row event handlers\n rowHovered: function rowHovered(evt) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(evt)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent('row-hovered', evt);\n }\n },\n rowUnhovered: function rowUnhovered(evt) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(evt)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent('row-unhovered', evt);\n }\n },\n // Render helpers\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n // Renders a TD or TH for a row's field\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(detailsSlotName);\n var formatted = this.getFormattedValue(item, field);\n var key = field.key; // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n\n var cellTag = field.stickyColumn ? field.isRowHeader ? __WEBPACK_IMPORTED_MODULE_5__th__[\"a\" /* BTh */] : __WEBPACK_IMPORTED_MODULE_4__td__[\"a\" /* BTd */] : field.isRowHeader ? 'th' : 'td';\n var cellVariant = item._cellVariants && item._cellVariants[key] ? item._cellVariants[key] : field.variant || null;\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(key),\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: _objectSpread({\n 'aria-colindex': String(colIndex + 1)\n }, field.isRowHeader ? this.getThValues(item, key, field.thAttr, 'row', {}) : this.getTdValues(item, key, field.tdAttr, {}))\n };\n\n if (field.stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: this.isStacked ? field.label : null,\n stickyColumn: field.stickyColumn,\n variant: cellVariant\n };\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] = this.isStacked && !Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"o\" /* isUndefinedOrNull */])(field.label) ? Object(__WEBPACK_IMPORTED_MODULE_1__utils_to_string__[\"a\" /* default */])(field.label) : null;\n data.attrs.role = field.isRowHeader ? 'rowheader' : 'cell';\n data.attrs.scope = field.isRowHeader ? 'row' : null; // Add in the variant class\n\n if (cellVariant) {\n data.class.push(\"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(cellVariant));\n }\n }\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: Object(__WEBPACK_IMPORTED_MODULE_0__utils_get__[\"a\" /* default */])(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item._showDetails)\n };\n\n if (this.selectedRows) {\n // Add in rowSelected scope property if selectable rows supported\n slotScope.rowSelected = this.isRowSelected(rowIndex);\n } // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n\n\n var slotName = this.$_bodyFieldSlotNameCache[key];\n var $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : Object(__WEBPACK_IMPORTED_MODULE_1__utils_to_string__[\"a\" /* default */])(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', {}, [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(cellTag, data, [$childNodes]);\n },\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this2 = this;\n\n // Renders an item's row (or rows if details supported)\n var h = this.$createElement;\n var fields = this.computedFields;\n var tableStriped = this.striped;\n var hasDetailsSlot = this.hasNormalizedSlot(detailsSlotName);\n var rowShowDetails = Boolean(item._showDetails && hasDetailsSlot);\n var hasRowClickHandler = this.$listeners['row-clicked'] || this.isSelectable; // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null; // For each item data field in row\n\n var $tds = fields.map(function (field, colIndex) {\n return _this2.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (this.currentPage && this.perPage && this.perPage > 0) {\n ariaRowIndex = String((this.currentPage - 1) * this.perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKey = this.primaryKey;\n var hasPkValue = primaryKey && !Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"o\" /* isUndefinedOrNull */])(item[primaryKey]);\n var rowKey = hasPkValue ? Object(__WEBPACK_IMPORTED_MODULE_1__utils_to_string__[\"a\" /* default */])(item[primaryKey]) : String(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = hasPkValue ? this.safeId(\"_row_\".concat(item[primaryKey])) : null; // Selectable classes and attributes\n\n var selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {};\n var selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}; // Add the item row\n\n $rows.push(h(__WEBPACK_IMPORTED_MODULE_3__tr__[\"a\" /* BTr */], {\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'itemRows',\n refInFor: true,\n class: [Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(this.tbodyTrClass) ? this.tbodyTrClass(item, 'row') : this.tbodyTrClass, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: {\n variant: item._rowVariant || null\n },\n attrs: _objectSpread({\n id: rowId,\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': rowId ? String(item[primaryKey]) : null,\n // Should this be `aria-details` instead?\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex\n }, selectableAttrs),\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n }\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }; // Render the details slot in a TD\n\n var $details = h(__WEBPACK_IMPORTED_MODULE_4__td__[\"a\" /* BTd */], {\n props: {\n colspan: fields.length\n }\n }, [this.normalizeSlot(detailsSlotName, detailsScope)]); // Add a hidden row to keep table row striping consistent when details showing\n\n if (tableStriped) {\n $rows.push( // We don't use `BTr` here as we dont need the extra functionality\n h('tr', {\n key: \"__b-table-details-stripe__\".concat(rowKey),\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n }\n }));\n } // Add the actual details row\n\n\n $rows.push(h(__WEBPACK_IMPORTED_MODULE_3__tr__[\"a\" /* BTr */], {\n key: \"__b-table-details__\".concat(rowKey),\n staticClass: 'b-table-details',\n class: [Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(this.tbodyTrClass) ? this.tbodyTrClass(item, detailsSlotName) : this.tbodyTrClass],\n props: {\n variant: item._rowVariant || null\n },\n attrs: {\n id: detailsId,\n tabindex: '-1'\n }\n }, [$details]));\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h());\n\n if (tableStriped) {\n // Add extra placeholder if table is striped\n $rows.push(h());\n }\n } // Return the row(s)\n\n\n return $rows;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXRib2R5LXJvdy5qcz83YTkwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFMUs7QUFDVztBQUNpQztBQUNyRDtBQUNBO0FBQ0E7QUFDNUI7QUFDZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IsbUVBQUc7O0FBRXZCLFlBQVksMEVBQVU7QUFDdEI7QUFDQSxTQUFTLFVBQVUsd0VBQVEsYUFBYSwwRUFBVTtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLG9CQUFvQixtRUFBRzs7QUFFdkIsWUFBWSwwRUFBVTtBQUN0QjtBQUNBLFNBQVMsVUFBVSx3RUFBUSxhQUFhLDBFQUFVO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixtRUFBRzs7QUFFckIsVUFBVSwwRUFBVTtBQUNwQjtBQUNBOztBQUVBLGFBQWEsaUZBQWlCO0FBQzlCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7O0FBRUEsNkRBQTZELGdEQUFHLEdBQUcsZ0RBQUc7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxTQUFTLFFBQVEsSUFBSTtBQUNyRTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxTQUFTLHlFQUF5RSxnREFBZ0Q7QUFDbEk7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLHNEQUFzRCxpRkFBaUIsZ0JBQWdCLHlFQUFRO0FBQy9GO0FBQ0EsNERBQTREOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixtRUFBRztBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QsSUFBSSxZQUFZLGtCQUFrQjtBQUNwRjtBQUNBOzs7QUFHQTtBQUNBLDZFQUE2RSx5RUFBUTs7QUFFckY7QUFDQTtBQUNBLGtDQUFrQztBQUNsQyxPQUFPOzs7QUFHUDtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1GQUFtRjs7QUFFbkYscUJBQXFCO0FBQ3JCO0FBQ0E7O0FBRUEsNkZBQTZGOztBQUU3RjtBQUNBO0FBQ0EsT0FBTyxFQUFFOztBQUVUOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLHNDQUFzQyxpRkFBaUI7QUFDdkQsZ0NBQWdDLHlFQUFRLHNDQUFzQztBQUM5RSw0QkFBNEIsUUFBUSxPQUFPLGdCQUFnQjs7QUFFM0Qsb0ZBQW9GOztBQUVwRjtBQUNBLDZGQUE2Rjs7QUFFN0YsbUJBQW1CLGdEQUFHO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwwRUFBVTtBQUMxQjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sU0FBUzs7QUFFaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7QUFFVix5QkFBeUIsZ0RBQUc7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsU0FBUyx1REFBdUQ7O0FBRWhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTOzs7QUFHVCxxQkFBcUIsZ0RBQUc7QUFDeEI7QUFDQTtBQUNBLGtCQUFrQiwwRUFBVTtBQUM1QjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIyNjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5pbXBvcnQgZ2V0IGZyb20gJy4uLy4uLy4uL3V0aWxzL2dldCc7XG5pbXBvcnQgdG9TdHJpbmcgZnJvbSAnLi4vLi4vLi4vdXRpbHMvdG8tc3RyaW5nJztcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzU3RyaW5nLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHsgQlRyIH0gZnJvbSAnLi4vdHInO1xuaW1wb3J0IHsgQlRkIH0gZnJvbSAnLi4vdGQnO1xuaW1wb3J0IHsgQlRoIH0gZnJvbSAnLi4vdGgnO1xudmFyIGRldGFpbHNTbG90TmFtZSA9ICdyb3ctZGV0YWlscyc7XG5leHBvcnQgZGVmYXVsdCB7XG4gIHByb3BzOiB7XG4gICAgdGJvZHlUckNsYXNzOiB7XG4gICAgICB0eXBlOiBbU3RyaW5nLCBBcnJheSwgRnVuY3Rpb25dLFxuICAgICAgZGVmYXVsdDogbnVsbFxuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIC8vIE1ldGhvZHMgZm9yIGNvbXB1dGluZyBjbGFzc2VzLCBhdHRyaWJ1dGVzIGFuZCBzdHlsZXMgZm9yIHRhYmxlIGNlbGxzXG4gICAgZ2V0VGRWYWx1ZXM6IGZ1bmN0aW9uIGdldFRkVmFsdWVzKGl0ZW0sIGtleSwgdGRWYWx1ZSwgZGVmVmFsdWUpIHtcbiAgICAgIHZhciBwYXJlbnQgPSB0aGlzLiRwYXJlbnQ7XG5cbiAgICAgIGlmICh0ZFZhbHVlKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGdldChpdGVtLCBrZXksICcnKTtcblxuICAgICAgICBpZiAoaXNGdW5jdGlvbih0ZFZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiB0ZFZhbHVlKHZhbHVlLCBrZXksIGl0ZW0pO1xuICAgICAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKHRkVmFsdWUpICYmIGlzRnVuY3Rpb24ocGFyZW50W3RkVmFsdWVdKSkge1xuICAgICAgICAgIHJldHVybiBwYXJlbnRbdGRWYWx1ZV0odmFsdWUsIGtleSwgaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGRWYWx1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRlZlZhbHVlO1xuICAgIH0sXG4gICAgZ2V0VGhWYWx1ZXM6IGZ1bmN0aW9uIGdldFRoVmFsdWVzKGl0ZW0sIGtleSwgdGhWYWx1ZSwgdHlwZSwgZGVmVmFsdWUpIHtcbiAgICAgIHZhciBwYXJlbnQgPSB0aGlzLiRwYXJlbnQ7XG5cbiAgICAgIGlmICh0aFZhbHVlKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGdldChpdGVtLCBrZXksICcnKTtcblxuICAgICAgICBpZiAoaXNGdW5jdGlvbih0aFZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiB0aFZhbHVlKHZhbHVlLCBrZXksIGl0ZW0sIHR5cGUpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKHRoVmFsdWUpICYmIGlzRnVuY3Rpb24ocGFyZW50W3RoVmFsdWVdKSkge1xuICAgICAgICAgIHJldHVybiBwYXJlbnRbdGhWYWx1ZV0odmFsdWUsIGtleSwgaXRlbSwgdHlwZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhWYWx1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRlZlZhbHVlO1xuICAgIH0sXG4gICAgLy8gTWV0aG9kIHRvIGdldCB0aGUgdmFsdWUgZm9yIGEgZmllbGRcbiAgICBnZXRGb3JtYXR0ZWRWYWx1ZTogZnVuY3Rpb24gZ2V0Rm9ybWF0dGVkVmFsdWUoaXRlbSwgZmllbGQpIHtcbiAgICAgIHZhciBrZXkgPSBmaWVsZC5rZXk7XG4gICAgICB2YXIgZm9ybWF0dGVyID0gdGhpcy5nZXRGaWVsZEZvcm1hdHRlcihrZXkpO1xuICAgICAgdmFyIHZhbHVlID0gZ2V0KGl0ZW0sIGtleSwgbnVsbCk7XG5cbiAgICAgIGlmIChpc0Z1bmN0aW9uKGZvcm1hdHRlcikpIHtcbiAgICAgICAgdmFsdWUgPSBmb3JtYXR0ZXIodmFsdWUsIGtleSwgaXRlbSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpc1VuZGVmaW5lZE9yTnVsbCh2YWx1ZSkgPyAnJyA6IHZhbHVlO1xuICAgIH0sXG4gICAgLy8gRmFjdG9yeSBmdW5jdGlvbiBtZXRob2RzXG4gICAgdG9nZ2xlRGV0YWlsc0ZhY3Rvcnk6IGZ1bmN0aW9uIHRvZ2dsZURldGFpbHNGYWN0b3J5KGhhc0RldGFpbHNTbG90LCBpdGVtKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAvLyBSZXR1cm5zIGEgZnVuY3Rpb24gdG8gdG9nZ2xlIGEgcm93J3MgZGV0YWlscyBzbG90XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoaGFzRGV0YWlsc1Nsb3QpIHtcbiAgICAgICAgICBfdGhpcy4kc2V0KGl0ZW0sICdfc2hvd0RldGFpbHMnLCAhaXRlbS5fc2hvd0RldGFpbHMpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sXG4gICAgLy8gUm93IGV2ZW50IGhhbmRsZXJzXG4gICAgcm93SG92ZXJlZDogZnVuY3Rpb24gcm93SG92ZXJlZChldnQpIHtcbiAgICAgIC8vIGBtb3VzZWVudGVyYCBoYW5kbGVyIChub24tYnViYmxpbmcpXG4gICAgICAvLyBgdGhpcy50Ym9keVJvd0V2dFN0b3BwZWRgIGZyb20gdGJvZHkgbWl4aW5cbiAgICAgIGlmICghdGhpcy50Ym9keVJvd0V2dFN0b3BwZWQoZXZ0KSkge1xuICAgICAgICAvLyBgdGhpcy5lbWl0VGJvZHlSb3dFdmVudGAgZnJvbSB0Ym9keSBtaXhpblxuICAgICAgICB0aGlzLmVtaXRUYm9keVJvd0V2ZW50KCdyb3ctaG92ZXJlZCcsIGV2dCk7XG4gICAgICB9XG4gICAgfSxcbiAgICByb3dVbmhvdmVyZWQ6IGZ1bmN0aW9uIHJvd1VuaG92ZXJlZChldnQpIHtcbiAgICAgIC8vIGBtb3VzZWxlYXZlYCBoYW5kbGVyIChub24tYnViYmxpbmcpXG4gICAgICAvLyBgdGhpcy50Ym9keVJvd0V2dFN0b3BwZWRgIGZyb20gdGJvZHkgbWl4aW5cbiAgICAgIGlmICghdGhpcy50Ym9keVJvd0V2dFN0b3BwZWQoZXZ0KSkge1xuICAgICAgICAvLyBgdGhpcy5lbWl0VGJvZHlSb3dFdmVudGAgZnJvbSB0Ym9keSBtaXhpblxuICAgICAgICB0aGlzLmVtaXRUYm9keVJvd0V2ZW50KCdyb3ctdW5ob3ZlcmVkJywgZXZ0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFJlbmRlciBoZWxwZXJzXG4gICAgcmVuZGVyVGJvZHlSb3dDZWxsOiBmdW5jdGlvbiByZW5kZXJUYm9keVJvd0NlbGwoZmllbGQsIGNvbEluZGV4LCBpdGVtLCByb3dJbmRleCkge1xuICAgICAgLy8gUmVuZGVycyBhIFREIG9yIFRIIGZvciBhIHJvdydzIGZpZWxkXG4gICAgICB2YXIgaCA9IHRoaXMuJGNyZWF0ZUVsZW1lbnQ7XG4gICAgICB2YXIgaGFzRGV0YWlsc1Nsb3QgPSB0aGlzLmhhc05vcm1hbGl6ZWRTbG90KGRldGFpbHNTbG90TmFtZSk7XG4gICAgICB2YXIgZm9ybWF0dGVkID0gdGhpcy5nZXRGb3JtYXR0ZWRWYWx1ZShpdGVtLCBmaWVsZCk7XG4gICAgICB2YXIga2V5ID0gZmllbGQua2V5OyAvLyBXZSBvbmx5IHVzZXMgdGhlIGhlbHBlciBjb21wb25lbnRzIGZvciBzdGlja3kgY29sdW1ucyB0b1xuICAgICAgLy8gaW1wcm92ZSBwZXJmb3JtYW5jZSBvZiBCVGFibGUvQlRhYmxlTGl0ZSBieSByZWR1Y2luZyB0aGVcbiAgICAgIC8vIHRvdGFsIG51bWJlciBvZiB2dWUgaW5zdGFuY2VzIGNyZWF0ZWQgZHVyaW5nIHJlbmRlclxuXG4gICAgICB2YXIgY2VsbFRhZyA9IGZpZWxkLnN0aWNreUNvbHVtbiA/IGZpZWxkLmlzUm93SGVhZGVyID8gQlRoIDogQlRkIDogZmllbGQuaXNSb3dIZWFkZXIgPyAndGgnIDogJ3RkJztcbiAgICAgIHZhciBjZWxsVmFyaWFudCA9IGl0ZW0uX2NlbGxWYXJpYW50cyAmJiBpdGVtLl9jZWxsVmFyaWFudHNba2V5XSA/IGl0ZW0uX2NlbGxWYXJpYW50c1trZXldIDogZmllbGQudmFyaWFudCB8fCBudWxsO1xuICAgICAgdmFyIGRhdGEgPSB7XG4gICAgICAgIC8vIEZvciB0aGUgVnVlIGtleSwgd2UgY29uY2F0ZW5hdGUgdGhlIGNvbHVtbiBpbmRleCBhbmRcbiAgICAgICAgLy8gZmllbGQga2V5IChhcyBmaWVsZCBrZXlzIGNvdWxkIGJlIGR1cGxpY2F0ZWQpXG4gICAgICAgIC8vIFRPRE86IEFsdGhvdWdoIHdlIGRvIHByZXZlbnQgZHVwbGljYXRlIGZpZWxkIGtleXMuLi5cbiAgICAgICAgLy8gICBTbyB3ZSBjb3VsZCBjaGFuZ2UgdGhpcyB0bzogYHJvdy0ke3Jvd0luZGV4fS1jZWxsLSR7a2V5fWBcbiAgICAgICAga2V5OiBcInJvdy1cIi5jb25jYXQocm93SW5kZXgsIFwiLWNlbGwtXCIpLmNvbmNhdChjb2xJbmRleCwgXCItXCIpLmNvbmNhdChrZXkpLFxuICAgICAgICBjbGFzczogW2ZpZWxkLmNsYXNzID8gZmllbGQuY2xhc3MgOiAnJywgdGhpcy5nZXRUZFZhbHVlcyhpdGVtLCBrZXksIGZpZWxkLnRkQ2xhc3MsICcnKV0sXG4gICAgICAgIHByb3BzOiB7fSxcbiAgICAgICAgYXR0cnM6IF9vYmplY3RTcHJlYWQoe1xuICAgICAgICAgICdhcmlhLWNvbGluZGV4JzogU3RyaW5nKGNvbEluZGV4ICsgMSlcbiAgICAgICAgfSwgZmllbGQuaXNSb3dIZWFkZXIgPyB0aGlzLmdldFRoVmFsdWVzKGl0ZW0sIGtleSwgZmllbGQudGhBdHRyLCAncm93Jywge30pIDogdGhpcy5nZXRUZFZhbHVlcyhpdGVtLCBrZXksIGZpZWxkLnRkQXR0ciwge30pKVxuICAgICAgfTtcblxuICAgICAgaWYgKGZpZWxkLnN0aWNreUNvbHVtbikge1xuICAgICAgICAvLyBXZSBhcmUgdXNpbmcgdGhlIGhlbHBlciBCVGQgb3IgQlRoXG4gICAgICAgIGRhdGEucHJvcHMgPSB7XG4gICAgICAgICAgc3RhY2tlZEhlYWRpbmc6IHRoaXMuaXNTdGFja2VkID8gZmllbGQubGFiZWwgOiBudWxsLFxuICAgICAgICAgIHN0aWNreUNvbHVtbjogZmllbGQuc3RpY2t5Q29sdW1uLFxuICAgICAgICAgIHZhcmlhbnQ6IGNlbGxWYXJpYW50XG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBVc2luZyBuYXRpdmUgVEQgb3IgVEggZWxlbWVudCwgc28gd2UgbmVlZCB0b1xuICAgICAgICAvLyBhZGQgaW4gdGhlIGF0dHJpYnV0ZXMgYW5kIHZhcmlhbnQgY2xhc3NcbiAgICAgICAgZGF0YS5hdHRyc1snZGF0YS1sYWJlbCddID0gdGhpcy5pc1N0YWNrZWQgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGZpZWxkLmxhYmVsKSA/IHRvU3RyaW5nKGZpZWxkLmxhYmVsKSA6IG51bGw7XG4gICAgICAgIGRhdGEuYXR0cnMucm9sZSA9IGZpZWxkLmlzUm93SGVhZGVyID8gJ3Jvd2hlYWRlcicgOiAnY2VsbCc7XG4gICAgICAgIGRhdGEuYXR0cnMuc2NvcGUgPSBmaWVsZC5pc1Jvd0hlYWRlciA/ICdyb3cnIDogbnVsbDsgLy8gQWRkIGluIHRoZSB2YXJpYW50IGNsYXNzXG5cbiAgICAgICAgaWYgKGNlbGxWYXJpYW50KSB7XG4gICAgICAgICAgZGF0YS5jbGFzcy5wdXNoKFwiXCIuY29uY2F0KHRoaXMuZGFyayA/ICdiZycgOiAndGFibGUnLCBcIi1cIikuY29uY2F0KGNlbGxWYXJpYW50KSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHNsb3RTY29wZSA9IHtcbiAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgaW5kZXg6IHJvd0luZGV4LFxuICAgICAgICBmaWVsZDogZmllbGQsXG4gICAgICAgIHVuZm9ybWF0dGVkOiBnZXQoaXRlbSwga2V5LCAnJyksXG4gICAgICAgIHZhbHVlOiBmb3JtYXR0ZWQsXG4gICAgICAgIHRvZ2dsZURldGFpbHM6IHRoaXMudG9nZ2xlRGV0YWlsc0ZhY3RvcnkoaGFzRGV0YWlsc1Nsb3QsIGl0ZW0pLFxuICAgICAgICBkZXRhaWxzU2hvd2luZzogQm9vbGVhbihpdGVtLl9zaG93RGV0YWlscylcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkUm93cykge1xuICAgICAgICAvLyBBZGQgaW4gcm93U2VsZWN0ZWQgc2NvcGUgcHJvcGVydHkgaWYgc2VsZWN0YWJsZSByb3dzIHN1cHBvcnRlZFxuICAgICAgICBzbG90U2NvcGUucm93U2VsZWN0ZWQgPSB0aGlzLmlzUm93U2VsZWN0ZWQocm93SW5kZXgpO1xuICAgICAgfSAvLyBUaGUgbmV3IGB2LXNsb3RgIHN5bnRheCBkb2Vzbid0IGxpa2UgYSBzbG90IG5hbWUgc3RhcnRpbmcgd2l0aFxuICAgICAgLy8gYSBzcXVhcmUgYnJhY2tldCBhbmQgaWYgdXNpbmcgaW4tZG9jdW1lbnQgSFRNTCB0ZW1wbGF0ZXMsIHRoZVxuICAgICAgLy8gdi1zbG90IGF0dHJpYnV0ZXMgYXJlIGxvd2VyLWNhc2VkIGJ5IHRoZSBicm93c2VyLlxuICAgICAgLy8gU3dpdGNoZWQgdG8gcm91bmQgYnJhY2tldCBzeW50YXggdG8gcHJldmVudCBjb25mdXNpb24gd2l0aFxuICAgICAgLy8gZHluYW1pYyBzbG90IG5hbWUgc3ludGF4LlxuICAgICAgLy8gV2UgbG9vayBmb3Igc2xvdHMgaW4gdGhpcyBvcmRlcjogYGNlbGwoJHtrZXl9KWAsIGBjZWxsKCR7a2V5LnRvTG93ZXJDYXNlKCl9KWAsICdjZWxsKCknXG4gICAgICAvLyBTbG90IG5hbWVzIGFyZSBub3cgY2FjaGVkIGJ5IG1peGluIHRib2R5IGluIGB0aGlzLiRfYm9keUZpZWxkU2xvdE5hbWVDYWNoZWBcbiAgICAgIC8vIFdpbGwgYmUgYG51bGxgIGlmIG5vIHNsb3QgKG9yIGZhbGxiYWNrIHNsb3QpIGV4aXN0c1xuXG5cbiAgICAgIHZhciBzbG90TmFtZSA9IHRoaXMuJF9ib2R5RmllbGRTbG90TmFtZUNhY2hlW2tleV07XG4gICAgICB2YXIgJGNoaWxkTm9kZXMgPSBzbG90TmFtZSA/IHRoaXMubm9ybWFsaXplU2xvdChzbG90TmFtZSwgc2xvdFNjb3BlKSA6IHRvU3RyaW5nKGZvcm1hdHRlZCk7XG5cbiAgICAgIGlmICh0aGlzLmlzU3RhY2tlZCkge1xuICAgICAgICAvLyBXZSB3cmFwIGluIGEgRElWIHRvIGVuc3VyZSByZW5kZXJlZCBhcyBhIHNpbmdsZSBjZWxsIHdoZW4gdmlzdWFsbHkgc3RhY2tlZCFcbiAgICAgICAgJGNoaWxkTm9kZXMgPSBbaCgnZGl2Jywge30sIFskY2hpbGROb2Rlc10pXTtcbiAgICAgIH0gLy8gUmVuZGVyIGVpdGhlciBhIHRkIG9yIHRoIGNlbGxcblxuXG4gICAgICByZXR1cm4gaChjZWxsVGFnLCBkYXRhLCBbJGNoaWxkTm9kZXNdKTtcbiAgICB9LFxuICAgIHJlbmRlclRib2R5Um93OiBmdW5jdGlvbiByZW5kZXJUYm9keVJvdyhpdGVtLCByb3dJbmRleCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIC8vIFJlbmRlcnMgYW4gaXRlbSdzIHJvdyAob3Igcm93cyBpZiBkZXRhaWxzIHN1cHBvcnRlZClcbiAgICAgIHZhciBoID0gdGhpcy4kY3JlYXRlRWxlbWVudDtcbiAgICAgIHZhciBmaWVsZHMgPSB0aGlzLmNvbXB1dGVkRmllbGRzO1xuICAgICAgdmFyIHRhYmxlU3RyaXBlZCA9IHRoaXMuc3RyaXBlZDtcbiAgICAgIHZhciBoYXNEZXRhaWxzU2xvdCA9IHRoaXMuaGFzTm9ybWFsaXplZFNsb3QoZGV0YWlsc1Nsb3ROYW1lKTtcbiAgICAgIHZhciByb3dTaG93RGV0YWlscyA9IEJvb2xlYW4oaXRlbS5fc2hvd0RldGFpbHMgJiYgaGFzRGV0YWlsc1Nsb3QpO1xuICAgICAgdmFyIGhhc1Jvd0NsaWNrSGFuZGxlciA9IHRoaXMuJGxpc3RlbmVyc1sncm93LWNsaWNrZWQnXSB8fCB0aGlzLmlzU2VsZWN0YWJsZTsgLy8gV2UgY2FuIHJldHVybiBtb3JlIHRoYW4gb25lIFRSIGlmIHJvd0RldGFpbHMgZW5hYmxlZFxuXG4gICAgICB2YXIgJHJvd3MgPSBbXTsgLy8gRGV0YWlscyBJRCBuZWVkZWQgZm9yIGBhcmlhLWRldGFpbHNgIHdoZW4gZGV0YWlscyBzaG93aW5nXG4gICAgICAvLyBXZSBzZXQgaXQgdG8gYG51bGxgIHdoZW4gbm90IHNob3dpbmcgc28gdGhhdCBhdHRyaWJ1dGVcbiAgICAgIC8vIGRvZXMgbm90IGFwcGVhciBvbiB0aGUgZWxlbWVudFxuXG4gICAgICB2YXIgZGV0YWlsc0lkID0gcm93U2hvd0RldGFpbHMgPyB0aGlzLnNhZmVJZChcIl9kZXRhaWxzX1wiLmNvbmNhdChyb3dJbmRleCwgXCJfXCIpKSA6IG51bGw7IC8vIEZvciBlYWNoIGl0ZW0gZGF0YSBmaWVsZCBpbiByb3dcblxuICAgICAgdmFyICR0ZHMgPSBmaWVsZHMubWFwKGZ1bmN0aW9uIChmaWVsZCwgY29sSW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzMi5yZW5kZXJUYm9keVJvd0NlbGwoZmllbGQsIGNvbEluZGV4LCBpdGVtLCByb3dJbmRleCk7XG4gICAgICB9KTsgLy8gQ2FsY3VsYXRlIHRoZSByb3cgbnVtYmVyIGluIHRoZSBkYXRhc2V0IChpbmRleGVkIGZyb20gMSlcblxuICAgICAgdmFyIGFyaWFSb3dJbmRleCA9IG51bGw7XG5cbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlICYmIHRoaXMucGVyUGFnZSAmJiB0aGlzLnBlclBhZ2UgPiAwKSB7XG4gICAgICAgIGFyaWFSb3dJbmRleCA9IFN0cmluZygodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5wZXJQYWdlICsgcm93SW5kZXggKyAxKTtcbiAgICAgIH0gLy8gQ3JlYXRlIGEgdW5pcXVlIDprZXkgdG8gaGVscCBlbnN1cmUgdGhhdCBzdWIgY29tcG9uZW50cyBhcmUgcmUtcmVuZGVyZWQgcmF0aGVyIHRoYW5cbiAgICAgIC8vIHJlLXVzZWQsIHdoaWNoIGNhbiBjYXVzZSBpc3N1ZXMuIElmIGEgcHJpbWFyeSBrZXkgaXMgbm90IHByb3ZpZGVkIHdlIHVzZSB0aGUgcmVuZGVyZWRcbiAgICAgIC8vIHJvd3MgaW5kZXggd2l0aGluIHRoZSB0Ym9keS5cbiAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2Jvb3RzdHJhcC12dWUvYm9vdHN0cmFwLXZ1ZS9pc3N1ZXMvMjQxMFxuXG5cbiAgICAgIHZhciBwcmltYXJ5S2V5ID0gdGhpcy5wcmltYXJ5S2V5O1xuICAgICAgdmFyIGhhc1BrVmFsdWUgPSBwcmltYXJ5S2V5ICYmICFpc1VuZGVmaW5lZE9yTnVsbChpdGVtW3ByaW1hcnlLZXldKTtcbiAgICAgIHZhciByb3dLZXkgPSBoYXNQa1ZhbHVlID8gdG9TdHJpbmcoaXRlbVtwcmltYXJ5S2V5XSkgOiBTdHJpbmcocm93SW5kZXgpOyAvLyBJZiBwcmltYXJ5IGtleSBpcyBwcm92aWRlZCwgdXNlIGl0IHRvIGdlbmVyYXRlIGEgdW5pcXVlIElEIG9uIGVhY2ggdGJvZHkgPiB0clxuICAgICAgLy8gSW4gdGhlIGZvcm1hdCBvZiAne3RhYmxlSWR9X19yb3dfe3ByaW1hcnlLZXlWYWx1ZX0nXG5cbiAgICAgIHZhciByb3dJZCA9IGhhc1BrVmFsdWUgPyB0aGlzLnNhZmVJZChcIl9yb3dfXCIuY29uY2F0KGl0ZW1bcHJpbWFyeUtleV0pKSA6IG51bGw7IC8vIFNlbGVjdGFibGUgY2xhc3NlcyBhbmQgYXR0cmlidXRlc1xuXG4gICAgICB2YXIgc2VsZWN0YWJsZUNsYXNzZXMgPSB0aGlzLnNlbGVjdGFibGVSb3dDbGFzc2VzID8gdGhpcy5zZWxlY3RhYmxlUm93Q2xhc3Nlcyhyb3dJbmRleCkgOiB7fTtcbiAgICAgIHZhciBzZWxlY3RhYmxlQXR0cnMgPSB0aGlzLnNlbGVjdGFibGVSb3dBdHRycyA/IHRoaXMuc2VsZWN0YWJsZVJvd0F0dHJzKHJvd0luZGV4KSA6IHt9OyAvLyBBZGQgdGhlIGl0ZW0gcm93XG5cbiAgICAgICRyb3dzLnB1c2goaChCVHIsIHtcbiAgICAgICAga2V5OiBcIl9fYi10YWJsZS1yb3ctXCIuY29uY2F0KHJvd0tleSwgXCJfX1wiKSxcbiAgICAgICAgcmVmOiAnaXRlbVJvd3MnLFxuICAgICAgICByZWZJbkZvcjogdHJ1ZSxcbiAgICAgICAgY2xhc3M6IFtpc0Z1bmN0aW9uKHRoaXMudGJvZHlUckNsYXNzKSA/IHRoaXMudGJvZHlUckNsYXNzKGl0ZW0sICdyb3cnKSA6IHRoaXMudGJvZHlUckNsYXNzLCBzZWxlY3RhYmxlQ2xhc3Nlcywgcm93U2hvd0RldGFpbHMgPyAnYi10YWJsZS1oYXMtZGV0YWlscycgOiAnJ10sXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgdmFyaWFudDogaXRlbS5fcm93VmFyaWFudCB8fCBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIGF0dHJzOiBfb2JqZWN0U3ByZWFkKHtcbiAgICAgICAgICBpZDogcm93SWQsXG4gICAgICAgICAgdGFiaW5kZXg6IGhhc1Jvd0NsaWNrSGFuZGxlciA/ICcwJyA6IG51bGwsXG4gICAgICAgICAgJ2RhdGEtcGsnOiByb3dJZCA/IFN0cmluZyhpdGVtW3ByaW1hcnlLZXldKSA6IG51bGwsXG4gICAgICAgICAgLy8gU2hvdWxkIHRoaXMgYmUgYGFyaWEtZGV0YWlsc2AgaW5zdGVhZD9cbiAgICAgICAgICAnYXJpYS1kZXRhaWxzJzogZGV0YWlsc0lkLFxuICAgICAgICAgICdhcmlhLW93bnMnOiBkZXRhaWxzSWQsXG4gICAgICAgICAgJ2FyaWEtcm93aW5kZXgnOiBhcmlhUm93SW5kZXhcbiAgICAgICAgfSwgc2VsZWN0YWJsZUF0dHJzKSxcbiAgICAgICAgb246IHtcbiAgICAgICAgICAvLyBOb3RlOiBUaGVzZSBldmVudHMgYXJlIG5vdCBBMTFZIGZyaWVuZGx5IVxuICAgICAgICAgIG1vdXNlZW50ZXI6IHRoaXMucm93SG92ZXJlZCxcbiAgICAgICAgICBtb3VzZWxlYXZlOiB0aGlzLnJvd1VuaG92ZXJlZFxuICAgICAgICB9XG4gICAgICB9LCAkdGRzKSk7IC8vIFJvdyBEZXRhaWxzIHNsb3RcblxuICAgICAgaWYgKHJvd1Nob3dEZXRhaWxzKSB7XG4gICAgICAgIHZhciBkZXRhaWxzU2NvcGUgPSB7XG4gICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICBpbmRleDogcm93SW5kZXgsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZHMsXG4gICAgICAgICAgdG9nZ2xlRGV0YWlsczogdGhpcy50b2dnbGVEZXRhaWxzRmFjdG9yeShoYXNEZXRhaWxzU2xvdCwgaXRlbSlcbiAgICAgICAgfTsgLy8gUmVuZGVyIHRoZSBkZXRhaWxzIHNsb3QgaW4gYSBURFxuXG4gICAgICAgIHZhciAkZGV0YWlscyA9IGgoQlRkLCB7XG4gICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIGNvbHNwYW46IGZpZWxkcy5sZW5ndGhcbiAgICAgICAgICB9XG4gICAgICAgIH0sIFt0aGlzLm5vcm1hbGl6ZVNsb3QoZGV0YWlsc1Nsb3ROYW1lLCBkZXRhaWxzU2NvcGUpXSk7IC8vIEFkZCBhIGhpZGRlbiByb3cgdG8ga2VlcCB0YWJsZSByb3cgc3RyaXBpbmcgY29uc2lzdGVudCB3aGVuIGRldGFpbHMgc2hvd2luZ1xuXG4gICAgICAgIGlmICh0YWJsZVN0cmlwZWQpIHtcbiAgICAgICAgICAkcm93cy5wdXNoKCAvLyBXZSBkb24ndCB1c2UgYEJUcmAgaGVyZSBhcyB3ZSBkb250IG5lZWQgdGhlIGV4dHJhIGZ1bmN0aW9uYWxpdHlcbiAgICAgICAgICBoKCd0cicsIHtcbiAgICAgICAgICAgIGtleTogXCJfX2ItdGFibGUtZGV0YWlscy1zdHJpcGVfX1wiLmNvbmNhdChyb3dLZXkpLFxuICAgICAgICAgICAgc3RhdGljQ2xhc3M6ICdkLW5vbmUnLFxuICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgJ2FyaWEtaGlkZGVuJzogJ3RydWUnLFxuICAgICAgICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSAvLyBBZGQgdGhlIGFjdHVhbCBkZXRhaWxzIHJvd1xuXG5cbiAgICAgICAgJHJvd3MucHVzaChoKEJUciwge1xuICAgICAgICAgIGtleTogXCJfX2ItdGFibGUtZGV0YWlsc19fXCIuY29uY2F0KHJvd0tleSksXG4gICAgICAgICAgc3RhdGljQ2xhc3M6ICdiLXRhYmxlLWRldGFpbHMnLFxuICAgICAgICAgIGNsYXNzOiBbaXNGdW5jdGlvbih0aGlzLnRib2R5VHJDbGFzcykgPyB0aGlzLnRib2R5VHJDbGFzcyhpdGVtLCBkZXRhaWxzU2xvdE5hbWUpIDogdGhpcy50Ym9keVRyQ2xhc3NdLFxuICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICB2YXJpYW50OiBpdGVtLl9yb3dWYXJpYW50IHx8IG51bGxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICBpZDogZGV0YWlsc0lkLFxuICAgICAgICAgICAgdGFiaW5kZXg6ICctMSdcbiAgICAgICAgICB9XG4gICAgICAgIH0sIFskZGV0YWlsc10pKTtcbiAgICAgIH0gZWxzZSBpZiAoaGFzRGV0YWlsc1Nsb3QpIHtcbiAgICAgICAgLy8gT25seSBhZGQgdGhlIHBsYWNlaG9sZGVyIGlmIGEgdGhlIHRhYmxlIGhhcyBhIHJvdy1kZXRhaWxzIHNsb3QgZGVmaW5lZCAoYnV0IG5vdCBzaG93bilcbiAgICAgICAgJHJvd3MucHVzaChoKCkpO1xuXG4gICAgICAgIGlmICh0YWJsZVN0cmlwZWQpIHtcbiAgICAgICAgICAvLyBBZGQgZXh0cmEgcGxhY2Vob2xkZXIgaWYgdGFibGUgaXMgc3RyaXBlZFxuICAgICAgICAgICRyb3dzLnB1c2goaCgpKTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBSZXR1cm4gdGhlIHJvdyhzKVxuXG5cbiAgICAgIHJldHVybiAkcm93cztcbiAgICB9XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXRib2R5LXJvdy5qc1xuLy8gbW9kdWxlIGlkID0gMjY2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///266\n"); + +/***/ }), +/* 267 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_html__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tr__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__td__ = __webpack_require__(28);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n showEmpty: {\n type: Boolean,\n default: false\n },\n emptyText: {\n type: String,\n default: 'There are no records to show'\n },\n emptyHtml: {\n type: String\n },\n emptyFilteredText: {\n type: String,\n default: 'There are no records matching your request'\n },\n emptyFilteredHtml: {\n type: String\n }\n },\n methods: {\n renderEmpty: function renderEmpty() {\n var h = this.$createElement;\n var items = this.computedItems;\n var $empty;\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot('table-busy'))) {\n $empty = this.normalizeSlot(this.isFiltered ? 'emptyfiltered' : 'empty', {\n emptyFilteredHtml: this.emptyFilteredHtml,\n emptyFilteredText: this.emptyFilteredText,\n emptyHtml: this.emptyHtml,\n emptyText: this.emptyText,\n fields: this.computedFields,\n // Not sure why this is included, as it will always be an empty array\n items: this.computedItems\n });\n\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: this.isFiltered ? Object(__WEBPACK_IMPORTED_MODULE_0__utils_html__[\"a\" /* htmlOrText */])(this.emptyFilteredHtml, this.emptyFilteredText) : Object(__WEBPACK_IMPORTED_MODULE_0__utils_html__[\"a\" /* htmlOrText */])(this.emptyHtml, this.emptyText)\n });\n }\n\n $empty = h(__WEBPACK_IMPORTED_MODULE_3__td__[\"a\" /* BTd */], {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(__WEBPACK_IMPORTED_MODULE_2__tr__[\"a\" /* BTr */], {\n key: this.isFiltered ? 'b-empty-filtered-row' : 'b-empty-row',\n staticClass: 'b-table-empty-row',\n class: [Object(__WEBPACK_IMPORTED_MODULE_1__utils_inspect__[\"f\" /* isFunction */])(this.tbodyTrClass) ? this.tbodyTrClass(null, 'row-empty') : this.tbodyTrClass]\n }, [$empty]);\n }\n\n return $empty || h();\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLWVtcHR5LmpzP2ZiMmYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBaUQ7QUFDRztBQUN4QjtBQUNBO0FBQ2I7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsdUVBQVUsbURBQW1ELHVFQUFVO0FBQy9HLFdBQVc7QUFDWDs7QUFFQSxtQkFBbUIsZ0RBQUc7QUFDdEI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULG1CQUFtQixnREFBRztBQUN0QjtBQUNBO0FBQ0Esa0JBQWtCLDBFQUFVO0FBQzVCLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjI2Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0bWxPclRleHQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9odG1sJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7IEJUciB9IGZyb20gJy4uL3RyJztcbmltcG9ydCB7IEJUZCB9IGZyb20gJy4uL3RkJztcbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBzaG93RW1wdHk6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgZW1wdHlUZXh0OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiAnVGhlcmUgYXJlIG5vIHJlY29yZHMgdG8gc2hvdydcbiAgICB9LFxuICAgIGVtcHR5SHRtbDoge1xuICAgICAgdHlwZTogU3RyaW5nXG4gICAgfSxcbiAgICBlbXB0eUZpbHRlcmVkVGV4dDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ1RoZXJlIGFyZSBubyByZWNvcmRzIG1hdGNoaW5nIHlvdXIgcmVxdWVzdCdcbiAgICB9LFxuICAgIGVtcHR5RmlsdGVyZWRIdG1sOiB7XG4gICAgICB0eXBlOiBTdHJpbmdcbiAgICB9XG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICByZW5kZXJFbXB0eTogZnVuY3Rpb24gcmVuZGVyRW1wdHkoKSB7XG4gICAgICB2YXIgaCA9IHRoaXMuJGNyZWF0ZUVsZW1lbnQ7XG4gICAgICB2YXIgaXRlbXMgPSB0aGlzLmNvbXB1dGVkSXRlbXM7XG4gICAgICB2YXIgJGVtcHR5O1xuXG4gICAgICBpZiAodGhpcy5zaG93RW1wdHkgJiYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApICYmICEodGhpcy5jb21wdXRlZEJ1c3kgJiYgdGhpcy5oYXNOb3JtYWxpemVkU2xvdCgndGFibGUtYnVzeScpKSkge1xuICAgICAgICAkZW1wdHkgPSB0aGlzLm5vcm1hbGl6ZVNsb3QodGhpcy5pc0ZpbHRlcmVkID8gJ2VtcHR5ZmlsdGVyZWQnIDogJ2VtcHR5Jywge1xuICAgICAgICAgIGVtcHR5RmlsdGVyZWRIdG1sOiB0aGlzLmVtcHR5RmlsdGVyZWRIdG1sLFxuICAgICAgICAgIGVtcHR5RmlsdGVyZWRUZXh0OiB0aGlzLmVtcHR5RmlsdGVyZWRUZXh0LFxuICAgICAgICAgIGVtcHR5SHRtbDogdGhpcy5lbXB0eUh0bWwsXG4gICAgICAgICAgZW1wdHlUZXh0OiB0aGlzLmVtcHR5VGV4dCxcbiAgICAgICAgICBmaWVsZHM6IHRoaXMuY29tcHV0ZWRGaWVsZHMsXG4gICAgICAgICAgLy8gTm90IHN1cmUgd2h5IHRoaXMgaXMgaW5jbHVkZWQsIGFzIGl0IHdpbGwgYWx3YXlzIGJlIGFuIGVtcHR5IGFycmF5XG4gICAgICAgICAgaXRlbXM6IHRoaXMuY29tcHV0ZWRJdGVtc1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoISRlbXB0eSkge1xuICAgICAgICAgICRlbXB0eSA9IGgoJ2RpdicsIHtcbiAgICAgICAgICAgIGNsYXNzOiBbJ3RleHQtY2VudGVyJywgJ215LTInXSxcbiAgICAgICAgICAgIGRvbVByb3BzOiB0aGlzLmlzRmlsdGVyZWQgPyBodG1sT3JUZXh0KHRoaXMuZW1wdHlGaWx0ZXJlZEh0bWwsIHRoaXMuZW1wdHlGaWx0ZXJlZFRleHQpIDogaHRtbE9yVGV4dCh0aGlzLmVtcHR5SHRtbCwgdGhpcy5lbXB0eVRleHQpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAkZW1wdHkgPSBoKEJUZCwge1xuICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBjb2xzcGFuOiB0aGlzLmNvbXB1dGVkRmllbGRzLmxlbmd0aCB8fCBudWxsXG4gICAgICAgICAgfVxuICAgICAgICB9LCBbaCgnZGl2Jywge1xuICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICByb2xlOiAnYWxlcnQnLFxuICAgICAgICAgICAgJ2FyaWEtbGl2ZSc6ICdwb2xpdGUnXG4gICAgICAgICAgfVxuICAgICAgICB9LCBbJGVtcHR5XSldKTtcbiAgICAgICAgJGVtcHR5ID0gaChCVHIsIHtcbiAgICAgICAgICBrZXk6IHRoaXMuaXNGaWx0ZXJlZCA/ICdiLWVtcHR5LWZpbHRlcmVkLXJvdycgOiAnYi1lbXB0eS1yb3cnLFxuICAgICAgICAgIHN0YXRpY0NsYXNzOiAnYi10YWJsZS1lbXB0eS1yb3cnLFxuICAgICAgICAgIGNsYXNzOiBbaXNGdW5jdGlvbih0aGlzLnRib2R5VHJDbGFzcykgPyB0aGlzLnRib2R5VHJDbGFzcyhudWxsLCAncm93LWVtcHR5JykgOiB0aGlzLnRib2R5VHJDbGFzc11cbiAgICAgICAgfSwgWyRlbXB0eV0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJGVtcHR5IHx8IGgoKTtcbiAgICB9XG4gIH1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLWVtcHR5LmpzXG4vLyBtb2R1bGUgaWQgPSAyNjdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///267\n"); + +/***/ }), +/* 268 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tr__ = __webpack_require__(21);\n\n\nvar slotName = 'top-row';\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n methods: {\n renderTopRow: function renderTopRow() {\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(slotName) || this.stacked === true || this.stacked === '') {\n return h();\n }\n\n var fields = this.computedFields;\n return h(__WEBPACK_IMPORTED_MODULE_1__tr__[\"a\" /* BTr */], {\n key: 'b-top-row',\n staticClass: 'b-table-top-row',\n class: [Object(__WEBPACK_IMPORTED_MODULE_0__utils_inspect__[\"f\" /* isFunction */])(this.tbodyTrClass) ? this.tbodyTrClass(null, 'row-top') : this.tbodyTrClass]\n }, [this.normalizeSlot(slotName, {\n columns: fields.length,\n fields: fields\n })]);\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXRvcC1yb3cuanM/NDllMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQW9EO0FBQ3hCO0FBQzVCO0FBQ2U7QUFDZjtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWUsZ0RBQUc7QUFDbEI7QUFDQTtBQUNBLGdCQUFnQiwwRUFBVTtBQUMxQixPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIyNjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgeyBCVHIgfSBmcm9tICcuLi90cic7XG52YXIgc2xvdE5hbWUgPSAndG9wLXJvdyc7XG5leHBvcnQgZGVmYXVsdCB7XG4gIG1ldGhvZHM6IHtcbiAgICByZW5kZXJUb3BSb3c6IGZ1bmN0aW9uIHJlbmRlclRvcFJvdygpIHtcbiAgICAgIHZhciBoID0gdGhpcy4kY3JlYXRlRWxlbWVudDsgLy8gQWRkIHN0YXRpYyBUb3AgUm93IHNsb3QgKGhpZGRlbiBpbiB2aXNpYmx5IHN0YWNrZWQgbW9kZSBhcyB3ZSBjYW4ndCBjb250cm9sIHRoZSBkYXRhLWxhYmVsKVxuICAgICAgLy8gSWYgaW4gKmFsd2F5cyogc3RhY2tlZCBtb2RlLCB3ZSBkb24ndCBib3RoZXIgcmVuZGVyaW5nIHRoZSByb3dcblxuICAgICAgaWYgKCF0aGlzLmhhc05vcm1hbGl6ZWRTbG90KHNsb3ROYW1lKSB8fCB0aGlzLnN0YWNrZWQgPT09IHRydWUgfHwgdGhpcy5zdGFja2VkID09PSAnJykge1xuICAgICAgICByZXR1cm4gaCgpO1xuICAgICAgfVxuXG4gICAgICB2YXIgZmllbGRzID0gdGhpcy5jb21wdXRlZEZpZWxkcztcbiAgICAgIHJldHVybiBoKEJUciwge1xuICAgICAgICBrZXk6ICdiLXRvcC1yb3cnLFxuICAgICAgICBzdGF0aWNDbGFzczogJ2ItdGFibGUtdG9wLXJvdycsXG4gICAgICAgIGNsYXNzOiBbaXNGdW5jdGlvbih0aGlzLnRib2R5VHJDbGFzcykgPyB0aGlzLnRib2R5VHJDbGFzcyhudWxsLCAncm93LXRvcCcpIDogdGhpcy50Ym9keVRyQ2xhc3NdXG4gICAgICB9LCBbdGhpcy5ub3JtYWxpemVTbG90KHNsb3ROYW1lLCB7XG4gICAgICAgIGNvbHVtbnM6IGZpZWxkcy5sZW5ndGgsXG4gICAgICAgIGZpZWxkczogZmllbGRzXG4gICAgICB9KV0pO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvbWl4aW4tdG9wLXJvdy5qc1xuLy8gbW9kdWxlIGlkID0gMjY4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///268\n"); + +/***/ }), +/* 269 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tr__ = __webpack_require__(21);\n\n\nvar slotName = 'bottom-row';\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n methods: {\n renderBottomRow: function renderBottomRow() {\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(slotName) || this.stacked === true || this.stacked === '') {\n return h();\n }\n\n var fields = this.computedFields;\n return h(__WEBPACK_IMPORTED_MODULE_1__tr__[\"a\" /* BTr */], {\n key: 'b-bottom-row',\n staticClass: 'b-table-bottom-row',\n class: [Object(__WEBPACK_IMPORTED_MODULE_0__utils_inspect__[\"f\" /* isFunction */])(this.tbodyTrClass) ? this.tbodyTrClass(null, 'row-bottom') : this.tbodyTrClass]\n }, this.normalizeSlot(slotName, {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLWJvdHRvbS1yb3cuanM/M2ZkOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQW9EO0FBQ3hCO0FBQzVCO0FBQ2U7QUFDZjtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWUsZ0RBQUc7QUFDbEI7QUFDQTtBQUNBLGdCQUFnQiwwRUFBVTtBQUMxQixPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIyNjkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgeyBCVHIgfSBmcm9tICcuLi90cic7XG52YXIgc2xvdE5hbWUgPSAnYm90dG9tLXJvdyc7XG5leHBvcnQgZGVmYXVsdCB7XG4gIG1ldGhvZHM6IHtcbiAgICByZW5kZXJCb3R0b21Sb3c6IGZ1bmN0aW9uIHJlbmRlckJvdHRvbVJvdygpIHtcbiAgICAgIHZhciBoID0gdGhpcy4kY3JlYXRlRWxlbWVudDsgLy8gU3RhdGljIGJvdHRvbSByb3cgc2xvdCAoaGlkZGVuIGluIHZpc2libHkgc3RhY2tlZCBtb2RlIGFzIHdlIGNhbid0IGNvbnRyb2wgdGhlIGRhdGEtbGFiZWwpXG4gICAgICAvLyBJZiBpbiAqYWx3YXlzKiBzdGFja2VkIG1vZGUsIHdlIGRvbid0IGJvdGhlciByZW5kZXJpbmcgdGhlIHJvd1xuXG4gICAgICBpZiAoIXRoaXMuaGFzTm9ybWFsaXplZFNsb3Qoc2xvdE5hbWUpIHx8IHRoaXMuc3RhY2tlZCA9PT0gdHJ1ZSB8fCB0aGlzLnN0YWNrZWQgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBoKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBmaWVsZHMgPSB0aGlzLmNvbXB1dGVkRmllbGRzO1xuICAgICAgcmV0dXJuIGgoQlRyLCB7XG4gICAgICAgIGtleTogJ2ItYm90dG9tLXJvdycsXG4gICAgICAgIHN0YXRpY0NsYXNzOiAnYi10YWJsZS1ib3R0b20tcm93JyxcbiAgICAgICAgY2xhc3M6IFtpc0Z1bmN0aW9uKHRoaXMudGJvZHlUckNsYXNzKSA/IHRoaXMudGJvZHlUckNsYXNzKG51bGwsICdyb3ctYm90dG9tJykgOiB0aGlzLnRib2R5VHJDbGFzc11cbiAgICAgIH0sIHRoaXMubm9ybWFsaXplU2xvdChzbG90TmFtZSwge1xuICAgICAgICBjb2x1bW5zOiBmaWVsZHMubGVuZ3RoLFxuICAgICAgICBmaWVsZHM6IGZpZWxkc1xuICAgICAgfSkpO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvbWl4aW4tYm90dG9tLXJvdy5qc1xuLy8gbW9kdWxlIGlkID0gMjY5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///269\n"); + +/***/ }), +/* 270 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tr__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__td__ = __webpack_require__(28);\n\n\n\nvar busySlotName = 'table-busy';\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n busy: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this.busy || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('update:busy', newVal);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(evt) {\n if (this.computedBusy) {\n // If table is busy (via provider) then don't propagate\n evt.preventDefault();\n evt.stopPropagation();\n return true;\n }\n\n return false;\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy: function renderBusy() {\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(busySlotName)) {\n // Show the busy slot\n return h(__WEBPACK_IMPORTED_MODULE_1__tr__[\"a\" /* BTr */], {\n key: 'table-busy-slot',\n staticClass: 'b-table-busy-slot',\n class: [Object(__WEBPACK_IMPORTED_MODULE_0__utils_inspect__[\"f\" /* isFunction */])(this.tbodyTrClass) ? this.tbodyTrClass(null, busySlotName) : this.tbodyTrClass]\n }, [h(__WEBPACK_IMPORTED_MODULE_2__td__[\"a\" /* BTd */], {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(busySlotName)])]);\n } else {\n // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n return null;\n }\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLWJ1c3kuanM/YWE1NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBb0Q7QUFDeEI7QUFDQTtBQUM1QjtBQUNlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxrQ0FBa0M7O0FBRWxDO0FBQ0E7QUFDQSxpQkFBaUIsZ0RBQUc7QUFDcEI7QUFDQTtBQUNBLGtCQUFrQiwwRUFBVTtBQUM1QixTQUFTLEtBQUssZ0RBQUc7QUFDakI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjI3MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7IEJUciB9IGZyb20gJy4uL3RyJztcbmltcG9ydCB7IEJUZCB9IGZyb20gJy4uL3RkJztcbnZhciBidXN5U2xvdE5hbWUgPSAndGFibGUtYnVzeSc7XG5leHBvcnQgZGVmYXVsdCB7XG4gIHByb3BzOiB7XG4gICAgYnVzeToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfVxuICB9LFxuICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsb2NhbEJ1c3k6IGZhbHNlXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBjb21wdXRlZEJ1c3k6IGZ1bmN0aW9uIGNvbXB1dGVkQnVzeSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1c3kgfHwgdGhpcy5sb2NhbEJ1c3k7XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIGxvY2FsQnVzeTogZnVuY3Rpb24gbG9jYWxCdXN5KG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICBpZiAobmV3VmFsICE9PSBvbGRWYWwpIHtcbiAgICAgICAgdGhpcy4kZW1pdCgndXBkYXRlOmJ1c3knLCBuZXdWYWwpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIC8vIEV2ZW50IGhhbmRsZXIgaGVscGVyXG4gICAgc3RvcElmQnVzeTogZnVuY3Rpb24gc3RvcElmQnVzeShldnQpIHtcbiAgICAgIGlmICh0aGlzLmNvbXB1dGVkQnVzeSkge1xuICAgICAgICAvLyBJZiB0YWJsZSBpcyBidXN5ICh2aWEgcHJvdmlkZXIpIHRoZW4gZG9uJ3QgcHJvcGFnYXRlXG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgICAvLyBSZW5kZXIgdGhlIGJ1c3kgaW5kaWNhdG9yIG9yIHJldHVybiBgbnVsbGAgaWYgbm90IGJ1c3lcbiAgICByZW5kZXJCdXN5OiBmdW5jdGlvbiByZW5kZXJCdXN5KCkge1xuICAgICAgdmFyIGggPSB0aGlzLiRjcmVhdGVFbGVtZW50OyAvLyBSZXR1cm4gYSBidXN5IGluZGljYXRvciByb3csIG9yIGBudWxsYCBpZiBub3QgYnVzeVxuXG4gICAgICBpZiAodGhpcy5jb21wdXRlZEJ1c3kgJiYgdGhpcy5oYXNOb3JtYWxpemVkU2xvdChidXN5U2xvdE5hbWUpKSB7XG4gICAgICAgIC8vIFNob3cgdGhlIGJ1c3kgc2xvdFxuICAgICAgICByZXR1cm4gaChCVHIsIHtcbiAgICAgICAgICBrZXk6ICd0YWJsZS1idXN5LXNsb3QnLFxuICAgICAgICAgIHN0YXRpY0NsYXNzOiAnYi10YWJsZS1idXN5LXNsb3QnLFxuICAgICAgICAgIGNsYXNzOiBbaXNGdW5jdGlvbih0aGlzLnRib2R5VHJDbGFzcykgPyB0aGlzLnRib2R5VHJDbGFzcyhudWxsLCBidXN5U2xvdE5hbWUpIDogdGhpcy50Ym9keVRyQ2xhc3NdXG4gICAgICAgIH0sIFtoKEJUZCwge1xuICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBjb2xzcGFuOiB0aGlzLmNvbXB1dGVkRmllbGRzLmxlbmd0aCB8fCBudWxsXG4gICAgICAgICAgfVxuICAgICAgICB9LCBbdGhpcy5ub3JtYWxpemVTbG90KGJ1c3lTbG90TmFtZSldKV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UgcmV0dXJuIGBudWxsYCBoZXJlIHNvIHRoYXQgd2UgY2FuIGRldGVybWluZSBpZiB3ZSBuZWVkIHRvXG4gICAgICAgIC8vIHJlbmRlciB0aGUgdGFibGUgaXRlbXMgcm93cyBvciBub3RcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvaGVscGVycy9taXhpbi1idXN5LmpzXG4vLyBtb2R1bGUgaWQgPSAyNzBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///270\n"); + +/***/ }), +/* 271 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_range__ = __webpack_require__(184);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_array__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_config__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__sanitize_row__ = __webpack_require__(199);\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\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n selectable: {\n type: Boolean,\n default: false\n },\n selectMode: {\n type: String,\n default: 'multi',\n validator: function validator(val) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"a\" /* arrayIncludes */])(['range', 'multi', 'single'], val);\n }\n },\n selectedVariant: {\n type: String,\n default: function _default() {\n return Object(__WEBPACK_IMPORTED_MODULE_3__utils_config__[\"c\" /* getComponentConfig */])('BTable', 'selectedVariant');\n }\n }\n },\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n selectableHasSelection: function selectableHasSelection() {\n return this.isSelectable && this.selectedRows && this.selectedRows.length > 0 && this.selectedRows.some(Boolean);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"a\" /* arrayIncludes */])(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n return _ref = {\n 'b-table-selectable': this.isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), this.isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newVal, oldVal) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"d\" /* isArray */])(newVal) && Object(__WEBPACK_IMPORTED_MODULE_2__utils_array__[\"d\" /* isArray */])(oldVal) && newVal.length === oldVal.length;\n\n for (var i = 0; equal && i < newVal.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = Object(__WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__[\"a\" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_5__sanitize_row__[\"a\" /* default */])(newVal[i]), Object(__WEBPACK_IMPORTED_MODULE_5__sanitize_row__[\"a\" /* default */])(oldVal[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newVal, oldVal) {\n this.clearSelected();\n this.setSelectionHandlers(newVal);\n },\n selectMode: function selectMode(newVal, oldVal) {\n this.clearSelected();\n },\n selectedRows: function selectedRows(_selectedRows, oldVal) {\n var _this = this;\n\n if (this.isSelectable && !Object(__WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__[\"a\" /* default */])(_selectedRows, oldVal)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit('row-selected', items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"h\" /* isNumber */])(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"h\" /* isNumber */])(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? Object(__WEBPACK_IMPORTED_MODULE_1__utils_range__[\"a\" /* default */])(length).map(function (i) {\n return true;\n }) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return Boolean(Object(__WEBPACK_IMPORTED_MODULE_4__utils_inspect__[\"h\" /* isNumber */])(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n } else {\n return {};\n }\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on ? '$on' : '$off'; // Handle row-clicked event\n\n this[method]('row-clicked', this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method]('filtered', this.clearSelected);\n this[method]('context-changed', this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, evt) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable) {\n // Don't do anything if table is not in selectable mode\n\n /* istanbul ignore next: should never happen */\n this.clearSelected();\n /* istanbul ignore next: should never happen */\n\n return;\n }\n\n var selectMode = this.selectMode;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (this.selectedLastRow > -1 && evt.shiftKey) {\n // range\n for (var idx = Math.min(this.selectedLastRow, index); idx <= Math.max(this.selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(evt.ctrlKey || evt.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXNlbGVjdGFibGUuanM/ZTc2MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFM0o7QUFDWDtBQUNxQjtBQUNIO0FBQ1Q7QUFDVDtBQUMxQjtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSwyRUFBYTtBQUM1QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxlQUFlLGlGQUFrQjtBQUNqQztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxrQ0FBa0MsMkVBQWE7QUFDL0MsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0JBQWdCLHFFQUFPLFlBQVkscUVBQU87O0FBRTFDLHVCQUF1Qiw0QkFBNEI7QUFDbkQ7QUFDQSxrQkFBa0IsMkVBQVUsQ0FBQyxzRUFBVyxhQUFhLHNFQUFXO0FBQ2hFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsZ0NBQWdDLDJFQUFVO0FBQzFDLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLHdFQUFRO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLCtCQUErQix3RUFBUTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDJEQUEyRCxxRUFBSztBQUNoRTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EscUJBQXFCLHdFQUFRO0FBQzdCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSx1Q0FBdUM7O0FBRXZDLHlEQUF5RDs7QUFFekQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQztBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSwrREFBK0QsOENBQThDO0FBQzdHO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjI3MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBsb29zZUVxdWFsIGZyb20gJy4uLy4uLy4uL3V0aWxzL2xvb3NlLWVxdWFsJztcbmltcG9ydCByYW5nZSBmcm9tICcuLi8uLi8uLi91dGlscy9yYW5nZSc7XG5pbXBvcnQgeyBpc0FycmF5LCBhcnJheUluY2x1ZGVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYXJyYXknO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgc2FuaXRpemVSb3cgZnJvbSAnLi9zYW5pdGl6ZS1yb3cnO1xuZXhwb3J0IGRlZmF1bHQge1xuICBwcm9wczoge1xuICAgIHNlbGVjdGFibGU6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgc2VsZWN0TW9kZToge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogJ211bHRpJyxcbiAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbCkge1xuICAgICAgICByZXR1cm4gYXJyYXlJbmNsdWRlcyhbJ3JhbmdlJywgJ211bHRpJywgJ3NpbmdsZSddLCB2YWwpO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2VsZWN0ZWRWYXJpYW50OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudENvbmZpZygnQlRhYmxlJywgJ3NlbGVjdGVkVmFyaWFudCcpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2VsZWN0ZWRSb3dzOiBbXSxcbiAgICAgIHNlbGVjdGVkTGFzdFJvdzogLTFcbiAgICB9O1xuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGlzU2VsZWN0YWJsZTogZnVuY3Rpb24gaXNTZWxlY3RhYmxlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0YWJsZSAmJiB0aGlzLnNlbGVjdE1vZGU7XG4gICAgfSxcbiAgICBzZWxlY3RhYmxlSGFzU2VsZWN0aW9uOiBmdW5jdGlvbiBzZWxlY3RhYmxlSGFzU2VsZWN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RhYmxlICYmIHRoaXMuc2VsZWN0ZWRSb3dzICYmIHRoaXMuc2VsZWN0ZWRSb3dzLmxlbmd0aCA+IDAgJiYgdGhpcy5zZWxlY3RlZFJvd3Muc29tZShCb29sZWFuKTtcbiAgICB9LFxuICAgIHNlbGVjdGFibGVJc011bHRpU2VsZWN0OiBmdW5jdGlvbiBzZWxlY3RhYmxlSXNNdWx0aVNlbGVjdCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU2VsZWN0YWJsZSAmJiBhcnJheUluY2x1ZGVzKFsncmFuZ2UnLCAnbXVsdGknXSwgdGhpcy5zZWxlY3RNb2RlKTtcbiAgICB9LFxuICAgIHNlbGVjdGFibGVUYWJsZUNsYXNzZXM6IGZ1bmN0aW9uIHNlbGVjdGFibGVUYWJsZUNsYXNzZXMoKSB7XG4gICAgICB2YXIgX3JlZjtcblxuICAgICAgcmV0dXJuIF9yZWYgPSB7XG4gICAgICAgICdiLXRhYmxlLXNlbGVjdGFibGUnOiB0aGlzLmlzU2VsZWN0YWJsZVxuICAgICAgfSwgX2RlZmluZVByb3BlcnR5KF9yZWYsIFwiYi10YWJsZS1zZWxlY3QtXCIuY29uY2F0KHRoaXMuc2VsZWN0TW9kZSksIHRoaXMuaXNTZWxlY3RhYmxlKSwgX2RlZmluZVByb3BlcnR5KF9yZWYsICdiLXRhYmxlLXNlbGVjdGluZycsIHRoaXMuc2VsZWN0YWJsZUhhc1NlbGVjdGlvbiksIF9yZWY7XG4gICAgfSxcbiAgICBzZWxlY3RhYmxlVGFibGVBdHRyczogZnVuY3Rpb24gc2VsZWN0YWJsZVRhYmxlQXR0cnMoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAnYXJpYS1tdWx0aXNlbGVjdGFibGUnOiAhdGhpcy5pc1NlbGVjdGFibGUgPyBudWxsIDogdGhpcy5zZWxlY3RhYmxlSXNNdWx0aVNlbGVjdCA/ICd0cnVlJyA6ICdmYWxzZSdcbiAgICAgIH07XG4gICAgfVxuICB9LFxuICB3YXRjaDoge1xuICAgIGNvbXB1dGVkSXRlbXM6IGZ1bmN0aW9uIGNvbXB1dGVkSXRlbXMobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIC8vIFJlc2V0IGZvciBzZWxlY3RhYmxlXG4gICAgICB2YXIgZXF1YWwgPSBmYWxzZTtcblxuICAgICAgaWYgKHRoaXMuaXNTZWxlY3RhYmxlICYmIHRoaXMuc2VsZWN0ZWRSb3dzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgLy8gUXVpY2sgY2hlY2sgYWdhaW5zdCBhcnJheSBsZW5ndGhcbiAgICAgICAgZXF1YWwgPSBpc0FycmF5KG5ld1ZhbCkgJiYgaXNBcnJheShvbGRWYWwpICYmIG5ld1ZhbC5sZW5ndGggPT09IG9sZFZhbC5sZW5ndGg7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGVxdWFsICYmIGkgPCBuZXdWYWwubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAvLyBMb29rIGZvciB0aGUgZmlyc3Qgbm9uLWxvb3NlbHkgZXF1YWwgcm93LCBhZnRlciBpZ25vcmluZyByZXNlcnZlZCBmaWVsZHNcbiAgICAgICAgICBlcXVhbCA9IGxvb3NlRXF1YWwoc2FuaXRpemVSb3cobmV3VmFsW2ldKSwgc2FuaXRpemVSb3cob2xkVmFsW2ldKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFlcXVhbCkge1xuICAgICAgICB0aGlzLmNsZWFyU2VsZWN0ZWQoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNlbGVjdGFibGU6IGZ1bmN0aW9uIHNlbGVjdGFibGUobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIHRoaXMuY2xlYXJTZWxlY3RlZCgpO1xuICAgICAgdGhpcy5zZXRTZWxlY3Rpb25IYW5kbGVycyhuZXdWYWwpO1xuICAgIH0sXG4gICAgc2VsZWN0TW9kZTogZnVuY3Rpb24gc2VsZWN0TW9kZShuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgdGhpcy5jbGVhclNlbGVjdGVkKCk7XG4gICAgfSxcbiAgICBzZWxlY3RlZFJvd3M6IGZ1bmN0aW9uIHNlbGVjdGVkUm93cyhfc2VsZWN0ZWRSb3dzLCBvbGRWYWwpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIGlmICh0aGlzLmlzU2VsZWN0YWJsZSAmJiAhbG9vc2VFcXVhbChfc2VsZWN0ZWRSb3dzLCBvbGRWYWwpKSB7XG4gICAgICAgIHZhciBpdGVtcyA9IFtdOyAvLyBgLmZvckVhY2goKWAgc2tpcHMgb3ZlciBub24tZXhpc3RlbnQgaW5kaWNlcyAob24gc3BhcnNlIGFycmF5cylcblxuICAgICAgICBfc2VsZWN0ZWRSb3dzLmZvckVhY2goZnVuY3Rpb24gKHYsIGlkeCkge1xuICAgICAgICAgIGlmICh2KSB7XG4gICAgICAgICAgICBpdGVtcy5wdXNoKF90aGlzLmNvbXB1dGVkSXRlbXNbaWR4XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLiRlbWl0KCdyb3ctc2VsZWN0ZWQnLCBpdGVtcyk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBiZWZvcmVNb3VudDogZnVuY3Rpb24gYmVmb3JlTW91bnQoKSB7XG4gICAgLy8gU2V0IHVwIGhhbmRsZXJzXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RhYmxlKSB7XG4gICAgICB0aGlzLnNldFNlbGVjdGlvbkhhbmRsZXJzKHRydWUpO1xuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIC8vIFB1YmxpYyBtZXRob2RzXG4gICAgc2VsZWN0Um93OiBmdW5jdGlvbiBzZWxlY3RSb3coaW5kZXgpIHtcbiAgICAgIC8vIFNlbGVjdCBhIHBhcnRpY3VsYXIgcm93IChpbmRleGVkIGJhc2VkIG9uIGNvbXB1dGVkSXRlbXMpXG4gICAgICBpZiAodGhpcy5pc1NlbGVjdGFibGUgJiYgaXNOdW1iZXIoaW5kZXgpICYmIGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLmNvbXB1dGVkSXRlbXMubGVuZ3RoICYmICF0aGlzLmlzUm93U2VsZWN0ZWQoaW5kZXgpKSB7XG4gICAgICAgIHZhciBzZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGFibGVJc011bHRpU2VsZWN0ID8gdGhpcy5zZWxlY3RlZFJvd3Muc2xpY2UoKSA6IFtdO1xuICAgICAgICBzZWxlY3RlZFJvd3NbaW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZExhc3RDbGlja2VkID0gLTE7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzID0gc2VsZWN0ZWRSb3dzO1xuICAgICAgfVxuICAgIH0sXG4gICAgdW5zZWxlY3RSb3c6IGZ1bmN0aW9uIHVuc2VsZWN0Um93KGluZGV4KSB7XG4gICAgICAvLyBVbi1zZWxlY3QgYSBwYXJ0aWN1bGFyIHJvdyAoaW5kZXhlZCBiYXNlZCBvbiBgY29tcHV0ZWRJdGVtc2ApXG4gICAgICBpZiAodGhpcy5pc1NlbGVjdGFibGUgJiYgaXNOdW1iZXIoaW5kZXgpICYmIHRoaXMuaXNSb3dTZWxlY3RlZChpbmRleCkpIHtcbiAgICAgICAgdmFyIHNlbGVjdGVkUm93cyA9IHRoaXMuc2VsZWN0ZWRSb3dzLnNsaWNlKCk7XG4gICAgICAgIHNlbGVjdGVkUm93c1tpbmRleF0gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZExhc3RDbGlja2VkID0gLTE7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzID0gc2VsZWN0ZWRSb3dzO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2VsZWN0QWxsUm93czogZnVuY3Rpb24gc2VsZWN0QWxsUm93cygpIHtcbiAgICAgIHZhciBsZW5ndGggPSB0aGlzLmNvbXB1dGVkSXRlbXMubGVuZ3RoO1xuXG4gICAgICBpZiAodGhpcy5pc1NlbGVjdGFibGUgJiYgbGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGFzdENsaWNrZWQgPSAtMTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGFibGVJc011bHRpU2VsZWN0ID8gcmFuZ2UobGVuZ3RoKS5tYXAoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSkgOiBbdHJ1ZV07XG4gICAgICB9XG4gICAgfSxcbiAgICBpc1Jvd1NlbGVjdGVkOiBmdW5jdGlvbiBpc1Jvd1NlbGVjdGVkKGluZGV4KSB7XG4gICAgICAvLyBEZXRlcm1pbmUgaWYgYSByb3cgaXMgc2VsZWN0ZWQgKGluZGV4ZWQgYmFzZWQgb24gYGNvbXB1dGVkSXRlbXNgKVxuICAgICAgcmV0dXJuIEJvb2xlYW4oaXNOdW1iZXIoaW5kZXgpICYmIHRoaXMuc2VsZWN0ZWRSb3dzW2luZGV4XSk7XG4gICAgfSxcbiAgICBjbGVhclNlbGVjdGVkOiBmdW5jdGlvbiBjbGVhclNlbGVjdGVkKCkge1xuICAgICAgLy8gQ2xlYXIgYW55IGFjdGl2ZSBzZWxlY3RlZCByb3cocylcbiAgICAgIHRoaXMuc2VsZWN0ZWRMYXN0Q2xpY2tlZCA9IC0xO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MgPSBbXTtcbiAgICB9LFxuICAgIC8vIEludGVybmFsIHByaXZhdGUgbWV0aG9kc1xuICAgIHNlbGVjdGFibGVSb3dDbGFzc2VzOiBmdW5jdGlvbiBzZWxlY3RhYmxlUm93Q2xhc3NlcyhpbmRleCkge1xuICAgICAgaWYgKHRoaXMuaXNTZWxlY3RhYmxlICYmIHRoaXMuaXNSb3dTZWxlY3RlZChpbmRleCkpIHtcbiAgICAgICAgdmFyIHZhcmlhbnQgPSB0aGlzLnNlbGVjdGVkVmFyaWFudDtcbiAgICAgICAgcmV0dXJuIF9kZWZpbmVQcm9wZXJ0eSh7XG4gICAgICAgICAgJ2ItdGFibGUtcm93LXNlbGVjdGVkJzogdHJ1ZVxuICAgICAgICB9LCBcIlwiLmNvbmNhdCh0aGlzLmRhcmsgPyAnYmcnIDogJ3RhYmxlJywgXCItXCIpLmNvbmNhdCh2YXJpYW50KSwgdmFyaWFudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgfSxcbiAgICBzZWxlY3RhYmxlUm93QXR0cnM6IGZ1bmN0aW9uIHNlbGVjdGFibGVSb3dBdHRycyhpbmRleCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJ2FyaWEtc2VsZWN0ZWQnOiAhdGhpcy5pc1NlbGVjdGFibGUgPyBudWxsIDogdGhpcy5pc1Jvd1NlbGVjdGVkKGluZGV4KSA/ICd0cnVlJyA6ICdmYWxzZSdcbiAgICAgIH07XG4gICAgfSxcbiAgICBzZXRTZWxlY3Rpb25IYW5kbGVyczogZnVuY3Rpb24gc2V0U2VsZWN0aW9uSGFuZGxlcnMob24pIHtcbiAgICAgIHZhciBtZXRob2QgPSBvbiA/ICckb24nIDogJyRvZmYnOyAvLyBIYW5kbGUgcm93LWNsaWNrZWQgZXZlbnRcblxuICAgICAgdGhpc1ttZXRob2RdKCdyb3ctY2xpY2tlZCcsIHRoaXMuc2VsZWN0aW9uSGFuZGxlcik7IC8vIENsZWFyIHNlbGVjdGlvbiBvbiBmaWx0ZXIsIHBhZ2luYXRpb24sIGFuZCBzb3J0IGNoYW5nZXNcblxuICAgICAgdGhpc1ttZXRob2RdKCdmaWx0ZXJlZCcsIHRoaXMuY2xlYXJTZWxlY3RlZCk7XG4gICAgICB0aGlzW21ldGhvZF0oJ2NvbnRleHQtY2hhbmdlZCcsIHRoaXMuY2xlYXJTZWxlY3RlZCk7XG4gICAgfSxcbiAgICBzZWxlY3Rpb25IYW5kbGVyOiBmdW5jdGlvbiBzZWxlY3Rpb25IYW5kbGVyKGl0ZW0sIGluZGV4LCBldnQpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZjogc2hvdWxkIG5ldmVyIGhhcHBlbiAqL1xuICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0YWJsZSkge1xuICAgICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBpZiB0YWJsZSBpcyBub3QgaW4gc2VsZWN0YWJsZSBtb2RlXG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IHNob3VsZCBuZXZlciBoYXBwZW4gKi9cbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGVkKCk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBzaG91bGQgbmV2ZXIgaGFwcGVuICovXG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgc2VsZWN0TW9kZSA9IHRoaXMuc2VsZWN0TW9kZTtcbiAgICAgIHZhciBzZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGVkUm93cy5zbGljZSgpO1xuICAgICAgdmFyIHNlbGVjdGVkID0gIXNlbGVjdGVkUm93c1tpbmRleF07IC8vIE5vdGUgJ211bHRpJyBtb2RlIG5lZWRzIG5vIHNwZWNpYWwgZXZlbnQgaGFuZGxpbmdcblxuICAgICAgaWYgKHNlbGVjdE1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgIHNlbGVjdGVkUm93cyA9IFtdO1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RNb2RlID09PSAncmFuZ2UnKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGFzdFJvdyA+IC0xICYmIGV2dC5zaGlmdEtleSkge1xuICAgICAgICAgIC8vIHJhbmdlXG4gICAgICAgICAgZm9yICh2YXIgaWR4ID0gTWF0aC5taW4odGhpcy5zZWxlY3RlZExhc3RSb3csIGluZGV4KTsgaWR4IDw9IE1hdGgubWF4KHRoaXMuc2VsZWN0ZWRMYXN0Um93LCBpbmRleCk7IGlkeCsrKSB7XG4gICAgICAgICAgICBzZWxlY3RlZFJvd3NbaWR4XSA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghKGV2dC5jdHJsS2V5IHx8IGV2dC5tZXRhS2V5KSkge1xuICAgICAgICAgICAgLy8gQ2xlYXIgcmFuZ2Ugc2VsZWN0aW9uIGlmIGFueVxuICAgICAgICAgICAgc2VsZWN0ZWRSb3dzID0gW107XG4gICAgICAgICAgICBzZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExhc3RSb3cgPSBzZWxlY3RlZCA/IGluZGV4IDogLTE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2VsZWN0ZWRSb3dzW2luZGV4XSA9IHNlbGVjdGVkO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MgPSBzZWxlY3RlZFJvd3M7XG4gICAgfVxuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2NvbXBvbmVudHMvdGFibGUvaGVscGVycy9taXhpbi1zZWxlY3RhYmxlLmpzXG4vLyBtb2R1bGUgaWQgPSAyNzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///271\n"); + +/***/ }), +/* 272 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_listen_on_root__ = __webpack_require__(27);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_3__mixins_listen_on_root__[\"a\" /* default */]],\n props: {\n // Prop override(s)\n items: {\n // Adds in 'Function' support\n type: [Array, Function],\n default: function _default()\n /* istanbul ignore next */\n {\n return [];\n }\n },\n // Additional props\n noProviderPaging: {\n type: Boolean,\n default: false\n },\n noProviderSorting: {\n type: Boolean,\n default: false\n },\n noProviderFiltering: {\n type: Boolean,\n default: false\n },\n apiUrl: {\n // Passthrough prop. Passed to the context object. Not used by b-table directly\n type: String,\n default: ''\n }\n },\n computed: {\n hasProvider: function hasProvider() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return _objectSpread({}, ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newVal, oldVal) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"f\" /* isFunction */])(newVal)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newVal, oldVal) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__utils_loose_equal__[\"a\" /* default */])(newVal, oldVal)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot('bv::refresh::table', function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n // Public Method: Force a refresh of the provider function\n this.$off('refreshed', this.refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on('refreshed', this.refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"a\" /* isArray */])(this.items) ? this.items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"a\" /* isArray */])(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit('refreshed'); // New root emit\n\n if (this.id) {\n this.emitOnRoot('bv::table::refreshed', this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"k\" /* isPromise */])(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_inspect__[\"a\" /* isArray */])(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_warn__[\"a\" /* default */])(\"b-table provider function didn't request callback and did not return a promise or data\");\n _this2.localBusy = false;\n }\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_warn__[\"a\" /* default */])(\"b-table provider function error [\".concat(e.name, \"] \").concat(e.message));\n _this2.localBusy = false;\n\n _this2.$off('refreshed', _this2.refresh);\n }\n });\n }\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vY29tcG9uZW50cy90YWJsZS9oZWxwZXJzL21peGluLXByb3ZpZGVyLmpzP2NiYzkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQ0FBMEMsZ0NBQWdDLG9DQUFvQyxvREFBb0QsOERBQThELGdFQUFnRSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYTs7QUFFblYsZ0NBQWdDLGdCQUFnQixzQkFBc0IsT0FBTyx1REFBdUQsYUFBYSwrQ0FBK0MsMkNBQTJDLEVBQUUsRUFBRSxFQUFFLDZDQUE2QywyRUFBMkUsRUFBRSxPQUFPLHlDQUF5QyxrRkFBa0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlOztBQUVwZ0IsMkNBQTJDLGtCQUFrQixrQ0FBa0MscUVBQXFFLEVBQUUsRUFBRSxPQUFPLGtCQUFrQixFQUFFLFlBQVk7O0FBRTNKO0FBQ2I7QUFDaUM7QUFDVDtBQUNoRDtBQUNmLFdBQVcsdUVBQWlCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsYUFBYSwwRUFBVTtBQUN2QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNkJBQTZCO0FBQzdCO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDBFQUFVO0FBQ3hDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLFdBQVcsMkVBQVU7QUFDckI7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSw0QkFBNEIsdUVBQU87QUFDbkM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0Esd0JBQXdCLHVFQUFPO0FBQy9CO0FBQ0EsOEJBQThCOztBQUU5QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1AsNEJBQTRCOztBQUU1QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFdBQVcsVUFBVSx1RUFBTztBQUM1QjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxjQUFjLG9FQUFJO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsb0VBQUk7QUFDZDs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6IjI3Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmltcG9ydCBsb29zZUVxdWFsIGZyb20gJy4uLy4uLy4uL3V0aWxzL2xvb3NlLWVxdWFsJztcbmltcG9ydCB3YXJuIGZyb20gJy4uLy4uLy4uL3V0aWxzL3dhcm4nO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNGdW5jdGlvbiwgaXNQcm9taXNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQgbGlzdGVuT25Sb290TWl4aW4gZnJvbSAnLi4vLi4vLi4vbWl4aW5zL2xpc3Rlbi1vbi1yb290JztcbmV4cG9ydCBkZWZhdWx0IHtcbiAgbWl4aW5zOiBbbGlzdGVuT25Sb290TWl4aW5dLFxuICBwcm9wczoge1xuICAgIC8vIFByb3Agb3ZlcnJpZGUocylcbiAgICBpdGVtczoge1xuICAgICAgLy8gQWRkcyBpbiAnRnVuY3Rpb24nIHN1cHBvcnRcbiAgICAgIHR5cGU6IFtBcnJheSwgRnVuY3Rpb25dLFxuICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gQWRkaXRpb25hbCBwcm9wc1xuICAgIG5vUHJvdmlkZXJQYWdpbmc6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbm9Qcm92aWRlclNvcnRpbmc6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbm9Qcm92aWRlckZpbHRlcmluZzoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBhcGlVcmw6IHtcbiAgICAgIC8vIFBhc3N0aHJvdWdoIHByb3AuIFBhc3NlZCB0byB0aGUgY29udGV4dCBvYmplY3QuIE5vdCB1c2VkIGJ5IGItdGFibGUgZGlyZWN0bHlcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6ICcnXG4gICAgfVxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGhhc1Byb3ZpZGVyOiBmdW5jdGlvbiBoYXNQcm92aWRlcigpIHtcbiAgICAgIHJldHVybiBpc0Z1bmN0aW9uKHRoaXMuaXRlbXMpO1xuICAgIH0sXG4gICAgcHJvdmlkZXJUcmlnZ2VyQ29udGV4dDogZnVuY3Rpb24gcHJvdmlkZXJUcmlnZ2VyQ29udGV4dCgpIHtcbiAgICAgIC8vIFVzZWQgdG8gdHJpZ2dlciB0aGUgcHJvdmlkZXIgZnVuY3Rpb24gdmlhIGEgd2F0Y2hlci4gT25seSB0aGUgZmllbGRzIHRoYXRcbiAgICAgIC8vIGFyZSBuZWVkZWQgZm9yIHRyaWdnZXJpbmcgYSBwcm92aWRlciB1cGRhdGUgYXJlIGluY2x1ZGVkLiBOb3RlIHRoYXQgdGhlXG4gICAgICAvLyByZWd1bGFyIHRoaXMuY29udGV4dCBpcyBzZW50IHRvIHRoZSBwcm92aWRlciBkdXJpbmcgZmV0Y2hlcyB0aG91Z2gsIGFzIHRoZXlcbiAgICAgIC8vIG1heSBuZWVkIGFsbCB0aGUgcHJvcCBpbmZvLlxuICAgICAgdmFyIGN0eCA9IHtcbiAgICAgICAgYXBpVXJsOiB0aGlzLmFwaVVybCxcbiAgICAgICAgZmlsdGVyOiBudWxsLFxuICAgICAgICBzb3J0Qnk6IG51bGwsXG4gICAgICAgIHNvcnREZXNjOiBudWxsLFxuICAgICAgICBwZXJQYWdlOiBudWxsLFxuICAgICAgICBjdXJyZW50UGFnZTogbnVsbFxuICAgICAgfTtcblxuICAgICAgaWYgKCF0aGlzLm5vUHJvdmlkZXJGaWx0ZXJpbmcpIHtcbiAgICAgICAgLy8gRWl0aGVyIGEgc3RyaW5nLCBvciBjb3VsZCBiZSBhbiBvYmplY3Qgb3IgYXJyYXkuXG4gICAgICAgIGN0eC5maWx0ZXIgPSB0aGlzLmxvY2FsRmlsdGVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMubm9Qcm92aWRlclNvcnRpbmcpIHtcbiAgICAgICAgY3R4LnNvcnRCeSA9IHRoaXMubG9jYWxTb3J0Qnk7XG4gICAgICAgIGN0eC5zb3J0RGVzYyA9IHRoaXMubG9jYWxTb3J0RGVzYztcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLm5vUHJvdmlkZXJQYWdpbmcpIHtcbiAgICAgICAgY3R4LnBlclBhZ2UgPSB0aGlzLnBlclBhZ2U7XG4gICAgICAgIGN0eC5jdXJyZW50UGFnZSA9IHRoaXMuY3VycmVudFBhZ2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBfb2JqZWN0U3ByZWFkKHt9LCBjdHgpO1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICAvLyBQcm92aWRlciB1cGRhdGUgdHJpZ2dlcmluZ1xuICAgIGl0ZW1zOiBmdW5jdGlvbiBpdGVtcyhuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgLy8gSWYgYSBuZXcgcHJvdmlkZXIgaGFzIGJlZW4gc3BlY2lmaWVkLCB0cmlnZ2VyIGFuIHVwZGF0ZVxuICAgICAgaWYgKHRoaXMuaGFzUHJvdmlkZXIgfHwgaXNGdW5jdGlvbihuZXdWYWwpKSB7XG4gICAgICAgIHRoaXMuJG5leHRUaWNrKHRoaXMuX3Byb3ZpZGVyVXBkYXRlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHByb3ZpZGVyVHJpZ2dlckNvbnRleHQ6IGZ1bmN0aW9uIHByb3ZpZGVyVHJpZ2dlckNvbnRleHQobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIC8vIFRyaWdnZXIgdGhlIHByb3ZpZGVyIHRvIHVwZGF0ZSBhcyB0aGUgcmVsZXZhbnQgY29udGV4dCB2YWx1ZXMgaGF2ZSBjaGFuZ2VkLlxuICAgICAgaWYgKCFsb29zZUVxdWFsKG5ld1ZhbCwgb2xkVmFsKSkge1xuICAgICAgICB0aGlzLiRuZXh0VGljayh0aGlzLl9wcm92aWRlclVwZGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAvLyBDYWxsIHRoZSBpdGVtcyBwcm92aWRlciBpZiBuZWNlc3NhcnlcbiAgICBpZiAodGhpcy5oYXNQcm92aWRlciAmJiAoIXRoaXMubG9jYWxJdGVtcyB8fCB0aGlzLmxvY2FsSXRlbXMubGVuZ3RoID09PSAwKSkge1xuICAgICAgLy8gRmV0Y2ggb24gbW91bnQgaWYgbG9jYWxJdGVtcyBpcyBlbXB0eVxuICAgICAgdGhpcy5fcHJvdmlkZXJVcGRhdGUoKTtcbiAgICB9IC8vIExpc3RlbiBmb3IgZ2xvYmFsIG1lc3NhZ2VzIHRvIHRlbGwgdXMgdG8gZm9yY2UgcmVmcmVzaCB0aGUgdGFibGVcblxuXG4gICAgdGhpcy5saXN0ZW5PblJvb3QoJ2J2OjpyZWZyZXNoOjp0YWJsZScsIGZ1bmN0aW9uIChpZCkge1xuICAgICAgaWYgKGlkID09PSBfdGhpcy5pZCB8fCBpZCA9PT0gX3RoaXMpIHtcbiAgICAgICAgX3RoaXMucmVmcmVzaCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9LFxuICBtZXRob2RzOiB7XG4gICAgcmVmcmVzaDogZnVuY3Rpb24gcmVmcmVzaCgpIHtcbiAgICAgIC8vIFB1YmxpYyBNZXRob2Q6IEZvcmNlIGEgcmVmcmVzaCBvZiB0aGUgcHJvdmlkZXIgZnVuY3Rpb25cbiAgICAgIHRoaXMuJG9mZigncmVmcmVzaGVkJywgdGhpcy5yZWZyZXNoKTtcblxuICAgICAgaWYgKHRoaXMuY29tcHV0ZWRCdXN5KSB7XG4gICAgICAgIC8vIENhbid0IGZvcmNlIGFuIHVwZGF0ZSB3aGVuIGZvcmNlZCBidXN5IGJ5IHVzZXIgKGJ1c3kgcHJvcCA9PT0gdHJ1ZSlcbiAgICAgICAgaWYgKHRoaXMubG9jYWxCdXN5ICYmIHRoaXMuaGFzUHJvdmlkZXIpIHtcbiAgICAgICAgICAvLyBCdXQgaWYgcHJvdmlkZXIgcnVubmluZyAobG9jYWxCdXN5KSwgcmUtc2NoZWR1bGUgcmVmcmVzaCBvbmNlIGByZWZyZXNoZWRgIGVtaXR0ZWRcbiAgICAgICAgICB0aGlzLiRvbigncmVmcmVzaGVkJywgdGhpcy5yZWZyZXNoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGVkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUHJvdmlkZXIpIHtcbiAgICAgICAgICB0aGlzLiRuZXh0VGljayh0aGlzLl9wcm92aWRlclVwZGF0ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgICB0aGlzLmxvY2FsSXRlbXMgPSBpc0FycmF5KHRoaXMuaXRlbXMpID8gdGhpcy5pdGVtcy5zbGljZSgpIDogW107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIFByb3ZpZGVyIHJlbGF0ZWQgbWV0aG9kc1xuICAgIF9wcm92aWRlclNldExvY2FsOiBmdW5jdGlvbiBfcHJvdmlkZXJTZXRMb2NhbChpdGVtcykge1xuICAgICAgdGhpcy5sb2NhbEl0ZW1zID0gaXNBcnJheShpdGVtcykgPyBpdGVtcy5zbGljZSgpIDogW107XG4gICAgICB0aGlzLmxvY2FsQnVzeSA9IGZhbHNlO1xuICAgICAgdGhpcy4kZW1pdCgncmVmcmVzaGVkJyk7IC8vIE5ldyByb290IGVtaXRcblxuICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgdGhpcy5lbWl0T25Sb290KCdidjo6dGFibGU6OnJlZnJlc2hlZCcsIHRoaXMuaWQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgX3Byb3ZpZGVyVXBkYXRlOiBmdW5jdGlvbiBfcHJvdmlkZXJVcGRhdGUoKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgLy8gUmVmcmVzaCB0aGUgcHJvdmlkZXIgZnVuY3Rpb24gaXRlbXMuXG4gICAgICBpZiAoIXRoaXMuaGFzUHJvdmlkZXIpIHtcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBubyBwcm92aWRlclxuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIElmIHRhYmxlIGlzIGJ1c3ksIHdhaXQgdW50aWwgcmVmcmVzaGVkIGJlZm9yZSBjYWxsaW5nIGFnYWluXG5cblxuICAgICAgaWYgKHRoaXMuY29tcHV0ZWRCdXN5KSB7XG4gICAgICAgIC8vIFNjaGVkdWxlIGEgbmV3IHJlZnJlc2ggb25jZSBgcmVmcmVzaGVkYCBpcyBlbWl0dGVkXG4gICAgICAgIHRoaXMuJG5leHRUaWNrKHRoaXMucmVmcmVzaCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gU2V0IGludGVybmFsIGJ1c3kgc3RhdGVcblxuXG4gICAgICB0aGlzLmxvY2FsQnVzeSA9IHRydWU7IC8vIENhbGwgcHJvdmlkZXIgZnVuY3Rpb24gd2l0aCBjb250ZXh0IGFuZCBvcHRpb25hbCBjYWxsYmFjayBhZnRlciBET00gaXMgZnVsbHkgdXBkYXRlZFxuXG4gICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gQ2FsbCBwcm92aWRlciBmdW5jdGlvbiBwYXNzaW5nIGl0IHRoZSBjb250ZXh0IGFuZCBvcHRpb25hbCBjYWxsYmFja1xuICAgICAgICAgIHZhciBkYXRhID0gX3RoaXMyLml0ZW1zKF90aGlzMi5jb250ZXh0LCBfdGhpczIuX3Byb3ZpZGVyU2V0TG9jYWwpO1xuXG4gICAgICAgICAgaWYgKGlzUHJvbWlzZShkYXRhKSkge1xuICAgICAgICAgICAgLy8gUHJvdmlkZXIgcmV0dXJuZWQgUHJvbWlzZVxuICAgICAgICAgICAgZGF0YS50aGVuKGZ1bmN0aW9uIChpdGVtcykge1xuICAgICAgICAgICAgICAvLyBQcm92aWRlciByZXNvbHZlZCB3aXRoIGl0ZW1zXG4gICAgICAgICAgICAgIF90aGlzMi5fcHJvdmlkZXJTZXRMb2NhbChpdGVtcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgICAgIC8vIFByb3ZpZGVyIHJldHVybmVkIEFycmF5IGRhdGFcbiAgICAgICAgICAgIF90aGlzMi5fcHJvdmlkZXJTZXRMb2NhbChkYXRhKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICBpZiAoX3RoaXMyLml0ZW1zLmxlbmd0aCAhPT0gMikge1xuICAgICAgICAgICAgICAvLyBDaGVjayBudW1iZXIgb2YgYXJndW1lbnRzIHByb3ZpZGVyIGZ1bmN0aW9uIHJlcXVlc3RlZFxuICAgICAgICAgICAgICAvLyBQcm92aWRlciBub3QgdXNpbmcgY2FsbGJhY2sgKGRpZG4ndCByZXF1ZXN0IHNlY29uZCBhcmd1bWVudCksIHNvIHdlIGNsZWFyXG4gICAgICAgICAgICAgIC8vIGJ1c3kgc3RhdGUgYXMgbW9zdCBsaWtlbHkgdGhlcmUgd2FzIGFuIGVycm9yIGluIHRoZSBwcm92aWRlciBmdW5jdGlvblxuXG4gICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICAgIHdhcm4oXCJiLXRhYmxlIHByb3ZpZGVyIGZ1bmN0aW9uIGRpZG4ndCByZXF1ZXN0IGNhbGxiYWNrIGFuZCBkaWQgbm90IHJldHVybiBhIHByb21pc2Ugb3IgZGF0YVwiKTtcbiAgICAgICAgICAgICAgX3RoaXMyLmxvY2FsQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSlcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAge1xuICAgICAgICAgIC8vIFByb3ZpZGVyIGZ1bmN0aW9uIGJvcmtlZCBvbiB1cywgc28gd2Ugc3BldyBvdXQgYSB3YXJuaW5nXG4gICAgICAgICAgLy8gYW5kIGNsZWFyIHRoZSBidXN5IHN0YXRlXG4gICAgICAgICAgd2FybihcImItdGFibGUgcHJvdmlkZXIgZnVuY3Rpb24gZXJyb3IgW1wiLmNvbmNhdChlLm5hbWUsIFwiXSBcIikuY29uY2F0KGUubWVzc2FnZSkpO1xuICAgICAgICAgIF90aGlzMi5sb2NhbEJ1c3kgPSBmYWxzZTtcblxuICAgICAgICAgIF90aGlzMi4kb2ZmKCdyZWZyZXNoZWQnLCBfdGhpczIucmVmcmVzaCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9jb21wb25lbnRzL3RhYmxlL2hlbHBlcnMvbWl4aW4tcHJvdmlkZXIuanNcbi8vIG1vZHVsZSBpZCA9IDI3MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///272\n"); + +/***/ }), +/* 273 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return directivesPlugin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_plugins__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__modal__ = __webpack_require__(219);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__popover__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scrollspy__ = __webpack_require__(220);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__toggle__ = __webpack_require__(222);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__tooltip__ = __webpack_require__(93);\n\n\n\n\n\n // Main plugin for installing all directive plugins\n\nvar directivesPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_0__utils_plugins__[\"b\" /* pluginFactory */])({\n plugins: {\n VBModalPlugin: __WEBPACK_IMPORTED_MODULE_1__modal__[\"a\" /* VBModalPlugin */],\n VBPopoverPlugin: __WEBPACK_IMPORTED_MODULE_2__popover__[\"a\" /* VBPopoverPlugin */],\n VBScrollspyPlugin: __WEBPACK_IMPORTED_MODULE_3__scrollspy__[\"a\" /* VBScrollspyPlugin */],\n VBTogglePlugin: __WEBPACK_IMPORTED_MODULE_4__toggle__[\"a\" /* VBTogglePlugin */],\n VBTooltipPlugin: __WEBPACK_IMPORTED_MODULE_5__tooltip__[\"a\" /* VBTooltipPlugin */]\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9pbmRleC5qcz8yOWMwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlEO0FBQ1Q7QUFDSTtBQUNJO0FBQ047QUFDRTs7QUFFckM7QUFDUDtBQUNBLDZFQUFhO0FBQ2I7QUFDQSxtQkFBbUIsNkRBQWE7QUFDaEMscUJBQXFCLGlFQUFlO0FBQ3BDLHVCQUF1QixxRUFBaUI7QUFDeEMsb0JBQW9CLCtEQUFjO0FBQ2xDLHFCQUFxQixpRUFBZTtBQUNwQztBQUNBLENBQUMiLCJmaWxlIjoiMjczLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uL3V0aWxzL3BsdWdpbnMnO1xuaW1wb3J0IHsgVkJNb2RhbFBsdWdpbiB9IGZyb20gJy4vbW9kYWwnO1xuaW1wb3J0IHsgVkJQb3BvdmVyUGx1Z2luIH0gZnJvbSAnLi9wb3BvdmVyJztcbmltcG9ydCB7IFZCU2Nyb2xsc3B5UGx1Z2luIH0gZnJvbSAnLi9zY3JvbGxzcHknO1xuaW1wb3J0IHsgVkJUb2dnbGVQbHVnaW4gfSBmcm9tICcuL3RvZ2dsZSc7XG5pbXBvcnQgeyBWQlRvb2x0aXBQbHVnaW4gfSBmcm9tICcuL3Rvb2x0aXAnOyAvLyBNYWluIHBsdWdpbiBmb3IgaW5zdGFsbGluZyBhbGwgZGlyZWN0aXZlIHBsdWdpbnNcblxuZXhwb3J0IHZhciBkaXJlY3RpdmVzUGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3Rvcnkoe1xuICBwbHVnaW5zOiB7XG4gICAgVkJNb2RhbFBsdWdpbjogVkJNb2RhbFBsdWdpbixcbiAgICBWQlBvcG92ZXJQbHVnaW46IFZCUG9wb3ZlclBsdWdpbixcbiAgICBWQlNjcm9sbHNweVBsdWdpbjogVkJTY3JvbGxzcHlQbHVnaW4sXG4gICAgVkJUb2dnbGVQbHVnaW46IFZCVG9nZ2xlUGx1Z2luLFxuICAgIFZCVG9vbHRpcFBsdWdpbjogVkJUb29sdGlwUGx1Z2luXG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvZXNtL2RpcmVjdGl2ZXMvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDI3M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///273\n"); + +/***/ }), +/* 274 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_observe_dom__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_warn__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_dom__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_inspect__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_object__ = __webpack_require__(8);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\n/*\n * ScrollSpy class definition\n */\n\n\n\n\n\n/*\n * Constants / Defaults\n */\n\nvar NAME = 'v-b-scrollspy';\nvar ACTIVATE_EVENT = 'bv::scrollspy::activate';\nvar Default = {\n element: 'body',\n offset: 10,\n method: 'auto',\n throttle: 75\n};\nvar DefaultType = {\n element: '(string|element|component)',\n offset: 'number',\n method: 'string',\n throttle: 'number'\n};\nvar ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n};\nvar Selector = {\n ACTIVE: '.active',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown, .dropup',\n DROPDOWN_ITEMS: '.dropdown-item',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n};\nvar OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}; // HREFs must end with a hash followed by at least one non-hash character.\n// HREFs in the links are assumed to point to non-external links.\n// Comparison to the current page base URL is not performed!\n\nvar HREF_REGEX = /^.*(#[^#]+)$/; // Transition Events\n\nvar TransitionEndEvents = ['webkitTransitionEnd', 'transitionend', 'otransitionend', 'oTransitionEnd']; // Options for events\n\nvar EventOptions = {\n passive: true,\n capture: false\n};\n/*\n * Utility Methods\n */\n// Better var type detection\n\nvar toType = function toType(obj)\n/* istanbul ignore next: not easy to test */\n{\n return Object(__WEBPACK_IMPORTED_MODULE_4__utils_object__[\"m\" /* toString */])(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase();\n}; // Check config properties for expected types\n\n\nvar typeCheckConfig = function typeCheckConfig(componentName, config, configTypes)\n/* istanbul ignore next: not easy to test */\n{\n for (var property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value && Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"o\" /* isElement */])(value) ? 'element' : toType(value); // handle Vue instances\n\n valueType = value && value._isVue ? 'component' : valueType;\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n /* istanbul ignore next */\n Object(__WEBPACK_IMPORTED_MODULE_1__utils_warn__[\"a\" /* default */])(\"\".concat(componentName, \": Option \\\"\").concat(property, \"\\\" provided type \\\"\").concat(valueType, \"\\\" but expected type \\\"\").concat(expectedTypes, \"\\\"\"));\n }\n }\n }\n};\n/*\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n/* istanbul ignore next: not easy to test */\n\n\nvar ScrollSpy\n/* istanbul ignore next: not easy to test */\n=\n/*#__PURE__*/\nfunction () {\n function ScrollSpy(element, config, $root) {\n _classCallCheck(this, ScrollSpy);\n\n // The element we activate links in\n this.$el = element;\n this.$scroller = null;\n this.$selector = [Selector.NAV_LINKS, Selector.LIST_ITEMS, Selector.DROPDOWN_ITEMS].join(',');\n this.$offsets = [];\n this.$targets = [];\n this.$activeTarget = null;\n this.$scrollHeight = 0;\n this.$resizeTimeout = null;\n this.$obs_scroller = null;\n this.$obs_targets = null;\n this.$root = $root || null;\n this.$config = null;\n this.updateConfig(config);\n }\n\n _createClass(ScrollSpy, [{\n key: \"updateConfig\",\n value: function updateConfig(config, $root) {\n if (this.$scroller) {\n // Just in case out scroll element has changed\n this.unlisten();\n this.$scroller = null;\n }\n\n var cfg = _objectSpread({}, this.constructor.Default, {}, config);\n\n if ($root) {\n this.$root = $root;\n }\n\n typeCheckConfig(this.constructor.Name, cfg, this.constructor.DefaultType);\n this.$config = cfg;\n\n if (this.$root) {\n var self = this;\n this.$root.$nextTick(function () {\n self.listen();\n });\n } else {\n this.listen();\n }\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n this.unlisten();\n clearTimeout(this.$resizeTimeout);\n this.$resizeTimeout = null;\n this.$el = null;\n this.$config = null;\n this.$scroller = null;\n this.$selector = null;\n this.$offsets = null;\n this.$targets = null;\n this.$activeTarget = null;\n this.$scrollHeight = null;\n }\n }, {\n key: \"listen\",\n value: function listen() {\n var _this = this;\n\n var scroller = this.getScroller();\n\n if (scroller && scroller.tagName !== 'BODY') {\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"f\" /* eventOn */])(scroller, 'scroll', this, EventOptions);\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"f\" /* eventOn */])(window, 'scroll', this, EventOptions);\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"f\" /* eventOn */])(window, 'resize', this, EventOptions);\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"f\" /* eventOn */])(window, 'orientationchange', this, EventOptions);\n TransitionEndEvents.forEach(function (evtName) {\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"f\" /* eventOn */])(window, evtName, _this, EventOptions);\n });\n this.setObservers(true); // Schedule a refresh\n\n this.handleEvent('refresh');\n }\n }, {\n key: \"unlisten\",\n value: function unlisten() {\n var _this2 = this;\n\n var scroller = this.getScroller();\n this.setObservers(false);\n\n if (scroller && scroller.tagName !== 'BODY') {\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"e\" /* eventOff */])(scroller, 'scroll', this, EventOptions);\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"e\" /* eventOff */])(window, 'scroll', this, EventOptions);\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"e\" /* eventOff */])(window, 'resize', this, EventOptions);\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"e\" /* eventOff */])(window, 'orientationchange', this, EventOptions);\n TransitionEndEvents.forEach(function (evtName) {\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"e\" /* eventOff */])(window, evtName, _this2, EventOptions);\n });\n }\n }, {\n key: \"setObservers\",\n value: function setObservers(on) {\n var _this3 = this;\n\n // We observe both the scroller for content changes, and the target links\n if (this.$obs_scroller) {\n this.$obs_scroller.disconnect();\n this.$obs_scroller = null;\n }\n\n if (this.$obs_targets) {\n this.$obs_targets.disconnect();\n this.$obs_targets = null;\n }\n\n if (on) {\n this.$obs_targets = Object(__WEBPACK_IMPORTED_MODULE_0__utils_observe_dom__[\"a\" /* default */])(this.$el, function () {\n _this3.handleEvent('mutation');\n }, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: ['href']\n });\n this.$obs_scroller = Object(__WEBPACK_IMPORTED_MODULE_0__utils_observe_dom__[\"a\" /* default */])(this.getScroller(), function () {\n _this3.handleEvent('mutation');\n }, {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['id', 'style', 'class']\n });\n }\n } // General event handler\n\n }, {\n key: \"handleEvent\",\n value: function handleEvent(evt) {\n var type = Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"m\" /* isString */])(evt) ? evt : evt.type;\n var self = this;\n\n var resizeThrottle = function resizeThrottle() {\n if (!self.$resizeTimeout) {\n self.$resizeTimeout = setTimeout(function () {\n self.refresh();\n self.process();\n self.$resizeTimeout = null;\n }, self.$config.throttle);\n }\n };\n\n if (type === 'scroll') {\n if (!this.$obs_scroller) {\n // Just in case we are added to the DOM before the scroll target is\n // We re-instantiate our listeners, just in case\n this.listen();\n }\n\n this.process();\n } else if (/(resize|orientationchange|mutation|refresh)/.test(type)) {\n // Postpone these events by throttle time\n resizeThrottle();\n }\n } // Refresh the list of target links on the element we are applied to\n\n }, {\n key: \"refresh\",\n value: function refresh() {\n var _this4 = this;\n\n var scroller = this.getScroller();\n\n if (!scroller) {\n return;\n }\n\n var autoMethod = scroller !== scroller.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;\n var method = this.$config.method === 'auto' ? autoMethod : this.$config.method;\n var methodFn = method === OffsetMethod.POSITION ? __WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"s\" /* position */] : __WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"r\" /* offset */];\n var offsetBase = method === OffsetMethod.POSITION ? this.getScrollTop() : 0;\n this.$offsets = [];\n this.$targets = [];\n this.$scrollHeight = this.getScrollHeight(); // Find all the unique link HREFs that we will control\n\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"y\" /* selectAll */])(this.$selector, this.$el) // Get HREF value\n .map(function (link) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"g\" /* getAttr */])(link, 'href');\n }) // Filter out HREFs that do not match our RegExp\n .filter(function (href) {\n return href && HREF_REGEX.test(href || '');\n }) // Find all elements with ID that match HREF hash\n .map(function (href) {\n // Convert HREF into an ID (including # at beginning)\n var id = href.replace(HREF_REGEX, '$1').trim();\n\n if (!id) {\n return null;\n } // Find the element with the ID specified by id\n\n\n var el = Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"x\" /* select */])(id, scroller);\n\n if (el && Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"p\" /* isVisible */])(el)) {\n return {\n offset: parseInt(methodFn(el).top, 10) + offsetBase,\n target: id\n };\n }\n\n return null;\n }).filter(Boolean) // Sort them by their offsets (smallest first)\n .sort(function (a, b) {\n return a.offset - b.offset;\n }) // record only unique targets/offsets\n .reduce(function (memo, item) {\n if (!memo[item.target]) {\n _this4.$offsets.push(item.offset);\n\n _this4.$targets.push(item.target);\n\n memo[item.target] = true;\n }\n\n return memo;\n }, {}); // Return this for easy chaining\n\n return this;\n } // Handle activating/clearing\n\n }, {\n key: \"process\",\n value: function process() {\n var scrollTop = this.getScrollTop() + this.$config.offset;\n var scrollHeight = this.getScrollHeight();\n var maxScroll = this.$config.offset + scrollHeight - this.getOffsetHeight();\n\n if (this.$scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop >= maxScroll) {\n var target = this.$targets[this.$targets.length - 1];\n\n if (this.$activeTarget !== target) {\n this.activate(target);\n }\n\n return;\n }\n\n if (this.$activeTarget && scrollTop < this.$offsets[0] && this.$offsets[0] > 0) {\n this.$activeTarget = null;\n this.clear();\n return;\n }\n\n for (var i = this.$offsets.length; i--;) {\n var isActiveTarget = this.$activeTarget !== this.$targets[i] && scrollTop >= this.$offsets[i] && (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"n\" /* isUndefined */])(this.$offsets[i + 1]) || scrollTop < this.$offsets[i + 1]);\n\n if (isActiveTarget) {\n this.activate(this.$targets[i]);\n }\n }\n }\n }, {\n key: \"getScroller\",\n value: function getScroller() {\n if (this.$scroller) {\n return this.$scroller;\n }\n\n var scroller = this.$config.element;\n\n if (!scroller) {\n return null;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"o\" /* isElement */])(scroller.$el)) {\n scroller = scroller.$el;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_3__utils_inspect__[\"m\" /* isString */])(scroller)) {\n scroller = Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"x\" /* select */])(scroller);\n }\n\n if (!scroller) {\n return null;\n }\n\n this.$scroller = scroller.tagName === 'BODY' ? window : scroller;\n return this.$scroller;\n }\n }, {\n key: \"getScrollTop\",\n value: function getScrollTop() {\n var scroller = this.getScroller();\n return scroller === window ? scroller.pageYOffset : scroller.scrollTop;\n }\n }, {\n key: \"getScrollHeight\",\n value: function getScrollHeight() {\n return this.getScroller().scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n }\n }, {\n key: \"getOffsetHeight\",\n value: function getOffsetHeight() {\n var scroller = this.getScroller();\n return scroller === window ? window.innerHeight : Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"h\" /* getBCR */])(scroller).height;\n }\n }, {\n key: \"activate\",\n value: function activate(target) {\n var _this5 = this;\n\n this.$activeTarget = target;\n this.clear(); // Grab the list of target links (<a href=\"{$target}\">)\n\n var links = Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"y\" /* selectAll */])(this.$selector // Split out the base selectors\n .split(',') // Map to a selector that matches links with HREF ending in the ID (including '#')\n .map(function (selector) {\n return \"\".concat(selector, \"[href$=\\\"\").concat(target, \"\\\"]\");\n }) // Join back into a single selector string\n .join(','), this.$el);\n links.forEach(function (link) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"m\" /* hasClass */])(link, ClassName.DROPDOWN_ITEM)) {\n // This is a dropdown item, so find the .dropdown-toggle and set it's state\n var dropdown = Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"c\" /* closest */])(Selector.DROPDOWN, link);\n\n if (dropdown) {\n _this5.setActiveState(Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"x\" /* select */])(Selector.DROPDOWN_TOGGLE, dropdown), true);\n } // Also set this link's state\n\n\n _this5.setActiveState(link, true);\n } else {\n // Set triggered link as active\n _this5.setActiveState(link, true);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"q\" /* matches */])(link.parentElement, Selector.NAV_ITEMS)) {\n // Handle nav-link inside nav-item, and set nav-item active\n _this5.setActiveState(link.parentElement, true);\n } // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n\n\n var el = link;\n\n while (el) {\n el = Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"c\" /* closest */])(Selector.NAV_LIST_GROUP, el);\n var sibling = el ? el.previousElementSibling : null;\n\n if (sibling && Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"q\" /* matches */])(sibling, \"\".concat(Selector.NAV_LINKS, \", \").concat(Selector.LIST_ITEMS))) {\n _this5.setActiveState(sibling, true);\n } // Handle special case where nav-link is inside a nav-item\n\n\n if (sibling && Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"q\" /* matches */])(sibling, Selector.NAV_ITEMS)) {\n _this5.setActiveState(Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"x\" /* select */])(Selector.NAV_LINKS, sibling), true); // Add active state to nav-item as well\n\n\n _this5.setActiveState(sibling, true);\n }\n }\n }\n }); // Signal event to via $root, passing ID of activated target and reference to array of links\n\n if (links && links.length > 0 && this.$root) {\n this.$root.$emit(ACTIVATE_EVENT, target, links);\n }\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this6 = this;\n\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"y\" /* selectAll */])(\"\".concat(this.$selector, \", \").concat(Selector.NAV_ITEMS), this.$el).filter(function (el) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"m\" /* hasClass */])(el, ClassName.ACTIVE);\n }).forEach(function (el) {\n return _this6.setActiveState(el, false);\n });\n }\n }, {\n key: \"setActiveState\",\n value: function setActiveState(el, active) {\n if (!el) {\n return;\n }\n\n if (active) {\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"b\" /* addClass */])(el, ClassName.ACTIVE);\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_2__utils_dom__[\"v\" /* removeClass */])(el, ClassName.ACTIVE);\n }\n }\n }], [{\n key: \"Name\",\n get: function get() {\n return NAME;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return ScrollSpy;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ScrollSpy);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vZGlyZWN0aXZlcy9zY3JvbGxzcHkvc2Nyb2xsc3B5LmNsYXNzLmpzPzg5NGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBDQUEwQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw4REFBOEQsZ0VBQWdFLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhOztBQUVuVixnQ0FBZ0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLCtDQUErQywyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8seUNBQXlDLGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWU7O0FBRXBnQiwyQ0FBMkMsa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWTs7QUFFL00saURBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdkosMkNBQTJDLGdCQUFnQixrQkFBa0IsT0FBTywyQkFBMkIsd0RBQXdELGdDQUFnQyx1REFBdUQsMkRBQTJELEVBQUU7O0FBRTNULDZEQUE2RCxzRUFBc0UsOERBQThELG9CQUFvQjs7QUFFck47QUFDQTtBQUNBO0FBQ2lEO0FBQ2I7QUFDK0k7QUFDdkg7QUFDSTtBQUNoRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQSxnQ0FBZ0M7O0FBRWhDLHVHQUF1Rzs7QUFFdkc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHVFQUFjO0FBQ3ZCLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLHFFQUFTLG9DQUFvQzs7QUFFNUU7O0FBRUE7QUFDQTtBQUNBLFFBQVEsb0VBQUk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGdDQUFnQyw4QkFBOEI7O0FBRTlEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxRQUFRLG1FQUFPO0FBQ2Y7O0FBRUEsTUFBTSxtRUFBTztBQUNiLE1BQU0sbUVBQU87QUFDYixNQUFNLG1FQUFPO0FBQ2I7QUFDQSxRQUFRLG1FQUFPO0FBQ2YsT0FBTztBQUNQLDhCQUE4Qjs7QUFFOUI7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLFFBQVEsb0VBQVE7QUFDaEI7O0FBRUEsTUFBTSxvRUFBUTtBQUNkLE1BQU0sb0VBQVE7QUFDZCxNQUFNLG9FQUFRO0FBQ2Q7QUFDQSxRQUFRLG9FQUFRO0FBQ2hCLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRCQUE0QiwyRUFBVTtBQUN0QztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCw2QkFBNkIsMkVBQVU7QUFDdkM7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7O0FBRUwsR0FBRztBQUNIO0FBQ0E7QUFDQSxpQkFBaUIsd0VBQVE7QUFDekI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUwsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdEQUF3RCw0REFBUSxHQUFHLDBEQUFNO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDs7QUFFbEQsTUFBTSxxRUFBUztBQUNmO0FBQ0EsZUFBZSxtRUFBTztBQUN0QixPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7OztBQUdULGlCQUFpQixrRUFBTTs7QUFFdkIsa0JBQWtCLHFFQUFTO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLE9BQU8sSUFBSSxFQUFFOztBQUViO0FBQ0EsS0FBSzs7QUFFTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QyxLQUFLO0FBQzdDLDBHQUEwRywyRUFBVzs7QUFFckg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxPQUFPLFVBQVUscUVBQVM7QUFDMUI7QUFDQSxPQUFPLFVBQVUsd0VBQVE7QUFDekIsbUJBQW1CLGtFQUFNO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSx3REFBd0Qsa0VBQU07QUFDOUQ7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLDZDQUE2QyxRQUFROztBQUV4RSxrQkFBa0IscUVBQVM7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxZQUFZLG9FQUFRO0FBQ3BCO0FBQ0EseUJBQXlCLG1FQUFPOztBQUVoQztBQUNBLGtDQUFrQyxrRUFBTTtBQUN4QyxXQUFXOzs7QUFHWDtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBLGNBQWMsbUVBQU87QUFDckI7QUFDQTtBQUNBLFdBQVc7QUFDWDs7O0FBR0E7O0FBRUE7QUFDQSxpQkFBaUIsbUVBQU87QUFDeEI7O0FBRUEsMkJBQTJCLG1FQUFPO0FBQ2xDO0FBQ0EsYUFBYTs7O0FBR2IsMkJBQTJCLG1FQUFPO0FBQ2xDLG9DQUFvQyxrRUFBTSxxQ0FBcUM7OztBQUcvRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sRUFBRTs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUEsTUFBTSxxRUFBUztBQUNmLGVBQWUsb0VBQVE7QUFDdkIsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLG9FQUFRO0FBQ2hCLE9BQU87QUFDUCxRQUFRLHVFQUFXO0FBQ25CO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQzs7QUFFYyxrRUFBUyIsImZpbGUiOiIyNzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsgaWYgKGkgJSAyKSB7IG93bktleXMoc291cmNlLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qXG4gKiBTY3JvbGxTcHkgY2xhc3MgZGVmaW5pdGlvblxuICovXG5pbXBvcnQgb2JzZXJ2ZURvbSBmcm9tICcuLi8uLi91dGlscy9vYnNlcnZlLWRvbSc7XG5pbXBvcnQgd2FybiBmcm9tICcuLi8uLi91dGlscy93YXJuJztcbmltcG9ydCB7IGlzRWxlbWVudCwgaXNWaXNpYmxlLCBjbG9zZXN0LCBtYXRjaGVzLCBnZXRCQ1IsIG9mZnNldCwgcG9zaXRpb24sIHNlbGVjdEFsbCwgc2VsZWN0LCBoYXNDbGFzcywgYWRkQ2xhc3MsIHJlbW92ZUNsYXNzLCBnZXRBdHRyLCBldmVudE9uLCBldmVudE9mZiB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBpc1N0cmluZywgaXNVbmRlZmluZWQgfSBmcm9tICcuLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7IHRvU3RyaW5nIGFzIG9iamVjdFRvU3RyaW5nIH0gZnJvbSAnLi4vLi4vdXRpbHMvb2JqZWN0Jztcbi8qXG4gKiBDb25zdGFudHMgLyBEZWZhdWx0c1xuICovXG5cbnZhciBOQU1FID0gJ3YtYi1zY3JvbGxzcHknO1xudmFyIEFDVElWQVRFX0VWRU5UID0gJ2J2OjpzY3JvbGxzcHk6OmFjdGl2YXRlJztcbnZhciBEZWZhdWx0ID0ge1xuICBlbGVtZW50OiAnYm9keScsXG4gIG9mZnNldDogMTAsXG4gIG1ldGhvZDogJ2F1dG8nLFxuICB0aHJvdHRsZTogNzVcbn07XG52YXIgRGVmYXVsdFR5cGUgPSB7XG4gIGVsZW1lbnQ6ICcoc3RyaW5nfGVsZW1lbnR8Y29tcG9uZW50KScsXG4gIG9mZnNldDogJ251bWJlcicsXG4gIG1ldGhvZDogJ3N0cmluZycsXG4gIHRocm90dGxlOiAnbnVtYmVyJ1xufTtcbnZhciBDbGFzc05hbWUgPSB7XG4gIERST1BET1dOX0lURU06ICdkcm9wZG93bi1pdGVtJyxcbiAgQUNUSVZFOiAnYWN0aXZlJ1xufTtcbnZhciBTZWxlY3RvciA9IHtcbiAgQUNUSVZFOiAnLmFjdGl2ZScsXG4gIE5BVl9MSVNUX0dST1VQOiAnLm5hdiwgLmxpc3QtZ3JvdXAnLFxuICBOQVZfTElOS1M6ICcubmF2LWxpbmsnLFxuICBOQVZfSVRFTVM6ICcubmF2LWl0ZW0nLFxuICBMSVNUX0lURU1TOiAnLmxpc3QtZ3JvdXAtaXRlbScsXG4gIERST1BET1dOOiAnLmRyb3Bkb3duLCAuZHJvcHVwJyxcbiAgRFJPUERPV05fSVRFTVM6ICcuZHJvcGRvd24taXRlbScsXG4gIERST1BET1dOX1RPR0dMRTogJy5kcm9wZG93bi10b2dnbGUnXG59O1xudmFyIE9mZnNldE1ldGhvZCA9IHtcbiAgT0ZGU0VUOiAnb2Zmc2V0JyxcbiAgUE9TSVRJT046ICdwb3NpdGlvbidcbn07IC8vIEhSRUZzIG11c3QgZW5kIHdpdGggYSBoYXNoIGZvbGxvd2VkIGJ5IGF0IGxlYXN0IG9uZSBub24taGFzaCBjaGFyYWN0ZXIuXG4vLyBIUkVGcyBpbiB0aGUgbGlua3MgYXJlIGFzc3VtZWQgdG8gcG9pbnQgdG8gbm9uLWV4dGVybmFsIGxpbmtzLlxuLy8gQ29tcGFyaXNvbiB0byB0aGUgY3VycmVudCBwYWdlIGJhc2UgVVJMIGlzIG5vdCBwZXJmb3JtZWQhXG5cbnZhciBIUkVGX1JFR0VYID0gL14uKigjW14jXSspJC87IC8vIFRyYW5zaXRpb24gRXZlbnRzXG5cbnZhciBUcmFuc2l0aW9uRW5kRXZlbnRzID0gWyd3ZWJraXRUcmFuc2l0aW9uRW5kJywgJ3RyYW5zaXRpb25lbmQnLCAnb3RyYW5zaXRpb25lbmQnLCAnb1RyYW5zaXRpb25FbmQnXTsgLy8gT3B0aW9ucyBmb3IgZXZlbnRzXG5cbnZhciBFdmVudE9wdGlvbnMgPSB7XG4gIHBhc3NpdmU6IHRydWUsXG4gIGNhcHR1cmU6IGZhbHNlXG59O1xuLypcbiAqIFV0aWxpdHkgTWV0aG9kc1xuICovXG4vLyBCZXR0ZXIgdmFyIHR5cGUgZGV0ZWN0aW9uXG5cbnZhciB0b1R5cGUgPSBmdW5jdGlvbiB0b1R5cGUob2JqKVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IG5vdCBlYXN5IHRvIHRlc3QgKi9cbntcbiAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKG9iaikubWF0Y2goL1xccyhbYS16QS1aXSspLylbMV0udG9Mb3dlckNhc2UoKTtcbn07IC8vIENoZWNrIGNvbmZpZyBwcm9wZXJ0aWVzIGZvciBleHBlY3RlZCB0eXBlc1xuXG5cbnZhciB0eXBlQ2hlY2tDb25maWcgPSBmdW5jdGlvbiB0eXBlQ2hlY2tDb25maWcoY29tcG9uZW50TmFtZSwgY29uZmlnLCBjb25maWdUeXBlcylcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBub3QgZWFzeSB0byB0ZXN0ICovXG57XG4gIGZvciAodmFyIHByb3BlcnR5IGluIGNvbmZpZ1R5cGVzKSB7XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb25maWdUeXBlcywgcHJvcGVydHkpKSB7XG4gICAgICB2YXIgZXhwZWN0ZWRUeXBlcyA9IGNvbmZpZ1R5cGVzW3Byb3BlcnR5XTtcbiAgICAgIHZhciB2YWx1ZSA9IGNvbmZpZ1twcm9wZXJ0eV07XG4gICAgICB2YXIgdmFsdWVUeXBlID0gdmFsdWUgJiYgaXNFbGVtZW50KHZhbHVlKSA/ICdlbGVtZW50JyA6IHRvVHlwZSh2YWx1ZSk7IC8vIGhhbmRsZSBWdWUgaW5zdGFuY2VzXG5cbiAgICAgIHZhbHVlVHlwZSA9IHZhbHVlICYmIHZhbHVlLl9pc1Z1ZSA/ICdjb21wb25lbnQnIDogdmFsdWVUeXBlO1xuXG4gICAgICBpZiAoIW5ldyBSZWdFeHAoZXhwZWN0ZWRUeXBlcykudGVzdCh2YWx1ZVR5cGUpKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHdhcm4oXCJcIi5jb25jYXQoY29tcG9uZW50TmFtZSwgXCI6IE9wdGlvbiBcXFwiXCIpLmNvbmNhdChwcm9wZXJ0eSwgXCJcXFwiIHByb3ZpZGVkIHR5cGUgXFxcIlwiKS5jb25jYXQodmFsdWVUeXBlLCBcIlxcXCIgYnV0IGV4cGVjdGVkIHR5cGUgXFxcIlwiKS5jb25jYXQoZXhwZWN0ZWRUeXBlcywgXCJcXFwiXCIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4vKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm90IGVhc3kgdG8gdGVzdCAqL1xuXG5cbnZhciBTY3JvbGxTcHlcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBub3QgZWFzeSB0byB0ZXN0ICovXG49XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFNjcm9sbFNweShlbGVtZW50LCBjb25maWcsICRyb290KSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFNjcm9sbFNweSk7XG5cbiAgICAvLyBUaGUgZWxlbWVudCB3ZSBhY3RpdmF0ZSBsaW5rcyBpblxuICAgIHRoaXMuJGVsID0gZWxlbWVudDtcbiAgICB0aGlzLiRzY3JvbGxlciA9IG51bGw7XG4gICAgdGhpcy4kc2VsZWN0b3IgPSBbU2VsZWN0b3IuTkFWX0xJTktTLCBTZWxlY3Rvci5MSVNUX0lURU1TLCBTZWxlY3Rvci5EUk9QRE9XTl9JVEVNU10uam9pbignLCcpO1xuICAgIHRoaXMuJG9mZnNldHMgPSBbXTtcbiAgICB0aGlzLiR0YXJnZXRzID0gW107XG4gICAgdGhpcy4kYWN0aXZlVGFyZ2V0ID0gbnVsbDtcbiAgICB0aGlzLiRzY3JvbGxIZWlnaHQgPSAwO1xuICAgIHRoaXMuJHJlc2l6ZVRpbWVvdXQgPSBudWxsO1xuICAgIHRoaXMuJG9ic19zY3JvbGxlciA9IG51bGw7XG4gICAgdGhpcy4kb2JzX3RhcmdldHMgPSBudWxsO1xuICAgIHRoaXMuJHJvb3QgPSAkcm9vdCB8fCBudWxsO1xuICAgIHRoaXMuJGNvbmZpZyA9IG51bGw7XG4gICAgdGhpcy51cGRhdGVDb25maWcoY29uZmlnKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhTY3JvbGxTcHksIFt7XG4gICAga2V5OiBcInVwZGF0ZUNvbmZpZ1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1cGRhdGVDb25maWcoY29uZmlnLCAkcm9vdCkge1xuICAgICAgaWYgKHRoaXMuJHNjcm9sbGVyKSB7XG4gICAgICAgIC8vIEp1c3QgaW4gY2FzZSBvdXQgc2Nyb2xsIGVsZW1lbnQgaGFzIGNoYW5nZWRcbiAgICAgICAgdGhpcy51bmxpc3RlbigpO1xuICAgICAgICB0aGlzLiRzY3JvbGxlciA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHZhciBjZmcgPSBfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHQsIHt9LCBjb25maWcpO1xuXG4gICAgICBpZiAoJHJvb3QpIHtcbiAgICAgICAgdGhpcy4kcm9vdCA9ICRyb290O1xuICAgICAgfVxuXG4gICAgICB0eXBlQ2hlY2tDb25maWcodGhpcy5jb25zdHJ1Y3Rvci5OYW1lLCBjZmcsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpO1xuICAgICAgdGhpcy4kY29uZmlnID0gY2ZnO1xuXG4gICAgICBpZiAodGhpcy4kcm9vdCkge1xuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgICAgIHRoaXMuJHJvb3QuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBzZWxmLmxpc3RlbigpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubGlzdGVuKCk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImRpc3Bvc2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGlzcG9zZSgpIHtcbiAgICAgIHRoaXMudW5saXN0ZW4oKTtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLiRyZXNpemVUaW1lb3V0KTtcbiAgICAgIHRoaXMuJHJlc2l6ZVRpbWVvdXQgPSBudWxsO1xuICAgICAgdGhpcy4kZWwgPSBudWxsO1xuICAgICAgdGhpcy4kY29uZmlnID0gbnVsbDtcbiAgICAgIHRoaXMuJHNjcm9sbGVyID0gbnVsbDtcbiAgICAgIHRoaXMuJHNlbGVjdG9yID0gbnVsbDtcbiAgICAgIHRoaXMuJG9mZnNldHMgPSBudWxsO1xuICAgICAgdGhpcy4kdGFyZ2V0cyA9IG51bGw7XG4gICAgICB0aGlzLiRhY3RpdmVUYXJnZXQgPSBudWxsO1xuICAgICAgdGhpcy4kc2Nyb2xsSGVpZ2h0ID0gbnVsbDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwibGlzdGVuXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGxpc3RlbigpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHZhciBzY3JvbGxlciA9IHRoaXMuZ2V0U2Nyb2xsZXIoKTtcblxuICAgICAgaWYgKHNjcm9sbGVyICYmIHNjcm9sbGVyLnRhZ05hbWUgIT09ICdCT0RZJykge1xuICAgICAgICBldmVudE9uKHNjcm9sbGVyLCAnc2Nyb2xsJywgdGhpcywgRXZlbnRPcHRpb25zKTtcbiAgICAgIH1cblxuICAgICAgZXZlbnRPbih3aW5kb3csICdzY3JvbGwnLCB0aGlzLCBFdmVudE9wdGlvbnMpO1xuICAgICAgZXZlbnRPbih3aW5kb3csICdyZXNpemUnLCB0aGlzLCBFdmVudE9wdGlvbnMpO1xuICAgICAgZXZlbnRPbih3aW5kb3csICdvcmllbnRhdGlvbmNoYW5nZScsIHRoaXMsIEV2ZW50T3B0aW9ucyk7XG4gICAgICBUcmFuc2l0aW9uRW5kRXZlbnRzLmZvckVhY2goZnVuY3Rpb24gKGV2dE5hbWUpIHtcbiAgICAgICAgZXZlbnRPbih3aW5kb3csIGV2dE5hbWUsIF90aGlzLCBFdmVudE9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNldE9ic2VydmVycyh0cnVlKTsgLy8gU2NoZWR1bGUgYSByZWZyZXNoXG5cbiAgICAgIHRoaXMuaGFuZGxlRXZlbnQoJ3JlZnJlc2gnKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwidW5saXN0ZW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdW5saXN0ZW4oKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgdmFyIHNjcm9sbGVyID0gdGhpcy5nZXRTY3JvbGxlcigpO1xuICAgICAgdGhpcy5zZXRPYnNlcnZlcnMoZmFsc2UpO1xuXG4gICAgICBpZiAoc2Nyb2xsZXIgJiYgc2Nyb2xsZXIudGFnTmFtZSAhPT0gJ0JPRFknKSB7XG4gICAgICAgIGV2ZW50T2ZmKHNjcm9sbGVyLCAnc2Nyb2xsJywgdGhpcywgRXZlbnRPcHRpb25zKTtcbiAgICAgIH1cblxuICAgICAgZXZlbnRPZmYod2luZG93LCAnc2Nyb2xsJywgdGhpcywgRXZlbnRPcHRpb25zKTtcbiAgICAgIGV2ZW50T2ZmKHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMsIEV2ZW50T3B0aW9ucyk7XG4gICAgICBldmVudE9mZih3aW5kb3csICdvcmllbnRhdGlvbmNoYW5nZScsIHRoaXMsIEV2ZW50T3B0aW9ucyk7XG4gICAgICBUcmFuc2l0aW9uRW5kRXZlbnRzLmZvckVhY2goZnVuY3Rpb24gKGV2dE5hbWUpIHtcbiAgICAgICAgZXZlbnRPZmYod2luZG93LCBldnROYW1lLCBfdGhpczIsIEV2ZW50T3B0aW9ucyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic2V0T2JzZXJ2ZXJzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNldE9ic2VydmVycyhvbikge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIC8vIFdlIG9ic2VydmUgYm90aCB0aGUgc2Nyb2xsZXIgZm9yIGNvbnRlbnQgY2hhbmdlcywgYW5kIHRoZSB0YXJnZXQgbGlua3NcbiAgICAgIGlmICh0aGlzLiRvYnNfc2Nyb2xsZXIpIHtcbiAgICAgICAgdGhpcy4kb2JzX3Njcm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgdGhpcy4kb2JzX3Njcm9sbGVyID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuJG9ic190YXJnZXRzKSB7XG4gICAgICAgIHRoaXMuJG9ic190YXJnZXRzLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgdGhpcy4kb2JzX3RhcmdldHMgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBpZiAob24pIHtcbiAgICAgICAgdGhpcy4kb2JzX3RhcmdldHMgPSBvYnNlcnZlRG9tKHRoaXMuJGVsLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgX3RoaXMzLmhhbmRsZUV2ZW50KCdtdXRhdGlvbicpO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnaHJlZiddXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLiRvYnNfc2Nyb2xsZXIgPSBvYnNlcnZlRG9tKHRoaXMuZ2V0U2Nyb2xsZXIoKSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIF90aGlzMy5oYW5kbGVFdmVudCgnbXV0YXRpb24nKTtcbiAgICAgICAgfSwge1xuICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUsXG4gICAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnLCAnc3R5bGUnLCAnY2xhc3MnXVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IC8vIEdlbmVyYWwgZXZlbnQgaGFuZGxlclxuXG4gIH0sIHtcbiAgICBrZXk6IFwiaGFuZGxlRXZlbnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaGFuZGxlRXZlbnQoZXZ0KSB7XG4gICAgICB2YXIgdHlwZSA9IGlzU3RyaW5nKGV2dCkgPyBldnQgOiBldnQudHlwZTtcbiAgICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgICAgdmFyIHJlc2l6ZVRocm90dGxlID0gZnVuY3Rpb24gcmVzaXplVGhyb3R0bGUoKSB7XG4gICAgICAgIGlmICghc2VsZi4kcmVzaXplVGltZW91dCkge1xuICAgICAgICAgIHNlbGYuJHJlc2l6ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHNlbGYucmVmcmVzaCgpO1xuICAgICAgICAgICAgc2VsZi5wcm9jZXNzKCk7XG4gICAgICAgICAgICBzZWxmLiRyZXNpemVUaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgICB9LCBzZWxmLiRjb25maWcudGhyb3R0bGUpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBpZiAodHlwZSA9PT0gJ3Njcm9sbCcpIHtcbiAgICAgICAgaWYgKCF0aGlzLiRvYnNfc2Nyb2xsZXIpIHtcbiAgICAgICAgICAvLyBKdXN0IGluIGNhc2Ugd2UgYXJlIGFkZGVkIHRvIHRoZSBET00gYmVmb3JlIHRoZSBzY3JvbGwgdGFyZ2V0IGlzXG4gICAgICAgICAgLy8gV2UgcmUtaW5zdGFudGlhdGUgb3VyIGxpc3RlbmVycywganVzdCBpbiBjYXNlXG4gICAgICAgICAgdGhpcy5saXN0ZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvY2VzcygpO1xuICAgICAgfSBlbHNlIGlmICgvKHJlc2l6ZXxvcmllbnRhdGlvbmNoYW5nZXxtdXRhdGlvbnxyZWZyZXNoKS8udGVzdCh0eXBlKSkge1xuICAgICAgICAvLyBQb3N0cG9uZSB0aGVzZSBldmVudHMgYnkgdGhyb3R0bGUgdGltZVxuICAgICAgICByZXNpemVUaHJvdHRsZSgpO1xuICAgICAgfVxuICAgIH0gLy8gUmVmcmVzaCB0aGUgbGlzdCBvZiB0YXJnZXQgbGlua3Mgb24gdGhlIGVsZW1lbnQgd2UgYXJlIGFwcGxpZWQgdG9cblxuICB9LCB7XG4gICAga2V5OiBcInJlZnJlc2hcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVmcmVzaCgpIHtcbiAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICB2YXIgc2Nyb2xsZXIgPSB0aGlzLmdldFNjcm9sbGVyKCk7XG5cbiAgICAgIGlmICghc2Nyb2xsZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgYXV0b01ldGhvZCA9IHNjcm9sbGVyICE9PSBzY3JvbGxlci53aW5kb3cgPyBPZmZzZXRNZXRob2QuUE9TSVRJT04gOiBPZmZzZXRNZXRob2QuT0ZGU0VUO1xuICAgICAgdmFyIG1ldGhvZCA9IHRoaXMuJGNvbmZpZy5tZXRob2QgPT09ICdhdXRvJyA/IGF1dG9NZXRob2QgOiB0aGlzLiRjb25maWcubWV0aG9kO1xuICAgICAgdmFyIG1ldGhvZEZuID0gbWV0aG9kID09PSBPZmZzZXRNZXRob2QuUE9TSVRJT04gPyBwb3NpdGlvbiA6IG9mZnNldDtcbiAgICAgIHZhciBvZmZzZXRCYXNlID0gbWV0aG9kID09PSBPZmZzZXRNZXRob2QuUE9TSVRJT04gPyB0aGlzLmdldFNjcm9sbFRvcCgpIDogMDtcbiAgICAgIHRoaXMuJG9mZnNldHMgPSBbXTtcbiAgICAgIHRoaXMuJHRhcmdldHMgPSBbXTtcbiAgICAgIHRoaXMuJHNjcm9sbEhlaWdodCA9IHRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCk7IC8vIEZpbmQgYWxsIHRoZSB1bmlxdWUgbGluayBIUkVGcyB0aGF0IHdlIHdpbGwgY29udHJvbFxuXG4gICAgICBzZWxlY3RBbGwodGhpcy4kc2VsZWN0b3IsIHRoaXMuJGVsKSAvLyBHZXQgSFJFRiB2YWx1ZVxuICAgICAgLm1hcChmdW5jdGlvbiAobGluaykge1xuICAgICAgICByZXR1cm4gZ2V0QXR0cihsaW5rLCAnaHJlZicpO1xuICAgICAgfSkgLy8gRmlsdGVyIG91dCBIUkVGcyB0aGF0IGRvIG5vdCBtYXRjaCBvdXIgUmVnRXhwXG4gICAgICAuZmlsdGVyKGZ1bmN0aW9uIChocmVmKSB7XG4gICAgICAgIHJldHVybiBocmVmICYmIEhSRUZfUkVHRVgudGVzdChocmVmIHx8ICcnKTtcbiAgICAgIH0pIC8vIEZpbmQgYWxsIGVsZW1lbnRzIHdpdGggSUQgdGhhdCBtYXRjaCBIUkVGIGhhc2hcbiAgICAgIC5tYXAoZnVuY3Rpb24gKGhyZWYpIHtcbiAgICAgICAgLy8gQ29udmVydCBIUkVGIGludG8gYW4gSUQgKGluY2x1ZGluZyAjIGF0IGJlZ2lubmluZylcbiAgICAgICAgdmFyIGlkID0gaHJlZi5yZXBsYWNlKEhSRUZfUkVHRVgsICckMScpLnRyaW0oKTtcblxuICAgICAgICBpZiAoIWlkKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gLy8gRmluZCB0aGUgZWxlbWVudCB3aXRoIHRoZSBJRCBzcGVjaWZpZWQgYnkgaWRcblxuXG4gICAgICAgIHZhciBlbCA9IHNlbGVjdChpZCwgc2Nyb2xsZXIpO1xuXG4gICAgICAgIGlmIChlbCAmJiBpc1Zpc2libGUoZWwpKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9mZnNldDogcGFyc2VJbnQobWV0aG9kRm4oZWwpLnRvcCwgMTApICsgb2Zmc2V0QmFzZSxcbiAgICAgICAgICAgIHRhcmdldDogaWRcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KS5maWx0ZXIoQm9vbGVhbikgLy8gU29ydCB0aGVtIGJ5IHRoZWlyIG9mZnNldHMgKHNtYWxsZXN0IGZpcnN0KVxuICAgICAgLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgcmV0dXJuIGEub2Zmc2V0IC0gYi5vZmZzZXQ7XG4gICAgICB9KSAvLyByZWNvcmQgb25seSB1bmlxdWUgdGFyZ2V0cy9vZmZzZXRzXG4gICAgICAucmVkdWNlKGZ1bmN0aW9uIChtZW1vLCBpdGVtKSB7XG4gICAgICAgIGlmICghbWVtb1tpdGVtLnRhcmdldF0pIHtcbiAgICAgICAgICBfdGhpczQuJG9mZnNldHMucHVzaChpdGVtLm9mZnNldCk7XG5cbiAgICAgICAgICBfdGhpczQuJHRhcmdldHMucHVzaChpdGVtLnRhcmdldCk7XG5cbiAgICAgICAgICBtZW1vW2l0ZW0udGFyZ2V0XSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWVtbztcbiAgICAgIH0sIHt9KTsgLy8gUmV0dXJuIHRoaXMgZm9yIGVhc3kgY2hhaW5pbmdcblxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSAvLyBIYW5kbGUgYWN0aXZhdGluZy9jbGVhcmluZ1xuXG4gIH0sIHtcbiAgICBrZXk6IFwicHJvY2Vzc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBwcm9jZXNzKCkge1xuICAgICAgdmFyIHNjcm9sbFRvcCA9IHRoaXMuZ2V0U2Nyb2xsVG9wKCkgKyB0aGlzLiRjb25maWcub2Zmc2V0O1xuICAgICAgdmFyIHNjcm9sbEhlaWdodCA9IHRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCk7XG4gICAgICB2YXIgbWF4U2Nyb2xsID0gdGhpcy4kY29uZmlnLm9mZnNldCArIHNjcm9sbEhlaWdodCAtIHRoaXMuZ2V0T2Zmc2V0SGVpZ2h0KCk7XG5cbiAgICAgIGlmICh0aGlzLiRzY3JvbGxIZWlnaHQgIT09IHNjcm9sbEhlaWdodCkge1xuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNjcm9sbFRvcCA+PSBtYXhTY3JvbGwpIHtcbiAgICAgICAgdmFyIHRhcmdldCA9IHRoaXMuJHRhcmdldHNbdGhpcy4kdGFyZ2V0cy5sZW5ndGggLSAxXTtcblxuICAgICAgICBpZiAodGhpcy4kYWN0aXZlVGFyZ2V0ICE9PSB0YXJnZXQpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2YXRlKHRhcmdldCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLiRhY3RpdmVUYXJnZXQgJiYgc2Nyb2xsVG9wIDwgdGhpcy4kb2Zmc2V0c1swXSAmJiB0aGlzLiRvZmZzZXRzWzBdID4gMCkge1xuICAgICAgICB0aGlzLiRhY3RpdmVUYXJnZXQgPSBudWxsO1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZm9yICh2YXIgaSA9IHRoaXMuJG9mZnNldHMubGVuZ3RoOyBpLS07KSB7XG4gICAgICAgIHZhciBpc0FjdGl2ZVRhcmdldCA9IHRoaXMuJGFjdGl2ZVRhcmdldCAhPT0gdGhpcy4kdGFyZ2V0c1tpXSAmJiBzY3JvbGxUb3AgPj0gdGhpcy4kb2Zmc2V0c1tpXSAmJiAoaXNVbmRlZmluZWQodGhpcy4kb2Zmc2V0c1tpICsgMV0pIHx8IHNjcm9sbFRvcCA8IHRoaXMuJG9mZnNldHNbaSArIDFdKTtcblxuICAgICAgICBpZiAoaXNBY3RpdmVUYXJnZXQpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2YXRlKHRoaXMuJHRhcmdldHNbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldFNjcm9sbGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFNjcm9sbGVyKCkge1xuICAgICAgaWYgKHRoaXMuJHNjcm9sbGVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiRzY3JvbGxlcjtcbiAgICAgIH1cblxuICAgICAgdmFyIHNjcm9sbGVyID0gdGhpcy4kY29uZmlnLmVsZW1lbnQ7XG5cbiAgICAgIGlmICghc2Nyb2xsZXIpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKGlzRWxlbWVudChzY3JvbGxlci4kZWwpKSB7XG4gICAgICAgIHNjcm9sbGVyID0gc2Nyb2xsZXIuJGVsO1xuICAgICAgfSBlbHNlIGlmIChpc1N0cmluZyhzY3JvbGxlcikpIHtcbiAgICAgICAgc2Nyb2xsZXIgPSBzZWxlY3Qoc2Nyb2xsZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXNjcm9sbGVyKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiRzY3JvbGxlciA9IHNjcm9sbGVyLnRhZ05hbWUgPT09ICdCT0RZJyA/IHdpbmRvdyA6IHNjcm9sbGVyO1xuICAgICAgcmV0dXJuIHRoaXMuJHNjcm9sbGVyO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRTY3JvbGxUb3BcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0U2Nyb2xsVG9wKCkge1xuICAgICAgdmFyIHNjcm9sbGVyID0gdGhpcy5nZXRTY3JvbGxlcigpO1xuICAgICAgcmV0dXJuIHNjcm9sbGVyID09PSB3aW5kb3cgPyBzY3JvbGxlci5wYWdlWU9mZnNldCA6IHNjcm9sbGVyLnNjcm9sbFRvcDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0U2Nyb2xsSGVpZ2h0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFNjcm9sbEhlaWdodCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFNjcm9sbGVyKCkuc2Nyb2xsSGVpZ2h0IHx8IE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0T2Zmc2V0SGVpZ2h0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldE9mZnNldEhlaWdodCgpIHtcbiAgICAgIHZhciBzY3JvbGxlciA9IHRoaXMuZ2V0U2Nyb2xsZXIoKTtcbiAgICAgIHJldHVybiBzY3JvbGxlciA9PT0gd2luZG93ID8gd2luZG93LmlubmVySGVpZ2h0IDogZ2V0QkNSKHNjcm9sbGVyKS5oZWlnaHQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImFjdGl2YXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGFjdGl2YXRlKHRhcmdldCkge1xuICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICAgIHRoaXMuJGFjdGl2ZVRhcmdldCA9IHRhcmdldDtcbiAgICAgIHRoaXMuY2xlYXIoKTsgLy8gR3JhYiB0aGUgbGlzdCBvZiB0YXJnZXQgbGlua3MgKDxhIGhyZWY9XCJ7JHRhcmdldH1cIj4pXG5cbiAgICAgIHZhciBsaW5rcyA9IHNlbGVjdEFsbCh0aGlzLiRzZWxlY3RvciAvLyBTcGxpdCBvdXQgdGhlIGJhc2Ugc2VsZWN0b3JzXG4gICAgICAuc3BsaXQoJywnKSAvLyBNYXAgdG8gYSBzZWxlY3RvciB0aGF0IG1hdGNoZXMgbGlua3Mgd2l0aCBIUkVGIGVuZGluZyBpbiB0aGUgSUQgKGluY2x1ZGluZyAnIycpXG4gICAgICAubWFwKGZ1bmN0aW9uIChzZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gXCJcIi5jb25jYXQoc2VsZWN0b3IsIFwiW2hyZWYkPVxcXCJcIikuY29uY2F0KHRhcmdldCwgXCJcXFwiXVwiKTtcbiAgICAgIH0pIC8vIEpvaW4gYmFjayBpbnRvIGEgc2luZ2xlIHNlbGVjdG9yIHN0cmluZ1xuICAgICAgLmpvaW4oJywnKSwgdGhpcy4kZWwpO1xuICAgICAgbGlua3MuZm9yRWFjaChmdW5jdGlvbiAobGluaykge1xuICAgICAgICBpZiAoaGFzQ2xhc3MobGluaywgQ2xhc3NOYW1lLkRST1BET1dOX0lURU0pKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBhIGRyb3Bkb3duIGl0ZW0sIHNvIGZpbmQgdGhlIC5kcm9wZG93bi10b2dnbGUgYW5kIHNldCBpdCdzIHN0YXRlXG4gICAgICAgICAgdmFyIGRyb3Bkb3duID0gY2xvc2VzdChTZWxlY3Rvci5EUk9QRE9XTiwgbGluayk7XG5cbiAgICAgICAgICBpZiAoZHJvcGRvd24pIHtcbiAgICAgICAgICAgIF90aGlzNS5zZXRBY3RpdmVTdGF0ZShzZWxlY3QoU2VsZWN0b3IuRFJPUERPV05fVE9HR0xFLCBkcm9wZG93biksIHRydWUpO1xuICAgICAgICAgIH0gLy8gQWxzbyBzZXQgdGhpcyBsaW5rJ3Mgc3RhdGVcblxuXG4gICAgICAgICAgX3RoaXM1LnNldEFjdGl2ZVN0YXRlKGxpbmssIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFNldCB0cmlnZ2VyZWQgbGluayBhcyBhY3RpdmVcbiAgICAgICAgICBfdGhpczUuc2V0QWN0aXZlU3RhdGUobGluaywgdHJ1ZSk7XG5cbiAgICAgICAgICBpZiAobWF0Y2hlcyhsaW5rLnBhcmVudEVsZW1lbnQsIFNlbGVjdG9yLk5BVl9JVEVNUykpIHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBuYXYtbGluayBpbnNpZGUgbmF2LWl0ZW0sIGFuZCBzZXQgbmF2LWl0ZW0gYWN0aXZlXG4gICAgICAgICAgICBfdGhpczUuc2V0QWN0aXZlU3RhdGUobGluay5wYXJlbnRFbGVtZW50LCB0cnVlKTtcbiAgICAgICAgICB9IC8vIFNldCB0cmlnZ2VyZWQgbGlua3MgcGFyZW50cyBhcyBhY3RpdmVcbiAgICAgICAgICAvLyBXaXRoIGJvdGggPHVsPiBhbmQgPG5hdj4gbWFya3VwIGEgcGFyZW50IGlzIHRoZSBwcmV2aW91cyBzaWJsaW5nIG9mIGFueSBuYXYgYW5jZXN0b3JcblxuXG4gICAgICAgICAgdmFyIGVsID0gbGluaztcblxuICAgICAgICAgIHdoaWxlIChlbCkge1xuICAgICAgICAgICAgZWwgPSBjbG9zZXN0KFNlbGVjdG9yLk5BVl9MSVNUX0dST1VQLCBlbCk7XG4gICAgICAgICAgICB2YXIgc2libGluZyA9IGVsID8gZWwucHJldmlvdXNFbGVtZW50U2libGluZyA6IG51bGw7XG5cbiAgICAgICAgICAgIGlmIChzaWJsaW5nICYmIG1hdGNoZXMoc2libGluZywgXCJcIi5jb25jYXQoU2VsZWN0b3IuTkFWX0xJTktTLCBcIiwgXCIpLmNvbmNhdChTZWxlY3Rvci5MSVNUX0lURU1TKSkpIHtcbiAgICAgICAgICAgICAgX3RoaXM1LnNldEFjdGl2ZVN0YXRlKHNpYmxpbmcsIHRydWUpO1xuICAgICAgICAgICAgfSAvLyBIYW5kbGUgc3BlY2lhbCBjYXNlIHdoZXJlIG5hdi1saW5rIGlzIGluc2lkZSBhIG5hdi1pdGVtXG5cblxuICAgICAgICAgICAgaWYgKHNpYmxpbmcgJiYgbWF0Y2hlcyhzaWJsaW5nLCBTZWxlY3Rvci5OQVZfSVRFTVMpKSB7XG4gICAgICAgICAgICAgIF90aGlzNS5zZXRBY3RpdmVTdGF0ZShzZWxlY3QoU2VsZWN0b3IuTkFWX0xJTktTLCBzaWJsaW5nKSwgdHJ1ZSk7IC8vIEFkZCBhY3RpdmUgc3RhdGUgdG8gbmF2LWl0ZW0gYXMgd2VsbFxuXG5cbiAgICAgICAgICAgICAgX3RoaXM1LnNldEFjdGl2ZVN0YXRlKHNpYmxpbmcsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7IC8vIFNpZ25hbCBldmVudCB0byB2aWEgJHJvb3QsIHBhc3NpbmcgSUQgb2YgYWN0aXZhdGVkIHRhcmdldCBhbmQgcmVmZXJlbmNlIHRvIGFycmF5IG9mIGxpbmtzXG5cbiAgICAgIGlmIChsaW5rcyAmJiBsaW5rcy5sZW5ndGggPiAwICYmIHRoaXMuJHJvb3QpIHtcbiAgICAgICAgdGhpcy4kcm9vdC4kZW1pdChBQ1RJVkFURV9FVkVOVCwgdGFyZ2V0LCBsaW5rcyk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNsZWFyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNsZWFyKCkge1xuICAgICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICAgIHNlbGVjdEFsbChcIlwiLmNvbmNhdCh0aGlzLiRzZWxlY3RvciwgXCIsIFwiKS5jb25jYXQoU2VsZWN0b3IuTkFWX0lURU1TKSwgdGhpcy4kZWwpLmZpbHRlcihmdW5jdGlvbiAoZWwpIHtcbiAgICAgICAgcmV0dXJuIGhhc0NsYXNzKGVsLCBDbGFzc05hbWUuQUNUSVZFKTtcbiAgICAgIH0pLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgIHJldHVybiBfdGhpczYuc2V0QWN0aXZlU3RhdGUoZWwsIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzZXRBY3RpdmVTdGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXRBY3RpdmVTdGF0ZShlbCwgYWN0aXZlKSB7XG4gICAgICBpZiAoIWVsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGFjdGl2ZSkge1xuICAgICAgICBhZGRDbGFzcyhlbCwgQ2xhc3NOYW1lLkFDVElWRSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZW1vdmVDbGFzcyhlbCwgQ2xhc3NOYW1lLkFDVElWRSk7XG4gICAgICB9XG4gICAgfVxuICB9XSwgW3tcbiAgICBrZXk6IFwiTmFtZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIE5BTUU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIkRlZmF1bHRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEZWZhdWx0O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHRUeXBlO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBTY3JvbGxTcHk7XG59KCk7XG5cbmV4cG9ydCBkZWZhdWx0IFNjcm9sbFNweTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9kaXJlY3RpdmVzL3Njcm9sbHNweS9zY3JvbGxzcHkuY2xhc3MuanNcbi8vIG1vZHVsZSBpZCA9IDI3NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///274\n"); + +/***/ }), +/* 275 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("/* unused harmony export BVConfigPlugin */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_plugins__ = __webpack_require__(3);\n//\n// Utility Plugin for setting the configuration\n//\n\nvar BVConfigPlugin =\n/*#__PURE__*/\nObject(__WEBPACK_IMPORTED_MODULE_0__utils_plugins__[\"b\" /* pluginFactory */])();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9lc20vYnYtY29uZmlnLmpzP2ExZDgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNnRDtBQUN6QztBQUNQO0FBQ0EsNkVBQWEiLCJmaWxlIjoiMjc1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIFV0aWxpdHkgUGx1Z2luIGZvciBzZXR0aW5nIHRoZSBjb25maWd1cmF0aW9uXG4vL1xuaW1wb3J0IHsgcGx1Z2luRmFjdG9yeSB9IGZyb20gJy4vdXRpbHMvcGx1Z2lucyc7XG5leHBvcnQgdmFyIEJWQ29uZmlnUGx1Z2luID1cbi8qI19fUFVSRV9fKi9cbnBsdWdpbkZhY3RvcnkoKTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2VzbS9idi1jb25maWcuanNcbi8vIG1vZHVsZSBpZCA9IDI3NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///275\n"); + +/***/ }), +/* 276 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(277);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(23)(\"17bbcc31\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../css-loader/index.js!./bootstrap.css\", function() {\n var newContent = require(\"!!../../../css-loader/index.js!./bootstrap.css\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2Rpc3QvY3NzL2Jvb3RzdHJhcC5jc3M/OTJjYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUFnRDtBQUN0RSw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLEVBQW1ELGdDQUFnQztBQUN4RztBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIyNzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcyEuL2Jvb3RzdHJhcC5jc3NcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzXCIpKFwiMTdiYmNjMzFcIiwgY29udGVudCwgZmFsc2UsIHt9KTtcbi8vIEhvdCBNb2R1bGUgUmVwbGFjZW1lbnRcbmlmKG1vZHVsZS5ob3QpIHtcbiAvLyBXaGVuIHRoZSBzdHlsZXMgY2hhbmdlLCB1cGRhdGUgdGhlIDxzdHlsZT4gdGFnc1xuIGlmKCFjb250ZW50LmxvY2Fscykge1xuICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL2Nzcy1sb2FkZXIvaW5kZXguanMhLi9ib290c3RyYXAuY3NzXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL2Nzcy1sb2FkZXIvaW5kZXguanMhLi9ib290c3RyYXAuY3NzXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvZGlzdC9jc3MvYm9vdHN0cmFwLmNzc1xuLy8gbW9kdWxlIGlkID0gMjc2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///276\n"); + +/***/ }), +/* 277 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("exports = module.exports = __webpack_require__(22)(false);\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\\n * Copyright 2011-2019 The Bootstrap Authors\\n * Copyright 2011-2019 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n */\\n:root {\\n --blue: #007bff;\\n --indigo: #6610f2;\\n --purple: #6f42c1;\\n --pink: #e83e8c;\\n --red: #dc3545;\\n --orange: #fd7e14;\\n --yellow: #ffc107;\\n --green: #28a745;\\n --teal: #20c997;\\n --cyan: #17a2b8;\\n --white: #fff;\\n --gray: #6c757d;\\n --gray-dark: #343a40;\\n --primary: #007bff;\\n --secondary: #6c757d;\\n --success: #28a745;\\n --info: #17a2b8;\\n --warning: #ffc107;\\n --danger: #dc3545;\\n --light: #f8f9fa;\\n --dark: #343a40;\\n --breakpoint-xs: 0;\\n --breakpoint-sm: 576px;\\n --breakpoint-md: 768px;\\n --breakpoint-lg: 992px;\\n --breakpoint-xl: 1200px;\\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n}\\n\\n*,\\n*::before,\\n*::after {\\n box-sizing: border-box;\\n}\\n\\nhtml {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n\\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\\n display: block;\\n}\\n\\nbody {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #212529;\\n text-align: left;\\n background-color: #fff;\\n}\\n\\n[tabindex=\\\"-1\\\"]:focus {\\n outline: 0 !important;\\n}\\n\\nhr {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible;\\n}\\n\\nh1, h2, h3, h4, h5, h6 {\\n margin-top: 0;\\n margin-bottom: 0.5rem;\\n}\\n\\np {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n}\\n\\nabbr[title],\\nabbr[data-original-title] {\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none;\\n}\\n\\naddress {\\n margin-bottom: 1rem;\\n font-style: normal;\\n line-height: inherit;\\n}\\n\\nol,\\nul,\\ndl {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n}\\n\\nol ol,\\nul ul,\\nol ul,\\nul ol {\\n margin-bottom: 0;\\n}\\n\\ndt {\\n font-weight: 700;\\n}\\n\\ndd {\\n margin-bottom: .5rem;\\n margin-left: 0;\\n}\\n\\nblockquote {\\n margin: 0 0 1rem;\\n}\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\nsub,\\nsup {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -.25em;\\n}\\n\\nsup {\\n top: -.5em;\\n}\\n\\na {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n}\\n\\na:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n}\\n\\na:not([href]):not([tabindex]) {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\na:not([href]):not([tabindex]):focus {\\n outline: 0;\\n}\\n\\npre,\\ncode,\\nkbd,\\nsamp {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n font-size: 1em;\\n}\\n\\npre {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n overflow: auto;\\n}\\n\\nfigure {\\n margin: 0 0 1rem;\\n}\\n\\nimg {\\n vertical-align: middle;\\n border-style: none;\\n}\\n\\nsvg {\\n overflow: hidden;\\n vertical-align: middle;\\n}\\n\\ntable {\\n border-collapse: collapse;\\n}\\n\\ncaption {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom;\\n}\\n\\nth {\\n text-align: inherit;\\n}\\n\\nlabel {\\n display: inline-block;\\n margin-bottom: 0.5rem;\\n}\\n\\nbutton {\\n border-radius: 0;\\n}\\n\\nbutton:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n}\\n\\ninput,\\nbutton,\\nselect,\\noptgroup,\\ntextarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n}\\n\\nbutton,\\ninput {\\n overflow: visible;\\n}\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\nselect {\\n word-wrap: normal;\\n}\\n\\nbutton,\\n[type=\\\"button\\\"],\\n[type=\\\"reset\\\"],\\n[type=\\\"submit\\\"] {\\n -webkit-appearance: button;\\n}\\n\\nbutton:not(:disabled),\\n[type=\\\"button\\\"]:not(:disabled),\\n[type=\\\"reset\\\"]:not(:disabled),\\n[type=\\\"submit\\\"]:not(:disabled) {\\n cursor: pointer;\\n}\\n\\nbutton::-moz-focus-inner,\\n[type=\\\"button\\\"]::-moz-focus-inner,\\n[type=\\\"reset\\\"]::-moz-focus-inner,\\n[type=\\\"submit\\\"]::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n}\\n\\ninput[type=\\\"radio\\\"],\\ninput[type=\\\"checkbox\\\"] {\\n box-sizing: border-box;\\n padding: 0;\\n}\\n\\ninput[type=\\\"date\\\"],\\ninput[type=\\\"time\\\"],\\ninput[type=\\\"datetime-local\\\"],\\ninput[type=\\\"month\\\"] {\\n -webkit-appearance: listbox;\\n}\\n\\ntextarea {\\n overflow: auto;\\n resize: vertical;\\n}\\n\\nfieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n}\\n\\nlegend {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: .5rem;\\n font-size: 1.5rem;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal;\\n}\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n[type=\\\"number\\\"]::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n[type=\\\"search\\\"] {\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n}\\n\\n[type=\\\"search\\\"]::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button;\\n}\\n\\noutput {\\n display: inline-block;\\n}\\n\\nsummary {\\n display: list-item;\\n cursor: pointer;\\n}\\n\\ntemplate {\\n display: none;\\n}\\n\\n[hidden] {\\n display: none !important;\\n}\\n\\nh1, h2, h3, h4, h5, h6,\\n.h1, .h2, .h3, .h4, .h5, .h6 {\\n margin-bottom: 0.5rem;\\n font-weight: 500;\\n line-height: 1.2;\\n}\\n\\nh1, .h1 {\\n font-size: 2.5rem;\\n}\\n\\nh2, .h2 {\\n font-size: 2rem;\\n}\\n\\nh3, .h3 {\\n font-size: 1.75rem;\\n}\\n\\nh4, .h4 {\\n font-size: 1.5rem;\\n}\\n\\nh5, .h5 {\\n font-size: 1.25rem;\\n}\\n\\nh6, .h6 {\\n font-size: 1rem;\\n}\\n\\n.lead {\\n font-size: 1.25rem;\\n font-weight: 300;\\n}\\n\\n.display-1 {\\n font-size: 6rem;\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\n.display-2 {\\n font-size: 5.5rem;\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\n.display-3 {\\n font-size: 4.5rem;\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\n.display-4 {\\n font-size: 3.5rem;\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\nhr {\\n margin-top: 1rem;\\n margin-bottom: 1rem;\\n border: 0;\\n border-top: 1px solid rgba(0, 0, 0, 0.1);\\n}\\n\\nsmall,\\n.small {\\n font-size: 80%;\\n font-weight: 400;\\n}\\n\\nmark,\\n.mark {\\n padding: 0.2em;\\n background-color: #fcf8e3;\\n}\\n\\n.list-unstyled {\\n padding-left: 0;\\n list-style: none;\\n}\\n\\n.list-inline {\\n padding-left: 0;\\n list-style: none;\\n}\\n\\n.list-inline-item {\\n display: inline-block;\\n}\\n\\n.list-inline-item:not(:last-child) {\\n margin-right: 0.5rem;\\n}\\n\\n.initialism {\\n font-size: 90%;\\n text-transform: uppercase;\\n}\\n\\n.blockquote {\\n margin-bottom: 1rem;\\n font-size: 1.25rem;\\n}\\n\\n.blockquote-footer {\\n display: block;\\n font-size: 80%;\\n color: #6c757d;\\n}\\n\\n.blockquote-footer::before {\\n content: \\\"\\\\2014\\\\A0\\\";\\n}\\n\\n.img-fluid {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n.img-thumbnail {\\n padding: 0.25rem;\\n background-color: #fff;\\n border: 1px solid #dee2e6;\\n border-radius: 0.25rem;\\n max-width: 100%;\\n height: auto;\\n}\\n\\n.figure {\\n display: inline-block;\\n}\\n\\n.figure-img {\\n margin-bottom: 0.5rem;\\n line-height: 1;\\n}\\n\\n.figure-caption {\\n font-size: 90%;\\n color: #6c757d;\\n}\\n\\ncode {\\n font-size: 87.5%;\\n color: #e83e8c;\\n word-break: break-word;\\n}\\n\\na > code {\\n color: inherit;\\n}\\n\\nkbd {\\n padding: 0.2rem 0.4rem;\\n font-size: 87.5%;\\n color: #fff;\\n background-color: #212529;\\n border-radius: 0.2rem;\\n}\\n\\nkbd kbd {\\n padding: 0;\\n font-size: 100%;\\n font-weight: 700;\\n}\\n\\npre {\\n display: block;\\n font-size: 87.5%;\\n color: #212529;\\n}\\n\\npre code {\\n font-size: inherit;\\n color: inherit;\\n word-break: normal;\\n}\\n\\n.pre-scrollable {\\n max-height: 340px;\\n overflow-y: scroll;\\n}\\n\\n.container {\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto;\\n}\\n\\n@media (min-width: 576px) {\\n .container {\\n max-width: 540px;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .container {\\n max-width: 720px;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .container {\\n max-width: 960px;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .container {\\n max-width: 1140px;\\n }\\n}\\n\\n.container-fluid {\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto;\\n}\\n\\n.row {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n margin-right: -15px;\\n margin-left: -15px;\\n}\\n\\n.no-gutters {\\n margin-right: 0;\\n margin-left: 0;\\n}\\n\\n.no-gutters > .col,\\n.no-gutters > [class*=\\\"col-\\\"] {\\n padding-right: 0;\\n padding-left: 0;\\n}\\n\\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\\n.col-xl-auto {\\n position: relative;\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px;\\n}\\n\\n.col {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n}\\n\\n.col-auto {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%;\\n}\\n\\n.col-1 {\\n -ms-flex: 0 0 8.333333%;\\n flex: 0 0 8.333333%;\\n max-width: 8.333333%;\\n}\\n\\n.col-2 {\\n -ms-flex: 0 0 16.666667%;\\n flex: 0 0 16.666667%;\\n max-width: 16.666667%;\\n}\\n\\n.col-3 {\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%;\\n}\\n\\n.col-4 {\\n -ms-flex: 0 0 33.333333%;\\n flex: 0 0 33.333333%;\\n max-width: 33.333333%;\\n}\\n\\n.col-5 {\\n -ms-flex: 0 0 41.666667%;\\n flex: 0 0 41.666667%;\\n max-width: 41.666667%;\\n}\\n\\n.col-6 {\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%;\\n}\\n\\n.col-7 {\\n -ms-flex: 0 0 58.333333%;\\n flex: 0 0 58.333333%;\\n max-width: 58.333333%;\\n}\\n\\n.col-8 {\\n -ms-flex: 0 0 66.666667%;\\n flex: 0 0 66.666667%;\\n max-width: 66.666667%;\\n}\\n\\n.col-9 {\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%;\\n}\\n\\n.col-10 {\\n -ms-flex: 0 0 83.333333%;\\n flex: 0 0 83.333333%;\\n max-width: 83.333333%;\\n}\\n\\n.col-11 {\\n -ms-flex: 0 0 91.666667%;\\n flex: 0 0 91.666667%;\\n max-width: 91.666667%;\\n}\\n\\n.col-12 {\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%;\\n}\\n\\n.order-first {\\n -ms-flex-order: -1;\\n order: -1;\\n}\\n\\n.order-last {\\n -ms-flex-order: 13;\\n order: 13;\\n}\\n\\n.order-0 {\\n -ms-flex-order: 0;\\n order: 0;\\n}\\n\\n.order-1 {\\n -ms-flex-order: 1;\\n order: 1;\\n}\\n\\n.order-2 {\\n -ms-flex-order: 2;\\n order: 2;\\n}\\n\\n.order-3 {\\n -ms-flex-order: 3;\\n order: 3;\\n}\\n\\n.order-4 {\\n -ms-flex-order: 4;\\n order: 4;\\n}\\n\\n.order-5 {\\n -ms-flex-order: 5;\\n order: 5;\\n}\\n\\n.order-6 {\\n -ms-flex-order: 6;\\n order: 6;\\n}\\n\\n.order-7 {\\n -ms-flex-order: 7;\\n order: 7;\\n}\\n\\n.order-8 {\\n -ms-flex-order: 8;\\n order: 8;\\n}\\n\\n.order-9 {\\n -ms-flex-order: 9;\\n order: 9;\\n}\\n\\n.order-10 {\\n -ms-flex-order: 10;\\n order: 10;\\n}\\n\\n.order-11 {\\n -ms-flex-order: 11;\\n order: 11;\\n}\\n\\n.order-12 {\\n -ms-flex-order: 12;\\n order: 12;\\n}\\n\\n.offset-1 {\\n margin-left: 8.333333%;\\n}\\n\\n.offset-2 {\\n margin-left: 16.666667%;\\n}\\n\\n.offset-3 {\\n margin-left: 25%;\\n}\\n\\n.offset-4 {\\n margin-left: 33.333333%;\\n}\\n\\n.offset-5 {\\n margin-left: 41.666667%;\\n}\\n\\n.offset-6 {\\n margin-left: 50%;\\n}\\n\\n.offset-7 {\\n margin-left: 58.333333%;\\n}\\n\\n.offset-8 {\\n margin-left: 66.666667%;\\n}\\n\\n.offset-9 {\\n margin-left: 75%;\\n}\\n\\n.offset-10 {\\n margin-left: 83.333333%;\\n}\\n\\n.offset-11 {\\n margin-left: 91.666667%;\\n}\\n\\n@media (min-width: 576px) {\\n .col-sm {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n .col-sm-auto {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%;\\n }\\n .col-sm-1 {\\n -ms-flex: 0 0 8.333333%;\\n flex: 0 0 8.333333%;\\n max-width: 8.333333%;\\n }\\n .col-sm-2 {\\n -ms-flex: 0 0 16.666667%;\\n flex: 0 0 16.666667%;\\n max-width: 16.666667%;\\n }\\n .col-sm-3 {\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%;\\n }\\n .col-sm-4 {\\n -ms-flex: 0 0 33.333333%;\\n flex: 0 0 33.333333%;\\n max-width: 33.333333%;\\n }\\n .col-sm-5 {\\n -ms-flex: 0 0 41.666667%;\\n flex: 0 0 41.666667%;\\n max-width: 41.666667%;\\n }\\n .col-sm-6 {\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%;\\n }\\n .col-sm-7 {\\n -ms-flex: 0 0 58.333333%;\\n flex: 0 0 58.333333%;\\n max-width: 58.333333%;\\n }\\n .col-sm-8 {\\n -ms-flex: 0 0 66.666667%;\\n flex: 0 0 66.666667%;\\n max-width: 66.666667%;\\n }\\n .col-sm-9 {\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%;\\n }\\n .col-sm-10 {\\n -ms-flex: 0 0 83.333333%;\\n flex: 0 0 83.333333%;\\n max-width: 83.333333%;\\n }\\n .col-sm-11 {\\n -ms-flex: 0 0 91.666667%;\\n flex: 0 0 91.666667%;\\n max-width: 91.666667%;\\n }\\n .col-sm-12 {\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%;\\n }\\n .order-sm-first {\\n -ms-flex-order: -1;\\n order: -1;\\n }\\n .order-sm-last {\\n -ms-flex-order: 13;\\n order: 13;\\n }\\n .order-sm-0 {\\n -ms-flex-order: 0;\\n order: 0;\\n }\\n .order-sm-1 {\\n -ms-flex-order: 1;\\n order: 1;\\n }\\n .order-sm-2 {\\n -ms-flex-order: 2;\\n order: 2;\\n }\\n .order-sm-3 {\\n -ms-flex-order: 3;\\n order: 3;\\n }\\n .order-sm-4 {\\n -ms-flex-order: 4;\\n order: 4;\\n }\\n .order-sm-5 {\\n -ms-flex-order: 5;\\n order: 5;\\n }\\n .order-sm-6 {\\n -ms-flex-order: 6;\\n order: 6;\\n }\\n .order-sm-7 {\\n -ms-flex-order: 7;\\n order: 7;\\n }\\n .order-sm-8 {\\n -ms-flex-order: 8;\\n order: 8;\\n }\\n .order-sm-9 {\\n -ms-flex-order: 9;\\n order: 9;\\n }\\n .order-sm-10 {\\n -ms-flex-order: 10;\\n order: 10;\\n }\\n .order-sm-11 {\\n -ms-flex-order: 11;\\n order: 11;\\n }\\n .order-sm-12 {\\n -ms-flex-order: 12;\\n order: 12;\\n }\\n .offset-sm-0 {\\n margin-left: 0;\\n }\\n .offset-sm-1 {\\n margin-left: 8.333333%;\\n }\\n .offset-sm-2 {\\n margin-left: 16.666667%;\\n }\\n .offset-sm-3 {\\n margin-left: 25%;\\n }\\n .offset-sm-4 {\\n margin-left: 33.333333%;\\n }\\n .offset-sm-5 {\\n margin-left: 41.666667%;\\n }\\n .offset-sm-6 {\\n margin-left: 50%;\\n }\\n .offset-sm-7 {\\n margin-left: 58.333333%;\\n }\\n .offset-sm-8 {\\n margin-left: 66.666667%;\\n }\\n .offset-sm-9 {\\n margin-left: 75%;\\n }\\n .offset-sm-10 {\\n margin-left: 83.333333%;\\n }\\n .offset-sm-11 {\\n margin-left: 91.666667%;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .col-md {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n .col-md-auto {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%;\\n }\\n .col-md-1 {\\n -ms-flex: 0 0 8.333333%;\\n flex: 0 0 8.333333%;\\n max-width: 8.333333%;\\n }\\n .col-md-2 {\\n -ms-flex: 0 0 16.666667%;\\n flex: 0 0 16.666667%;\\n max-width: 16.666667%;\\n }\\n .col-md-3 {\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%;\\n }\\n .col-md-4 {\\n -ms-flex: 0 0 33.333333%;\\n flex: 0 0 33.333333%;\\n max-width: 33.333333%;\\n }\\n .col-md-5 {\\n -ms-flex: 0 0 41.666667%;\\n flex: 0 0 41.666667%;\\n max-width: 41.666667%;\\n }\\n .col-md-6 {\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%;\\n }\\n .col-md-7 {\\n -ms-flex: 0 0 58.333333%;\\n flex: 0 0 58.333333%;\\n max-width: 58.333333%;\\n }\\n .col-md-8 {\\n -ms-flex: 0 0 66.666667%;\\n flex: 0 0 66.666667%;\\n max-width: 66.666667%;\\n }\\n .col-md-9 {\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%;\\n }\\n .col-md-10 {\\n -ms-flex: 0 0 83.333333%;\\n flex: 0 0 83.333333%;\\n max-width: 83.333333%;\\n }\\n .col-md-11 {\\n -ms-flex: 0 0 91.666667%;\\n flex: 0 0 91.666667%;\\n max-width: 91.666667%;\\n }\\n .col-md-12 {\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%;\\n }\\n .order-md-first {\\n -ms-flex-order: -1;\\n order: -1;\\n }\\n .order-md-last {\\n -ms-flex-order: 13;\\n order: 13;\\n }\\n .order-md-0 {\\n -ms-flex-order: 0;\\n order: 0;\\n }\\n .order-md-1 {\\n -ms-flex-order: 1;\\n order: 1;\\n }\\n .order-md-2 {\\n -ms-flex-order: 2;\\n order: 2;\\n }\\n .order-md-3 {\\n -ms-flex-order: 3;\\n order: 3;\\n }\\n .order-md-4 {\\n -ms-flex-order: 4;\\n order: 4;\\n }\\n .order-md-5 {\\n -ms-flex-order: 5;\\n order: 5;\\n }\\n .order-md-6 {\\n -ms-flex-order: 6;\\n order: 6;\\n }\\n .order-md-7 {\\n -ms-flex-order: 7;\\n order: 7;\\n }\\n .order-md-8 {\\n -ms-flex-order: 8;\\n order: 8;\\n }\\n .order-md-9 {\\n -ms-flex-order: 9;\\n order: 9;\\n }\\n .order-md-10 {\\n -ms-flex-order: 10;\\n order: 10;\\n }\\n .order-md-11 {\\n -ms-flex-order: 11;\\n order: 11;\\n }\\n .order-md-12 {\\n -ms-flex-order: 12;\\n order: 12;\\n }\\n .offset-md-0 {\\n margin-left: 0;\\n }\\n .offset-md-1 {\\n margin-left: 8.333333%;\\n }\\n .offset-md-2 {\\n margin-left: 16.666667%;\\n }\\n .offset-md-3 {\\n margin-left: 25%;\\n }\\n .offset-md-4 {\\n margin-left: 33.333333%;\\n }\\n .offset-md-5 {\\n margin-left: 41.666667%;\\n }\\n .offset-md-6 {\\n margin-left: 50%;\\n }\\n .offset-md-7 {\\n margin-left: 58.333333%;\\n }\\n .offset-md-8 {\\n margin-left: 66.666667%;\\n }\\n .offset-md-9 {\\n margin-left: 75%;\\n }\\n .offset-md-10 {\\n margin-left: 83.333333%;\\n }\\n .offset-md-11 {\\n margin-left: 91.666667%;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .col-lg {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n .col-lg-auto {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%;\\n }\\n .col-lg-1 {\\n -ms-flex: 0 0 8.333333%;\\n flex: 0 0 8.333333%;\\n max-width: 8.333333%;\\n }\\n .col-lg-2 {\\n -ms-flex: 0 0 16.666667%;\\n flex: 0 0 16.666667%;\\n max-width: 16.666667%;\\n }\\n .col-lg-3 {\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%;\\n }\\n .col-lg-4 {\\n -ms-flex: 0 0 33.333333%;\\n flex: 0 0 33.333333%;\\n max-width: 33.333333%;\\n }\\n .col-lg-5 {\\n -ms-flex: 0 0 41.666667%;\\n flex: 0 0 41.666667%;\\n max-width: 41.666667%;\\n }\\n .col-lg-6 {\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%;\\n }\\n .col-lg-7 {\\n -ms-flex: 0 0 58.333333%;\\n flex: 0 0 58.333333%;\\n max-width: 58.333333%;\\n }\\n .col-lg-8 {\\n -ms-flex: 0 0 66.666667%;\\n flex: 0 0 66.666667%;\\n max-width: 66.666667%;\\n }\\n .col-lg-9 {\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%;\\n }\\n .col-lg-10 {\\n -ms-flex: 0 0 83.333333%;\\n flex: 0 0 83.333333%;\\n max-width: 83.333333%;\\n }\\n .col-lg-11 {\\n -ms-flex: 0 0 91.666667%;\\n flex: 0 0 91.666667%;\\n max-width: 91.666667%;\\n }\\n .col-lg-12 {\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%;\\n }\\n .order-lg-first {\\n -ms-flex-order: -1;\\n order: -1;\\n }\\n .order-lg-last {\\n -ms-flex-order: 13;\\n order: 13;\\n }\\n .order-lg-0 {\\n -ms-flex-order: 0;\\n order: 0;\\n }\\n .order-lg-1 {\\n -ms-flex-order: 1;\\n order: 1;\\n }\\n .order-lg-2 {\\n -ms-flex-order: 2;\\n order: 2;\\n }\\n .order-lg-3 {\\n -ms-flex-order: 3;\\n order: 3;\\n }\\n .order-lg-4 {\\n -ms-flex-order: 4;\\n order: 4;\\n }\\n .order-lg-5 {\\n -ms-flex-order: 5;\\n order: 5;\\n }\\n .order-lg-6 {\\n -ms-flex-order: 6;\\n order: 6;\\n }\\n .order-lg-7 {\\n -ms-flex-order: 7;\\n order: 7;\\n }\\n .order-lg-8 {\\n -ms-flex-order: 8;\\n order: 8;\\n }\\n .order-lg-9 {\\n -ms-flex-order: 9;\\n order: 9;\\n }\\n .order-lg-10 {\\n -ms-flex-order: 10;\\n order: 10;\\n }\\n .order-lg-11 {\\n -ms-flex-order: 11;\\n order: 11;\\n }\\n .order-lg-12 {\\n -ms-flex-order: 12;\\n order: 12;\\n }\\n .offset-lg-0 {\\n margin-left: 0;\\n }\\n .offset-lg-1 {\\n margin-left: 8.333333%;\\n }\\n .offset-lg-2 {\\n margin-left: 16.666667%;\\n }\\n .offset-lg-3 {\\n margin-left: 25%;\\n }\\n .offset-lg-4 {\\n margin-left: 33.333333%;\\n }\\n .offset-lg-5 {\\n margin-left: 41.666667%;\\n }\\n .offset-lg-6 {\\n margin-left: 50%;\\n }\\n .offset-lg-7 {\\n margin-left: 58.333333%;\\n }\\n .offset-lg-8 {\\n margin-left: 66.666667%;\\n }\\n .offset-lg-9 {\\n margin-left: 75%;\\n }\\n .offset-lg-10 {\\n margin-left: 83.333333%;\\n }\\n .offset-lg-11 {\\n margin-left: 91.666667%;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .col-xl {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n .col-xl-auto {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%;\\n }\\n .col-xl-1 {\\n -ms-flex: 0 0 8.333333%;\\n flex: 0 0 8.333333%;\\n max-width: 8.333333%;\\n }\\n .col-xl-2 {\\n -ms-flex: 0 0 16.666667%;\\n flex: 0 0 16.666667%;\\n max-width: 16.666667%;\\n }\\n .col-xl-3 {\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%;\\n }\\n .col-xl-4 {\\n -ms-flex: 0 0 33.333333%;\\n flex: 0 0 33.333333%;\\n max-width: 33.333333%;\\n }\\n .col-xl-5 {\\n -ms-flex: 0 0 41.666667%;\\n flex: 0 0 41.666667%;\\n max-width: 41.666667%;\\n }\\n .col-xl-6 {\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%;\\n }\\n .col-xl-7 {\\n -ms-flex: 0 0 58.333333%;\\n flex: 0 0 58.333333%;\\n max-width: 58.333333%;\\n }\\n .col-xl-8 {\\n -ms-flex: 0 0 66.666667%;\\n flex: 0 0 66.666667%;\\n max-width: 66.666667%;\\n }\\n .col-xl-9 {\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%;\\n }\\n .col-xl-10 {\\n -ms-flex: 0 0 83.333333%;\\n flex: 0 0 83.333333%;\\n max-width: 83.333333%;\\n }\\n .col-xl-11 {\\n -ms-flex: 0 0 91.666667%;\\n flex: 0 0 91.666667%;\\n max-width: 91.666667%;\\n }\\n .col-xl-12 {\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%;\\n }\\n .order-xl-first {\\n -ms-flex-order: -1;\\n order: -1;\\n }\\n .order-xl-last {\\n -ms-flex-order: 13;\\n order: 13;\\n }\\n .order-xl-0 {\\n -ms-flex-order: 0;\\n order: 0;\\n }\\n .order-xl-1 {\\n -ms-flex-order: 1;\\n order: 1;\\n }\\n .order-xl-2 {\\n -ms-flex-order: 2;\\n order: 2;\\n }\\n .order-xl-3 {\\n -ms-flex-order: 3;\\n order: 3;\\n }\\n .order-xl-4 {\\n -ms-flex-order: 4;\\n order: 4;\\n }\\n .order-xl-5 {\\n -ms-flex-order: 5;\\n order: 5;\\n }\\n .order-xl-6 {\\n -ms-flex-order: 6;\\n order: 6;\\n }\\n .order-xl-7 {\\n -ms-flex-order: 7;\\n order: 7;\\n }\\n .order-xl-8 {\\n -ms-flex-order: 8;\\n order: 8;\\n }\\n .order-xl-9 {\\n -ms-flex-order: 9;\\n order: 9;\\n }\\n .order-xl-10 {\\n -ms-flex-order: 10;\\n order: 10;\\n }\\n .order-xl-11 {\\n -ms-flex-order: 11;\\n order: 11;\\n }\\n .order-xl-12 {\\n -ms-flex-order: 12;\\n order: 12;\\n }\\n .offset-xl-0 {\\n margin-left: 0;\\n }\\n .offset-xl-1 {\\n margin-left: 8.333333%;\\n }\\n .offset-xl-2 {\\n margin-left: 16.666667%;\\n }\\n .offset-xl-3 {\\n margin-left: 25%;\\n }\\n .offset-xl-4 {\\n margin-left: 33.333333%;\\n }\\n .offset-xl-5 {\\n margin-left: 41.666667%;\\n }\\n .offset-xl-6 {\\n margin-left: 50%;\\n }\\n .offset-xl-7 {\\n margin-left: 58.333333%;\\n }\\n .offset-xl-8 {\\n margin-left: 66.666667%;\\n }\\n .offset-xl-9 {\\n margin-left: 75%;\\n }\\n .offset-xl-10 {\\n margin-left: 83.333333%;\\n }\\n .offset-xl-11 {\\n margin-left: 91.666667%;\\n }\\n}\\n\\n.table {\\n width: 100%;\\n margin-bottom: 1rem;\\n color: #212529;\\n}\\n\\n.table th,\\n.table td {\\n padding: 0.75rem;\\n vertical-align: top;\\n border-top: 1px solid #dee2e6;\\n}\\n\\n.table thead th {\\n vertical-align: bottom;\\n border-bottom: 2px solid #dee2e6;\\n}\\n\\n.table tbody + tbody {\\n border-top: 2px solid #dee2e6;\\n}\\n\\n.table-sm th,\\n.table-sm td {\\n padding: 0.3rem;\\n}\\n\\n.table-bordered {\\n border: 1px solid #dee2e6;\\n}\\n\\n.table-bordered th,\\n.table-bordered td {\\n border: 1px solid #dee2e6;\\n}\\n\\n.table-bordered thead th,\\n.table-bordered thead td {\\n border-bottom-width: 2px;\\n}\\n\\n.table-borderless th,\\n.table-borderless td,\\n.table-borderless thead th,\\n.table-borderless tbody + tbody {\\n border: 0;\\n}\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: rgba(0, 0, 0, 0.05);\\n}\\n\\n.table-hover tbody tr:hover {\\n color: #212529;\\n background-color: rgba(0, 0, 0, 0.075);\\n}\\n\\n.table-primary,\\n.table-primary > th,\\n.table-primary > td {\\n background-color: #b8daff;\\n}\\n\\n.table-primary th,\\n.table-primary td,\\n.table-primary thead th,\\n.table-primary tbody + tbody {\\n border-color: #7abaff;\\n}\\n\\n.table-hover .table-primary:hover {\\n background-color: #9fcdff;\\n}\\n\\n.table-hover .table-primary:hover > td,\\n.table-hover .table-primary:hover > th {\\n background-color: #9fcdff;\\n}\\n\\n.table-secondary,\\n.table-secondary > th,\\n.table-secondary > td {\\n background-color: #d6d8db;\\n}\\n\\n.table-secondary th,\\n.table-secondary td,\\n.table-secondary thead th,\\n.table-secondary tbody + tbody {\\n border-color: #b3b7bb;\\n}\\n\\n.table-hover .table-secondary:hover {\\n background-color: #c8cbcf;\\n}\\n\\n.table-hover .table-secondary:hover > td,\\n.table-hover .table-secondary:hover > th {\\n background-color: #c8cbcf;\\n}\\n\\n.table-success,\\n.table-success > th,\\n.table-success > td {\\n background-color: #c3e6cb;\\n}\\n\\n.table-success th,\\n.table-success td,\\n.table-success thead th,\\n.table-success tbody + tbody {\\n border-color: #8fd19e;\\n}\\n\\n.table-hover .table-success:hover {\\n background-color: #b1dfbb;\\n}\\n\\n.table-hover .table-success:hover > td,\\n.table-hover .table-success:hover > th {\\n background-color: #b1dfbb;\\n}\\n\\n.table-info,\\n.table-info > th,\\n.table-info > td {\\n background-color: #bee5eb;\\n}\\n\\n.table-info th,\\n.table-info td,\\n.table-info thead th,\\n.table-info tbody + tbody {\\n border-color: #86cfda;\\n}\\n\\n.table-hover .table-info:hover {\\n background-color: #abdde5;\\n}\\n\\n.table-hover .table-info:hover > td,\\n.table-hover .table-info:hover > th {\\n background-color: #abdde5;\\n}\\n\\n.table-warning,\\n.table-warning > th,\\n.table-warning > td {\\n background-color: #ffeeba;\\n}\\n\\n.table-warning th,\\n.table-warning td,\\n.table-warning thead th,\\n.table-warning tbody + tbody {\\n border-color: #ffdf7e;\\n}\\n\\n.table-hover .table-warning:hover {\\n background-color: #ffe8a1;\\n}\\n\\n.table-hover .table-warning:hover > td,\\n.table-hover .table-warning:hover > th {\\n background-color: #ffe8a1;\\n}\\n\\n.table-danger,\\n.table-danger > th,\\n.table-danger > td {\\n background-color: #f5c6cb;\\n}\\n\\n.table-danger th,\\n.table-danger td,\\n.table-danger thead th,\\n.table-danger tbody + tbody {\\n border-color: #ed969e;\\n}\\n\\n.table-hover .table-danger:hover {\\n background-color: #f1b0b7;\\n}\\n\\n.table-hover .table-danger:hover > td,\\n.table-hover .table-danger:hover > th {\\n background-color: #f1b0b7;\\n}\\n\\n.table-light,\\n.table-light > th,\\n.table-light > td {\\n background-color: #fdfdfe;\\n}\\n\\n.table-light th,\\n.table-light td,\\n.table-light thead th,\\n.table-light tbody + tbody {\\n border-color: #fbfcfc;\\n}\\n\\n.table-hover .table-light:hover {\\n background-color: #ececf6;\\n}\\n\\n.table-hover .table-light:hover > td,\\n.table-hover .table-light:hover > th {\\n background-color: #ececf6;\\n}\\n\\n.table-dark,\\n.table-dark > th,\\n.table-dark > td {\\n background-color: #c6c8ca;\\n}\\n\\n.table-dark th,\\n.table-dark td,\\n.table-dark thead th,\\n.table-dark tbody + tbody {\\n border-color: #95999c;\\n}\\n\\n.table-hover .table-dark:hover {\\n background-color: #b9bbbe;\\n}\\n\\n.table-hover .table-dark:hover > td,\\n.table-hover .table-dark:hover > th {\\n background-color: #b9bbbe;\\n}\\n\\n.table-active,\\n.table-active > th,\\n.table-active > td {\\n background-color: rgba(0, 0, 0, 0.075);\\n}\\n\\n.table-hover .table-active:hover {\\n background-color: rgba(0, 0, 0, 0.075);\\n}\\n\\n.table-hover .table-active:hover > td,\\n.table-hover .table-active:hover > th {\\n background-color: rgba(0, 0, 0, 0.075);\\n}\\n\\n.table .thead-dark th {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #454d55;\\n}\\n\\n.table .thead-light th {\\n color: #495057;\\n background-color: #e9ecef;\\n border-color: #dee2e6;\\n}\\n\\n.table-dark {\\n color: #fff;\\n background-color: #343a40;\\n}\\n\\n.table-dark th,\\n.table-dark td,\\n.table-dark thead th {\\n border-color: #454d55;\\n}\\n\\n.table-dark.table-bordered {\\n border: 0;\\n}\\n\\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\\n background-color: rgba(255, 255, 255, 0.05);\\n}\\n\\n.table-dark.table-hover tbody tr:hover {\\n color: #fff;\\n background-color: rgba(255, 255, 255, 0.075);\\n}\\n\\n@media (max-width: 575.98px) {\\n .table-responsive-sm {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n .table-responsive-sm > .table-bordered {\\n border: 0;\\n }\\n}\\n\\n@media (max-width: 767.98px) {\\n .table-responsive-md {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n .table-responsive-md > .table-bordered {\\n border: 0;\\n }\\n}\\n\\n@media (max-width: 991.98px) {\\n .table-responsive-lg {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n .table-responsive-lg > .table-bordered {\\n border: 0;\\n }\\n}\\n\\n@media (max-width: 1199.98px) {\\n .table-responsive-xl {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n .table-responsive-xl > .table-bordered {\\n border: 0;\\n }\\n}\\n\\n.table-responsive {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n}\\n\\n.table-responsive > .table-bordered {\\n border: 0;\\n}\\n\\n.form-control {\\n display: block;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .form-control {\\n transition: none;\\n }\\n}\\n\\n.form-control::-ms-expand {\\n background-color: transparent;\\n border: 0;\\n}\\n\\n.form-control:focus {\\n color: #495057;\\n background-color: #fff;\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.form-control::-webkit-input-placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n\\n.form-control::-moz-placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n\\n.form-control:-ms-input-placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n\\n.form-control::-ms-input-placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n\\n.form-control::placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n\\n.form-control:disabled, .form-control[readonly] {\\n background-color: #e9ecef;\\n opacity: 1;\\n}\\n\\nselect.form-control:focus::-ms-value {\\n color: #495057;\\n background-color: #fff;\\n}\\n\\n.form-control-file,\\n.form-control-range {\\n display: block;\\n width: 100%;\\n}\\n\\n.col-form-label {\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n font-size: inherit;\\n line-height: 1.5;\\n}\\n\\n.col-form-label-lg {\\n padding-top: calc(0.5rem + 1px);\\n padding-bottom: calc(0.5rem + 1px);\\n font-size: 1.25rem;\\n line-height: 1.5;\\n}\\n\\n.col-form-label-sm {\\n padding-top: calc(0.25rem + 1px);\\n padding-bottom: calc(0.25rem + 1px);\\n font-size: 0.875rem;\\n line-height: 1.5;\\n}\\n\\n.form-control-plaintext {\\n display: block;\\n width: 100%;\\n padding-top: 0.375rem;\\n padding-bottom: 0.375rem;\\n margin-bottom: 0;\\n line-height: 1.5;\\n color: #212529;\\n background-color: transparent;\\n border: solid transparent;\\n border-width: 1px 0;\\n}\\n\\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\\n padding-right: 0;\\n padding-left: 0;\\n}\\n\\n.form-control-sm {\\n height: calc(1.5em + 0.5rem + 2px);\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem;\\n}\\n\\n.form-control-lg {\\n height: calc(1.5em + 1rem + 2px);\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem;\\n}\\n\\nselect.form-control[size], select.form-control[multiple] {\\n height: auto;\\n}\\n\\ntextarea.form-control {\\n height: auto;\\n}\\n\\n.form-group {\\n margin-bottom: 1rem;\\n}\\n\\n.form-text {\\n display: block;\\n margin-top: 0.25rem;\\n}\\n\\n.form-row {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n margin-right: -5px;\\n margin-left: -5px;\\n}\\n\\n.form-row > .col,\\n.form-row > [class*=\\\"col-\\\"] {\\n padding-right: 5px;\\n padding-left: 5px;\\n}\\n\\n.form-check {\\n position: relative;\\n display: block;\\n padding-left: 1.25rem;\\n}\\n\\n.form-check-input {\\n position: absolute;\\n margin-top: 0.3rem;\\n margin-left: -1.25rem;\\n}\\n\\n.form-check-input:disabled ~ .form-check-label {\\n color: #6c757d;\\n}\\n\\n.form-check-label {\\n margin-bottom: 0;\\n}\\n\\n.form-check-inline {\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -ms-flex-align: center;\\n align-items: center;\\n padding-left: 0;\\n margin-right: 0.75rem;\\n}\\n\\n.form-check-inline .form-check-input {\\n position: static;\\n margin-top: 0;\\n margin-right: 0.3125rem;\\n margin-left: 0;\\n}\\n\\n.valid-feedback {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 80%;\\n color: #28a745;\\n}\\n\\n.valid-tooltip {\\n position: absolute;\\n top: 100%;\\n z-index: 5;\\n display: none;\\n max-width: 100%;\\n padding: 0.25rem 0.5rem;\\n margin-top: .1rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n color: #fff;\\n background-color: rgba(40, 167, 69, 0.9);\\n border-radius: 0.25rem;\\n}\\n\\n.was-validated .form-control:valid, .form-control.is-valid {\\n border-color: #28a745;\\n padding-right: calc(1.5em + 0.75rem);\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\\\");\\n background-repeat: no-repeat;\\n background-position: center right calc(0.375em + 0.1875rem);\\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\n}\\n\\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\\n}\\n\\n.was-validated .form-control:valid ~ .valid-feedback,\\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\\n.form-control.is-valid ~ .valid-tooltip {\\n display: block;\\n}\\n\\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\\n padding-right: calc(1.5em + 0.75rem);\\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\\n}\\n\\n.was-validated .custom-select:valid, .custom-select.is-valid {\\n border-color: #28a745;\\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\\n background: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") no-repeat right 0.75rem center/8px 10px, url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\\\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\n}\\n\\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\\n}\\n\\n.was-validated .custom-select:valid ~ .valid-feedback,\\n.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\\n.custom-select.is-valid ~ .valid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .form-control-file:valid ~ .valid-feedback,\\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\\n.form-control-file.is-valid ~ .valid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\\n color: #28a745;\\n}\\n\\n.was-validated .form-check-input:valid ~ .valid-feedback,\\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\\n.form-check-input.is-valid ~ .valid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\\n color: #28a745;\\n}\\n\\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\\n border-color: #28a745;\\n}\\n\\n.was-validated .custom-control-input:valid ~ .valid-feedback,\\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\\n.custom-control-input.is-valid ~ .valid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\\n border-color: #34ce57;\\n background-color: #34ce57;\\n}\\n\\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\\n}\\n\\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #28a745;\\n}\\n\\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\\n border-color: #28a745;\\n}\\n\\n.was-validated .custom-file-input:valid ~ .valid-feedback,\\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\\n.custom-file-input.is-valid ~ .valid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\\n}\\n\\n.invalid-feedback {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 80%;\\n color: #dc3545;\\n}\\n\\n.invalid-tooltip {\\n position: absolute;\\n top: 100%;\\n z-index: 5;\\n display: none;\\n max-width: 100%;\\n padding: 0.25rem 0.5rem;\\n margin-top: .1rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n color: #fff;\\n background-color: rgba(220, 53, 69, 0.9);\\n border-radius: 0.25rem;\\n}\\n\\n.was-validated .form-control:invalid, .form-control.is-invalid {\\n border-color: #dc3545;\\n padding-right: calc(1.5em + 0.75rem);\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\\\");\\n background-repeat: no-repeat;\\n background-position: center right calc(0.375em + 0.1875rem);\\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\n}\\n\\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\\n}\\n\\n.was-validated .form-control:invalid ~ .invalid-feedback,\\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\\n.form-control.is-invalid ~ .invalid-tooltip {\\n display: block;\\n}\\n\\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\\n padding-right: calc(1.5em + 0.75rem);\\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\\n}\\n\\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\\n border-color: #dc3545;\\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\\n background: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") no-repeat right 0.75rem center/8px 10px, url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\\\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\n}\\n\\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\\n}\\n\\n.was-validated .custom-select:invalid ~ .invalid-feedback,\\n.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\\n.custom-select.is-invalid ~ .invalid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\\n.form-control-file.is-invalid ~ .invalid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\\n color: #dc3545;\\n}\\n\\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\\n.form-check-input.is-invalid ~ .invalid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\\n color: #dc3545;\\n}\\n\\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\\n border-color: #dc3545;\\n}\\n\\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\\n.custom-control-input.is-invalid ~ .invalid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\\n border-color: #e4606d;\\n background-color: #e4606d;\\n}\\n\\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\\n}\\n\\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #dc3545;\\n}\\n\\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\\n border-color: #dc3545;\\n}\\n\\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\\n.custom-file-input.is-invalid ~ .invalid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\\n}\\n\\n.form-inline {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-flow: row wrap;\\n flex-flow: row wrap;\\n -ms-flex-align: center;\\n align-items: center;\\n}\\n\\n.form-inline .form-check {\\n width: 100%;\\n}\\n\\n@media (min-width: 576px) {\\n .form-inline label {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n margin-bottom: 0;\\n }\\n .form-inline .form-group {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n -ms-flex-flow: row wrap;\\n flex-flow: row wrap;\\n -ms-flex-align: center;\\n align-items: center;\\n margin-bottom: 0;\\n }\\n .form-inline .form-control {\\n display: inline-block;\\n width: auto;\\n vertical-align: middle;\\n }\\n .form-inline .form-control-plaintext {\\n display: inline-block;\\n }\\n .form-inline .input-group,\\n .form-inline .custom-select {\\n width: auto;\\n }\\n .form-inline .form-check {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n width: auto;\\n padding-left: 0;\\n }\\n .form-inline .form-check-input {\\n position: relative;\\n -ms-flex-negative: 0;\\n flex-shrink: 0;\\n margin-top: 0;\\n margin-right: 0.25rem;\\n margin-left: 0;\\n }\\n .form-inline .custom-control {\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n }\\n .form-inline .custom-control-label {\\n margin-bottom: 0;\\n }\\n}\\n\\n.btn {\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n background-color: transparent;\\n border: 1px solid transparent;\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n line-height: 1.5;\\n border-radius: 0.25rem;\\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .btn {\\n transition: none;\\n }\\n}\\n\\n.btn:hover {\\n color: #212529;\\n text-decoration: none;\\n}\\n\\n.btn:focus, .btn.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.btn.disabled, .btn:disabled {\\n opacity: 0.65;\\n}\\n\\na.btn.disabled,\\nfieldset:disabled a.btn {\\n pointer-events: none;\\n}\\n\\n.btn-primary {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n\\n.btn-primary:hover {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc;\\n}\\n\\n.btn-primary:focus, .btn-primary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\\n}\\n\\n.btn-primary.disabled, .btn-primary:disabled {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n\\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\\n.show > .btn-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #0062cc;\\n border-color: #005cbf;\\n}\\n\\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\\n}\\n\\n.btn-secondary {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d;\\n}\\n\\n.btn-secondary:hover {\\n color: #fff;\\n background-color: #5a6268;\\n border-color: #545b62;\\n}\\n\\n.btn-secondary:focus, .btn-secondary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\\n}\\n\\n.btn-secondary.disabled, .btn-secondary:disabled {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d;\\n}\\n\\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\\n.show > .btn-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #545b62;\\n border-color: #4e555b;\\n}\\n\\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\\n}\\n\\n.btn-success {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745;\\n}\\n\\n.btn-success:hover {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34;\\n}\\n\\n.btn-success:focus, .btn-success.focus {\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\\n}\\n\\n.btn-success.disabled, .btn-success:disabled {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745;\\n}\\n\\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\\n.show > .btn-success.dropdown-toggle {\\n color: #fff;\\n background-color: #1e7e34;\\n border-color: #1c7430;\\n}\\n\\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\\n}\\n\\n.btn-info {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8;\\n}\\n\\n.btn-info:hover {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b;\\n}\\n\\n.btn-info:focus, .btn-info.focus {\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\\n}\\n\\n.btn-info.disabled, .btn-info:disabled {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8;\\n}\\n\\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\\n.show > .btn-info.dropdown-toggle {\\n color: #fff;\\n background-color: #117a8b;\\n border-color: #10707f;\\n}\\n\\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\\n}\\n\\n.btn-warning {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107;\\n}\\n\\n.btn-warning:hover {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00;\\n}\\n\\n.btn-warning:focus, .btn-warning.focus {\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\\n}\\n\\n.btn-warning.disabled, .btn-warning:disabled {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107;\\n}\\n\\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\\n.show > .btn-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #d39e00;\\n border-color: #c69500;\\n}\\n\\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\\n}\\n\\n.btn-danger {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545;\\n}\\n\\n.btn-danger:hover {\\n color: #fff;\\n background-color: #c82333;\\n border-color: #bd2130;\\n}\\n\\n.btn-danger:focus, .btn-danger.focus {\\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\\n}\\n\\n.btn-danger.disabled, .btn-danger:disabled {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545;\\n}\\n\\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\\n.show > .btn-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #bd2130;\\n border-color: #b21f2d;\\n}\\n\\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\\n}\\n\\n.btn-light {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa;\\n}\\n\\n.btn-light:hover {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5;\\n}\\n\\n.btn-light:focus, .btn-light.focus {\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\\n}\\n\\n.btn-light.disabled, .btn-light:disabled {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa;\\n}\\n\\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\\n.show > .btn-light.dropdown-toggle {\\n color: #212529;\\n background-color: #dae0e5;\\n border-color: #d3d9df;\\n}\\n\\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\\n}\\n\\n.btn-dark {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40;\\n}\\n\\n.btn-dark:hover {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124;\\n}\\n\\n.btn-dark:focus, .btn-dark.focus {\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\\n}\\n\\n.btn-dark.disabled, .btn-dark:disabled {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40;\\n}\\n\\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\\n.show > .btn-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #1d2124;\\n border-color: #171a1d;\\n}\\n\\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\\n}\\n\\n.btn-outline-primary {\\n color: #007bff;\\n border-color: #007bff;\\n}\\n\\n.btn-outline-primary:hover {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n\\n.btn-outline-primary:focus, .btn-outline-primary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\\n}\\n\\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\\n color: #007bff;\\n background-color: transparent;\\n}\\n\\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\\n.show > .btn-outline-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n\\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-outline-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\\n}\\n\\n.btn-outline-secondary {\\n color: #6c757d;\\n border-color: #6c757d;\\n}\\n\\n.btn-outline-secondary:hover {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d;\\n}\\n\\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\\n}\\n\\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\\n color: #6c757d;\\n background-color: transparent;\\n}\\n\\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\\n.show > .btn-outline-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d;\\n}\\n\\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-outline-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\\n}\\n\\n.btn-outline-success {\\n color: #28a745;\\n border-color: #28a745;\\n}\\n\\n.btn-outline-success:hover {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745;\\n}\\n\\n.btn-outline-success:focus, .btn-outline-success.focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\\n}\\n\\n.btn-outline-success.disabled, .btn-outline-success:disabled {\\n color: #28a745;\\n background-color: transparent;\\n}\\n\\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\\n.show > .btn-outline-success.dropdown-toggle {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745;\\n}\\n\\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-outline-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\\n}\\n\\n.btn-outline-info {\\n color: #17a2b8;\\n border-color: #17a2b8;\\n}\\n\\n.btn-outline-info:hover {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8;\\n}\\n\\n.btn-outline-info:focus, .btn-outline-info.focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\\n}\\n\\n.btn-outline-info.disabled, .btn-outline-info:disabled {\\n color: #17a2b8;\\n background-color: transparent;\\n}\\n\\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\\n.show > .btn-outline-info.dropdown-toggle {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8;\\n}\\n\\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-outline-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\\n}\\n\\n.btn-outline-warning {\\n color: #ffc107;\\n border-color: #ffc107;\\n}\\n\\n.btn-outline-warning:hover {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107;\\n}\\n\\n.btn-outline-warning:focus, .btn-outline-warning.focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\\n}\\n\\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\\n color: #ffc107;\\n background-color: transparent;\\n}\\n\\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\\n.show > .btn-outline-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107;\\n}\\n\\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-outline-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\\n}\\n\\n.btn-outline-danger {\\n color: #dc3545;\\n border-color: #dc3545;\\n}\\n\\n.btn-outline-danger:hover {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545;\\n}\\n\\n.btn-outline-danger:focus, .btn-outline-danger.focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\\n}\\n\\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\\n color: #dc3545;\\n background-color: transparent;\\n}\\n\\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\\n.show > .btn-outline-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545;\\n}\\n\\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-outline-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\\n}\\n\\n.btn-outline-light {\\n color: #f8f9fa;\\n border-color: #f8f9fa;\\n}\\n\\n.btn-outline-light:hover {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa;\\n}\\n\\n.btn-outline-light:focus, .btn-outline-light.focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\\n}\\n\\n.btn-outline-light.disabled, .btn-outline-light:disabled {\\n color: #f8f9fa;\\n background-color: transparent;\\n}\\n\\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\\n.show > .btn-outline-light.dropdown-toggle {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa;\\n}\\n\\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-outline-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\\n}\\n\\n.btn-outline-dark {\\n color: #343a40;\\n border-color: #343a40;\\n}\\n\\n.btn-outline-dark:hover {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40;\\n}\\n\\n.btn-outline-dark:focus, .btn-outline-dark.focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\\n}\\n\\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\\n color: #343a40;\\n background-color: transparent;\\n}\\n\\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\\n.show > .btn-outline-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40;\\n}\\n\\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\\n.show > .btn-outline-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\\n}\\n\\n.btn-link {\\n font-weight: 400;\\n color: #007bff;\\n text-decoration: none;\\n}\\n\\n.btn-link:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n}\\n\\n.btn-link:focus, .btn-link.focus {\\n text-decoration: underline;\\n box-shadow: none;\\n}\\n\\n.btn-link:disabled, .btn-link.disabled {\\n color: #6c757d;\\n pointer-events: none;\\n}\\n\\n.btn-lg, .btn-group-lg > .btn {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem;\\n}\\n\\n.btn-sm, .btn-group-sm > .btn {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem;\\n}\\n\\n.btn-block {\\n display: block;\\n width: 100%;\\n}\\n\\n.btn-block + .btn-block {\\n margin-top: 0.5rem;\\n}\\n\\ninput[type=\\\"submit\\\"].btn-block,\\ninput[type=\\\"reset\\\"].btn-block,\\ninput[type=\\\"button\\\"].btn-block {\\n width: 100%;\\n}\\n\\n.fade {\\n transition: opacity 0.15s linear;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fade {\\n transition: none;\\n }\\n}\\n\\n.fade:not(.show) {\\n opacity: 0;\\n}\\n\\n.collapse:not(.show) {\\n display: none;\\n}\\n\\n.collapsing {\\n position: relative;\\n height: 0;\\n overflow: hidden;\\n transition: height 0.35s ease;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .collapsing {\\n transition: none;\\n }\\n}\\n\\n.dropup,\\n.dropright,\\n.dropdown,\\n.dropleft {\\n position: relative;\\n}\\n\\n.dropdown-toggle {\\n white-space: nowrap;\\n}\\n\\n.dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0.3em solid;\\n border-right: 0.3em solid transparent;\\n border-bottom: 0;\\n border-left: 0.3em solid transparent;\\n}\\n\\n.dropdown-toggle:empty::after {\\n margin-left: 0;\\n}\\n\\n.dropdown-menu {\\n position: absolute;\\n top: 100%;\\n left: 0;\\n z-index: 1000;\\n display: none;\\n float: left;\\n min-width: 10rem;\\n padding: 0.5rem 0;\\n margin: 0.125rem 0 0;\\n font-size: 1rem;\\n color: #212529;\\n text-align: left;\\n list-style: none;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.15);\\n border-radius: 0.25rem;\\n}\\n\\n.dropdown-menu-left {\\n right: auto;\\n left: 0;\\n}\\n\\n.dropdown-menu-right {\\n right: 0;\\n left: auto;\\n}\\n\\n@media (min-width: 576px) {\\n .dropdown-menu-sm-left {\\n right: auto;\\n left: 0;\\n }\\n .dropdown-menu-sm-right {\\n right: 0;\\n left: auto;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .dropdown-menu-md-left {\\n right: auto;\\n left: 0;\\n }\\n .dropdown-menu-md-right {\\n right: 0;\\n left: auto;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .dropdown-menu-lg-left {\\n right: auto;\\n left: 0;\\n }\\n .dropdown-menu-lg-right {\\n right: 0;\\n left: auto;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .dropdown-menu-xl-left {\\n right: auto;\\n left: 0;\\n }\\n .dropdown-menu-xl-right {\\n right: 0;\\n left: auto;\\n }\\n}\\n\\n.dropup .dropdown-menu {\\n top: auto;\\n bottom: 100%;\\n margin-top: 0;\\n margin-bottom: 0.125rem;\\n}\\n\\n.dropup .dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0;\\n border-right: 0.3em solid transparent;\\n border-bottom: 0.3em solid;\\n border-left: 0.3em solid transparent;\\n}\\n\\n.dropup .dropdown-toggle:empty::after {\\n margin-left: 0;\\n}\\n\\n.dropright .dropdown-menu {\\n top: 0;\\n right: auto;\\n left: 100%;\\n margin-top: 0;\\n margin-left: 0.125rem;\\n}\\n\\n.dropright .dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0.3em solid transparent;\\n border-right: 0;\\n border-bottom: 0.3em solid transparent;\\n border-left: 0.3em solid;\\n}\\n\\n.dropright .dropdown-toggle:empty::after {\\n margin-left: 0;\\n}\\n\\n.dropright .dropdown-toggle::after {\\n vertical-align: 0;\\n}\\n\\n.dropleft .dropdown-menu {\\n top: 0;\\n right: 100%;\\n left: auto;\\n margin-top: 0;\\n margin-right: 0.125rem;\\n}\\n\\n.dropleft .dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n}\\n\\n.dropleft .dropdown-toggle::after {\\n display: none;\\n}\\n\\n.dropleft .dropdown-toggle::before {\\n display: inline-block;\\n margin-right: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0.3em solid transparent;\\n border-right: 0.3em solid;\\n border-bottom: 0.3em solid transparent;\\n}\\n\\n.dropleft .dropdown-toggle:empty::after {\\n margin-left: 0;\\n}\\n\\n.dropleft .dropdown-toggle::before {\\n vertical-align: 0;\\n}\\n\\n.dropdown-menu[x-placement^=\\\"top\\\"], .dropdown-menu[x-placement^=\\\"right\\\"], .dropdown-menu[x-placement^=\\\"bottom\\\"], .dropdown-menu[x-placement^=\\\"left\\\"] {\\n right: auto;\\n bottom: auto;\\n}\\n\\n.dropdown-divider {\\n height: 0;\\n margin: 0.5rem 0;\\n overflow: hidden;\\n border-top: 1px solid #e9ecef;\\n}\\n\\n.dropdown-item {\\n display: block;\\n width: 100%;\\n padding: 0.25rem 1.5rem;\\n clear: both;\\n font-weight: 400;\\n color: #212529;\\n text-align: inherit;\\n white-space: nowrap;\\n background-color: transparent;\\n border: 0;\\n}\\n\\n.dropdown-item:hover, .dropdown-item:focus {\\n color: #16181b;\\n text-decoration: none;\\n background-color: #f8f9fa;\\n}\\n\\n.dropdown-item.active, .dropdown-item:active {\\n color: #fff;\\n text-decoration: none;\\n background-color: #007bff;\\n}\\n\\n.dropdown-item.disabled, .dropdown-item:disabled {\\n color: #6c757d;\\n pointer-events: none;\\n background-color: transparent;\\n}\\n\\n.dropdown-menu.show {\\n display: block;\\n}\\n\\n.dropdown-header {\\n display: block;\\n padding: 0.5rem 1.5rem;\\n margin-bottom: 0;\\n font-size: 0.875rem;\\n color: #6c757d;\\n white-space: nowrap;\\n}\\n\\n.dropdown-item-text {\\n display: block;\\n padding: 0.25rem 1.5rem;\\n color: #212529;\\n}\\n\\n.btn-group,\\n.btn-group-vertical {\\n position: relative;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n vertical-align: middle;\\n}\\n\\n.btn-group > .btn,\\n.btn-group-vertical > .btn {\\n position: relative;\\n -ms-flex: 1 1 auto;\\n flex: 1 1 auto;\\n}\\n\\n.btn-group > .btn:hover,\\n.btn-group-vertical > .btn:hover {\\n z-index: 1;\\n}\\n\\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\\n.btn-group-vertical > .btn:focus,\\n.btn-group-vertical > .btn:active,\\n.btn-group-vertical > .btn.active {\\n z-index: 1;\\n}\\n\\n.btn-toolbar {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n -ms-flex-pack: start;\\n justify-content: flex-start;\\n}\\n\\n.btn-toolbar .input-group {\\n width: auto;\\n}\\n\\n.btn-group > .btn:not(:first-child),\\n.btn-group > .btn-group:not(:first-child) {\\n margin-left: -1px;\\n}\\n\\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\\n.btn-group > .btn-group:not(:last-child) > .btn {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.btn-group > .btn:not(:first-child),\\n.btn-group > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.dropdown-toggle-split {\\n padding-right: 0.5625rem;\\n padding-left: 0.5625rem;\\n}\\n\\n.dropdown-toggle-split::after,\\n.dropup .dropdown-toggle-split::after,\\n.dropright .dropdown-toggle-split::after {\\n margin-left: 0;\\n}\\n\\n.dropleft .dropdown-toggle-split::before {\\n margin-right: 0;\\n}\\n\\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\\n padding-right: 0.375rem;\\n padding-left: 0.375rem;\\n}\\n\\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\\n padding-right: 0.75rem;\\n padding-left: 0.75rem;\\n}\\n\\n.btn-group-vertical {\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -ms-flex-align: start;\\n align-items: flex-start;\\n -ms-flex-pack: center;\\n justify-content: center;\\n}\\n\\n.btn-group-vertical > .btn,\\n.btn-group-vertical > .btn-group {\\n width: 100%;\\n}\\n\\n.btn-group-vertical > .btn:not(:first-child),\\n.btn-group-vertical > .btn-group:not(:first-child) {\\n margin-top: -1px;\\n}\\n\\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.btn-group-vertical > .btn:not(:first-child),\\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.btn-group-toggle > .btn,\\n.btn-group-toggle > .btn-group > .btn {\\n margin-bottom: 0;\\n}\\n\\n.btn-group-toggle > .btn input[type=\\\"radio\\\"],\\n.btn-group-toggle > .btn input[type=\\\"checkbox\\\"],\\n.btn-group-toggle > .btn-group > .btn input[type=\\\"radio\\\"],\\n.btn-group-toggle > .btn-group > .btn input[type=\\\"checkbox\\\"] {\\n position: absolute;\\n clip: rect(0, 0, 0, 0);\\n pointer-events: none;\\n}\\n\\n.input-group {\\n position: relative;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n -ms-flex-align: stretch;\\n align-items: stretch;\\n width: 100%;\\n}\\n\\n.input-group > .form-control,\\n.input-group > .form-control-plaintext,\\n.input-group > .custom-select,\\n.input-group > .custom-file {\\n position: relative;\\n -ms-flex: 1 1 auto;\\n flex: 1 1 auto;\\n width: 1%;\\n margin-bottom: 0;\\n}\\n\\n.input-group > .form-control + .form-control,\\n.input-group > .form-control + .custom-select,\\n.input-group > .form-control + .custom-file,\\n.input-group > .form-control-plaintext + .form-control,\\n.input-group > .form-control-plaintext + .custom-select,\\n.input-group > .form-control-plaintext + .custom-file,\\n.input-group > .custom-select + .form-control,\\n.input-group > .custom-select + .custom-select,\\n.input-group > .custom-select + .custom-file,\\n.input-group > .custom-file + .form-control,\\n.input-group > .custom-file + .custom-select,\\n.input-group > .custom-file + .custom-file {\\n margin-left: -1px;\\n}\\n\\n.input-group > .form-control:focus,\\n.input-group > .custom-select:focus,\\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\\n z-index: 3;\\n}\\n\\n.input-group > .custom-file .custom-file-input:focus {\\n z-index: 4;\\n}\\n\\n.input-group > .form-control:not(:last-child),\\n.input-group > .custom-select:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.input-group > .form-control:not(:first-child),\\n.input-group > .custom-select:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.input-group > .custom-file {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: center;\\n align-items: center;\\n}\\n\\n.input-group > .custom-file:not(:last-child) .custom-file-label,\\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.input-group > .custom-file:not(:first-child) .custom-file-label {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.input-group-prepend,\\n.input-group-append {\\n display: -ms-flexbox;\\n display: flex;\\n}\\n\\n.input-group-prepend .btn,\\n.input-group-append .btn {\\n position: relative;\\n z-index: 2;\\n}\\n\\n.input-group-prepend .btn:focus,\\n.input-group-append .btn:focus {\\n z-index: 3;\\n}\\n\\n.input-group-prepend .btn + .btn,\\n.input-group-prepend .btn + .input-group-text,\\n.input-group-prepend .input-group-text + .input-group-text,\\n.input-group-prepend .input-group-text + .btn,\\n.input-group-append .btn + .btn,\\n.input-group-append .btn + .input-group-text,\\n.input-group-append .input-group-text + .input-group-text,\\n.input-group-append .input-group-text + .btn {\\n margin-left: -1px;\\n}\\n\\n.input-group-prepend {\\n margin-right: -1px;\\n}\\n\\n.input-group-append {\\n margin-left: -1px;\\n}\\n\\n.input-group-text {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: center;\\n align-items: center;\\n padding: 0.375rem 0.75rem;\\n margin-bottom: 0;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n text-align: center;\\n white-space: nowrap;\\n background-color: #e9ecef;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n}\\n\\n.input-group-text input[type=\\\"radio\\\"],\\n.input-group-text input[type=\\\"checkbox\\\"] {\\n margin-top: 0;\\n}\\n\\n.input-group-lg > .form-control:not(textarea),\\n.input-group-lg > .custom-select {\\n height: calc(1.5em + 1rem + 2px);\\n}\\n\\n.input-group-lg > .form-control,\\n.input-group-lg > .custom-select,\\n.input-group-lg > .input-group-prepend > .input-group-text,\\n.input-group-lg > .input-group-append > .input-group-text,\\n.input-group-lg > .input-group-prepend > .btn,\\n.input-group-lg > .input-group-append > .btn {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem;\\n}\\n\\n.input-group-sm > .form-control:not(textarea),\\n.input-group-sm > .custom-select {\\n height: calc(1.5em + 0.5rem + 2px);\\n}\\n\\n.input-group-sm > .form-control,\\n.input-group-sm > .custom-select,\\n.input-group-sm > .input-group-prepend > .input-group-text,\\n.input-group-sm > .input-group-append > .input-group-text,\\n.input-group-sm > .input-group-prepend > .btn,\\n.input-group-sm > .input-group-append > .btn {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem;\\n}\\n\\n.input-group-lg > .custom-select,\\n.input-group-sm > .custom-select {\\n padding-right: 1.75rem;\\n}\\n\\n.input-group > .input-group-prepend > .btn,\\n.input-group > .input-group-prepend > .input-group-text,\\n.input-group > .input-group-append:not(:last-child) > .btn,\\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.input-group > .input-group-append > .btn,\\n.input-group > .input-group-append > .input-group-text,\\n.input-group > .input-group-prepend:not(:first-child) > .btn,\\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.custom-control {\\n position: relative;\\n display: block;\\n min-height: 1.5rem;\\n padding-left: 1.5rem;\\n}\\n\\n.custom-control-inline {\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n margin-right: 1rem;\\n}\\n\\n.custom-control-input {\\n position: absolute;\\n z-index: -1;\\n opacity: 0;\\n}\\n\\n.custom-control-input:checked ~ .custom-control-label::before {\\n color: #fff;\\n border-color: #007bff;\\n background-color: #007bff;\\n}\\n\\n.custom-control-input:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #80bdff;\\n}\\n\\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\\n color: #fff;\\n background-color: #b3d7ff;\\n border-color: #b3d7ff;\\n}\\n\\n.custom-control-input:disabled ~ .custom-control-label {\\n color: #6c757d;\\n}\\n\\n.custom-control-input:disabled ~ .custom-control-label::before {\\n background-color: #e9ecef;\\n}\\n\\n.custom-control-label {\\n position: relative;\\n margin-bottom: 0;\\n vertical-align: top;\\n}\\n\\n.custom-control-label::before {\\n position: absolute;\\n top: 0.25rem;\\n left: -1.5rem;\\n display: block;\\n width: 1rem;\\n height: 1rem;\\n pointer-events: none;\\n content: \\\"\\\";\\n background-color: #fff;\\n border: #adb5bd solid 1px;\\n}\\n\\n.custom-control-label::after {\\n position: absolute;\\n top: 0.25rem;\\n left: -1.5rem;\\n display: block;\\n width: 1rem;\\n height: 1rem;\\n content: \\\"\\\";\\n background: no-repeat 50% / 50% 50%;\\n}\\n\\n.custom-checkbox .custom-control-label::before {\\n border-radius: 0.25rem;\\n}\\n\\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\\n border-color: #007bff;\\n background-color: #007bff;\\n}\\n\\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\\\");\\n}\\n\\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5);\\n}\\n\\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5);\\n}\\n\\n.custom-radio .custom-control-label::before {\\n border-radius: 50%;\\n}\\n\\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\\\");\\n}\\n\\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5);\\n}\\n\\n.custom-switch {\\n padding-left: 2.25rem;\\n}\\n\\n.custom-switch .custom-control-label::before {\\n left: -2.25rem;\\n width: 1.75rem;\\n pointer-events: all;\\n border-radius: 0.5rem;\\n}\\n\\n.custom-switch .custom-control-label::after {\\n top: calc(0.25rem + 2px);\\n left: calc(-2.25rem + 2px);\\n width: calc(1rem - 4px);\\n height: calc(1rem - 4px);\\n background-color: #adb5bd;\\n border-radius: 0.5rem;\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .custom-switch .custom-control-label::after {\\n transition: none;\\n }\\n}\\n\\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\\n background-color: #fff;\\n -webkit-transform: translateX(0.75rem);\\n transform: translateX(0.75rem);\\n}\\n\\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5);\\n}\\n\\n.custom-select {\\n display: inline-block;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n vertical-align: middle;\\n background: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") no-repeat right 0.75rem center/8px 10px;\\n background-color: #fff;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n\\n.custom-select:focus {\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.custom-select:focus::-ms-value {\\n color: #495057;\\n background-color: #fff;\\n}\\n\\n.custom-select[multiple], .custom-select[size]:not([size=\\\"1\\\"]) {\\n height: auto;\\n padding-right: 0.75rem;\\n background-image: none;\\n}\\n\\n.custom-select:disabled {\\n color: #6c757d;\\n background-color: #e9ecef;\\n}\\n\\n.custom-select::-ms-expand {\\n display: none;\\n}\\n\\n.custom-select-sm {\\n height: calc(1.5em + 0.5rem + 2px);\\n padding-top: 0.25rem;\\n padding-bottom: 0.25rem;\\n padding-left: 0.5rem;\\n font-size: 0.875rem;\\n}\\n\\n.custom-select-lg {\\n height: calc(1.5em + 1rem + 2px);\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n padding-left: 1rem;\\n font-size: 1.25rem;\\n}\\n\\n.custom-file {\\n position: relative;\\n display: inline-block;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n margin-bottom: 0;\\n}\\n\\n.custom-file-input {\\n position: relative;\\n z-index: 2;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n margin: 0;\\n opacity: 0;\\n}\\n\\n.custom-file-input:focus ~ .custom-file-label {\\n border-color: #80bdff;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.custom-file-input:disabled ~ .custom-file-label {\\n background-color: #e9ecef;\\n}\\n\\n.custom-file-input:lang(en) ~ .custom-file-label::after {\\n content: \\\"Browse\\\";\\n}\\n\\n.custom-file-input ~ .custom-file-label[data-browse]::after {\\n content: attr(data-browse);\\n}\\n\\n.custom-file-label {\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem 0.75rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n background-color: #fff;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n}\\n\\n.custom-file-label::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 3;\\n display: block;\\n height: calc(1.5em + 0.75rem);\\n padding: 0.375rem 0.75rem;\\n line-height: 1.5;\\n color: #495057;\\n content: \\\"Browse\\\";\\n background-color: #e9ecef;\\n border-left: inherit;\\n border-radius: 0 0.25rem 0.25rem 0;\\n}\\n\\n.custom-range {\\n width: 100%;\\n height: calc(1rem + 0.4rem);\\n padding: 0;\\n background-color: transparent;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n\\n.custom-range:focus {\\n outline: none;\\n}\\n\\n.custom-range:focus::-webkit-slider-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.custom-range:focus::-moz-range-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.custom-range:focus::-ms-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.custom-range::-moz-focus-outer {\\n border: 0;\\n}\\n\\n.custom-range::-webkit-slider-thumb {\\n width: 1rem;\\n height: 1rem;\\n margin-top: -0.25rem;\\n background-color: #007bff;\\n border: 0;\\n border-radius: 1rem;\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n -webkit-appearance: none;\\n appearance: none;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .custom-range::-webkit-slider-thumb {\\n transition: none;\\n }\\n}\\n\\n.custom-range::-webkit-slider-thumb:active {\\n background-color: #b3d7ff;\\n}\\n\\n.custom-range::-webkit-slider-runnable-track {\\n width: 100%;\\n height: 0.5rem;\\n color: transparent;\\n cursor: pointer;\\n background-color: #dee2e6;\\n border-color: transparent;\\n border-radius: 1rem;\\n}\\n\\n.custom-range::-moz-range-thumb {\\n width: 1rem;\\n height: 1rem;\\n background-color: #007bff;\\n border: 0;\\n border-radius: 1rem;\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .custom-range::-moz-range-thumb {\\n transition: none;\\n }\\n}\\n\\n.custom-range::-moz-range-thumb:active {\\n background-color: #b3d7ff;\\n}\\n\\n.custom-range::-moz-range-track {\\n width: 100%;\\n height: 0.5rem;\\n color: transparent;\\n cursor: pointer;\\n background-color: #dee2e6;\\n border-color: transparent;\\n border-radius: 1rem;\\n}\\n\\n.custom-range::-ms-thumb {\\n width: 1rem;\\n height: 1rem;\\n margin-top: 0;\\n margin-right: 0.2rem;\\n margin-left: 0.2rem;\\n background-color: #007bff;\\n border: 0;\\n border-radius: 1rem;\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n appearance: none;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .custom-range::-ms-thumb {\\n transition: none;\\n }\\n}\\n\\n.custom-range::-ms-thumb:active {\\n background-color: #b3d7ff;\\n}\\n\\n.custom-range::-ms-track {\\n width: 100%;\\n height: 0.5rem;\\n color: transparent;\\n cursor: pointer;\\n background-color: transparent;\\n border-color: transparent;\\n border-width: 0.5rem;\\n}\\n\\n.custom-range::-ms-fill-lower {\\n background-color: #dee2e6;\\n border-radius: 1rem;\\n}\\n\\n.custom-range::-ms-fill-upper {\\n margin-right: 15px;\\n background-color: #dee2e6;\\n border-radius: 1rem;\\n}\\n\\n.custom-range:disabled::-webkit-slider-thumb {\\n background-color: #adb5bd;\\n}\\n\\n.custom-range:disabled::-webkit-slider-runnable-track {\\n cursor: default;\\n}\\n\\n.custom-range:disabled::-moz-range-thumb {\\n background-color: #adb5bd;\\n}\\n\\n.custom-range:disabled::-moz-range-track {\\n cursor: default;\\n}\\n\\n.custom-range:disabled::-ms-thumb {\\n background-color: #adb5bd;\\n}\\n\\n.custom-control-label::before,\\n.custom-file-label,\\n.custom-select {\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .custom-control-label::before,\\n .custom-file-label,\\n .custom-select {\\n transition: none;\\n }\\n}\\n\\n.nav {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n}\\n\\n.nav-link {\\n display: block;\\n padding: 0.5rem 1rem;\\n}\\n\\n.nav-link:hover, .nav-link:focus {\\n text-decoration: none;\\n}\\n\\n.nav-link.disabled {\\n color: #6c757d;\\n pointer-events: none;\\n cursor: default;\\n}\\n\\n.nav-tabs {\\n border-bottom: 1px solid #dee2e6;\\n}\\n\\n.nav-tabs .nav-item {\\n margin-bottom: -1px;\\n}\\n\\n.nav-tabs .nav-link {\\n border: 1px solid transparent;\\n border-top-left-radius: 0.25rem;\\n border-top-right-radius: 0.25rem;\\n}\\n\\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\\n border-color: #e9ecef #e9ecef #dee2e6;\\n}\\n\\n.nav-tabs .nav-link.disabled {\\n color: #6c757d;\\n background-color: transparent;\\n border-color: transparent;\\n}\\n\\n.nav-tabs .nav-link.active,\\n.nav-tabs .nav-item.show .nav-link {\\n color: #495057;\\n background-color: #fff;\\n border-color: #dee2e6 #dee2e6 #fff;\\n}\\n\\n.nav-tabs .dropdown-menu {\\n margin-top: -1px;\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.nav-pills .nav-link {\\n border-radius: 0.25rem;\\n}\\n\\n.nav-pills .nav-link.active,\\n.nav-pills .show > .nav-link {\\n color: #fff;\\n background-color: #007bff;\\n}\\n\\n.nav-fill .nav-item {\\n -ms-flex: 1 1 auto;\\n flex: 1 1 auto;\\n text-align: center;\\n}\\n\\n.nav-justified .nav-item {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n text-align: center;\\n}\\n\\n.tab-content > .tab-pane {\\n display: none;\\n}\\n\\n.tab-content > .active {\\n display: block;\\n}\\n\\n.navbar {\\n position: relative;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n padding: 0.5rem 1rem;\\n}\\n\\n.navbar > .container,\\n.navbar > .container-fluid {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n}\\n\\n.navbar-brand {\\n display: inline-block;\\n padding-top: 0.3125rem;\\n padding-bottom: 0.3125rem;\\n margin-right: 1rem;\\n font-size: 1.25rem;\\n line-height: inherit;\\n white-space: nowrap;\\n}\\n\\n.navbar-brand:hover, .navbar-brand:focus {\\n text-decoration: none;\\n}\\n\\n.navbar-nav {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n}\\n\\n.navbar-nav .nav-link {\\n padding-right: 0;\\n padding-left: 0;\\n}\\n\\n.navbar-nav .dropdown-menu {\\n position: static;\\n float: none;\\n}\\n\\n.navbar-text {\\n display: inline-block;\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n}\\n\\n.navbar-collapse {\\n -ms-flex-preferred-size: 100%;\\n flex-basis: 100%;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n -ms-flex-align: center;\\n align-items: center;\\n}\\n\\n.navbar-toggler {\\n padding: 0.25rem 0.75rem;\\n font-size: 1.25rem;\\n line-height: 1;\\n background-color: transparent;\\n border: 1px solid transparent;\\n border-radius: 0.25rem;\\n}\\n\\n.navbar-toggler:hover, .navbar-toggler:focus {\\n text-decoration: none;\\n}\\n\\n.navbar-toggler-icon {\\n display: inline-block;\\n width: 1.5em;\\n height: 1.5em;\\n vertical-align: middle;\\n content: \\\"\\\";\\n background: no-repeat center center;\\n background-size: 100% 100%;\\n}\\n\\n@media (max-width: 575.98px) {\\n .navbar-expand-sm > .container,\\n .navbar-expand-sm > .container-fluid {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n}\\n\\n@media (min-width: 576px) {\\n .navbar-expand-sm {\\n -ms-flex-flow: row nowrap;\\n flex-flow: row nowrap;\\n -ms-flex-pack: start;\\n justify-content: flex-start;\\n }\\n .navbar-expand-sm .navbar-nav {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n }\\n .navbar-expand-sm .navbar-nav .dropdown-menu {\\n position: absolute;\\n }\\n .navbar-expand-sm .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n }\\n .navbar-expand-sm > .container,\\n .navbar-expand-sm > .container-fluid {\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n }\\n .navbar-expand-sm .navbar-collapse {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n -ms-flex-preferred-size: auto;\\n flex-basis: auto;\\n }\\n .navbar-expand-sm .navbar-toggler {\\n display: none;\\n }\\n}\\n\\n@media (max-width: 767.98px) {\\n .navbar-expand-md > .container,\\n .navbar-expand-md > .container-fluid {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .navbar-expand-md {\\n -ms-flex-flow: row nowrap;\\n flex-flow: row nowrap;\\n -ms-flex-pack: start;\\n justify-content: flex-start;\\n }\\n .navbar-expand-md .navbar-nav {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n }\\n .navbar-expand-md .navbar-nav .dropdown-menu {\\n position: absolute;\\n }\\n .navbar-expand-md .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n }\\n .navbar-expand-md > .container,\\n .navbar-expand-md > .container-fluid {\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n }\\n .navbar-expand-md .navbar-collapse {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n -ms-flex-preferred-size: auto;\\n flex-basis: auto;\\n }\\n .navbar-expand-md .navbar-toggler {\\n display: none;\\n }\\n}\\n\\n@media (max-width: 991.98px) {\\n .navbar-expand-lg > .container,\\n .navbar-expand-lg > .container-fluid {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .navbar-expand-lg {\\n -ms-flex-flow: row nowrap;\\n flex-flow: row nowrap;\\n -ms-flex-pack: start;\\n justify-content: flex-start;\\n }\\n .navbar-expand-lg .navbar-nav {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n }\\n .navbar-expand-lg .navbar-nav .dropdown-menu {\\n position: absolute;\\n }\\n .navbar-expand-lg .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n }\\n .navbar-expand-lg > .container,\\n .navbar-expand-lg > .container-fluid {\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n }\\n .navbar-expand-lg .navbar-collapse {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n -ms-flex-preferred-size: auto;\\n flex-basis: auto;\\n }\\n .navbar-expand-lg .navbar-toggler {\\n display: none;\\n }\\n}\\n\\n@media (max-width: 1199.98px) {\\n .navbar-expand-xl > .container,\\n .navbar-expand-xl > .container-fluid {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .navbar-expand-xl {\\n -ms-flex-flow: row nowrap;\\n flex-flow: row nowrap;\\n -ms-flex-pack: start;\\n justify-content: flex-start;\\n }\\n .navbar-expand-xl .navbar-nav {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n }\\n .navbar-expand-xl .navbar-nav .dropdown-menu {\\n position: absolute;\\n }\\n .navbar-expand-xl .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n }\\n .navbar-expand-xl > .container,\\n .navbar-expand-xl > .container-fluid {\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n }\\n .navbar-expand-xl .navbar-collapse {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n -ms-flex-preferred-size: auto;\\n flex-basis: auto;\\n }\\n .navbar-expand-xl .navbar-toggler {\\n display: none;\\n }\\n}\\n\\n.navbar-expand {\\n -ms-flex-flow: row nowrap;\\n flex-flow: row nowrap;\\n -ms-flex-pack: start;\\n justify-content: flex-start;\\n}\\n\\n.navbar-expand > .container,\\n.navbar-expand > .container-fluid {\\n padding-right: 0;\\n padding-left: 0;\\n}\\n\\n.navbar-expand .navbar-nav {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n}\\n\\n.navbar-expand .navbar-nav .dropdown-menu {\\n position: absolute;\\n}\\n\\n.navbar-expand .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n}\\n\\n.navbar-expand > .container,\\n.navbar-expand > .container-fluid {\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n}\\n\\n.navbar-expand .navbar-collapse {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n -ms-flex-preferred-size: auto;\\n flex-basis: auto;\\n}\\n\\n.navbar-expand .navbar-toggler {\\n display: none;\\n}\\n\\n.navbar-light .navbar-brand {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n\\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n\\n.navbar-light .navbar-nav .nav-link {\\n color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\\n color: rgba(0, 0, 0, 0.7);\\n}\\n\\n.navbar-light .navbar-nav .nav-link.disabled {\\n color: rgba(0, 0, 0, 0.3);\\n}\\n\\n.navbar-light .navbar-nav .show > .nav-link,\\n.navbar-light .navbar-nav .active > .nav-link,\\n.navbar-light .navbar-nav .nav-link.show,\\n.navbar-light .navbar-nav .nav-link.active {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n\\n.navbar-light .navbar-toggler {\\n color: rgba(0, 0, 0, 0.5);\\n border-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.navbar-light .navbar-toggler-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\\\");\\n}\\n\\n.navbar-light .navbar-text {\\n color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.navbar-light .navbar-text a {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n\\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n\\n.navbar-dark .navbar-brand {\\n color: #fff;\\n}\\n\\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\\n color: #fff;\\n}\\n\\n.navbar-dark .navbar-nav .nav-link {\\n color: rgba(255, 255, 255, 0.5);\\n}\\n\\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\\n color: rgba(255, 255, 255, 0.75);\\n}\\n\\n.navbar-dark .navbar-nav .nav-link.disabled {\\n color: rgba(255, 255, 255, 0.25);\\n}\\n\\n.navbar-dark .navbar-nav .show > .nav-link,\\n.navbar-dark .navbar-nav .active > .nav-link,\\n.navbar-dark .navbar-nav .nav-link.show,\\n.navbar-dark .navbar-nav .nav-link.active {\\n color: #fff;\\n}\\n\\n.navbar-dark .navbar-toggler {\\n color: rgba(255, 255, 255, 0.5);\\n border-color: rgba(255, 255, 255, 0.1);\\n}\\n\\n.navbar-dark .navbar-toggler-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\\\");\\n}\\n\\n.navbar-dark .navbar-text {\\n color: rgba(255, 255, 255, 0.5);\\n}\\n\\n.navbar-dark .navbar-text a {\\n color: #fff;\\n}\\n\\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\\n color: #fff;\\n}\\n\\n.card {\\n position: relative;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n min-width: 0;\\n word-wrap: break-word;\\n background-color: #fff;\\n background-clip: border-box;\\n border: 1px solid rgba(0, 0, 0, 0.125);\\n border-radius: 0.25rem;\\n}\\n\\n.card > hr {\\n margin-right: 0;\\n margin-left: 0;\\n}\\n\\n.card > .list-group:first-child .list-group-item:first-child {\\n border-top-left-radius: 0.25rem;\\n border-top-right-radius: 0.25rem;\\n}\\n\\n.card > .list-group:last-child .list-group-item:last-child {\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n}\\n\\n.card-body {\\n -ms-flex: 1 1 auto;\\n flex: 1 1 auto;\\n padding: 1.25rem;\\n}\\n\\n.card-title {\\n margin-bottom: 0.75rem;\\n}\\n\\n.card-subtitle {\\n margin-top: -0.375rem;\\n margin-bottom: 0;\\n}\\n\\n.card-text:last-child {\\n margin-bottom: 0;\\n}\\n\\n.card-link:hover {\\n text-decoration: none;\\n}\\n\\n.card-link + .card-link {\\n margin-left: 1.25rem;\\n}\\n\\n.card-header {\\n padding: 0.75rem 1.25rem;\\n margin-bottom: 0;\\n background-color: rgba(0, 0, 0, 0.03);\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\n}\\n\\n.card-header:first-child {\\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\\n}\\n\\n.card-header + .list-group .list-group-item:first-child {\\n border-top: 0;\\n}\\n\\n.card-footer {\\n padding: 0.75rem 1.25rem;\\n background-color: rgba(0, 0, 0, 0.03);\\n border-top: 1px solid rgba(0, 0, 0, 0.125);\\n}\\n\\n.card-footer:last-child {\\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\\n}\\n\\n.card-header-tabs {\\n margin-right: -0.625rem;\\n margin-bottom: -0.75rem;\\n margin-left: -0.625rem;\\n border-bottom: 0;\\n}\\n\\n.card-header-pills {\\n margin-right: -0.625rem;\\n margin-left: -0.625rem;\\n}\\n\\n.card-img-overlay {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n padding: 1.25rem;\\n}\\n\\n.card-img {\\n width: 100%;\\n border-radius: calc(0.25rem - 1px);\\n}\\n\\n.card-img-top {\\n width: 100%;\\n border-top-left-radius: calc(0.25rem - 1px);\\n border-top-right-radius: calc(0.25rem - 1px);\\n}\\n\\n.card-img-bottom {\\n width: 100%;\\n border-bottom-right-radius: calc(0.25rem - 1px);\\n border-bottom-left-radius: calc(0.25rem - 1px);\\n}\\n\\n.card-deck {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n}\\n\\n.card-deck .card {\\n margin-bottom: 15px;\\n}\\n\\n@media (min-width: 576px) {\\n .card-deck {\\n -ms-flex-flow: row wrap;\\n flex-flow: row wrap;\\n margin-right: -15px;\\n margin-left: -15px;\\n }\\n .card-deck .card {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 1 0 0%;\\n flex: 1 0 0%;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n margin-right: 15px;\\n margin-bottom: 0;\\n margin-left: 15px;\\n }\\n}\\n\\n.card-group {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n}\\n\\n.card-group > .card {\\n margin-bottom: 15px;\\n}\\n\\n@media (min-width: 576px) {\\n .card-group {\\n -ms-flex-flow: row wrap;\\n flex-flow: row wrap;\\n }\\n .card-group > .card {\\n -ms-flex: 1 0 0%;\\n flex: 1 0 0%;\\n margin-bottom: 0;\\n }\\n .card-group > .card + .card {\\n margin-left: 0;\\n border-left: 0;\\n }\\n .card-group > .card:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n }\\n .card-group > .card:not(:last-child) .card-img-top,\\n .card-group > .card:not(:last-child) .card-header {\\n border-top-right-radius: 0;\\n }\\n .card-group > .card:not(:last-child) .card-img-bottom,\\n .card-group > .card:not(:last-child) .card-footer {\\n border-bottom-right-radius: 0;\\n }\\n .card-group > .card:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n .card-group > .card:not(:first-child) .card-img-top,\\n .card-group > .card:not(:first-child) .card-header {\\n border-top-left-radius: 0;\\n }\\n .card-group > .card:not(:first-child) .card-img-bottom,\\n .card-group > .card:not(:first-child) .card-footer {\\n border-bottom-left-radius: 0;\\n }\\n}\\n\\n.card-columns .card {\\n margin-bottom: 0.75rem;\\n}\\n\\n@media (min-width: 576px) {\\n .card-columns {\\n -webkit-column-count: 3;\\n -moz-column-count: 3;\\n column-count: 3;\\n -webkit-column-gap: 1.25rem;\\n -moz-column-gap: 1.25rem;\\n column-gap: 1.25rem;\\n orphans: 1;\\n widows: 1;\\n }\\n .card-columns .card {\\n display: inline-block;\\n width: 100%;\\n }\\n}\\n\\n.accordion > .card {\\n overflow: hidden;\\n}\\n\\n.accordion > .card:not(:first-of-type) .card-header:first-child {\\n border-radius: 0;\\n}\\n\\n.accordion > .card:not(:first-of-type):not(:last-of-type) {\\n border-bottom: 0;\\n border-radius: 0;\\n}\\n\\n.accordion > .card:first-of-type {\\n border-bottom: 0;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.accordion > .card:last-of-type {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.accordion > .card .card-header {\\n margin-bottom: -1px;\\n}\\n\\n.breadcrumb {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n padding: 0.75rem 1rem;\\n margin-bottom: 1rem;\\n list-style: none;\\n background-color: #e9ecef;\\n border-radius: 0.25rem;\\n}\\n\\n.breadcrumb-item + .breadcrumb-item {\\n padding-left: 0.5rem;\\n}\\n\\n.breadcrumb-item + .breadcrumb-item::before {\\n display: inline-block;\\n padding-right: 0.5rem;\\n color: #6c757d;\\n content: \\\"/\\\";\\n}\\n\\n.breadcrumb-item + .breadcrumb-item:hover::before {\\n text-decoration: underline;\\n}\\n\\n.breadcrumb-item + .breadcrumb-item:hover::before {\\n text-decoration: none;\\n}\\n\\n.breadcrumb-item.active {\\n color: #6c757d;\\n}\\n\\n.pagination {\\n display: -ms-flexbox;\\n display: flex;\\n padding-left: 0;\\n list-style: none;\\n border-radius: 0.25rem;\\n}\\n\\n.page-link {\\n position: relative;\\n display: block;\\n padding: 0.5rem 0.75rem;\\n margin-left: -1px;\\n line-height: 1.25;\\n color: #007bff;\\n background-color: #fff;\\n border: 1px solid #dee2e6;\\n}\\n\\n.page-link:hover {\\n z-index: 2;\\n color: #0056b3;\\n text-decoration: none;\\n background-color: #e9ecef;\\n border-color: #dee2e6;\\n}\\n\\n.page-link:focus {\\n z-index: 2;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.page-item:first-child .page-link {\\n margin-left: 0;\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n}\\n\\n.page-item:last-child .page-link {\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n}\\n\\n.page-item.active .page-link {\\n z-index: 1;\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n\\n.page-item.disabled .page-link {\\n color: #6c757d;\\n pointer-events: none;\\n cursor: auto;\\n background-color: #fff;\\n border-color: #dee2e6;\\n}\\n\\n.pagination-lg .page-link {\\n padding: 0.75rem 1.5rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n}\\n\\n.pagination-lg .page-item:first-child .page-link {\\n border-top-left-radius: 0.3rem;\\n border-bottom-left-radius: 0.3rem;\\n}\\n\\n.pagination-lg .page-item:last-child .page-link {\\n border-top-right-radius: 0.3rem;\\n border-bottom-right-radius: 0.3rem;\\n}\\n\\n.pagination-sm .page-link {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n}\\n\\n.pagination-sm .page-item:first-child .page-link {\\n border-top-left-radius: 0.2rem;\\n border-bottom-left-radius: 0.2rem;\\n}\\n\\n.pagination-sm .page-item:last-child .page-link {\\n border-top-right-radius: 0.2rem;\\n border-bottom-right-radius: 0.2rem;\\n}\\n\\n.badge {\\n display: inline-block;\\n padding: 0.25em 0.4em;\\n font-size: 75%;\\n font-weight: 700;\\n line-height: 1;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: baseline;\\n border-radius: 0.25rem;\\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .badge {\\n transition: none;\\n }\\n}\\n\\na.badge:hover, a.badge:focus {\\n text-decoration: none;\\n}\\n\\n.badge:empty {\\n display: none;\\n}\\n\\n.btn .badge {\\n position: relative;\\n top: -1px;\\n}\\n\\n.badge-pill {\\n padding-right: 0.6em;\\n padding-left: 0.6em;\\n border-radius: 10rem;\\n}\\n\\n.badge-primary {\\n color: #fff;\\n background-color: #007bff;\\n}\\n\\na.badge-primary:hover, a.badge-primary:focus {\\n color: #fff;\\n background-color: #0062cc;\\n}\\n\\na.badge-primary:focus, a.badge-primary.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\\n}\\n\\n.badge-secondary {\\n color: #fff;\\n background-color: #6c757d;\\n}\\n\\na.badge-secondary:hover, a.badge-secondary:focus {\\n color: #fff;\\n background-color: #545b62;\\n}\\n\\na.badge-secondary:focus, a.badge-secondary.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\\n}\\n\\n.badge-success {\\n color: #fff;\\n background-color: #28a745;\\n}\\n\\na.badge-success:hover, a.badge-success:focus {\\n color: #fff;\\n background-color: #1e7e34;\\n}\\n\\na.badge-success:focus, a.badge-success.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\\n}\\n\\n.badge-info {\\n color: #fff;\\n background-color: #17a2b8;\\n}\\n\\na.badge-info:hover, a.badge-info:focus {\\n color: #fff;\\n background-color: #117a8b;\\n}\\n\\na.badge-info:focus, a.badge-info.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\\n}\\n\\n.badge-warning {\\n color: #212529;\\n background-color: #ffc107;\\n}\\n\\na.badge-warning:hover, a.badge-warning:focus {\\n color: #212529;\\n background-color: #d39e00;\\n}\\n\\na.badge-warning:focus, a.badge-warning.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\\n}\\n\\n.badge-danger {\\n color: #fff;\\n background-color: #dc3545;\\n}\\n\\na.badge-danger:hover, a.badge-danger:focus {\\n color: #fff;\\n background-color: #bd2130;\\n}\\n\\na.badge-danger:focus, a.badge-danger.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\\n}\\n\\n.badge-light {\\n color: #212529;\\n background-color: #f8f9fa;\\n}\\n\\na.badge-light:hover, a.badge-light:focus {\\n color: #212529;\\n background-color: #dae0e5;\\n}\\n\\na.badge-light:focus, a.badge-light.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\\n}\\n\\n.badge-dark {\\n color: #fff;\\n background-color: #343a40;\\n}\\n\\na.badge-dark:hover, a.badge-dark:focus {\\n color: #fff;\\n background-color: #1d2124;\\n}\\n\\na.badge-dark:focus, a.badge-dark.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\\n}\\n\\n.jumbotron {\\n padding: 2rem 1rem;\\n margin-bottom: 2rem;\\n background-color: #e9ecef;\\n border-radius: 0.3rem;\\n}\\n\\n@media (min-width: 576px) {\\n .jumbotron {\\n padding: 4rem 2rem;\\n }\\n}\\n\\n.jumbotron-fluid {\\n padding-right: 0;\\n padding-left: 0;\\n border-radius: 0;\\n}\\n\\n.alert {\\n position: relative;\\n padding: 0.75rem 1.25rem;\\n margin-bottom: 1rem;\\n border: 1px solid transparent;\\n border-radius: 0.25rem;\\n}\\n\\n.alert-heading {\\n color: inherit;\\n}\\n\\n.alert-link {\\n font-weight: 700;\\n}\\n\\n.alert-dismissible {\\n padding-right: 4rem;\\n}\\n\\n.alert-dismissible .close {\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 0.75rem 1.25rem;\\n color: inherit;\\n}\\n\\n.alert-primary {\\n color: #004085;\\n background-color: #cce5ff;\\n border-color: #b8daff;\\n}\\n\\n.alert-primary hr {\\n border-top-color: #9fcdff;\\n}\\n\\n.alert-primary .alert-link {\\n color: #002752;\\n}\\n\\n.alert-secondary {\\n color: #383d41;\\n background-color: #e2e3e5;\\n border-color: #d6d8db;\\n}\\n\\n.alert-secondary hr {\\n border-top-color: #c8cbcf;\\n}\\n\\n.alert-secondary .alert-link {\\n color: #202326;\\n}\\n\\n.alert-success {\\n color: #155724;\\n background-color: #d4edda;\\n border-color: #c3e6cb;\\n}\\n\\n.alert-success hr {\\n border-top-color: #b1dfbb;\\n}\\n\\n.alert-success .alert-link {\\n color: #0b2e13;\\n}\\n\\n.alert-info {\\n color: #0c5460;\\n background-color: #d1ecf1;\\n border-color: #bee5eb;\\n}\\n\\n.alert-info hr {\\n border-top-color: #abdde5;\\n}\\n\\n.alert-info .alert-link {\\n color: #062c33;\\n}\\n\\n.alert-warning {\\n color: #856404;\\n background-color: #fff3cd;\\n border-color: #ffeeba;\\n}\\n\\n.alert-warning hr {\\n border-top-color: #ffe8a1;\\n}\\n\\n.alert-warning .alert-link {\\n color: #533f03;\\n}\\n\\n.alert-danger {\\n color: #721c24;\\n background-color: #f8d7da;\\n border-color: #f5c6cb;\\n}\\n\\n.alert-danger hr {\\n border-top-color: #f1b0b7;\\n}\\n\\n.alert-danger .alert-link {\\n color: #491217;\\n}\\n\\n.alert-light {\\n color: #818182;\\n background-color: #fefefe;\\n border-color: #fdfdfe;\\n}\\n\\n.alert-light hr {\\n border-top-color: #ececf6;\\n}\\n\\n.alert-light .alert-link {\\n color: #686868;\\n}\\n\\n.alert-dark {\\n color: #1b1e21;\\n background-color: #d6d8d9;\\n border-color: #c6c8ca;\\n}\\n\\n.alert-dark hr {\\n border-top-color: #b9bbbe;\\n}\\n\\n.alert-dark .alert-link {\\n color: #040505;\\n}\\n\\n@-webkit-keyframes progress-bar-stripes {\\n from {\\n background-position: 1rem 0;\\n }\\n to {\\n background-position: 0 0;\\n }\\n}\\n\\n@keyframes progress-bar-stripes {\\n from {\\n background-position: 1rem 0;\\n }\\n to {\\n background-position: 0 0;\\n }\\n}\\n\\n.progress {\\n display: -ms-flexbox;\\n display: flex;\\n height: 1rem;\\n overflow: hidden;\\n font-size: 0.75rem;\\n background-color: #e9ecef;\\n border-radius: 0.25rem;\\n}\\n\\n.progress-bar {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -ms-flex-pack: center;\\n justify-content: center;\\n color: #fff;\\n text-align: center;\\n white-space: nowrap;\\n background-color: #007bff;\\n transition: width 0.6s ease;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .progress-bar {\\n transition: none;\\n }\\n}\\n\\n.progress-bar-striped {\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-size: 1rem 1rem;\\n}\\n\\n.progress-bar-animated {\\n -webkit-animation: progress-bar-stripes 1s linear infinite;\\n animation: progress-bar-stripes 1s linear infinite;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .progress-bar-animated {\\n -webkit-animation: none;\\n animation: none;\\n }\\n}\\n\\n.media {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: start;\\n align-items: flex-start;\\n}\\n\\n.media-body {\\n -ms-flex: 1;\\n flex: 1;\\n}\\n\\n.list-group {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n padding-left: 0;\\n margin-bottom: 0;\\n}\\n\\n.list-group-item-action {\\n width: 100%;\\n color: #495057;\\n text-align: inherit;\\n}\\n\\n.list-group-item-action:hover, .list-group-item-action:focus {\\n z-index: 1;\\n color: #495057;\\n text-decoration: none;\\n background-color: #f8f9fa;\\n}\\n\\n.list-group-item-action:active {\\n color: #212529;\\n background-color: #e9ecef;\\n}\\n\\n.list-group-item {\\n position: relative;\\n display: block;\\n padding: 0.75rem 1.25rem;\\n margin-bottom: -1px;\\n background-color: #fff;\\n border: 1px solid rgba(0, 0, 0, 0.125);\\n}\\n\\n.list-group-item:first-child {\\n border-top-left-radius: 0.25rem;\\n border-top-right-radius: 0.25rem;\\n}\\n\\n.list-group-item:last-child {\\n margin-bottom: 0;\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n}\\n\\n.list-group-item.disabled, .list-group-item:disabled {\\n color: #6c757d;\\n pointer-events: none;\\n background-color: #fff;\\n}\\n\\n.list-group-item.active {\\n z-index: 2;\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n\\n.list-group-horizontal {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n}\\n\\n.list-group-horizontal .list-group-item {\\n margin-right: -1px;\\n margin-bottom: 0;\\n}\\n\\n.list-group-horizontal .list-group-item:first-child {\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0;\\n}\\n\\n.list-group-horizontal .list-group-item:last-child {\\n margin-right: 0;\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0;\\n}\\n\\n@media (min-width: 576px) {\\n .list-group-horizontal-sm {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n }\\n .list-group-horizontal-sm .list-group-item {\\n margin-right: -1px;\\n margin-bottom: 0;\\n }\\n .list-group-horizontal-sm .list-group-item:first-child {\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0;\\n }\\n .list-group-horizontal-sm .list-group-item:last-child {\\n margin-right: 0;\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .list-group-horizontal-md {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n }\\n .list-group-horizontal-md .list-group-item {\\n margin-right: -1px;\\n margin-bottom: 0;\\n }\\n .list-group-horizontal-md .list-group-item:first-child {\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0;\\n }\\n .list-group-horizontal-md .list-group-item:last-child {\\n margin-right: 0;\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .list-group-horizontal-lg {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n }\\n .list-group-horizontal-lg .list-group-item {\\n margin-right: -1px;\\n margin-bottom: 0;\\n }\\n .list-group-horizontal-lg .list-group-item:first-child {\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0;\\n }\\n .list-group-horizontal-lg .list-group-item:last-child {\\n margin-right: 0;\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .list-group-horizontal-xl {\\n -ms-flex-direction: row;\\n flex-direction: row;\\n }\\n .list-group-horizontal-xl .list-group-item {\\n margin-right: -1px;\\n margin-bottom: 0;\\n }\\n .list-group-horizontal-xl .list-group-item:first-child {\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0;\\n }\\n .list-group-horizontal-xl .list-group-item:last-child {\\n margin-right: 0;\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0;\\n }\\n}\\n\\n.list-group-flush .list-group-item {\\n border-right: 0;\\n border-left: 0;\\n border-radius: 0;\\n}\\n\\n.list-group-flush .list-group-item:last-child {\\n margin-bottom: -1px;\\n}\\n\\n.list-group-flush:first-child .list-group-item:first-child {\\n border-top: 0;\\n}\\n\\n.list-group-flush:last-child .list-group-item:last-child {\\n margin-bottom: 0;\\n border-bottom: 0;\\n}\\n\\n.list-group-item-primary {\\n color: #004085;\\n background-color: #b8daff;\\n}\\n\\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\\n color: #004085;\\n background-color: #9fcdff;\\n}\\n\\n.list-group-item-primary.list-group-item-action.active {\\n color: #fff;\\n background-color: #004085;\\n border-color: #004085;\\n}\\n\\n.list-group-item-secondary {\\n color: #383d41;\\n background-color: #d6d8db;\\n}\\n\\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\\n color: #383d41;\\n background-color: #c8cbcf;\\n}\\n\\n.list-group-item-secondary.list-group-item-action.active {\\n color: #fff;\\n background-color: #383d41;\\n border-color: #383d41;\\n}\\n\\n.list-group-item-success {\\n color: #155724;\\n background-color: #c3e6cb;\\n}\\n\\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\\n color: #155724;\\n background-color: #b1dfbb;\\n}\\n\\n.list-group-item-success.list-group-item-action.active {\\n color: #fff;\\n background-color: #155724;\\n border-color: #155724;\\n}\\n\\n.list-group-item-info {\\n color: #0c5460;\\n background-color: #bee5eb;\\n}\\n\\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\\n color: #0c5460;\\n background-color: #abdde5;\\n}\\n\\n.list-group-item-info.list-group-item-action.active {\\n color: #fff;\\n background-color: #0c5460;\\n border-color: #0c5460;\\n}\\n\\n.list-group-item-warning {\\n color: #856404;\\n background-color: #ffeeba;\\n}\\n\\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\\n color: #856404;\\n background-color: #ffe8a1;\\n}\\n\\n.list-group-item-warning.list-group-item-action.active {\\n color: #fff;\\n background-color: #856404;\\n border-color: #856404;\\n}\\n\\n.list-group-item-danger {\\n color: #721c24;\\n background-color: #f5c6cb;\\n}\\n\\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\\n color: #721c24;\\n background-color: #f1b0b7;\\n}\\n\\n.list-group-item-danger.list-group-item-action.active {\\n color: #fff;\\n background-color: #721c24;\\n border-color: #721c24;\\n}\\n\\n.list-group-item-light {\\n color: #818182;\\n background-color: #fdfdfe;\\n}\\n\\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\\n color: #818182;\\n background-color: #ececf6;\\n}\\n\\n.list-group-item-light.list-group-item-action.active {\\n color: #fff;\\n background-color: #818182;\\n border-color: #818182;\\n}\\n\\n.list-group-item-dark {\\n color: #1b1e21;\\n background-color: #c6c8ca;\\n}\\n\\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\\n color: #1b1e21;\\n background-color: #b9bbbe;\\n}\\n\\n.list-group-item-dark.list-group-item-action.active {\\n color: #fff;\\n background-color: #1b1e21;\\n border-color: #1b1e21;\\n}\\n\\n.close {\\n float: right;\\n font-size: 1.5rem;\\n font-weight: 700;\\n line-height: 1;\\n color: #000;\\n text-shadow: 0 1px 0 #fff;\\n opacity: .5;\\n}\\n\\n.close:hover {\\n color: #000;\\n text-decoration: none;\\n}\\n\\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\\n opacity: .75;\\n}\\n\\nbutton.close {\\n padding: 0;\\n background-color: transparent;\\n border: 0;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n\\na.close.disabled {\\n pointer-events: none;\\n}\\n\\n.toast {\\n max-width: 350px;\\n overflow: hidden;\\n font-size: 0.875rem;\\n background-color: rgba(255, 255, 255, 0.85);\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.1);\\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\\n -webkit-backdrop-filter: blur(10px);\\n backdrop-filter: blur(10px);\\n opacity: 0;\\n border-radius: 0.25rem;\\n}\\n\\n.toast:not(:last-child) {\\n margin-bottom: 0.75rem;\\n}\\n\\n.toast.showing {\\n opacity: 1;\\n}\\n\\n.toast.show {\\n display: block;\\n opacity: 1;\\n}\\n\\n.toast.hide {\\n display: none;\\n}\\n\\n.toast-header {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: center;\\n align-items: center;\\n padding: 0.25rem 0.75rem;\\n color: #6c757d;\\n background-color: rgba(255, 255, 255, 0.85);\\n background-clip: padding-box;\\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\\n}\\n\\n.toast-body {\\n padding: 0.75rem;\\n}\\n\\n.modal-open {\\n overflow: hidden;\\n}\\n\\n.modal-open .modal {\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.modal {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 1050;\\n display: none;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n outline: 0;\\n}\\n\\n.modal-dialog {\\n position: relative;\\n width: auto;\\n margin: 0.5rem;\\n pointer-events: none;\\n}\\n\\n.modal.fade .modal-dialog {\\n transition: -webkit-transform 0.3s ease-out;\\n transition: transform 0.3s ease-out;\\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\\n -webkit-transform: translate(0, -50px);\\n transform: translate(0, -50px);\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .modal.fade .modal-dialog {\\n transition: none;\\n }\\n}\\n\\n.modal.show .modal-dialog {\\n -webkit-transform: none;\\n transform: none;\\n}\\n\\n.modal-dialog-scrollable {\\n display: -ms-flexbox;\\n display: flex;\\n max-height: calc(100% - 1rem);\\n}\\n\\n.modal-dialog-scrollable .modal-content {\\n max-height: calc(100vh - 1rem);\\n overflow: hidden;\\n}\\n\\n.modal-dialog-scrollable .modal-header,\\n.modal-dialog-scrollable .modal-footer {\\n -ms-flex-negative: 0;\\n flex-shrink: 0;\\n}\\n\\n.modal-dialog-scrollable .modal-body {\\n overflow-y: auto;\\n}\\n\\n.modal-dialog-centered {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: center;\\n align-items: center;\\n min-height: calc(100% - 1rem);\\n}\\n\\n.modal-dialog-centered::before {\\n display: block;\\n height: calc(100vh - 1rem);\\n content: \\\"\\\";\\n}\\n\\n.modal-dialog-centered.modal-dialog-scrollable {\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -ms-flex-pack: center;\\n justify-content: center;\\n height: 100%;\\n}\\n\\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\\n max-height: none;\\n}\\n\\n.modal-dialog-centered.modal-dialog-scrollable::before {\\n content: none;\\n}\\n\\n.modal-content {\\n position: relative;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n width: 100%;\\n pointer-events: auto;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 0.3rem;\\n outline: 0;\\n}\\n\\n.modal-backdrop {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 1040;\\n width: 100vw;\\n height: 100vh;\\n background-color: #000;\\n}\\n\\n.modal-backdrop.fade {\\n opacity: 0;\\n}\\n\\n.modal-backdrop.show {\\n opacity: 0.5;\\n}\\n\\n.modal-header {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: start;\\n align-items: flex-start;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n padding: 1rem 1rem;\\n border-bottom: 1px solid #dee2e6;\\n border-top-left-radius: 0.3rem;\\n border-top-right-radius: 0.3rem;\\n}\\n\\n.modal-header .close {\\n padding: 1rem 1rem;\\n margin: -1rem -1rem -1rem auto;\\n}\\n\\n.modal-title {\\n margin-bottom: 0;\\n line-height: 1.5;\\n}\\n\\n.modal-body {\\n position: relative;\\n -ms-flex: 1 1 auto;\\n flex: 1 1 auto;\\n padding: 1rem;\\n}\\n\\n.modal-footer {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-pack: end;\\n justify-content: flex-end;\\n padding: 1rem;\\n border-top: 1px solid #dee2e6;\\n border-bottom-right-radius: 0.3rem;\\n border-bottom-left-radius: 0.3rem;\\n}\\n\\n.modal-footer > :not(:first-child) {\\n margin-left: .25rem;\\n}\\n\\n.modal-footer > :not(:last-child) {\\n margin-right: .25rem;\\n}\\n\\n.modal-scrollbar-measure {\\n position: absolute;\\n top: -9999px;\\n width: 50px;\\n height: 50px;\\n overflow: scroll;\\n}\\n\\n@media (min-width: 576px) {\\n .modal-dialog {\\n max-width: 500px;\\n margin: 1.75rem auto;\\n }\\n .modal-dialog-scrollable {\\n max-height: calc(100% - 3.5rem);\\n }\\n .modal-dialog-scrollable .modal-content {\\n max-height: calc(100vh - 3.5rem);\\n }\\n .modal-dialog-centered {\\n min-height: calc(100% - 3.5rem);\\n }\\n .modal-dialog-centered::before {\\n height: calc(100vh - 3.5rem);\\n }\\n .modal-sm {\\n max-width: 300px;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .modal-lg,\\n .modal-xl {\\n max-width: 800px;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .modal-xl {\\n max-width: 1140px;\\n }\\n}\\n\\n.tooltip {\\n position: absolute;\\n z-index: 1070;\\n display: block;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n font-style: normal;\\n font-weight: 400;\\n line-height: 1.5;\\n text-align: left;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n word-spacing: normal;\\n white-space: normal;\\n line-break: auto;\\n font-size: 0.875rem;\\n word-wrap: break-word;\\n opacity: 0;\\n}\\n\\n.tooltip.show {\\n opacity: 0.9;\\n}\\n\\n.tooltip .arrow {\\n position: absolute;\\n display: block;\\n width: 0.8rem;\\n height: 0.4rem;\\n}\\n\\n.tooltip .arrow::before {\\n position: absolute;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid;\\n}\\n\\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\\\"top\\\"] {\\n padding: 0.4rem 0;\\n}\\n\\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow {\\n bottom: 0;\\n}\\n\\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n top: 0;\\n border-width: 0.4rem 0.4rem 0;\\n border-top-color: #000;\\n}\\n\\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\\\"right\\\"] {\\n padding: 0 0.4rem;\\n}\\n\\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow {\\n left: 0;\\n width: 0.4rem;\\n height: 0.8rem;\\n}\\n\\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n right: 0;\\n border-width: 0.4rem 0.4rem 0.4rem 0;\\n border-right-color: #000;\\n}\\n\\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\\\"bottom\\\"] {\\n padding: 0.4rem 0;\\n}\\n\\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow {\\n top: 0;\\n}\\n\\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n bottom: 0;\\n border-width: 0 0.4rem 0.4rem;\\n border-bottom-color: #000;\\n}\\n\\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\\\"left\\\"] {\\n padding: 0 0.4rem;\\n}\\n\\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow {\\n right: 0;\\n width: 0.4rem;\\n height: 0.8rem;\\n}\\n\\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n left: 0;\\n border-width: 0.4rem 0 0.4rem 0.4rem;\\n border-left-color: #000;\\n}\\n\\n.tooltip-inner {\\n max-width: 200px;\\n padding: 0.25rem 0.5rem;\\n color: #fff;\\n text-align: center;\\n background-color: #000;\\n border-radius: 0.25rem;\\n}\\n\\n.popover {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 1060;\\n display: block;\\n max-width: 276px;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n font-style: normal;\\n font-weight: 400;\\n line-height: 1.5;\\n text-align: left;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n word-spacing: normal;\\n white-space: normal;\\n line-break: auto;\\n font-size: 0.875rem;\\n word-wrap: break-word;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 0.3rem;\\n}\\n\\n.popover .arrow {\\n position: absolute;\\n display: block;\\n width: 1rem;\\n height: 0.5rem;\\n margin: 0 0.3rem;\\n}\\n\\n.popover .arrow::before, .popover .arrow::after {\\n position: absolute;\\n display: block;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid;\\n}\\n\\n.bs-popover-top, .bs-popover-auto[x-placement^=\\\"top\\\"] {\\n margin-bottom: 0.5rem;\\n}\\n\\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow {\\n bottom: calc((0.5rem + 1px) * -1);\\n}\\n\\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n bottom: 0;\\n border-width: 0.5rem 0.5rem 0;\\n border-top-color: rgba(0, 0, 0, 0.25);\\n}\\n\\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n bottom: 1px;\\n border-width: 0.5rem 0.5rem 0;\\n border-top-color: #fff;\\n}\\n\\n.bs-popover-right, .bs-popover-auto[x-placement^=\\\"right\\\"] {\\n margin-left: 0.5rem;\\n}\\n\\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow {\\n left: calc((0.5rem + 1px) * -1);\\n width: 0.5rem;\\n height: 1rem;\\n margin: 0.3rem 0;\\n}\\n\\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::before {\\n left: 0;\\n border-width: 0.5rem 0.5rem 0.5rem 0;\\n border-right-color: rgba(0, 0, 0, 0.25);\\n}\\n\\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n left: 1px;\\n border-width: 0.5rem 0.5rem 0.5rem 0;\\n border-right-color: #fff;\\n}\\n\\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\\\"bottom\\\"] {\\n margin-top: 0.5rem;\\n}\\n\\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow {\\n top: calc((0.5rem + 1px) * -1);\\n}\\n\\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::before {\\n top: 0;\\n border-width: 0 0.5rem 0.5rem 0.5rem;\\n border-bottom-color: rgba(0, 0, 0, 0.25);\\n}\\n\\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n top: 1px;\\n border-width: 0 0.5rem 0.5rem 0.5rem;\\n border-bottom-color: #fff;\\n}\\n\\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\\\"bottom\\\"] .popover-header::before {\\n position: absolute;\\n top: 0;\\n left: 50%;\\n display: block;\\n width: 1rem;\\n margin-left: -0.5rem;\\n content: \\\"\\\";\\n border-bottom: 1px solid #f7f7f7;\\n}\\n\\n.bs-popover-left, .bs-popover-auto[x-placement^=\\\"left\\\"] {\\n margin-right: 0.5rem;\\n}\\n\\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow {\\n right: calc((0.5rem + 1px) * -1);\\n width: 0.5rem;\\n height: 1rem;\\n margin: 0.3rem 0;\\n}\\n\\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::before {\\n right: 0;\\n border-width: 0.5rem 0 0.5rem 0.5rem;\\n border-left-color: rgba(0, 0, 0, 0.25);\\n}\\n\\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n right: 1px;\\n border-width: 0.5rem 0 0.5rem 0.5rem;\\n border-left-color: #fff;\\n}\\n\\n.popover-header {\\n padding: 0.5rem 0.75rem;\\n margin-bottom: 0;\\n font-size: 1rem;\\n background-color: #f7f7f7;\\n border-bottom: 1px solid #ebebeb;\\n border-top-left-radius: calc(0.3rem - 1px);\\n border-top-right-radius: calc(0.3rem - 1px);\\n}\\n\\n.popover-header:empty {\\n display: none;\\n}\\n\\n.popover-body {\\n padding: 0.5rem 0.75rem;\\n color: #212529;\\n}\\n\\n.carousel {\\n position: relative;\\n}\\n\\n.carousel.pointer-event {\\n -ms-touch-action: pan-y;\\n touch-action: pan-y;\\n}\\n\\n.carousel-inner {\\n position: relative;\\n width: 100%;\\n overflow: hidden;\\n}\\n\\n.carousel-inner::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n}\\n\\n.carousel-item {\\n position: relative;\\n display: none;\\n float: left;\\n width: 100%;\\n margin-right: -100%;\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n transition: -webkit-transform 0.6s ease-in-out;\\n transition: transform 0.6s ease-in-out;\\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .carousel-item {\\n transition: none;\\n }\\n}\\n\\n.carousel-item.active,\\n.carousel-item-next,\\n.carousel-item-prev {\\n display: block;\\n}\\n\\n.carousel-item-next:not(.carousel-item-left),\\n.active.carousel-item-right {\\n -webkit-transform: translateX(100%);\\n transform: translateX(100%);\\n}\\n\\n.carousel-item-prev:not(.carousel-item-right),\\n.active.carousel-item-left {\\n -webkit-transform: translateX(-100%);\\n transform: translateX(-100%);\\n}\\n\\n.carousel-fade .carousel-item {\\n opacity: 0;\\n transition-property: opacity;\\n -webkit-transform: none;\\n transform: none;\\n}\\n\\n.carousel-fade .carousel-item.active,\\n.carousel-fade .carousel-item-next.carousel-item-left,\\n.carousel-fade .carousel-item-prev.carousel-item-right {\\n z-index: 1;\\n opacity: 1;\\n}\\n\\n.carousel-fade .active.carousel-item-left,\\n.carousel-fade .active.carousel-item-right {\\n z-index: 0;\\n opacity: 0;\\n transition: 0s 0.6s opacity;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .carousel-fade .active.carousel-item-left,\\n .carousel-fade .active.carousel-item-right {\\n transition: none;\\n }\\n}\\n\\n.carousel-control-prev,\\n.carousel-control-next {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n z-index: 1;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n width: 15%;\\n color: #fff;\\n text-align: center;\\n opacity: 0.5;\\n transition: opacity 0.15s ease;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .carousel-control-prev,\\n .carousel-control-next {\\n transition: none;\\n }\\n}\\n\\n.carousel-control-prev:hover, .carousel-control-prev:focus,\\n.carousel-control-next:hover,\\n.carousel-control-next:focus {\\n color: #fff;\\n text-decoration: none;\\n outline: 0;\\n opacity: 0.9;\\n}\\n\\n.carousel-control-prev {\\n left: 0;\\n}\\n\\n.carousel-control-next {\\n right: 0;\\n}\\n\\n.carousel-control-prev-icon,\\n.carousel-control-next-icon {\\n display: inline-block;\\n width: 20px;\\n height: 20px;\\n background: no-repeat 50% / 100% 100%;\\n}\\n\\n.carousel-control-prev-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.carousel-control-next-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.carousel-indicators {\\n position: absolute;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 15;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-pack: center;\\n justify-content: center;\\n padding-left: 0;\\n margin-right: 15%;\\n margin-left: 15%;\\n list-style: none;\\n}\\n\\n.carousel-indicators li {\\n box-sizing: content-box;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n width: 30px;\\n height: 3px;\\n margin-right: 3px;\\n margin-left: 3px;\\n text-indent: -999px;\\n cursor: pointer;\\n background-color: #fff;\\n background-clip: padding-box;\\n border-top: 10px solid transparent;\\n border-bottom: 10px solid transparent;\\n opacity: .5;\\n transition: opacity 0.6s ease;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .carousel-indicators li {\\n transition: none;\\n }\\n}\\n\\n.carousel-indicators .active {\\n opacity: 1;\\n}\\n\\n.carousel-caption {\\n position: absolute;\\n right: 15%;\\n bottom: 20px;\\n left: 15%;\\n z-index: 10;\\n padding-top: 20px;\\n padding-bottom: 20px;\\n color: #fff;\\n text-align: center;\\n}\\n\\n@-webkit-keyframes spinner-border {\\n to {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes spinner-border {\\n to {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n.spinner-border {\\n display: inline-block;\\n width: 2rem;\\n height: 2rem;\\n vertical-align: text-bottom;\\n border: 0.25em solid currentColor;\\n border-right-color: transparent;\\n border-radius: 50%;\\n -webkit-animation: spinner-border .75s linear infinite;\\n animation: spinner-border .75s linear infinite;\\n}\\n\\n.spinner-border-sm {\\n width: 1rem;\\n height: 1rem;\\n border-width: 0.2em;\\n}\\n\\n@-webkit-keyframes spinner-grow {\\n 0% {\\n -webkit-transform: scale(0);\\n transform: scale(0);\\n }\\n 50% {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes spinner-grow {\\n 0% {\\n -webkit-transform: scale(0);\\n transform: scale(0);\\n }\\n 50% {\\n opacity: 1;\\n }\\n}\\n\\n.spinner-grow {\\n display: inline-block;\\n width: 2rem;\\n height: 2rem;\\n vertical-align: text-bottom;\\n background-color: currentColor;\\n border-radius: 50%;\\n opacity: 0;\\n -webkit-animation: spinner-grow .75s linear infinite;\\n animation: spinner-grow .75s linear infinite;\\n}\\n\\n.spinner-grow-sm {\\n width: 1rem;\\n height: 1rem;\\n}\\n\\n.align-baseline {\\n vertical-align: baseline !important;\\n}\\n\\n.align-top {\\n vertical-align: top !important;\\n}\\n\\n.align-middle {\\n vertical-align: middle !important;\\n}\\n\\n.align-bottom {\\n vertical-align: bottom !important;\\n}\\n\\n.align-text-bottom {\\n vertical-align: text-bottom !important;\\n}\\n\\n.align-text-top {\\n vertical-align: text-top !important;\\n}\\n\\n.bg-primary {\\n background-color: #007bff !important;\\n}\\n\\na.bg-primary:hover, a.bg-primary:focus,\\nbutton.bg-primary:hover,\\nbutton.bg-primary:focus {\\n background-color: #0062cc !important;\\n}\\n\\n.bg-secondary {\\n background-color: #6c757d !important;\\n}\\n\\na.bg-secondary:hover, a.bg-secondary:focus,\\nbutton.bg-secondary:hover,\\nbutton.bg-secondary:focus {\\n background-color: #545b62 !important;\\n}\\n\\n.bg-success {\\n background-color: #28a745 !important;\\n}\\n\\na.bg-success:hover, a.bg-success:focus,\\nbutton.bg-success:hover,\\nbutton.bg-success:focus {\\n background-color: #1e7e34 !important;\\n}\\n\\n.bg-info {\\n background-color: #17a2b8 !important;\\n}\\n\\na.bg-info:hover, a.bg-info:focus,\\nbutton.bg-info:hover,\\nbutton.bg-info:focus {\\n background-color: #117a8b !important;\\n}\\n\\n.bg-warning {\\n background-color: #ffc107 !important;\\n}\\n\\na.bg-warning:hover, a.bg-warning:focus,\\nbutton.bg-warning:hover,\\nbutton.bg-warning:focus {\\n background-color: #d39e00 !important;\\n}\\n\\n.bg-danger {\\n background-color: #dc3545 !important;\\n}\\n\\na.bg-danger:hover, a.bg-danger:focus,\\nbutton.bg-danger:hover,\\nbutton.bg-danger:focus {\\n background-color: #bd2130 !important;\\n}\\n\\n.bg-light {\\n background-color: #f8f9fa !important;\\n}\\n\\na.bg-light:hover, a.bg-light:focus,\\nbutton.bg-light:hover,\\nbutton.bg-light:focus {\\n background-color: #dae0e5 !important;\\n}\\n\\n.bg-dark {\\n background-color: #343a40 !important;\\n}\\n\\na.bg-dark:hover, a.bg-dark:focus,\\nbutton.bg-dark:hover,\\nbutton.bg-dark:focus {\\n background-color: #1d2124 !important;\\n}\\n\\n.bg-white {\\n background-color: #fff !important;\\n}\\n\\n.bg-transparent {\\n background-color: transparent !important;\\n}\\n\\n.border {\\n border: 1px solid #dee2e6 !important;\\n}\\n\\n.border-top {\\n border-top: 1px solid #dee2e6 !important;\\n}\\n\\n.border-right {\\n border-right: 1px solid #dee2e6 !important;\\n}\\n\\n.border-bottom {\\n border-bottom: 1px solid #dee2e6 !important;\\n}\\n\\n.border-left {\\n border-left: 1px solid #dee2e6 !important;\\n}\\n\\n.border-0 {\\n border: 0 !important;\\n}\\n\\n.border-top-0 {\\n border-top: 0 !important;\\n}\\n\\n.border-right-0 {\\n border-right: 0 !important;\\n}\\n\\n.border-bottom-0 {\\n border-bottom: 0 !important;\\n}\\n\\n.border-left-0 {\\n border-left: 0 !important;\\n}\\n\\n.border-primary {\\n border-color: #007bff !important;\\n}\\n\\n.border-secondary {\\n border-color: #6c757d !important;\\n}\\n\\n.border-success {\\n border-color: #28a745 !important;\\n}\\n\\n.border-info {\\n border-color: #17a2b8 !important;\\n}\\n\\n.border-warning {\\n border-color: #ffc107 !important;\\n}\\n\\n.border-danger {\\n border-color: #dc3545 !important;\\n}\\n\\n.border-light {\\n border-color: #f8f9fa !important;\\n}\\n\\n.border-dark {\\n border-color: #343a40 !important;\\n}\\n\\n.border-white {\\n border-color: #fff !important;\\n}\\n\\n.rounded-sm {\\n border-radius: 0.2rem !important;\\n}\\n\\n.rounded {\\n border-radius: 0.25rem !important;\\n}\\n\\n.rounded-top {\\n border-top-left-radius: 0.25rem !important;\\n border-top-right-radius: 0.25rem !important;\\n}\\n\\n.rounded-right {\\n border-top-right-radius: 0.25rem !important;\\n border-bottom-right-radius: 0.25rem !important;\\n}\\n\\n.rounded-bottom {\\n border-bottom-right-radius: 0.25rem !important;\\n border-bottom-left-radius: 0.25rem !important;\\n}\\n\\n.rounded-left {\\n border-top-left-radius: 0.25rem !important;\\n border-bottom-left-radius: 0.25rem !important;\\n}\\n\\n.rounded-lg {\\n border-radius: 0.3rem !important;\\n}\\n\\n.rounded-circle {\\n border-radius: 50% !important;\\n}\\n\\n.rounded-pill {\\n border-radius: 50rem !important;\\n}\\n\\n.rounded-0 {\\n border-radius: 0 !important;\\n}\\n\\n.clearfix::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n}\\n\\n.d-none {\\n display: none !important;\\n}\\n\\n.d-inline {\\n display: inline !important;\\n}\\n\\n.d-inline-block {\\n display: inline-block !important;\\n}\\n\\n.d-block {\\n display: block !important;\\n}\\n\\n.d-table {\\n display: table !important;\\n}\\n\\n.d-table-row {\\n display: table-row !important;\\n}\\n\\n.d-table-cell {\\n display: table-cell !important;\\n}\\n\\n.d-flex {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n}\\n\\n.d-inline-flex {\\n display: -ms-inline-flexbox !important;\\n display: inline-flex !important;\\n}\\n\\n@media (min-width: 576px) {\\n .d-sm-none {\\n display: none !important;\\n }\\n .d-sm-inline {\\n display: inline !important;\\n }\\n .d-sm-inline-block {\\n display: inline-block !important;\\n }\\n .d-sm-block {\\n display: block !important;\\n }\\n .d-sm-table {\\n display: table !important;\\n }\\n .d-sm-table-row {\\n display: table-row !important;\\n }\\n .d-sm-table-cell {\\n display: table-cell !important;\\n }\\n .d-sm-flex {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n }\\n .d-sm-inline-flex {\\n display: -ms-inline-flexbox !important;\\n display: inline-flex !important;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .d-md-none {\\n display: none !important;\\n }\\n .d-md-inline {\\n display: inline !important;\\n }\\n .d-md-inline-block {\\n display: inline-block !important;\\n }\\n .d-md-block {\\n display: block !important;\\n }\\n .d-md-table {\\n display: table !important;\\n }\\n .d-md-table-row {\\n display: table-row !important;\\n }\\n .d-md-table-cell {\\n display: table-cell !important;\\n }\\n .d-md-flex {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n }\\n .d-md-inline-flex {\\n display: -ms-inline-flexbox !important;\\n display: inline-flex !important;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .d-lg-none {\\n display: none !important;\\n }\\n .d-lg-inline {\\n display: inline !important;\\n }\\n .d-lg-inline-block {\\n display: inline-block !important;\\n }\\n .d-lg-block {\\n display: block !important;\\n }\\n .d-lg-table {\\n display: table !important;\\n }\\n .d-lg-table-row {\\n display: table-row !important;\\n }\\n .d-lg-table-cell {\\n display: table-cell !important;\\n }\\n .d-lg-flex {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n }\\n .d-lg-inline-flex {\\n display: -ms-inline-flexbox !important;\\n display: inline-flex !important;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .d-xl-none {\\n display: none !important;\\n }\\n .d-xl-inline {\\n display: inline !important;\\n }\\n .d-xl-inline-block {\\n display: inline-block !important;\\n }\\n .d-xl-block {\\n display: block !important;\\n }\\n .d-xl-table {\\n display: table !important;\\n }\\n .d-xl-table-row {\\n display: table-row !important;\\n }\\n .d-xl-table-cell {\\n display: table-cell !important;\\n }\\n .d-xl-flex {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n }\\n .d-xl-inline-flex {\\n display: -ms-inline-flexbox !important;\\n display: inline-flex !important;\\n }\\n}\\n\\n@media print {\\n .d-print-none {\\n display: none !important;\\n }\\n .d-print-inline {\\n display: inline !important;\\n }\\n .d-print-inline-block {\\n display: inline-block !important;\\n }\\n .d-print-block {\\n display: block !important;\\n }\\n .d-print-table {\\n display: table !important;\\n }\\n .d-print-table-row {\\n display: table-row !important;\\n }\\n .d-print-table-cell {\\n display: table-cell !important;\\n }\\n .d-print-flex {\\n display: -ms-flexbox !important;\\n display: flex !important;\\n }\\n .d-print-inline-flex {\\n display: -ms-inline-flexbox !important;\\n display: inline-flex !important;\\n }\\n}\\n\\n.embed-responsive {\\n position: relative;\\n display: block;\\n width: 100%;\\n padding: 0;\\n overflow: hidden;\\n}\\n\\n.embed-responsive::before {\\n display: block;\\n content: \\\"\\\";\\n}\\n\\n.embed-responsive .embed-responsive-item,\\n.embed-responsive iframe,\\n.embed-responsive embed,\\n.embed-responsive object,\\n.embed-responsive video {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: 0;\\n}\\n\\n.embed-responsive-21by9::before {\\n padding-top: 42.857143%;\\n}\\n\\n.embed-responsive-16by9::before {\\n padding-top: 56.25%;\\n}\\n\\n.embed-responsive-4by3::before {\\n padding-top: 75%;\\n}\\n\\n.embed-responsive-1by1::before {\\n padding-top: 100%;\\n}\\n\\n.flex-row {\\n -ms-flex-direction: row !important;\\n flex-direction: row !important;\\n}\\n\\n.flex-column {\\n -ms-flex-direction: column !important;\\n flex-direction: column !important;\\n}\\n\\n.flex-row-reverse {\\n -ms-flex-direction: row-reverse !important;\\n flex-direction: row-reverse !important;\\n}\\n\\n.flex-column-reverse {\\n -ms-flex-direction: column-reverse !important;\\n flex-direction: column-reverse !important;\\n}\\n\\n.flex-wrap {\\n -ms-flex-wrap: wrap !important;\\n flex-wrap: wrap !important;\\n}\\n\\n.flex-nowrap {\\n -ms-flex-wrap: nowrap !important;\\n flex-wrap: nowrap !important;\\n}\\n\\n.flex-wrap-reverse {\\n -ms-flex-wrap: wrap-reverse !important;\\n flex-wrap: wrap-reverse !important;\\n}\\n\\n.flex-fill {\\n -ms-flex: 1 1 auto !important;\\n flex: 1 1 auto !important;\\n}\\n\\n.flex-grow-0 {\\n -ms-flex-positive: 0 !important;\\n flex-grow: 0 !important;\\n}\\n\\n.flex-grow-1 {\\n -ms-flex-positive: 1 !important;\\n flex-grow: 1 !important;\\n}\\n\\n.flex-shrink-0 {\\n -ms-flex-negative: 0 !important;\\n flex-shrink: 0 !important;\\n}\\n\\n.flex-shrink-1 {\\n -ms-flex-negative: 1 !important;\\n flex-shrink: 1 !important;\\n}\\n\\n.justify-content-start {\\n -ms-flex-pack: start !important;\\n justify-content: flex-start !important;\\n}\\n\\n.justify-content-end {\\n -ms-flex-pack: end !important;\\n justify-content: flex-end !important;\\n}\\n\\n.justify-content-center {\\n -ms-flex-pack: center !important;\\n justify-content: center !important;\\n}\\n\\n.justify-content-between {\\n -ms-flex-pack: justify !important;\\n justify-content: space-between !important;\\n}\\n\\n.justify-content-around {\\n -ms-flex-pack: distribute !important;\\n justify-content: space-around !important;\\n}\\n\\n.align-items-start {\\n -ms-flex-align: start !important;\\n align-items: flex-start !important;\\n}\\n\\n.align-items-end {\\n -ms-flex-align: end !important;\\n align-items: flex-end !important;\\n}\\n\\n.align-items-center {\\n -ms-flex-align: center !important;\\n align-items: center !important;\\n}\\n\\n.align-items-baseline {\\n -ms-flex-align: baseline !important;\\n align-items: baseline !important;\\n}\\n\\n.align-items-stretch {\\n -ms-flex-align: stretch !important;\\n align-items: stretch !important;\\n}\\n\\n.align-content-start {\\n -ms-flex-line-pack: start !important;\\n align-content: flex-start !important;\\n}\\n\\n.align-content-end {\\n -ms-flex-line-pack: end !important;\\n align-content: flex-end !important;\\n}\\n\\n.align-content-center {\\n -ms-flex-line-pack: center !important;\\n align-content: center !important;\\n}\\n\\n.align-content-between {\\n -ms-flex-line-pack: justify !important;\\n align-content: space-between !important;\\n}\\n\\n.align-content-around {\\n -ms-flex-line-pack: distribute !important;\\n align-content: space-around !important;\\n}\\n\\n.align-content-stretch {\\n -ms-flex-line-pack: stretch !important;\\n align-content: stretch !important;\\n}\\n\\n.align-self-auto {\\n -ms-flex-item-align: auto !important;\\n align-self: auto !important;\\n}\\n\\n.align-self-start {\\n -ms-flex-item-align: start !important;\\n align-self: flex-start !important;\\n}\\n\\n.align-self-end {\\n -ms-flex-item-align: end !important;\\n align-self: flex-end !important;\\n}\\n\\n.align-self-center {\\n -ms-flex-item-align: center !important;\\n align-self: center !important;\\n}\\n\\n.align-self-baseline {\\n -ms-flex-item-align: baseline !important;\\n align-self: baseline !important;\\n}\\n\\n.align-self-stretch {\\n -ms-flex-item-align: stretch !important;\\n align-self: stretch !important;\\n}\\n\\n@media (min-width: 576px) {\\n .flex-sm-row {\\n -ms-flex-direction: row !important;\\n flex-direction: row !important;\\n }\\n .flex-sm-column {\\n -ms-flex-direction: column !important;\\n flex-direction: column !important;\\n }\\n .flex-sm-row-reverse {\\n -ms-flex-direction: row-reverse !important;\\n flex-direction: row-reverse !important;\\n }\\n .flex-sm-column-reverse {\\n -ms-flex-direction: column-reverse !important;\\n flex-direction: column-reverse !important;\\n }\\n .flex-sm-wrap {\\n -ms-flex-wrap: wrap !important;\\n flex-wrap: wrap !important;\\n }\\n .flex-sm-nowrap {\\n -ms-flex-wrap: nowrap !important;\\n flex-wrap: nowrap !important;\\n }\\n .flex-sm-wrap-reverse {\\n -ms-flex-wrap: wrap-reverse !important;\\n flex-wrap: wrap-reverse !important;\\n }\\n .flex-sm-fill {\\n -ms-flex: 1 1 auto !important;\\n flex: 1 1 auto !important;\\n }\\n .flex-sm-grow-0 {\\n -ms-flex-positive: 0 !important;\\n flex-grow: 0 !important;\\n }\\n .flex-sm-grow-1 {\\n -ms-flex-positive: 1 !important;\\n flex-grow: 1 !important;\\n }\\n .flex-sm-shrink-0 {\\n -ms-flex-negative: 0 !important;\\n flex-shrink: 0 !important;\\n }\\n .flex-sm-shrink-1 {\\n -ms-flex-negative: 1 !important;\\n flex-shrink: 1 !important;\\n }\\n .justify-content-sm-start {\\n -ms-flex-pack: start !important;\\n justify-content: flex-start !important;\\n }\\n .justify-content-sm-end {\\n -ms-flex-pack: end !important;\\n justify-content: flex-end !important;\\n }\\n .justify-content-sm-center {\\n -ms-flex-pack: center !important;\\n justify-content: center !important;\\n }\\n .justify-content-sm-between {\\n -ms-flex-pack: justify !important;\\n justify-content: space-between !important;\\n }\\n .justify-content-sm-around {\\n -ms-flex-pack: distribute !important;\\n justify-content: space-around !important;\\n }\\n .align-items-sm-start {\\n -ms-flex-align: start !important;\\n align-items: flex-start !important;\\n }\\n .align-items-sm-end {\\n -ms-flex-align: end !important;\\n align-items: flex-end !important;\\n }\\n .align-items-sm-center {\\n -ms-flex-align: center !important;\\n align-items: center !important;\\n }\\n .align-items-sm-baseline {\\n -ms-flex-align: baseline !important;\\n align-items: baseline !important;\\n }\\n .align-items-sm-stretch {\\n -ms-flex-align: stretch !important;\\n align-items: stretch !important;\\n }\\n .align-content-sm-start {\\n -ms-flex-line-pack: start !important;\\n align-content: flex-start !important;\\n }\\n .align-content-sm-end {\\n -ms-flex-line-pack: end !important;\\n align-content: flex-end !important;\\n }\\n .align-content-sm-center {\\n -ms-flex-line-pack: center !important;\\n align-content: center !important;\\n }\\n .align-content-sm-between {\\n -ms-flex-line-pack: justify !important;\\n align-content: space-between !important;\\n }\\n .align-content-sm-around {\\n -ms-flex-line-pack: distribute !important;\\n align-content: space-around !important;\\n }\\n .align-content-sm-stretch {\\n -ms-flex-line-pack: stretch !important;\\n align-content: stretch !important;\\n }\\n .align-self-sm-auto {\\n -ms-flex-item-align: auto !important;\\n align-self: auto !important;\\n }\\n .align-self-sm-start {\\n -ms-flex-item-align: start !important;\\n align-self: flex-start !important;\\n }\\n .align-self-sm-end {\\n -ms-flex-item-align: end !important;\\n align-self: flex-end !important;\\n }\\n .align-self-sm-center {\\n -ms-flex-item-align: center !important;\\n align-self: center !important;\\n }\\n .align-self-sm-baseline {\\n -ms-flex-item-align: baseline !important;\\n align-self: baseline !important;\\n }\\n .align-self-sm-stretch {\\n -ms-flex-item-align: stretch !important;\\n align-self: stretch !important;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .flex-md-row {\\n -ms-flex-direction: row !important;\\n flex-direction: row !important;\\n }\\n .flex-md-column {\\n -ms-flex-direction: column !important;\\n flex-direction: column !important;\\n }\\n .flex-md-row-reverse {\\n -ms-flex-direction: row-reverse !important;\\n flex-direction: row-reverse !important;\\n }\\n .flex-md-column-reverse {\\n -ms-flex-direction: column-reverse !important;\\n flex-direction: column-reverse !important;\\n }\\n .flex-md-wrap {\\n -ms-flex-wrap: wrap !important;\\n flex-wrap: wrap !important;\\n }\\n .flex-md-nowrap {\\n -ms-flex-wrap: nowrap !important;\\n flex-wrap: nowrap !important;\\n }\\n .flex-md-wrap-reverse {\\n -ms-flex-wrap: wrap-reverse !important;\\n flex-wrap: wrap-reverse !important;\\n }\\n .flex-md-fill {\\n -ms-flex: 1 1 auto !important;\\n flex: 1 1 auto !important;\\n }\\n .flex-md-grow-0 {\\n -ms-flex-positive: 0 !important;\\n flex-grow: 0 !important;\\n }\\n .flex-md-grow-1 {\\n -ms-flex-positive: 1 !important;\\n flex-grow: 1 !important;\\n }\\n .flex-md-shrink-0 {\\n -ms-flex-negative: 0 !important;\\n flex-shrink: 0 !important;\\n }\\n .flex-md-shrink-1 {\\n -ms-flex-negative: 1 !important;\\n flex-shrink: 1 !important;\\n }\\n .justify-content-md-start {\\n -ms-flex-pack: start !important;\\n justify-content: flex-start !important;\\n }\\n .justify-content-md-end {\\n -ms-flex-pack: end !important;\\n justify-content: flex-end !important;\\n }\\n .justify-content-md-center {\\n -ms-flex-pack: center !important;\\n justify-content: center !important;\\n }\\n .justify-content-md-between {\\n -ms-flex-pack: justify !important;\\n justify-content: space-between !important;\\n }\\n .justify-content-md-around {\\n -ms-flex-pack: distribute !important;\\n justify-content: space-around !important;\\n }\\n .align-items-md-start {\\n -ms-flex-align: start !important;\\n align-items: flex-start !important;\\n }\\n .align-items-md-end {\\n -ms-flex-align: end !important;\\n align-items: flex-end !important;\\n }\\n .align-items-md-center {\\n -ms-flex-align: center !important;\\n align-items: center !important;\\n }\\n .align-items-md-baseline {\\n -ms-flex-align: baseline !important;\\n align-items: baseline !important;\\n }\\n .align-items-md-stretch {\\n -ms-flex-align: stretch !important;\\n align-items: stretch !important;\\n }\\n .align-content-md-start {\\n -ms-flex-line-pack: start !important;\\n align-content: flex-start !important;\\n }\\n .align-content-md-end {\\n -ms-flex-line-pack: end !important;\\n align-content: flex-end !important;\\n }\\n .align-content-md-center {\\n -ms-flex-line-pack: center !important;\\n align-content: center !important;\\n }\\n .align-content-md-between {\\n -ms-flex-line-pack: justify !important;\\n align-content: space-between !important;\\n }\\n .align-content-md-around {\\n -ms-flex-line-pack: distribute !important;\\n align-content: space-around !important;\\n }\\n .align-content-md-stretch {\\n -ms-flex-line-pack: stretch !important;\\n align-content: stretch !important;\\n }\\n .align-self-md-auto {\\n -ms-flex-item-align: auto !important;\\n align-self: auto !important;\\n }\\n .align-self-md-start {\\n -ms-flex-item-align: start !important;\\n align-self: flex-start !important;\\n }\\n .align-self-md-end {\\n -ms-flex-item-align: end !important;\\n align-self: flex-end !important;\\n }\\n .align-self-md-center {\\n -ms-flex-item-align: center !important;\\n align-self: center !important;\\n }\\n .align-self-md-baseline {\\n -ms-flex-item-align: baseline !important;\\n align-self: baseline !important;\\n }\\n .align-self-md-stretch {\\n -ms-flex-item-align: stretch !important;\\n align-self: stretch !important;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .flex-lg-row {\\n -ms-flex-direction: row !important;\\n flex-direction: row !important;\\n }\\n .flex-lg-column {\\n -ms-flex-direction: column !important;\\n flex-direction: column !important;\\n }\\n .flex-lg-row-reverse {\\n -ms-flex-direction: row-reverse !important;\\n flex-direction: row-reverse !important;\\n }\\n .flex-lg-column-reverse {\\n -ms-flex-direction: column-reverse !important;\\n flex-direction: column-reverse !important;\\n }\\n .flex-lg-wrap {\\n -ms-flex-wrap: wrap !important;\\n flex-wrap: wrap !important;\\n }\\n .flex-lg-nowrap {\\n -ms-flex-wrap: nowrap !important;\\n flex-wrap: nowrap !important;\\n }\\n .flex-lg-wrap-reverse {\\n -ms-flex-wrap: wrap-reverse !important;\\n flex-wrap: wrap-reverse !important;\\n }\\n .flex-lg-fill {\\n -ms-flex: 1 1 auto !important;\\n flex: 1 1 auto !important;\\n }\\n .flex-lg-grow-0 {\\n -ms-flex-positive: 0 !important;\\n flex-grow: 0 !important;\\n }\\n .flex-lg-grow-1 {\\n -ms-flex-positive: 1 !important;\\n flex-grow: 1 !important;\\n }\\n .flex-lg-shrink-0 {\\n -ms-flex-negative: 0 !important;\\n flex-shrink: 0 !important;\\n }\\n .flex-lg-shrink-1 {\\n -ms-flex-negative: 1 !important;\\n flex-shrink: 1 !important;\\n }\\n .justify-content-lg-start {\\n -ms-flex-pack: start !important;\\n justify-content: flex-start !important;\\n }\\n .justify-content-lg-end {\\n -ms-flex-pack: end !important;\\n justify-content: flex-end !important;\\n }\\n .justify-content-lg-center {\\n -ms-flex-pack: center !important;\\n justify-content: center !important;\\n }\\n .justify-content-lg-between {\\n -ms-flex-pack: justify !important;\\n justify-content: space-between !important;\\n }\\n .justify-content-lg-around {\\n -ms-flex-pack: distribute !important;\\n justify-content: space-around !important;\\n }\\n .align-items-lg-start {\\n -ms-flex-align: start !important;\\n align-items: flex-start !important;\\n }\\n .align-items-lg-end {\\n -ms-flex-align: end !important;\\n align-items: flex-end !important;\\n }\\n .align-items-lg-center {\\n -ms-flex-align: center !important;\\n align-items: center !important;\\n }\\n .align-items-lg-baseline {\\n -ms-flex-align: baseline !important;\\n align-items: baseline !important;\\n }\\n .align-items-lg-stretch {\\n -ms-flex-align: stretch !important;\\n align-items: stretch !important;\\n }\\n .align-content-lg-start {\\n -ms-flex-line-pack: start !important;\\n align-content: flex-start !important;\\n }\\n .align-content-lg-end {\\n -ms-flex-line-pack: end !important;\\n align-content: flex-end !important;\\n }\\n .align-content-lg-center {\\n -ms-flex-line-pack: center !important;\\n align-content: center !important;\\n }\\n .align-content-lg-between {\\n -ms-flex-line-pack: justify !important;\\n align-content: space-between !important;\\n }\\n .align-content-lg-around {\\n -ms-flex-line-pack: distribute !important;\\n align-content: space-around !important;\\n }\\n .align-content-lg-stretch {\\n -ms-flex-line-pack: stretch !important;\\n align-content: stretch !important;\\n }\\n .align-self-lg-auto {\\n -ms-flex-item-align: auto !important;\\n align-self: auto !important;\\n }\\n .align-self-lg-start {\\n -ms-flex-item-align: start !important;\\n align-self: flex-start !important;\\n }\\n .align-self-lg-end {\\n -ms-flex-item-align: end !important;\\n align-self: flex-end !important;\\n }\\n .align-self-lg-center {\\n -ms-flex-item-align: center !important;\\n align-self: center !important;\\n }\\n .align-self-lg-baseline {\\n -ms-flex-item-align: baseline !important;\\n align-self: baseline !important;\\n }\\n .align-self-lg-stretch {\\n -ms-flex-item-align: stretch !important;\\n align-self: stretch !important;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .flex-xl-row {\\n -ms-flex-direction: row !important;\\n flex-direction: row !important;\\n }\\n .flex-xl-column {\\n -ms-flex-direction: column !important;\\n flex-direction: column !important;\\n }\\n .flex-xl-row-reverse {\\n -ms-flex-direction: row-reverse !important;\\n flex-direction: row-reverse !important;\\n }\\n .flex-xl-column-reverse {\\n -ms-flex-direction: column-reverse !important;\\n flex-direction: column-reverse !important;\\n }\\n .flex-xl-wrap {\\n -ms-flex-wrap: wrap !important;\\n flex-wrap: wrap !important;\\n }\\n .flex-xl-nowrap {\\n -ms-flex-wrap: nowrap !important;\\n flex-wrap: nowrap !important;\\n }\\n .flex-xl-wrap-reverse {\\n -ms-flex-wrap: wrap-reverse !important;\\n flex-wrap: wrap-reverse !important;\\n }\\n .flex-xl-fill {\\n -ms-flex: 1 1 auto !important;\\n flex: 1 1 auto !important;\\n }\\n .flex-xl-grow-0 {\\n -ms-flex-positive: 0 !important;\\n flex-grow: 0 !important;\\n }\\n .flex-xl-grow-1 {\\n -ms-flex-positive: 1 !important;\\n flex-grow: 1 !important;\\n }\\n .flex-xl-shrink-0 {\\n -ms-flex-negative: 0 !important;\\n flex-shrink: 0 !important;\\n }\\n .flex-xl-shrink-1 {\\n -ms-flex-negative: 1 !important;\\n flex-shrink: 1 !important;\\n }\\n .justify-content-xl-start {\\n -ms-flex-pack: start !important;\\n justify-content: flex-start !important;\\n }\\n .justify-content-xl-end {\\n -ms-flex-pack: end !important;\\n justify-content: flex-end !important;\\n }\\n .justify-content-xl-center {\\n -ms-flex-pack: center !important;\\n justify-content: center !important;\\n }\\n .justify-content-xl-between {\\n -ms-flex-pack: justify !important;\\n justify-content: space-between !important;\\n }\\n .justify-content-xl-around {\\n -ms-flex-pack: distribute !important;\\n justify-content: space-around !important;\\n }\\n .align-items-xl-start {\\n -ms-flex-align: start !important;\\n align-items: flex-start !important;\\n }\\n .align-items-xl-end {\\n -ms-flex-align: end !important;\\n align-items: flex-end !important;\\n }\\n .align-items-xl-center {\\n -ms-flex-align: center !important;\\n align-items: center !important;\\n }\\n .align-items-xl-baseline {\\n -ms-flex-align: baseline !important;\\n align-items: baseline !important;\\n }\\n .align-items-xl-stretch {\\n -ms-flex-align: stretch !important;\\n align-items: stretch !important;\\n }\\n .align-content-xl-start {\\n -ms-flex-line-pack: start !important;\\n align-content: flex-start !important;\\n }\\n .align-content-xl-end {\\n -ms-flex-line-pack: end !important;\\n align-content: flex-end !important;\\n }\\n .align-content-xl-center {\\n -ms-flex-line-pack: center !important;\\n align-content: center !important;\\n }\\n .align-content-xl-between {\\n -ms-flex-line-pack: justify !important;\\n align-content: space-between !important;\\n }\\n .align-content-xl-around {\\n -ms-flex-line-pack: distribute !important;\\n align-content: space-around !important;\\n }\\n .align-content-xl-stretch {\\n -ms-flex-line-pack: stretch !important;\\n align-content: stretch !important;\\n }\\n .align-self-xl-auto {\\n -ms-flex-item-align: auto !important;\\n align-self: auto !important;\\n }\\n .align-self-xl-start {\\n -ms-flex-item-align: start !important;\\n align-self: flex-start !important;\\n }\\n .align-self-xl-end {\\n -ms-flex-item-align: end !important;\\n align-self: flex-end !important;\\n }\\n .align-self-xl-center {\\n -ms-flex-item-align: center !important;\\n align-self: center !important;\\n }\\n .align-self-xl-baseline {\\n -ms-flex-item-align: baseline !important;\\n align-self: baseline !important;\\n }\\n .align-self-xl-stretch {\\n -ms-flex-item-align: stretch !important;\\n align-self: stretch !important;\\n }\\n}\\n\\n.float-left {\\n float: left !important;\\n}\\n\\n.float-right {\\n float: right !important;\\n}\\n\\n.float-none {\\n float: none !important;\\n}\\n\\n@media (min-width: 576px) {\\n .float-sm-left {\\n float: left !important;\\n }\\n .float-sm-right {\\n float: right !important;\\n }\\n .float-sm-none {\\n float: none !important;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .float-md-left {\\n float: left !important;\\n }\\n .float-md-right {\\n float: right !important;\\n }\\n .float-md-none {\\n float: none !important;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .float-lg-left {\\n float: left !important;\\n }\\n .float-lg-right {\\n float: right !important;\\n }\\n .float-lg-none {\\n float: none !important;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .float-xl-left {\\n float: left !important;\\n }\\n .float-xl-right {\\n float: right !important;\\n }\\n .float-xl-none {\\n float: none !important;\\n }\\n}\\n\\n.overflow-auto {\\n overflow: auto !important;\\n}\\n\\n.overflow-hidden {\\n overflow: hidden !important;\\n}\\n\\n.position-static {\\n position: static !important;\\n}\\n\\n.position-relative {\\n position: relative !important;\\n}\\n\\n.position-absolute {\\n position: absolute !important;\\n}\\n\\n.position-fixed {\\n position: fixed !important;\\n}\\n\\n.position-sticky {\\n position: -webkit-sticky !important;\\n position: sticky !important;\\n}\\n\\n.fixed-top {\\n position: fixed;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1030;\\n}\\n\\n.fixed-bottom {\\n position: fixed;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1030;\\n}\\n\\n@supports ((position: -webkit-sticky) or (position: sticky)) {\\n .sticky-top {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 1020;\\n }\\n}\\n\\n.sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n position: static;\\n width: auto;\\n height: auto;\\n overflow: visible;\\n clip: auto;\\n white-space: normal;\\n}\\n\\n.shadow-sm {\\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\\n}\\n\\n.shadow {\\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\\n}\\n\\n.shadow-lg {\\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\\n}\\n\\n.shadow-none {\\n box-shadow: none !important;\\n}\\n\\n.w-25 {\\n width: 25% !important;\\n}\\n\\n.w-50 {\\n width: 50% !important;\\n}\\n\\n.w-75 {\\n width: 75% !important;\\n}\\n\\n.w-100 {\\n width: 100% !important;\\n}\\n\\n.w-auto {\\n width: auto !important;\\n}\\n\\n.h-25 {\\n height: 25% !important;\\n}\\n\\n.h-50 {\\n height: 50% !important;\\n}\\n\\n.h-75 {\\n height: 75% !important;\\n}\\n\\n.h-100 {\\n height: 100% !important;\\n}\\n\\n.h-auto {\\n height: auto !important;\\n}\\n\\n.mw-100 {\\n max-width: 100% !important;\\n}\\n\\n.mh-100 {\\n max-height: 100% !important;\\n}\\n\\n.min-vw-100 {\\n min-width: 100vw !important;\\n}\\n\\n.min-vh-100 {\\n min-height: 100vh !important;\\n}\\n\\n.vw-100 {\\n width: 100vw !important;\\n}\\n\\n.vh-100 {\\n height: 100vh !important;\\n}\\n\\n.stretched-link::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1;\\n pointer-events: auto;\\n content: \\\"\\\";\\n background-color: rgba(0, 0, 0, 0);\\n}\\n\\n.m-0 {\\n margin: 0 !important;\\n}\\n\\n.mt-0,\\n.my-0 {\\n margin-top: 0 !important;\\n}\\n\\n.mr-0,\\n.mx-0 {\\n margin-right: 0 !important;\\n}\\n\\n.mb-0,\\n.my-0 {\\n margin-bottom: 0 !important;\\n}\\n\\n.ml-0,\\n.mx-0 {\\n margin-left: 0 !important;\\n}\\n\\n.m-1 {\\n margin: 0.25rem !important;\\n}\\n\\n.mt-1,\\n.my-1 {\\n margin-top: 0.25rem !important;\\n}\\n\\n.mr-1,\\n.mx-1 {\\n margin-right: 0.25rem !important;\\n}\\n\\n.mb-1,\\n.my-1 {\\n margin-bottom: 0.25rem !important;\\n}\\n\\n.ml-1,\\n.mx-1 {\\n margin-left: 0.25rem !important;\\n}\\n\\n.m-2 {\\n margin: 0.5rem !important;\\n}\\n\\n.mt-2,\\n.my-2 {\\n margin-top: 0.5rem !important;\\n}\\n\\n.mr-2,\\n.mx-2 {\\n margin-right: 0.5rem !important;\\n}\\n\\n.mb-2,\\n.my-2 {\\n margin-bottom: 0.5rem !important;\\n}\\n\\n.ml-2,\\n.mx-2 {\\n margin-left: 0.5rem !important;\\n}\\n\\n.m-3 {\\n margin: 1rem !important;\\n}\\n\\n.mt-3,\\n.my-3 {\\n margin-top: 1rem !important;\\n}\\n\\n.mr-3,\\n.mx-3 {\\n margin-right: 1rem !important;\\n}\\n\\n.mb-3,\\n.my-3 {\\n margin-bottom: 1rem !important;\\n}\\n\\n.ml-3,\\n.mx-3 {\\n margin-left: 1rem !important;\\n}\\n\\n.m-4 {\\n margin: 1.5rem !important;\\n}\\n\\n.mt-4,\\n.my-4 {\\n margin-top: 1.5rem !important;\\n}\\n\\n.mr-4,\\n.mx-4 {\\n margin-right: 1.5rem !important;\\n}\\n\\n.mb-4,\\n.my-4 {\\n margin-bottom: 1.5rem !important;\\n}\\n\\n.ml-4,\\n.mx-4 {\\n margin-left: 1.5rem !important;\\n}\\n\\n.m-5 {\\n margin: 3rem !important;\\n}\\n\\n.mt-5,\\n.my-5 {\\n margin-top: 3rem !important;\\n}\\n\\n.mr-5,\\n.mx-5 {\\n margin-right: 3rem !important;\\n}\\n\\n.mb-5,\\n.my-5 {\\n margin-bottom: 3rem !important;\\n}\\n\\n.ml-5,\\n.mx-5 {\\n margin-left: 3rem !important;\\n}\\n\\n.p-0 {\\n padding: 0 !important;\\n}\\n\\n.pt-0,\\n.py-0 {\\n padding-top: 0 !important;\\n}\\n\\n.pr-0,\\n.px-0 {\\n padding-right: 0 !important;\\n}\\n\\n.pb-0,\\n.py-0 {\\n padding-bottom: 0 !important;\\n}\\n\\n.pl-0,\\n.px-0 {\\n padding-left: 0 !important;\\n}\\n\\n.p-1 {\\n padding: 0.25rem !important;\\n}\\n\\n.pt-1,\\n.py-1 {\\n padding-top: 0.25rem !important;\\n}\\n\\n.pr-1,\\n.px-1 {\\n padding-right: 0.25rem !important;\\n}\\n\\n.pb-1,\\n.py-1 {\\n padding-bottom: 0.25rem !important;\\n}\\n\\n.pl-1,\\n.px-1 {\\n padding-left: 0.25rem !important;\\n}\\n\\n.p-2 {\\n padding: 0.5rem !important;\\n}\\n\\n.pt-2,\\n.py-2 {\\n padding-top: 0.5rem !important;\\n}\\n\\n.pr-2,\\n.px-2 {\\n padding-right: 0.5rem !important;\\n}\\n\\n.pb-2,\\n.py-2 {\\n padding-bottom: 0.5rem !important;\\n}\\n\\n.pl-2,\\n.px-2 {\\n padding-left: 0.5rem !important;\\n}\\n\\n.p-3 {\\n padding: 1rem !important;\\n}\\n\\n.pt-3,\\n.py-3 {\\n padding-top: 1rem !important;\\n}\\n\\n.pr-3,\\n.px-3 {\\n padding-right: 1rem !important;\\n}\\n\\n.pb-3,\\n.py-3 {\\n padding-bottom: 1rem !important;\\n}\\n\\n.pl-3,\\n.px-3 {\\n padding-left: 1rem !important;\\n}\\n\\n.p-4 {\\n padding: 1.5rem !important;\\n}\\n\\n.pt-4,\\n.py-4 {\\n padding-top: 1.5rem !important;\\n}\\n\\n.pr-4,\\n.px-4 {\\n padding-right: 1.5rem !important;\\n}\\n\\n.pb-4,\\n.py-4 {\\n padding-bottom: 1.5rem !important;\\n}\\n\\n.pl-4,\\n.px-4 {\\n padding-left: 1.5rem !important;\\n}\\n\\n.p-5 {\\n padding: 3rem !important;\\n}\\n\\n.pt-5,\\n.py-5 {\\n padding-top: 3rem !important;\\n}\\n\\n.pr-5,\\n.px-5 {\\n padding-right: 3rem !important;\\n}\\n\\n.pb-5,\\n.py-5 {\\n padding-bottom: 3rem !important;\\n}\\n\\n.pl-5,\\n.px-5 {\\n padding-left: 3rem !important;\\n}\\n\\n.m-n1 {\\n margin: -0.25rem !important;\\n}\\n\\n.mt-n1,\\n.my-n1 {\\n margin-top: -0.25rem !important;\\n}\\n\\n.mr-n1,\\n.mx-n1 {\\n margin-right: -0.25rem !important;\\n}\\n\\n.mb-n1,\\n.my-n1 {\\n margin-bottom: -0.25rem !important;\\n}\\n\\n.ml-n1,\\n.mx-n1 {\\n margin-left: -0.25rem !important;\\n}\\n\\n.m-n2 {\\n margin: -0.5rem !important;\\n}\\n\\n.mt-n2,\\n.my-n2 {\\n margin-top: -0.5rem !important;\\n}\\n\\n.mr-n2,\\n.mx-n2 {\\n margin-right: -0.5rem !important;\\n}\\n\\n.mb-n2,\\n.my-n2 {\\n margin-bottom: -0.5rem !important;\\n}\\n\\n.ml-n2,\\n.mx-n2 {\\n margin-left: -0.5rem !important;\\n}\\n\\n.m-n3 {\\n margin: -1rem !important;\\n}\\n\\n.mt-n3,\\n.my-n3 {\\n margin-top: -1rem !important;\\n}\\n\\n.mr-n3,\\n.mx-n3 {\\n margin-right: -1rem !important;\\n}\\n\\n.mb-n3,\\n.my-n3 {\\n margin-bottom: -1rem !important;\\n}\\n\\n.ml-n3,\\n.mx-n3 {\\n margin-left: -1rem !important;\\n}\\n\\n.m-n4 {\\n margin: -1.5rem !important;\\n}\\n\\n.mt-n4,\\n.my-n4 {\\n margin-top: -1.5rem !important;\\n}\\n\\n.mr-n4,\\n.mx-n4 {\\n margin-right: -1.5rem !important;\\n}\\n\\n.mb-n4,\\n.my-n4 {\\n margin-bottom: -1.5rem !important;\\n}\\n\\n.ml-n4,\\n.mx-n4 {\\n margin-left: -1.5rem !important;\\n}\\n\\n.m-n5 {\\n margin: -3rem !important;\\n}\\n\\n.mt-n5,\\n.my-n5 {\\n margin-top: -3rem !important;\\n}\\n\\n.mr-n5,\\n.mx-n5 {\\n margin-right: -3rem !important;\\n}\\n\\n.mb-n5,\\n.my-n5 {\\n margin-bottom: -3rem !important;\\n}\\n\\n.ml-n5,\\n.mx-n5 {\\n margin-left: -3rem !important;\\n}\\n\\n.m-auto {\\n margin: auto !important;\\n}\\n\\n.mt-auto,\\n.my-auto {\\n margin-top: auto !important;\\n}\\n\\n.mr-auto,\\n.mx-auto {\\n margin-right: auto !important;\\n}\\n\\n.mb-auto,\\n.my-auto {\\n margin-bottom: auto !important;\\n}\\n\\n.ml-auto,\\n.mx-auto {\\n margin-left: auto !important;\\n}\\n\\n@media (min-width: 576px) {\\n .m-sm-0 {\\n margin: 0 !important;\\n }\\n .mt-sm-0,\\n .my-sm-0 {\\n margin-top: 0 !important;\\n }\\n .mr-sm-0,\\n .mx-sm-0 {\\n margin-right: 0 !important;\\n }\\n .mb-sm-0,\\n .my-sm-0 {\\n margin-bottom: 0 !important;\\n }\\n .ml-sm-0,\\n .mx-sm-0 {\\n margin-left: 0 !important;\\n }\\n .m-sm-1 {\\n margin: 0.25rem !important;\\n }\\n .mt-sm-1,\\n .my-sm-1 {\\n margin-top: 0.25rem !important;\\n }\\n .mr-sm-1,\\n .mx-sm-1 {\\n margin-right: 0.25rem !important;\\n }\\n .mb-sm-1,\\n .my-sm-1 {\\n margin-bottom: 0.25rem !important;\\n }\\n .ml-sm-1,\\n .mx-sm-1 {\\n margin-left: 0.25rem !important;\\n }\\n .m-sm-2 {\\n margin: 0.5rem !important;\\n }\\n .mt-sm-2,\\n .my-sm-2 {\\n margin-top: 0.5rem !important;\\n }\\n .mr-sm-2,\\n .mx-sm-2 {\\n margin-right: 0.5rem !important;\\n }\\n .mb-sm-2,\\n .my-sm-2 {\\n margin-bottom: 0.5rem !important;\\n }\\n .ml-sm-2,\\n .mx-sm-2 {\\n margin-left: 0.5rem !important;\\n }\\n .m-sm-3 {\\n margin: 1rem !important;\\n }\\n .mt-sm-3,\\n .my-sm-3 {\\n margin-top: 1rem !important;\\n }\\n .mr-sm-3,\\n .mx-sm-3 {\\n margin-right: 1rem !important;\\n }\\n .mb-sm-3,\\n .my-sm-3 {\\n margin-bottom: 1rem !important;\\n }\\n .ml-sm-3,\\n .mx-sm-3 {\\n margin-left: 1rem !important;\\n }\\n .m-sm-4 {\\n margin: 1.5rem !important;\\n }\\n .mt-sm-4,\\n .my-sm-4 {\\n margin-top: 1.5rem !important;\\n }\\n .mr-sm-4,\\n .mx-sm-4 {\\n margin-right: 1.5rem !important;\\n }\\n .mb-sm-4,\\n .my-sm-4 {\\n margin-bottom: 1.5rem !important;\\n }\\n .ml-sm-4,\\n .mx-sm-4 {\\n margin-left: 1.5rem !important;\\n }\\n .m-sm-5 {\\n margin: 3rem !important;\\n }\\n .mt-sm-5,\\n .my-sm-5 {\\n margin-top: 3rem !important;\\n }\\n .mr-sm-5,\\n .mx-sm-5 {\\n margin-right: 3rem !important;\\n }\\n .mb-sm-5,\\n .my-sm-5 {\\n margin-bottom: 3rem !important;\\n }\\n .ml-sm-5,\\n .mx-sm-5 {\\n margin-left: 3rem !important;\\n }\\n .p-sm-0 {\\n padding: 0 !important;\\n }\\n .pt-sm-0,\\n .py-sm-0 {\\n padding-top: 0 !important;\\n }\\n .pr-sm-0,\\n .px-sm-0 {\\n padding-right: 0 !important;\\n }\\n .pb-sm-0,\\n .py-sm-0 {\\n padding-bottom: 0 !important;\\n }\\n .pl-sm-0,\\n .px-sm-0 {\\n padding-left: 0 !important;\\n }\\n .p-sm-1 {\\n padding: 0.25rem !important;\\n }\\n .pt-sm-1,\\n .py-sm-1 {\\n padding-top: 0.25rem !important;\\n }\\n .pr-sm-1,\\n .px-sm-1 {\\n padding-right: 0.25rem !important;\\n }\\n .pb-sm-1,\\n .py-sm-1 {\\n padding-bottom: 0.25rem !important;\\n }\\n .pl-sm-1,\\n .px-sm-1 {\\n padding-left: 0.25rem !important;\\n }\\n .p-sm-2 {\\n padding: 0.5rem !important;\\n }\\n .pt-sm-2,\\n .py-sm-2 {\\n padding-top: 0.5rem !important;\\n }\\n .pr-sm-2,\\n .px-sm-2 {\\n padding-right: 0.5rem !important;\\n }\\n .pb-sm-2,\\n .py-sm-2 {\\n padding-bottom: 0.5rem !important;\\n }\\n .pl-sm-2,\\n .px-sm-2 {\\n padding-left: 0.5rem !important;\\n }\\n .p-sm-3 {\\n padding: 1rem !important;\\n }\\n .pt-sm-3,\\n .py-sm-3 {\\n padding-top: 1rem !important;\\n }\\n .pr-sm-3,\\n .px-sm-3 {\\n padding-right: 1rem !important;\\n }\\n .pb-sm-3,\\n .py-sm-3 {\\n padding-bottom: 1rem !important;\\n }\\n .pl-sm-3,\\n .px-sm-3 {\\n padding-left: 1rem !important;\\n }\\n .p-sm-4 {\\n padding: 1.5rem !important;\\n }\\n .pt-sm-4,\\n .py-sm-4 {\\n padding-top: 1.5rem !important;\\n }\\n .pr-sm-4,\\n .px-sm-4 {\\n padding-right: 1.5rem !important;\\n }\\n .pb-sm-4,\\n .py-sm-4 {\\n padding-bottom: 1.5rem !important;\\n }\\n .pl-sm-4,\\n .px-sm-4 {\\n padding-left: 1.5rem !important;\\n }\\n .p-sm-5 {\\n padding: 3rem !important;\\n }\\n .pt-sm-5,\\n .py-sm-5 {\\n padding-top: 3rem !important;\\n }\\n .pr-sm-5,\\n .px-sm-5 {\\n padding-right: 3rem !important;\\n }\\n .pb-sm-5,\\n .py-sm-5 {\\n padding-bottom: 3rem !important;\\n }\\n .pl-sm-5,\\n .px-sm-5 {\\n padding-left: 3rem !important;\\n }\\n .m-sm-n1 {\\n margin: -0.25rem !important;\\n }\\n .mt-sm-n1,\\n .my-sm-n1 {\\n margin-top: -0.25rem !important;\\n }\\n .mr-sm-n1,\\n .mx-sm-n1 {\\n margin-right: -0.25rem !important;\\n }\\n .mb-sm-n1,\\n .my-sm-n1 {\\n margin-bottom: -0.25rem !important;\\n }\\n .ml-sm-n1,\\n .mx-sm-n1 {\\n margin-left: -0.25rem !important;\\n }\\n .m-sm-n2 {\\n margin: -0.5rem !important;\\n }\\n .mt-sm-n2,\\n .my-sm-n2 {\\n margin-top: -0.5rem !important;\\n }\\n .mr-sm-n2,\\n .mx-sm-n2 {\\n margin-right: -0.5rem !important;\\n }\\n .mb-sm-n2,\\n .my-sm-n2 {\\n margin-bottom: -0.5rem !important;\\n }\\n .ml-sm-n2,\\n .mx-sm-n2 {\\n margin-left: -0.5rem !important;\\n }\\n .m-sm-n3 {\\n margin: -1rem !important;\\n }\\n .mt-sm-n3,\\n .my-sm-n3 {\\n margin-top: -1rem !important;\\n }\\n .mr-sm-n3,\\n .mx-sm-n3 {\\n margin-right: -1rem !important;\\n }\\n .mb-sm-n3,\\n .my-sm-n3 {\\n margin-bottom: -1rem !important;\\n }\\n .ml-sm-n3,\\n .mx-sm-n3 {\\n margin-left: -1rem !important;\\n }\\n .m-sm-n4 {\\n margin: -1.5rem !important;\\n }\\n .mt-sm-n4,\\n .my-sm-n4 {\\n margin-top: -1.5rem !important;\\n }\\n .mr-sm-n4,\\n .mx-sm-n4 {\\n margin-right: -1.5rem !important;\\n }\\n .mb-sm-n4,\\n .my-sm-n4 {\\n margin-bottom: -1.5rem !important;\\n }\\n .ml-sm-n4,\\n .mx-sm-n4 {\\n margin-left: -1.5rem !important;\\n }\\n .m-sm-n5 {\\n margin: -3rem !important;\\n }\\n .mt-sm-n5,\\n .my-sm-n5 {\\n margin-top: -3rem !important;\\n }\\n .mr-sm-n5,\\n .mx-sm-n5 {\\n margin-right: -3rem !important;\\n }\\n .mb-sm-n5,\\n .my-sm-n5 {\\n margin-bottom: -3rem !important;\\n }\\n .ml-sm-n5,\\n .mx-sm-n5 {\\n margin-left: -3rem !important;\\n }\\n .m-sm-auto {\\n margin: auto !important;\\n }\\n .mt-sm-auto,\\n .my-sm-auto {\\n margin-top: auto !important;\\n }\\n .mr-sm-auto,\\n .mx-sm-auto {\\n margin-right: auto !important;\\n }\\n .mb-sm-auto,\\n .my-sm-auto {\\n margin-bottom: auto !important;\\n }\\n .ml-sm-auto,\\n .mx-sm-auto {\\n margin-left: auto !important;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .m-md-0 {\\n margin: 0 !important;\\n }\\n .mt-md-0,\\n .my-md-0 {\\n margin-top: 0 !important;\\n }\\n .mr-md-0,\\n .mx-md-0 {\\n margin-right: 0 !important;\\n }\\n .mb-md-0,\\n .my-md-0 {\\n margin-bottom: 0 !important;\\n }\\n .ml-md-0,\\n .mx-md-0 {\\n margin-left: 0 !important;\\n }\\n .m-md-1 {\\n margin: 0.25rem !important;\\n }\\n .mt-md-1,\\n .my-md-1 {\\n margin-top: 0.25rem !important;\\n }\\n .mr-md-1,\\n .mx-md-1 {\\n margin-right: 0.25rem !important;\\n }\\n .mb-md-1,\\n .my-md-1 {\\n margin-bottom: 0.25rem !important;\\n }\\n .ml-md-1,\\n .mx-md-1 {\\n margin-left: 0.25rem !important;\\n }\\n .m-md-2 {\\n margin: 0.5rem !important;\\n }\\n .mt-md-2,\\n .my-md-2 {\\n margin-top: 0.5rem !important;\\n }\\n .mr-md-2,\\n .mx-md-2 {\\n margin-right: 0.5rem !important;\\n }\\n .mb-md-2,\\n .my-md-2 {\\n margin-bottom: 0.5rem !important;\\n }\\n .ml-md-2,\\n .mx-md-2 {\\n margin-left: 0.5rem !important;\\n }\\n .m-md-3 {\\n margin: 1rem !important;\\n }\\n .mt-md-3,\\n .my-md-3 {\\n margin-top: 1rem !important;\\n }\\n .mr-md-3,\\n .mx-md-3 {\\n margin-right: 1rem !important;\\n }\\n .mb-md-3,\\n .my-md-3 {\\n margin-bottom: 1rem !important;\\n }\\n .ml-md-3,\\n .mx-md-3 {\\n margin-left: 1rem !important;\\n }\\n .m-md-4 {\\n margin: 1.5rem !important;\\n }\\n .mt-md-4,\\n .my-md-4 {\\n margin-top: 1.5rem !important;\\n }\\n .mr-md-4,\\n .mx-md-4 {\\n margin-right: 1.5rem !important;\\n }\\n .mb-md-4,\\n .my-md-4 {\\n margin-bottom: 1.5rem !important;\\n }\\n .ml-md-4,\\n .mx-md-4 {\\n margin-left: 1.5rem !important;\\n }\\n .m-md-5 {\\n margin: 3rem !important;\\n }\\n .mt-md-5,\\n .my-md-5 {\\n margin-top: 3rem !important;\\n }\\n .mr-md-5,\\n .mx-md-5 {\\n margin-right: 3rem !important;\\n }\\n .mb-md-5,\\n .my-md-5 {\\n margin-bottom: 3rem !important;\\n }\\n .ml-md-5,\\n .mx-md-5 {\\n margin-left: 3rem !important;\\n }\\n .p-md-0 {\\n padding: 0 !important;\\n }\\n .pt-md-0,\\n .py-md-0 {\\n padding-top: 0 !important;\\n }\\n .pr-md-0,\\n .px-md-0 {\\n padding-right: 0 !important;\\n }\\n .pb-md-0,\\n .py-md-0 {\\n padding-bottom: 0 !important;\\n }\\n .pl-md-0,\\n .px-md-0 {\\n padding-left: 0 !important;\\n }\\n .p-md-1 {\\n padding: 0.25rem !important;\\n }\\n .pt-md-1,\\n .py-md-1 {\\n padding-top: 0.25rem !important;\\n }\\n .pr-md-1,\\n .px-md-1 {\\n padding-right: 0.25rem !important;\\n }\\n .pb-md-1,\\n .py-md-1 {\\n padding-bottom: 0.25rem !important;\\n }\\n .pl-md-1,\\n .px-md-1 {\\n padding-left: 0.25rem !important;\\n }\\n .p-md-2 {\\n padding: 0.5rem !important;\\n }\\n .pt-md-2,\\n .py-md-2 {\\n padding-top: 0.5rem !important;\\n }\\n .pr-md-2,\\n .px-md-2 {\\n padding-right: 0.5rem !important;\\n }\\n .pb-md-2,\\n .py-md-2 {\\n padding-bottom: 0.5rem !important;\\n }\\n .pl-md-2,\\n .px-md-2 {\\n padding-left: 0.5rem !important;\\n }\\n .p-md-3 {\\n padding: 1rem !important;\\n }\\n .pt-md-3,\\n .py-md-3 {\\n padding-top: 1rem !important;\\n }\\n .pr-md-3,\\n .px-md-3 {\\n padding-right: 1rem !important;\\n }\\n .pb-md-3,\\n .py-md-3 {\\n padding-bottom: 1rem !important;\\n }\\n .pl-md-3,\\n .px-md-3 {\\n padding-left: 1rem !important;\\n }\\n .p-md-4 {\\n padding: 1.5rem !important;\\n }\\n .pt-md-4,\\n .py-md-4 {\\n padding-top: 1.5rem !important;\\n }\\n .pr-md-4,\\n .px-md-4 {\\n padding-right: 1.5rem !important;\\n }\\n .pb-md-4,\\n .py-md-4 {\\n padding-bottom: 1.5rem !important;\\n }\\n .pl-md-4,\\n .px-md-4 {\\n padding-left: 1.5rem !important;\\n }\\n .p-md-5 {\\n padding: 3rem !important;\\n }\\n .pt-md-5,\\n .py-md-5 {\\n padding-top: 3rem !important;\\n }\\n .pr-md-5,\\n .px-md-5 {\\n padding-right: 3rem !important;\\n }\\n .pb-md-5,\\n .py-md-5 {\\n padding-bottom: 3rem !important;\\n }\\n .pl-md-5,\\n .px-md-5 {\\n padding-left: 3rem !important;\\n }\\n .m-md-n1 {\\n margin: -0.25rem !important;\\n }\\n .mt-md-n1,\\n .my-md-n1 {\\n margin-top: -0.25rem !important;\\n }\\n .mr-md-n1,\\n .mx-md-n1 {\\n margin-right: -0.25rem !important;\\n }\\n .mb-md-n1,\\n .my-md-n1 {\\n margin-bottom: -0.25rem !important;\\n }\\n .ml-md-n1,\\n .mx-md-n1 {\\n margin-left: -0.25rem !important;\\n }\\n .m-md-n2 {\\n margin: -0.5rem !important;\\n }\\n .mt-md-n2,\\n .my-md-n2 {\\n margin-top: -0.5rem !important;\\n }\\n .mr-md-n2,\\n .mx-md-n2 {\\n margin-right: -0.5rem !important;\\n }\\n .mb-md-n2,\\n .my-md-n2 {\\n margin-bottom: -0.5rem !important;\\n }\\n .ml-md-n2,\\n .mx-md-n2 {\\n margin-left: -0.5rem !important;\\n }\\n .m-md-n3 {\\n margin: -1rem !important;\\n }\\n .mt-md-n3,\\n .my-md-n3 {\\n margin-top: -1rem !important;\\n }\\n .mr-md-n3,\\n .mx-md-n3 {\\n margin-right: -1rem !important;\\n }\\n .mb-md-n3,\\n .my-md-n3 {\\n margin-bottom: -1rem !important;\\n }\\n .ml-md-n3,\\n .mx-md-n3 {\\n margin-left: -1rem !important;\\n }\\n .m-md-n4 {\\n margin: -1.5rem !important;\\n }\\n .mt-md-n4,\\n .my-md-n4 {\\n margin-top: -1.5rem !important;\\n }\\n .mr-md-n4,\\n .mx-md-n4 {\\n margin-right: -1.5rem !important;\\n }\\n .mb-md-n4,\\n .my-md-n4 {\\n margin-bottom: -1.5rem !important;\\n }\\n .ml-md-n4,\\n .mx-md-n4 {\\n margin-left: -1.5rem !important;\\n }\\n .m-md-n5 {\\n margin: -3rem !important;\\n }\\n .mt-md-n5,\\n .my-md-n5 {\\n margin-top: -3rem !important;\\n }\\n .mr-md-n5,\\n .mx-md-n5 {\\n margin-right: -3rem !important;\\n }\\n .mb-md-n5,\\n .my-md-n5 {\\n margin-bottom: -3rem !important;\\n }\\n .ml-md-n5,\\n .mx-md-n5 {\\n margin-left: -3rem !important;\\n }\\n .m-md-auto {\\n margin: auto !important;\\n }\\n .mt-md-auto,\\n .my-md-auto {\\n margin-top: auto !important;\\n }\\n .mr-md-auto,\\n .mx-md-auto {\\n margin-right: auto !important;\\n }\\n .mb-md-auto,\\n .my-md-auto {\\n margin-bottom: auto !important;\\n }\\n .ml-md-auto,\\n .mx-md-auto {\\n margin-left: auto !important;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .m-lg-0 {\\n margin: 0 !important;\\n }\\n .mt-lg-0,\\n .my-lg-0 {\\n margin-top: 0 !important;\\n }\\n .mr-lg-0,\\n .mx-lg-0 {\\n margin-right: 0 !important;\\n }\\n .mb-lg-0,\\n .my-lg-0 {\\n margin-bottom: 0 !important;\\n }\\n .ml-lg-0,\\n .mx-lg-0 {\\n margin-left: 0 !important;\\n }\\n .m-lg-1 {\\n margin: 0.25rem !important;\\n }\\n .mt-lg-1,\\n .my-lg-1 {\\n margin-top: 0.25rem !important;\\n }\\n .mr-lg-1,\\n .mx-lg-1 {\\n margin-right: 0.25rem !important;\\n }\\n .mb-lg-1,\\n .my-lg-1 {\\n margin-bottom: 0.25rem !important;\\n }\\n .ml-lg-1,\\n .mx-lg-1 {\\n margin-left: 0.25rem !important;\\n }\\n .m-lg-2 {\\n margin: 0.5rem !important;\\n }\\n .mt-lg-2,\\n .my-lg-2 {\\n margin-top: 0.5rem !important;\\n }\\n .mr-lg-2,\\n .mx-lg-2 {\\n margin-right: 0.5rem !important;\\n }\\n .mb-lg-2,\\n .my-lg-2 {\\n margin-bottom: 0.5rem !important;\\n }\\n .ml-lg-2,\\n .mx-lg-2 {\\n margin-left: 0.5rem !important;\\n }\\n .m-lg-3 {\\n margin: 1rem !important;\\n }\\n .mt-lg-3,\\n .my-lg-3 {\\n margin-top: 1rem !important;\\n }\\n .mr-lg-3,\\n .mx-lg-3 {\\n margin-right: 1rem !important;\\n }\\n .mb-lg-3,\\n .my-lg-3 {\\n margin-bottom: 1rem !important;\\n }\\n .ml-lg-3,\\n .mx-lg-3 {\\n margin-left: 1rem !important;\\n }\\n .m-lg-4 {\\n margin: 1.5rem !important;\\n }\\n .mt-lg-4,\\n .my-lg-4 {\\n margin-top: 1.5rem !important;\\n }\\n .mr-lg-4,\\n .mx-lg-4 {\\n margin-right: 1.5rem !important;\\n }\\n .mb-lg-4,\\n .my-lg-4 {\\n margin-bottom: 1.5rem !important;\\n }\\n .ml-lg-4,\\n .mx-lg-4 {\\n margin-left: 1.5rem !important;\\n }\\n .m-lg-5 {\\n margin: 3rem !important;\\n }\\n .mt-lg-5,\\n .my-lg-5 {\\n margin-top: 3rem !important;\\n }\\n .mr-lg-5,\\n .mx-lg-5 {\\n margin-right: 3rem !important;\\n }\\n .mb-lg-5,\\n .my-lg-5 {\\n margin-bottom: 3rem !important;\\n }\\n .ml-lg-5,\\n .mx-lg-5 {\\n margin-left: 3rem !important;\\n }\\n .p-lg-0 {\\n padding: 0 !important;\\n }\\n .pt-lg-0,\\n .py-lg-0 {\\n padding-top: 0 !important;\\n }\\n .pr-lg-0,\\n .px-lg-0 {\\n padding-right: 0 !important;\\n }\\n .pb-lg-0,\\n .py-lg-0 {\\n padding-bottom: 0 !important;\\n }\\n .pl-lg-0,\\n .px-lg-0 {\\n padding-left: 0 !important;\\n }\\n .p-lg-1 {\\n padding: 0.25rem !important;\\n }\\n .pt-lg-1,\\n .py-lg-1 {\\n padding-top: 0.25rem !important;\\n }\\n .pr-lg-1,\\n .px-lg-1 {\\n padding-right: 0.25rem !important;\\n }\\n .pb-lg-1,\\n .py-lg-1 {\\n padding-bottom: 0.25rem !important;\\n }\\n .pl-lg-1,\\n .px-lg-1 {\\n padding-left: 0.25rem !important;\\n }\\n .p-lg-2 {\\n padding: 0.5rem !important;\\n }\\n .pt-lg-2,\\n .py-lg-2 {\\n padding-top: 0.5rem !important;\\n }\\n .pr-lg-2,\\n .px-lg-2 {\\n padding-right: 0.5rem !important;\\n }\\n .pb-lg-2,\\n .py-lg-2 {\\n padding-bottom: 0.5rem !important;\\n }\\n .pl-lg-2,\\n .px-lg-2 {\\n padding-left: 0.5rem !important;\\n }\\n .p-lg-3 {\\n padding: 1rem !important;\\n }\\n .pt-lg-3,\\n .py-lg-3 {\\n padding-top: 1rem !important;\\n }\\n .pr-lg-3,\\n .px-lg-3 {\\n padding-right: 1rem !important;\\n }\\n .pb-lg-3,\\n .py-lg-3 {\\n padding-bottom: 1rem !important;\\n }\\n .pl-lg-3,\\n .px-lg-3 {\\n padding-left: 1rem !important;\\n }\\n .p-lg-4 {\\n padding: 1.5rem !important;\\n }\\n .pt-lg-4,\\n .py-lg-4 {\\n padding-top: 1.5rem !important;\\n }\\n .pr-lg-4,\\n .px-lg-4 {\\n padding-right: 1.5rem !important;\\n }\\n .pb-lg-4,\\n .py-lg-4 {\\n padding-bottom: 1.5rem !important;\\n }\\n .pl-lg-4,\\n .px-lg-4 {\\n padding-left: 1.5rem !important;\\n }\\n .p-lg-5 {\\n padding: 3rem !important;\\n }\\n .pt-lg-5,\\n .py-lg-5 {\\n padding-top: 3rem !important;\\n }\\n .pr-lg-5,\\n .px-lg-5 {\\n padding-right: 3rem !important;\\n }\\n .pb-lg-5,\\n .py-lg-5 {\\n padding-bottom: 3rem !important;\\n }\\n .pl-lg-5,\\n .px-lg-5 {\\n padding-left: 3rem !important;\\n }\\n .m-lg-n1 {\\n margin: -0.25rem !important;\\n }\\n .mt-lg-n1,\\n .my-lg-n1 {\\n margin-top: -0.25rem !important;\\n }\\n .mr-lg-n1,\\n .mx-lg-n1 {\\n margin-right: -0.25rem !important;\\n }\\n .mb-lg-n1,\\n .my-lg-n1 {\\n margin-bottom: -0.25rem !important;\\n }\\n .ml-lg-n1,\\n .mx-lg-n1 {\\n margin-left: -0.25rem !important;\\n }\\n .m-lg-n2 {\\n margin: -0.5rem !important;\\n }\\n .mt-lg-n2,\\n .my-lg-n2 {\\n margin-top: -0.5rem !important;\\n }\\n .mr-lg-n2,\\n .mx-lg-n2 {\\n margin-right: -0.5rem !important;\\n }\\n .mb-lg-n2,\\n .my-lg-n2 {\\n margin-bottom: -0.5rem !important;\\n }\\n .ml-lg-n2,\\n .mx-lg-n2 {\\n margin-left: -0.5rem !important;\\n }\\n .m-lg-n3 {\\n margin: -1rem !important;\\n }\\n .mt-lg-n3,\\n .my-lg-n3 {\\n margin-top: -1rem !important;\\n }\\n .mr-lg-n3,\\n .mx-lg-n3 {\\n margin-right: -1rem !important;\\n }\\n .mb-lg-n3,\\n .my-lg-n3 {\\n margin-bottom: -1rem !important;\\n }\\n .ml-lg-n3,\\n .mx-lg-n3 {\\n margin-left: -1rem !important;\\n }\\n .m-lg-n4 {\\n margin: -1.5rem !important;\\n }\\n .mt-lg-n4,\\n .my-lg-n4 {\\n margin-top: -1.5rem !important;\\n }\\n .mr-lg-n4,\\n .mx-lg-n4 {\\n margin-right: -1.5rem !important;\\n }\\n .mb-lg-n4,\\n .my-lg-n4 {\\n margin-bottom: -1.5rem !important;\\n }\\n .ml-lg-n4,\\n .mx-lg-n4 {\\n margin-left: -1.5rem !important;\\n }\\n .m-lg-n5 {\\n margin: -3rem !important;\\n }\\n .mt-lg-n5,\\n .my-lg-n5 {\\n margin-top: -3rem !important;\\n }\\n .mr-lg-n5,\\n .mx-lg-n5 {\\n margin-right: -3rem !important;\\n }\\n .mb-lg-n5,\\n .my-lg-n5 {\\n margin-bottom: -3rem !important;\\n }\\n .ml-lg-n5,\\n .mx-lg-n5 {\\n margin-left: -3rem !important;\\n }\\n .m-lg-auto {\\n margin: auto !important;\\n }\\n .mt-lg-auto,\\n .my-lg-auto {\\n margin-top: auto !important;\\n }\\n .mr-lg-auto,\\n .mx-lg-auto {\\n margin-right: auto !important;\\n }\\n .mb-lg-auto,\\n .my-lg-auto {\\n margin-bottom: auto !important;\\n }\\n .ml-lg-auto,\\n .mx-lg-auto {\\n margin-left: auto !important;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .m-xl-0 {\\n margin: 0 !important;\\n }\\n .mt-xl-0,\\n .my-xl-0 {\\n margin-top: 0 !important;\\n }\\n .mr-xl-0,\\n .mx-xl-0 {\\n margin-right: 0 !important;\\n }\\n .mb-xl-0,\\n .my-xl-0 {\\n margin-bottom: 0 !important;\\n }\\n .ml-xl-0,\\n .mx-xl-0 {\\n margin-left: 0 !important;\\n }\\n .m-xl-1 {\\n margin: 0.25rem !important;\\n }\\n .mt-xl-1,\\n .my-xl-1 {\\n margin-top: 0.25rem !important;\\n }\\n .mr-xl-1,\\n .mx-xl-1 {\\n margin-right: 0.25rem !important;\\n }\\n .mb-xl-1,\\n .my-xl-1 {\\n margin-bottom: 0.25rem !important;\\n }\\n .ml-xl-1,\\n .mx-xl-1 {\\n margin-left: 0.25rem !important;\\n }\\n .m-xl-2 {\\n margin: 0.5rem !important;\\n }\\n .mt-xl-2,\\n .my-xl-2 {\\n margin-top: 0.5rem !important;\\n }\\n .mr-xl-2,\\n .mx-xl-2 {\\n margin-right: 0.5rem !important;\\n }\\n .mb-xl-2,\\n .my-xl-2 {\\n margin-bottom: 0.5rem !important;\\n }\\n .ml-xl-2,\\n .mx-xl-2 {\\n margin-left: 0.5rem !important;\\n }\\n .m-xl-3 {\\n margin: 1rem !important;\\n }\\n .mt-xl-3,\\n .my-xl-3 {\\n margin-top: 1rem !important;\\n }\\n .mr-xl-3,\\n .mx-xl-3 {\\n margin-right: 1rem !important;\\n }\\n .mb-xl-3,\\n .my-xl-3 {\\n margin-bottom: 1rem !important;\\n }\\n .ml-xl-3,\\n .mx-xl-3 {\\n margin-left: 1rem !important;\\n }\\n .m-xl-4 {\\n margin: 1.5rem !important;\\n }\\n .mt-xl-4,\\n .my-xl-4 {\\n margin-top: 1.5rem !important;\\n }\\n .mr-xl-4,\\n .mx-xl-4 {\\n margin-right: 1.5rem !important;\\n }\\n .mb-xl-4,\\n .my-xl-4 {\\n margin-bottom: 1.5rem !important;\\n }\\n .ml-xl-4,\\n .mx-xl-4 {\\n margin-left: 1.5rem !important;\\n }\\n .m-xl-5 {\\n margin: 3rem !important;\\n }\\n .mt-xl-5,\\n .my-xl-5 {\\n margin-top: 3rem !important;\\n }\\n .mr-xl-5,\\n .mx-xl-5 {\\n margin-right: 3rem !important;\\n }\\n .mb-xl-5,\\n .my-xl-5 {\\n margin-bottom: 3rem !important;\\n }\\n .ml-xl-5,\\n .mx-xl-5 {\\n margin-left: 3rem !important;\\n }\\n .p-xl-0 {\\n padding: 0 !important;\\n }\\n .pt-xl-0,\\n .py-xl-0 {\\n padding-top: 0 !important;\\n }\\n .pr-xl-0,\\n .px-xl-0 {\\n padding-right: 0 !important;\\n }\\n .pb-xl-0,\\n .py-xl-0 {\\n padding-bottom: 0 !important;\\n }\\n .pl-xl-0,\\n .px-xl-0 {\\n padding-left: 0 !important;\\n }\\n .p-xl-1 {\\n padding: 0.25rem !important;\\n }\\n .pt-xl-1,\\n .py-xl-1 {\\n padding-top: 0.25rem !important;\\n }\\n .pr-xl-1,\\n .px-xl-1 {\\n padding-right: 0.25rem !important;\\n }\\n .pb-xl-1,\\n .py-xl-1 {\\n padding-bottom: 0.25rem !important;\\n }\\n .pl-xl-1,\\n .px-xl-1 {\\n padding-left: 0.25rem !important;\\n }\\n .p-xl-2 {\\n padding: 0.5rem !important;\\n }\\n .pt-xl-2,\\n .py-xl-2 {\\n padding-top: 0.5rem !important;\\n }\\n .pr-xl-2,\\n .px-xl-2 {\\n padding-right: 0.5rem !important;\\n }\\n .pb-xl-2,\\n .py-xl-2 {\\n padding-bottom: 0.5rem !important;\\n }\\n .pl-xl-2,\\n .px-xl-2 {\\n padding-left: 0.5rem !important;\\n }\\n .p-xl-3 {\\n padding: 1rem !important;\\n }\\n .pt-xl-3,\\n .py-xl-3 {\\n padding-top: 1rem !important;\\n }\\n .pr-xl-3,\\n .px-xl-3 {\\n padding-right: 1rem !important;\\n }\\n .pb-xl-3,\\n .py-xl-3 {\\n padding-bottom: 1rem !important;\\n }\\n .pl-xl-3,\\n .px-xl-3 {\\n padding-left: 1rem !important;\\n }\\n .p-xl-4 {\\n padding: 1.5rem !important;\\n }\\n .pt-xl-4,\\n .py-xl-4 {\\n padding-top: 1.5rem !important;\\n }\\n .pr-xl-4,\\n .px-xl-4 {\\n padding-right: 1.5rem !important;\\n }\\n .pb-xl-4,\\n .py-xl-4 {\\n padding-bottom: 1.5rem !important;\\n }\\n .pl-xl-4,\\n .px-xl-4 {\\n padding-left: 1.5rem !important;\\n }\\n .p-xl-5 {\\n padding: 3rem !important;\\n }\\n .pt-xl-5,\\n .py-xl-5 {\\n padding-top: 3rem !important;\\n }\\n .pr-xl-5,\\n .px-xl-5 {\\n padding-right: 3rem !important;\\n }\\n .pb-xl-5,\\n .py-xl-5 {\\n padding-bottom: 3rem !important;\\n }\\n .pl-xl-5,\\n .px-xl-5 {\\n padding-left: 3rem !important;\\n }\\n .m-xl-n1 {\\n margin: -0.25rem !important;\\n }\\n .mt-xl-n1,\\n .my-xl-n1 {\\n margin-top: -0.25rem !important;\\n }\\n .mr-xl-n1,\\n .mx-xl-n1 {\\n margin-right: -0.25rem !important;\\n }\\n .mb-xl-n1,\\n .my-xl-n1 {\\n margin-bottom: -0.25rem !important;\\n }\\n .ml-xl-n1,\\n .mx-xl-n1 {\\n margin-left: -0.25rem !important;\\n }\\n .m-xl-n2 {\\n margin: -0.5rem !important;\\n }\\n .mt-xl-n2,\\n .my-xl-n2 {\\n margin-top: -0.5rem !important;\\n }\\n .mr-xl-n2,\\n .mx-xl-n2 {\\n margin-right: -0.5rem !important;\\n }\\n .mb-xl-n2,\\n .my-xl-n2 {\\n margin-bottom: -0.5rem !important;\\n }\\n .ml-xl-n2,\\n .mx-xl-n2 {\\n margin-left: -0.5rem !important;\\n }\\n .m-xl-n3 {\\n margin: -1rem !important;\\n }\\n .mt-xl-n3,\\n .my-xl-n3 {\\n margin-top: -1rem !important;\\n }\\n .mr-xl-n3,\\n .mx-xl-n3 {\\n margin-right: -1rem !important;\\n }\\n .mb-xl-n3,\\n .my-xl-n3 {\\n margin-bottom: -1rem !important;\\n }\\n .ml-xl-n3,\\n .mx-xl-n3 {\\n margin-left: -1rem !important;\\n }\\n .m-xl-n4 {\\n margin: -1.5rem !important;\\n }\\n .mt-xl-n4,\\n .my-xl-n4 {\\n margin-top: -1.5rem !important;\\n }\\n .mr-xl-n4,\\n .mx-xl-n4 {\\n margin-right: -1.5rem !important;\\n }\\n .mb-xl-n4,\\n .my-xl-n4 {\\n margin-bottom: -1.5rem !important;\\n }\\n .ml-xl-n4,\\n .mx-xl-n4 {\\n margin-left: -1.5rem !important;\\n }\\n .m-xl-n5 {\\n margin: -3rem !important;\\n }\\n .mt-xl-n5,\\n .my-xl-n5 {\\n margin-top: -3rem !important;\\n }\\n .mr-xl-n5,\\n .mx-xl-n5 {\\n margin-right: -3rem !important;\\n }\\n .mb-xl-n5,\\n .my-xl-n5 {\\n margin-bottom: -3rem !important;\\n }\\n .ml-xl-n5,\\n .mx-xl-n5 {\\n margin-left: -3rem !important;\\n }\\n .m-xl-auto {\\n margin: auto !important;\\n }\\n .mt-xl-auto,\\n .my-xl-auto {\\n margin-top: auto !important;\\n }\\n .mr-xl-auto,\\n .mx-xl-auto {\\n margin-right: auto !important;\\n }\\n .mb-xl-auto,\\n .my-xl-auto {\\n margin-bottom: auto !important;\\n }\\n .ml-xl-auto,\\n .mx-xl-auto {\\n margin-left: auto !important;\\n }\\n}\\n\\n.text-monospace {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace !important;\\n}\\n\\n.text-justify {\\n text-align: justify !important;\\n}\\n\\n.text-wrap {\\n white-space: normal !important;\\n}\\n\\n.text-nowrap {\\n white-space: nowrap !important;\\n}\\n\\n.text-truncate {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\\n.text-left {\\n text-align: left !important;\\n}\\n\\n.text-right {\\n text-align: right !important;\\n}\\n\\n.text-center {\\n text-align: center !important;\\n}\\n\\n@media (min-width: 576px) {\\n .text-sm-left {\\n text-align: left !important;\\n }\\n .text-sm-right {\\n text-align: right !important;\\n }\\n .text-sm-center {\\n text-align: center !important;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .text-md-left {\\n text-align: left !important;\\n }\\n .text-md-right {\\n text-align: right !important;\\n }\\n .text-md-center {\\n text-align: center !important;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .text-lg-left {\\n text-align: left !important;\\n }\\n .text-lg-right {\\n text-align: right !important;\\n }\\n .text-lg-center {\\n text-align: center !important;\\n }\\n}\\n\\n@media (min-width: 1200px) {\\n .text-xl-left {\\n text-align: left !important;\\n }\\n .text-xl-right {\\n text-align: right !important;\\n }\\n .text-xl-center {\\n text-align: center !important;\\n }\\n}\\n\\n.text-lowercase {\\n text-transform: lowercase !important;\\n}\\n\\n.text-uppercase {\\n text-transform: uppercase !important;\\n}\\n\\n.text-capitalize {\\n text-transform: capitalize !important;\\n}\\n\\n.font-weight-light {\\n font-weight: 300 !important;\\n}\\n\\n.font-weight-lighter {\\n font-weight: lighter !important;\\n}\\n\\n.font-weight-normal {\\n font-weight: 400 !important;\\n}\\n\\n.font-weight-bold {\\n font-weight: 700 !important;\\n}\\n\\n.font-weight-bolder {\\n font-weight: bolder !important;\\n}\\n\\n.font-italic {\\n font-style: italic !important;\\n}\\n\\n.text-white {\\n color: #fff !important;\\n}\\n\\n.text-primary {\\n color: #007bff !important;\\n}\\n\\na.text-primary:hover, a.text-primary:focus {\\n color: #0056b3 !important;\\n}\\n\\n.text-secondary {\\n color: #6c757d !important;\\n}\\n\\na.text-secondary:hover, a.text-secondary:focus {\\n color: #494f54 !important;\\n}\\n\\n.text-success {\\n color: #28a745 !important;\\n}\\n\\na.text-success:hover, a.text-success:focus {\\n color: #19692c !important;\\n}\\n\\n.text-info {\\n color: #17a2b8 !important;\\n}\\n\\na.text-info:hover, a.text-info:focus {\\n color: #0f6674 !important;\\n}\\n\\n.text-warning {\\n color: #ffc107 !important;\\n}\\n\\na.text-warning:hover, a.text-warning:focus {\\n color: #ba8b00 !important;\\n}\\n\\n.text-danger {\\n color: #dc3545 !important;\\n}\\n\\na.text-danger:hover, a.text-danger:focus {\\n color: #a71d2a !important;\\n}\\n\\n.text-light {\\n color: #f8f9fa !important;\\n}\\n\\na.text-light:hover, a.text-light:focus {\\n color: #cbd3da !important;\\n}\\n\\n.text-dark {\\n color: #343a40 !important;\\n}\\n\\na.text-dark:hover, a.text-dark:focus {\\n color: #121416 !important;\\n}\\n\\n.text-body {\\n color: #212529 !important;\\n}\\n\\n.text-muted {\\n color: #6c757d !important;\\n}\\n\\n.text-black-50 {\\n color: rgba(0, 0, 0, 0.5) !important;\\n}\\n\\n.text-white-50 {\\n color: rgba(255, 255, 255, 0.5) !important;\\n}\\n\\n.text-hide {\\n font: 0/0 a;\\n color: transparent;\\n text-shadow: none;\\n background-color: transparent;\\n border: 0;\\n}\\n\\n.text-decoration-none {\\n text-decoration: none !important;\\n}\\n\\n.text-break {\\n word-break: break-word !important;\\n overflow-wrap: break-word !important;\\n}\\n\\n.text-reset {\\n color: inherit !important;\\n}\\n\\n.visible {\\n visibility: visible !important;\\n}\\n\\n.invisible {\\n visibility: hidden !important;\\n}\\n\\n@media print {\\n *,\\n *::before,\\n *::after {\\n text-shadow: none !important;\\n box-shadow: none !important;\\n }\\n a:not(.btn) {\\n text-decoration: underline;\\n }\\n abbr[title]::after {\\n content: \\\" (\\\" attr(title) \\\")\\\";\\n }\\n pre {\\n white-space: pre-wrap !important;\\n }\\n pre,\\n blockquote {\\n border: 1px solid #adb5bd;\\n page-break-inside: avoid;\\n }\\n thead {\\n display: table-header-group;\\n }\\n tr,\\n img {\\n page-break-inside: avoid;\\n }\\n p,\\n h2,\\n h3 {\\n orphans: 3;\\n widows: 3;\\n }\\n h2,\\n h3 {\\n page-break-after: avoid;\\n }\\n @page {\\n size: a3;\\n }\\n body {\\n min-width: 992px !important;\\n }\\n .container {\\n min-width: 992px !important;\\n }\\n .navbar {\\n display: none;\\n }\\n .badge {\\n border: 1px solid #000;\\n }\\n .table {\\n border-collapse: collapse !important;\\n }\\n .table td,\\n .table th {\\n background-color: #fff !important;\\n }\\n .table-bordered th,\\n .table-bordered td {\\n border: 1px solid #dee2e6 !important;\\n }\\n .table-dark {\\n color: inherit;\\n }\\n .table-dark th,\\n .table-dark td,\\n .table-dark thead th,\\n .table-dark tbody + tbody {\\n border-color: #dee2e6;\\n }\\n .table .thead-dark th {\\n color: inherit;\\n border-color: #dee2e6;\\n }\\n}\", \"\"]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2Rpc3QvY3NzL2Jvb3RzdHJhcC5jc3M/MDkxNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxFQUFxQztBQUN4RTs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsd09BQXdPLG9CQUFvQixzQkFBc0Isc0JBQXNCLG9CQUFvQixtQkFBbUIsc0JBQXNCLHNCQUFzQixxQkFBcUIsb0JBQW9CLG9CQUFvQixrQkFBa0Isb0JBQW9CLHlCQUF5Qix1QkFBdUIseUJBQXlCLHVCQUF1QixvQkFBb0IsdUJBQXVCLHNCQUFzQixxQkFBcUIsb0JBQW9CLHVCQUF1QiwyQkFBMkIsMkJBQTJCLDJCQUEyQiw0QkFBNEIsa09BQWtPLHNIQUFzSCxHQUFHLDhCQUE4QiwyQkFBMkIsR0FBRyxVQUFVLDRCQUE0QixzQkFBc0IsbUNBQW1DLGtEQUFrRCxHQUFHLG9GQUFvRixtQkFBbUIsR0FBRyxVQUFVLGNBQWMscU5BQXFOLG9CQUFvQixxQkFBcUIscUJBQXFCLG1CQUFtQixxQkFBcUIsMkJBQTJCLEdBQUcsNkJBQTZCLDBCQUEwQixHQUFHLFFBQVEsNEJBQTRCLGNBQWMsc0JBQXNCLEdBQUcsNEJBQTRCLGtCQUFrQiwwQkFBMEIsR0FBRyxPQUFPLGtCQUFrQix3QkFBd0IsR0FBRyw2Q0FBNkMsK0JBQStCLDhDQUE4QyxzQ0FBc0MsaUJBQWlCLHFCQUFxQiwyQ0FBMkMsbUNBQW1DLEdBQUcsYUFBYSx3QkFBd0IsdUJBQXVCLHlCQUF5QixHQUFHLGtCQUFrQixrQkFBa0Isd0JBQXdCLEdBQUcsbUNBQW1DLHFCQUFxQixHQUFHLFFBQVEscUJBQXFCLEdBQUcsUUFBUSx5QkFBeUIsbUJBQW1CLEdBQUcsZ0JBQWdCLHFCQUFxQixHQUFHLGdCQUFnQix3QkFBd0IsR0FBRyxXQUFXLG1CQUFtQixHQUFHLGVBQWUsdUJBQXVCLG1CQUFtQixtQkFBbUIsNkJBQTZCLEdBQUcsU0FBUyxtQkFBbUIsR0FBRyxTQUFTLGVBQWUsR0FBRyxPQUFPLG1CQUFtQiwwQkFBMEIsa0NBQWtDLEdBQUcsYUFBYSxtQkFBbUIsK0JBQStCLEdBQUcsbUNBQW1DLG1CQUFtQiwwQkFBMEIsR0FBRyw4RUFBOEUsbUJBQW1CLDBCQUEwQixHQUFHLHlDQUF5QyxlQUFlLEdBQUcsNkJBQTZCLDBHQUEwRyxtQkFBbUIsR0FBRyxTQUFTLGtCQUFrQix3QkFBd0IsbUJBQW1CLEdBQUcsWUFBWSxxQkFBcUIsR0FBRyxTQUFTLDJCQUEyQix1QkFBdUIsR0FBRyxTQUFTLHFCQUFxQiwyQkFBMkIsR0FBRyxXQUFXLDhCQUE4QixHQUFHLGFBQWEseUJBQXlCLDRCQUE0QixtQkFBbUIscUJBQXFCLHlCQUF5QixHQUFHLFFBQVEsd0JBQXdCLEdBQUcsV0FBVywwQkFBMEIsMEJBQTBCLEdBQUcsWUFBWSxxQkFBcUIsR0FBRyxrQkFBa0Isd0JBQXdCLCtDQUErQyxHQUFHLG1EQUFtRCxjQUFjLHlCQUF5Qix1QkFBdUIseUJBQXlCLEdBQUcsb0JBQW9CLHNCQUFzQixHQUFHLHFCQUFxQix5QkFBeUIsR0FBRyxZQUFZLHNCQUFzQixHQUFHLHVFQUF1RSwrQkFBK0IsR0FBRyxtSUFBbUksb0JBQW9CLEdBQUcsK0lBQStJLGVBQWUsdUJBQXVCLEdBQUcsc0RBQXNELDJCQUEyQixlQUFlLEdBQUcsMEdBQTBHLGdDQUFnQyxHQUFHLGNBQWMsbUJBQW1CLHFCQUFxQixHQUFHLGNBQWMsaUJBQWlCLGVBQWUsY0FBYyxjQUFjLEdBQUcsWUFBWSxtQkFBbUIsZ0JBQWdCLG9CQUFvQixlQUFlLHlCQUF5QixzQkFBc0IseUJBQXlCLG1CQUFtQix3QkFBd0IsR0FBRyxjQUFjLDZCQUE2QixHQUFHLGlHQUFpRyxpQkFBaUIsR0FBRyx1QkFBdUIseUJBQXlCLDZCQUE2QixHQUFHLGtEQUFrRCw2QkFBNkIsR0FBRyxrQ0FBa0Msa0JBQWtCLCtCQUErQixHQUFHLFlBQVksMEJBQTBCLEdBQUcsYUFBYSx1QkFBdUIsb0JBQW9CLEdBQUcsY0FBYyxrQkFBa0IsR0FBRyxjQUFjLDZCQUE2QixHQUFHLDJEQUEyRCwwQkFBMEIscUJBQXFCLHFCQUFxQixHQUFHLGFBQWEsc0JBQXNCLEdBQUcsYUFBYSxvQkFBb0IsR0FBRyxhQUFhLHVCQUF1QixHQUFHLGFBQWEsc0JBQXNCLEdBQUcsYUFBYSx1QkFBdUIsR0FBRyxhQUFhLG9CQUFvQixHQUFHLFdBQVcsdUJBQXVCLHFCQUFxQixHQUFHLGdCQUFnQixvQkFBb0IscUJBQXFCLHFCQUFxQixHQUFHLGdCQUFnQixzQkFBc0IscUJBQXFCLHFCQUFxQixHQUFHLGdCQUFnQixzQkFBc0IscUJBQXFCLHFCQUFxQixHQUFHLGdCQUFnQixzQkFBc0IscUJBQXFCLHFCQUFxQixHQUFHLFFBQVEscUJBQXFCLHdCQUF3QixjQUFjLDZDQUE2QyxHQUFHLG9CQUFvQixtQkFBbUIscUJBQXFCLEdBQUcsa0JBQWtCLG1CQUFtQiw4QkFBOEIsR0FBRyxvQkFBb0Isb0JBQW9CLHFCQUFxQixHQUFHLGtCQUFrQixvQkFBb0IscUJBQXFCLEdBQUcsdUJBQXVCLDBCQUEwQixHQUFHLHdDQUF3Qyx5QkFBeUIsR0FBRyxpQkFBaUIsbUJBQW1CLDhCQUE4QixHQUFHLGlCQUFpQix3QkFBd0IsdUJBQXVCLEdBQUcsd0JBQXdCLG1CQUFtQixtQkFBbUIsbUJBQW1CLEdBQUcsZ0NBQWdDLDRCQUE0QixHQUFHLGdCQUFnQixvQkFBb0IsaUJBQWlCLEdBQUcsb0JBQW9CLHFCQUFxQiwyQkFBMkIsOEJBQThCLDJCQUEyQixvQkFBb0IsaUJBQWlCLEdBQUcsYUFBYSwwQkFBMEIsR0FBRyxpQkFBaUIsMEJBQTBCLG1CQUFtQixHQUFHLHFCQUFxQixtQkFBbUIsbUJBQW1CLEdBQUcsVUFBVSxxQkFBcUIsbUJBQW1CLDJCQUEyQixHQUFHLGNBQWMsbUJBQW1CLEdBQUcsU0FBUywyQkFBMkIscUJBQXFCLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsYUFBYSxlQUFlLG9CQUFvQixxQkFBcUIsR0FBRyxTQUFTLG1CQUFtQixxQkFBcUIsbUJBQW1CLEdBQUcsY0FBYyx1QkFBdUIsbUJBQW1CLHVCQUF1QixHQUFHLHFCQUFxQixzQkFBc0IsdUJBQXVCLEdBQUcsZ0JBQWdCLGdCQUFnQix3QkFBd0IsdUJBQXVCLHVCQUF1QixzQkFBc0IsR0FBRywrQkFBK0IsZ0JBQWdCLHVCQUF1QixLQUFLLEdBQUcsK0JBQStCLGdCQUFnQix1QkFBdUIsS0FBSyxHQUFHLCtCQUErQixnQkFBZ0IsdUJBQXVCLEtBQUssR0FBRyxnQ0FBZ0MsZ0JBQWdCLHdCQUF3QixLQUFLLEdBQUcsc0JBQXNCLGdCQUFnQix3QkFBd0IsdUJBQXVCLHVCQUF1QixzQkFBc0IsR0FBRyxVQUFVLHlCQUF5QixrQkFBa0Isd0JBQXdCLG9CQUFvQix3QkFBd0IsdUJBQXVCLEdBQUcsaUJBQWlCLG9CQUFvQixtQkFBbUIsR0FBRywwREFBMEQscUJBQXFCLG9CQUFvQixHQUFHLHF2QkFBcXZCLHVCQUF1QixnQkFBZ0Isd0JBQXdCLHVCQUF1QixHQUFHLFVBQVUsK0JBQStCLGtCQUFrQix5QkFBeUIsaUJBQWlCLG9CQUFvQixHQUFHLGVBQWUsdUJBQXVCLG1CQUFtQixnQkFBZ0Isb0JBQW9CLEdBQUcsWUFBWSw0QkFBNEIsd0JBQXdCLHlCQUF5QixHQUFHLFlBQVksNkJBQTZCLHlCQUF5QiwwQkFBMEIsR0FBRyxZQUFZLHNCQUFzQixrQkFBa0IsbUJBQW1CLEdBQUcsWUFBWSw2QkFBNkIseUJBQXlCLDBCQUEwQixHQUFHLFlBQVksNkJBQTZCLHlCQUF5QiwwQkFBMEIsR0FBRyxZQUFZLHNCQUFzQixrQkFBa0IsbUJBQW1CLEdBQUcsWUFBWSw2QkFBNkIseUJBQXlCLDBCQUEwQixHQUFHLFlBQVksNkJBQTZCLHlCQUF5QiwwQkFBMEIsR0FBRyxZQUFZLHNCQUFzQixrQkFBa0IsbUJBQW1CLEdBQUcsYUFBYSw2QkFBNkIseUJBQXlCLDBCQUEwQixHQUFHLGFBQWEsNkJBQTZCLHlCQUF5QiwwQkFBMEIsR0FBRyxhQUFhLHVCQUF1QixtQkFBbUIsb0JBQW9CLEdBQUcsa0JBQWtCLHVCQUF1QixjQUFjLEdBQUcsaUJBQWlCLHVCQUF1QixjQUFjLEdBQUcsY0FBYyxzQkFBc0IsYUFBYSxHQUFHLGNBQWMsc0JBQXNCLGFBQWEsR0FBRyxjQUFjLHNCQUFzQixhQUFhLEdBQUcsY0FBYyxzQkFBc0IsYUFBYSxHQUFHLGNBQWMsc0JBQXNCLGFBQWEsR0FBRyxjQUFjLHNCQUFzQixhQUFhLEdBQUcsY0FBYyxzQkFBc0IsYUFBYSxHQUFHLGNBQWMsc0JBQXNCLGFBQWEsR0FBRyxjQUFjLHNCQUFzQixhQUFhLEdBQUcsY0FBYyxzQkFBc0IsYUFBYSxHQUFHLGVBQWUsdUJBQXVCLGNBQWMsR0FBRyxlQUFlLHVCQUF1QixjQUFjLEdBQUcsZUFBZSx1QkFBdUIsY0FBYyxHQUFHLGVBQWUsMkJBQTJCLEdBQUcsZUFBZSw0QkFBNEIsR0FBRyxlQUFlLHFCQUFxQixHQUFHLGVBQWUsNEJBQTRCLEdBQUcsZUFBZSw0QkFBNEIsR0FBRyxlQUFlLHFCQUFxQixHQUFHLGVBQWUsNEJBQTRCLEdBQUcsZUFBZSw0QkFBNEIsR0FBRyxlQUFlLHFCQUFxQixHQUFHLGdCQUFnQiw0QkFBNEIsR0FBRyxnQkFBZ0IsNEJBQTRCLEdBQUcsK0JBQStCLGFBQWEsaUNBQWlDLG9CQUFvQiwyQkFBMkIsbUJBQW1CLHNCQUFzQixLQUFLLGtCQUFrQix5QkFBeUIscUJBQXFCLGtCQUFrQixzQkFBc0IsS0FBSyxlQUFlLDhCQUE4QiwwQkFBMEIsMkJBQTJCLEtBQUssZUFBZSwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGVBQWUsd0JBQXdCLG9CQUFvQixxQkFBcUIsS0FBSyxlQUFlLCtCQUErQiwyQkFBMkIsNEJBQTRCLEtBQUssZUFBZSwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGVBQWUsd0JBQXdCLG9CQUFvQixxQkFBcUIsS0FBSyxlQUFlLCtCQUErQiwyQkFBMkIsNEJBQTRCLEtBQUssZUFBZSwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGVBQWUsd0JBQXdCLG9CQUFvQixxQkFBcUIsS0FBSyxnQkFBZ0IsK0JBQStCLDJCQUEyQiw0QkFBNEIsS0FBSyxnQkFBZ0IsK0JBQStCLDJCQUEyQiw0QkFBNEIsS0FBSyxnQkFBZ0IseUJBQXlCLHFCQUFxQixzQkFBc0IsS0FBSyxxQkFBcUIseUJBQXlCLGdCQUFnQixLQUFLLG9CQUFvQix5QkFBeUIsZ0JBQWdCLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssa0JBQWtCLHlCQUF5QixnQkFBZ0IsS0FBSyxrQkFBa0IseUJBQXlCLGdCQUFnQixLQUFLLGtCQUFrQix5QkFBeUIsZ0JBQWdCLEtBQUssa0JBQWtCLHFCQUFxQixLQUFLLGtCQUFrQiw2QkFBNkIsS0FBSyxrQkFBa0IsOEJBQThCLEtBQUssa0JBQWtCLHVCQUF1QixLQUFLLGtCQUFrQiw4QkFBOEIsS0FBSyxrQkFBa0IsOEJBQThCLEtBQUssa0JBQWtCLHVCQUF1QixLQUFLLGtCQUFrQiw4QkFBOEIsS0FBSyxrQkFBa0IsOEJBQThCLEtBQUssa0JBQWtCLHVCQUF1QixLQUFLLG1CQUFtQiw4QkFBOEIsS0FBSyxtQkFBbUIsOEJBQThCLEtBQUssR0FBRywrQkFBK0IsYUFBYSxpQ0FBaUMsb0JBQW9CLDJCQUEyQixtQkFBbUIsc0JBQXNCLEtBQUssa0JBQWtCLHlCQUF5QixxQkFBcUIsa0JBQWtCLHNCQUFzQixLQUFLLGVBQWUsOEJBQThCLDBCQUEwQiwyQkFBMkIsS0FBSyxlQUFlLCtCQUErQiwyQkFBMkIsNEJBQTRCLEtBQUssZUFBZSx3QkFBd0Isb0JBQW9CLHFCQUFxQixLQUFLLGVBQWUsK0JBQStCLDJCQUEyQiw0QkFBNEIsS0FBSyxlQUFlLCtCQUErQiwyQkFBMkIsNEJBQTRCLEtBQUssZUFBZSx3QkFBd0Isb0JBQW9CLHFCQUFxQixLQUFLLGVBQWUsK0JBQStCLDJCQUEyQiw0QkFBNEIsS0FBSyxlQUFlLCtCQUErQiwyQkFBMkIsNEJBQTRCLEtBQUssZUFBZSx3QkFBd0Isb0JBQW9CLHFCQUFxQixLQUFLLGdCQUFnQiwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGdCQUFnQiwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGdCQUFnQix5QkFBeUIscUJBQXFCLHNCQUFzQixLQUFLLHFCQUFxQix5QkFBeUIsZ0JBQWdCLEtBQUssb0JBQW9CLHlCQUF5QixnQkFBZ0IsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxpQkFBaUIsd0JBQXdCLGVBQWUsS0FBSyxrQkFBa0IseUJBQXlCLGdCQUFnQixLQUFLLGtCQUFrQix5QkFBeUIsZ0JBQWdCLEtBQUssa0JBQWtCLHlCQUF5QixnQkFBZ0IsS0FBSyxrQkFBa0IscUJBQXFCLEtBQUssa0JBQWtCLDZCQUE2QixLQUFLLGtCQUFrQiw4QkFBOEIsS0FBSyxrQkFBa0IsdUJBQXVCLEtBQUssa0JBQWtCLDhCQUE4QixLQUFLLGtCQUFrQiw4QkFBOEIsS0FBSyxrQkFBa0IsdUJBQXVCLEtBQUssa0JBQWtCLDhCQUE4QixLQUFLLGtCQUFrQiw4QkFBOEIsS0FBSyxrQkFBa0IsdUJBQXVCLEtBQUssbUJBQW1CLDhCQUE4QixLQUFLLG1CQUFtQiw4QkFBOEIsS0FBSyxHQUFHLCtCQUErQixhQUFhLGlDQUFpQyxvQkFBb0IsMkJBQTJCLG1CQUFtQixzQkFBc0IsS0FBSyxrQkFBa0IseUJBQXlCLHFCQUFxQixrQkFBa0Isc0JBQXNCLEtBQUssZUFBZSw4QkFBOEIsMEJBQTBCLDJCQUEyQixLQUFLLGVBQWUsK0JBQStCLDJCQUEyQiw0QkFBNEIsS0FBSyxlQUFlLHdCQUF3QixvQkFBb0IscUJBQXFCLEtBQUssZUFBZSwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGVBQWUsK0JBQStCLDJCQUEyQiw0QkFBNEIsS0FBSyxlQUFlLHdCQUF3QixvQkFBb0IscUJBQXFCLEtBQUssZUFBZSwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGVBQWUsK0JBQStCLDJCQUEyQiw0QkFBNEIsS0FBSyxlQUFlLHdCQUF3QixvQkFBb0IscUJBQXFCLEtBQUssZ0JBQWdCLCtCQUErQiwyQkFBMkIsNEJBQTRCLEtBQUssZ0JBQWdCLCtCQUErQiwyQkFBMkIsNEJBQTRCLEtBQUssZ0JBQWdCLHlCQUF5QixxQkFBcUIsc0JBQXNCLEtBQUsscUJBQXFCLHlCQUF5QixnQkFBZ0IsS0FBSyxvQkFBb0IseUJBQXlCLGdCQUFnQixLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGlCQUFpQix3QkFBd0IsZUFBZSxLQUFLLGtCQUFrQix5QkFBeUIsZ0JBQWdCLEtBQUssa0JBQWtCLHlCQUF5QixnQkFBZ0IsS0FBSyxrQkFBa0IseUJBQXlCLGdCQUFnQixLQUFLLGtCQUFrQixxQkFBcUIsS0FBSyxrQkFBa0IsNkJBQTZCLEtBQUssa0JBQWtCLDhCQUE4QixLQUFLLGtCQUFrQix1QkFBdUIsS0FBSyxrQkFBa0IsOEJBQThCLEtBQUssa0JBQWtCLDhCQUE4QixLQUFLLGtCQUFrQix1QkFBdUIsS0FBSyxrQkFBa0IsOEJBQThCLEtBQUssa0JBQWtCLDhCQUE4QixLQUFLLGtCQUFrQix1QkFBdUIsS0FBSyxtQkFBbUIsOEJBQThCLEtBQUssbUJBQW1CLDhCQUE4QixLQUFLLEdBQUcsZ0NBQWdDLGFBQWEsaUNBQWlDLG9CQUFvQiwyQkFBMkIsbUJBQW1CLHNCQUFzQixLQUFLLGtCQUFrQix5QkFBeUIscUJBQXFCLGtCQUFrQixzQkFBc0IsS0FBSyxlQUFlLDhCQUE4QiwwQkFBMEIsMkJBQTJCLEtBQUssZUFBZSwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGVBQWUsd0JBQXdCLG9CQUFvQixxQkFBcUIsS0FBSyxlQUFlLCtCQUErQiwyQkFBMkIsNEJBQTRCLEtBQUssZUFBZSwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGVBQWUsd0JBQXdCLG9CQUFvQixxQkFBcUIsS0FBSyxlQUFlLCtCQUErQiwyQkFBMkIsNEJBQTRCLEtBQUssZUFBZSwrQkFBK0IsMkJBQTJCLDRCQUE0QixLQUFLLGVBQWUsd0JBQXdCLG9CQUFvQixxQkFBcUIsS0FBSyxnQkFBZ0IsK0JBQStCLDJCQUEyQiw0QkFBNEIsS0FBSyxnQkFBZ0IsK0JBQStCLDJCQUEyQiw0QkFBNEIsS0FBSyxnQkFBZ0IseUJBQXlCLHFCQUFxQixzQkFBc0IsS0FBSyxxQkFBcUIseUJBQXlCLGdCQUFnQixLQUFLLG9CQUFvQix5QkFBeUIsZ0JBQWdCLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssaUJBQWlCLHdCQUF3QixlQUFlLEtBQUssa0JBQWtCLHlCQUF5QixnQkFBZ0IsS0FBSyxrQkFBa0IseUJBQXlCLGdCQUFnQixLQUFLLGtCQUFrQix5QkFBeUIsZ0JBQWdCLEtBQUssa0JBQWtCLHFCQUFxQixLQUFLLGtCQUFrQiw2QkFBNkIsS0FBSyxrQkFBa0IsOEJBQThCLEtBQUssa0JBQWtCLHVCQUF1QixLQUFLLGtCQUFrQiw4QkFBOEIsS0FBSyxrQkFBa0IsOEJBQThCLEtBQUssa0JBQWtCLHVCQUF1QixLQUFLLGtCQUFrQiw4QkFBOEIsS0FBSyxrQkFBa0IsOEJBQThCLEtBQUssa0JBQWtCLHVCQUF1QixLQUFLLG1CQUFtQiw4QkFBOEIsS0FBSyxtQkFBbUIsOEJBQThCLEtBQUssR0FBRyxZQUFZLGdCQUFnQix3QkFBd0IsbUJBQW1CLEdBQUcsMkJBQTJCLHFCQUFxQix3QkFBd0Isa0NBQWtDLEdBQUcscUJBQXFCLDJCQUEyQixxQ0FBcUMsR0FBRywwQkFBMEIsa0NBQWtDLEdBQUcsaUNBQWlDLG9CQUFvQixHQUFHLHFCQUFxQiw4QkFBOEIsR0FBRyw2Q0FBNkMsOEJBQThCLEdBQUcseURBQXlELDZCQUE2QixHQUFHLGdIQUFnSCxjQUFjLEdBQUcsOENBQThDLDBDQUEwQyxHQUFHLGlDQUFpQyxtQkFBbUIsMkNBQTJDLEdBQUcsZ0VBQWdFLDhCQUE4QixHQUFHLG9HQUFvRywwQkFBMEIsR0FBRyx1Q0FBdUMsOEJBQThCLEdBQUcscUZBQXFGLDhCQUE4QixHQUFHLHNFQUFzRSw4QkFBOEIsR0FBRyw0R0FBNEcsMEJBQTBCLEdBQUcseUNBQXlDLDhCQUE4QixHQUFHLHlGQUF5Riw4QkFBOEIsR0FBRyxnRUFBZ0UsOEJBQThCLEdBQUcsb0dBQW9HLDBCQUEwQixHQUFHLHVDQUF1Qyw4QkFBOEIsR0FBRyxxRkFBcUYsOEJBQThCLEdBQUcsdURBQXVELDhCQUE4QixHQUFHLHdGQUF3RiwwQkFBMEIsR0FBRyxvQ0FBb0MsOEJBQThCLEdBQUcsK0VBQStFLDhCQUE4QixHQUFHLGdFQUFnRSw4QkFBOEIsR0FBRyxvR0FBb0csMEJBQTBCLEdBQUcsdUNBQXVDLDhCQUE4QixHQUFHLHFGQUFxRiw4QkFBOEIsR0FBRyw2REFBNkQsOEJBQThCLEdBQUcsZ0dBQWdHLDBCQUEwQixHQUFHLHNDQUFzQyw4QkFBOEIsR0FBRyxtRkFBbUYsOEJBQThCLEdBQUcsMERBQTBELDhCQUE4QixHQUFHLDRGQUE0RiwwQkFBMEIsR0FBRyxxQ0FBcUMsOEJBQThCLEdBQUcsaUZBQWlGLDhCQUE4QixHQUFHLHVEQUF1RCw4QkFBOEIsR0FBRyx3RkFBd0YsMEJBQTBCLEdBQUcsb0NBQW9DLDhCQUE4QixHQUFHLCtFQUErRSw4QkFBOEIsR0FBRyw2REFBNkQsMkNBQTJDLEdBQUcsc0NBQXNDLDJDQUEyQyxHQUFHLG1GQUFtRiwyQ0FBMkMsR0FBRywyQkFBMkIsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyw0QkFBNEIsbUJBQW1CLDhCQUE4QiwwQkFBMEIsR0FBRyxpQkFBaUIsZ0JBQWdCLDhCQUE4QixHQUFHLDREQUE0RCwwQkFBMEIsR0FBRyxnQ0FBZ0MsY0FBYyxHQUFHLHlEQUF5RCxnREFBZ0QsR0FBRyw0Q0FBNEMsZ0JBQWdCLGlEQUFpRCxHQUFHLGtDQUFrQywwQkFBMEIscUJBQXFCLGtCQUFrQix1QkFBdUIsd0NBQXdDLEtBQUssNENBQTRDLGdCQUFnQixLQUFLLEdBQUcsa0NBQWtDLDBCQUEwQixxQkFBcUIsa0JBQWtCLHVCQUF1Qix3Q0FBd0MsS0FBSyw0Q0FBNEMsZ0JBQWdCLEtBQUssR0FBRyxrQ0FBa0MsMEJBQTBCLHFCQUFxQixrQkFBa0IsdUJBQXVCLHdDQUF3QyxLQUFLLDRDQUE0QyxnQkFBZ0IsS0FBSyxHQUFHLG1DQUFtQywwQkFBMEIscUJBQXFCLGtCQUFrQix1QkFBdUIsd0NBQXdDLEtBQUssNENBQTRDLGdCQUFnQixLQUFLLEdBQUcsdUJBQXVCLG1CQUFtQixnQkFBZ0IscUJBQXFCLHNDQUFzQyxHQUFHLHlDQUF5QyxjQUFjLEdBQUcsbUJBQW1CLG1CQUFtQixnQkFBZ0Isd0NBQXdDLDhCQUE4QixvQkFBb0IscUJBQXFCLHFCQUFxQixtQkFBbUIsMkJBQTJCLGlDQUFpQyw4QkFBOEIsMkJBQTJCLDZFQUE2RSxHQUFHLDZDQUE2QyxtQkFBbUIsdUJBQXVCLEtBQUssR0FBRywrQkFBK0Isa0NBQWtDLGNBQWMsR0FBRyx5QkFBeUIsbUJBQW1CLDJCQUEyQiwwQkFBMEIsZUFBZSxxREFBcUQsR0FBRyw4Q0FBOEMsbUJBQW1CLGVBQWUsR0FBRyxxQ0FBcUMsbUJBQW1CLGVBQWUsR0FBRyx5Q0FBeUMsbUJBQW1CLGVBQWUsR0FBRywwQ0FBMEMsbUJBQW1CLGVBQWUsR0FBRyxnQ0FBZ0MsbUJBQW1CLGVBQWUsR0FBRyxxREFBcUQsOEJBQThCLGVBQWUsR0FBRywwQ0FBMEMsbUJBQW1CLDJCQUEyQixHQUFHLDhDQUE4QyxtQkFBbUIsZ0JBQWdCLEdBQUcscUJBQXFCLHNDQUFzQyx5Q0FBeUMscUJBQXFCLHVCQUF1QixxQkFBcUIsR0FBRyx3QkFBd0Isb0NBQW9DLHVDQUF1Qyx1QkFBdUIscUJBQXFCLEdBQUcsd0JBQXdCLHFDQUFxQyx3Q0FBd0Msd0JBQXdCLHFCQUFxQixHQUFHLDZCQUE2QixtQkFBbUIsZ0JBQWdCLDBCQUEwQiw2QkFBNkIscUJBQXFCLHFCQUFxQixtQkFBbUIsa0NBQWtDLDhCQUE4Qix3QkFBd0IsR0FBRyxzRkFBc0YscUJBQXFCLG9CQUFvQixHQUFHLHNCQUFzQix1Q0FBdUMsNEJBQTRCLHdCQUF3QixxQkFBcUIsMEJBQTBCLEdBQUcsc0JBQXNCLHFDQUFxQyx5QkFBeUIsdUJBQXVCLHFCQUFxQiwwQkFBMEIsR0FBRyw4REFBOEQsaUJBQWlCLEdBQUcsMkJBQTJCLGlCQUFpQixHQUFHLGlCQUFpQix3QkFBd0IsR0FBRyxnQkFBZ0IsbUJBQW1CLHdCQUF3QixHQUFHLGVBQWUseUJBQXlCLGtCQUFrQix3QkFBd0Isb0JBQW9CLHVCQUF1QixzQkFBc0IsR0FBRyxzREFBc0QsdUJBQXVCLHNCQUFzQixHQUFHLGlCQUFpQix1QkFBdUIsbUJBQW1CLDBCQUEwQixHQUFHLHVCQUF1Qix1QkFBdUIsdUJBQXVCLDBCQUEwQixHQUFHLG9EQUFvRCxtQkFBbUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsd0JBQXdCLGdDQUFnQyx5QkFBeUIsMkJBQTJCLHdCQUF3QixvQkFBb0IsMEJBQTBCLEdBQUcsMENBQTBDLHFCQUFxQixrQkFBa0IsNEJBQTRCLG1CQUFtQixHQUFHLHFCQUFxQixrQkFBa0IsZ0JBQWdCLHdCQUF3QixtQkFBbUIsbUJBQW1CLEdBQUcsb0JBQW9CLHVCQUF1QixjQUFjLGVBQWUsa0JBQWtCLG9CQUFvQiw0QkFBNEIsc0JBQXNCLHdCQUF3QixxQkFBcUIsZ0JBQWdCLDZDQUE2QywyQkFBMkIsR0FBRyxnRUFBZ0UsMEJBQTBCLHlDQUF5QyxtUUFBbVEsaUNBQWlDLGdFQUFnRSxxRUFBcUUsR0FBRyw0RUFBNEUsMEJBQTBCLHFEQUFxRCxHQUFHLG9NQUFvTSxtQkFBbUIsR0FBRyxnRkFBZ0YseUNBQXlDLHVGQUF1RixHQUFHLGtFQUFrRSwwQkFBMEIsMkRBQTJELHNoQkFBc2hCLEdBQUcsOEVBQThFLDBCQUEwQixxREFBcUQsR0FBRyx3TUFBd00sbUJBQW1CLEdBQUcsd05BQXdOLG1CQUFtQixHQUFHLGdIQUFnSCxtQkFBbUIsR0FBRyxvTkFBb04sbUJBQW1CLEdBQUcsZ0lBQWdJLG1CQUFtQixHQUFHLGdKQUFnSiwwQkFBMEIsR0FBRyxvT0FBb08sbUJBQW1CLEdBQUcsZ0tBQWdLLDBCQUEwQiw4QkFBOEIsR0FBRyw0SkFBNEoscURBQXFELEdBQUcsd0xBQXdMLDBCQUEwQixHQUFHLG9IQUFvSCwwQkFBMEIsR0FBRyx3TkFBd04sbUJBQW1CLEdBQUcsZ0lBQWdJLDBCQUEwQixxREFBcUQsR0FBRyx1QkFBdUIsa0JBQWtCLGdCQUFnQix3QkFBd0IsbUJBQW1CLG1CQUFtQixHQUFHLHNCQUFzQix1QkFBdUIsY0FBYyxlQUFlLGtCQUFrQixvQkFBb0IsNEJBQTRCLHNCQUFzQix3QkFBd0IscUJBQXFCLGdCQUFnQiw2Q0FBNkMsMkJBQTJCLEdBQUcsb0VBQW9FLDBCQUEwQix5Q0FBeUMsNlNBQTZTLGlDQUFpQyxnRUFBZ0UscUVBQXFFLEdBQUcsZ0ZBQWdGLDBCQUEwQixxREFBcUQsR0FBRyxvTkFBb04sbUJBQW1CLEdBQUcsb0ZBQW9GLHlDQUF5Qyx1RkFBdUYsR0FBRyxzRUFBc0UsMEJBQTBCLDJEQUEyRCxna0JBQWdrQixHQUFHLGtGQUFrRiwwQkFBMEIscURBQXFELEdBQUcsd05BQXdOLG1CQUFtQixHQUFHLHdPQUF3TyxtQkFBbUIsR0FBRyxvSEFBb0gsbUJBQW1CLEdBQUcsb09BQW9PLG1CQUFtQixHQUFHLG9JQUFvSSxtQkFBbUIsR0FBRyxvSkFBb0osMEJBQTBCLEdBQUcsb1BBQW9QLG1CQUFtQixHQUFHLG9LQUFvSywwQkFBMEIsOEJBQThCLEdBQUcsZ0tBQWdLLHFEQUFxRCxHQUFHLDRMQUE0TCwwQkFBMEIsR0FBRyx3SEFBd0gsMEJBQTBCLEdBQUcsd09BQXdPLG1CQUFtQixHQUFHLG9JQUFvSSwwQkFBMEIscURBQXFELEdBQUcsa0JBQWtCLHlCQUF5QixrQkFBa0IsNEJBQTRCLHdCQUF3QiwyQkFBMkIsd0JBQXdCLEdBQUcsOEJBQThCLGdCQUFnQixHQUFHLCtCQUErQix3QkFBd0IsMkJBQTJCLG9CQUFvQiw2QkFBNkIsMEJBQTBCLDRCQUE0Qiw4QkFBOEIsdUJBQXVCLEtBQUssOEJBQThCLDJCQUEyQixvQkFBb0IseUJBQXlCLHFCQUFxQiw4QkFBOEIsMEJBQTBCLDZCQUE2QiwwQkFBMEIsdUJBQXVCLEtBQUssZ0NBQWdDLDRCQUE0QixrQkFBa0IsNkJBQTZCLEtBQUssMENBQTBDLDRCQUE0QixLQUFLLCtEQUErRCxrQkFBa0IsS0FBSyw4QkFBOEIsMkJBQTJCLG9CQUFvQiw2QkFBNkIsMEJBQTBCLDRCQUE0Qiw4QkFBOEIsa0JBQWtCLHNCQUFzQixLQUFLLG9DQUFvQyx5QkFBeUIsMkJBQTJCLHFCQUFxQixvQkFBb0IsNEJBQTRCLHFCQUFxQixLQUFLLGtDQUFrQyw2QkFBNkIsMEJBQTBCLDRCQUE0Qiw4QkFBOEIsS0FBSyx3Q0FBd0MsdUJBQXVCLEtBQUssR0FBRyxVQUFVLDBCQUEwQixxQkFBcUIsbUJBQW1CLHVCQUF1QiwyQkFBMkIsOEJBQThCLDJCQUEyQiwwQkFBMEIsc0JBQXNCLGtDQUFrQyxrQ0FBa0MsOEJBQThCLG9CQUFvQixxQkFBcUIsMkJBQTJCLDBJQUEwSSxHQUFHLDZDQUE2QyxVQUFVLHVCQUF1QixLQUFLLEdBQUcsZ0JBQWdCLG1CQUFtQiwwQkFBMEIsR0FBRyw0QkFBNEIsZUFBZSxxREFBcUQsR0FBRyxrQ0FBa0Msa0JBQWtCLEdBQUcsOENBQThDLHlCQUF5QixHQUFHLGtCQUFrQixnQkFBZ0IsOEJBQThCLDBCQUEwQixHQUFHLHdCQUF3QixnQkFBZ0IsOEJBQThCLDBCQUEwQixHQUFHLDRDQUE0QyxxREFBcUQsR0FBRyxrREFBa0QsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyxpSkFBaUosZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyxtS0FBbUsscURBQXFELEdBQUcsb0JBQW9CLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsMEJBQTBCLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsZ0RBQWdELHNEQUFzRCxHQUFHLHNEQUFzRCxnQkFBZ0IsOEJBQThCLDBCQUEwQixHQUFHLHVKQUF1SixnQkFBZ0IsOEJBQThCLDBCQUEwQixHQUFHLHlLQUF5SyxzREFBc0QsR0FBRyxrQkFBa0IsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyx3QkFBd0IsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyw0Q0FBNEMsb0RBQW9ELEdBQUcsa0RBQWtELGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsaUpBQWlKLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsbUtBQW1LLG9EQUFvRCxHQUFHLGVBQWUsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyxxQkFBcUIsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyxzQ0FBc0MscURBQXFELEdBQUcsNENBQTRDLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsd0lBQXdJLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsMEpBQTBKLHFEQUFxRCxHQUFHLGtCQUFrQixtQkFBbUIsOEJBQThCLDBCQUEwQixHQUFHLHdCQUF3QixtQkFBbUIsOEJBQThCLDBCQUEwQixHQUFHLDRDQUE0QyxxREFBcUQsR0FBRyxrREFBa0QsbUJBQW1CLDhCQUE4QiwwQkFBMEIsR0FBRyxpSkFBaUosbUJBQW1CLDhCQUE4QiwwQkFBMEIsR0FBRyxtS0FBbUsscURBQXFELEdBQUcsaUJBQWlCLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsdUJBQXVCLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsMENBQTBDLG9EQUFvRCxHQUFHLGdEQUFnRCxnQkFBZ0IsOEJBQThCLDBCQUEwQixHQUFHLDhJQUE4SSxnQkFBZ0IsOEJBQThCLDBCQUEwQixHQUFHLGdLQUFnSyxvREFBb0QsR0FBRyxnQkFBZ0IsbUJBQW1CLDhCQUE4QiwwQkFBMEIsR0FBRyxzQkFBc0IsbUJBQW1CLDhCQUE4QiwwQkFBMEIsR0FBRyx3Q0FBd0Msc0RBQXNELEdBQUcsOENBQThDLG1CQUFtQiw4QkFBOEIsMEJBQTBCLEdBQUcsMklBQTJJLG1CQUFtQiw4QkFBOEIsMEJBQTBCLEdBQUcsNkpBQTZKLHNEQUFzRCxHQUFHLGVBQWUsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyxxQkFBcUIsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyxzQ0FBc0MsbURBQW1ELEdBQUcsNENBQTRDLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsd0lBQXdJLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsMEpBQTBKLG1EQUFtRCxHQUFHLDBCQUEwQixtQkFBbUIsMEJBQTBCLEdBQUcsZ0NBQWdDLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsNERBQTRELG9EQUFvRCxHQUFHLGtFQUFrRSxtQkFBbUIsa0NBQWtDLEdBQUcseUtBQXlLLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsMkxBQTJMLG9EQUFvRCxHQUFHLDRCQUE0QixtQkFBbUIsMEJBQTBCLEdBQUcsa0NBQWtDLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsZ0VBQWdFLHNEQUFzRCxHQUFHLHNFQUFzRSxtQkFBbUIsa0NBQWtDLEdBQUcsK0tBQStLLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsaU1BQWlNLHNEQUFzRCxHQUFHLDBCQUEwQixtQkFBbUIsMEJBQTBCLEdBQUcsZ0NBQWdDLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsNERBQTRELG9EQUFvRCxHQUFHLGtFQUFrRSxtQkFBbUIsa0NBQWtDLEdBQUcseUtBQXlLLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsMkxBQTJMLG9EQUFvRCxHQUFHLHVCQUF1QixtQkFBbUIsMEJBQTBCLEdBQUcsNkJBQTZCLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsc0RBQXNELHFEQUFxRCxHQUFHLDREQUE0RCxtQkFBbUIsa0NBQWtDLEdBQUcsZ0tBQWdLLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsa0xBQWtMLHFEQUFxRCxHQUFHLDBCQUEwQixtQkFBbUIsMEJBQTBCLEdBQUcsZ0NBQWdDLG1CQUFtQiw4QkFBOEIsMEJBQTBCLEdBQUcsNERBQTRELG9EQUFvRCxHQUFHLGtFQUFrRSxtQkFBbUIsa0NBQWtDLEdBQUcseUtBQXlLLG1CQUFtQiw4QkFBOEIsMEJBQTBCLEdBQUcsMkxBQTJMLG9EQUFvRCxHQUFHLHlCQUF5QixtQkFBbUIsMEJBQTBCLEdBQUcsK0JBQStCLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsMERBQTBELG9EQUFvRCxHQUFHLGdFQUFnRSxtQkFBbUIsa0NBQWtDLEdBQUcsc0tBQXNLLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsd0xBQXdMLG9EQUFvRCxHQUFHLHdCQUF3QixtQkFBbUIsMEJBQTBCLEdBQUcsOEJBQThCLG1CQUFtQiw4QkFBOEIsMEJBQTBCLEdBQUcsd0RBQXdELHNEQUFzRCxHQUFHLDhEQUE4RCxtQkFBbUIsa0NBQWtDLEdBQUcsbUtBQW1LLG1CQUFtQiw4QkFBOEIsMEJBQTBCLEdBQUcscUxBQXFMLHNEQUFzRCxHQUFHLHVCQUF1QixtQkFBbUIsMEJBQTBCLEdBQUcsNkJBQTZCLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsc0RBQXNELG1EQUFtRCxHQUFHLDREQUE0RCxtQkFBbUIsa0NBQWtDLEdBQUcsZ0tBQWdLLGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsa0xBQWtMLG1EQUFtRCxHQUFHLGVBQWUscUJBQXFCLG1CQUFtQiwwQkFBMEIsR0FBRyxxQkFBcUIsbUJBQW1CLCtCQUErQixHQUFHLHNDQUFzQywrQkFBK0IscUJBQXFCLEdBQUcsNENBQTRDLG1CQUFtQix5QkFBeUIsR0FBRyxtQ0FBbUMseUJBQXlCLHVCQUF1QixxQkFBcUIsMEJBQTBCLEdBQUcsbUNBQW1DLDRCQUE0Qix3QkFBd0IscUJBQXFCLDBCQUEwQixHQUFHLGdCQUFnQixtQkFBbUIsZ0JBQWdCLEdBQUcsNkJBQTZCLHVCQUF1QixHQUFHLDJHQUEyRyxnQkFBZ0IsR0FBRyxXQUFXLHFDQUFxQyxHQUFHLDZDQUE2QyxXQUFXLHVCQUF1QixLQUFLLEdBQUcsc0JBQXNCLGVBQWUsR0FBRywwQkFBMEIsa0JBQWtCLEdBQUcsaUJBQWlCLHVCQUF1QixjQUFjLHFCQUFxQixrQ0FBa0MsR0FBRyw2Q0FBNkMsaUJBQWlCLHVCQUF1QixLQUFLLEdBQUcsa0RBQWtELHVCQUF1QixHQUFHLHNCQUFzQix3QkFBd0IsR0FBRyw2QkFBNkIsMEJBQTBCLHlCQUF5Qiw0QkFBNEIsa0JBQWtCLDRCQUE0QiwwQ0FBMEMscUJBQXFCLHlDQUF5QyxHQUFHLG1DQUFtQyxtQkFBbUIsR0FBRyxvQkFBb0IsdUJBQXVCLGNBQWMsWUFBWSxrQkFBa0Isa0JBQWtCLGdCQUFnQixxQkFBcUIsc0JBQXNCLHlCQUF5QixvQkFBb0IsbUJBQW1CLHFCQUFxQixxQkFBcUIsMkJBQTJCLGlDQUFpQywwQ0FBMEMsMkJBQTJCLEdBQUcseUJBQXlCLGdCQUFnQixZQUFZLEdBQUcsMEJBQTBCLGFBQWEsZUFBZSxHQUFHLCtCQUErQiw0QkFBNEIsa0JBQWtCLGNBQWMsS0FBSyw2QkFBNkIsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLCtCQUErQiw0QkFBNEIsa0JBQWtCLGNBQWMsS0FBSyw2QkFBNkIsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLCtCQUErQiw0QkFBNEIsa0JBQWtCLGNBQWMsS0FBSyw2QkFBNkIsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLGdDQUFnQyw0QkFBNEIsa0JBQWtCLGNBQWMsS0FBSyw2QkFBNkIsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLDRCQUE0QixjQUFjLGlCQUFpQixrQkFBa0IsNEJBQTRCLEdBQUcscUNBQXFDLDBCQUEwQix5QkFBeUIsNEJBQTRCLGtCQUFrQixrQkFBa0IsMENBQTBDLCtCQUErQix5Q0FBeUMsR0FBRywyQ0FBMkMsbUJBQW1CLEdBQUcsK0JBQStCLFdBQVcsZ0JBQWdCLGVBQWUsa0JBQWtCLDBCQUEwQixHQUFHLHdDQUF3QywwQkFBMEIseUJBQXlCLDRCQUE0QixrQkFBa0Isd0NBQXdDLG9CQUFvQiwyQ0FBMkMsNkJBQTZCLEdBQUcsOENBQThDLG1CQUFtQixHQUFHLHdDQUF3QyxzQkFBc0IsR0FBRyw4QkFBOEIsV0FBVyxnQkFBZ0IsZUFBZSxrQkFBa0IsMkJBQTJCLEdBQUcsdUNBQXVDLDBCQUEwQix5QkFBeUIsNEJBQTRCLGtCQUFrQixHQUFHLHVDQUF1QyxrQkFBa0IsR0FBRyx3Q0FBd0MsMEJBQTBCLDBCQUEwQiw0QkFBNEIsa0JBQWtCLHdDQUF3Qyw4QkFBOEIsMkNBQTJDLEdBQUcsNkNBQTZDLG1CQUFtQixHQUFHLHdDQUF3QyxzQkFBc0IsR0FBRyxrS0FBa0ssZ0JBQWdCLGlCQUFpQixHQUFHLHVCQUF1QixjQUFjLHFCQUFxQixxQkFBcUIsa0NBQWtDLEdBQUcsb0JBQW9CLG1CQUFtQixnQkFBZ0IsNEJBQTRCLGdCQUFnQixxQkFBcUIsbUJBQW1CLHdCQUF3Qix3QkFBd0Isa0NBQWtDLGNBQWMsR0FBRyxnREFBZ0QsbUJBQW1CLDBCQUEwQiw4QkFBOEIsR0FBRyxrREFBa0QsZ0JBQWdCLDBCQUEwQiw4QkFBOEIsR0FBRyxzREFBc0QsbUJBQW1CLHlCQUF5QixrQ0FBa0MsR0FBRyx5QkFBeUIsbUJBQW1CLEdBQUcsc0JBQXNCLG1CQUFtQiwyQkFBMkIscUJBQXFCLHdCQUF3QixtQkFBbUIsd0JBQXdCLEdBQUcseUJBQXlCLG1CQUFtQiw0QkFBNEIsbUJBQW1CLEdBQUcsc0NBQXNDLHVCQUF1QixnQ0FBZ0MseUJBQXlCLDJCQUEyQixHQUFHLG9EQUFvRCx1QkFBdUIsdUJBQXVCLG1CQUFtQixHQUFHLGdFQUFnRSxlQUFlLEdBQUcsNExBQTRMLGVBQWUsR0FBRyxrQkFBa0IseUJBQXlCLGtCQUFrQix3QkFBd0Isb0JBQW9CLHlCQUF5QixnQ0FBZ0MsR0FBRywrQkFBK0IsZ0JBQWdCLEdBQUcscUZBQXFGLHNCQUFzQixHQUFHLGdIQUFnSCwrQkFBK0Isa0NBQWtDLEdBQUcsNEZBQTRGLDhCQUE4QixpQ0FBaUMsR0FBRyw0QkFBNEIsNkJBQTZCLDRCQUE0QixHQUFHLHNIQUFzSCxtQkFBbUIsR0FBRyw4Q0FBOEMsb0JBQW9CLEdBQUcscUZBQXFGLDRCQUE0QiwyQkFBMkIsR0FBRyxxRkFBcUYsMkJBQTJCLDBCQUEwQixHQUFHLHlCQUF5QiwrQkFBK0IsMkJBQTJCLDBCQUEwQiw0QkFBNEIsMEJBQTBCLDRCQUE0QixHQUFHLG1FQUFtRSxnQkFBZ0IsR0FBRyx1R0FBdUcscUJBQXFCLEdBQUcsa0lBQWtJLGtDQUFrQyxpQ0FBaUMsR0FBRyw4R0FBOEcsOEJBQThCLCtCQUErQixHQUFHLHNFQUFzRSxxQkFBcUIsR0FBRyx1T0FBdU8sdUJBQXVCLDJCQUEyQix5QkFBeUIsR0FBRyxrQkFBa0IsdUJBQXVCLHlCQUF5QixrQkFBa0Isd0JBQXdCLG9CQUFvQiw0QkFBNEIseUJBQXlCLGdCQUFnQixHQUFHLHlJQUF5SSx1QkFBdUIsdUJBQXVCLG1CQUFtQixjQUFjLHFCQUFxQixHQUFHLHFsQkFBcWxCLHNCQUFzQixHQUFHLDBKQUEwSixlQUFlLEdBQUcsMERBQTBELGVBQWUsR0FBRyxvR0FBb0csK0JBQStCLGtDQUFrQyxHQUFHLHNHQUFzRyw4QkFBOEIsaUNBQWlDLEdBQUcsaUNBQWlDLHlCQUF5QixrQkFBa0IsMkJBQTJCLHdCQUF3QixHQUFHLDhJQUE4SSwrQkFBK0Isa0NBQWtDLEdBQUcsc0VBQXNFLDhCQUE4QixpQ0FBaUMsR0FBRyxnREFBZ0QseUJBQXlCLGtCQUFrQixHQUFHLDBEQUEwRCx1QkFBdUIsZUFBZSxHQUFHLHNFQUFzRSxlQUFlLEdBQUcsK1hBQStYLHNCQUFzQixHQUFHLDBCQUEwQix1QkFBdUIsR0FBRyx5QkFBeUIsc0JBQXNCLEdBQUcsdUJBQXVCLHlCQUF5QixrQkFBa0IsMkJBQTJCLHdCQUF3Qiw4QkFBOEIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG1CQUFtQix1QkFBdUIsd0JBQXdCLDhCQUE4Qiw4QkFBOEIsMkJBQTJCLEdBQUcsMEZBQTBGLGtCQUFrQixHQUFHLHNGQUFzRixxQ0FBcUMsR0FBRyxnU0FBZ1MseUJBQXlCLHVCQUF1QixxQkFBcUIsMEJBQTBCLEdBQUcsc0ZBQXNGLHVDQUF1QyxHQUFHLGdTQUFnUyw0QkFBNEIsd0JBQXdCLHFCQUFxQiwwQkFBMEIsR0FBRyx5RUFBeUUsMkJBQTJCLEdBQUcsb2FBQW9hLCtCQUErQixrQ0FBa0MsR0FBRyxzWkFBc1osOEJBQThCLGlDQUFpQyxHQUFHLHFCQUFxQix1QkFBdUIsbUJBQW1CLHVCQUF1Qix5QkFBeUIsR0FBRyw0QkFBNEIsZ0NBQWdDLHlCQUF5Qix1QkFBdUIsR0FBRywyQkFBMkIsdUJBQXVCLGdCQUFnQixlQUFlLEdBQUcsbUVBQW1FLGdCQUFnQiwwQkFBMEIsOEJBQThCLEdBQUcsaUVBQWlFLHFEQUFxRCxHQUFHLCtFQUErRSwwQkFBMEIsR0FBRyxpRkFBaUYsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyw0REFBNEQsbUJBQW1CLEdBQUcsb0VBQW9FLDhCQUE4QixHQUFHLDJCQUEyQix1QkFBdUIscUJBQXFCLHdCQUF3QixHQUFHLG1DQUFtQyx1QkFBdUIsaUJBQWlCLGtCQUFrQixtQkFBbUIsZ0JBQWdCLGlCQUFpQix5QkFBeUIsa0JBQWtCLDJCQUEyQiw4QkFBOEIsR0FBRyxrQ0FBa0MsdUJBQXVCLGlCQUFpQixrQkFBa0IsbUJBQW1CLGdCQUFnQixpQkFBaUIsa0JBQWtCLHdDQUF3QyxHQUFHLG9EQUFvRCwyQkFBMkIsR0FBRyxtRkFBbUYsb05BQW9OLEdBQUcsMEZBQTBGLDBCQUEwQiw4QkFBOEIsR0FBRyx5RkFBeUYsaUtBQWlLLEdBQUcsNkZBQTZGLDZDQUE2QyxHQUFHLG1HQUFtRyw2Q0FBNkMsR0FBRyxpREFBaUQsdUJBQXVCLEdBQUcsZ0ZBQWdGLDhKQUE4SixHQUFHLDBGQUEwRiw2Q0FBNkMsR0FBRyxvQkFBb0IsMEJBQTBCLEdBQUcsa0RBQWtELG1CQUFtQixtQkFBbUIsd0JBQXdCLDBCQUEwQixHQUFHLGlEQUFpRCw2QkFBNkIsK0JBQStCLDRCQUE0Qiw2QkFBNkIsOEJBQThCLDBCQUEwQixzSkFBc0osOElBQThJLG1MQUFtTCxHQUFHLDZDQUE2QyxpREFBaUQsdUJBQXVCLEtBQUssR0FBRyxpRkFBaUYsMkJBQTJCLDJDQUEyQyxtQ0FBbUMsR0FBRywyRkFBMkYsNkNBQTZDLEdBQUcsb0JBQW9CLDBCQUEwQixnQkFBZ0Isd0NBQXdDLCtDQUErQyxvQkFBb0IscUJBQXFCLHFCQUFxQixtQkFBbUIsMkJBQTJCLG9OQUFvTiwyQkFBMkIsOEJBQThCLDJCQUEyQiw2QkFBNkIsMEJBQTBCLHFCQUFxQixHQUFHLDBCQUEwQiwwQkFBMEIsZUFBZSxxREFBcUQsR0FBRyxxQ0FBcUMsbUJBQW1CLDJCQUEyQixHQUFHLHNFQUFzRSxpQkFBaUIsMkJBQTJCLDJCQUEyQixHQUFHLDZCQUE2QixtQkFBbUIsOEJBQThCLEdBQUcsZ0NBQWdDLGtCQUFrQixHQUFHLHVCQUF1Qix1Q0FBdUMseUJBQXlCLDRCQUE0Qix5QkFBeUIsd0JBQXdCLEdBQUcsdUJBQXVCLHFDQUFxQyx3QkFBd0IsMkJBQTJCLHVCQUF1Qix1QkFBdUIsR0FBRyxrQkFBa0IsdUJBQXVCLDBCQUEwQixnQkFBZ0Isd0NBQXdDLHFCQUFxQixHQUFHLHdCQUF3Qix1QkFBdUIsZUFBZSxnQkFBZ0Isd0NBQXdDLGNBQWMsZUFBZSxHQUFHLG1EQUFtRCwwQkFBMEIscURBQXFELEdBQUcsc0RBQXNELDhCQUE4QixHQUFHLDZEQUE2RCx3QkFBd0IsR0FBRyxpRUFBaUUsK0JBQStCLEdBQUcsd0JBQXdCLHVCQUF1QixXQUFXLGFBQWEsWUFBWSxlQUFlLHdDQUF3Qyw4QkFBOEIscUJBQXFCLHFCQUFxQixtQkFBbUIsMkJBQTJCLDhCQUE4QiwyQkFBMkIsR0FBRywrQkFBK0IsdUJBQXVCLFdBQVcsYUFBYSxjQUFjLGVBQWUsbUJBQW1CLGtDQUFrQyw4QkFBOEIscUJBQXFCLG1CQUFtQix3QkFBd0IsOEJBQThCLHlCQUF5Qix1Q0FBdUMsR0FBRyxtQkFBbUIsZ0JBQWdCLGdDQUFnQyxlQUFlLGtDQUFrQyw2QkFBNkIsMEJBQTBCLHFCQUFxQixHQUFHLHlCQUF5QixrQkFBa0IsR0FBRywrQ0FBK0MscUVBQXFFLEdBQUcsMkNBQTJDLHFFQUFxRSxHQUFHLG9DQUFvQyxxRUFBcUUsR0FBRyxxQ0FBcUMsY0FBYyxHQUFHLHlDQUF5QyxnQkFBZ0IsaUJBQWlCLHlCQUF5Qiw4QkFBOEIsY0FBYyx3QkFBd0IsaUhBQWlILDZCQUE2QixxQkFBcUIsR0FBRyw2Q0FBNkMseUNBQXlDLHVCQUF1QixLQUFLLEdBQUcsZ0RBQWdELDhCQUE4QixHQUFHLGtEQUFrRCxnQkFBZ0IsbUJBQW1CLHVCQUF1QixvQkFBb0IsOEJBQThCLDhCQUE4Qix3QkFBd0IsR0FBRyxxQ0FBcUMsZ0JBQWdCLGlCQUFpQiw4QkFBOEIsY0FBYyx3QkFBd0IsaUhBQWlILDBCQUEwQixxQkFBcUIsR0FBRyw2Q0FBNkMscUNBQXFDLHVCQUF1QixLQUFLLEdBQUcsNENBQTRDLDhCQUE4QixHQUFHLHFDQUFxQyxnQkFBZ0IsbUJBQW1CLHVCQUF1QixvQkFBb0IsOEJBQThCLDhCQUE4Qix3QkFBd0IsR0FBRyw4QkFBOEIsZ0JBQWdCLGlCQUFpQixrQkFBa0IseUJBQXlCLHdCQUF3Qiw4QkFBOEIsY0FBYyx3QkFBd0IsaUhBQWlILHFCQUFxQixHQUFHLDZDQUE2Qyw4QkFBOEIsdUJBQXVCLEtBQUssR0FBRyxxQ0FBcUMsOEJBQThCLEdBQUcsOEJBQThCLGdCQUFnQixtQkFBbUIsdUJBQXVCLG9CQUFvQixrQ0FBa0MsOEJBQThCLHlCQUF5QixHQUFHLG1DQUFtQyw4QkFBOEIsd0JBQXdCLEdBQUcsbUNBQW1DLHVCQUF1Qiw4QkFBOEIsd0JBQXdCLEdBQUcsa0RBQWtELDhCQUE4QixHQUFHLDJEQUEyRCxvQkFBb0IsR0FBRyw4Q0FBOEMsOEJBQThCLEdBQUcsOENBQThDLG9CQUFvQixHQUFHLHVDQUF1Qyw4QkFBOEIsR0FBRyx5RUFBeUUsaUhBQWlILEdBQUcsNkNBQTZDLDZFQUE2RSx1QkFBdUIsS0FBSyxHQUFHLFVBQVUseUJBQXlCLGtCQUFrQix3QkFBd0Isb0JBQW9CLG9CQUFvQixxQkFBcUIscUJBQXFCLEdBQUcsZUFBZSxtQkFBbUIseUJBQXlCLEdBQUcsc0NBQXNDLDBCQUEwQixHQUFHLHdCQUF3QixtQkFBbUIseUJBQXlCLG9CQUFvQixHQUFHLGVBQWUscUNBQXFDLEdBQUcseUJBQXlCLHdCQUF3QixHQUFHLHlCQUF5QixrQ0FBa0Msb0NBQW9DLHFDQUFxQyxHQUFHLDBEQUEwRCwwQ0FBMEMsR0FBRyxrQ0FBa0MsbUJBQW1CLGtDQUFrQyw4QkFBOEIsR0FBRyxxRUFBcUUsbUJBQW1CLDJCQUEyQix1Q0FBdUMsR0FBRyw4QkFBOEIscUJBQXFCLDhCQUE4QiwrQkFBK0IsR0FBRywwQkFBMEIsMkJBQTJCLEdBQUcsZ0VBQWdFLGdCQUFnQiw4QkFBOEIsR0FBRyx5QkFBeUIsdUJBQXVCLG1CQUFtQix1QkFBdUIsR0FBRyw4QkFBOEIsK0JBQStCLGtCQUFrQix5QkFBeUIsaUJBQWlCLHVCQUF1QixHQUFHLDhCQUE4QixrQkFBa0IsR0FBRyw0QkFBNEIsbUJBQW1CLEdBQUcsYUFBYSx1QkFBdUIseUJBQXlCLGtCQUFrQix3QkFBd0Isb0JBQW9CLDJCQUEyQix3QkFBd0IsMkJBQTJCLG1DQUFtQyx5QkFBeUIsR0FBRyx1REFBdUQseUJBQXlCLGtCQUFrQix3QkFBd0Isb0JBQW9CLDJCQUEyQix3QkFBd0IsMkJBQTJCLG1DQUFtQyxHQUFHLG1CQUFtQiwwQkFBMEIsMkJBQTJCLDhCQUE4Qix1QkFBdUIsdUJBQXVCLHlCQUF5Qix3QkFBd0IsR0FBRyw4Q0FBOEMsMEJBQTBCLEdBQUcsaUJBQWlCLHlCQUF5QixrQkFBa0IsK0JBQStCLDJCQUEyQixvQkFBb0IscUJBQXFCLHFCQUFxQixHQUFHLDJCQUEyQixxQkFBcUIsb0JBQW9CLEdBQUcsZ0NBQWdDLHFCQUFxQixnQkFBZ0IsR0FBRyxrQkFBa0IsMEJBQTBCLHdCQUF3QiwyQkFBMkIsR0FBRyxzQkFBc0Isa0NBQWtDLHFCQUFxQix5QkFBeUIsaUJBQWlCLDJCQUEyQix3QkFBd0IsR0FBRyxxQkFBcUIsNkJBQTZCLHVCQUF1QixtQkFBbUIsa0NBQWtDLGtDQUFrQywyQkFBMkIsR0FBRyxrREFBa0QsMEJBQTBCLEdBQUcsMEJBQTBCLDBCQUEwQixpQkFBaUIsa0JBQWtCLDJCQUEyQixrQkFBa0Isd0NBQXdDLCtCQUErQixHQUFHLGtDQUFrQyw2RUFBNkUsdUJBQXVCLHNCQUFzQixLQUFLLEdBQUcsK0JBQStCLHVCQUF1QixnQ0FBZ0MsNEJBQTRCLDJCQUEyQixrQ0FBa0MsS0FBSyxtQ0FBbUMsOEJBQThCLDBCQUEwQixLQUFLLGtEQUFrRCx5QkFBeUIsS0FBSyw2Q0FBNkMsNEJBQTRCLDJCQUEyQixLQUFLLDZFQUE2RSw0QkFBNEIsd0JBQXdCLEtBQUssd0NBQXdDLHNDQUFzQywrQkFBK0Isb0NBQW9DLHVCQUF1QixLQUFLLHVDQUF1QyxvQkFBb0IsS0FBSyxHQUFHLGtDQUFrQyw2RUFBNkUsdUJBQXVCLHNCQUFzQixLQUFLLEdBQUcsK0JBQStCLHVCQUF1QixnQ0FBZ0MsNEJBQTRCLDJCQUEyQixrQ0FBa0MsS0FBSyxtQ0FBbUMsOEJBQThCLDBCQUEwQixLQUFLLGtEQUFrRCx5QkFBeUIsS0FBSyw2Q0FBNkMsNEJBQTRCLDJCQUEyQixLQUFLLDZFQUE2RSw0QkFBNEIsd0JBQXdCLEtBQUssd0NBQXdDLHNDQUFzQywrQkFBK0Isb0NBQW9DLHVCQUF1QixLQUFLLHVDQUF1QyxvQkFBb0IsS0FBSyxHQUFHLGtDQUFrQyw2RUFBNkUsdUJBQXVCLHNCQUFzQixLQUFLLEdBQUcsK0JBQStCLHVCQUF1QixnQ0FBZ0MsNEJBQTRCLDJCQUEyQixrQ0FBa0MsS0FBSyxtQ0FBbUMsOEJBQThCLDBCQUEwQixLQUFLLGtEQUFrRCx5QkFBeUIsS0FBSyw2Q0FBNkMsNEJBQTRCLDJCQUEyQixLQUFLLDZFQUE2RSw0QkFBNEIsd0JBQXdCLEtBQUssd0NBQXdDLHNDQUFzQywrQkFBK0Isb0NBQW9DLHVCQUF1QixLQUFLLHVDQUF1QyxvQkFBb0IsS0FBSyxHQUFHLG1DQUFtQyw2RUFBNkUsdUJBQXVCLHNCQUFzQixLQUFLLEdBQUcsZ0NBQWdDLHVCQUF1QixnQ0FBZ0MsNEJBQTRCLDJCQUEyQixrQ0FBa0MsS0FBSyxtQ0FBbUMsOEJBQThCLDBCQUEwQixLQUFLLGtEQUFrRCx5QkFBeUIsS0FBSyw2Q0FBNkMsNEJBQTRCLDJCQUEyQixLQUFLLDZFQUE2RSw0QkFBNEIsd0JBQXdCLEtBQUssd0NBQXdDLHNDQUFzQywrQkFBK0Isb0NBQW9DLHVCQUF1QixLQUFLLHVDQUF1QyxvQkFBb0IsS0FBSyxHQUFHLG9CQUFvQiw4QkFBOEIsMEJBQTBCLHlCQUF5QixnQ0FBZ0MsR0FBRyxxRUFBcUUscUJBQXFCLG9CQUFvQixHQUFHLGdDQUFnQyw0QkFBNEIsd0JBQXdCLEdBQUcsK0NBQStDLHVCQUF1QixHQUFHLDBDQUEwQywwQkFBMEIseUJBQXlCLEdBQUcscUVBQXFFLDBCQUEwQixzQkFBc0IsR0FBRyxxQ0FBcUMsb0NBQW9DLDZCQUE2QixrQ0FBa0MscUJBQXFCLEdBQUcsb0NBQW9DLGtCQUFrQixHQUFHLGlDQUFpQyw4QkFBOEIsR0FBRywwRUFBMEUsOEJBQThCLEdBQUcseUNBQXlDLDhCQUE4QixHQUFHLDBGQUEwRiw4QkFBOEIsR0FBRyxrREFBa0QsOEJBQThCLEdBQUcseUxBQXlMLDhCQUE4QixHQUFHLG1DQUFtQyw4QkFBOEIscUNBQXFDLEdBQUcsd0NBQXdDLCtQQUErUCxHQUFHLGdDQUFnQyw4QkFBOEIsR0FBRyxrQ0FBa0MsOEJBQThCLEdBQUcsNEVBQTRFLDhCQUE4QixHQUFHLGdDQUFnQyxnQkFBZ0IsR0FBRyx3RUFBd0UsZ0JBQWdCLEdBQUcsd0NBQXdDLG9DQUFvQyxHQUFHLHdGQUF3RixxQ0FBcUMsR0FBRyxpREFBaUQscUNBQXFDLEdBQUcscUxBQXFMLGdCQUFnQixHQUFHLGtDQUFrQyxvQ0FBb0MsMkNBQTJDLEdBQUcsdUNBQXVDLHFRQUFxUSxHQUFHLCtCQUErQixvQ0FBb0MsR0FBRyxpQ0FBaUMsZ0JBQWdCLEdBQUcsMEVBQTBFLGdCQUFnQixHQUFHLFdBQVcsdUJBQXVCLHlCQUF5QixrQkFBa0IsK0JBQStCLDJCQUEyQixpQkFBaUIsMEJBQTBCLDJCQUEyQixnQ0FBZ0MsMkNBQTJDLDJCQUEyQixHQUFHLGdCQUFnQixvQkFBb0IsbUJBQW1CLEdBQUcsa0VBQWtFLG9DQUFvQyxxQ0FBcUMsR0FBRyxnRUFBZ0Usd0NBQXdDLHVDQUF1QyxHQUFHLGdCQUFnQix1QkFBdUIsbUJBQW1CLHFCQUFxQixHQUFHLGlCQUFpQiwyQkFBMkIsR0FBRyxvQkFBb0IsMEJBQTBCLHFCQUFxQixHQUFHLDJCQUEyQixxQkFBcUIsR0FBRyxzQkFBc0IsMEJBQTBCLEdBQUcsNkJBQTZCLHlCQUF5QixHQUFHLGtCQUFrQiw2QkFBNkIscUJBQXFCLDBDQUEwQyxrREFBa0QsR0FBRyw4QkFBOEIsK0RBQStELEdBQUcsNkRBQTZELGtCQUFrQixHQUFHLGtCQUFrQiw2QkFBNkIsMENBQTBDLCtDQUErQyxHQUFHLDZCQUE2QiwrREFBK0QsR0FBRyx1QkFBdUIsNEJBQTRCLDRCQUE0QiwyQkFBMkIscUJBQXFCLEdBQUcsd0JBQXdCLDRCQUE0QiwyQkFBMkIsR0FBRyx1QkFBdUIsdUJBQXVCLFdBQVcsYUFBYSxjQUFjLFlBQVkscUJBQXFCLEdBQUcsZUFBZSxnQkFBZ0IsdUNBQXVDLEdBQUcsbUJBQW1CLGdCQUFnQixnREFBZ0QsaURBQWlELEdBQUcsc0JBQXNCLGdCQUFnQixvREFBb0QsbURBQW1ELEdBQUcsZ0JBQWdCLHlCQUF5QixrQkFBa0IsK0JBQStCLDJCQUEyQixHQUFHLHNCQUFzQix3QkFBd0IsR0FBRywrQkFBK0IsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsMEJBQTBCLHlCQUF5QixLQUFLLHNCQUFzQiwyQkFBMkIsb0JBQW9CLHVCQUF1QixtQkFBbUIsaUNBQWlDLDZCQUE2Qix5QkFBeUIsdUJBQXVCLHdCQUF3QixLQUFLLEdBQUcsaUJBQWlCLHlCQUF5QixrQkFBa0IsK0JBQStCLDJCQUEyQixHQUFHLHlCQUF5Qix3QkFBd0IsR0FBRywrQkFBK0IsaUJBQWlCLDhCQUE4QiwwQkFBMEIsS0FBSyx5QkFBeUIsdUJBQXVCLG1CQUFtQix1QkFBdUIsS0FBSyxpQ0FBaUMscUJBQXFCLHFCQUFxQixLQUFLLDBDQUEwQyxpQ0FBaUMsb0NBQW9DLEtBQUssOEdBQThHLGlDQUFpQyxLQUFLLGlIQUFpSCxvQ0FBb0MsS0FBSywyQ0FBMkMsZ0NBQWdDLG1DQUFtQyxLQUFLLGdIQUFnSCxnQ0FBZ0MsS0FBSyxtSEFBbUgsbUNBQW1DLEtBQUssR0FBRyx5QkFBeUIsMkJBQTJCLEdBQUcsK0JBQStCLG1CQUFtQiw4QkFBOEIsMkJBQTJCLHNCQUFzQixrQ0FBa0MsK0JBQStCLDBCQUEwQixpQkFBaUIsZ0JBQWdCLEtBQUsseUJBQXlCLDRCQUE0QixrQkFBa0IsS0FBSyxHQUFHLHdCQUF3QixxQkFBcUIsR0FBRyxxRUFBcUUscUJBQXFCLEdBQUcsK0RBQStELHFCQUFxQixxQkFBcUIsR0FBRyxzQ0FBc0MscUJBQXFCLGtDQUFrQyxpQ0FBaUMsR0FBRyxxQ0FBcUMsOEJBQThCLCtCQUErQixHQUFHLHFDQUFxQyx3QkFBd0IsR0FBRyxpQkFBaUIseUJBQXlCLGtCQUFrQix3QkFBd0Isb0JBQW9CLDBCQUEwQix3QkFBd0IscUJBQXFCLDhCQUE4QiwyQkFBMkIsR0FBRyx5Q0FBeUMseUJBQXlCLEdBQUcsaURBQWlELDBCQUEwQiwwQkFBMEIsbUJBQW1CLG1CQUFtQixHQUFHLHVEQUF1RCwrQkFBK0IsR0FBRyx1REFBdUQsMEJBQTBCLEdBQUcsNkJBQTZCLG1CQUFtQixHQUFHLGlCQUFpQix5QkFBeUIsa0JBQWtCLG9CQUFvQixxQkFBcUIsMkJBQTJCLEdBQUcsZ0JBQWdCLHVCQUF1QixtQkFBbUIsNEJBQTRCLHNCQUFzQixzQkFBc0IsbUJBQW1CLDJCQUEyQiw4QkFBOEIsR0FBRyxzQkFBc0IsZUFBZSxtQkFBbUIsMEJBQTBCLDhCQUE4QiwwQkFBMEIsR0FBRyxzQkFBc0IsZUFBZSxlQUFlLHFEQUFxRCxHQUFHLHVDQUF1QyxtQkFBbUIsb0NBQW9DLHVDQUF1QyxHQUFHLHNDQUFzQyxxQ0FBcUMsd0NBQXdDLEdBQUcsa0NBQWtDLGVBQWUsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyxvQ0FBb0MsbUJBQW1CLHlCQUF5QixpQkFBaUIsMkJBQTJCLDBCQUEwQixHQUFHLCtCQUErQiw0QkFBNEIsdUJBQXVCLHFCQUFxQixHQUFHLHNEQUFzRCxtQ0FBbUMsc0NBQXNDLEdBQUcscURBQXFELG9DQUFvQyx1Q0FBdUMsR0FBRywrQkFBK0IsNEJBQTRCLHdCQUF3QixxQkFBcUIsR0FBRyxzREFBc0QsbUNBQW1DLHNDQUFzQyxHQUFHLHFEQUFxRCxvQ0FBb0MsdUNBQXVDLEdBQUcsWUFBWSwwQkFBMEIsMEJBQTBCLG1CQUFtQixxQkFBcUIsbUJBQW1CLHVCQUF1Qix3QkFBd0IsNkJBQTZCLDJCQUEyQiwwSUFBMEksR0FBRyw2Q0FBNkMsWUFBWSx1QkFBdUIsS0FBSyxHQUFHLGtDQUFrQywwQkFBMEIsR0FBRyxrQkFBa0Isa0JBQWtCLEdBQUcsaUJBQWlCLHVCQUF1QixjQUFjLEdBQUcsaUJBQWlCLHlCQUF5Qix3QkFBd0IseUJBQXlCLEdBQUcsb0JBQW9CLGdCQUFnQiw4QkFBOEIsR0FBRyxrREFBa0QsZ0JBQWdCLDhCQUE4QixHQUFHLGtEQUFrRCxlQUFlLG9EQUFvRCxHQUFHLHNCQUFzQixnQkFBZ0IsOEJBQThCLEdBQUcsc0RBQXNELGdCQUFnQiw4QkFBOEIsR0FBRyxzREFBc0QsZUFBZSxzREFBc0QsR0FBRyxvQkFBb0IsZ0JBQWdCLDhCQUE4QixHQUFHLGtEQUFrRCxnQkFBZ0IsOEJBQThCLEdBQUcsa0RBQWtELGVBQWUsb0RBQW9ELEdBQUcsaUJBQWlCLGdCQUFnQiw4QkFBOEIsR0FBRyw0Q0FBNEMsZ0JBQWdCLDhCQUE4QixHQUFHLDRDQUE0QyxlQUFlLHFEQUFxRCxHQUFHLG9CQUFvQixtQkFBbUIsOEJBQThCLEdBQUcsa0RBQWtELG1CQUFtQiw4QkFBOEIsR0FBRyxrREFBa0QsZUFBZSxvREFBb0QsR0FBRyxtQkFBbUIsZ0JBQWdCLDhCQUE4QixHQUFHLGdEQUFnRCxnQkFBZ0IsOEJBQThCLEdBQUcsZ0RBQWdELGVBQWUsb0RBQW9ELEdBQUcsa0JBQWtCLG1CQUFtQiw4QkFBOEIsR0FBRyw4Q0FBOEMsbUJBQW1CLDhCQUE4QixHQUFHLDhDQUE4QyxlQUFlLHNEQUFzRCxHQUFHLGlCQUFpQixnQkFBZ0IsOEJBQThCLEdBQUcsNENBQTRDLGdCQUFnQiw4QkFBOEIsR0FBRyw0Q0FBNEMsZUFBZSxtREFBbUQsR0FBRyxnQkFBZ0IsdUJBQXVCLHdCQUF3Qiw4QkFBOEIsMEJBQTBCLEdBQUcsK0JBQStCLGdCQUFnQix5QkFBeUIsS0FBSyxHQUFHLHNCQUFzQixxQkFBcUIsb0JBQW9CLHFCQUFxQixHQUFHLFlBQVksdUJBQXVCLDZCQUE2Qix3QkFBd0Isa0NBQWtDLDJCQUEyQixHQUFHLG9CQUFvQixtQkFBbUIsR0FBRyxpQkFBaUIscUJBQXFCLEdBQUcsd0JBQXdCLHdCQUF3QixHQUFHLCtCQUErQix1QkFBdUIsV0FBVyxhQUFhLDZCQUE2QixtQkFBbUIsR0FBRyxvQkFBb0IsbUJBQW1CLDhCQUE4QiwwQkFBMEIsR0FBRyx1QkFBdUIsOEJBQThCLEdBQUcsZ0NBQWdDLG1CQUFtQixHQUFHLHNCQUFzQixtQkFBbUIsOEJBQThCLDBCQUEwQixHQUFHLHlCQUF5Qiw4QkFBOEIsR0FBRyxrQ0FBa0MsbUJBQW1CLEdBQUcsb0JBQW9CLG1CQUFtQiw4QkFBOEIsMEJBQTBCLEdBQUcsdUJBQXVCLDhCQUE4QixHQUFHLGdDQUFnQyxtQkFBbUIsR0FBRyxpQkFBaUIsbUJBQW1CLDhCQUE4QiwwQkFBMEIsR0FBRyxvQkFBb0IsOEJBQThCLEdBQUcsNkJBQTZCLG1CQUFtQixHQUFHLG9CQUFvQixtQkFBbUIsOEJBQThCLDBCQUEwQixHQUFHLHVCQUF1Qiw4QkFBOEIsR0FBRyxnQ0FBZ0MsbUJBQW1CLEdBQUcsbUJBQW1CLG1CQUFtQiw4QkFBOEIsMEJBQTBCLEdBQUcsc0JBQXNCLDhCQUE4QixHQUFHLCtCQUErQixtQkFBbUIsR0FBRyxrQkFBa0IsbUJBQW1CLDhCQUE4QiwwQkFBMEIsR0FBRyxxQkFBcUIsOEJBQThCLEdBQUcsOEJBQThCLG1CQUFtQixHQUFHLGlCQUFpQixtQkFBbUIsOEJBQThCLDBCQUEwQixHQUFHLG9CQUFvQiw4QkFBOEIsR0FBRyw2QkFBNkIsbUJBQW1CLEdBQUcsNkNBQTZDLFVBQVUsa0NBQWtDLEtBQUssUUFBUSwrQkFBK0IsS0FBSyxHQUFHLHFDQUFxQyxVQUFVLGtDQUFrQyxLQUFLLFFBQVEsK0JBQStCLEtBQUssR0FBRyxlQUFlLHlCQUF5QixrQkFBa0IsaUJBQWlCLHFCQUFxQix1QkFBdUIsOEJBQThCLDJCQUEyQixHQUFHLG1CQUFtQix5QkFBeUIsa0JBQWtCLCtCQUErQiwyQkFBMkIsMEJBQTBCLDRCQUE0QixnQkFBZ0IsdUJBQXVCLHdCQUF3Qiw4QkFBOEIsZ0NBQWdDLEdBQUcsNkNBQTZDLG1CQUFtQix1QkFBdUIsS0FBSyxHQUFHLDJCQUEyQiwwTUFBME0sK0JBQStCLEdBQUcsNEJBQTRCLCtEQUErRCx1REFBdUQsR0FBRyw2Q0FBNkMsNEJBQTRCLDhCQUE4QixzQkFBc0IsS0FBSyxHQUFHLFlBQVkseUJBQXlCLGtCQUFrQiwwQkFBMEIsNEJBQTRCLEdBQUcsaUJBQWlCLGdCQUFnQixZQUFZLEdBQUcsaUJBQWlCLHlCQUF5QixrQkFBa0IsK0JBQStCLDJCQUEyQixvQkFBb0IscUJBQXFCLEdBQUcsNkJBQTZCLGdCQUFnQixtQkFBbUIsd0JBQXdCLEdBQUcsa0VBQWtFLGVBQWUsbUJBQW1CLDBCQUEwQiw4QkFBOEIsR0FBRyxvQ0FBb0MsbUJBQW1CLDhCQUE4QixHQUFHLHNCQUFzQix1QkFBdUIsbUJBQW1CLDZCQUE2Qix3QkFBd0IsMkJBQTJCLDJDQUEyQyxHQUFHLGtDQUFrQyxvQ0FBb0MscUNBQXFDLEdBQUcsaUNBQWlDLHFCQUFxQix3Q0FBd0MsdUNBQXVDLEdBQUcsMERBQTBELG1CQUFtQix5QkFBeUIsMkJBQTJCLEdBQUcsNkJBQTZCLGVBQWUsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyw0QkFBNEIsNEJBQTRCLHdCQUF3QixHQUFHLDZDQUE2Qyx1QkFBdUIscUJBQXFCLEdBQUcseURBQXlELG9DQUFvQyx1Q0FBdUMsK0JBQStCLEdBQUcsd0RBQXdELG9CQUFvQixxQ0FBcUMsd0NBQXdDLGlDQUFpQyxHQUFHLCtCQUErQiwrQkFBK0IsOEJBQThCLDBCQUEwQixLQUFLLGdEQUFnRCx5QkFBeUIsdUJBQXVCLEtBQUssNERBQTRELHNDQUFzQyx5Q0FBeUMsaUNBQWlDLEtBQUssMkRBQTJELHNCQUFzQix1Q0FBdUMsMENBQTBDLG1DQUFtQyxLQUFLLEdBQUcsK0JBQStCLCtCQUErQiw4QkFBOEIsMEJBQTBCLEtBQUssZ0RBQWdELHlCQUF5Qix1QkFBdUIsS0FBSyw0REFBNEQsc0NBQXNDLHlDQUF5QyxpQ0FBaUMsS0FBSywyREFBMkQsc0JBQXNCLHVDQUF1QywwQ0FBMEMsbUNBQW1DLEtBQUssR0FBRywrQkFBK0IsK0JBQStCLDhCQUE4QiwwQkFBMEIsS0FBSyxnREFBZ0QseUJBQXlCLHVCQUF1QixLQUFLLDREQUE0RCxzQ0FBc0MseUNBQXlDLGlDQUFpQyxLQUFLLDJEQUEyRCxzQkFBc0IsdUNBQXVDLDBDQUEwQyxtQ0FBbUMsS0FBSyxHQUFHLGdDQUFnQywrQkFBK0IsOEJBQThCLDBCQUEwQixLQUFLLGdEQUFnRCx5QkFBeUIsdUJBQXVCLEtBQUssNERBQTRELHNDQUFzQyx5Q0FBeUMsaUNBQWlDLEtBQUssMkRBQTJELHNCQUFzQix1Q0FBdUMsMENBQTBDLG1DQUFtQyxLQUFLLEdBQUcsd0NBQXdDLG9CQUFvQixtQkFBbUIscUJBQXFCLEdBQUcsbURBQW1ELHdCQUF3QixHQUFHLGdFQUFnRSxrQkFBa0IsR0FBRyw4REFBOEQscUJBQXFCLHFCQUFxQixHQUFHLDhCQUE4QixtQkFBbUIsOEJBQThCLEdBQUcsa0hBQWtILG1CQUFtQiw4QkFBOEIsR0FBRyw0REFBNEQsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyxnQ0FBZ0MsbUJBQW1CLDhCQUE4QixHQUFHLHNIQUFzSCxtQkFBbUIsOEJBQThCLEdBQUcsOERBQThELGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsOEJBQThCLG1CQUFtQiw4QkFBOEIsR0FBRyxrSEFBa0gsbUJBQW1CLDhCQUE4QixHQUFHLDREQUE0RCxnQkFBZ0IsOEJBQThCLDBCQUEwQixHQUFHLDJCQUEyQixtQkFBbUIsOEJBQThCLEdBQUcsNEdBQTRHLG1CQUFtQiw4QkFBOEIsR0FBRyx5REFBeUQsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRyw4QkFBOEIsbUJBQW1CLDhCQUE4QixHQUFHLGtIQUFrSCxtQkFBbUIsOEJBQThCLEdBQUcsNERBQTRELGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsNkJBQTZCLG1CQUFtQiw4QkFBOEIsR0FBRyxnSEFBZ0gsbUJBQW1CLDhCQUE4QixHQUFHLDJEQUEyRCxnQkFBZ0IsOEJBQThCLDBCQUEwQixHQUFHLDRCQUE0QixtQkFBbUIsOEJBQThCLEdBQUcsOEdBQThHLG1CQUFtQiw4QkFBOEIsR0FBRywwREFBMEQsZ0JBQWdCLDhCQUE4QiwwQkFBMEIsR0FBRywyQkFBMkIsbUJBQW1CLDhCQUE4QixHQUFHLDRHQUE0RyxtQkFBbUIsOEJBQThCLEdBQUcseURBQXlELGdCQUFnQiw4QkFBOEIsMEJBQTBCLEdBQUcsWUFBWSxpQkFBaUIsc0JBQXNCLHFCQUFxQixtQkFBbUIsZ0JBQWdCLDhCQUE4QixnQkFBZ0IsR0FBRyxrQkFBa0IsZ0JBQWdCLDBCQUEwQixHQUFHLDRGQUE0RixpQkFBaUIsR0FBRyxrQkFBa0IsZUFBZSxrQ0FBa0MsY0FBYyw2QkFBNkIsMEJBQTBCLHFCQUFxQixHQUFHLHNCQUFzQix5QkFBeUIsR0FBRyxZQUFZLHFCQUFxQixxQkFBcUIsd0JBQXdCLGdEQUFnRCxpQ0FBaUMseUNBQXlDLHFEQUFxRCx3Q0FBd0MsZ0NBQWdDLGVBQWUsMkJBQTJCLEdBQUcsNkJBQTZCLDJCQUEyQixHQUFHLG9CQUFvQixlQUFlLEdBQUcsaUJBQWlCLG1CQUFtQixlQUFlLEdBQUcsaUJBQWlCLGtCQUFrQixHQUFHLG1CQUFtQix5QkFBeUIsa0JBQWtCLDJCQUEyQix3QkFBd0IsNkJBQTZCLG1CQUFtQixnREFBZ0QsaUNBQWlDLGlEQUFpRCxHQUFHLGlCQUFpQixxQkFBcUIsR0FBRyxpQkFBaUIscUJBQXFCLEdBQUcsd0JBQXdCLHVCQUF1QixxQkFBcUIsR0FBRyxZQUFZLG9CQUFvQixXQUFXLFlBQVksa0JBQWtCLGtCQUFrQixnQkFBZ0IsaUJBQWlCLHFCQUFxQixlQUFlLEdBQUcsbUJBQW1CLHVCQUF1QixnQkFBZ0IsbUJBQW1CLHlCQUF5QixHQUFHLCtCQUErQixnREFBZ0Qsd0NBQXdDLHlFQUF5RSwyQ0FBMkMsbUNBQW1DLEdBQUcsNkNBQTZDLCtCQUErQix1QkFBdUIsS0FBSyxHQUFHLCtCQUErQiw0QkFBNEIsb0JBQW9CLEdBQUcsOEJBQThCLHlCQUF5QixrQkFBa0Isa0NBQWtDLEdBQUcsNkNBQTZDLG1DQUFtQyxxQkFBcUIsR0FBRyxxRkFBcUYseUJBQXlCLG1CQUFtQixHQUFHLDBDQUEwQyxxQkFBcUIsR0FBRyw0QkFBNEIseUJBQXlCLGtCQUFrQiwyQkFBMkIsd0JBQXdCLGtDQUFrQyxHQUFHLG9DQUFvQyxtQkFBbUIsK0JBQStCLGtCQUFrQixHQUFHLG9EQUFvRCwrQkFBK0IsMkJBQTJCLDBCQUEwQiw0QkFBNEIsaUJBQWlCLEdBQUcsbUVBQW1FLHFCQUFxQixHQUFHLDREQUE0RCxrQkFBa0IsR0FBRyxvQkFBb0IsdUJBQXVCLHlCQUF5QixrQkFBa0IsK0JBQStCLDJCQUEyQixnQkFBZ0IseUJBQXlCLDJCQUEyQixpQ0FBaUMseUNBQXlDLDBCQUEwQixlQUFlLEdBQUcscUJBQXFCLG9CQUFvQixXQUFXLFlBQVksa0JBQWtCLGlCQUFpQixrQkFBa0IsMkJBQTJCLEdBQUcsMEJBQTBCLGVBQWUsR0FBRywwQkFBMEIsaUJBQWlCLEdBQUcsbUJBQW1CLHlCQUF5QixrQkFBa0IsMEJBQTBCLDRCQUE0QiwyQkFBMkIsbUNBQW1DLHVCQUF1QixxQ0FBcUMsbUNBQW1DLG9DQUFvQyxHQUFHLDBCQUEwQix1QkFBdUIsbUNBQW1DLEdBQUcsa0JBQWtCLHFCQUFxQixxQkFBcUIsR0FBRyxpQkFBaUIsdUJBQXVCLHVCQUF1QixtQkFBbUIsa0JBQWtCLEdBQUcsbUJBQW1CLHlCQUF5QixrQkFBa0IsMkJBQTJCLHdCQUF3Qix1QkFBdUIsOEJBQThCLGtCQUFrQixrQ0FBa0MsdUNBQXVDLHNDQUFzQyxHQUFHLHdDQUF3Qyx3QkFBd0IsR0FBRyx1Q0FBdUMseUJBQXlCLEdBQUcsOEJBQThCLHVCQUF1QixpQkFBaUIsZ0JBQWdCLGlCQUFpQixxQkFBcUIsR0FBRywrQkFBK0IsbUJBQW1CLHVCQUF1QiwyQkFBMkIsS0FBSyw4QkFBOEIsc0NBQXNDLEtBQUssNkNBQTZDLHVDQUF1QyxLQUFLLDRCQUE0QixzQ0FBc0MsS0FBSyxvQ0FBb0MsbUNBQW1DLEtBQUssZUFBZSx1QkFBdUIsS0FBSyxHQUFHLCtCQUErQiw2QkFBNkIsdUJBQXVCLEtBQUssR0FBRyxnQ0FBZ0MsZUFBZSx3QkFBd0IsS0FBSyxHQUFHLGNBQWMsdUJBQXVCLGtCQUFrQixtQkFBbUIsY0FBYyxxTkFBcU4sdUJBQXVCLHFCQUFxQixxQkFBcUIscUJBQXFCLHNCQUFzQiwwQkFBMEIsc0JBQXNCLHlCQUF5QiwyQkFBMkIsdUJBQXVCLHlCQUF5Qix3QkFBd0IscUJBQXFCLHdCQUF3QiwwQkFBMEIsZUFBZSxHQUFHLG1CQUFtQixpQkFBaUIsR0FBRyxxQkFBcUIsdUJBQXVCLG1CQUFtQixrQkFBa0IsbUJBQW1CLEdBQUcsNkJBQTZCLHVCQUF1QixrQkFBa0IsOEJBQThCLHdCQUF3QixHQUFHLDZEQUE2RCxzQkFBc0IsR0FBRywyRUFBMkUsY0FBYyxHQUFHLDJGQUEyRixXQUFXLGtDQUFrQywyQkFBMkIsR0FBRyxpRUFBaUUsc0JBQXNCLEdBQUcsK0VBQStFLFlBQVksa0JBQWtCLG1CQUFtQixHQUFHLCtGQUErRixhQUFhLHlDQUF5Qyw2QkFBNkIsR0FBRyxtRUFBbUUsc0JBQXNCLEdBQUcsaUZBQWlGLFdBQVcsR0FBRyxpR0FBaUcsY0FBYyxrQ0FBa0MsOEJBQThCLEdBQUcsK0RBQStELHNCQUFzQixHQUFHLDZFQUE2RSxhQUFhLGtCQUFrQixtQkFBbUIsR0FBRyw2RkFBNkYsWUFBWSx5Q0FBeUMsNEJBQTRCLEdBQUcsb0JBQW9CLHFCQUFxQiw0QkFBNEIsZ0JBQWdCLHVCQUF1QiwyQkFBMkIsMkJBQTJCLEdBQUcsY0FBYyx1QkFBdUIsV0FBVyxZQUFZLGtCQUFrQixtQkFBbUIscUJBQXFCLHFOQUFxTix1QkFBdUIscUJBQXFCLHFCQUFxQixxQkFBcUIsc0JBQXNCLDBCQUEwQixzQkFBc0IseUJBQXlCLDJCQUEyQix1QkFBdUIseUJBQXlCLHdCQUF3QixxQkFBcUIsd0JBQXdCLDBCQUEwQiwyQkFBMkIsaUNBQWlDLHlDQUF5QywwQkFBMEIsR0FBRyxxQkFBcUIsdUJBQXVCLG1CQUFtQixnQkFBZ0IsbUJBQW1CLHFCQUFxQixHQUFHLHFEQUFxRCx1QkFBdUIsbUJBQW1CLGtCQUFrQiw4QkFBOEIsd0JBQXdCLEdBQUcsNkRBQTZELDBCQUEwQixHQUFHLCtFQUErRSxzQ0FBc0MsR0FBRywrRkFBK0YsY0FBYyxrQ0FBa0MsMENBQTBDLEdBQUcsNkZBQTZGLGdCQUFnQixrQ0FBa0MsMkJBQTJCLEdBQUcsaUVBQWlFLHdCQUF3QixHQUFHLG1GQUFtRixvQ0FBb0Msa0JBQWtCLGlCQUFpQixxQkFBcUIsR0FBRyxtR0FBbUcsWUFBWSx5Q0FBeUMsNENBQTRDLEdBQUcsaUdBQWlHLGNBQWMseUNBQXlDLDZCQUE2QixHQUFHLG1FQUFtRSx1QkFBdUIsR0FBRyxxRkFBcUYsbUNBQW1DLEdBQUcscUdBQXFHLFdBQVcseUNBQXlDLDZDQUE2QyxHQUFHLG1HQUFtRyxhQUFhLHlDQUF5Qyw4QkFBOEIsR0FBRyxtSEFBbUgsdUJBQXVCLFdBQVcsY0FBYyxtQkFBbUIsZ0JBQWdCLHlCQUF5QixrQkFBa0IscUNBQXFDLEdBQUcsK0RBQStELHlCQUF5QixHQUFHLGlGQUFpRixxQ0FBcUMsa0JBQWtCLGlCQUFpQixxQkFBcUIsR0FBRyxpR0FBaUcsYUFBYSx5Q0FBeUMsMkNBQTJDLEdBQUcsK0ZBQStGLGVBQWUseUNBQXlDLDRCQUE0QixHQUFHLHFCQUFxQiw0QkFBNEIscUJBQXFCLG9CQUFvQiw4QkFBOEIscUNBQXFDLCtDQUErQyxnREFBZ0QsR0FBRywyQkFBMkIsa0JBQWtCLEdBQUcsbUJBQW1CLDRCQUE0QixtQkFBbUIsR0FBRyxlQUFlLHVCQUF1QixHQUFHLDZCQUE2Qiw0QkFBNEIsd0JBQXdCLEdBQUcscUJBQXFCLHVCQUF1QixnQkFBZ0IscUJBQXFCLEdBQUcsNEJBQTRCLG1CQUFtQixnQkFBZ0Isa0JBQWtCLEdBQUcsb0JBQW9CLHVCQUF1QixrQkFBa0IsZ0JBQWdCLGdCQUFnQix3QkFBd0Isd0NBQXdDLGdDQUFnQyxtREFBbUQsMkNBQTJDLCtFQUErRSxHQUFHLDZDQUE2QyxvQkFBb0IsdUJBQXVCLEtBQUssR0FBRyx1RUFBdUUsbUJBQW1CLEdBQUcsZ0ZBQWdGLHdDQUF3QyxnQ0FBZ0MsR0FBRyxnRkFBZ0YseUNBQXlDLGlDQUFpQyxHQUFHLG1DQUFtQyxlQUFlLGlDQUFpQyw0QkFBNEIsb0JBQW9CLEdBQUcsMkpBQTJKLGVBQWUsZUFBZSxHQUFHLDRGQUE0RixlQUFlLGVBQWUsZ0NBQWdDLEdBQUcsNkNBQTZDLDhGQUE4Rix1QkFBdUIsS0FBSyxHQUFHLHFEQUFxRCx1QkFBdUIsV0FBVyxjQUFjLGVBQWUseUJBQXlCLGtCQUFrQiwyQkFBMkIsd0JBQXdCLDBCQUEwQiw0QkFBNEIsZUFBZSxnQkFBZ0IsdUJBQXVCLGlCQUFpQixtQ0FBbUMsR0FBRyw2Q0FBNkMsdURBQXVELHVCQUF1QixLQUFLLEdBQUcsOEhBQThILGdCQUFnQiwwQkFBMEIsZUFBZSxpQkFBaUIsR0FBRyw0QkFBNEIsWUFBWSxHQUFHLDRCQUE0QixhQUFhLEdBQUcsK0RBQStELDBCQUEwQixnQkFBZ0IsaUJBQWlCLDBDQUEwQyxHQUFHLGlDQUFpQywwTUFBME0sR0FBRyxpQ0FBaUMsME1BQTBNLEdBQUcsMEJBQTBCLHVCQUF1QixhQUFhLGNBQWMsWUFBWSxnQkFBZ0IseUJBQXlCLGtCQUFrQiwwQkFBMEIsNEJBQTRCLG9CQUFvQixzQkFBc0IscUJBQXFCLHFCQUFxQixHQUFHLDZCQUE2Qiw0QkFBNEIsdUJBQXVCLG1CQUFtQixnQkFBZ0IsZ0JBQWdCLHNCQUFzQixxQkFBcUIsd0JBQXdCLG9CQUFvQiwyQkFBMkIsaUNBQWlDLHVDQUF1QywwQ0FBMEMsZ0JBQWdCLGtDQUFrQyxHQUFHLDZDQUE2Qyw2QkFBNkIsdUJBQXVCLEtBQUssR0FBRyxrQ0FBa0MsZUFBZSxHQUFHLHVCQUF1Qix1QkFBdUIsZUFBZSxpQkFBaUIsY0FBYyxnQkFBZ0Isc0JBQXNCLHlCQUF5QixnQkFBZ0IsdUJBQXVCLEdBQUcsdUNBQXVDLFFBQVEsd0NBQXdDLGdDQUFnQyxLQUFLLEdBQUcsK0JBQStCLFFBQVEsd0NBQXdDLGdDQUFnQyxLQUFLLEdBQUcscUJBQXFCLDBCQUEwQixnQkFBZ0IsaUJBQWlCLGdDQUFnQyxzQ0FBc0Msb0NBQW9DLHVCQUF1QiwyREFBMkQsbURBQW1ELEdBQUcsd0JBQXdCLGdCQUFnQixpQkFBaUIsd0JBQXdCLEdBQUcscUNBQXFDLFFBQVEsa0NBQWtDLDBCQUEwQixLQUFLLFNBQVMsaUJBQWlCLEtBQUssR0FBRyw2QkFBNkIsUUFBUSxrQ0FBa0MsMEJBQTBCLEtBQUssU0FBUyxpQkFBaUIsS0FBSyxHQUFHLG1CQUFtQiwwQkFBMEIsZ0JBQWdCLGlCQUFpQixnQ0FBZ0MsbUNBQW1DLHVCQUF1QixlQUFlLHlEQUF5RCxpREFBaUQsR0FBRyxzQkFBc0IsZ0JBQWdCLGlCQUFpQixHQUFHLHFCQUFxQix3Q0FBd0MsR0FBRyxnQkFBZ0IsbUNBQW1DLEdBQUcsbUJBQW1CLHNDQUFzQyxHQUFHLG1CQUFtQixzQ0FBc0MsR0FBRyx3QkFBd0IsMkNBQTJDLEdBQUcscUJBQXFCLHdDQUF3QyxHQUFHLGlCQUFpQix5Q0FBeUMsR0FBRyxnR0FBZ0cseUNBQXlDLEdBQUcsbUJBQW1CLHlDQUF5QyxHQUFHLHdHQUF3Ryx5Q0FBeUMsR0FBRyxpQkFBaUIseUNBQXlDLEdBQUcsZ0dBQWdHLHlDQUF5QyxHQUFHLGNBQWMseUNBQXlDLEdBQUcsb0ZBQW9GLHlDQUF5QyxHQUFHLGlCQUFpQix5Q0FBeUMsR0FBRyxnR0FBZ0cseUNBQXlDLEdBQUcsZ0JBQWdCLHlDQUF5QyxHQUFHLDRGQUE0Rix5Q0FBeUMsR0FBRyxlQUFlLHlDQUF5QyxHQUFHLHdGQUF3Rix5Q0FBeUMsR0FBRyxjQUFjLHlDQUF5QyxHQUFHLG9GQUFvRix5Q0FBeUMsR0FBRyxlQUFlLHNDQUFzQyxHQUFHLHFCQUFxQiw2Q0FBNkMsR0FBRyxhQUFhLHlDQUF5QyxHQUFHLGlCQUFpQiw2Q0FBNkMsR0FBRyxtQkFBbUIsK0NBQStDLEdBQUcsb0JBQW9CLGdEQUFnRCxHQUFHLGtCQUFrQiw4Q0FBOEMsR0FBRyxlQUFlLHlCQUF5QixHQUFHLG1CQUFtQiw2QkFBNkIsR0FBRyxxQkFBcUIsK0JBQStCLEdBQUcsc0JBQXNCLGdDQUFnQyxHQUFHLG9CQUFvQiw4QkFBOEIsR0FBRyxxQkFBcUIscUNBQXFDLEdBQUcsdUJBQXVCLHFDQUFxQyxHQUFHLHFCQUFxQixxQ0FBcUMsR0FBRyxrQkFBa0IscUNBQXFDLEdBQUcscUJBQXFCLHFDQUFxQyxHQUFHLG9CQUFvQixxQ0FBcUMsR0FBRyxtQkFBbUIscUNBQXFDLEdBQUcsa0JBQWtCLHFDQUFxQyxHQUFHLG1CQUFtQixrQ0FBa0MsR0FBRyxpQkFBaUIscUNBQXFDLEdBQUcsY0FBYyxzQ0FBc0MsR0FBRyxrQkFBa0IsK0NBQStDLGdEQUFnRCxHQUFHLG9CQUFvQixnREFBZ0QsbURBQW1ELEdBQUcscUJBQXFCLG1EQUFtRCxrREFBa0QsR0FBRyxtQkFBbUIsK0NBQStDLGtEQUFrRCxHQUFHLGlCQUFpQixxQ0FBcUMsR0FBRyxxQkFBcUIsa0NBQWtDLEdBQUcsbUJBQW1CLG9DQUFvQyxHQUFHLGdCQUFnQixnQ0FBZ0MsR0FBRyxzQkFBc0IsbUJBQW1CLGdCQUFnQixrQkFBa0IsR0FBRyxhQUFhLDZCQUE2QixHQUFHLGVBQWUsK0JBQStCLEdBQUcscUJBQXFCLHFDQUFxQyxHQUFHLGNBQWMsOEJBQThCLEdBQUcsY0FBYyw4QkFBOEIsR0FBRyxrQkFBa0Isa0NBQWtDLEdBQUcsbUJBQW1CLG1DQUFtQyxHQUFHLGFBQWEsb0NBQW9DLDZCQUE2QixHQUFHLG9CQUFvQiwyQ0FBMkMsb0NBQW9DLEdBQUcsK0JBQStCLGdCQUFnQiwrQkFBK0IsS0FBSyxrQkFBa0IsaUNBQWlDLEtBQUssd0JBQXdCLHVDQUF1QyxLQUFLLGlCQUFpQixnQ0FBZ0MsS0FBSyxpQkFBaUIsZ0NBQWdDLEtBQUsscUJBQXFCLG9DQUFvQyxLQUFLLHNCQUFzQixxQ0FBcUMsS0FBSyxnQkFBZ0Isc0NBQXNDLCtCQUErQixLQUFLLHVCQUF1Qiw2Q0FBNkMsc0NBQXNDLEtBQUssR0FBRywrQkFBK0IsZ0JBQWdCLCtCQUErQixLQUFLLGtCQUFrQixpQ0FBaUMsS0FBSyx3QkFBd0IsdUNBQXVDLEtBQUssaUJBQWlCLGdDQUFnQyxLQUFLLGlCQUFpQixnQ0FBZ0MsS0FBSyxxQkFBcUIsb0NBQW9DLEtBQUssc0JBQXNCLHFDQUFxQyxLQUFLLGdCQUFnQixzQ0FBc0MsK0JBQStCLEtBQUssdUJBQXVCLDZDQUE2QyxzQ0FBc0MsS0FBSyxHQUFHLCtCQUErQixnQkFBZ0IsK0JBQStCLEtBQUssa0JBQWtCLGlDQUFpQyxLQUFLLHdCQUF3Qix1Q0FBdUMsS0FBSyxpQkFBaUIsZ0NBQWdDLEtBQUssaUJBQWlCLGdDQUFnQyxLQUFLLHFCQUFxQixvQ0FBb0MsS0FBSyxzQkFBc0IscUNBQXFDLEtBQUssZ0JBQWdCLHNDQUFzQywrQkFBK0IsS0FBSyx1QkFBdUIsNkNBQTZDLHNDQUFzQyxLQUFLLEdBQUcsZ0NBQWdDLGdCQUFnQiwrQkFBK0IsS0FBSyxrQkFBa0IsaUNBQWlDLEtBQUssd0JBQXdCLHVDQUF1QyxLQUFLLGlCQUFpQixnQ0FBZ0MsS0FBSyxpQkFBaUIsZ0NBQWdDLEtBQUsscUJBQXFCLG9DQUFvQyxLQUFLLHNCQUFzQixxQ0FBcUMsS0FBSyxnQkFBZ0Isc0NBQXNDLCtCQUErQixLQUFLLHVCQUF1Qiw2Q0FBNkMsc0NBQXNDLEtBQUssR0FBRyxrQkFBa0IsbUJBQW1CLCtCQUErQixLQUFLLHFCQUFxQixpQ0FBaUMsS0FBSywyQkFBMkIsdUNBQXVDLEtBQUssb0JBQW9CLGdDQUFnQyxLQUFLLG9CQUFvQixnQ0FBZ0MsS0FBSyx3QkFBd0Isb0NBQW9DLEtBQUsseUJBQXlCLHFDQUFxQyxLQUFLLG1CQUFtQixzQ0FBc0MsK0JBQStCLEtBQUssMEJBQTBCLDZDQUE2QyxzQ0FBc0MsS0FBSyxHQUFHLHVCQUF1Qix1QkFBdUIsbUJBQW1CLGdCQUFnQixlQUFlLHFCQUFxQixHQUFHLCtCQUErQixtQkFBbUIsa0JBQWtCLEdBQUcsd0pBQXdKLHVCQUF1QixXQUFXLGNBQWMsWUFBWSxnQkFBZ0IsaUJBQWlCLGNBQWMsR0FBRyxxQ0FBcUMsNEJBQTRCLEdBQUcscUNBQXFDLHdCQUF3QixHQUFHLG9DQUFvQyxxQkFBcUIsR0FBRyxvQ0FBb0Msc0JBQXNCLEdBQUcsZUFBZSx1Q0FBdUMsbUNBQW1DLEdBQUcsa0JBQWtCLDBDQUEwQyxzQ0FBc0MsR0FBRyx1QkFBdUIsK0NBQStDLDJDQUEyQyxHQUFHLDBCQUEwQixrREFBa0QsOENBQThDLEdBQUcsZ0JBQWdCLG1DQUFtQywrQkFBK0IsR0FBRyxrQkFBa0IscUNBQXFDLGlDQUFpQyxHQUFHLHdCQUF3QiwyQ0FBMkMsdUNBQXVDLEdBQUcsZ0JBQWdCLGtDQUFrQyw4QkFBOEIsR0FBRyxrQkFBa0Isb0NBQW9DLDRCQUE0QixHQUFHLGtCQUFrQixvQ0FBb0MsNEJBQTRCLEdBQUcsb0JBQW9CLG9DQUFvQyw4QkFBOEIsR0FBRyxvQkFBb0Isb0NBQW9DLDhCQUE4QixHQUFHLDRCQUE0QixvQ0FBb0MsMkNBQTJDLEdBQUcsMEJBQTBCLGtDQUFrQyx5Q0FBeUMsR0FBRyw2QkFBNkIscUNBQXFDLHVDQUF1QyxHQUFHLDhCQUE4QixzQ0FBc0MsOENBQThDLEdBQUcsNkJBQTZCLHlDQUF5Qyw2Q0FBNkMsR0FBRyx3QkFBd0IscUNBQXFDLHVDQUF1QyxHQUFHLHNCQUFzQixtQ0FBbUMscUNBQXFDLEdBQUcseUJBQXlCLHNDQUFzQyxtQ0FBbUMsR0FBRywyQkFBMkIsd0NBQXdDLHFDQUFxQyxHQUFHLDBCQUEwQix1Q0FBdUMsb0NBQW9DLEdBQUcsMEJBQTBCLHlDQUF5Qyx5Q0FBeUMsR0FBRyx3QkFBd0IsdUNBQXVDLHVDQUF1QyxHQUFHLDJCQUEyQiwwQ0FBMEMscUNBQXFDLEdBQUcsNEJBQTRCLDJDQUEyQyw0Q0FBNEMsR0FBRywyQkFBMkIsOENBQThDLDJDQUEyQyxHQUFHLDRCQUE0QiwyQ0FBMkMsc0NBQXNDLEdBQUcsc0JBQXNCLHlDQUF5QyxnQ0FBZ0MsR0FBRyx1QkFBdUIsMENBQTBDLHNDQUFzQyxHQUFHLHFCQUFxQix3Q0FBd0Msb0NBQW9DLEdBQUcsd0JBQXdCLDJDQUEyQyxrQ0FBa0MsR0FBRywwQkFBMEIsNkNBQTZDLG9DQUFvQyxHQUFHLHlCQUF5Qiw0Q0FBNEMsbUNBQW1DLEdBQUcsK0JBQStCLGtCQUFrQix5Q0FBeUMscUNBQXFDLEtBQUsscUJBQXFCLDRDQUE0Qyx3Q0FBd0MsS0FBSywwQkFBMEIsaURBQWlELDZDQUE2QyxLQUFLLDZCQUE2QixvREFBb0QsZ0RBQWdELEtBQUssbUJBQW1CLHFDQUFxQyxpQ0FBaUMsS0FBSyxxQkFBcUIsdUNBQXVDLG1DQUFtQyxLQUFLLDJCQUEyQiw2Q0FBNkMseUNBQXlDLEtBQUssbUJBQW1CLG9DQUFvQyxnQ0FBZ0MsS0FBSyxxQkFBcUIsc0NBQXNDLDhCQUE4QixLQUFLLHFCQUFxQixzQ0FBc0MsOEJBQThCLEtBQUssdUJBQXVCLHNDQUFzQyxnQ0FBZ0MsS0FBSyx1QkFBdUIsc0NBQXNDLGdDQUFnQyxLQUFLLCtCQUErQixzQ0FBc0MsNkNBQTZDLEtBQUssNkJBQTZCLG9DQUFvQywyQ0FBMkMsS0FBSyxnQ0FBZ0MsdUNBQXVDLHlDQUF5QyxLQUFLLGlDQUFpQyx3Q0FBd0MsZ0RBQWdELEtBQUssZ0NBQWdDLDJDQUEyQywrQ0FBK0MsS0FBSywyQkFBMkIsdUNBQXVDLHlDQUF5QyxLQUFLLHlCQUF5QixxQ0FBcUMsdUNBQXVDLEtBQUssNEJBQTRCLHdDQUF3QyxxQ0FBcUMsS0FBSyw4QkFBOEIsMENBQTBDLHVDQUF1QyxLQUFLLDZCQUE2Qix5Q0FBeUMsc0NBQXNDLEtBQUssNkJBQTZCLDJDQUEyQywyQ0FBMkMsS0FBSywyQkFBMkIseUNBQXlDLHlDQUF5QyxLQUFLLDhCQUE4Qiw0Q0FBNEMsdUNBQXVDLEtBQUssK0JBQStCLDZDQUE2Qyw4Q0FBOEMsS0FBSyw4QkFBOEIsZ0RBQWdELDZDQUE2QyxLQUFLLCtCQUErQiw2Q0FBNkMsd0NBQXdDLEtBQUsseUJBQXlCLDJDQUEyQyxrQ0FBa0MsS0FBSywwQkFBMEIsNENBQTRDLHdDQUF3QyxLQUFLLHdCQUF3QiwwQ0FBMEMsc0NBQXNDLEtBQUssMkJBQTJCLDZDQUE2QyxvQ0FBb0MsS0FBSyw2QkFBNkIsK0NBQStDLHNDQUFzQyxLQUFLLDRCQUE0Qiw4Q0FBOEMscUNBQXFDLEtBQUssR0FBRywrQkFBK0Isa0JBQWtCLHlDQUF5QyxxQ0FBcUMsS0FBSyxxQkFBcUIsNENBQTRDLHdDQUF3QyxLQUFLLDBCQUEwQixpREFBaUQsNkNBQTZDLEtBQUssNkJBQTZCLG9EQUFvRCxnREFBZ0QsS0FBSyxtQkFBbUIscUNBQXFDLGlDQUFpQyxLQUFLLHFCQUFxQix1Q0FBdUMsbUNBQW1DLEtBQUssMkJBQTJCLDZDQUE2Qyx5Q0FBeUMsS0FBSyxtQkFBbUIsb0NBQW9DLGdDQUFnQyxLQUFLLHFCQUFxQixzQ0FBc0MsOEJBQThCLEtBQUsscUJBQXFCLHNDQUFzQyw4QkFBOEIsS0FBSyx1QkFBdUIsc0NBQXNDLGdDQUFnQyxLQUFLLHVCQUF1QixzQ0FBc0MsZ0NBQWdDLEtBQUssK0JBQStCLHNDQUFzQyw2Q0FBNkMsS0FBSyw2QkFBNkIsb0NBQW9DLDJDQUEyQyxLQUFLLGdDQUFnQyx1Q0FBdUMseUNBQXlDLEtBQUssaUNBQWlDLHdDQUF3QyxnREFBZ0QsS0FBSyxnQ0FBZ0MsMkNBQTJDLCtDQUErQyxLQUFLLDJCQUEyQix1Q0FBdUMseUNBQXlDLEtBQUsseUJBQXlCLHFDQUFxQyx1Q0FBdUMsS0FBSyw0QkFBNEIsd0NBQXdDLHFDQUFxQyxLQUFLLDhCQUE4QiwwQ0FBMEMsdUNBQXVDLEtBQUssNkJBQTZCLHlDQUF5QyxzQ0FBc0MsS0FBSyw2QkFBNkIsMkNBQTJDLDJDQUEyQyxLQUFLLDJCQUEyQix5Q0FBeUMseUNBQXlDLEtBQUssOEJBQThCLDRDQUE0Qyx1Q0FBdUMsS0FBSywrQkFBK0IsNkNBQTZDLDhDQUE4QyxLQUFLLDhCQUE4QixnREFBZ0QsNkNBQTZDLEtBQUssK0JBQStCLDZDQUE2Qyx3Q0FBd0MsS0FBSyx5QkFBeUIsMkNBQTJDLGtDQUFrQyxLQUFLLDBCQUEwQiw0Q0FBNEMsd0NBQXdDLEtBQUssd0JBQXdCLDBDQUEwQyxzQ0FBc0MsS0FBSywyQkFBMkIsNkNBQTZDLG9DQUFvQyxLQUFLLDZCQUE2QiwrQ0FBK0Msc0NBQXNDLEtBQUssNEJBQTRCLDhDQUE4QyxxQ0FBcUMsS0FBSyxHQUFHLCtCQUErQixrQkFBa0IseUNBQXlDLHFDQUFxQyxLQUFLLHFCQUFxQiw0Q0FBNEMsd0NBQXdDLEtBQUssMEJBQTBCLGlEQUFpRCw2Q0FBNkMsS0FBSyw2QkFBNkIsb0RBQW9ELGdEQUFnRCxLQUFLLG1CQUFtQixxQ0FBcUMsaUNBQWlDLEtBQUsscUJBQXFCLHVDQUF1QyxtQ0FBbUMsS0FBSywyQkFBMkIsNkNBQTZDLHlDQUF5QyxLQUFLLG1CQUFtQixvQ0FBb0MsZ0NBQWdDLEtBQUsscUJBQXFCLHNDQUFzQyw4QkFBOEIsS0FBSyxxQkFBcUIsc0NBQXNDLDhCQUE4QixLQUFLLHVCQUF1QixzQ0FBc0MsZ0NBQWdDLEtBQUssdUJBQXVCLHNDQUFzQyxnQ0FBZ0MsS0FBSywrQkFBK0Isc0NBQXNDLDZDQUE2QyxLQUFLLDZCQUE2QixvQ0FBb0MsMkNBQTJDLEtBQUssZ0NBQWdDLHVDQUF1Qyx5Q0FBeUMsS0FBSyxpQ0FBaUMsd0NBQXdDLGdEQUFnRCxLQUFLLGdDQUFnQywyQ0FBMkMsK0NBQStDLEtBQUssMkJBQTJCLHVDQUF1Qyx5Q0FBeUMsS0FBSyx5QkFBeUIscUNBQXFDLHVDQUF1QyxLQUFLLDRCQUE0Qix3Q0FBd0MscUNBQXFDLEtBQUssOEJBQThCLDBDQUEwQyx1Q0FBdUMsS0FBSyw2QkFBNkIseUNBQXlDLHNDQUFzQyxLQUFLLDZCQUE2QiwyQ0FBMkMsMkNBQTJDLEtBQUssMkJBQTJCLHlDQUF5Qyx5Q0FBeUMsS0FBSyw4QkFBOEIsNENBQTRDLHVDQUF1QyxLQUFLLCtCQUErQiw2Q0FBNkMsOENBQThDLEtBQUssOEJBQThCLGdEQUFnRCw2Q0FBNkMsS0FBSywrQkFBK0IsNkNBQTZDLHdDQUF3QyxLQUFLLHlCQUF5QiwyQ0FBMkMsa0NBQWtDLEtBQUssMEJBQTBCLDRDQUE0Qyx3Q0FBd0MsS0FBSyx3QkFBd0IsMENBQTBDLHNDQUFzQyxLQUFLLDJCQUEyQiw2Q0FBNkMsb0NBQW9DLEtBQUssNkJBQTZCLCtDQUErQyxzQ0FBc0MsS0FBSyw0QkFBNEIsOENBQThDLHFDQUFxQyxLQUFLLEdBQUcsZ0NBQWdDLGtCQUFrQix5Q0FBeUMscUNBQXFDLEtBQUsscUJBQXFCLDRDQUE0Qyx3Q0FBd0MsS0FBSywwQkFBMEIsaURBQWlELDZDQUE2QyxLQUFLLDZCQUE2QixvREFBb0QsZ0RBQWdELEtBQUssbUJBQW1CLHFDQUFxQyxpQ0FBaUMsS0FBSyxxQkFBcUIsdUNBQXVDLG1DQUFtQyxLQUFLLDJCQUEyQiw2Q0FBNkMseUNBQXlDLEtBQUssbUJBQW1CLG9DQUFvQyxnQ0FBZ0MsS0FBSyxxQkFBcUIsc0NBQXNDLDhCQUE4QixLQUFLLHFCQUFxQixzQ0FBc0MsOEJBQThCLEtBQUssdUJBQXVCLHNDQUFzQyxnQ0FBZ0MsS0FBSyx1QkFBdUIsc0NBQXNDLGdDQUFnQyxLQUFLLCtCQUErQixzQ0FBc0MsNkNBQTZDLEtBQUssNkJBQTZCLG9DQUFvQywyQ0FBMkMsS0FBSyxnQ0FBZ0MsdUNBQXVDLHlDQUF5QyxLQUFLLGlDQUFpQyx3Q0FBd0MsZ0RBQWdELEtBQUssZ0NBQWdDLDJDQUEyQywrQ0FBK0MsS0FBSywyQkFBMkIsdUNBQXVDLHlDQUF5QyxLQUFLLHlCQUF5QixxQ0FBcUMsdUNBQXVDLEtBQUssNEJBQTRCLHdDQUF3QyxxQ0FBcUMsS0FBSyw4QkFBOEIsMENBQTBDLHVDQUF1QyxLQUFLLDZCQUE2Qix5Q0FBeUMsc0NBQXNDLEtBQUssNkJBQTZCLDJDQUEyQywyQ0FBMkMsS0FBSywyQkFBMkIseUNBQXlDLHlDQUF5QyxLQUFLLDhCQUE4Qiw0Q0FBNEMsdUNBQXVDLEtBQUssK0JBQStCLDZDQUE2Qyw4Q0FBOEMsS0FBSyw4QkFBOEIsZ0RBQWdELDZDQUE2QyxLQUFLLCtCQUErQiw2Q0FBNkMsd0NBQXdDLEtBQUsseUJBQXlCLDJDQUEyQyxrQ0FBa0MsS0FBSywwQkFBMEIsNENBQTRDLHdDQUF3QyxLQUFLLHdCQUF3QiwwQ0FBMEMsc0NBQXNDLEtBQUssMkJBQTJCLDZDQUE2QyxvQ0FBb0MsS0FBSyw2QkFBNkIsK0NBQStDLHNDQUFzQyxLQUFLLDRCQUE0Qiw4Q0FBOEMscUNBQXFDLEtBQUssR0FBRyxpQkFBaUIsMkJBQTJCLEdBQUcsa0JBQWtCLDRCQUE0QixHQUFHLGlCQUFpQiwyQkFBMkIsR0FBRywrQkFBK0Isb0JBQW9CLDZCQUE2QixLQUFLLHFCQUFxQiw4QkFBOEIsS0FBSyxvQkFBb0IsNkJBQTZCLEtBQUssR0FBRywrQkFBK0Isb0JBQW9CLDZCQUE2QixLQUFLLHFCQUFxQiw4QkFBOEIsS0FBSyxvQkFBb0IsNkJBQTZCLEtBQUssR0FBRywrQkFBK0Isb0JBQW9CLDZCQUE2QixLQUFLLHFCQUFxQiw4QkFBOEIsS0FBSyxvQkFBb0IsNkJBQTZCLEtBQUssR0FBRyxnQ0FBZ0Msb0JBQW9CLDZCQUE2QixLQUFLLHFCQUFxQiw4QkFBOEIsS0FBSyxvQkFBb0IsNkJBQTZCLEtBQUssR0FBRyxvQkFBb0IsOEJBQThCLEdBQUcsc0JBQXNCLGdDQUFnQyxHQUFHLHNCQUFzQixnQ0FBZ0MsR0FBRyx3QkFBd0Isa0NBQWtDLEdBQUcsd0JBQXdCLGtDQUFrQyxHQUFHLHFCQUFxQiwrQkFBK0IsR0FBRyxzQkFBc0Isd0NBQXdDLGdDQUFnQyxHQUFHLGdCQUFnQixvQkFBb0IsV0FBVyxhQUFhLFlBQVksa0JBQWtCLEdBQUcsbUJBQW1CLG9CQUFvQixhQUFhLGNBQWMsWUFBWSxrQkFBa0IsR0FBRyxrRUFBa0UsaUJBQWlCLCtCQUErQix1QkFBdUIsYUFBYSxvQkFBb0IsS0FBSyxHQUFHLGNBQWMsdUJBQXVCLGVBQWUsZ0JBQWdCLGVBQWUscUJBQXFCLDJCQUEyQix3QkFBd0IsY0FBYyxHQUFHLHlEQUF5RCxxQkFBcUIsZ0JBQWdCLGlCQUFpQixzQkFBc0IsZUFBZSx3QkFBd0IsR0FBRyxnQkFBZ0IsbUVBQW1FLEdBQUcsYUFBYSw2REFBNkQsR0FBRyxnQkFBZ0IsNERBQTRELEdBQUcsa0JBQWtCLGdDQUFnQyxHQUFHLFdBQVcsMEJBQTBCLEdBQUcsV0FBVywwQkFBMEIsR0FBRyxXQUFXLDBCQUEwQixHQUFHLFlBQVksMkJBQTJCLEdBQUcsYUFBYSwyQkFBMkIsR0FBRyxXQUFXLDJCQUEyQixHQUFHLFdBQVcsMkJBQTJCLEdBQUcsV0FBVywyQkFBMkIsR0FBRyxZQUFZLDRCQUE0QixHQUFHLGFBQWEsNEJBQTRCLEdBQUcsYUFBYSwrQkFBK0IsR0FBRyxhQUFhLGdDQUFnQyxHQUFHLGlCQUFpQixnQ0FBZ0MsR0FBRyxpQkFBaUIsaUNBQWlDLEdBQUcsYUFBYSw0QkFBNEIsR0FBRyxhQUFhLDZCQUE2QixHQUFHLDRCQUE0Qix1QkFBdUIsV0FBVyxhQUFhLGNBQWMsWUFBWSxlQUFlLHlCQUF5QixrQkFBa0IsdUNBQXVDLEdBQUcsVUFBVSx5QkFBeUIsR0FBRyxtQkFBbUIsNkJBQTZCLEdBQUcsbUJBQW1CLCtCQUErQixHQUFHLG1CQUFtQixnQ0FBZ0MsR0FBRyxtQkFBbUIsOEJBQThCLEdBQUcsVUFBVSwrQkFBK0IsR0FBRyxtQkFBbUIsbUNBQW1DLEdBQUcsbUJBQW1CLHFDQUFxQyxHQUFHLG1CQUFtQixzQ0FBc0MsR0FBRyxtQkFBbUIsb0NBQW9DLEdBQUcsVUFBVSw4QkFBOEIsR0FBRyxtQkFBbUIsa0NBQWtDLEdBQUcsbUJBQW1CLG9DQUFvQyxHQUFHLG1CQUFtQixxQ0FBcUMsR0FBRyxtQkFBbUIsbUNBQW1DLEdBQUcsVUFBVSw0QkFBNEIsR0FBRyxtQkFBbUIsZ0NBQWdDLEdBQUcsbUJBQW1CLGtDQUFrQyxHQUFHLG1CQUFtQixtQ0FBbUMsR0FBRyxtQkFBbUIsaUNBQWlDLEdBQUcsVUFBVSw4QkFBOEIsR0FBRyxtQkFBbUIsa0NBQWtDLEdBQUcsbUJBQW1CLG9DQUFvQyxHQUFHLG1CQUFtQixxQ0FBcUMsR0FBRyxtQkFBbUIsbUNBQW1DLEdBQUcsVUFBVSw0QkFBNEIsR0FBRyxtQkFBbUIsZ0NBQWdDLEdBQUcsbUJBQW1CLGtDQUFrQyxHQUFHLG1CQUFtQixtQ0FBbUMsR0FBRyxtQkFBbUIsaUNBQWlDLEdBQUcsVUFBVSwwQkFBMEIsR0FBRyxtQkFBbUIsOEJBQThCLEdBQUcsbUJBQW1CLGdDQUFnQyxHQUFHLG1CQUFtQixpQ0FBaUMsR0FBRyxtQkFBbUIsK0JBQStCLEdBQUcsVUFBVSxnQ0FBZ0MsR0FBRyxtQkFBbUIsb0NBQW9DLEdBQUcsbUJBQW1CLHNDQUFzQyxHQUFHLG1CQUFtQix1Q0FBdUMsR0FBRyxtQkFBbUIscUNBQXFDLEdBQUcsVUFBVSwrQkFBK0IsR0FBRyxtQkFBbUIsbUNBQW1DLEdBQUcsbUJBQW1CLHFDQUFxQyxHQUFHLG1CQUFtQixzQ0FBc0MsR0FBRyxtQkFBbUIsb0NBQW9DLEdBQUcsVUFBVSw2QkFBNkIsR0FBRyxtQkFBbUIsaUNBQWlDLEdBQUcsbUJBQW1CLG1DQUFtQyxHQUFHLG1CQUFtQixvQ0FBb0MsR0FBRyxtQkFBbUIsa0NBQWtDLEdBQUcsVUFBVSwrQkFBK0IsR0FBRyxtQkFBbUIsbUNBQW1DLEdBQUcsbUJBQW1CLHFDQUFxQyxHQUFHLG1CQUFtQixzQ0FBc0MsR0FBRyxtQkFBbUIsb0NBQW9DLEdBQUcsVUFBVSw2QkFBNkIsR0FBRyxtQkFBbUIsaUNBQWlDLEdBQUcsbUJBQW1CLG1DQUFtQyxHQUFHLG1CQUFtQixvQ0FBb0MsR0FBRyxtQkFBbUIsa0NBQWtDLEdBQUcsV0FBVyxnQ0FBZ0MsR0FBRyxxQkFBcUIsb0NBQW9DLEdBQUcscUJBQXFCLHNDQUFzQyxHQUFHLHFCQUFxQix1Q0FBdUMsR0FBRyxxQkFBcUIscUNBQXFDLEdBQUcsV0FBVywrQkFBK0IsR0FBRyxxQkFBcUIsbUNBQW1DLEdBQUcscUJBQXFCLHFDQUFxQyxHQUFHLHFCQUFxQixzQ0FBc0MsR0FBRyxxQkFBcUIsb0NBQW9DLEdBQUcsV0FBVyw2QkFBNkIsR0FBRyxxQkFBcUIsaUNBQWlDLEdBQUcscUJBQXFCLG1DQUFtQyxHQUFHLHFCQUFxQixvQ0FBb0MsR0FBRyxxQkFBcUIsa0NBQWtDLEdBQUcsV0FBVywrQkFBK0IsR0FBRyxxQkFBcUIsbUNBQW1DLEdBQUcscUJBQXFCLHFDQUFxQyxHQUFHLHFCQUFxQixzQ0FBc0MsR0FBRyxxQkFBcUIsb0NBQW9DLEdBQUcsV0FBVyw2QkFBNkIsR0FBRyxxQkFBcUIsaUNBQWlDLEdBQUcscUJBQXFCLG1DQUFtQyxHQUFHLHFCQUFxQixvQ0FBb0MsR0FBRyxxQkFBcUIsa0NBQWtDLEdBQUcsYUFBYSw0QkFBNEIsR0FBRyx5QkFBeUIsZ0NBQWdDLEdBQUcseUJBQXlCLGtDQUFrQyxHQUFHLHlCQUF5QixtQ0FBbUMsR0FBRyx5QkFBeUIsaUNBQWlDLEdBQUcsK0JBQStCLGFBQWEsMkJBQTJCLEtBQUssMkJBQTJCLCtCQUErQixLQUFLLDJCQUEyQixpQ0FBaUMsS0FBSywyQkFBMkIsa0NBQWtDLEtBQUssMkJBQTJCLGdDQUFnQyxLQUFLLGFBQWEsaUNBQWlDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQix1Q0FBdUMsS0FBSywyQkFBMkIsd0NBQXdDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLGFBQWEsZ0NBQWdDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSywyQkFBMkIsdUNBQXVDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLGFBQWEsOEJBQThCLEtBQUssMkJBQTJCLGtDQUFrQyxLQUFLLDJCQUEyQixvQ0FBb0MsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssMkJBQTJCLG1DQUFtQyxLQUFLLGFBQWEsZ0NBQWdDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSywyQkFBMkIsdUNBQXVDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLGFBQWEsOEJBQThCLEtBQUssMkJBQTJCLGtDQUFrQyxLQUFLLDJCQUEyQixvQ0FBb0MsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssMkJBQTJCLG1DQUFtQyxLQUFLLGFBQWEsNEJBQTRCLEtBQUssMkJBQTJCLGdDQUFnQyxLQUFLLDJCQUEyQixrQ0FBa0MsS0FBSywyQkFBMkIsbUNBQW1DLEtBQUssMkJBQTJCLGlDQUFpQyxLQUFLLGFBQWEsa0NBQWtDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLDJCQUEyQix3Q0FBd0MsS0FBSywyQkFBMkIseUNBQXlDLEtBQUssMkJBQTJCLHVDQUF1QyxLQUFLLGFBQWEsaUNBQWlDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQix1Q0FBdUMsS0FBSywyQkFBMkIsd0NBQXdDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLGFBQWEsK0JBQStCLEtBQUssMkJBQTJCLG1DQUFtQyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLGFBQWEsaUNBQWlDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQix1Q0FBdUMsS0FBSywyQkFBMkIsd0NBQXdDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLGFBQWEsK0JBQStCLEtBQUssMkJBQTJCLG1DQUFtQyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLGNBQWMsa0NBQWtDLEtBQUssNkJBQTZCLHNDQUFzQyxLQUFLLDZCQUE2Qix3Q0FBd0MsS0FBSyw2QkFBNkIseUNBQXlDLEtBQUssNkJBQTZCLHVDQUF1QyxLQUFLLGNBQWMsaUNBQWlDLEtBQUssNkJBQTZCLHFDQUFxQyxLQUFLLDZCQUE2Qix1Q0FBdUMsS0FBSyw2QkFBNkIsd0NBQXdDLEtBQUssNkJBQTZCLHNDQUFzQyxLQUFLLGNBQWMsK0JBQStCLEtBQUssNkJBQTZCLG1DQUFtQyxLQUFLLDZCQUE2QixxQ0FBcUMsS0FBSyw2QkFBNkIsc0NBQXNDLEtBQUssNkJBQTZCLG9DQUFvQyxLQUFLLGNBQWMsaUNBQWlDLEtBQUssNkJBQTZCLHFDQUFxQyxLQUFLLDZCQUE2Qix1Q0FBdUMsS0FBSyw2QkFBNkIsd0NBQXdDLEtBQUssNkJBQTZCLHNDQUFzQyxLQUFLLGNBQWMsK0JBQStCLEtBQUssNkJBQTZCLG1DQUFtQyxLQUFLLDZCQUE2QixxQ0FBcUMsS0FBSyw2QkFBNkIsc0NBQXNDLEtBQUssNkJBQTZCLG9DQUFvQyxLQUFLLGdCQUFnQiw4QkFBOEIsS0FBSyxpQ0FBaUMsa0NBQWtDLEtBQUssaUNBQWlDLG9DQUFvQyxLQUFLLGlDQUFpQyxxQ0FBcUMsS0FBSyxpQ0FBaUMsbUNBQW1DLEtBQUssR0FBRywrQkFBK0IsYUFBYSwyQkFBMkIsS0FBSywyQkFBMkIsK0JBQStCLEtBQUssMkJBQTJCLGlDQUFpQyxLQUFLLDJCQUEyQixrQ0FBa0MsS0FBSywyQkFBMkIsZ0NBQWdDLEtBQUssYUFBYSxpQ0FBaUMsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssMkJBQTJCLHVDQUF1QyxLQUFLLDJCQUEyQix3Q0FBd0MsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssYUFBYSxnQ0FBZ0MsS0FBSywyQkFBMkIsb0NBQW9DLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLDJCQUEyQix1Q0FBdUMsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssYUFBYSw4QkFBOEIsS0FBSywyQkFBMkIsa0NBQWtDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSywyQkFBMkIsbUNBQW1DLEtBQUssYUFBYSxnQ0FBZ0MsS0FBSywyQkFBMkIsb0NBQW9DLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLDJCQUEyQix1Q0FBdUMsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssYUFBYSw4QkFBOEIsS0FBSywyQkFBMkIsa0NBQWtDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSywyQkFBMkIsbUNBQW1DLEtBQUssYUFBYSw0QkFBNEIsS0FBSywyQkFBMkIsZ0NBQWdDLEtBQUssMkJBQTJCLGtDQUFrQyxLQUFLLDJCQUEyQixtQ0FBbUMsS0FBSywyQkFBMkIsaUNBQWlDLEtBQUssYUFBYSxrQ0FBa0MsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssMkJBQTJCLHdDQUF3QyxLQUFLLDJCQUEyQix5Q0FBeUMsS0FBSywyQkFBMkIsdUNBQXVDLEtBQUssYUFBYSxpQ0FBaUMsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssMkJBQTJCLHVDQUF1QyxLQUFLLDJCQUEyQix3Q0FBd0MsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssYUFBYSwrQkFBK0IsS0FBSywyQkFBMkIsbUNBQW1DLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSywyQkFBMkIsb0NBQW9DLEtBQUssYUFBYSxpQ0FBaUMsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssMkJBQTJCLHVDQUF1QyxLQUFLLDJCQUEyQix3Q0FBd0MsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssYUFBYSwrQkFBK0IsS0FBSywyQkFBMkIsbUNBQW1DLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSywyQkFBMkIsb0NBQW9DLEtBQUssY0FBYyxrQ0FBa0MsS0FBSyw2QkFBNkIsc0NBQXNDLEtBQUssNkJBQTZCLHdDQUF3QyxLQUFLLDZCQUE2Qix5Q0FBeUMsS0FBSyw2QkFBNkIsdUNBQXVDLEtBQUssY0FBYyxpQ0FBaUMsS0FBSyw2QkFBNkIscUNBQXFDLEtBQUssNkJBQTZCLHVDQUF1QyxLQUFLLDZCQUE2Qix3Q0FBd0MsS0FBSyw2QkFBNkIsc0NBQXNDLEtBQUssY0FBYywrQkFBK0IsS0FBSyw2QkFBNkIsbUNBQW1DLEtBQUssNkJBQTZCLHFDQUFxQyxLQUFLLDZCQUE2QixzQ0FBc0MsS0FBSyw2QkFBNkIsb0NBQW9DLEtBQUssY0FBYyxpQ0FBaUMsS0FBSyw2QkFBNkIscUNBQXFDLEtBQUssNkJBQTZCLHVDQUF1QyxLQUFLLDZCQUE2Qix3Q0FBd0MsS0FBSyw2QkFBNkIsc0NBQXNDLEtBQUssY0FBYywrQkFBK0IsS0FBSyw2QkFBNkIsbUNBQW1DLEtBQUssNkJBQTZCLHFDQUFxQyxLQUFLLDZCQUE2QixzQ0FBc0MsS0FBSyw2QkFBNkIsb0NBQW9DLEtBQUssZ0JBQWdCLDhCQUE4QixLQUFLLGlDQUFpQyxrQ0FBa0MsS0FBSyxpQ0FBaUMsb0NBQW9DLEtBQUssaUNBQWlDLHFDQUFxQyxLQUFLLGlDQUFpQyxtQ0FBbUMsS0FBSyxHQUFHLCtCQUErQixhQUFhLDJCQUEyQixLQUFLLDJCQUEyQiwrQkFBK0IsS0FBSywyQkFBMkIsaUNBQWlDLEtBQUssMkJBQTJCLGtDQUFrQyxLQUFLLDJCQUEyQixnQ0FBZ0MsS0FBSyxhQUFhLGlDQUFpQyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSywyQkFBMkIsdUNBQXVDLEtBQUssMkJBQTJCLHdDQUF3QyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSyxhQUFhLGdDQUFnQyxLQUFLLDJCQUEyQixvQ0FBb0MsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssMkJBQTJCLHVDQUF1QyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSyxhQUFhLDhCQUE4QixLQUFLLDJCQUEyQixrQ0FBa0MsS0FBSywyQkFBMkIsb0NBQW9DLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQixtQ0FBbUMsS0FBSyxhQUFhLGdDQUFnQyxLQUFLLDJCQUEyQixvQ0FBb0MsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssMkJBQTJCLHVDQUF1QyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSyxhQUFhLDhCQUE4QixLQUFLLDJCQUEyQixrQ0FBa0MsS0FBSywyQkFBMkIsb0NBQW9DLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQixtQ0FBbUMsS0FBSyxhQUFhLDRCQUE0QixLQUFLLDJCQUEyQixnQ0FBZ0MsS0FBSywyQkFBMkIsa0NBQWtDLEtBQUssMkJBQTJCLG1DQUFtQyxLQUFLLDJCQUEyQixpQ0FBaUMsS0FBSyxhQUFhLGtDQUFrQyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSywyQkFBMkIsd0NBQXdDLEtBQUssMkJBQTJCLHlDQUF5QyxLQUFLLDJCQUEyQix1Q0FBdUMsS0FBSyxhQUFhLGlDQUFpQyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSywyQkFBMkIsdUNBQXVDLEtBQUssMkJBQTJCLHdDQUF3QyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSyxhQUFhLCtCQUErQixLQUFLLDJCQUEyQixtQ0FBbUMsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLDJCQUEyQixvQ0FBb0MsS0FBSyxhQUFhLGlDQUFpQyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSywyQkFBMkIsdUNBQXVDLEtBQUssMkJBQTJCLHdDQUF3QyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSyxhQUFhLCtCQUErQixLQUFLLDJCQUEyQixtQ0FBbUMsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLDJCQUEyQixvQ0FBb0MsS0FBSyxjQUFjLGtDQUFrQyxLQUFLLDZCQUE2QixzQ0FBc0MsS0FBSyw2QkFBNkIsd0NBQXdDLEtBQUssNkJBQTZCLHlDQUF5QyxLQUFLLDZCQUE2Qix1Q0FBdUMsS0FBSyxjQUFjLGlDQUFpQyxLQUFLLDZCQUE2QixxQ0FBcUMsS0FBSyw2QkFBNkIsdUNBQXVDLEtBQUssNkJBQTZCLHdDQUF3QyxLQUFLLDZCQUE2QixzQ0FBc0MsS0FBSyxjQUFjLCtCQUErQixLQUFLLDZCQUE2QixtQ0FBbUMsS0FBSyw2QkFBNkIscUNBQXFDLEtBQUssNkJBQTZCLHNDQUFzQyxLQUFLLDZCQUE2QixvQ0FBb0MsS0FBSyxjQUFjLGlDQUFpQyxLQUFLLDZCQUE2QixxQ0FBcUMsS0FBSyw2QkFBNkIsdUNBQXVDLEtBQUssNkJBQTZCLHdDQUF3QyxLQUFLLDZCQUE2QixzQ0FBc0MsS0FBSyxjQUFjLCtCQUErQixLQUFLLDZCQUE2QixtQ0FBbUMsS0FBSyw2QkFBNkIscUNBQXFDLEtBQUssNkJBQTZCLHNDQUFzQyxLQUFLLDZCQUE2QixvQ0FBb0MsS0FBSyxnQkFBZ0IsOEJBQThCLEtBQUssaUNBQWlDLGtDQUFrQyxLQUFLLGlDQUFpQyxvQ0FBb0MsS0FBSyxpQ0FBaUMscUNBQXFDLEtBQUssaUNBQWlDLG1DQUFtQyxLQUFLLEdBQUcsZ0NBQWdDLGFBQWEsMkJBQTJCLEtBQUssMkJBQTJCLCtCQUErQixLQUFLLDJCQUEyQixpQ0FBaUMsS0FBSywyQkFBMkIsa0NBQWtDLEtBQUssMkJBQTJCLGdDQUFnQyxLQUFLLGFBQWEsaUNBQWlDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQix1Q0FBdUMsS0FBSywyQkFBMkIsd0NBQXdDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLGFBQWEsZ0NBQWdDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSywyQkFBMkIsdUNBQXVDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLGFBQWEsOEJBQThCLEtBQUssMkJBQTJCLGtDQUFrQyxLQUFLLDJCQUEyQixvQ0FBb0MsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssMkJBQTJCLG1DQUFtQyxLQUFLLGFBQWEsZ0NBQWdDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLDJCQUEyQixzQ0FBc0MsS0FBSywyQkFBMkIsdUNBQXVDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLGFBQWEsOEJBQThCLEtBQUssMkJBQTJCLGtDQUFrQyxLQUFLLDJCQUEyQixvQ0FBb0MsS0FBSywyQkFBMkIscUNBQXFDLEtBQUssMkJBQTJCLG1DQUFtQyxLQUFLLGFBQWEsNEJBQTRCLEtBQUssMkJBQTJCLGdDQUFnQyxLQUFLLDJCQUEyQixrQ0FBa0MsS0FBSywyQkFBMkIsbUNBQW1DLEtBQUssMkJBQTJCLGlDQUFpQyxLQUFLLGFBQWEsa0NBQWtDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLDJCQUEyQix3Q0FBd0MsS0FBSywyQkFBMkIseUNBQXlDLEtBQUssMkJBQTJCLHVDQUF1QyxLQUFLLGFBQWEsaUNBQWlDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQix1Q0FBdUMsS0FBSywyQkFBMkIsd0NBQXdDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLGFBQWEsK0JBQStCLEtBQUssMkJBQTJCLG1DQUFtQyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLGFBQWEsaUNBQWlDLEtBQUssMkJBQTJCLHFDQUFxQyxLQUFLLDJCQUEyQix1Q0FBdUMsS0FBSywyQkFBMkIsd0NBQXdDLEtBQUssMkJBQTJCLHNDQUFzQyxLQUFLLGFBQWEsK0JBQStCLEtBQUssMkJBQTJCLG1DQUFtQyxLQUFLLDJCQUEyQixxQ0FBcUMsS0FBSywyQkFBMkIsc0NBQXNDLEtBQUssMkJBQTJCLG9DQUFvQyxLQUFLLGNBQWMsa0NBQWtDLEtBQUssNkJBQTZCLHNDQUFzQyxLQUFLLDZCQUE2Qix3Q0FBd0MsS0FBSyw2QkFBNkIseUNBQXlDLEtBQUssNkJBQTZCLHVDQUF1QyxLQUFLLGNBQWMsaUNBQWlDLEtBQUssNkJBQTZCLHFDQUFxQyxLQUFLLDZCQUE2Qix1Q0FBdUMsS0FBSyw2QkFBNkIsd0NBQXdDLEtBQUssNkJBQTZCLHNDQUFzQyxLQUFLLGNBQWMsK0JBQStCLEtBQUssNkJBQTZCLG1DQUFtQyxLQUFLLDZCQUE2QixxQ0FBcUMsS0FBSyw2QkFBNkIsc0NBQXNDLEtBQUssNkJBQTZCLG9DQUFvQyxLQUFLLGNBQWMsaUNBQWlDLEtBQUssNkJBQTZCLHFDQUFxQyxLQUFLLDZCQUE2Qix1Q0FBdUMsS0FBSyw2QkFBNkIsd0NBQXdDLEtBQUssNkJBQTZCLHNDQUFzQyxLQUFLLGNBQWMsK0JBQStCLEtBQUssNkJBQTZCLG1DQUFtQyxLQUFLLDZCQUE2QixxQ0FBcUMsS0FBSyw2QkFBNkIsc0NBQXNDLEtBQUssNkJBQTZCLG9DQUFvQyxLQUFLLGdCQUFnQiw4QkFBOEIsS0FBSyxpQ0FBaUMsa0NBQWtDLEtBQUssaUNBQWlDLG9DQUFvQyxLQUFLLGlDQUFpQyxxQ0FBcUMsS0FBSyxpQ0FBaUMsbUNBQW1DLEtBQUssR0FBRyxxQkFBcUIscUhBQXFILEdBQUcsbUJBQW1CLG1DQUFtQyxHQUFHLGdCQUFnQixtQ0FBbUMsR0FBRyxrQkFBa0IsbUNBQW1DLEdBQUcsb0JBQW9CLHFCQUFxQiw0QkFBNEIsd0JBQXdCLEdBQUcsZ0JBQWdCLGdDQUFnQyxHQUFHLGlCQUFpQixpQ0FBaUMsR0FBRyxrQkFBa0Isa0NBQWtDLEdBQUcsK0JBQStCLG1CQUFtQixrQ0FBa0MsS0FBSyxvQkFBb0IsbUNBQW1DLEtBQUsscUJBQXFCLG9DQUFvQyxLQUFLLEdBQUcsK0JBQStCLG1CQUFtQixrQ0FBa0MsS0FBSyxvQkFBb0IsbUNBQW1DLEtBQUsscUJBQXFCLG9DQUFvQyxLQUFLLEdBQUcsK0JBQStCLG1CQUFtQixrQ0FBa0MsS0FBSyxvQkFBb0IsbUNBQW1DLEtBQUsscUJBQXFCLG9DQUFvQyxLQUFLLEdBQUcsZ0NBQWdDLG1CQUFtQixrQ0FBa0MsS0FBSyxvQkFBb0IsbUNBQW1DLEtBQUsscUJBQXFCLG9DQUFvQyxLQUFLLEdBQUcscUJBQXFCLHlDQUF5QyxHQUFHLHFCQUFxQix5Q0FBeUMsR0FBRyxzQkFBc0IsMENBQTBDLEdBQUcsd0JBQXdCLGdDQUFnQyxHQUFHLDBCQUEwQixvQ0FBb0MsR0FBRyx5QkFBeUIsZ0NBQWdDLEdBQUcsdUJBQXVCLGdDQUFnQyxHQUFHLHlCQUF5QixtQ0FBbUMsR0FBRyxrQkFBa0Isa0NBQWtDLEdBQUcsaUJBQWlCLDJCQUEyQixHQUFHLG1CQUFtQiw4QkFBOEIsR0FBRyxnREFBZ0QsOEJBQThCLEdBQUcscUJBQXFCLDhCQUE4QixHQUFHLG9EQUFvRCw4QkFBOEIsR0FBRyxtQkFBbUIsOEJBQThCLEdBQUcsZ0RBQWdELDhCQUE4QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRywwQ0FBMEMsOEJBQThCLEdBQUcsbUJBQW1CLDhCQUE4QixHQUFHLGdEQUFnRCw4QkFBOEIsR0FBRyxrQkFBa0IsOEJBQThCLEdBQUcsOENBQThDLDhCQUE4QixHQUFHLGlCQUFpQiw4QkFBOEIsR0FBRyw0Q0FBNEMsOEJBQThCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLDBDQUEwQyw4QkFBOEIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcsaUJBQWlCLDhCQUE4QixHQUFHLG9CQUFvQix5Q0FBeUMsR0FBRyxvQkFBb0IsK0NBQStDLEdBQUcsZ0JBQWdCLGdCQUFnQix1QkFBdUIsc0JBQXNCLGtDQUFrQyxjQUFjLEdBQUcsMkJBQTJCLHFDQUFxQyxHQUFHLGlCQUFpQixzQ0FBc0MseUNBQXlDLEdBQUcsaUJBQWlCLDhCQUE4QixHQUFHLGNBQWMsbUNBQW1DLEdBQUcsZ0JBQWdCLGtDQUFrQyxHQUFHLGtCQUFrQixrQ0FBa0MsbUNBQW1DLGtDQUFrQyxLQUFLLGlCQUFpQixpQ0FBaUMsS0FBSyx3QkFBd0Isd0NBQXdDLEtBQUssU0FBUyx1Q0FBdUMsS0FBSyx3QkFBd0IsZ0NBQWdDLCtCQUErQixLQUFLLFdBQVcsa0NBQWtDLEtBQUssZ0JBQWdCLCtCQUErQixLQUFLLHFCQUFxQixpQkFBaUIsZ0JBQWdCLEtBQUssZUFBZSw4QkFBOEIsS0FBSyxXQUFXLGVBQWUsS0FBSyxVQUFVLGtDQUFrQyxLQUFLLGdCQUFnQixrQ0FBa0MsS0FBSyxhQUFhLG9CQUFvQixLQUFLLFlBQVksNkJBQTZCLEtBQUssWUFBWSwyQ0FBMkMsS0FBSyw2QkFBNkIsd0NBQXdDLEtBQUssK0NBQStDLDJDQUEyQyxLQUFLLGlCQUFpQixxQkFBcUIsS0FBSyw4RkFBOEYsNEJBQTRCLEtBQUssMkJBQTJCLHFCQUFxQiw0QkFBNEIsS0FBSyxHQUFHOztBQUU5NHJNIiwiZmlsZSI6IjI3Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIvKiFcXG4gKiBCb290c3RyYXAgdjQuMy4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxcbiAqIENvcHlyaWdodCAyMDExLTIwMTkgVGhlIEJvb3RzdHJhcCBBdXRob3JzXFxuICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUd2l0dGVyLCBJbmMuXFxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcXG4gKi9cXG46cm9vdCB7XFxuICAtLWJsdWU6ICMwMDdiZmY7XFxuICAtLWluZGlnbzogIzY2MTBmMjtcXG4gIC0tcHVycGxlOiAjNmY0MmMxO1xcbiAgLS1waW5rOiAjZTgzZThjO1xcbiAgLS1yZWQ6ICNkYzM1NDU7XFxuICAtLW9yYW5nZTogI2ZkN2UxNDtcXG4gIC0teWVsbG93OiAjZmZjMTA3O1xcbiAgLS1ncmVlbjogIzI4YTc0NTtcXG4gIC0tdGVhbDogIzIwYzk5NztcXG4gIC0tY3lhbjogIzE3YTJiODtcXG4gIC0td2hpdGU6ICNmZmY7XFxuICAtLWdyYXk6ICM2Yzc1N2Q7XFxuICAtLWdyYXktZGFyazogIzM0M2E0MDtcXG4gIC0tcHJpbWFyeTogIzAwN2JmZjtcXG4gIC0tc2Vjb25kYXJ5OiAjNmM3NTdkO1xcbiAgLS1zdWNjZXNzOiAjMjhhNzQ1O1xcbiAgLS1pbmZvOiAjMTdhMmI4O1xcbiAgLS13YXJuaW5nOiAjZmZjMTA3O1xcbiAgLS1kYW5nZXI6ICNkYzM1NDU7XFxuICAtLWxpZ2h0OiAjZjhmOWZhO1xcbiAgLS1kYXJrOiAjMzQzYTQwO1xcbiAgLS1icmVha3BvaW50LXhzOiAwO1xcbiAgLS1icmVha3BvaW50LXNtOiA1NzZweDtcXG4gIC0tYnJlYWtwb2ludC1tZDogNzY4cHg7XFxuICAtLWJyZWFrcG9pbnQtbGc6IDk5MnB4O1xcbiAgLS1icmVha3BvaW50LXhsOiAxMjAwcHg7XFxuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7XFxuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlO1xcbn1cXG5cXG4qLFxcbio6OmJlZm9yZSxcXG4qOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG5odG1sIHtcXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XFxufVxcblxcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG59XFxuXFxuW3RhYmluZGV4PVxcXCItMVxcXCJdOmZvY3VzIHtcXG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcXG59XFxuXFxuaHIge1xcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICBoZWlnaHQ6IDA7XFxuICBvdmVyZmxvdzogdmlzaWJsZTtcXG59XFxuXFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XFxuICBtYXJnaW4tdG9wOiAwO1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbn1cXG5cXG5wIHtcXG4gIG1hcmdpbi10b3A6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbn1cXG5cXG5hYmJyW3RpdGxlXSxcXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICBjdXJzb3I6IGhlbHA7XFxuICBib3JkZXItYm90dG9tOiAwO1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XFxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XFxufVxcblxcbmFkZHJlc3Mge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG5vbCxcXG51bCxcXG5kbCB7XFxuICBtYXJnaW4tdG9wOiAwO1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG59XFxuXFxub2wgb2wsXFxudWwgdWwsXFxub2wgdWwsXFxudWwgb2wge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuZHQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuXFxuZGQge1xcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XFxuICBtYXJnaW4tbGVmdDogMDtcXG59XFxuXFxuYmxvY2txdW90ZSB7XFxuICBtYXJnaW46IDAgMCAxcmVtO1xcbn1cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuc3ViLFxcbnN1cCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0uNWVtO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiAjMDA3YmZmO1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcblxcbmE6aG92ZXIge1xcbiAgY29sb3I6ICMwMDU2YjM7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG59XFxuXFxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmhvdmVyLCBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6Zm9jdXMge1xcbiAgb3V0bGluZTogMDtcXG59XFxuXFxucHJlLFxcbmNvZGUsXFxua2JkLFxcbnNhbXAge1xcbiAgZm9udC1mYW1pbHk6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbn1cXG5cXG5wcmUge1xcbiAgbWFyZ2luLXRvcDogMDtcXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XFxuICBvdmVyZmxvdzogYXV0bztcXG59XFxuXFxuZmlndXJlIHtcXG4gIG1hcmdpbjogMCAwIDFyZW07XFxufVxcblxcbmltZyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xcbn1cXG5cXG5zdmcge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxufVxcblxcbnRhYmxlIHtcXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XFxufVxcblxcbmNhcHRpb24ge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xcbn1cXG5cXG50aCB7XFxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xcbn1cXG5cXG5sYWJlbCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XFxufVxcblxcbmJ1dHRvbiB7XFxuICBib3JkZXItcmFkaXVzOiAwO1xcbn1cXG5cXG5idXR0b246Zm9jdXMge1xcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcXG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcXG59XFxuXFxuaW5wdXQsXFxuYnV0dG9uLFxcbnNlbGVjdCxcXG5vcHRncm91cCxcXG50ZXh0YXJlYSB7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG5idXR0b24sXFxuaW5wdXQge1xcbiAgb3ZlcmZsb3c6IHZpc2libGU7XFxufVxcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbnNlbGVjdCB7XFxuICB3b3JkLXdyYXA6IG5vcm1hbDtcXG59XFxuXFxuYnV0dG9uLFxcblt0eXBlPVxcXCJidXR0b25cXFwiXSxcXG5bdHlwZT1cXFwicmVzZXRcXFwiXSxcXG5bdHlwZT1cXFwic3VibWl0XFxcIl0ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XFxufVxcblxcbmJ1dHRvbjpub3QoOmRpc2FibGVkKSxcXG5bdHlwZT1cXFwiYnV0dG9uXFxcIl06bm90KDpkaXNhYmxlZCksXFxuW3R5cGU9XFxcInJlc2V0XFxcIl06bm90KDpkaXNhYmxlZCksXFxuW3R5cGU9XFxcInN1Ym1pdFxcXCJdOm5vdCg6ZGlzYWJsZWQpIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxcblt0eXBlPVxcXCJidXR0b25cXFwiXTo6LW1vei1mb2N1cy1pbm5lcixcXG5bdHlwZT1cXFwicmVzZXRcXFwiXTo6LW1vei1mb2N1cy1pbm5lcixcXG5bdHlwZT1cXFwic3VibWl0XFxcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xcbiAgcGFkZGluZzogMDtcXG4gIGJvcmRlci1zdHlsZTogbm9uZTtcXG59XFxuXFxuaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSxcXG5pbnB1dFt0eXBlPVxcXCJjaGVja2JveFxcXCJdIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5pbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuaW5wdXRbdHlwZT1cXFwidGltZVxcXCJdLFxcbmlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0sXFxuaW5wdXRbdHlwZT1cXFwibW9udGhcXFwiXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XFxufVxcblxcbnRleHRhcmVhIHtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xcbn1cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcblt0eXBlPVxcXCJudW1iZXJcXFwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG5bdHlwZT1cXFwibnVtYmVyXFxcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG5bdHlwZT1cXFwic2VhcmNoXFxcIl0ge1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcblt0eXBlPVxcXCJzZWFyY2hcXFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgZm9udDogaW5oZXJpdDtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xcbn1cXG5cXG5vdXRwdXQge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxudGVtcGxhdGUge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG5cXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XFxufVxcblxcbmgxLCAuaDEge1xcbiAgZm9udC1zaXplOiAyLjVyZW07XFxufVxcblxcbmgyLCAuaDIge1xcbiAgZm9udC1zaXplOiAycmVtO1xcbn1cXG5cXG5oMywgLmgzIHtcXG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcXG59XFxuXFxuaDQsIC5oNCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG59XFxuXFxuaDUsIC5oNSB7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxufVxcblxcbmg2LCAuaDYge1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbn1cXG5cXG4ubGVhZCB7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbn1cXG5cXG4uZGlzcGxheS0xIHtcXG4gIGZvbnQtc2l6ZTogNnJlbTtcXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XFxuICBsaW5lLWhlaWdodDogMS4yO1xcbn1cXG5cXG4uZGlzcGxheS0yIHtcXG4gIGZvbnQtc2l6ZTogNS41cmVtO1xcbiAgZm9udC13ZWlnaHQ6IDMwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XFxufVxcblxcbi5kaXNwbGF5LTMge1xcbiAgZm9udC1zaXplOiA0LjVyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjtcXG59XFxuXFxuLmRpc3BsYXktNCB7XFxuICBmb250LXNpemU6IDMuNXJlbTtcXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XFxuICBsaW5lLWhlaWdodDogMS4yO1xcbn1cXG5cXG5ociB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG4gIGJvcmRlcjogMDtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XFxufVxcblxcbnNtYWxsLFxcbi5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcblxcbm1hcmssXFxuLm1hcmsge1xcbiAgcGFkZGluZzogMC4yZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xcbn1cXG5cXG4ubGlzdC11bnN0eWxlZCB7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbn1cXG5cXG4ubGlzdC1pbmxpbmUge1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG59XFxuXFxuLmxpc3QtaW5saW5lLWl0ZW0ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG5cXG4ubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xcbn1cXG5cXG4uaW5pdGlhbGlzbSB7XFxuICBmb250LXNpemU6IDkwJTtcXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XFxufVxcblxcbi5ibG9ja3F1b3RlIHtcXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxufVxcblxcbi5ibG9ja3F1b3RlLWZvb3RlciB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGZvbnQtc2l6ZTogODAlO1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxufVxcblxcbi5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3JlIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFxcMjAxNFxcXFxBMFxcXCI7XFxufVxcblxcbi5pbWctZmx1aWQge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4uaW1nLXRodW1ibmFpbCB7XFxuICBwYWRkaW5nOiAwLjI1cmVtO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4uZmlndXJlIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuXFxuLmZpZ3VyZS1pbWcge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDE7XFxufVxcblxcbi5maWd1cmUtY2FwdGlvbiB7XFxuICBmb250LXNpemU6IDkwJTtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbn1cXG5cXG5jb2RlIHtcXG4gIGZvbnQtc2l6ZTogODcuNSU7XFxuICBjb2xvcjogI2U4M2U4YztcXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XFxufVxcblxcbmEgPiBjb2RlIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbn1cXG5cXG5rYmQge1xcbiAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcXG4gIGZvbnQtc2l6ZTogODcuNSU7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7XFxuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XFxufVxcblxcbmtiZCBrYmQge1xcbiAgcGFkZGluZzogMDtcXG4gIGZvbnQtc2l6ZTogMTAwJTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcblxcbnByZSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGZvbnQtc2l6ZTogODcuNSU7XFxuICBjb2xvcjogIzIxMjUyOTtcXG59XFxuXFxucHJlIGNvZGUge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB3b3JkLWJyZWFrOiBub3JtYWw7XFxufVxcblxcbi5wcmUtc2Nyb2xsYWJsZSB7XFxuICBtYXgtaGVpZ2h0OiAzNDBweDtcXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcXG59XFxuXFxuLmNvbnRhaW5lciB7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XFxuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAuY29udGFpbmVyIHtcXG4gICAgbWF4LXdpZHRoOiA1NDBweDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAuY29udGFpbmVyIHtcXG4gICAgbWF4LXdpZHRoOiA3MjBweDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAuY29udGFpbmVyIHtcXG4gICAgbWF4LXdpZHRoOiA5NjBweDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xcbiAgLmNvbnRhaW5lciB7XFxuICAgIG1heC13aWR0aDogMTE0MHB4O1xcbiAgfVxcbn1cXG5cXG4uY29udGFpbmVyLWZsdWlkIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZy1yaWdodDogMTVweDtcXG4gIHBhZGRpbmctbGVmdDogMTVweDtcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbn1cXG5cXG4ucm93IHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xcbn1cXG5cXG4ubm8tZ3V0dGVycyB7XFxuICBtYXJnaW4tcmlnaHQ6IDA7XFxuICBtYXJnaW4tbGVmdDogMDtcXG59XFxuXFxuLm5vLWd1dHRlcnMgPiAuY29sLFxcbi5uby1ndXR0ZXJzID4gW2NsYXNzKj1cXFwiY29sLVxcXCJdIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDA7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxufVxcblxcbi5jb2wtMSwgLmNvbC0yLCAuY29sLTMsIC5jb2wtNCwgLmNvbC01LCAuY29sLTYsIC5jb2wtNywgLmNvbC04LCAuY29sLTksIC5jb2wtMTAsIC5jb2wtMTEsIC5jb2wtMTIsIC5jb2wsXFxuLmNvbC1hdXRvLCAuY29sLXNtLTEsIC5jb2wtc20tMiwgLmNvbC1zbS0zLCAuY29sLXNtLTQsIC5jb2wtc20tNSwgLmNvbC1zbS02LCAuY29sLXNtLTcsIC5jb2wtc20tOCwgLmNvbC1zbS05LCAuY29sLXNtLTEwLCAuY29sLXNtLTExLCAuY29sLXNtLTEyLCAuY29sLXNtLFxcbi5jb2wtc20tYXV0bywgLmNvbC1tZC0xLCAuY29sLW1kLTIsIC5jb2wtbWQtMywgLmNvbC1tZC00LCAuY29sLW1kLTUsIC5jb2wtbWQtNiwgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCwgLmNvbC1tZC0xMSwgLmNvbC1tZC0xMiwgLmNvbC1tZCxcXG4uY29sLW1kLWF1dG8sIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIsIC5jb2wtbGcsXFxuLmNvbC1sZy1hdXRvLCAuY29sLXhsLTEsIC5jb2wteGwtMiwgLmNvbC14bC0zLCAuY29sLXhsLTQsIC5jb2wteGwtNSwgLmNvbC14bC02LCAuY29sLXhsLTcsIC5jb2wteGwtOCwgLmNvbC14bC05LCAuY29sLXhsLTEwLCAuY29sLXhsLTExLCAuY29sLXhsLTEyLCAuY29sLXhsLFxcbi5jb2wteGwtYXV0byB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XFxuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XFxufVxcblxcbi5jb2wge1xcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XFxuICBmbGV4LWJhc2lzOiAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XFxuICBmbGV4LWdyb3c6IDE7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcblxcbi5jb2wtYXV0byB7XFxuICAtbXMtZmxleDogMCAwIGF1dG87XFxuICBmbGV4OiAwIDAgYXV0bztcXG4gIHdpZHRoOiBhdXRvO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG4uY29sLTEge1xcbiAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzMyU7XFxuICBmbGV4OiAwIDAgOC4zMzMzMzMlO1xcbiAgbWF4LXdpZHRoOiA4LjMzMzMzMyU7XFxufVxcblxcbi5jb2wtMiB7XFxuICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NyU7XFxuICBmbGV4OiAwIDAgMTYuNjY2NjY3JTtcXG4gIG1heC13aWR0aDogMTYuNjY2NjY3JTtcXG59XFxuXFxuLmNvbC0zIHtcXG4gIC1tcy1mbGV4OiAwIDAgMjUlO1xcbiAgZmxleDogMCAwIDI1JTtcXG4gIG1heC13aWR0aDogMjUlO1xcbn1cXG5cXG4uY29sLTQge1xcbiAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMzMlO1xcbiAgZmxleDogMCAwIDMzLjMzMzMzMyU7XFxuICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XFxufVxcblxcbi5jb2wtNSB7XFxuICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NyU7XFxuICBmbGV4OiAwIDAgNDEuNjY2NjY3JTtcXG4gIG1heC13aWR0aDogNDEuNjY2NjY3JTtcXG59XFxuXFxuLmNvbC02IHtcXG4gIC1tcy1mbGV4OiAwIDAgNTAlO1xcbiAgZmxleDogMCAwIDUwJTtcXG4gIG1heC13aWR0aDogNTAlO1xcbn1cXG5cXG4uY29sLTcge1xcbiAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMzMlO1xcbiAgZmxleDogMCAwIDU4LjMzMzMzMyU7XFxuICBtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XFxufVxcblxcbi5jb2wtOCB7XFxuICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7XFxuICBmbGV4OiAwIDAgNjYuNjY2NjY3JTtcXG4gIG1heC13aWR0aDogNjYuNjY2NjY3JTtcXG59XFxuXFxuLmNvbC05IHtcXG4gIC1tcy1mbGV4OiAwIDAgNzUlO1xcbiAgZmxleDogMCAwIDc1JTtcXG4gIG1heC13aWR0aDogNzUlO1xcbn1cXG5cXG4uY29sLTEwIHtcXG4gIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMzJTtcXG4gIGZsZXg6IDAgMCA4My4zMzMzMzMlO1xcbiAgbWF4LXdpZHRoOiA4My4zMzMzMzMlO1xcbn1cXG5cXG4uY29sLTExIHtcXG4gIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY3JTtcXG4gIGZsZXg6IDAgMCA5MS42NjY2NjclO1xcbiAgbWF4LXdpZHRoOiA5MS42NjY2NjclO1xcbn1cXG5cXG4uY29sLTEyIHtcXG4gIC1tcy1mbGV4OiAwIDAgMTAwJTtcXG4gIGZsZXg6IDAgMCAxMDAlO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG4ub3JkZXItZmlyc3Qge1xcbiAgLW1zLWZsZXgtb3JkZXI6IC0xO1xcbiAgb3JkZXI6IC0xO1xcbn1cXG5cXG4ub3JkZXItbGFzdCB7XFxuICAtbXMtZmxleC1vcmRlcjogMTM7XFxuICBvcmRlcjogMTM7XFxufVxcblxcbi5vcmRlci0wIHtcXG4gIC1tcy1mbGV4LW9yZGVyOiAwO1xcbiAgb3JkZXI6IDA7XFxufVxcblxcbi5vcmRlci0xIHtcXG4gIC1tcy1mbGV4LW9yZGVyOiAxO1xcbiAgb3JkZXI6IDE7XFxufVxcblxcbi5vcmRlci0yIHtcXG4gIC1tcy1mbGV4LW9yZGVyOiAyO1xcbiAgb3JkZXI6IDI7XFxufVxcblxcbi5vcmRlci0zIHtcXG4gIC1tcy1mbGV4LW9yZGVyOiAzO1xcbiAgb3JkZXI6IDM7XFxufVxcblxcbi5vcmRlci00IHtcXG4gIC1tcy1mbGV4LW9yZGVyOiA0O1xcbiAgb3JkZXI6IDQ7XFxufVxcblxcbi5vcmRlci01IHtcXG4gIC1tcy1mbGV4LW9yZGVyOiA1O1xcbiAgb3JkZXI6IDU7XFxufVxcblxcbi5vcmRlci02IHtcXG4gIC1tcy1mbGV4LW9yZGVyOiA2O1xcbiAgb3JkZXI6IDY7XFxufVxcblxcbi5vcmRlci03IHtcXG4gIC1tcy1mbGV4LW9yZGVyOiA3O1xcbiAgb3JkZXI6IDc7XFxufVxcblxcbi5vcmRlci04IHtcXG4gIC1tcy1mbGV4LW9yZGVyOiA4O1xcbiAgb3JkZXI6IDg7XFxufVxcblxcbi5vcmRlci05IHtcXG4gIC1tcy1mbGV4LW9yZGVyOiA5O1xcbiAgb3JkZXI6IDk7XFxufVxcblxcbi5vcmRlci0xMCB7XFxuICAtbXMtZmxleC1vcmRlcjogMTA7XFxuICBvcmRlcjogMTA7XFxufVxcblxcbi5vcmRlci0xMSB7XFxuICAtbXMtZmxleC1vcmRlcjogMTE7XFxuICBvcmRlcjogMTE7XFxufVxcblxcbi5vcmRlci0xMiB7XFxuICAtbXMtZmxleC1vcmRlcjogMTI7XFxuICBvcmRlcjogMTI7XFxufVxcblxcbi5vZmZzZXQtMSB7XFxuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMlO1xcbn1cXG5cXG4ub2Zmc2V0LTIge1xcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyU7XFxufVxcblxcbi5vZmZzZXQtMyB7XFxuICBtYXJnaW4tbGVmdDogMjUlO1xcbn1cXG5cXG4ub2Zmc2V0LTQge1xcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMyU7XFxufVxcblxcbi5vZmZzZXQtNSB7XFxuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JTtcXG59XFxuXFxuLm9mZnNldC02IHtcXG4gIG1hcmdpbi1sZWZ0OiA1MCU7XFxufVxcblxcbi5vZmZzZXQtNyB7XFxuICBtYXJnaW4tbGVmdDogNTguMzMzMzMzJTtcXG59XFxuXFxuLm9mZnNldC04IHtcXG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclO1xcbn1cXG5cXG4ub2Zmc2V0LTkge1xcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcXG59XFxuXFxuLm9mZnNldC0xMCB7XFxuICBtYXJnaW4tbGVmdDogODMuMzMzMzMzJTtcXG59XFxuXFxuLm9mZnNldC0xMSB7XFxuICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JTtcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAuY29sLXNtIHtcXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XFxuICAgIGZsZXgtYmFzaXM6IDA7XFxuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xcbiAgICBmbGV4LWdyb3c6IDE7XFxuICAgIG1heC13aWR0aDogMTAwJTtcXG4gIH1cXG4gIC5jb2wtc20tYXV0byB7XFxuICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcXG4gICAgZmxleDogMCAwIGF1dG87XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICB9XFxuICAuY29sLXNtLTEge1xcbiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMzJTtcXG4gICAgZmxleDogMCAwIDguMzMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMyU7XFxuICB9XFxuICAuY29sLXNtLTIge1xcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NyU7XFxuICAgIGZsZXg6IDAgMCAxNi42NjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XFxuICB9XFxuICAuY29sLXNtLTMge1xcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcXG4gICAgZmxleDogMCAwIDI1JTtcXG4gICAgbWF4LXdpZHRoOiAyNSU7XFxuICB9XFxuICAuY29sLXNtLTQge1xcbiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzMyU7XFxuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XFxuICB9XFxuICAuY29sLXNtLTUge1xcbiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NyU7XFxuICAgIGZsZXg6IDAgMCA0MS42NjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NyU7XFxuICB9XFxuICAuY29sLXNtLTYge1xcbiAgICAtbXMtZmxleDogMCAwIDUwJTtcXG4gICAgZmxleDogMCAwIDUwJTtcXG4gICAgbWF4LXdpZHRoOiA1MCU7XFxuICB9XFxuICAuY29sLXNtLTcge1xcbiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzMyU7XFxuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XFxuICB9XFxuICAuY29sLXNtLTgge1xcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7XFxuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NyU7XFxuICB9XFxuICAuY29sLXNtLTkge1xcbiAgICAtbXMtZmxleDogMCAwIDc1JTtcXG4gICAgZmxleDogMCAwIDc1JTtcXG4gICAgbWF4LXdpZHRoOiA3NSU7XFxuICB9XFxuICAuY29sLXNtLTEwIHtcXG4gICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMzMlO1xcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMlO1xcbiAgfVxcbiAgLmNvbC1zbS0xMSB7XFxuICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY3JTtcXG4gICAgZmxleDogMCAwIDkxLjY2NjY2NyU7XFxuICAgIG1heC13aWR0aDogOTEuNjY2NjY3JTtcXG4gIH1cXG4gIC5jb2wtc20tMTIge1xcbiAgICAtbXMtZmxleDogMCAwIDEwMCU7XFxuICAgIGZsZXg6IDAgMCAxMDAlO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICB9XFxuICAub3JkZXItc20tZmlyc3Qge1xcbiAgICAtbXMtZmxleC1vcmRlcjogLTE7XFxuICAgIG9yZGVyOiAtMTtcXG4gIH1cXG4gIC5vcmRlci1zbS1sYXN0IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDEzO1xcbiAgICBvcmRlcjogMTM7XFxuICB9XFxuICAub3JkZXItc20tMCB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAwO1xcbiAgICBvcmRlcjogMDtcXG4gIH1cXG4gIC5vcmRlci1zbS0xIHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICAgIG9yZGVyOiAxO1xcbiAgfVxcbiAgLm9yZGVyLXNtLTIge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMjtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuICAub3JkZXItc20tMyB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAzO1xcbiAgICBvcmRlcjogMztcXG4gIH1cXG4gIC5vcmRlci1zbS00IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDQ7XFxuICAgIG9yZGVyOiA0O1xcbiAgfVxcbiAgLm9yZGVyLXNtLTUge1xcbiAgICAtbXMtZmxleC1vcmRlcjogNTtcXG4gICAgb3JkZXI6IDU7XFxuICB9XFxuICAub3JkZXItc20tNiB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiA2O1xcbiAgICBvcmRlcjogNjtcXG4gIH1cXG4gIC5vcmRlci1zbS03IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDc7XFxuICAgIG9yZGVyOiA3O1xcbiAgfVxcbiAgLm9yZGVyLXNtLTgge1xcbiAgICAtbXMtZmxleC1vcmRlcjogODtcXG4gICAgb3JkZXI6IDg7XFxuICB9XFxuICAub3JkZXItc20tOSB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiA5O1xcbiAgICBvcmRlcjogOTtcXG4gIH1cXG4gIC5vcmRlci1zbS0xMCB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAxMDtcXG4gICAgb3JkZXI6IDEwO1xcbiAgfVxcbiAgLm9yZGVyLXNtLTExIHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDExO1xcbiAgICBvcmRlcjogMTE7XFxuICB9XFxuICAub3JkZXItc20tMTIge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMTI7XFxuICAgIG9yZGVyOiAxMjtcXG4gIH1cXG4gIC5vZmZzZXQtc20tMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgfVxcbiAgLm9mZnNldC1zbS0xIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJTtcXG4gIH1cXG4gIC5vZmZzZXQtc20tMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjclO1xcbiAgfVxcbiAgLm9mZnNldC1zbS0zIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcXG4gIH1cXG4gIC5vZmZzZXQtc20tNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlO1xcbiAgfVxcbiAgLm9mZnNldC1zbS01IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NyU7XFxuICB9XFxuICAub2Zmc2V0LXNtLTYge1xcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xcbiAgfVxcbiAgLm9mZnNldC1zbS03IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyU7XFxuICB9XFxuICAub2Zmc2V0LXNtLTgge1xcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY3JTtcXG4gIH1cXG4gIC5vZmZzZXQtc20tOSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XFxuICB9XFxuICAub2Zmc2V0LXNtLTEwIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyU7XFxuICB9XFxuICAub2Zmc2V0LXNtLTExIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NyU7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLmNvbC1tZCB7XFxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgICBmbGV4LWJhc2lzOiAwO1xcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgZmxleC1ncm93OiAxO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICB9XFxuICAuY29sLW1kLWF1dG8ge1xcbiAgICAtbXMtZmxleDogMCAwIGF1dG87XFxuICAgIGZsZXg6IDAgMCBhdXRvO1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgfVxcbiAgLmNvbC1tZC0xIHtcXG4gICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzMyU7XFxuICAgIGZsZXg6IDAgMCA4LjMzMzMzMyU7XFxuICAgIG1heC13aWR0aDogOC4zMzMzMzMlO1xcbiAgfVxcbiAgLmNvbC1tZC0yIHtcXG4gICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NjclO1xcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjclO1xcbiAgfVxcbiAgLmNvbC1tZC0zIHtcXG4gICAgLW1zLWZsZXg6IDAgMCAyNSU7XFxuICAgIGZsZXg6IDAgMCAyNSU7XFxuICAgIG1heC13aWR0aDogMjUlO1xcbiAgfVxcbiAgLmNvbC1tZC00IHtcXG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMzMlO1xcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xcbiAgfVxcbiAgLmNvbC1tZC01IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NjclO1xcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjclO1xcbiAgfVxcbiAgLmNvbC1tZC02IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA1MCU7XFxuICAgIGZsZXg6IDAgMCA1MCU7XFxuICAgIG1heC13aWR0aDogNTAlO1xcbiAgfVxcbiAgLmNvbC1tZC03IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMzMlO1xcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlO1xcbiAgfVxcbiAgLmNvbC1tZC04IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NjclO1xcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjclO1xcbiAgfVxcbiAgLmNvbC1tZC05IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA3NSU7XFxuICAgIGZsZXg6IDAgMCA3NSU7XFxuICAgIG1heC13aWR0aDogNzUlO1xcbiAgfVxcbiAgLmNvbC1tZC0xMCB7XFxuICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMzJTtcXG4gICAgZmxleDogMCAwIDgzLjMzMzMzMyU7XFxuICAgIG1heC13aWR0aDogODMuMzMzMzMzJTtcXG4gIH1cXG4gIC5jb2wtbWQtMTEge1xcbiAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY2NyU7XFxuICAgIGZsZXg6IDAgMCA5MS42NjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NyU7XFxuICB9XFxuICAuY29sLW1kLTEyIHtcXG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xcbiAgICBmbGV4OiAwIDAgMTAwJTtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgfVxcbiAgLm9yZGVyLW1kLWZpcnN0IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xcbiAgICBvcmRlcjogLTE7XFxuICB9XFxuICAub3JkZXItbWQtbGFzdCB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAxMztcXG4gICAgb3JkZXI6IDEzO1xcbiAgfVxcbiAgLm9yZGVyLW1kLTAge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMDtcXG4gICAgb3JkZXI6IDA7XFxuICB9XFxuICAub3JkZXItbWQtMSB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xcbiAgICBvcmRlcjogMTtcXG4gIH1cXG4gIC5vcmRlci1tZC0yIHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDI7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcbiAgLm9yZGVyLW1kLTMge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMztcXG4gICAgb3JkZXI6IDM7XFxuICB9XFxuICAub3JkZXItbWQtNCB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiA0O1xcbiAgICBvcmRlcjogNDtcXG4gIH1cXG4gIC5vcmRlci1tZC01IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDU7XFxuICAgIG9yZGVyOiA1O1xcbiAgfVxcbiAgLm9yZGVyLW1kLTYge1xcbiAgICAtbXMtZmxleC1vcmRlcjogNjtcXG4gICAgb3JkZXI6IDY7XFxuICB9XFxuICAub3JkZXItbWQtNyB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiA3O1xcbiAgICBvcmRlcjogNztcXG4gIH1cXG4gIC5vcmRlci1tZC04IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDg7XFxuICAgIG9yZGVyOiA4O1xcbiAgfVxcbiAgLm9yZGVyLW1kLTkge1xcbiAgICAtbXMtZmxleC1vcmRlcjogOTtcXG4gICAgb3JkZXI6IDk7XFxuICB9XFxuICAub3JkZXItbWQtMTAge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMTA7XFxuICAgIG9yZGVyOiAxMDtcXG4gIH1cXG4gIC5vcmRlci1tZC0xMSB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAxMTtcXG4gICAgb3JkZXI6IDExO1xcbiAgfVxcbiAgLm9yZGVyLW1kLTEyIHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDEyO1xcbiAgICBvcmRlcjogMTI7XFxuICB9XFxuICAub2Zmc2V0LW1kLTAge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gIH1cXG4gIC5vZmZzZXQtbWQtMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMyU7XFxuICB9XFxuICAub2Zmc2V0LW1kLTIge1xcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY3JTtcXG4gIH1cXG4gIC5vZmZzZXQtbWQtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XFxuICB9XFxuICAub2Zmc2V0LW1kLTQge1xcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzJTtcXG4gIH1cXG4gIC5vZmZzZXQtbWQtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjclO1xcbiAgfVxcbiAgLm9mZnNldC1tZC02IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcXG4gIH1cXG4gIC5vZmZzZXQtbWQtNyB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMlO1xcbiAgfVxcbiAgLm9mZnNldC1tZC04IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NyU7XFxuICB9XFxuICAub2Zmc2V0LW1kLTkge1xcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xcbiAgfVxcbiAgLm9mZnNldC1tZC0xMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMlO1xcbiAgfVxcbiAgLm9mZnNldC1tZC0xMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjclO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcXG4gIC5jb2wtbGcge1xcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcXG4gICAgZmxleC1iYXNpczogMDtcXG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XFxuICAgIGZsZXgtZ3JvdzogMTtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgfVxcbiAgLmNvbC1sZy1hdXRvIHtcXG4gICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xcbiAgICBmbGV4OiAwIDAgYXV0bztcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIG1heC13aWR0aDogMTAwJTtcXG4gIH1cXG4gIC5jb2wtbGctMSB7XFxuICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMzMlO1xcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzJTtcXG4gIH1cXG4gIC5jb2wtbGctMiB7XFxuICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjY3JTtcXG4gICAgZmxleDogMCAwIDE2LjY2NjY2NyU7XFxuICAgIG1heC13aWR0aDogMTYuNjY2NjY3JTtcXG4gIH1cXG4gIC5jb2wtbGctMyB7XFxuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xcbiAgICBmbGV4OiAwIDAgMjUlO1xcbiAgICBtYXgtd2lkdGg6IDI1JTtcXG4gIH1cXG4gIC5jb2wtbGctNCB7XFxuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMzJTtcXG4gICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XFxuICAgIG1heC13aWR0aDogMzMuMzMzMzMzJTtcXG4gIH1cXG4gIC5jb2wtbGctNSB7XFxuICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjY3JTtcXG4gICAgZmxleDogMCAwIDQxLjY2NjY2NyU7XFxuICAgIG1heC13aWR0aDogNDEuNjY2NjY3JTtcXG4gIH1cXG4gIC5jb2wtbGctNiB7XFxuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xcbiAgICBmbGV4OiAwIDAgNTAlO1xcbiAgICBtYXgtd2lkdGg6IDUwJTtcXG4gIH1cXG4gIC5jb2wtbGctNyB7XFxuICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMzJTtcXG4gICAgZmxleDogMCAwIDU4LjMzMzMzMyU7XFxuICAgIG1heC13aWR0aDogNTguMzMzMzMzJTtcXG4gIH1cXG4gIC5jb2wtbGctOCB7XFxuICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjY3JTtcXG4gICAgZmxleDogMCAwIDY2LjY2NjY2NyU7XFxuICAgIG1heC13aWR0aDogNjYuNjY2NjY3JTtcXG4gIH1cXG4gIC5jb2wtbGctOSB7XFxuICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xcbiAgICBmbGV4OiAwIDAgNzUlO1xcbiAgICBtYXgtd2lkdGg6IDc1JTtcXG4gIH1cXG4gIC5jb2wtbGctMTAge1xcbiAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzMyU7XFxuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMyU7XFxuICB9XFxuICAuY29sLWxnLTExIHtcXG4gICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NjclO1xcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjclO1xcbiAgfVxcbiAgLmNvbC1sZy0xMiB7XFxuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcXG4gICAgZmxleDogMCAwIDEwMCU7XFxuICAgIG1heC13aWR0aDogMTAwJTtcXG4gIH1cXG4gIC5vcmRlci1sZy1maXJzdCB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcXG4gICAgb3JkZXI6IC0xO1xcbiAgfVxcbiAgLm9yZGVyLWxnLWxhc3Qge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMTM7XFxuICAgIG9yZGVyOiAxMztcXG4gIH1cXG4gIC5vcmRlci1sZy0wIHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDA7XFxuICAgIG9yZGVyOiAwO1xcbiAgfVxcbiAgLm9yZGVyLWxnLTEge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMTtcXG4gICAgb3JkZXI6IDE7XFxuICB9XFxuICAub3JkZXItbGctMiB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG4gIC5vcmRlci1sZy0zIHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDM7XFxuICAgIG9yZGVyOiAzO1xcbiAgfVxcbiAgLm9yZGVyLWxnLTQge1xcbiAgICAtbXMtZmxleC1vcmRlcjogNDtcXG4gICAgb3JkZXI6IDQ7XFxuICB9XFxuICAub3JkZXItbGctNSB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiA1O1xcbiAgICBvcmRlcjogNTtcXG4gIH1cXG4gIC5vcmRlci1sZy02IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDY7XFxuICAgIG9yZGVyOiA2O1xcbiAgfVxcbiAgLm9yZGVyLWxnLTcge1xcbiAgICAtbXMtZmxleC1vcmRlcjogNztcXG4gICAgb3JkZXI6IDc7XFxuICB9XFxuICAub3JkZXItbGctOCB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiA4O1xcbiAgICBvcmRlcjogODtcXG4gIH1cXG4gIC5vcmRlci1sZy05IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDk7XFxuICAgIG9yZGVyOiA5O1xcbiAgfVxcbiAgLm9yZGVyLWxnLTEwIHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDEwO1xcbiAgICBvcmRlcjogMTA7XFxuICB9XFxuICAub3JkZXItbGctMTEge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMTE7XFxuICAgIG9yZGVyOiAxMTtcXG4gIH1cXG4gIC5vcmRlci1sZy0xMiB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAxMjtcXG4gICAgb3JkZXI6IDEyO1xcbiAgfVxcbiAgLm9mZnNldC1sZy0wIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICB9XFxuICAub2Zmc2V0LWxnLTEge1xcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMlO1xcbiAgfVxcbiAgLm9mZnNldC1sZy0yIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyU7XFxuICB9XFxuICAub2Zmc2V0LWxnLTMge1xcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xcbiAgfVxcbiAgLm9mZnNldC1sZy00IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMyU7XFxuICB9XFxuICAub2Zmc2V0LWxnLTUge1xcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JTtcXG4gIH1cXG4gIC5vZmZzZXQtbGctNiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XFxuICB9XFxuICAub2Zmc2V0LWxnLTcge1xcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzJTtcXG4gIH1cXG4gIC5vZmZzZXQtbGctOCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclO1xcbiAgfVxcbiAgLm9mZnNldC1sZy05IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcXG4gIH1cXG4gIC5vZmZzZXQtbGctMTAge1xcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzJTtcXG4gIH1cXG4gIC5vZmZzZXQtbGctMTEge1xcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JTtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xcbiAgLmNvbC14bCB7XFxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgICBmbGV4LWJhc2lzOiAwO1xcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgZmxleC1ncm93OiAxO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICB9XFxuICAuY29sLXhsLWF1dG8ge1xcbiAgICAtbXMtZmxleDogMCAwIGF1dG87XFxuICAgIGZsZXg6IDAgMCBhdXRvO1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgfVxcbiAgLmNvbC14bC0xIHtcXG4gICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzMyU7XFxuICAgIGZsZXg6IDAgMCA4LjMzMzMzMyU7XFxuICAgIG1heC13aWR0aDogOC4zMzMzMzMlO1xcbiAgfVxcbiAgLmNvbC14bC0yIHtcXG4gICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NjclO1xcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjclO1xcbiAgfVxcbiAgLmNvbC14bC0zIHtcXG4gICAgLW1zLWZsZXg6IDAgMCAyNSU7XFxuICAgIGZsZXg6IDAgMCAyNSU7XFxuICAgIG1heC13aWR0aDogMjUlO1xcbiAgfVxcbiAgLmNvbC14bC00IHtcXG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMzMlO1xcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xcbiAgfVxcbiAgLmNvbC14bC01IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NjclO1xcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjclO1xcbiAgfVxcbiAgLmNvbC14bC02IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA1MCU7XFxuICAgIGZsZXg6IDAgMCA1MCU7XFxuICAgIG1heC13aWR0aDogNTAlO1xcbiAgfVxcbiAgLmNvbC14bC03IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMzMlO1xcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlO1xcbiAgfVxcbiAgLmNvbC14bC04IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NjclO1xcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjclO1xcbiAgfVxcbiAgLmNvbC14bC05IHtcXG4gICAgLW1zLWZsZXg6IDAgMCA3NSU7XFxuICAgIGZsZXg6IDAgMCA3NSU7XFxuICAgIG1heC13aWR0aDogNzUlO1xcbiAgfVxcbiAgLmNvbC14bC0xMCB7XFxuICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMzJTtcXG4gICAgZmxleDogMCAwIDgzLjMzMzMzMyU7XFxuICAgIG1heC13aWR0aDogODMuMzMzMzMzJTtcXG4gIH1cXG4gIC5jb2wteGwtMTEge1xcbiAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY2NyU7XFxuICAgIGZsZXg6IDAgMCA5MS42NjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NyU7XFxuICB9XFxuICAuY29sLXhsLTEyIHtcXG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xcbiAgICBmbGV4OiAwIDAgMTAwJTtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgfVxcbiAgLm9yZGVyLXhsLWZpcnN0IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xcbiAgICBvcmRlcjogLTE7XFxuICB9XFxuICAub3JkZXIteGwtbGFzdCB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAxMztcXG4gICAgb3JkZXI6IDEzO1xcbiAgfVxcbiAgLm9yZGVyLXhsLTAge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMDtcXG4gICAgb3JkZXI6IDA7XFxuICB9XFxuICAub3JkZXIteGwtMSB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xcbiAgICBvcmRlcjogMTtcXG4gIH1cXG4gIC5vcmRlci14bC0yIHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDI7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcbiAgLm9yZGVyLXhsLTMge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMztcXG4gICAgb3JkZXI6IDM7XFxuICB9XFxuICAub3JkZXIteGwtNCB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiA0O1xcbiAgICBvcmRlcjogNDtcXG4gIH1cXG4gIC5vcmRlci14bC01IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDU7XFxuICAgIG9yZGVyOiA1O1xcbiAgfVxcbiAgLm9yZGVyLXhsLTYge1xcbiAgICAtbXMtZmxleC1vcmRlcjogNjtcXG4gICAgb3JkZXI6IDY7XFxuICB9XFxuICAub3JkZXIteGwtNyB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiA3O1xcbiAgICBvcmRlcjogNztcXG4gIH1cXG4gIC5vcmRlci14bC04IHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDg7XFxuICAgIG9yZGVyOiA4O1xcbiAgfVxcbiAgLm9yZGVyLXhsLTkge1xcbiAgICAtbXMtZmxleC1vcmRlcjogOTtcXG4gICAgb3JkZXI6IDk7XFxuICB9XFxuICAub3JkZXIteGwtMTAge1xcbiAgICAtbXMtZmxleC1vcmRlcjogMTA7XFxuICAgIG9yZGVyOiAxMDtcXG4gIH1cXG4gIC5vcmRlci14bC0xMSB7XFxuICAgIC1tcy1mbGV4LW9yZGVyOiAxMTtcXG4gICAgb3JkZXI6IDExO1xcbiAgfVxcbiAgLm9yZGVyLXhsLTEyIHtcXG4gICAgLW1zLWZsZXgtb3JkZXI6IDEyO1xcbiAgICBvcmRlcjogMTI7XFxuICB9XFxuICAub2Zmc2V0LXhsLTAge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gIH1cXG4gIC5vZmZzZXQteGwtMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMyU7XFxuICB9XFxuICAub2Zmc2V0LXhsLTIge1xcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY3JTtcXG4gIH1cXG4gIC5vZmZzZXQteGwtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XFxuICB9XFxuICAub2Zmc2V0LXhsLTQge1xcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzJTtcXG4gIH1cXG4gIC5vZmZzZXQteGwtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjclO1xcbiAgfVxcbiAgLm9mZnNldC14bC02IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcXG4gIH1cXG4gIC5vZmZzZXQteGwtNyB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMlO1xcbiAgfVxcbiAgLm9mZnNldC14bC04IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NyU7XFxuICB9XFxuICAub2Zmc2V0LXhsLTkge1xcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xcbiAgfVxcbiAgLm9mZnNldC14bC0xMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMlO1xcbiAgfVxcbiAgLm9mZnNldC14bC0xMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjclO1xcbiAgfVxcbn1cXG5cXG4udGFibGUge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxufVxcblxcbi50YWJsZSB0aCxcXG4udGFibGUgdGQge1xcbiAgcGFkZGluZzogMC43NXJlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XFxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNjtcXG59XFxuXFxuLnRhYmxlIHRoZWFkIHRoIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RlZTJlNjtcXG59XFxuXFxuLnRhYmxlIHRib2R5ICsgdGJvZHkge1xcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZWUyZTY7XFxufVxcblxcbi50YWJsZS1zbSB0aCxcXG4udGFibGUtc20gdGQge1xcbiAgcGFkZGluZzogMC4zcmVtO1xcbn1cXG5cXG4udGFibGUtYm9yZGVyZWQge1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcXG59XFxuXFxuLnRhYmxlLWJvcmRlcmVkIHRoLFxcbi50YWJsZS1ib3JkZXJlZCB0ZCB7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xcbn1cXG5cXG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGgsXFxuLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRkIHtcXG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcXG59XFxuXFxuLnRhYmxlLWJvcmRlcmxlc3MgdGgsXFxuLnRhYmxlLWJvcmRlcmxlc3MgdGQsXFxuLnRhYmxlLWJvcmRlcmxlc3MgdGhlYWQgdGgsXFxuLnRhYmxlLWJvcmRlcmxlc3MgdGJvZHkgKyB0Ym9keSB7XFxuICBib3JkZXI6IDA7XFxufVxcblxcbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcXG59XFxuXFxuLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7XFxufVxcblxcbi50YWJsZS1wcmltYXJ5LFxcbi50YWJsZS1wcmltYXJ5ID4gdGgsXFxuLnRhYmxlLXByaW1hcnkgPiB0ZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhkYWZmO1xcbn1cXG5cXG4udGFibGUtcHJpbWFyeSB0aCxcXG4udGFibGUtcHJpbWFyeSB0ZCxcXG4udGFibGUtcHJpbWFyeSB0aGVhZCB0aCxcXG4udGFibGUtcHJpbWFyeSB0Ym9keSArIHRib2R5IHtcXG4gIGJvcmRlci1jb2xvcjogIzdhYmFmZjtcXG59XFxuXFxuLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7XFxufVxcblxcbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRkLFxcbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRoIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7XFxufVxcblxcbi50YWJsZS1zZWNvbmRhcnksXFxuLnRhYmxlLXNlY29uZGFyeSA+IHRoLFxcbi50YWJsZS1zZWNvbmRhcnkgPiB0ZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiO1xcbn1cXG5cXG4udGFibGUtc2Vjb25kYXJ5IHRoLFxcbi50YWJsZS1zZWNvbmRhcnkgdGQsXFxuLnRhYmxlLXNlY29uZGFyeSB0aGVhZCB0aCxcXG4udGFibGUtc2Vjb25kYXJ5IHRib2R5ICsgdGJvZHkge1xcbiAgYm9yZGVyLWNvbG9yOiAjYjNiN2JiO1xcbn1cXG5cXG4udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjYmNmO1xcbn1cXG5cXG4udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciA+IHRkLFxcbi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGgge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjtcXG59XFxuXFxuLnRhYmxlLXN1Y2Nlc3MsXFxuLnRhYmxlLXN1Y2Nlc3MgPiB0aCxcXG4udGFibGUtc3VjY2VzcyA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNjM2U2Y2I7XFxufVxcblxcbi50YWJsZS1zdWNjZXNzIHRoLFxcbi50YWJsZS1zdWNjZXNzIHRkLFxcbi50YWJsZS1zdWNjZXNzIHRoZWFkIHRoLFxcbi50YWJsZS1zdWNjZXNzIHRib2R5ICsgdGJvZHkge1xcbiAgYm9yZGVyLWNvbG9yOiAjOGZkMTllO1xcbn1cXG5cXG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjtcXG59XFxuXFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGQsXFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGgge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjtcXG59XFxuXFxuLnRhYmxlLWluZm8sXFxuLnRhYmxlLWluZm8gPiB0aCxcXG4udGFibGUtaW5mbyA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiZWU1ZWI7XFxufVxcblxcbi50YWJsZS1pbmZvIHRoLFxcbi50YWJsZS1pbmZvIHRkLFxcbi50YWJsZS1pbmZvIHRoZWFkIHRoLFxcbi50YWJsZS1pbmZvIHRib2R5ICsgdGJvZHkge1xcbiAgYm9yZGVyLWNvbG9yOiAjODZjZmRhO1xcbn1cXG5cXG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTtcXG59XFxuXFxuLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGQsXFxuLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGgge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTtcXG59XFxuXFxuLnRhYmxlLXdhcm5pbmcsXFxuLnRhYmxlLXdhcm5pbmcgPiB0aCxcXG4udGFibGUtd2FybmluZyA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYmE7XFxufVxcblxcbi50YWJsZS13YXJuaW5nIHRoLFxcbi50YWJsZS13YXJuaW5nIHRkLFxcbi50YWJsZS13YXJuaW5nIHRoZWFkIHRoLFxcbi50YWJsZS13YXJuaW5nIHRib2R5ICsgdGJvZHkge1xcbiAgYm9yZGVyLWNvbG9yOiAjZmZkZjdlO1xcbn1cXG5cXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcXG59XFxuXFxuLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyID4gdGQsXFxuLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyID4gdGgge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcXG59XFxuXFxuLnRhYmxlLWRhbmdlcixcXG4udGFibGUtZGFuZ2VyID4gdGgsXFxuLnRhYmxlLWRhbmdlciA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWM2Y2I7XFxufVxcblxcbi50YWJsZS1kYW5nZXIgdGgsXFxuLnRhYmxlLWRhbmdlciB0ZCxcXG4udGFibGUtZGFuZ2VyIHRoZWFkIHRoLFxcbi50YWJsZS1kYW5nZXIgdGJvZHkgKyB0Ym9keSB7XFxuICBib3JkZXItY29sb3I6ICNlZDk2OWU7XFxufVxcblxcbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7XFxufVxcblxcbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyID4gdGQsXFxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0aCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFiMGI3O1xcbn1cXG5cXG4udGFibGUtbGlnaHQsXFxuLnRhYmxlLWxpZ2h0ID4gdGgsXFxuLnRhYmxlLWxpZ2h0ID4gdGQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZTtcXG59XFxuXFxuLnRhYmxlLWxpZ2h0IHRoLFxcbi50YWJsZS1saWdodCB0ZCxcXG4udGFibGUtbGlnaHQgdGhlYWQgdGgsXFxuLnRhYmxlLWxpZ2h0IHRib2R5ICsgdGJvZHkge1xcbiAgYm9yZGVyLWNvbG9yOiAjZmJmY2ZjO1xcbn1cXG5cXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7XFxufVxcblxcbi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0ZCxcXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyID4gdGgge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNjtcXG59XFxuXFxuLnRhYmxlLWRhcmssXFxuLnRhYmxlLWRhcmsgPiB0aCxcXG4udGFibGUtZGFyayA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2E7XFxufVxcblxcbi50YWJsZS1kYXJrIHRoLFxcbi50YWJsZS1kYXJrIHRkLFxcbi50YWJsZS1kYXJrIHRoZWFkIHRoLFxcbi50YWJsZS1kYXJrIHRib2R5ICsgdGJvZHkge1xcbiAgYm9yZGVyLWNvbG9yOiAjOTU5OTljO1xcbn1cXG5cXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTtcXG59XFxuXFxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyID4gdGQsXFxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyID4gdGgge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTtcXG59XFxuXFxuLnRhYmxlLWFjdGl2ZSxcXG4udGFibGUtYWN0aXZlID4gdGgsXFxuLnRhYmxlLWFjdGl2ZSA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xcbn1cXG5cXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcXG59XFxuXFxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0ZCxcXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRoIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xcbn1cXG5cXG4udGFibGUgLnRoZWFkLWRhcmsgdGgge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xcbiAgYm9yZGVyLWNvbG9yOiAjNDU0ZDU1O1xcbn1cXG5cXG4udGFibGUgLnRoZWFkLWxpZ2h0IHRoIHtcXG4gIGNvbG9yOiAjNDk1MDU3O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG4gIGJvcmRlci1jb2xvcjogI2RlZTJlNjtcXG59XFxuXFxuLnRhYmxlLWRhcmsge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xcbn1cXG5cXG4udGFibGUtZGFyayB0aCxcXG4udGFibGUtZGFyayB0ZCxcXG4udGFibGUtZGFyayB0aGVhZCB0aCB7XFxuICBib3JkZXItY29sb3I6ICM0NTRkNTU7XFxufVxcblxcbi50YWJsZS1kYXJrLnRhYmxlLWJvcmRlcmVkIHtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxuLnRhYmxlLWRhcmsudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XFxufVxcblxcbi50YWJsZS1kYXJrLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSk7XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xcbiAgLnRhYmxlLXJlc3BvbnNpdmUtc20ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG92ZXJmbG93LXg6IGF1dG87XFxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcXG4gIH1cXG4gIC50YWJsZS1yZXNwb25zaXZlLXNtID4gLnRhYmxlLWJvcmRlcmVkIHtcXG4gICAgYm9yZGVyOiAwO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcXG4gIC50YWJsZS1yZXNwb25zaXZlLW1kIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XFxuICB9XFxuICAudGFibGUtcmVzcG9uc2l2ZS1tZCA+IC50YWJsZS1ib3JkZXJlZCB7XFxuICAgIGJvcmRlcjogMDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XFxuICAudGFibGUtcmVzcG9uc2l2ZS1sZyB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgb3ZlcmZsb3cteDogYXV0bztcXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xcbiAgfVxcbiAgLnRhYmxlLXJlc3BvbnNpdmUtbGcgPiAudGFibGUtYm9yZGVyZWQge1xcbiAgICBib3JkZXI6IDA7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcXG4gIC50YWJsZS1yZXNwb25zaXZlLXhsIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XFxuICB9XFxuICAudGFibGUtcmVzcG9uc2l2ZS14bCA+IC50YWJsZS1ib3JkZXJlZCB7XFxuICAgIGJvcmRlcjogMDtcXG4gIH1cXG59XFxuXFxuLnRhYmxlLXJlc3BvbnNpdmUge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIG92ZXJmbG93LXg6IGF1dG87XFxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XFxufVxcblxcbi50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxuLmZvcm0tY29udHJvbCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XFxuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBjb2xvcjogIzQ5NTA1NztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XFxufVxcblxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuZm9ybS1jb250cm9sIHtcXG4gICAgdHJhbnNpdGlvbjogbm9uZTtcXG4gIH1cXG59XFxuXFxuLmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlcjogMDtcXG59XFxuXFxuLmZvcm0tY29udHJvbDpmb2N1cyB7XFxuICBjb2xvcjogIzQ5NTA1NztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBib3JkZXItY29sb3I6ICM4MGJkZmY7XFxuICBvdXRsaW5lOiAwO1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xcbn1cXG5cXG4uZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgb3BhY2l0eTogMTtcXG59XFxuXFxuLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogIzZjNzU3ZDtcXG4gIG9wYWNpdHk6IDE7XFxufVxcblxcbi5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgb3BhY2l0eTogMTtcXG59XFxuXFxuLmZvcm0tY29udHJvbDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgb3BhY2l0eTogMTtcXG59XFxuXFxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG5cXG4uZm9ybS1jb250cm9sOmRpc2FibGVkLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbiAgb3BhY2l0eTogMTtcXG59XFxuXFxuc2VsZWN0LmZvcm0tY29udHJvbDpmb2N1czo6LW1zLXZhbHVlIHtcXG4gIGNvbG9yOiAjNDk1MDU3O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG59XFxuXFxuLmZvcm0tY29udHJvbC1maWxlLFxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuXFxuLmNvbC1mb3JtLWxhYmVsIHtcXG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMzc1cmVtICsgMXB4KTtcXG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMzc1cmVtICsgMXB4KTtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbn1cXG5cXG4uY29sLWZvcm0tbGFiZWwtbGcge1xcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41cmVtICsgMXB4KTtcXG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNXJlbSArIDFweCk7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbn1cXG5cXG4uY29sLWZvcm0tbGFiZWwtc20ge1xcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4yNXJlbSArIDFweCk7XFxuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjI1cmVtICsgMXB4KTtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbn1cXG5cXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZy10b3A6IDAuMzc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuMzc1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBjb2xvcjogIzIxMjUyOTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci13aWR0aDogMXB4IDA7XFxufVxcblxcbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1zbSwgLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLWxnIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDA7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxufVxcblxcbi5mb3JtLWNvbnRyb2wtc20ge1xcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC41cmVtICsgMnB4KTtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XFxufVxcblxcbi5mb3JtLWNvbnRyb2wtbGcge1xcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7XFxuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XFxufVxcblxcbnNlbGVjdC5mb3JtLWNvbnRyb2xbc2l6ZV0sIHNlbGVjdC5mb3JtLWNvbnRyb2xbbXVsdGlwbGVdIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLmZvcm0tZ3JvdXAge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG59XFxuXFxuLmZvcm0tdGV4dCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XFxufVxcblxcbi5mb3JtLXJvdyB7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC13cmFwOiB3cmFwO1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XFxufVxcblxcbi5mb3JtLXJvdyA+IC5jb2wsXFxuLmZvcm0tcm93ID4gW2NsYXNzKj1cXFwiY29sLVxcXCJdIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcXG4gIHBhZGRpbmctbGVmdDogNXB4O1xcbn1cXG5cXG4uZm9ybS1jaGVjayB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG59XFxuXFxuLmZvcm0tY2hlY2staW5wdXQge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgbWFyZ2luLXRvcDogMC4zcmVtO1xcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xcbn1cXG5cXG4uZm9ybS1jaGVjay1pbnB1dDpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbn1cXG5cXG4uZm9ybS1jaGVjay1sYWJlbCB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG5cXG4uZm9ybS1jaGVjay1pbmxpbmUge1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHBhZGRpbmctbGVmdDogMDtcXG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcXG59XFxuXFxuLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcXG4gIHBvc2l0aW9uOiBzdGF0aWM7XFxuICBtYXJnaW4tdG9wOiAwO1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XFxuICBtYXJnaW4tbGVmdDogMDtcXG59XFxuXFxuLnZhbGlkLWZlZWRiYWNrIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XFxuICBmb250LXNpemU6IDgwJTtcXG4gIGNvbG9yOiAjMjhhNzQ1O1xcbn1cXG5cXG4udmFsaWQtdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDEwMCU7XFxuICB6LWluZGV4OiA1O1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xcbiAgbWFyZ2luLXRvcDogLjFyZW07XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgMTY3LCA2OSwgMC45KTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xcbiAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyMzI4YTc0NScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVxcXCIpO1xcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pO1xcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1cywgLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cyB7XFxuICBib3JkZXItY29sb3I6ICMyOGE3NDU7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxcbi5mb3JtLWNvbnRyb2wuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgdGV4dGFyZWEuZm9ybS1jb250cm9sOnZhbGlkLCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xcbiAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQsIC5jdXN0b20tc2VsZWN0LmlzLXZhbGlkIHtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDFlbSArIDAuNzVyZW0pICogMyAvIDQgKyAxLjc1cmVtKTtcXG4gIGJhY2tncm91bmQ6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2VcXFwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHgsIHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMyOGE3NDUnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcXFwiKSAjZmZmIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMS43NXJlbS9jYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQ6Zm9jdXMsIC5jdXN0b20tc2VsZWN0LmlzLXZhbGlkOmZvY3VzIHtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjI1KTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXFxuLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1maWxlOnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLWZpbGUuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXFxuLmZvcm0tY29udHJvbC1maWxlLmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xcbiAgY29sb3I6ICMyOGE3NDU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxcbi5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcXG4gIGNvbG9yOiAjMjhhNzQ1O1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICBib3JkZXItY29sb3I6ICMzNGNlNTc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzRjZTU3O1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcXG4uY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpO1xcbn1cXG5cXG4uaW52YWxpZC1mZWVkYmFjayB7XFxuICBkaXNwbGF5OiBub25lO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xcbiAgZm9udC1zaXplOiA4MCU7XFxuICBjb2xvcjogI2RjMzU0NTtcXG59XFxuXFxuLmludmFsaWQtdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDEwMCU7XFxuICB6LWluZGV4OiA1O1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xcbiAgbWFyZ2luLXRvcDogLjFyZW07XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDUzLCA2OSwgMC45KTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2RjMzU0NScgdmlld0JveD0nLTIgLTIgNyA3JyUzZSUzY3BhdGggc3Ryb2tlPSclMjNkYzM1NDUnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzZSUzY2NpcmNsZSByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN5PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzZSUzYy9zdmclM0VcXFwiKTtcXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKTtcXG4gIGJhY2tncm91bmQtc2l6ZTogY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZDpmb2N1cywgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkOmZvY3VzIHtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXFxuLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgdGV4dGFyZWEuZm9ybS1jb250cm9sOmludmFsaWQsIHRleHRhcmVhLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSk7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQsIC5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQge1xcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xcbiAgcGFkZGluZy1yaWdodDogY2FsYygoMWVtICsgMC43NXJlbSkgKiAzIC8gNCArIDEuNzVyZW0pO1xcbiAgYmFja2dyb3VuZDogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVxcXCIpIG5vLXJlcGVhdCByaWdodCAwLjc1cmVtIGNlbnRlci84cHggMTBweCwgdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZGMzNTQ1JyB2aWV3Qm94PSctMiAtMiA3IDcnJTNlJTNjcGF0aCBzdHJva2U9JyUyM2RjMzU0NScgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNlJTNjY2lyY2xlIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNlJTNjL3N2ZyUzRVxcXCIpICNmZmYgbm8tcmVwZWF0IGNlbnRlciByaWdodCAxLjc1cmVtL2NhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkOmZvY3VzLCAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkOmZvY3VzIHtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXFxuLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1maWxlOmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLWZpbGUuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxcbi5mb3JtLWNvbnRyb2wtZmlsZS5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xcbiAgY29sb3I6ICNkYzM1NDU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxcbi5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgY29sb3I6ICNkYzM1NDU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJvcmRlci1jb2xvcjogI2U0NjA2ZDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNDYwNmQ7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XFxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxcbi5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTtcXG59XFxuXFxuLmZvcm0taW5saW5lIHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG5cXG4uZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmZvcm0taW5saW5lIGxhYmVsIHtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICB9XFxuICAuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAge1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xcbiAgICBmbGV4OiAwIDAgYXV0bztcXG4gICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICB9XFxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbCB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICB9XFxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB9XFxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwLFxcbiAgLmZvcm0taW5saW5lIC5jdXN0b20tc2VsZWN0IHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIHBhZGRpbmctbGVmdDogMDtcXG4gIH1cXG4gIC5mb3JtLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XFxuICAgIGZsZXgtc2hyaW5rOiAwO1xcbiAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgfVxcbiAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCB7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICB9XFxuICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIH1cXG59XFxuXFxuLmJ0biB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xcbn1cXG5cXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgLmJ0biB7XFxuICAgIHRyYW5zaXRpb246IG5vbmU7XFxuICB9XFxufVxcblxcbi5idG46aG92ZXIge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbi5idG46Zm9jdXMsIC5idG4uZm9jdXMge1xcbiAgb3V0bGluZTogMDtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcXG59XFxuXFxuLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7XFxuICBvcGFjaXR5OiAwLjY1O1xcbn1cXG5cXG5hLmJ0bi5kaXNhYmxlZCxcXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuXFxuLmJ0bi1wcmltYXJ5IHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcXG59XFxuXFxuLmJ0bi1wcmltYXJ5OmhvdmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjlkOTtcXG4gIGJvcmRlci1jb2xvcjogIzAwNjJjYztcXG59XFxuXFxuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMzgsIDE0MywgMjU1LCAwLjUpO1xcbn1cXG5cXG4uYnRuLXByaW1hcnkuZGlzYWJsZWQsIC5idG4tcHJpbWFyeTpkaXNhYmxlZCB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7XFxufVxcblxcbi5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXFxuLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjJjYztcXG4gIGJvcmRlci1jb2xvcjogIzAwNWNiZjtcXG59XFxuXFxuLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcXG4uc2hvdyA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMzgsIDE0MywgMjU1LCAwLjUpO1xcbn1cXG5cXG4uYnRuLXNlY29uZGFyeSB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XFxuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XFxufVxcblxcbi5idG4tc2Vjb25kYXJ5OmhvdmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2ODtcXG4gIGJvcmRlci1jb2xvcjogIzU0NWI2MjtcXG59XFxuXFxuLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEzMCwgMTM4LCAxNDUsIDAuNSk7XFxufVxcblxcbi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnRuLXNlY29uZGFyeTpkaXNhYmxlZCB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XFxuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XFxufVxcblxcbi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxcbi5zaG93ID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NWI2MjtcXG4gIGJvcmRlci1jb2xvcjogIzRlNTU1YjtcXG59XFxuXFxuLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXFxuLnNob3cgPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTMwLCAxMzgsIDE0NSwgMC41KTtcXG59XFxuXFxuLmJ0bi1zdWNjZXNzIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG59XFxuXFxuLmJ0bi1zdWNjZXNzOmhvdmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODgzODtcXG4gIGJvcmRlci1jb2xvcjogIzFlN2UzNDtcXG59XFxuXFxuLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzIsIDE4MCwgOTcsIDAuNSk7XFxufVxcblxcbi5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1zdWNjZXNzOmRpc2FibGVkIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG59XFxuXFxuLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcXG4uc2hvdyA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0O1xcbiAgYm9yZGVyLWNvbG9yOiAjMWM3NDMwO1xcbn1cXG5cXG4uYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxcbi5zaG93ID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg3MiwgMTgwLCA5NywgMC41KTtcXG59XFxuXFxuLmJ0bi1pbmZvIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODtcXG4gIGJvcmRlci1jb2xvcjogIzE3YTJiODtcXG59XFxuXFxuLmJ0bi1pbmZvOmhvdmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzODQ5NjtcXG4gIGJvcmRlci1jb2xvcjogIzExN2E4YjtcXG59XFxuXFxuLmJ0bi1pbmZvOmZvY3VzLCAuYnRuLWluZm8uZm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDE3NiwgMTk1LCAwLjUpO1xcbn1cXG5cXG4uYnRuLWluZm8uZGlzYWJsZWQsIC5idG4taW5mbzpkaXNhYmxlZCB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XFxuICBib3JkZXItY29sb3I6ICMxN2EyYjg7XFxufVxcblxcbi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXFxuLnNob3cgPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YjtcXG4gIGJvcmRlci1jb2xvcjogIzEwNzA3ZjtcXG59XFxuXFxuLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcXG4uc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDE3NiwgMTk1LCAwLjUpO1xcbn1cXG5cXG4uYnRuLXdhcm5pbmcge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xcbn1cXG5cXG4uYnRuLXdhcm5pbmc6aG92ZXIge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBhODAwO1xcbiAgYm9yZGVyLWNvbG9yOiAjZDM5ZTAwO1xcbn1cXG5cXG4uYnRuLXdhcm5pbmc6Zm9jdXMsIC5idG4td2FybmluZy5mb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjIsIDE3MCwgMTIsIDAuNSk7XFxufVxcblxcbi5idG4td2FybmluZy5kaXNhYmxlZCwgLmJ0bi13YXJuaW5nOmRpc2FibGVkIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcXG4gIGJvcmRlci1jb2xvcjogI2ZmYzEwNztcXG59XFxuXFxuLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcXG4uc2hvdyA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwO1xcbiAgYm9yZGVyLWNvbG9yOiAjYzY5NTAwO1xcbn1cXG5cXG4uYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxcbi5zaG93ID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjIsIDE3MCwgMTIsIDAuNSk7XFxufVxcblxcbi5idG4tZGFuZ2VyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcXG59XFxuXFxuLmJ0bi1kYW5nZXI6aG92ZXIge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzgyMzMzO1xcbiAgYm9yZGVyLWNvbG9yOiAjYmQyMTMwO1xcbn1cXG5cXG4uYnRuLWRhbmdlcjpmb2N1cywgLmJ0bi1kYW5nZXIuZm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI1LCA4MywgOTcsIDAuNSk7XFxufVxcblxcbi5idG4tZGFuZ2VyLmRpc2FibGVkLCAuYnRuLWRhbmdlcjpkaXNhYmxlZCB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XFxufVxcblxcbi5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxcbi5zaG93ID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMDtcXG4gIGJvcmRlci1jb2xvcjogI2IyMWYyZDtcXG59XFxuXFxuLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXFxuLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI1LCA4MywgOTcsIDAuNSk7XFxufVxcblxcbi5idG4tbGlnaHQge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xcbn1cXG5cXG4uYnRuLWxpZ2h0OmhvdmVyIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTZlYTtcXG4gIGJvcmRlci1jb2xvcjogI2RhZTBlNTtcXG59XFxuXFxuLmJ0bi1saWdodDpmb2N1cywgLmJ0bi1saWdodC5mb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMTYsIDIxNywgMjE5LCAwLjUpO1xcbn1cXG5cXG4uYnRuLWxpZ2h0LmRpc2FibGVkLCAuYnRuLWxpZ2h0OmRpc2FibGVkIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcXG4gIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcXG59XFxuXFxuLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxcbi5zaG93ID4gLmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGUge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1O1xcbiAgYm9yZGVyLWNvbG9yOiAjZDNkOWRmO1xcbn1cXG5cXG4uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXFxuLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMTYsIDIxNywgMjE5LCAwLjUpO1xcbn1cXG5cXG4uYnRuLWRhcmsge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xcbn1cXG5cXG4uYnRuLWRhcms6aG92ZXIge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyNzJiO1xcbiAgYm9yZGVyLWNvbG9yOiAjMWQyMTI0O1xcbn1cXG5cXG4uYnRuLWRhcms6Zm9jdXMsIC5idG4tZGFyay5mb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MiwgODgsIDkzLCAwLjUpO1xcbn1cXG5cXG4uYnRuLWRhcmsuZGlzYWJsZWQsIC5idG4tZGFyazpkaXNhYmxlZCB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XFxuICBib3JkZXItY29sb3I6ICMzNDNhNDA7XFxufVxcblxcbi5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXFxuLnNob3cgPiAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjEyNDtcXG4gIGJvcmRlci1jb2xvcjogIzE3MWExZDtcXG59XFxuXFxuLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcXG4uc2hvdyA+IC5idG4tZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoODIsIDg4LCA5MywgMC41KTtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xcbiAgY29sb3I6ICMwMDdiZmY7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7XFxufVxcblxcbi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6ZGlzYWJsZWQge1xcbiAgY29sb3I6ICMwMDdiZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXFxuLnNob3cgPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xcbiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcXG4uc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XFxuICBjb2xvcjogIzZjNzU3ZDtcXG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3ZlciB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XFxuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XFxufVxcblxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpkaXNhYmxlZCB7XFxuICBjb2xvcjogIzZjNzU3ZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXFxuLnNob3cgPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XFxuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XFxufVxcblxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcXG4uc2hvdyA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7XFxufVxcblxcbi5idG4tb3V0bGluZS1zdWNjZXNzIHtcXG4gIGNvbG9yOiAjMjhhNzQ1O1xcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XFxuICBib3JkZXItY29sb3I6ICMyOGE3NDU7XFxufVxcblxcbi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC41KTtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVkIHtcXG4gIGNvbG9yOiAjMjhhNzQ1O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcblxcbi5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXFxuLnNob3cgPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7XFxufVxcblxcbi5idG4tb3V0bGluZS1pbmZvIHtcXG4gIGNvbG9yOiAjMTdhMmI4O1xcbiAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4O1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtaW5mbzpob3ZlciB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XFxuICBib3JkZXItY29sb3I6ICMxN2EyYjg7XFxufVxcblxcbi5idG4tb3V0bGluZS1pbmZvOmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5mb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7XFxufVxcblxcbi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZCB7XFxuICBjb2xvcjogIzE3YTJiODtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcXG4uc2hvdyA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XFxuICBib3JkZXItY29sb3I6ICMxN2EyYjg7XFxufVxcblxcbi5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcge1xcbiAgY29sb3I6ICNmZmMxMDc7XFxuICBib3JkZXItY29sb3I6ICNmZmMxMDc7XFxufVxcblxcbi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcXG4gIGJvcmRlci1jb2xvcjogI2ZmYzEwNztcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpO1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQge1xcbiAgY29sb3I6ICNmZmMxMDc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXFxuLnNob3cgPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcXG4uc2hvdyA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgMC41KTtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XFxuICBjb2xvcjogI2RjMzU0NTtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpob3ZlciB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XFxufVxcblxcbi5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7XFxufVxcblxcbi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQge1xcbiAgY29sb3I6ICNkYzM1NDU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXFxuLnNob3cgPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC41KTtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcXG4gIGNvbG9yOiAjZjhmOWZhO1xcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtbGlnaHQ6aG92ZXIge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtbGlnaHQ6Zm9jdXMsIC5idG4tb3V0bGluZS1saWdodC5mb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtbGlnaHQuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1saWdodDpkaXNhYmxlZCB7XFxuICBjb2xvcjogI2Y4ZjlmYTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XFxuICBjb2xvcjogIzIxMjUyOTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XFxuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7XFxufVxcblxcbi5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXFxuLnNob3cgPiAuYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7XFxufVxcblxcbi5idG4tb3V0bGluZS1kYXJrIHtcXG4gIGNvbG9yOiAjMzQzYTQwO1xcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtZGFyazpob3ZlciB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XFxuICBib3JkZXItY29sb3I6ICMzNDNhNDA7XFxufVxcblxcbi5idG4tb3V0bGluZS1kYXJrOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFyay5mb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtZGFyay5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWRhcms6ZGlzYWJsZWQge1xcbiAgY29sb3I6ICMzNDNhNDA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuXFxuLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXFxuLnNob3cgPiAuYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGUge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xcbn1cXG5cXG4uYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcXG4uc2hvdyA+IC5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xcbn1cXG5cXG4uYnRuLWxpbmsge1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGNvbG9yOiAjMDA3YmZmO1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4uYnRuLWxpbms6aG92ZXIge1xcbiAgY29sb3I6ICMwMDU2YjM7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG59XFxuXFxuLmJ0bi1saW5rOmZvY3VzLCAuYnRuLWxpbmsuZm9jdXMge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4uYnRuLWxpbms6ZGlzYWJsZWQsIC5idG4tbGluay5kaXNhYmxlZCB7XFxuICBjb2xvcjogIzZjNzU3ZDtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbn1cXG5cXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XFxuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XFxufVxcblxcbi5idG4tc20sIC5idG4tZ3JvdXAtc20gPiAuYnRuIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XFxufVxcblxcbi5idG4tYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuXFxuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xcbn1cXG5cXG5pbnB1dFt0eXBlPVxcXCJzdWJtaXRcXFwiXS5idG4tYmxvY2ssXFxuaW5wdXRbdHlwZT1cXFwicmVzZXRcXFwiXS5idG4tYmxvY2ssXFxuaW5wdXRbdHlwZT1cXFwiYnV0dG9uXFxcIl0uYnRuLWJsb2NrIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5cXG4uZmFkZSB7XFxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcXG59XFxuXFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5mYWRlIHtcXG4gICAgdHJhbnNpdGlvbjogbm9uZTtcXG4gIH1cXG59XFxuXFxuLmZhZGU6bm90KC5zaG93KSB7XFxuICBvcGFjaXR5OiAwO1xcbn1cXG5cXG4uY29sbGFwc2U6bm90KC5zaG93KSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4uY29sbGFwc2luZyB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBoZWlnaHQ6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzIGVhc2U7XFxufVxcblxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuY29sbGFwc2luZyB7XFxuICAgIHRyYW5zaXRpb246IG5vbmU7XFxuICB9XFxufVxcblxcbi5kcm9wdXAsXFxuLmRyb3ByaWdodCxcXG4uZHJvcGRvd24sXFxuLmRyb3BsZWZ0IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuXFxuLmRyb3Bkb3duLXRvZ2dsZSB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbn1cXG5cXG4uZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZDtcXG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItYm90dG9tOiAwO1xcbiAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xcbn1cXG5cXG4uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XFxuICBtYXJnaW4tbGVmdDogMDtcXG59XFxuXFxuLmRyb3Bkb3duLW1lbnUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIHotaW5kZXg6IDEwMDA7XFxuICBkaXNwbGF5OiBub25lO1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtaW4td2lkdGg6IDEwcmVtO1xcbiAgcGFkZGluZzogMC41cmVtIDA7XFxuICBtYXJnaW46IDAuMTI1cmVtIDAgMDtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcXG4gIHJpZ2h0OiBhdXRvO1xcbiAgbGVmdDogMDtcXG59XFxuXFxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiBhdXRvO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gIC5kcm9wZG93bi1tZW51LXNtLWxlZnQge1xcbiAgICByaWdodDogYXV0bztcXG4gICAgbGVmdDogMDtcXG4gIH1cXG4gIC5kcm9wZG93bi1tZW51LXNtLXJpZ2h0IHtcXG4gICAgcmlnaHQ6IDA7XFxuICAgIGxlZnQ6IGF1dG87XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLmRyb3Bkb3duLW1lbnUtbWQtbGVmdCB7XFxuICAgIHJpZ2h0OiBhdXRvO1xcbiAgICBsZWZ0OiAwO1xcbiAgfVxcbiAgLmRyb3Bkb3duLW1lbnUtbWQtcmlnaHQge1xcbiAgICByaWdodDogMDtcXG4gICAgbGVmdDogYXV0bztcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAuZHJvcGRvd24tbWVudS1sZy1sZWZ0IHtcXG4gICAgcmlnaHQ6IGF1dG87XFxuICAgIGxlZnQ6IDA7XFxuICB9XFxuICAuZHJvcGRvd24tbWVudS1sZy1yaWdodCB7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBsZWZ0OiBhdXRvO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XFxuICAuZHJvcGRvd24tbWVudS14bC1sZWZ0IHtcXG4gICAgcmlnaHQ6IGF1dG87XFxuICAgIGxlZnQ6IDA7XFxuICB9XFxuICAuZHJvcGRvd24tbWVudS14bC1yaWdodCB7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBsZWZ0OiBhdXRvO1xcbiAgfVxcbn1cXG5cXG4uZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcXG4gIHRvcDogYXV0bztcXG4gIGJvdHRvbTogMTAwJTtcXG4gIG1hcmdpbi10b3A6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTtcXG59XFxuXFxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBib3JkZXItdG9wOiAwO1xcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkO1xcbiAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xcbn1cXG5cXG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcXG4gIG1hcmdpbi1sZWZ0OiAwO1xcbn1cXG5cXG4uZHJvcHJpZ2h0IC5kcm9wZG93bi1tZW51IHtcXG4gIHRvcDogMDtcXG4gIHJpZ2h0OiBhdXRvO1xcbiAgbGVmdDogMTAwJTtcXG4gIG1hcmdpbi10b3A6IDA7XFxuICBtYXJnaW4tbGVmdDogMC4xMjVyZW07XFxufVxcblxcbi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmlnaHQ6IDA7XFxuICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZDtcXG59XFxuXFxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XFxuICBtYXJnaW4tbGVmdDogMDtcXG59XFxuXFxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogMDtcXG59XFxuXFxuLmRyb3BsZWZ0IC5kcm9wZG93bi1tZW51IHtcXG4gIHRvcDogMDtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogYXV0bztcXG4gIG1hcmdpbi10b3A6IDA7XFxuICBtYXJnaW4tcmlnaHQ6IDAuMTI1cmVtO1xcbn1cXG5cXG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbn1cXG5cXG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBtYXJnaW4tcmlnaHQ6IDAuMjU1ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkO1xcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XFxufVxcblxcbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XFxuICBtYXJnaW4tbGVmdDogMDtcXG59XFxuXFxuLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogMDtcXG59XFxuXFxuLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSwgLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdLCAuZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdLCAuZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSB7XFxuICByaWdodDogYXV0bztcXG4gIGJvdHRvbTogYXV0bztcXG59XFxuXFxuLmRyb3Bkb3duLWRpdmlkZXIge1xcbiAgaGVpZ2h0OiAwO1xcbiAgbWFyZ2luOiAwLjVyZW0gMDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjtcXG59XFxuXFxuLmRyb3Bkb3duLWl0ZW0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xcbiAgY2xlYXI6IGJvdGg7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiAwO1xcbn1cXG5cXG4uZHJvcGRvd24taXRlbTpob3ZlciwgLmRyb3Bkb3duLWl0ZW06Zm9jdXMge1xcbiAgY29sb3I6ICMxNjE4MWI7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xcbn1cXG5cXG4uZHJvcGRvd24taXRlbS5hY3RpdmUsIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxufVxcblxcbi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCAuZHJvcGRvd24taXRlbTpkaXNhYmxlZCB7XFxuICBjb2xvcjogIzZjNzU3ZDtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcblxcbi5kcm9wZG93bi1tZW51LnNob3cge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcblxcbi5kcm9wZG93bi1oZWFkZXIge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBjb2xvcjogIzZjNzU3ZDtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxufVxcblxcbi5kcm9wZG93bi1pdGVtLXRleHQge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBwYWRkaW5nOiAwLjI1cmVtIDEuNXJlbTtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbn1cXG5cXG4uYnRuLWdyb3VwLFxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbn1cXG5cXG4uYnRuLWdyb3VwID4gLmJ0bixcXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG59XFxuXFxuLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsXFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIge1xcbiAgei1pbmRleDogMTtcXG59XFxuXFxuLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsIC5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSwgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlLFxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmZvY3VzLFxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi5hY3RpdmUge1xcbiAgei1pbmRleDogMTtcXG59XFxuXFxuLmJ0bi10b29sYmFyIHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcXG59XFxuXFxuLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7XFxuICB3aWR0aDogYXV0bztcXG59XFxuXFxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXFxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxufVxcblxcbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxufVxcblxcbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG59XFxuXFxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjU2MjVyZW07XFxuICBwYWRkaW5nLWxlZnQ6IDAuNTYyNXJlbTtcXG59XFxuXFxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YWZ0ZXIsXFxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlcixcXG4uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcXG4gIG1hcmdpbi1sZWZ0OiAwO1xcbn1cXG5cXG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YmVmb3JlIHtcXG4gIG1hcmdpbi1yaWdodDogMDtcXG59XFxuXFxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtc20gPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcXG4gIHBhZGRpbmctbGVmdDogMC4zNzVyZW07XFxufVxcblxcbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLWxnID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcXG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcXG59XFxuXFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XFxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG5cXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bixcXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuXFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xcbiAgbWFyZ2luLXRvcDogLTFweDtcXG59XFxuXFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbn1cXG5cXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbn1cXG5cXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4sXFxuLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG5cXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4gaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSxcXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4gaW5wdXRbdHlwZT1cXFwiY2hlY2tib3hcXFwiXSxcXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0sXFxuLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPVxcXCJjaGVja2JveFxcXCJdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuXFxuLmlucHV0LWdyb3VwIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wsXFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QsXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvO1xcbiAgd2lkdGg6IDElO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wsXFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5jdXN0b20tc2VsZWN0LFxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLWZpbGUsXFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgKyAuZm9ybS1jb250cm9sLFxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0ICsgLmN1c3RvbS1zZWxlY3QsXFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgKyAuY3VzdG9tLWZpbGUsXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuZm9ybS1jb250cm9sLFxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0ICsgLmN1c3RvbS1zZWxlY3QsXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuY3VzdG9tLWZpbGUsXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmZvcm0tY29udHJvbCxcXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuY3VzdG9tLXNlbGVjdCxcXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuY3VzdG9tLWZpbGUge1xcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XFxuICB6LWluZGV4OiAzO1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcXG4gIHotaW5kZXg6IDQ7XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCkge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSB7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XFxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG59XFxuXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG59XFxuXFxuLmlucHV0LWdyb3VwLXByZXBlbmQsXFxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcblxcbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4sXFxuLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHotaW5kZXg6IDI7XFxufVxcblxcbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG46Zm9jdXMsXFxuLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuOmZvY3VzIHtcXG4gIHotaW5kZXg6IDM7XFxufVxcblxcbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4gKyAuYnRuLFxcbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxcbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0bixcXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4gKyAuYnRuLFxcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XFxuICBtYXJnaW4tbGVmdDogLTFweDtcXG59XFxuXFxuLmlucHV0LWdyb3VwLXByZXBlbmQge1xcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBjb2xvcjogIzQ5NTA1NztcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0sXFxuLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1cXFwiY2hlY2tib3hcXFwiXSB7XFxuICBtYXJnaW4tdG9wOiAwO1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7XFxufVxcblxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcXG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcXG59XFxuXFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcXG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7XFxufVxcblxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XFxufVxcblxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG59XFxuXFxuLmN1c3RvbS1jb250cm9sIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWluLWhlaWdodDogMS41cmVtO1xcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XFxufVxcblxcbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBtYXJnaW4tcmlnaHQ6IDFyZW07XFxufVxcblxcbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB6LWluZGV4OiAtMTtcXG4gIG9wYWNpdHk6IDA7XFxufVxcblxcbi5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgY29sb3I6ICNmZmY7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xcbn1cXG5cXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XFxufVxcblxcbi5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm9yZGVyLWNvbG9yOiAjODBiZGZmO1xcbn1cXG5cXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6bm90KDpkaXNhYmxlZCk6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmO1xcbiAgYm9yZGVyLWNvbG9yOiAjYjNkN2ZmO1xcbn1cXG5cXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxufVxcblxcbi5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxufVxcblxcbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcXG59XFxuXFxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwLjI1cmVtO1xcbiAgbGVmdDogLTEuNXJlbTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDFyZW07XFxuICBoZWlnaHQ6IDFyZW07XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJvcmRlcjogI2FkYjViZCBzb2xpZCAxcHg7XFxufVxcblxcbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwLjI1cmVtO1xcbiAgbGVmdDogLTEuNXJlbTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDFyZW07XFxuICBoZWlnaHQ6IDFyZW07XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyA1MCUgNTAlO1xcbn1cXG5cXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjNmZmYnIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM2UlM2Mvc3ZnJTNlXFxcIik7XFxufVxcblxcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xcbn1cXG5cXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzZSUzY3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNlJTNjL3N2ZyUzZVxcXCIpO1xcbn1cXG5cXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcXG59XFxuXFxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7XFxufVxcblxcbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbn1cXG5cXG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyUyM2ZmZicvJTNlJTNjL3N2ZyUzZVxcXCIpO1xcbn1cXG5cXG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcXG59XFxuXFxuLmN1c3RvbS1zd2l0Y2gge1xcbiAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtO1xcbn1cXG5cXG4uY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICBsZWZ0OiAtMi4yNXJlbTtcXG4gIHdpZHRoOiAxLjc1cmVtO1xcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuXFxuLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XFxuICB0b3A6IGNhbGMoMC4yNXJlbSArIDJweCk7XFxuICBsZWZ0OiBjYWxjKC0yLjI1cmVtICsgMnB4KTtcXG4gIHdpZHRoOiBjYWxjKDFyZW0gLSA0cHgpO1xcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gLSA0cHgpO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dCwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQ7XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dDtcXG59XFxuXFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgICB0cmFuc2l0aW9uOiBub25lO1xcbiAgfVxcbn1cXG5cXG4uY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNzVyZW0pO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNzVyZW0pO1xcbn1cXG5cXG4uY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7XFxufVxcblxcbi5jdXN0b20tc2VsZWN0IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XFxuICBwYWRkaW5nOiAwLjM3NXJlbSAxLjc1cmVtIDAuMzc1cmVtIDAuNzVyZW07XFxuICBmb250LXNpemU6IDFyZW07XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGNvbG9yOiAjNDk1MDU3O1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIGJhY2tncm91bmQ6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2VcXFwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICBhcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4uY3VzdG9tLXNlbGVjdDpmb2N1cyB7XFxuICBib3JkZXItY29sb3I6ICM4MGJkZmY7XFxuICBvdXRsaW5lOiAwO1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xcbn1cXG5cXG4uY3VzdG9tLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcXG4gIGNvbG9yOiAjNDk1MDU3O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG59XFxuXFxuLmN1c3RvbS1zZWxlY3RbbXVsdGlwbGVdLCAuY3VzdG9tLXNlbGVjdFtzaXplXTpub3QoW3NpemU9XFxcIjFcXFwiXSkge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxufVxcblxcbi5jdXN0b20tc2VsZWN0OmRpc2FibGVkIHtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG59XFxuXFxuLmN1c3RvbS1zZWxlY3Q6Oi1tcy1leHBhbmQge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLmN1c3RvbS1zZWxlY3Qtc20ge1xcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC41cmVtICsgMnB4KTtcXG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XFxuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxufVxcblxcbi5jdXN0b20tc2VsZWN0LWxnIHtcXG4gIGhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyAycHgpO1xcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxufVxcblxcbi5jdXN0b20tZmlsZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuLmN1c3RvbS1maWxlLWlucHV0IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHotaW5kZXg6IDI7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xcbiAgbWFyZ2luOiAwO1xcbiAgb3BhY2l0eTogMDtcXG59XFxuXFxuLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcXG4gIGJvcmRlci1jb2xvcjogIzgwYmRmZjtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcXG59XFxuXFxuLmN1c3RvbS1maWxlLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxufVxcblxcbi5jdXN0b20tZmlsZS1pbnB1dDpsYW5nKGVuKSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIkJyb3dzZVxcXCI7XFxufVxcblxcbi5jdXN0b20tZmlsZS1pbnB1dCB+IC5jdXN0b20tZmlsZS1sYWJlbFtkYXRhLWJyb3dzZV06OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xcbn1cXG5cXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbiAgei1pbmRleDogMTtcXG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBib3R0b206IDA7XFxuICB6LWluZGV4OiAzO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcXG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICBjb250ZW50OiBcXFwiQnJvd3NlXFxcIjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxuICBib3JkZXItbGVmdDogaW5oZXJpdDtcXG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwLjI1cmVtIDA7XFxufVxcblxcbi5jdXN0b20tcmFuZ2Uge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGNhbGMoMXJlbSArIDAuNHJlbSk7XFxuICBwYWRkaW5nOiAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICBhcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4uY3VzdG9tLXJhbmdlOmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxufVxcblxcbi5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XFxufVxcblxcbi5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdGh1bWIge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcXG59XFxuXFxuLmN1c3RvbS1yYW5nZTpmb2N1czo6LW1zLXRodW1iIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XFxufVxcblxcbi5jdXN0b20tcmFuZ2U6Oi1tb3otZm9jdXMtb3V0ZXIge1xcbiAgYm9yZGVyOiAwO1xcbn1cXG5cXG4uY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XFxuICB3aWR0aDogMXJlbTtcXG4gIGhlaWdodDogMXJlbTtcXG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG4gIGJvcmRlcjogMDtcXG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XFxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICBhcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xcbiAgICB0cmFuc2l0aW9uOiBub25lO1xcbiAgfVxcbn1cXG5cXG4uY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYjphY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDdmZjtcXG59XFxuXFxuLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDAuNXJlbTtcXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7XFxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcXG59XFxuXFxuLmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XFxuICB3aWR0aDogMXJlbTtcXG4gIGhlaWdodDogMXJlbTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICBib3JkZXI6IDA7XFxuICBib3JkZXItcmFkaXVzOiAxcmVtO1xcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xcbiAgICB0cmFuc2l0aW9uOiBub25lO1xcbiAgfVxcbn1cXG5cXG4uY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmO1xcbn1cXG5cXG4uY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAwLjVyZW07XFxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2O1xcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XFxufVxcblxcbi5jdXN0b20tcmFuZ2U6Oi1tcy10aHVtYiB7XFxuICB3aWR0aDogMXJlbTtcXG4gIGhlaWdodDogMXJlbTtcXG4gIG1hcmdpbi10b3A6IDA7XFxuICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTtcXG4gIG1hcmdpbi1sZWZ0OiAwLjJyZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xcbiAgYm9yZGVyOiAwO1xcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcXG4gIGFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuY3VzdG9tLXJhbmdlOjotbXMtdGh1bWIge1xcbiAgICB0cmFuc2l0aW9uOiBub25lO1xcbiAgfVxcbn1cXG5cXG4uY3VzdG9tLXJhbmdlOjotbXMtdGh1bWI6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZmY7XFxufVxcblxcbi5jdXN0b20tcmFuZ2U6Oi1tcy10cmFjayB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMC41cmVtO1xcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XFxufVxcblxcbi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLWxvd2VyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7XFxuICBib3JkZXItcmFkaXVzOiAxcmVtO1xcbn1cXG5cXG4uY3VzdG9tLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XFxuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2O1xcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcXG59XFxuXFxuLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcXG59XFxuXFxuLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4uY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbW96LXJhbmdlLXRodW1iIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7XFxufVxcblxcbi5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdHJhY2sge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4uY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbXMtdGh1bWIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcXG59XFxuXFxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXFxuLmN1c3RvbS1maWxlLWxhYmVsLFxcbi5jdXN0b20tc2VsZWN0IHtcXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcXG59XFxuXFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxcbiAgLmN1c3RvbS1maWxlLWxhYmVsLFxcbiAgLmN1c3RvbS1zZWxlY3Qge1xcbiAgICB0cmFuc2l0aW9uOiBub25lO1xcbiAgfVxcbn1cXG5cXG4ubmF2IHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG59XFxuXFxuLm5hdi1saW5rIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XFxufVxcblxcbi5uYXYtbGluazpob3ZlciwgLm5hdi1saW5rOmZvY3VzIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuLm5hdi1saW5rLmRpc2FibGVkIHtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi5uYXYtdGFicyB7XFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZTJlNjtcXG59XFxuXFxuLm5hdi10YWJzIC5uYXYtaXRlbSB7XFxuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xcbn1cXG5cXG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4ubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVyLCAubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzIHtcXG4gIGJvcmRlci1jb2xvcjogI2U5ZWNlZiAjZTllY2VmICNkZWUyZTY7XFxufVxcblxcbi5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWQge1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcblxcbi5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlLFxcbi5uYXYtdGFicyAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2ICNkZWUyZTYgI2ZmZjtcXG59XFxuXFxuLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcXG4gIG1hcmdpbi10b3A6IC0xcHg7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XFxufVxcblxcbi5uYXYtcGlsbHMgLm5hdi1saW5rIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZSxcXG4ubmF2LXBpbGxzIC5zaG93ID4gLm5hdi1saW5rIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG59XFxuXFxuLm5hdi1maWxsIC5uYXYtaXRlbSB7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuXFxuLm5hdi1qdXN0aWZpZWQgLm5hdi1pdGVtIHtcXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgZmxleC1iYXNpczogMDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xcbiAgZmxleC1ncm93OiAxO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG5cXG4udGFiLWNvbnRlbnQgPiAudGFiLXBhbmUge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLnRhYi1jb250ZW50ID4gLmFjdGl2ZSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLm5hdmJhciB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC13cmFwOiB3cmFwO1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XFxufVxcblxcbi5uYXZiYXIgPiAuY29udGFpbmVyLFxcbi5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcblxcbi5uYXZiYXItYnJhbmQge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XFxuICBtYXJnaW4tcmlnaHQ6IDFyZW07XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxufVxcblxcbi5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4ubmF2YmFyLW5hdiB7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG59XFxuXFxuLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDA7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxufVxcblxcbi5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcXG4gIHBvc2l0aW9uOiBzdGF0aWM7XFxuICBmbG9hdDogbm9uZTtcXG59XFxuXFxuLm5hdmJhci10ZXh0IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xcbn1cXG5cXG4ubmF2YmFyLWNvbGxhcHNlIHtcXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xcbiAgZmxleC1iYXNpczogMTAwJTtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xcbiAgZmxleC1ncm93OiAxO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcblxcbi5uYXZiYXItdG9nZ2xlciB7XFxuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4ubmF2YmFyLXRvZ2dsZXI6aG92ZXIsIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAxLjVlbTtcXG4gIGhlaWdodDogMS41ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lcixcXG4gIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1mbHVpZCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAubmF2YmFyLWV4cGFuZC1zbSB7XFxuICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcXG4gIH1cXG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IHtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIH1cXG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIsXFxuICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgfVxcbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1jb2xsYXBzZSB7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87XFxuICAgIGZsZXgtYmFzaXM6IGF1dG87XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLXRvZ2dsZXIge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lcixcXG4gIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1mbHVpZCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAubmF2YmFyLWV4cGFuZC1tZCB7XFxuICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcXG4gIH1cXG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IHtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIH1cXG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIsXFxuICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgfVxcbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1jb2xsYXBzZSB7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87XFxuICAgIGZsZXgtYmFzaXM6IGF1dG87XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLXRvZ2dsZXIge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lcixcXG4gIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1mbHVpZCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAubmF2YmFyLWV4cGFuZC1sZyB7XFxuICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcXG4gIH1cXG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IHtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIH1cXG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIsXFxuICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgfVxcbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87XFxuICAgIGZsZXgtYmFzaXM6IGF1dG87XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXIge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XFxuICAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIsXFxuICAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLXhsIHtcXG4gICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xcbiAgfVxcbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYge1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIH1cXG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgfVxcbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcXG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcXG4gIH1cXG4gIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lcixcXG4gIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1mbHVpZCB7XFxuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgZmxleC13cmFwOiBub3dyYXA7XFxuICB9XFxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNlIHtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bztcXG4gICAgZmxleC1iYXNpczogYXV0bztcXG4gIH1cXG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItdG9nZ2xlciB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxuICB9XFxufVxcblxcbi5uYXZiYXItZXhwYW5kIHtcXG4gIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcXG59XFxuXFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLFxcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1mbHVpZCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbn1cXG5cXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiB7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxufVxcblxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuXFxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcXG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xcbn1cXG5cXG4ubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXIsXFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gIGZsZXgtd3JhcDogbm93cmFwO1xcbn1cXG5cXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLWNvbGxhcHNlIHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XFxuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bztcXG4gIGZsZXgtYmFzaXM6IGF1dG87XFxufVxcblxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlciB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcXG59XFxuXFxuLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcXG59XFxuXFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG59XFxuXFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XFxufVxcblxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XFxufVxcblxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csXFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XFxufVxcblxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyIHtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcXG59XFxuXFxuLm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9J3JnYmEoMCwgMCwgMCwgMC41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcXFwiKTtcXG59XFxuXFxuLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG59XFxuXFxuLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYSB7XFxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xcbn1cXG5cXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmhvdmVyLCAubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XFxufVxcblxcbi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kIHtcXG4gIGNvbG9yOiAjZmZmO1xcbn1cXG5cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xcbiAgY29sb3I6ICNmZmY7XFxufVxcblxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcXG59XFxuXFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cyB7XFxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcXG59XFxuXFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7XFxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcXG59XFxuXFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XFxuICBjb2xvcjogI2ZmZjtcXG59XFxuXFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciB7XFxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XFxufVxcblxcbi5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcXFwiKTtcXG59XFxuXFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCB7XFxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xcbn1cXG5cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGEge1xcbiAgY29sb3I6ICNmZmY7XFxufVxcblxcbi5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcXG4gIGNvbG9yOiAjZmZmO1xcbn1cXG5cXG4uY2FyZCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtaW4td2lkdGg6IDA7XFxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4uY2FyZCA+IGhyIHtcXG4gIG1hcmdpbi1yaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwO1xcbn1cXG5cXG4uY2FyZCA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4uY2FyZCA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcXG59XFxuXFxuLmNhcmQtYm9keSB7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIHBhZGRpbmc6IDEuMjVyZW07XFxufVxcblxcbi5jYXJkLXRpdGxlIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XFxufVxcblxcbi5jYXJkLXN1YnRpdGxlIHtcXG4gIG1hcmdpbi10b3A6IC0wLjM3NXJlbTtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxufVxcblxcbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG5cXG4uY2FyZC1saW5rOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XFxufVxcblxcbi5jYXJkLWhlYWRlciB7XFxuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcXG59XFxuXFxuLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHtcXG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCkgY2FsYygwLjI1cmVtIC0gMXB4KSAwIDA7XFxufVxcblxcbi5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xcbiAgYm9yZGVyLXRvcDogMDtcXG59XFxuXFxuLmNhcmQtZm9vdGVyIHtcXG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XFxuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XFxufVxcblxcbi5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAgMCBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCk7XFxufVxcblxcbi5jYXJkLWhlYWRlci10YWJzIHtcXG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07XFxuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbTogMDtcXG59XFxuXFxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcXG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcXG59XFxuXFxuLmNhcmQtaW1nLW92ZXJsYXkge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBib3R0b206IDA7XFxuICBsZWZ0OiAwO1xcbiAgcGFkZGluZzogMS4yNXJlbTtcXG59XFxuXFxuLmNhcmQtaW1nIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcXG59XFxuXFxuLmNhcmQtaW1nLXRvcCB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcXG59XFxuXFxuLmNhcmQtaW1nLWJvdHRvbSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcXG59XFxuXFxuLmNhcmQtZGVjayB7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxufVxcblxcbi5jYXJkLWRlY2sgLmNhcmQge1xcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAuY2FyZC1kZWNrIHtcXG4gICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XFxuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcXG4gIH1cXG4gIC5jYXJkLWRlY2sgLmNhcmQge1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLW1zLWZsZXg6IDEgMCAwJTtcXG4gICAgZmxleDogMSAwIDAlO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcXG4gIH1cXG59XFxuXFxuLmNhcmQtZ3JvdXAge1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbn1cXG5cXG4uY2FyZC1ncm91cCA+IC5jYXJkIHtcXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmNhcmQtZ3JvdXAge1xcbiAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcXG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcXG4gIH1cXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQge1xcbiAgICAtbXMtZmxleDogMSAwIDAlO1xcbiAgICBmbGV4OiAxIDAgMCU7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICB9XFxuICAuY2FyZC1ncm91cCA+IC5jYXJkICsgLmNhcmQge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7XFxuICB9XFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICB9XFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLXRvcCxcXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1oZWFkZXIge1xcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gIH1cXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLFxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWZvb3RlciB7XFxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xcbiAgfVxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxuICB9XFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWhlYWRlciB7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICB9XFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sXFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWZvb3RlciB7XFxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxuICB9XFxufVxcblxcbi5jYXJkLWNvbHVtbnMgLmNhcmQge1xcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAuY2FyZC1jb2x1bW5zIHtcXG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XFxuICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xcbiAgICBjb2x1bW4tY291bnQ6IDM7XFxuICAgIC13ZWJraXQtY29sdW1uLWdhcDogMS4yNXJlbTtcXG4gICAgLW1vei1jb2x1bW4tZ2FwOiAxLjI1cmVtO1xcbiAgICBjb2x1bW4tZ2FwOiAxLjI1cmVtO1xcbiAgICBvcnBoYW5zOiAxO1xcbiAgICB3aWRvd3M6IDE7XFxuICB9XFxuICAuY2FyZC1jb2x1bW5zIC5jYXJkIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gIH1cXG59XFxuXFxuLmFjY29yZGlvbiA+IC5jYXJkIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi5hY2NvcmRpb24gPiAuY2FyZDpub3QoOmZpcnN0LW9mLXR5cGUpIC5jYXJkLWhlYWRlcjpmaXJzdC1jaGlsZCB7XFxuICBib3JkZXItcmFkaXVzOiAwO1xcbn1cXG5cXG4uYWNjb3JkaW9uID4gLmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xcbiAgYm9yZGVyLWJvdHRvbTogMDtcXG4gIGJvcmRlci1yYWRpdXM6IDA7XFxufVxcblxcbi5hY2NvcmRpb24gPiAuY2FyZDpmaXJzdC1vZi10eXBlIHtcXG4gIGJvcmRlci1ib3R0b206IDA7XFxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxufVxcblxcbi5hY2NvcmRpb24gPiAuY2FyZDpsYXN0LW9mLXR5cGUge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbn1cXG5cXG4uYWNjb3JkaW9uID4gLmNhcmQgLmNhcmQtaGVhZGVyIHtcXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XFxufVxcblxcbi5icmVhZGNydW1iIHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbSB7XFxuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcXG59XFxuXFxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XFxuICBjb2xvcjogIzZjNzU3ZDtcXG4gIGNvbnRlbnQ6IFxcXCIvXFxcIjtcXG59XFxuXFxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG59XFxuXFxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbi5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbn1cXG5cXG4ucGFnaW5hdGlvbiB7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG59XFxuXFxuLnBhZ2UtbGluayB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICBsaW5lLWhlaWdodDogMS4yNTtcXG4gIGNvbG9yOiAjMDA3YmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XFxufVxcblxcbi5wYWdlLWxpbms6aG92ZXIge1xcbiAgei1pbmRleDogMjtcXG4gIGNvbG9yOiAjMDA1NmIzO1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG4gIGJvcmRlci1jb2xvcjogI2RlZTJlNjtcXG59XFxuXFxuLnBhZ2UtbGluazpmb2N1cyB7XFxuICB6LWluZGV4OiAyO1xcbiAgb3V0bGluZTogMDtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcXG59XFxuXFxuLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcXG4gIG1hcmdpbi1sZWZ0OiAwO1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xcbiAgei1pbmRleDogMTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcXG59XFxuXFxuLnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5rIHtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBjdXJzb3I6IGF1dG87XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xcbn1cXG5cXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcXG4gIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG59XFxuXFxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuM3JlbTtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuM3JlbTtcXG59XFxuXFxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuM3JlbTtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjNyZW07XFxufVxcblxcbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG59XFxuXFxuLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMnJlbTtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMnJlbTtcXG59XFxuXFxuLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMnJlbTtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjJyZW07XFxufVxcblxcbi5iYWRnZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwYWRkaW5nOiAwLjI1ZW0gMC40ZW07XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcXG59XFxuXFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5iYWRnZSB7XFxuICAgIHRyYW5zaXRpb246IG5vbmU7XFxuICB9XFxufVxcblxcbmEuYmFkZ2U6aG92ZXIsIGEuYmFkZ2U6Zm9jdXMge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4uYmFkZ2U6ZW1wdHkge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLmJ0biAuYmFkZ2Uge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdG9wOiAtMXB4O1xcbn1cXG5cXG4uYmFkZ2UtcGlsbCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTtcXG4gIHBhZGRpbmctbGVmdDogMC42ZW07XFxuICBib3JkZXItcmFkaXVzOiAxMHJlbTtcXG59XFxuXFxuLmJhZGdlLXByaW1hcnkge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xcbn1cXG5cXG5hLmJhZGdlLXByaW1hcnk6aG92ZXIsIGEuYmFkZ2UtcHJpbWFyeTpmb2N1cyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYyY2M7XFxufVxcblxcbmEuYmFkZ2UtcHJpbWFyeTpmb2N1cywgYS5iYWRnZS1wcmltYXJ5LmZvY3VzIHtcXG4gIG91dGxpbmU6IDA7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcXG59XFxuXFxuLmJhZGdlLXNlY29uZGFyeSB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XFxufVxcblxcbmEuYmFkZ2Utc2Vjb25kYXJ5OmhvdmVyLCBhLmJhZGdlLXNlY29uZGFyeTpmb2N1cyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjI7XFxufVxcblxcbmEuYmFkZ2Utc2Vjb25kYXJ5OmZvY3VzLCBhLmJhZGdlLXNlY29uZGFyeS5mb2N1cyB7XFxuICBvdXRsaW5lOiAwO1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTtcXG59XFxuXFxuLmJhZGdlLXN1Y2Nlc3Mge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xcbn1cXG5cXG5hLmJhZGdlLXN1Y2Nlc3M6aG92ZXIsIGEuYmFkZ2Utc3VjY2Vzczpmb2N1cyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQ7XFxufVxcblxcbmEuYmFkZ2Utc3VjY2Vzczpmb2N1cywgYS5iYWRnZS1zdWNjZXNzLmZvY3VzIHtcXG4gIG91dGxpbmU6IDA7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC41KTtcXG59XFxuXFxuLmJhZGdlLWluZm8ge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xcbn1cXG5cXG5hLmJhZGdlLWluZm86aG92ZXIsIGEuYmFkZ2UtaW5mbzpmb2N1cyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTdhOGI7XFxufVxcblxcbmEuYmFkZ2UtaW5mbzpmb2N1cywgYS5iYWRnZS1pbmZvLmZvY3VzIHtcXG4gIG91dGxpbmU6IDA7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7XFxufVxcblxcbi5iYWRnZS13YXJuaW5nIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcXG59XFxuXFxuYS5iYWRnZS13YXJuaW5nOmhvdmVyLCBhLmJhZGdlLXdhcm5pbmc6Zm9jdXMge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwO1xcbn1cXG5cXG5hLmJhZGdlLXdhcm5pbmc6Zm9jdXMsIGEuYmFkZ2Utd2FybmluZy5mb2N1cyB7XFxuICBvdXRsaW5lOiAwO1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7XFxufVxcblxcbi5iYWRnZS1kYW5nZXIge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xcbn1cXG5cXG5hLmJhZGdlLWRhbmdlcjpob3ZlciwgYS5iYWRnZS1kYW5nZXI6Zm9jdXMge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwO1xcbn1cXG5cXG5hLmJhZGdlLWRhbmdlcjpmb2N1cywgYS5iYWRnZS1kYW5nZXIuZm9jdXMge1xcbiAgb3V0bGluZTogMDtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpO1xcbn1cXG5cXG4uYmFkZ2UtbGlnaHQge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xcbn1cXG5cXG5hLmJhZGdlLWxpZ2h0OmhvdmVyLCBhLmJhZGdlLWxpZ2h0OmZvY3VzIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTtcXG59XFxuXFxuYS5iYWRnZS1saWdodDpmb2N1cywgYS5iYWRnZS1saWdodC5mb2N1cyB7XFxuICBvdXRsaW5lOiAwO1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTtcXG59XFxuXFxuLmJhZGdlLWRhcmsge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xcbn1cXG5cXG5hLmJhZGdlLWRhcms6aG92ZXIsIGEuYmFkZ2UtZGFyazpmb2N1cyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQ7XFxufVxcblxcbmEuYmFkZ2UtZGFyazpmb2N1cywgYS5iYWRnZS1kYXJrLmZvY3VzIHtcXG4gIG91dGxpbmU6IDA7XFxuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xcbn1cXG5cXG4uanVtYm90cm9uIHtcXG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gIC5qdW1ib3Ryb24ge1xcbiAgICBwYWRkaW5nOiA0cmVtIDJyZW07XFxuICB9XFxufVxcblxcbi5qdW1ib3Ryb24tZmx1aWQge1xcbiAgcGFkZGluZy1yaWdodDogMDtcXG4gIHBhZGRpbmctbGVmdDogMDtcXG4gIGJvcmRlci1yYWRpdXM6IDA7XFxufVxcblxcbi5hbGVydCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4uYWxlcnQtaGVhZGluZyB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG59XFxuXFxuLmFsZXJ0LWxpbmsge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuXFxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDRyZW07XFxufVxcblxcbi5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2Uge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XFxuICBjb2xvcjogaW5oZXJpdDtcXG59XFxuXFxuLmFsZXJ0LXByaW1hcnkge1xcbiAgY29sb3I6ICMwMDQwODU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlNWZmO1xcbiAgYm9yZGVyLWNvbG9yOiAjYjhkYWZmO1xcbn1cXG5cXG4uYWxlcnQtcHJpbWFyeSBociB7XFxuICBib3JkZXItdG9wLWNvbG9yOiAjOWZjZGZmO1xcbn1cXG5cXG4uYWxlcnQtcHJpbWFyeSAuYWxlcnQtbGluayB7XFxuICBjb2xvcjogIzAwMjc1MjtcXG59XFxuXFxuLmFsZXJ0LXNlY29uZGFyeSB7XFxuICBjb2xvcjogIzM4M2Q0MTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmUzZTU7XFxuICBib3JkZXItY29sb3I6ICNkNmQ4ZGI7XFxufVxcblxcbi5hbGVydC1zZWNvbmRhcnkgaHIge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2M4Y2JjZjtcXG59XFxuXFxuLmFsZXJ0LXNlY29uZGFyeSAuYWxlcnQtbGluayB7XFxuICBjb2xvcjogIzIwMjMyNjtcXG59XFxuXFxuLmFsZXJ0LXN1Y2Nlc3Mge1xcbiAgY29sb3I6ICMxNTU3MjQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRlZGRhO1xcbiAgYm9yZGVyLWNvbG9yOiAjYzNlNmNiO1xcbn1cXG5cXG4uYWxlcnQtc3VjY2VzcyBociB7XFxuICBib3JkZXItdG9wLWNvbG9yOiAjYjFkZmJiO1xcbn1cXG5cXG4uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7XFxuICBjb2xvcjogIzBiMmUxMztcXG59XFxuXFxuLmFsZXJ0LWluZm8ge1xcbiAgY29sb3I6ICMwYzU0NjA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlY2YxO1xcbiAgYm9yZGVyLWNvbG9yOiAjYmVlNWViO1xcbn1cXG5cXG4uYWxlcnQtaW5mbyBociB7XFxuICBib3JkZXItdG9wLWNvbG9yOiAjYWJkZGU1O1xcbn1cXG5cXG4uYWxlcnQtaW5mbyAuYWxlcnQtbGluayB7XFxuICBjb2xvcjogIzA2MmMzMztcXG59XFxuXFxuLmFsZXJ0LXdhcm5pbmcge1xcbiAgY29sb3I6ICM4NTY0MDQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2NkO1xcbiAgYm9yZGVyLWNvbG9yOiAjZmZlZWJhO1xcbn1cXG5cXG4uYWxlcnQtd2FybmluZyBociB7XFxuICBib3JkZXItdG9wLWNvbG9yOiAjZmZlOGExO1xcbn1cXG5cXG4uYWxlcnQtd2FybmluZyAuYWxlcnQtbGluayB7XFxuICBjb2xvcjogIzUzM2YwMztcXG59XFxuXFxuLmFsZXJ0LWRhbmdlciB7XFxuICBjb2xvcjogIzcyMWMyNDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGE7XFxuICBib3JkZXItY29sb3I6ICNmNWM2Y2I7XFxufVxcblxcbi5hbGVydC1kYW5nZXIgaHIge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2YxYjBiNztcXG59XFxuXFxuLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7XFxuICBjb2xvcjogIzQ5MTIxNztcXG59XFxuXFxuLmFsZXJ0LWxpZ2h0IHtcXG4gIGNvbG9yOiAjODE4MTgyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcXG4gIGJvcmRlci1jb2xvcjogI2ZkZmRmZTtcXG59XFxuXFxuLmFsZXJ0LWxpZ2h0IGhyIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNlY2VjZjY7XFxufVxcblxcbi5hbGVydC1saWdodCAuYWxlcnQtbGluayB7XFxuICBjb2xvcjogIzY4Njg2ODtcXG59XFxuXFxuLmFsZXJ0LWRhcmsge1xcbiAgY29sb3I6ICMxYjFlMjE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGQ5O1xcbiAgYm9yZGVyLWNvbG9yOiAjYzZjOGNhO1xcbn1cXG5cXG4uYWxlcnQtZGFyayBociB7XFxuICBib3JkZXItdG9wLWNvbG9yOiAjYjliYmJlO1xcbn1cXG5cXG4uYWxlcnQtZGFyayAuYWxlcnQtbGluayB7XFxuICBjb2xvcjogIzA0MDUwNTtcXG59XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcXG4gIGZyb20ge1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcmVtIDA7XFxuICB9XFxuICB0byB7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcXG4gIH1cXG59XFxuXFxuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XFxuICBmcm9tIHtcXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMXJlbSAwO1xcbiAgfVxcbiAgdG8ge1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XFxuICB9XFxufVxcblxcbi5wcm9ncmVzcyB7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IDFyZW07XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi5wcm9ncmVzcy1iYXIge1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBjb2xvcjogI2ZmZjtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xcbn1cXG5cXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgLnByb2dyZXNzLWJhciB7XFxuICAgIHRyYW5zaXRpb246IG5vbmU7XFxuICB9XFxufVxcblxcbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcXG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xcbn1cXG5cXG4ucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAxcyBsaW5lYXIgaW5maW5pdGU7XFxuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDFzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuXFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZTtcXG4gICAgYW5pbWF0aW9uOiBub25lO1xcbiAgfVxcbn1cXG5cXG4ubWVkaWEge1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxufVxcblxcbi5tZWRpYS1ib2R5IHtcXG4gIC1tcy1mbGV4OiAxO1xcbiAgZmxleDogMTtcXG59XFxuXFxuLmxpc3QtZ3JvdXAge1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBjb2xvcjogIzQ5NTA1NztcXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XFxufVxcblxcbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XFxuICB6LWluZGV4OiAxO1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xcbn1cXG5cXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjphY3RpdmUge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbn1cXG5cXG4ubGlzdC1ncm91cC1pdGVtIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XFxufVxcblxcbi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkLCAubGlzdC1ncm91cC1pdGVtOmRpc2FibGVkIHtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbn1cXG5cXG4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XFxuICB6LWluZGV4OiAyO1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xcbiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xcbn1cXG5cXG4ubGlzdC1ncm91cC1ob3Jpem9udGFsIHtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCAubGlzdC1ncm91cC1pdGVtIHtcXG4gIG1hcmdpbi1yaWdodDogLTFweDtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxufVxcblxcbi5saXN0LWdyb3VwLWhvcml6b250YWwgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbn1cXG5cXG4ubGlzdC1ncm91cC1ob3Jpem9udGFsIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XFxuICBtYXJnaW4tcmlnaHQ6IDA7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIHtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICB9XFxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIC5saXN0LWdyb3VwLWl0ZW0ge1xcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICB9XFxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gIH1cXG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XFxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCB7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgfVxcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCAubGlzdC1ncm91cC1pdGVtIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgfVxcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XFxuICB9XFxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XFxuICAgIG1hcmdpbi1yaWdodDogMDtcXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XFxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcXG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcge1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIH1cXG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgLmxpc3QtZ3JvdXAtaXRlbSB7XFxuICAgIG1hcmdpbi1yaWdodDogLTFweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIH1cXG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XFxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbiAgfVxcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCB7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgfVxcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCAubGlzdC1ncm91cC1pdGVtIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgfVxcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XFxuICB9XFxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XFxuICAgIG1hcmdpbi1yaWdodDogMDtcXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XFxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbiAgfVxcbn1cXG5cXG4ubGlzdC1ncm91cC1mbHVzaCAubGlzdC1ncm91cC1pdGVtIHtcXG4gIGJvcmRlci1yaWdodDogMDtcXG4gIGJvcmRlci1sZWZ0OiAwO1xcbiAgYm9yZGVyLXJhZGl1czogMDtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtZmx1c2ggLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XFxufVxcblxcbi5saXN0LWdyb3VwLWZsdXNoOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xcbiAgYm9yZGVyLXRvcDogMDtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGJvcmRlci1ib3R0b206IDA7XFxufVxcblxcbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeSB7XFxuICBjb2xvcjogIzAwNDA4NTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGRhZmY7XFxufVxcblxcbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XFxuICBjb2xvcjogIzAwNDA4NTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7XFxufVxcblxcbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQwODU7XFxuICBib3JkZXItY29sb3I6ICMwMDQwODU7XFxufVxcblxcbi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5IHtcXG4gIGNvbG9yOiAjMzgzZDQxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkYjtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XFxuICBjb2xvcjogIzM4M2Q0MTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7XFxufVxcblxcbi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4M2Q0MTtcXG4gIGJvcmRlci1jb2xvcjogIzM4M2Q0MTtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcXG4gIGNvbG9yOiAjMTU1NzI0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MzZTZjYjtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gIGNvbG9yOiAjMTU1NzI0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1NTcyNDtcXG4gIGJvcmRlci1jb2xvcjogIzE1NTcyNDtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHtcXG4gIGNvbG9yOiAjMGM1NDYwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JlZTVlYjtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gIGNvbG9yOiAjMGM1NDYwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBjNTQ2MDtcXG4gIGJvcmRlci1jb2xvcjogIzBjNTQ2MDtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHtcXG4gIGNvbG9yOiAjODU2NDA0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWViYTtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gIGNvbG9yOiAjODU2NDA0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg1NjQwNDtcXG4gIGJvcmRlci1jb2xvcjogIzg1NjQwNDtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIge1xcbiAgY29sb3I6ICM3MjFjMjQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVjNmNiO1xcbn1cXG5cXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gIGNvbG9yOiAjNzIxYzI0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNztcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzIxYzI0O1xcbiAgYm9yZGVyLWNvbG9yOiAjNzIxYzI0O1xcbn1cXG5cXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0IHtcXG4gIGNvbG9yOiAjODE4MTgyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZTtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xcbiAgY29sb3I6ICM4MTgxODI7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2O1xcbn1cXG5cXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgxODE4MjtcXG4gIGJvcmRlci1jb2xvcjogIzgxODE4MjtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrIHtcXG4gIGNvbG9yOiAjMWIxZTIxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2YzhjYTtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gIGNvbG9yOiAjMWIxZTIxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTtcXG59XFxuXFxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWUyMTtcXG4gIGJvcmRlci1jb2xvcjogIzFiMWUyMTtcXG59XFxuXFxuLmNsb3NlIHtcXG4gIGZsb2F0OiByaWdodDtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxO1xcbiAgY29sb3I6ICMwMDA7XFxuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xcbiAgb3BhY2l0eTogLjU7XFxufVxcblxcbi5jbG9zZTpob3ZlciB7XFxuICBjb2xvcjogIzAwMDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmhvdmVyLCAuY2xvc2U6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMge1xcbiAgb3BhY2l0eTogLjc1O1xcbn1cXG5cXG5idXR0b24uY2xvc2Uge1xcbiAgcGFkZGluZzogMDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiAwO1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuYS5jbG9zZS5kaXNhYmxlZCB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuXFxuLnRvYXN0IHtcXG4gIG1heC13aWR0aDogMzUwcHg7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XFxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xcbiAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDAuNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpO1xcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XFxuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XFxuICBvcGFjaXR5OiAwO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG59XFxuXFxuLnRvYXN0Om5vdCg6bGFzdC1jaGlsZCkge1xcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcXG59XFxuXFxuLnRvYXN0LnNob3dpbmcge1xcbiAgb3BhY2l0eTogMTtcXG59XFxuXFxuLnRvYXN0LnNob3cge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG5cXG4udG9hc3QuaGlkZSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4udG9hc3QtaGVhZGVyIHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xcbn1cXG5cXG4udG9hc3QtYm9keSB7XFxuICBwYWRkaW5nOiAwLjc1cmVtO1xcbn1cXG5cXG4ubW9kYWwtb3BlbiB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4ubW9kYWwtb3BlbiAubW9kYWwge1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG59XFxuXFxuLm1vZGFsIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDUwO1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIG91dGxpbmU6IDA7XFxufVxcblxcbi5tb2RhbC1kaWFsb2cge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgd2lkdGg6IGF1dG87XFxuICBtYXJnaW46IDAuNXJlbTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbn1cXG5cXG4ubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcXG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTBweCk7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTBweCk7XFxufVxcblxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcXG4gICAgdHJhbnNpdGlvbjogbm9uZTtcXG4gIH1cXG59XFxuXFxuLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcXG4gIHRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xcbn1cXG5cXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWNvbnRlbnQge1xcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDFyZW0pO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1oZWFkZXIsXFxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1mb290ZXIge1xcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XFxuICBmbGV4LXNocmluazogMDtcXG59XFxuXFxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1ib2R5IHtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxufVxcblxcbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcXG59XFxuXFxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZDo6YmVmb3JlIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMXJlbSk7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG59XFxuXFxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuXFxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7XFxuICBtYXgtaGVpZ2h0OiBub25lO1xcbn1cXG5cXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlOjpiZWZvcmUge1xcbiAgY29udGVudDogbm9uZTtcXG59XFxuXFxuLm1vZGFsLWNvbnRlbnQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwb2ludGVyLWV2ZW50czogYXV0bztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xcbiAgb3V0bGluZTogMDtcXG59XFxuXFxuLm1vZGFsLWJhY2tkcm9wIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDQwO1xcbiAgd2lkdGg6IDEwMHZ3O1xcbiAgaGVpZ2h0OiAxMDB2aDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XFxufVxcblxcbi5tb2RhbC1iYWNrZHJvcC5mYWRlIHtcXG4gIG9wYWNpdHk6IDA7XFxufVxcblxcbi5tb2RhbC1iYWNrZHJvcC5zaG93IHtcXG4gIG9wYWNpdHk6IDAuNTtcXG59XFxuXFxuLm1vZGFsLWhlYWRlciB7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XFxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBwYWRkaW5nOiAxcmVtIDFyZW07XFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZTJlNjtcXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuM3JlbTtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjNyZW07XFxufVxcblxcbi5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcXG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcXG4gIG1hcmdpbjogLTFyZW0gLTFyZW0gLTFyZW0gYXV0bztcXG59XFxuXFxuLm1vZGFsLXRpdGxlIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbn1cXG5cXG4ubW9kYWwtYm9keSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIHBhZGRpbmc6IDFyZW07XFxufVxcblxcbi5tb2RhbC1mb290ZXIge1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgcGFkZGluZzogMXJlbTtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2O1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuM3JlbTtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuM3JlbTtcXG59XFxuXFxuLm1vZGFsLWZvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICBtYXJnaW4tbGVmdDogLjI1cmVtO1xcbn1cXG5cXG4ubW9kYWwtZm9vdGVyID4gOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgbWFyZ2luLXJpZ2h0OiAuMjVyZW07XFxufVxcblxcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IC05OTk5cHg7XFxuICB3aWR0aDogNTBweDtcXG4gIGhlaWdodDogNTBweDtcXG4gIG92ZXJmbG93OiBzY3JvbGw7XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLm1vZGFsLWRpYWxvZyB7XFxuICAgIG1heC13aWR0aDogNTAwcHg7XFxuICAgIG1hcmdpbjogMS43NXJlbSBhdXRvO1xcbiAgfVxcbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTtcXG4gIH1cXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7XFxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzLjVyZW0pO1xcbiAgfVxcbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XFxuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNXJlbSk7XFxuICB9XFxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkOjpiZWZvcmUge1xcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAzLjVyZW0pO1xcbiAgfVxcbiAgLm1vZGFsLXNtIHtcXG4gICAgbWF4LXdpZHRoOiAzMDBweDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAubW9kYWwtbGcsXFxuICAubW9kYWwteGwge1xcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XFxuICAubW9kYWwteGwge1xcbiAgICBtYXgtd2lkdGg6IDExNDBweDtcXG4gIH1cXG59XFxuXFxuLnRvb2x0aXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogMTA3MDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICB0ZXh0LWFsaWduOiBzdGFydDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIHRleHQtc2hhZG93OiBub25lO1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xcbiAgd29yZC1icmVhazogbm9ybWFsO1xcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XFxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xcbiAgbGluZS1icmVhazogYXV0bztcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XFxuICBvcGFjaXR5OiAwO1xcbn1cXG5cXG4udG9vbHRpcC5zaG93IHtcXG4gIG9wYWNpdHk6IDAuOTtcXG59XFxuXFxuLnRvb2x0aXAgLmFycm93IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDAuOHJlbTtcXG4gIGhlaWdodDogMC40cmVtO1xcbn1cXG5cXG4udG9vbHRpcCAuYXJyb3c6OmJlZm9yZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbn1cXG5cXG4uYnMtdG9vbHRpcC10b3AsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSB7XFxuICBwYWRkaW5nOiAwLjRyZW0gMDtcXG59XFxuXFxuLmJzLXRvb2x0aXAtdG9wIC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdyB7XFxuICBib3R0b206IDA7XFxufVxcblxcbi5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gIHRvcDogMDtcXG4gIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwO1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDtcXG59XFxuXFxuLmJzLXRvb2x0aXAtcmlnaHQsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIHtcXG4gIHBhZGRpbmc6IDAgMC40cmVtO1xcbn1cXG5cXG4uYnMtdG9vbHRpcC1yaWdodCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdyB7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDAuNHJlbTtcXG4gIGhlaWdodDogMC44cmVtO1xcbn1cXG5cXG4uYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgcmlnaHQ6IDA7XFxuICBib3JkZXItd2lkdGg6IDAuNHJlbSAwLjRyZW0gMC40cmVtIDA7XFxuICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7XFxufVxcblxcbi5icy10b29sdGlwLWJvdHRvbSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdIHtcXG4gIHBhZGRpbmc6IDAuNHJlbSAwO1xcbn1cXG5cXG4uYnMtdG9vbHRpcC1ib3R0b20gLmFycm93LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93IHtcXG4gIHRvcDogMDtcXG59XFxuXFxuLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm90dG9tOiAwO1xcbiAgYm9yZGVyLXdpZHRoOiAwIDAuNHJlbSAwLjRyZW07XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwO1xcbn1cXG5cXG4uYnMtdG9vbHRpcC1sZWZ0LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdIHtcXG4gIHBhZGRpbmc6IDAgMC40cmVtO1xcbn1cXG5cXG4uYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSAuYXJyb3cge1xcbiAgcmlnaHQ6IDA7XFxuICB3aWR0aDogMC40cmVtO1xcbiAgaGVpZ2h0OiAwLjhyZW07XFxufVxcblxcbi5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgbGVmdDogMDtcXG4gIGJvcmRlci13aWR0aDogMC40cmVtIDAgMC40cmVtIDAuNHJlbTtcXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwO1xcbn1cXG5cXG4udG9vbHRpcC1pbm5lciB7XFxuICBtYXgtd2lkdGg6IDIwMHB4O1xcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XFxuICBjb2xvcjogI2ZmZjtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4ucG9wb3ZlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgei1pbmRleDogMTA2MDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWF4LXdpZHRoOiAyNzZweDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICB0ZXh0LXNoYWRvdzogbm9uZTtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcXG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcXG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcXG4gIGxpbmUtYnJlYWs6IGF1dG87XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XFxuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XFxufVxcblxcbi5wb3BvdmVyIC5hcnJvdyB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxcmVtO1xcbiAgaGVpZ2h0OiAwLjVyZW07XFxuICBtYXJnaW46IDAgMC4zcmVtO1xcbn1cXG5cXG4ucG9wb3ZlciAuYXJyb3c6OmJlZm9yZSwgLnBvcG92ZXIgLmFycm93OjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XFxufVxcblxcbi5icy1wb3BvdmVyLXRvcCwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG59XFxuXFxuLmJzLXBvcG92ZXItdG9wID4gLmFycm93LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwidG9wXFxcIl0gPiAuYXJyb3cge1xcbiAgYm90dG9tOiBjYWxjKCgwLjVyZW0gKyAxcHgpICogLTEpO1xcbn1cXG5cXG4uYnMtcG9wb3Zlci10b3AgPiAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgYm90dG9tOiAwO1xcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XFxuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xcbn1cXG5cXG4uYnMtcG9wb3Zlci10b3AgPiAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwidG9wXFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvdHRvbTogMXB4O1xcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XFxuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xcbn1cXG5cXG4uYnMtcG9wb3Zlci1yaWdodCwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0ge1xcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcXG59XFxuXFxuLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdID4gLmFycm93IHtcXG4gIGxlZnQ6IGNhbGMoKDAuNXJlbSArIDFweCkgKiAtMSk7XFxuICB3aWR0aDogMC41cmVtO1xcbiAgaGVpZ2h0OiAxcmVtO1xcbiAgbWFyZ2luOiAwLjNyZW0gMDtcXG59XFxuXFxuLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XFxuICBsZWZ0OiAwO1xcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwO1xcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xcbn1cXG5cXG4uYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICBsZWZ0OiAxcHg7XFxuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7XFxuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XFxufVxcblxcbi5icy1wb3BvdmVyLWJvdHRvbSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdIHtcXG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcXG59XFxuXFxuLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gPiAuYXJyb3cge1xcbiAgdG9wOiBjYWxjKCgwLjVyZW0gKyAxcHgpICogLTEpO1xcbn1cXG5cXG4uYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgdG9wOiAwO1xcbiAgYm9yZGVyLXdpZHRoOiAwIDAuNXJlbSAwLjVyZW0gMC41cmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcXG59XFxuXFxuLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICB0b3A6IDFweDtcXG4gIGJvcmRlci13aWR0aDogMCAwLjVyZW0gMC41cmVtIDAuNXJlbTtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XFxufVxcblxcbi5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDUwJTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDFyZW07XFxuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmN2Y3Zjc7XFxufVxcblxcbi5icy1wb3BvdmVyLWxlZnQsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0ge1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XFxufVxcblxcbi5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gPiAuYXJyb3cge1xcbiAgcmlnaHQ6IGNhbGMoKDAuNXJlbSArIDFweCkgKiAtMSk7XFxuICB3aWR0aDogMC41cmVtO1xcbiAgaGVpZ2h0OiAxcmVtO1xcbiAgbWFyZ2luOiAwLjNyZW0gMDtcXG59XFxuXFxuLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgcmlnaHQ6IDA7XFxuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwIDAuNXJlbSAwLjVyZW07XFxuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcXG59XFxuXFxuLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIHJpZ2h0OiAxcHg7XFxuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwIDAuNXJlbSAwLjVyZW07XFxuICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcXG59XFxuXFxuLnBvcG92ZXItaGVhZGVyIHtcXG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7XFxufVxcblxcbi5wb3BvdmVyLWhlYWRlcjplbXB0eSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4ucG9wb3Zlci1ib2R5IHtcXG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxufVxcblxcbi5jYXJvdXNlbCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcblxcbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcXG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcXG59XFxuXFxuLmNhcm91c2VsLWlubmVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLmNhcm91c2VsLWlubmVyOjphZnRlciB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGNsZWFyOiBib3RoO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxufVxcblxcbi5jYXJvdXNlbC1pdGVtIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IG5vbmU7XFxuICBmbG9hdDogbGVmdDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0O1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XFxufVxcblxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuY2Fyb3VzZWwtaXRlbSB7XFxuICAgIHRyYW5zaXRpb246IG5vbmU7XFxuICB9XFxufVxcblxcbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcblxcbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcXG59XFxuXFxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XFxufVxcblxcbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtIHtcXG4gIG9wYWNpdHk6IDA7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XFxuICB0cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xcbiAgei1pbmRleDogMTtcXG4gIG9wYWNpdHk6IDE7XFxufVxcblxcbi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxcbi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XFxuICB6LWluZGV4OiAwO1xcbiAgb3BhY2l0eTogMDtcXG4gIHRyYW5zaXRpb246IDBzIDAuNnMgb3BhY2l0eTtcXG59XFxuXFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxcbiAgLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcXG4gICAgdHJhbnNpdGlvbjogbm9uZTtcXG4gIH1cXG59XFxuXFxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIHotaW5kZXg6IDE7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgd2lkdGg6IDE1JTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgb3BhY2l0eTogMC41O1xcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xcbn1cXG5cXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldixcXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xcbiAgICB0cmFuc2l0aW9uOiBub25lO1xcbiAgfVxcbn1cXG5cXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyLCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLFxcbi5jYXJvdXNlbC1jb250cm9sLW5leHQ6aG92ZXIsXFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpmb2N1cyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIG91dGxpbmU6IDA7XFxuICBvcGFjaXR5OiAwLjk7XFxufVxcblxcbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xcbiAgbGVmdDogMDtcXG59XFxuXFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XFxuICByaWdodDogMDtcXG59XFxuXFxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMjBweDtcXG4gIGhlaWdodDogMjBweDtcXG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAxMDAlIDEwMCU7XFxufVxcblxcbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM2UlM2Mvc3ZnJTNlXFxcIik7XFxufVxcblxcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM2UlM2Mvc3ZnJTNlXFxcIik7XFxufVxcblxcbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHJpZ2h0OiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIHotaW5kZXg6IDE1O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBtYXJnaW4tcmlnaHQ6IDE1JTtcXG4gIG1hcmdpbi1sZWZ0OiAxNSU7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbn1cXG5cXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaSB7XFxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gIC1tcy1mbGV4OiAwIDEgYXV0bztcXG4gIGZsZXg6IDAgMSBhdXRvO1xcbiAgd2lkdGg6IDMwcHg7XFxuICBoZWlnaHQ6IDNweDtcXG4gIG1hcmdpbi1yaWdodDogM3B4O1xcbiAgbWFyZ2luLWxlZnQ6IDNweDtcXG4gIHRleHQtaW5kZW50OiAtOTk5cHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcXG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3BhY2l0eTogLjU7XFxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZTtcXG59XFxuXFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcXG4gICAgdHJhbnNpdGlvbjogbm9uZTtcXG4gIH1cXG59XFxuXFxuLmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZSB7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG5cXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICByaWdodDogMTUlO1xcbiAgYm90dG9tOiAyMHB4O1xcbiAgbGVmdDogMTUlO1xcbiAgei1pbmRleDogMTA7XFxuICBwYWRkaW5nLXRvcDogMjBweDtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xcbiAgY29sb3I6ICNmZmY7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gIH1cXG59XFxuXFxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gIH1cXG59XFxuXFxuLnNwaW5uZXItYm9yZGVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAycmVtO1xcbiAgaGVpZ2h0OiAycmVtO1xcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xcbiAgYm9yZGVyOiAwLjI1ZW0gc29saWQgY3VycmVudENvbG9yO1xcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzcGlubmVyLWJvcmRlciAuNzVzIGxpbmVhciBpbmZpbml0ZTtcXG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XFxufVxcblxcbi5zcGlubmVyLWJvcmRlci1zbSB7XFxuICB3aWR0aDogMXJlbTtcXG4gIGhlaWdodDogMXJlbTtcXG4gIGJvcmRlci13aWR0aDogMC4yZW07XFxufVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xcbiAgMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XFxuICB9XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbn1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XFxuICAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcXG4gIH1cXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxufVxcblxcbi5zcGlubmVyLWdyb3cge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDJyZW07XFxuICBoZWlnaHQ6IDJyZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBvcGFjaXR5OiAwO1xcbiAgLXdlYmtpdC1hbmltYXRpb246IHNwaW5uZXItZ3JvdyAuNzVzIGxpbmVhciBpbmZpbml0ZTtcXG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ncm93IC43NXMgbGluZWFyIGluZmluaXRlO1xcbn1cXG5cXG4uc3Bpbm5lci1ncm93LXNtIHtcXG4gIHdpZHRoOiAxcmVtO1xcbiAgaGVpZ2h0OiAxcmVtO1xcbn1cXG5cXG4uYWxpZ24tYmFzZWxpbmUge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxufVxcblxcbi5hbGlnbi10b3Age1xcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYWxpZ24tbWlkZGxlIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcXG59XFxuXFxuLmFsaWduLWJvdHRvbSB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XFxufVxcblxcbi5hbGlnbi10ZXh0LWJvdHRvbSB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDtcXG59XFxuXFxuLmFsaWduLXRleHQtdG9wIHtcXG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYmctcHJpbWFyeSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQ7XFxufVxcblxcbmEuYmctcHJpbWFyeTpob3ZlciwgYS5iZy1wcmltYXJ5OmZvY3VzLFxcbmJ1dHRvbi5iZy1wcmltYXJ5OmhvdmVyLFxcbmJ1dHRvbi5iZy1wcmltYXJ5OmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYyY2MgIWltcG9ydGFudDtcXG59XFxuXFxuLmJnLXNlY29uZGFyeSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7XFxufVxcblxcbmEuYmctc2Vjb25kYXJ5OmhvdmVyLCBhLmJnLXNlY29uZGFyeTpmb2N1cyxcXG5idXR0b24uYmctc2Vjb25kYXJ5OmhvdmVyLFxcbmJ1dHRvbi5iZy1zZWNvbmRhcnk6Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NWI2MiAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYmctc3VjY2VzcyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7XFxufVxcblxcbmEuYmctc3VjY2Vzczpob3ZlciwgYS5iZy1zdWNjZXNzOmZvY3VzLFxcbmJ1dHRvbi5iZy1zdWNjZXNzOmhvdmVyLFxcbmJ1dHRvbi5iZy1zdWNjZXNzOmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQgIWltcG9ydGFudDtcXG59XFxuXFxuLmJnLWluZm8ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiOCAhaW1wb3J0YW50O1xcbn1cXG5cXG5hLmJnLWluZm86aG92ZXIsIGEuYmctaW5mbzpmb2N1cyxcXG5idXR0b24uYmctaW5mbzpob3ZlcixcXG5idXR0b24uYmctaW5mbzpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiICFpbXBvcnRhbnQ7XFxufVxcblxcbi5iZy13YXJuaW5nIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudDtcXG59XFxuXFxuYS5iZy13YXJuaW5nOmhvdmVyLCBhLmJnLXdhcm5pbmc6Zm9jdXMsXFxuYnV0dG9uLmJnLXdhcm5pbmc6aG92ZXIsXFxuYnV0dG9uLmJnLXdhcm5pbmc6Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYmctZGFuZ2VyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcXG59XFxuXFxuYS5iZy1kYW5nZXI6aG92ZXIsIGEuYmctZGFuZ2VyOmZvY3VzLFxcbmJ1dHRvbi5iZy1kYW5nZXI6aG92ZXIsXFxuYnV0dG9uLmJnLWRhbmdlcjpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwICFpbXBvcnRhbnQ7XFxufVxcblxcbi5iZy1saWdodCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7XFxufVxcblxcbmEuYmctbGlnaHQ6aG92ZXIsIGEuYmctbGlnaHQ6Zm9jdXMsXFxuYnV0dG9uLmJnLWxpZ2h0OmhvdmVyLFxcbmJ1dHRvbi5iZy1saWdodDpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5iZy1kYXJrIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudDtcXG59XFxuXFxuYS5iZy1kYXJrOmhvdmVyLCBhLmJnLWRhcms6Zm9jdXMsXFxuYnV0dG9uLmJnLWRhcms6aG92ZXIsXFxuYnV0dG9uLmJnLWRhcms6Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjEyNCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYmctd2hpdGUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYmctdHJhbnNwYXJlbnQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG59XFxuXFxuLmJvcmRlciB7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5ib3JkZXItdG9wIHtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5ib3JkZXItcmlnaHQge1xcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYm9yZGVyLWJvdHRvbSB7XFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYm9yZGVyLWxlZnQge1xcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5ib3JkZXItMCB7XFxuICBib3JkZXI6IDAgIWltcG9ydGFudDtcXG59XFxuXFxuLmJvcmRlci10b3AtMCB7XFxuICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XFxufVxcblxcbi5ib3JkZXItcmlnaHQtMCB7XFxuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcXG59XFxuXFxuLmJvcmRlci1ib3R0b20tMCB7XFxuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XFxufVxcblxcbi5ib3JkZXItbGVmdC0wIHtcXG4gIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7XFxufVxcblxcbi5ib3JkZXItcHJpbWFyeSB7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDtcXG59XFxuXFxuLmJvcmRlci1zZWNvbmRhcnkge1xcbiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7XFxufVxcblxcbi5ib3JkZXItc3VjY2VzcyB7XFxuICBib3JkZXItY29sb3I6ICMyOGE3NDUgIWltcG9ydGFudDtcXG59XFxuXFxuLmJvcmRlci1pbmZvIHtcXG4gIGJvcmRlci1jb2xvcjogIzE3YTJiOCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYm9yZGVyLXdhcm5pbmcge1xcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5ib3JkZXItZGFuZ2VyIHtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYm9yZGVyLWxpZ2h0IHtcXG4gIGJvcmRlci1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYm9yZGVyLWRhcmsge1xcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwICFpbXBvcnRhbnQ7XFxufVxcblxcbi5ib3JkZXItd2hpdGUge1xcbiAgYm9yZGVyLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XFxufVxcblxcbi5yb3VuZGVkLXNtIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucm91bmRlZCB7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5yb3VuZGVkLXRvcCB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucm91bmRlZC1yaWdodCB7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnJvdW5kZWQtYm90dG9tIHtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5yb3VuZGVkLWxlZnQge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjNyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnJvdW5kZWQtY2lyY2xlIHtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucm91bmRlZC1waWxsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDUwcmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5yb3VuZGVkLTAge1xcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uY2xlYXJmaXg6OmFmdGVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgY2xlYXI6IGJvdGg7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG59XFxuXFxuLmQtbm9uZSB7XFxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XFxufVxcblxcbi5kLWlubGluZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcXG59XFxuXFxuLmQtaW5saW5lLWJsb2NrIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZC1ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZC10YWJsZSB7XFxuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZC10YWJsZS1yb3cge1xcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5kLXRhYmxlLWNlbGwge1xcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZC1mbGV4IHtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5kLWlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAuZC1zbS1ub25lIHtcXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtc20taW5saW5lIHtcXG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1zbS1pbmxpbmUtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLXNtLWJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLXNtLXRhYmxlIHtcXG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLXNtLXRhYmxlLXJvdyB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtc20tdGFibGUtY2VsbCB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLXNtLWZsZXgge1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1zbS1pbmxpbmUtZmxleCB7XFxuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcXG4gIC5kLW1kLW5vbmUge1xcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1tZC1pbmxpbmUge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLW1kLWlubGluZS1ibG9jayB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtbWQtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtbWQtdGFibGUge1xcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtbWQtdGFibGUtcm93IHtcXG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1tZC10YWJsZS1jZWxsIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtbWQtZmxleCB7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLW1kLWlubGluZS1mbGV4IHtcXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgLmQtbGctbm9uZSB7XFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLWxnLWlubGluZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtbGctaW5saW5lLWJsb2NrIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1sZy1ibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1sZy10YWJsZSB7XFxuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1sZy10YWJsZS1yb3cge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLWxnLXRhYmxlLWNlbGwge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1sZy1mbGV4IHtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtbGctaW5saW5lLWZsZXgge1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xcbiAgLmQteGwtbm9uZSB7XFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLXhsLWlubGluZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQteGwtaW5saW5lLWJsb2NrIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC14bC1ibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC14bC10YWJsZSB7XFxuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC14bC10YWJsZS1yb3cge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLXhsLXRhYmxlLWNlbGwge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC14bC1mbGV4IHtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQteGwtaW5saW5lLWZsZXgge1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIHByaW50IHtcXG4gIC5kLXByaW50LW5vbmUge1xcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1wcmludC1pbmxpbmUge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLXByaW50LWlubGluZS1ibG9jayB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtcHJpbnQtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtcHJpbnQtdGFibGUge1xcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtcHJpbnQtdGFibGUtcm93IHtcXG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZC1wcmludC10YWJsZS1jZWxsIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmQtcHJpbnQtZmxleCB7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcXG4gIH1cXG4gIC5kLXByaW50LWlubGluZS1mbGV4IHtcXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XFxuICB9XFxufVxcblxcbi5lbWJlZC1yZXNwb25zaXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwYWRkaW5nOiAwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLmVtYmVkLXJlc3BvbnNpdmU6OmJlZm9yZSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbn1cXG5cXG4uZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxcbi5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSxcXG4uZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCxcXG4uZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXFxuLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW8ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYm9yZGVyOiAwO1xcbn1cXG5cXG4uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OTo6YmVmb3JlIHtcXG4gIHBhZGRpbmctdG9wOiA0Mi44NTcxNDMlO1xcbn1cXG5cXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OTo6YmVmb3JlIHtcXG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7XFxufVxcblxcbi5lbWJlZC1yZXNwb25zaXZlLTRieTM6OmJlZm9yZSB7XFxuICBwYWRkaW5nLXRvcDogNzUlO1xcbn1cXG5cXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxOjpiZWZvcmUge1xcbiAgcGFkZGluZy10b3A6IDEwMCU7XFxufVxcblxcbi5mbGV4LXJvdyB7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZmxleC1jb2x1bW4ge1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG59XFxuXFxuLmZsZXgtcm93LXJldmVyc2Uge1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XFxufVxcblxcbi5mbGV4LWNvbHVtbi1yZXZlcnNlIHtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZmxleC13cmFwIHtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcXG4gIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZmxleC1ub3dyYXAge1xcbiAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XFxuICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZmxleC13cmFwLXJldmVyc2Uge1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZmxleC1maWxsIHtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xcbiAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcXG59XFxuXFxuLmZsZXgtZ3Jvdy0wIHtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAwICFpbXBvcnRhbnQ7XFxuICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcXG59XFxuXFxuLmZsZXgtZ3Jvdy0xIHtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxICFpbXBvcnRhbnQ7XFxuICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcXG59XFxuXFxuLmZsZXgtc2hyaW5rLTAge1xcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDAgIWltcG9ydGFudDtcXG4gIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XFxufVxcblxcbi5mbGV4LXNocmluay0xIHtcXG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAxICFpbXBvcnRhbnQ7XFxuICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcXG4gIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcXG59XFxuXFxuLmp1c3RpZnktY29udGVudC1lbmQge1xcbiAgLW1zLWZsZXgtcGFjazogZW5kICFpbXBvcnRhbnQ7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XFxufVxcblxcbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcXG59XFxuXFxuLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xcbn1cXG5cXG4uanVzdGlmeS1jb250ZW50LWFyb3VuZCB7XFxuICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYWxpZ24taXRlbXMtc3RhcnQge1xcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYWxpZ24taXRlbXMtZW5kIHtcXG4gIC1tcy1mbGV4LWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYWxpZ24taXRlbXMtY2VudGVyIHtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcXG59XFxuXFxuLmFsaWduLWl0ZW1zLWJhc2VsaW5lIHtcXG4gIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxufVxcblxcbi5hbGlnbi1pdGVtcy1zdHJldGNoIHtcXG4gIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYWxpZ24tY29udGVudC1zdGFydCB7XFxuICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5hbGlnbi1jb250ZW50LWVuZCB7XFxuICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcXG59XFxuXFxuLmFsaWduLWNvbnRlbnQtY2VudGVyIHtcXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcXG59XFxuXFxuLmFsaWduLWNvbnRlbnQtYmV0d2VlbiB7XFxuICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcXG59XFxuXFxuLmFsaWduLWNvbnRlbnQtYXJvdW5kIHtcXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XFxufVxcblxcbi5hbGlnbi1jb250ZW50LXN0cmV0Y2gge1xcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XFxufVxcblxcbi5hbGlnbi1zZWxmLWF1dG8ge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYXV0byAhaW1wb3J0YW50O1xcbiAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYWxpZ24tc2VsZi1zdGFydCB7XFxuICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYWxpZ24tc2VsZi1lbmQge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYWxpZ24tc2VsZi1jZW50ZXIge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcXG59XFxuXFxuLmFsaWduLXNlbGYtYmFzZWxpbmUge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxufVxcblxcbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gIC5mbGV4LXNtLXJvdyB7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LXNtLWNvbHVtbiB7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LXNtLXJvdy1yZXZlcnNlIHtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LXNtLWNvbHVtbi1yZXZlcnNlIHtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LXNtLXdyYXAge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtc20tbm93cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1zbS13cmFwLXJldmVyc2Uge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LXNtLWZpbGwge1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcXG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LXNtLWdyb3ctMCB7XFxuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtc20tZ3Jvdy0xIHtcXG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgIWltcG9ydGFudDtcXG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1zbS1zaHJpbmstMCB7XFxuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1zbS1zaHJpbmstMSB7XFxuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuanVzdGlmeS1jb250ZW50LXNtLWVuZCB7XFxuICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuanVzdGlmeS1jb250ZW50LXNtLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmp1c3RpZnktY29udGVudC1zbS1iZXR3ZWVuIHtcXG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50O1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5kIHtcXG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWl0ZW1zLXNtLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24taXRlbXMtc20tZW5kIHtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1pdGVtcy1zbS1jZW50ZXIge1xcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1pdGVtcy1zbS1iYXNlbGluZSB7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1pdGVtcy1zbS1zdHJldGNoIHtcXG4gICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1jb250ZW50LXNtLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tY29udGVudC1zbS1lbmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWNvbnRlbnQtc20tY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tY29udGVudC1zbS1iZXR3ZWVuIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1jb250ZW50LXNtLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLXNlbGYtc20tYXV0byB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDtcXG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLXNlbGYtc20tc3RhcnQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tc2VsZi1zbS1lbmQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1zZWxmLXNtLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1zZWxmLXNtLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAuZmxleC1tZC1yb3cge1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1tZC1jb2x1bW4ge1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1tZC1yb3ctcmV2ZXJzZSB7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1tZC13cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LW1kLW5vd3JhcCB7XFxuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtbWQtd3JhcC1yZXZlcnNlIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1tZC1maWxsIHtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XFxuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1tZC1ncm93LTAge1xcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMCAhaW1wb3J0YW50O1xcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LW1kLWdyb3ctMSB7XFxuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtbWQtc2hyaW5rLTAge1xcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMCAhaW1wb3J0YW50O1xcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtbWQtc2hyaW5rLTEge1xcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMSAhaW1wb3J0YW50O1xcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmp1c3RpZnktY29udGVudC1tZC1zdGFydCB7XFxuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmp1c3RpZnktY29udGVudC1tZC1jZW50ZXIge1xcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYmV0d2VlbiB7XFxuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuanVzdGlmeS1jb250ZW50LW1kLWFyb3VuZCB7XFxuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWl0ZW1zLW1kLWVuZCB7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24taXRlbXMtbWQtYmFzZWxpbmUge1xcbiAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24taXRlbXMtbWQtc3RyZXRjaCB7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWNvbnRlbnQtbWQtZW5kIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1jb250ZW50LW1kLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWNvbnRlbnQtbWQtYmV0d2VlbiB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tY29udGVudC1tZC1hcm91bmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tY29udGVudC1tZC1zdHJldGNoIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1zZWxmLW1kLWF1dG8ge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1zZWxmLW1kLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLXNlbGYtbWQtZW5kIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tc2VsZi1tZC1jZW50ZXIge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tc2VsZi1tZC1iYXNlbGluZSB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tc2VsZi1tZC1zdHJldGNoIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgLmZsZXgtbGctcm93IHtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtbGctY29sdW1uIHtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtbGctcm93LXJldmVyc2Uge1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtbGctY29sdW1uLXJldmVyc2Uge1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtbGctd3JhcCB7XFxuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcXG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1sZy1ub3dyYXAge1xcbiAgICAtbXMtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcXG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LWxnLXdyYXAtcmV2ZXJzZSB7XFxuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtbGctZmlsbCB7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgtbGctZ3Jvdy0wIHtcXG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6IDAgIWltcG9ydGFudDtcXG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC1sZy1ncm93LTEge1xcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMSAhaW1wb3J0YW50O1xcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LWxnLXNocmluay0wIHtcXG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDAgIWltcG9ydGFudDtcXG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LWxnLXNocmluay0xIHtcXG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDEgIWltcG9ydGFudDtcXG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctZW5kIHtcXG4gICAgLW1zLWZsZXgtcGFjazogZW5kICFpbXBvcnRhbnQ7XFxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuanVzdGlmeS1jb250ZW50LWxnLWJldHdlZW4ge1xcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmp1c3RpZnktY29udGVudC1sZy1hcm91bmQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7XFxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24taXRlbXMtbGctc3RhcnQge1xcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1pdGVtcy1sZy1lbmQge1xcbiAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWl0ZW1zLWxnLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWl0ZW1zLWxnLWJhc2VsaW5lIHtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWNvbnRlbnQtbGctc3RhcnQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1jb250ZW50LWxnLWVuZCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tY29udGVudC1sZy1jZW50ZXIge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1jb250ZW50LWxnLWJldHdlZW4ge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWNvbnRlbnQtbGctYXJvdW5kIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tc2VsZi1sZy1hdXRvIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYXV0byAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tc2VsZi1sZy1zdGFydCB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1zZWxmLWxnLWVuZCB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLXNlbGYtbGctY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLXNlbGYtbGctYmFzZWxpbmUge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLXNlbGYtbGctc3RyZXRjaCB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XFxuICAuZmxleC14bC1yb3cge1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC14bC1jb2x1bW4ge1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC14bC1yb3ctcmV2ZXJzZSB7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC14bC1jb2x1bW4tcmV2ZXJzZSB7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC14bC13cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LXhsLW5vd3JhcCB7XFxuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgteGwtd3JhcC1yZXZlcnNlIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC14bC1maWxsIHtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XFxuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxleC14bC1ncm93LTAge1xcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMCAhaW1wb3J0YW50O1xcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbGV4LXhsLWdyb3ctMSB7XFxuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxICFpbXBvcnRhbnQ7XFxuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgteGwtc2hyaW5rLTAge1xcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMCAhaW1wb3J0YW50O1xcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsZXgteGwtc2hyaW5rLTEge1xcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMSAhaW1wb3J0YW50O1xcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmp1c3RpZnktY29udGVudC14bC1zdGFydCB7XFxuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmp1c3RpZnktY29udGVudC14bC1lbmQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmp1c3RpZnktY29udGVudC14bC1jZW50ZXIge1xcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtYmV0d2VlbiB7XFxuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuanVzdGlmeS1jb250ZW50LXhsLWFyb3VuZCB7XFxuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1pdGVtcy14bC1zdGFydCB7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWl0ZW1zLXhsLWVuZCB7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24taXRlbXMteGwtY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24taXRlbXMteGwtYmFzZWxpbmUge1xcbiAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24taXRlbXMteGwtc3RyZXRjaCB7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tY29udGVudC14bC1zdGFydCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWNvbnRlbnQteGwtZW5kIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1jb250ZW50LXhsLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLWNvbnRlbnQteGwtYmV0d2VlbiB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tY29udGVudC14bC1hcm91bmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tY29udGVudC14bC1zdHJldGNoIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1zZWxmLXhsLWF1dG8ge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmFsaWduLXNlbGYteGwtZW5kIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tc2VsZi14bC1jZW50ZXIge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuYWxpZ24tc2VsZi14bC1zdHJldGNoIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICB9XFxufVxcblxcbi5mbG9hdC1sZWZ0IHtcXG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5mbG9hdC1yaWdodCB7XFxuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcXG59XFxuXFxuLmZsb2F0LW5vbmUge1xcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAuZmxvYXQtc20tbGVmdCB7XFxuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxvYXQtc20tcmlnaHQge1xcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbG9hdC1zbS1ub25lIHtcXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAuZmxvYXQtbWQtbGVmdCB7XFxuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxvYXQtbWQtcmlnaHQge1xcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbG9hdC1tZC1ub25lIHtcXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAuZmxvYXQtbGctbGVmdCB7XFxuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxvYXQtbGctcmlnaHQge1xcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5mbG9hdC1sZy1ub25lIHtcXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xcbiAgLmZsb2F0LXhsLWxlZnQge1xcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLmZsb2F0LXhsLXJpZ2h0IHtcXG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuZmxvYXQteGwtbm9uZSB7XFxuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XFxuICB9XFxufVxcblxcbi5vdmVyZmxvdy1hdXRvIHtcXG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XFxufVxcblxcbi5vdmVyZmxvdy1oaWRkZW4ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucG9zaXRpb24tc3RhdGljIHtcXG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcXG59XFxuXFxuLnBvc2l0aW9uLXJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucG9zaXRpb24tYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wb3NpdGlvbi1maXhlZCB7XFxuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcXG59XFxuXFxuLnBvc2l0aW9uLXN0aWNreSB7XFxuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kgIWltcG9ydGFudDtcXG4gIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcXG59XFxuXFxuLmZpeGVkLXRvcCB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDMwO1xcbn1cXG5cXG4uZml4ZWQtYm90dG9tIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHJpZ2h0OiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIHotaW5kZXg6IDEwMzA7XFxufVxcblxcbkBzdXBwb3J0cyAoKHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSkgb3IgKHBvc2l0aW9uOiBzdGlja3kpKSB7XFxuICAuc3RpY2t5LXRvcCB7XFxuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcXG4gICAgcG9zaXRpb246IHN0aWNreTtcXG4gICAgdG9wOiAwO1xcbiAgICB6LWluZGV4OiAxMDIwO1xcbiAgfVxcbn1cXG5cXG4uc3Itb25seSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogMXB4O1xcbiAgaGVpZ2h0OiAxcHg7XFxuICBwYWRkaW5nOiAwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgYm9yZGVyOiAwO1xcbn1cXG5cXG4uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xcbiAgcG9zaXRpb246IHN0YXRpYztcXG4gIHdpZHRoOiBhdXRvO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgb3ZlcmZsb3c6IHZpc2libGU7XFxuICBjbGlwOiBhdXRvO1xcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcXG59XFxuXFxuLnNoYWRvdy1zbSB7XFxuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSkgIWltcG9ydGFudDtcXG59XFxuXFxuLnNoYWRvdyB7XFxuICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSkgIWltcG9ydGFudDtcXG59XFxuXFxuLnNoYWRvdy1sZyB7XFxuICBib3gtc2hhZG93OiAwIDFyZW0gM3JlbSByZ2JhKDAsIDAsIDAsIDAuMTc1KSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uc2hhZG93LW5vbmUge1xcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4udy0yNSB7XFxuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XFxufVxcblxcbi53LTUwIHtcXG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcXG59XFxuXFxuLnctNzUge1xcbiAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xcbn1cXG5cXG4udy0xMDAge1xcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcXG59XFxuXFxuLnctYXV0byB7XFxuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xcbn1cXG5cXG4uaC0yNSB7XFxuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uaC01MCB7XFxuICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uaC03NSB7XFxuICBoZWlnaHQ6IDc1JSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uaC0xMDAge1xcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XFxufVxcblxcbi5oLWF1dG8ge1xcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tdy0xMDAge1xcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XFxufVxcblxcbi5taC0xMDAge1xcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWluLXZ3LTEwMCB7XFxuICBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XFxufVxcblxcbi5taW4tdmgtMTAwIHtcXG4gIG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XFxufVxcblxcbi52dy0xMDAge1xcbiAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XFxufVxcblxcbi52aC0xMDAge1xcbiAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uc3RyZXRjaGVkLWxpbms6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHJpZ2h0OiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIHotaW5kZXg6IDE7XFxuICBwb2ludGVyLWV2ZW50czogYXV0bztcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcXG59XFxuXFxuLm0tMCB7XFxuICBtYXJnaW46IDAgIWltcG9ydGFudDtcXG59XFxuXFxuLm10LTAsXFxuLm15LTAge1xcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubXItMCxcXG4ubXgtMCB7XFxuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcXG59XFxuXFxuLm1iLTAsXFxuLm15LTAge1xcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWwtMCxcXG4ubXgtMCB7XFxuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubS0xIHtcXG4gIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubXQtMSxcXG4ubXktMSB7XFxuICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tci0xLFxcbi5teC0xIHtcXG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWItMSxcXG4ubXktMSB7XFxuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tbC0xLFxcbi5teC0xIHtcXG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tLTIge1xcbiAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm10LTIsXFxuLm15LTIge1xcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tci0yLFxcbi5teC0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tYi0yLFxcbi5teS0yIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWwtMixcXG4ubXgtMiB7XFxuICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tLTMge1xcbiAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tdC0zLFxcbi5teS0zIHtcXG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm1yLTMsXFxuLm14LTMge1xcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tYi0zLFxcbi5teS0zIHtcXG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm1sLTMsXFxuLm14LTMge1xcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm0tNCB7XFxuICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubXQtNCxcXG4ubXktNCB7XFxuICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm1yLTQsXFxuLm14LTQge1xcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm1iLTQsXFxuLm15LTQge1xcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tbC00LFxcbi5teC00IHtcXG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm0tNSB7XFxuICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm10LTUsXFxuLm15LTUge1xcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubXItNSxcXG4ubXgtNSB7XFxuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm1iLTUsXFxuLm15LTUge1xcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWwtNSxcXG4ubXgtNSB7XFxuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucC0wIHtcXG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcXG59XFxuXFxuLnB0LTAsXFxuLnB5LTAge1xcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcXG59XFxuXFxuLnByLTAsXFxuLnB4LTAge1xcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucGItMCxcXG4ucHktMCB7XFxuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucGwtMCxcXG4ucHgtMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcXG59XFxuXFxuLnAtMSB7XFxuICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wdC0xLFxcbi5weS0xIHtcXG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wci0xLFxcbi5weC0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnBiLTEsXFxuLnB5LTEge1xcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnBsLTEsXFxuLnB4LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wLTIge1xcbiAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wdC0yLFxcbi5weS0yIHtcXG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnByLTIsXFxuLnB4LTIge1xcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wYi0yLFxcbi5weS0yIHtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnBsLTIsXFxuLnB4LTIge1xcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnAtMyB7XFxuICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wdC0zLFxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wci0zLFxcbi5weC0zIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnBiLTMsXFxuLnB5LTMge1xcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnBsLTMsXFxuLnB4LTMge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wLTQge1xcbiAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wdC00LFxcbi5weS00IHtcXG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnByLTQsXFxuLnB4LTQge1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wYi00LFxcbi5weS00IHtcXG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnBsLTQsXFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnAtNSB7XFxuICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wdC01LFxcbi5weS01IHtcXG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5wci01LFxcbi5weC01IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnBiLTUsXFxuLnB5LTUge1xcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLnBsLTUsXFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tLW4xIHtcXG4gIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm10LW4xLFxcbi5teS1uMSB7XFxuICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubXItbjEsXFxuLm14LW4xIHtcXG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm1iLW4xLFxcbi5teS1uMSB7XFxuICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWwtbjEsXFxuLm14LW4xIHtcXG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubS1uMiB7XFxuICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm10LW4yLFxcbi5teS1uMiB7XFxuICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tci1uMixcXG4ubXgtbjIge1xcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tYi1uMixcXG4ubXktbjIge1xcbiAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWwtbjIsXFxuLm14LW4yIHtcXG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tLW4zIHtcXG4gIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm10LW4zLFxcbi5teS1uMyB7XFxuICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubXItbjMsXFxuLm14LW4zIHtcXG4gIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm1iLW4zLFxcbi5teS1uMyB7XFxuICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWwtbjMsXFxuLm14LW4zIHtcXG4gIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubS1uNCB7XFxuICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm10LW40LFxcbi5teS1uNCB7XFxuICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tci1uNCxcXG4ubXgtbjQge1xcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tYi1uNCxcXG4ubXktbjQge1xcbiAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWwtbjQsXFxuLm14LW40IHtcXG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tLW41IHtcXG4gIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm10LW41LFxcbi5teS1uNSB7XFxuICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubXItbjUsXFxuLm14LW41IHtcXG4gIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcXG59XFxuXFxuLm1iLW41LFxcbi5teS1uNSB7XFxuICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWwtbjUsXFxuLm14LW41IHtcXG4gIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubS1hdXRvIHtcXG4gIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubXQtYXV0byxcXG4ubXktYXV0byB7XFxuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tci1hdXRvLFxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xcbn1cXG5cXG4ubWItYXV0byxcXG4ubXktYXV0byB7XFxuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XFxufVxcblxcbi5tbC1hdXRvLFxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLm0tc20tMCB7XFxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LXNtLTAsXFxuICAubXktc20tMCB7XFxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1zbS0wLFxcbiAgLm14LXNtLTAge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1zbS0wLFxcbiAgLm15LXNtLTAge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtc20tMCxcXG4gIC5teC1zbS0wIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLXNtLTEge1xcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1zbS0xLFxcbiAgLm15LXNtLTEge1xcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItc20tMSxcXG4gIC5teC1zbS0xIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItc20tMSxcXG4gIC5teS1zbS0xIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXNtLTEsXFxuICAubXgtc20tMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1zbS0yIHtcXG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1zbS0yLFxcbiAgLm15LXNtLTIge1xcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1zbS0yLFxcbiAgLm14LXNtLTIge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLXNtLTIsXFxuICAubXktc20tMiB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXNtLTIsXFxuICAubXgtc20tMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLXNtLTMge1xcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1zbS0zLFxcbiAgLm15LXNtLTMge1xcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItc20tMyxcXG4gIC5teC1zbS0zIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItc20tMyxcXG4gIC5teS1zbS0zIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXNtLTMsXFxuICAubXgtc20tMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1zbS00IHtcXG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1zbS00LFxcbiAgLm15LXNtLTQge1xcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1zbS00LFxcbiAgLm14LXNtLTQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLXNtLTQsXFxuICAubXktc20tNCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXNtLTQsXFxuICAubXgtc20tNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLXNtLTUge1xcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1zbS01LFxcbiAgLm15LXNtLTUge1xcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItc20tNSxcXG4gIC5teC1zbS01IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItc20tNSxcXG4gIC5teS1zbS01IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXNtLTUsXFxuICAubXgtc20tNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucC1zbS0wIHtcXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnB0LXNtLTAsXFxuICAucHktc20tMCB7XFxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHItc20tMCxcXG4gIC5weC1zbS0wIHtcXG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBiLXNtLTAsXFxuICAucHktc20tMCB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGwtc20tMCxcXG4gIC5weC1zbS0wIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucC1zbS0xIHtcXG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnB0LXNtLTEsXFxuICAucHktc20tMSB7XFxuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHItc20tMSxcXG4gIC5weC1zbS0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBiLXNtLTEsXFxuICAucHktc20tMSB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGwtc20tMSxcXG4gIC5weC1zbS0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucC1zbS0yIHtcXG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHQtc20tMixcXG4gIC5weS1zbS0yIHtcXG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnByLXNtLTIsXFxuICAucHgtc20tMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBiLXNtLTIsXFxuICAucHktc20tMiB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wbC1zbS0yLFxcbiAgLnB4LXNtLTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnAtc20tMyB7XFxuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wdC1zbS0zLFxcbiAgLnB5LXNtLTMge1xcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnByLXNtLTMsXFxuICAucHgtc20tMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wYi1zbS0zLFxcbiAgLnB5LXNtLTMge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBsLXNtLTMsXFxuICAucHgtc20tMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnAtc20tNCB7XFxuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnB0LXNtLTQsXFxuICAucHktc20tNCB7XFxuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wci1zbS00LFxcbiAgLnB4LXNtLTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wYi1zbS00LFxcbiAgLnB5LXNtLTQge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGwtc20tNCxcXG4gIC5weC1zbS00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wLXNtLTUge1xcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHQtc20tNSxcXG4gIC5weS1zbS01IHtcXG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wci1zbS01LFxcbiAgLnB4LXNtLTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGItc20tNSxcXG4gIC5weS1zbS01IHtcXG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wbC1zbS01LFxcbiAgLnB4LXNtLTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLXNtLW4xIHtcXG4gICAgbWFyZ2luOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LXNtLW4xLFxcbiAgLm15LXNtLW4xIHtcXG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1zbS1uMSxcXG4gIC5teC1zbS1uMSB7XFxuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1zbS1uMSxcXG4gIC5teS1zbS1uMSB7XFxuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtc20tbjEsXFxuICAubXgtc20tbjEge1xcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLXNtLW4yIHtcXG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtc20tbjIsXFxuICAubXktc20tbjIge1xcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItc20tbjIsXFxuICAubXgtc20tbjIge1xcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1zbS1uMixcXG4gIC5teS1zbS1uMiB7XFxuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1zbS1uMixcXG4gIC5teC1zbS1uMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1zbS1uMyB7XFxuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1zbS1uMyxcXG4gIC5teS1zbS1uMyB7XFxuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItc20tbjMsXFxuICAubXgtc20tbjMge1xcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItc20tbjMsXFxuICAubXktc20tbjMge1xcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXNtLW4zLFxcbiAgLm14LXNtLW4zIHtcXG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1zbS1uNCB7XFxuICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LXNtLW40LFxcbiAgLm15LXNtLW40IHtcXG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLXNtLW40LFxcbiAgLm14LXNtLW40IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItc20tbjQsXFxuICAubXktc20tbjQge1xcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtc20tbjQsXFxuICAubXgtc20tbjQge1xcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tc20tbjUge1xcbiAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtc20tbjUsXFxuICAubXktc20tbjUge1xcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLXNtLW41LFxcbiAgLm14LXNtLW41IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLXNtLW41LFxcbiAgLm15LXNtLW41IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1zbS1uNSxcXG4gIC5teC1zbS1uNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tc20tYXV0byB7XFxuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LXNtLWF1dG8sXFxuICAubXktc20tYXV0byB7XFxuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1zbS1hdXRvLFxcbiAgLm14LXNtLWF1dG8ge1xcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1zbS1hdXRvLFxcbiAgLm15LXNtLWF1dG8ge1xcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtc20tYXV0byxcXG4gIC5teC1zbS1hdXRvIHtcXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAubS1tZC0wIHtcXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbWQtMCxcXG4gIC5teS1tZC0wIHtcXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLW1kLTAsXFxuICAubXgtbWQtMCB7XFxuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLW1kLTAsXFxuICAubXktbWQtMCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1tZC0wLFxcbiAgLm14LW1kLTAge1xcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tbWQtMSB7XFxuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LW1kLTEsXFxuICAubXktbWQtMSB7XFxuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1tZC0xLFxcbiAgLm14LW1kLTEge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1tZC0xLFxcbiAgLm15LW1kLTEge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtbWQtMSxcXG4gIC5teC1tZC0xIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLW1kLTIge1xcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LW1kLTIsXFxuICAubXktbWQtMiB7XFxuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLW1kLTIsXFxuICAubXgtbWQtMiB7XFxuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItbWQtMixcXG4gIC5teS1tZC0yIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtbWQtMixcXG4gIC5teC1tZC0yIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tbWQtMyB7XFxuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LW1kLTMsXFxuICAubXktbWQtMyB7XFxuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1tZC0zLFxcbiAgLm14LW1kLTMge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1tZC0zLFxcbiAgLm15LW1kLTMge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtbWQtMyxcXG4gIC5teC1tZC0zIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLW1kLTQge1xcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LW1kLTQsXFxuICAubXktbWQtNCB7XFxuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLW1kLTQsXFxuICAubXgtbWQtNCB7XFxuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItbWQtNCxcXG4gIC5teS1tZC00IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtbWQtNCxcXG4gIC5teC1tZC00IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tbWQtNSB7XFxuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LW1kLTUsXFxuICAubXktbWQtNSB7XFxuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1tZC01LFxcbiAgLm14LW1kLTUge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1tZC01LFxcbiAgLm15LW1kLTUge1xcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtbWQtNSxcXG4gIC5teC1tZC01IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wLW1kLTAge1xcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHQtbWQtMCxcXG4gIC5weS1tZC0wIHtcXG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wci1tZC0wLFxcbiAgLnB4LW1kLTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGItbWQtMCxcXG4gIC5weS1tZC0wIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wbC1tZC0wLFxcbiAgLnB4LW1kLTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wLW1kLTEge1xcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHQtbWQtMSxcXG4gIC5weS1tZC0xIHtcXG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wci1tZC0xLFxcbiAgLnB4LW1kLTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGItbWQtMSxcXG4gIC5weS1tZC0xIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wbC1tZC0xLFxcbiAgLnB4LW1kLTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wLW1kLTIge1xcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wdC1tZC0yLFxcbiAgLnB5LW1kLTIge1xcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHItbWQtMixcXG4gIC5weC1tZC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGItbWQtMixcXG4gIC5weS1tZC0yIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBsLW1kLTIsXFxuICAucHgtbWQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucC1tZC0zIHtcXG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnB0LW1kLTMsXFxuICAucHktbWQtMyB7XFxuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHItbWQtMyxcXG4gIC5weC1tZC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBiLW1kLTMsXFxuICAucHktbWQtMyB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGwtbWQtMyxcXG4gIC5weC1tZC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucC1tZC00IHtcXG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHQtbWQtNCxcXG4gIC5weS1tZC00IHtcXG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnByLW1kLTQsXFxuICAucHgtbWQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBiLW1kLTQsXFxuICAucHktbWQtNCB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wbC1tZC00LFxcbiAgLnB4LW1kLTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnAtbWQtNSB7XFxuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wdC1tZC01LFxcbiAgLnB5LW1kLTUge1xcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnByLW1kLTUsXFxuICAucHgtbWQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wYi1tZC01LFxcbiAgLnB5LW1kLTUge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBsLW1kLTUsXFxuICAucHgtbWQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tbWQtbjEge1xcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbWQtbjEsXFxuICAubXktbWQtbjEge1xcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLW1kLW4xLFxcbiAgLm14LW1kLW4xIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLW1kLW4xLFxcbiAgLm15LW1kLW4xIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1tZC1uMSxcXG4gIC5teC1tZC1uMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tbWQtbjIge1xcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1tZC1uMixcXG4gIC5teS1tZC1uMiB7XFxuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1tZC1uMixcXG4gIC5teC1tZC1uMiB7XFxuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLW1kLW4yLFxcbiAgLm15LW1kLW4yIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLW1kLW4yLFxcbiAgLm14LW1kLW4yIHtcXG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLW1kLW4zIHtcXG4gICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LW1kLW4zLFxcbiAgLm15LW1kLW4zIHtcXG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1tZC1uMyxcXG4gIC5teC1tZC1uMyB7XFxuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1tZC1uMyxcXG4gIC5teS1tZC1uMyB7XFxuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtbWQtbjMsXFxuICAubXgtbWQtbjMge1xcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLW1kLW40IHtcXG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbWQtbjQsXFxuICAubXktbWQtbjQge1xcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItbWQtbjQsXFxuICAubXgtbWQtbjQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1tZC1uNCxcXG4gIC5teS1tZC1uNCB7XFxuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1tZC1uNCxcXG4gIC5teC1tZC1uNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1tZC1uNSB7XFxuICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1tZC1uNSxcXG4gIC5teS1tZC1uNSB7XFxuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItbWQtbjUsXFxuICAubXgtbWQtbjUge1xcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItbWQtbjUsXFxuICAubXktbWQtbjUge1xcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLW1kLW41LFxcbiAgLm14LW1kLW41IHtcXG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1tZC1hdXRvIHtcXG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbWQtYXV0byxcXG4gIC5teS1tZC1hdXRvIHtcXG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLW1kLWF1dG8sXFxuICAubXgtbWQtYXV0byB7XFxuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLW1kLWF1dG8sXFxuICAubXktbWQtYXV0byB7XFxuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1tZC1hdXRvLFxcbiAgLm14LW1kLWF1dG8ge1xcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcXG4gIC5tLWxnLTAge1xcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1sZy0wLFxcbiAgLm15LWxnLTAge1xcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItbGctMCxcXG4gIC5teC1sZy0wIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItbGctMCxcXG4gIC5teS1sZy0wIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLWxnLTAsXFxuICAubXgtbGctMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1sZy0xIHtcXG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbGctMSxcXG4gIC5teS1sZy0xIHtcXG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLWxnLTEsXFxuICAubXgtbGctMSB7XFxuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLWxnLTEsXFxuICAubXktbGctMSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1sZy0xLFxcbiAgLm14LWxnLTEge1xcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tbGctMiB7XFxuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbGctMixcXG4gIC5teS1sZy0yIHtcXG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItbGctMixcXG4gIC5teC1sZy0yIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1sZy0yLFxcbiAgLm15LWxnLTIge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1sZy0yLFxcbiAgLm14LWxnLTIge1xcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1sZy0zIHtcXG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbGctMyxcXG4gIC5teS1sZy0zIHtcXG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLWxnLTMsXFxuICAubXgtbGctMyB7XFxuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLWxnLTMsXFxuICAubXktbGctMyB7XFxuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1sZy0zLFxcbiAgLm14LWxnLTMge1xcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tbGctNCB7XFxuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbGctNCxcXG4gIC5teS1sZy00IHtcXG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItbGctNCxcXG4gIC5teC1sZy00IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1sZy00LFxcbiAgLm15LWxnLTQge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1sZy00LFxcbiAgLm14LWxnLTQge1xcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1sZy01IHtcXG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbGctNSxcXG4gIC5teS1sZy01IHtcXG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLWxnLTUsXFxuICAubXgtbGctNSB7XFxuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLWxnLTUsXFxuICAubXktbGctNSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1sZy01LFxcbiAgLm14LWxnLTUge1xcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnAtbGctMCB7XFxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wdC1sZy0wLFxcbiAgLnB5LWxnLTAge1xcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnByLWxnLTAsXFxuICAucHgtbGctMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wYi1sZy0wLFxcbiAgLnB5LWxnLTAge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBsLWxnLTAsXFxuICAucHgtbGctMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnAtbGctMSB7XFxuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wdC1sZy0xLFxcbiAgLnB5LWxnLTEge1xcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnByLWxnLTEsXFxuICAucHgtbGctMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wYi1sZy0xLFxcbiAgLnB5LWxnLTEge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBsLWxnLTEsXFxuICAucHgtbGctMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnAtbGctMiB7XFxuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnB0LWxnLTIsXFxuICAucHktbGctMiB7XFxuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wci1sZy0yLFxcbiAgLnB4LWxnLTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wYi1sZy0yLFxcbiAgLnB5LWxnLTIge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGwtbGctMixcXG4gIC5weC1sZy0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wLWxnLTMge1xcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHQtbGctMyxcXG4gIC5weS1sZy0zIHtcXG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wci1sZy0zLFxcbiAgLnB4LWxnLTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGItbGctMyxcXG4gIC5weS1sZy0zIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wbC1sZy0zLFxcbiAgLnB4LWxnLTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wLWxnLTQge1xcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wdC1sZy00LFxcbiAgLnB5LWxnLTQge1xcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHItbGctNCxcXG4gIC5weC1sZy00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGItbGctNCxcXG4gIC5weS1sZy00IHtcXG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBsLWxnLTQsXFxuICAucHgtbGctNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucC1sZy01IHtcXG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnB0LWxnLTUsXFxuICAucHktbGctNSB7XFxuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHItbGctNSxcXG4gIC5weC1sZy01IHtcXG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBiLWxnLTUsXFxuICAucHktbGctNSB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGwtbGctNSxcXG4gIC5weC1sZy01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1sZy1uMSB7XFxuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1sZy1uMSxcXG4gIC5teS1sZy1uMSB7XFxuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItbGctbjEsXFxuICAubXgtbGctbjEge1xcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItbGctbjEsXFxuICAubXktbGctbjEge1xcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLWxnLW4xLFxcbiAgLm14LWxnLW4xIHtcXG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS1sZy1uMiB7XFxuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LWxnLW4yLFxcbiAgLm15LWxnLW4yIHtcXG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLWxnLW4yLFxcbiAgLm14LWxnLW4yIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItbGctbjIsXFxuICAubXktbGctbjIge1xcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtbGctbjIsXFxuICAubXgtbGctbjIge1xcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tbGctbjMge1xcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQtbGctbjMsXFxuICAubXktbGctbjMge1xcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLWxnLW4zLFxcbiAgLm14LWxnLW4zIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLWxnLW4zLFxcbiAgLm15LWxnLW4zIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC1sZy1uMyxcXG4gIC5teC1sZy1uMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0tbGctbjQge1xcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1sZy1uNCxcXG4gIC5teS1sZy1uNCB7XFxuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1sZy1uNCxcXG4gIC5teC1sZy1uNCB7XFxuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLWxnLW40LFxcbiAgLm15LWxnLW40IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLWxnLW40LFxcbiAgLm14LWxnLW40IHtcXG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLWxnLW41IHtcXG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LWxnLW41LFxcbiAgLm15LWxnLW41IHtcXG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci1sZy1uNSxcXG4gIC5teC1sZy1uNSB7XFxuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi1sZy1uNSxcXG4gIC5teS1sZy1uNSB7XFxuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwtbGctbjUsXFxuICAubXgtbGctbjUge1xcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLWxnLWF1dG8ge1xcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC1sZy1hdXRvLFxcbiAgLm15LWxnLWF1dG8ge1xcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXItbGctYXV0byxcXG4gIC5teC1sZy1hdXRvIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWItbGctYXV0byxcXG4gIC5teS1sZy1hdXRvIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLWxnLWF1dG8sXFxuICAubXgtbGctYXV0byB7XFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5tLXhsLTAge1xcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC14bC0wLFxcbiAgLm15LXhsLTAge1xcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXIteGwtMCxcXG4gIC5teC14bC0wIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWIteGwtMCxcXG4gIC5teS14bC0wIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXhsLTAsXFxuICAubXgteGwtMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS14bC0xIHtcXG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQteGwtMSxcXG4gIC5teS14bC0xIHtcXG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLXhsLTEsXFxuICAubXgteGwtMSB7XFxuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLXhsLTEsXFxuICAubXkteGwtMSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC14bC0xLFxcbiAgLm14LXhsLTEge1xcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0teGwtMiB7XFxuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQteGwtMixcXG4gIC5teS14bC0yIHtcXG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXIteGwtMixcXG4gIC5teC14bC0yIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi14bC0yLFxcbiAgLm15LXhsLTIge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC14bC0yLFxcbiAgLm14LXhsLTIge1xcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS14bC0zIHtcXG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQteGwtMyxcXG4gIC5teS14bC0zIHtcXG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLXhsLTMsXFxuICAubXgteGwtMyB7XFxuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLXhsLTMsXFxuICAubXkteGwtMyB7XFxuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC14bC0zLFxcbiAgLm14LXhsLTMge1xcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0teGwtNCB7XFxuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQteGwtNCxcXG4gIC5teS14bC00IHtcXG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXIteGwtNCxcXG4gIC5teC14bC00IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi14bC00LFxcbiAgLm15LXhsLTQge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC14bC00LFxcbiAgLm14LXhsLTQge1xcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS14bC01IHtcXG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQteGwtNSxcXG4gIC5teS14bC01IHtcXG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLXhsLTUsXFxuICAubXgteGwtNSB7XFxuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLXhsLTUsXFxuICAubXkteGwtNSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC14bC01LFxcbiAgLm14LXhsLTUge1xcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnAteGwtMCB7XFxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wdC14bC0wLFxcbiAgLnB5LXhsLTAge1xcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnByLXhsLTAsXFxuICAucHgteGwtMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wYi14bC0wLFxcbiAgLnB5LXhsLTAge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBsLXhsLTAsXFxuICAucHgteGwtMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnAteGwtMSB7XFxuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wdC14bC0xLFxcbiAgLnB5LXhsLTEge1xcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnByLXhsLTEsXFxuICAucHgteGwtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wYi14bC0xLFxcbiAgLnB5LXhsLTEge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBsLXhsLTEsXFxuICAucHgteGwtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnAteGwtMiB7XFxuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnB0LXhsLTIsXFxuICAucHkteGwtMiB7XFxuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wci14bC0yLFxcbiAgLnB4LXhsLTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wYi14bC0yLFxcbiAgLnB5LXhsLTIge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGwteGwtMixcXG4gIC5weC14bC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wLXhsLTMge1xcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHQteGwtMyxcXG4gIC5weS14bC0zIHtcXG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wci14bC0zLFxcbiAgLnB4LXhsLTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGIteGwtMyxcXG4gIC5weS14bC0zIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wbC14bC0zLFxcbiAgLnB4LXhsLTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wLXhsLTQge1xcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5wdC14bC00LFxcbiAgLnB5LXhsLTQge1xcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHIteGwtNCxcXG4gIC5weC14bC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGIteGwtNCxcXG4gIC5weS14bC00IHtcXG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBsLXhsLTQsXFxuICAucHgteGwtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucC14bC01IHtcXG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnB0LXhsLTUsXFxuICAucHkteGwtNSB7XFxuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucHIteGwtNSxcXG4gIC5weC14bC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnBiLXhsLTUsXFxuICAucHkteGwtNSB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAucGwteGwtNSxcXG4gIC5weC14bC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS14bC1uMSB7XFxuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC14bC1uMSxcXG4gIC5teS14bC1uMSB7XFxuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXIteGwtbjEsXFxuICAubXgteGwtbjEge1xcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWIteGwtbjEsXFxuICAubXkteGwtbjEge1xcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXhsLW4xLFxcbiAgLm14LXhsLW4xIHtcXG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubS14bC1uMiB7XFxuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LXhsLW4yLFxcbiAgLm15LXhsLW4yIHtcXG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLXhsLW4yLFxcbiAgLm14LXhsLW4yIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWIteGwtbjIsXFxuICAubXkteGwtbjIge1xcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwteGwtbjIsXFxuICAubXgteGwtbjIge1xcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0teGwtbjMge1xcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXQteGwtbjMsXFxuICAubXkteGwtbjMge1xcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1yLXhsLW4zLFxcbiAgLm14LXhsLW4zIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLXhsLW4zLFxcbiAgLm15LXhsLW4zIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tbC14bC1uMyxcXG4gIC5teC14bC1uMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm0teGwtbjQge1xcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC14bC1uNCxcXG4gIC5teS14bC1uNCB7XFxuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci14bC1uNCxcXG4gIC5teC14bC1uNCB7XFxuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1iLXhsLW40LFxcbiAgLm15LXhsLW40IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXhsLW40LFxcbiAgLm14LXhsLW40IHtcXG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLXhsLW41IHtcXG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm10LXhsLW41LFxcbiAgLm15LXhsLW41IHtcXG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tci14bC1uNSxcXG4gIC5teC14bC1uNSB7XFxuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tYi14bC1uNSxcXG4gIC5teS14bC1uNSB7XFxuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWwteGwtbjUsXFxuICAubXgteGwtbjUge1xcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tLXhsLWF1dG8ge1xcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcXG4gIH1cXG4gIC5tdC14bC1hdXRvLFxcbiAgLm15LXhsLWF1dG8ge1xcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubXIteGwtYXV0byxcXG4gIC5teC14bC1hdXRvIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxuICAubWIteGwtYXV0byxcXG4gIC5teS14bC1hdXRvIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm1sLXhsLWF1dG8sXFxuICAubXgteGwtYXV0byB7XFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XFxuICB9XFxufVxcblxcbi50ZXh0LW1vbm9zcGFjZSB7XFxuICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LWp1c3RpZnkge1xcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xcbn1cXG5cXG4udGV4dC13cmFwIHtcXG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcXG59XFxuXFxuLnRleHQtbm93cmFwIHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcXG59XFxuXFxuLnRleHQtdHJ1bmNhdGUge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG59XFxuXFxuLnRleHQtbGVmdCB7XFxuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LXJpZ2h0IHtcXG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAudGV4dC1zbS1sZWZ0IHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnRleHQtc20tcmlnaHQge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnRleHQtc20tY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLnRleHQtbWQtbGVmdCB7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC50ZXh0LW1kLXJpZ2h0IHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC50ZXh0LW1kLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcXG4gIC50ZXh0LWxnLWxlZnQge1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAudGV4dC1sZy1yaWdodCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAudGV4dC1sZy1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xcbiAgLnRleHQteGwtbGVmdCB7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC50ZXh0LXhsLXJpZ2h0IHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcXG4gIH1cXG4gIC50ZXh0LXhsLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgfVxcbn1cXG5cXG4udGV4dC1sb3dlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4udGV4dC11cHBlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4udGV4dC1jYXBpdGFsaXplIHtcXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7XFxufVxcblxcbi5mb250LXdlaWdodC1saWdodCB7XFxuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XFxufVxcblxcbi5mb250LXdlaWdodC1saWdodGVyIHtcXG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyICFpbXBvcnRhbnQ7XFxufVxcblxcbi5mb250LXdlaWdodC1ub3JtYWwge1xcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZm9udC13ZWlnaHQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XFxufVxcblxcbi5mb250LXdlaWdodC1ib2xkZXIge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlciAhaW1wb3J0YW50O1xcbn1cXG5cXG4uZm9udC1pdGFsaWMge1xcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LXdoaXRlIHtcXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LXByaW1hcnkge1xcbiAgY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDtcXG59XFxuXFxuYS50ZXh0LXByaW1hcnk6aG92ZXIsIGEudGV4dC1wcmltYXJ5OmZvY3VzIHtcXG4gIGNvbG9yOiAjMDA1NmIzICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LXNlY29uZGFyeSB7XFxuICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50O1xcbn1cXG5cXG5hLnRleHQtc2Vjb25kYXJ5OmhvdmVyLCBhLnRleHQtc2Vjb25kYXJ5OmZvY3VzIHtcXG4gIGNvbG9yOiAjNDk0ZjU0ICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LXN1Y2Nlc3Mge1xcbiAgY29sb3I6ICMyOGE3NDUgIWltcG9ydGFudDtcXG59XFxuXFxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsIGEudGV4dC1zdWNjZXNzOmZvY3VzIHtcXG4gIGNvbG9yOiAjMTk2OTJjICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LWluZm8ge1xcbiAgY29sb3I6ICMxN2EyYjggIWltcG9ydGFudDtcXG59XFxuXFxuYS50ZXh0LWluZm86aG92ZXIsIGEudGV4dC1pbmZvOmZvY3VzIHtcXG4gIGNvbG9yOiAjMGY2Njc0ICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LXdhcm5pbmcge1xcbiAgY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudDtcXG59XFxuXFxuYS50ZXh0LXdhcm5pbmc6aG92ZXIsIGEudGV4dC13YXJuaW5nOmZvY3VzIHtcXG4gIGNvbG9yOiAjYmE4YjAwICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LWRhbmdlciB7XFxuICBjb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50O1xcbn1cXG5cXG5hLnRleHQtZGFuZ2VyOmhvdmVyLCBhLnRleHQtZGFuZ2VyOmZvY3VzIHtcXG4gIGNvbG9yOiAjYTcxZDJhICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LWxpZ2h0IHtcXG4gIGNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7XFxufVxcblxcbmEudGV4dC1saWdodDpob3ZlciwgYS50ZXh0LWxpZ2h0OmZvY3VzIHtcXG4gIGNvbG9yOiAjY2JkM2RhICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LWRhcmsge1xcbiAgY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudDtcXG59XFxuXFxuYS50ZXh0LWRhcms6aG92ZXIsIGEudGV4dC1kYXJrOmZvY3VzIHtcXG4gIGNvbG9yOiAjMTIxNDE2ICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LWJvZHkge1xcbiAgY29sb3I6ICMyMTI1MjkgIWltcG9ydGFudDtcXG59XFxuXFxuLnRleHQtbXV0ZWQge1xcbiAgY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDtcXG59XFxuXFxuLnRleHQtYmxhY2stNTAge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50O1xcbn1cXG5cXG4udGV4dC13aGl0ZS01MCB7XFxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LWhpZGUge1xcbiAgZm9udDogMC8wIGE7XFxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XFxuICB0ZXh0LXNoYWRvdzogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiAwO1xcbn1cXG5cXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XFxufVxcblxcbi50ZXh0LWJyZWFrIHtcXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcXG59XFxuXFxuLnRleHQtcmVzZXQge1xcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcXG59XFxuXFxuLnZpc2libGUge1xcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uaW52aXNpYmxlIHtcXG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xcbn1cXG5cXG5AbWVkaWEgcHJpbnQge1xcbiAgKixcXG4gICo6OmJlZm9yZSxcXG4gICo6OmFmdGVyIHtcXG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgYTpub3QoLmJ0bikge1xcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG4gIH1cXG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6IFxcXCIgKFxcXCIgYXR0cih0aXRsZSkgXFxcIilcXFwiO1xcbiAgfVxcbiAgcHJlIHtcXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XFxuICB9XFxuICBwcmUsXFxuICBibG9ja3F1b3RlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FkYjViZDtcXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xcbiAgfVxcbiAgdGhlYWQge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XFxuICB9XFxuICB0cixcXG4gIGltZyB7XFxuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcXG4gIH1cXG4gIHAsXFxuICBoMixcXG4gIGgzIHtcXG4gICAgb3JwaGFuczogMztcXG4gICAgd2lkb3dzOiAzO1xcbiAgfVxcbiAgaDIsXFxuICBoMyB7XFxuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xcbiAgfVxcbiAgQHBhZ2Uge1xcbiAgICBzaXplOiBhMztcXG4gIH1cXG4gIGJvZHkge1xcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7XFxuICB9XFxuICAuY29udGFpbmVyIHtcXG4gICAgbWluLXdpZHRoOiA5OTJweCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLm5hdmJhciB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxuICB9XFxuICAuYmFkZ2Uge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xcbiAgfVxcbiAgLnRhYmxlIHtcXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnRhYmxlIHRkLFxcbiAgLnRhYmxlIHRoIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnRhYmxlLWJvcmRlcmVkIHRoLFxcbiAgLnRhYmxlLWJvcmRlcmVkIHRkIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnRhYmxlLWRhcmsge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG4gIH1cXG4gIC50YWJsZS1kYXJrIHRoLFxcbiAgLnRhYmxlLWRhcmsgdGQsXFxuICAudGFibGUtZGFyayB0aGVhZCB0aCxcXG4gIC50YWJsZS1kYXJrIHRib2R5ICsgdGJvZHkge1xcbiAgICBib3JkZXItY29sb3I6ICNkZWUyZTY7XFxuICB9XFxuICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xcbiAgfVxcbn1cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9kaXN0L2Nzcy9ib290c3RyYXAuY3NzXG4vLyBtb2R1bGUgaWQgPSAyNzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///277\n"); + +/***/ }), +/* 278 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(279);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(23)(\"ae668e66\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../css-loader/index.js!./bootstrap-vue.css\", function() {\n var newContent = require(\"!!../../css-loader/index.js!./bootstrap-vue.css\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9kaXN0L2Jvb3RzdHJhcC12dWUuY3NzPzg5YmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBaUQ7QUFDdkUsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxFQUFnRCxnQ0FBZ0M7QUFDckc7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMjc4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uL2Nzcy1sb2FkZXIvaW5kZXguanMhLi9ib290c3RyYXAtdnVlLmNzc1wiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJhZTY2OGU2NlwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcyEuL2Jvb3RzdHJhcC12dWUuY3NzXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uL2Nzcy1sb2FkZXIvaW5kZXguanMhLi9ib290c3RyYXAtdnVlLmNzc1wiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9kaXN0L2Jvb3RzdHJhcC12dWUuY3NzXG4vLyBtb2R1bGUgaWQgPSAyNzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///278\n"); + +/***/ }), +/* 279 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("exports = module.exports = __webpack_require__(22)(false);\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\n * BootstrapVue Custom CSS (https://bootstrap-vue.js.org)\\n */\\n@media (max-width: 575.98px) {\\n .bv-d-xs-down-none {\\n display: none !important;\\n }\\n}\\n\\n@media (max-width: 767.98px) {\\n .bv-d-sm-down-none {\\n display: none !important;\\n }\\n}\\n\\n@media (max-width: 991.98px) {\\n .bv-d-md-down-none {\\n display: none !important;\\n }\\n}\\n\\n@media (max-width: 1199.98px) {\\n .bv-d-lg-down-none {\\n display: none !important;\\n }\\n}\\n\\n.bv-d-xl-down-none {\\n display: none !important;\\n}\\n\\n.card-img-left {\\n border-top-left-radius: calc(0.25rem - 1px);\\n border-bottom-left-radius: calc(0.25rem - 1px);\\n}\\n\\n.card-img-right {\\n border-top-right-radius: calc(0.25rem - 1px);\\n border-bottom-right-radius: calc(0.25rem - 1px);\\n}\\n\\n.dropdown:not(.dropleft) .dropdown-toggle.dropdown-toggle-no-caret::after {\\n display: none !important;\\n}\\n\\n.dropdown.dropleft .dropdown-toggle.dropdown-toggle-no-caret::before {\\n display: none !important;\\n}\\n\\n.b-dropdown-form {\\n display: inline-block;\\n padding: 0.25rem 1.5rem;\\n width: 100%;\\n clear: both;\\n font-weight: 400;\\n}\\n\\n.b-dropdown-form:focus {\\n outline: 1px dotted !important;\\n outline: 5px auto -webkit-focus-ring-color !important;\\n}\\n\\n.b-dropdown-form.disabled, .b-dropdown-form:disabled {\\n outline: 0 !important;\\n color: #6c757d;\\n pointer-events: none;\\n}\\n\\n.b-dropdown-text {\\n display: inline-block;\\n padding: 0.25rem 1.5rem;\\n margin-bottom: 0;\\n width: 100%;\\n clear: both;\\n font-weight: lighter;\\n}\\n\\n.custom-checkbox.b-custom-control-lg,\\n.input-group-lg .custom-checkbox {\\n font-size: 1.25rem;\\n line-height: 1.5;\\n padding-left: 1.875rem;\\n}\\n\\n.custom-checkbox.b-custom-control-lg .custom-control-label::before,\\n.input-group-lg .custom-checkbox .custom-control-label::before {\\n top: 0.3125rem;\\n left: -1.875rem;\\n width: 1.25rem;\\n height: 1.25rem;\\n border-radius: 0.3rem;\\n}\\n\\n.custom-checkbox.b-custom-control-lg .custom-control-label::after,\\n.input-group-lg .custom-checkbox .custom-control-label::after {\\n top: 0.3125rem;\\n left: -1.875rem;\\n width: 1.25rem;\\n height: 1.25rem;\\n background-size: 50% 50%;\\n}\\n\\n.custom-checkbox.b-custom-control-sm,\\n.input-group-sm .custom-checkbox {\\n font-size: 0.875rem;\\n line-height: 1.5;\\n padding-left: 1.3125rem;\\n}\\n\\n.custom-checkbox.b-custom-control-sm .custom-control-label::before,\\n.input-group-sm .custom-checkbox .custom-control-label::before {\\n top: 0.21875rem;\\n left: -1.3125rem;\\n width: 0.875rem;\\n height: 0.875rem;\\n border-radius: 0.2rem;\\n}\\n\\n.custom-checkbox.b-custom-control-sm .custom-control-label::after,\\n.input-group-sm .custom-checkbox .custom-control-label::after {\\n top: 0.21875rem;\\n left: -1.3125rem;\\n width: 0.875rem;\\n height: 0.875rem;\\n background-size: 50% 50%;\\n}\\n\\n.custom-switch.b-custom-control-lg,\\n.input-group-lg .custom-switch {\\n padding-left: 2.8125rem;\\n}\\n\\n.custom-switch.b-custom-control-lg .custom-control-label,\\n.input-group-lg .custom-switch .custom-control-label {\\n font-size: 1.25rem;\\n line-height: 1.5;\\n}\\n\\n.custom-switch.b-custom-control-lg .custom-control-label::before,\\n.input-group-lg .custom-switch .custom-control-label::before {\\n top: 0.3125rem;\\n height: 1.25rem;\\n left: -2.8125rem;\\n width: 2.1875rem;\\n border-radius: 0.625rem;\\n}\\n\\n.custom-switch.b-custom-control-lg .custom-control-label::after,\\n.input-group-lg .custom-switch .custom-control-label::after {\\n top: calc( 0.3125rem + 2px);\\n left: calc( -2.8125rem + 2px);\\n width: calc( 1.25rem - 4px);\\n height: calc( 1.25rem - 4px);\\n border-radius: 0.625rem;\\n background-size: 50% 50%;\\n}\\n\\n.custom-switch.b-custom-control-lg .custom-control-input:checked ~ .custom-control-label::after,\\n.input-group-lg .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\\n -webkit-transform: translateX(0.9375rem);\\n transform: translateX(0.9375rem);\\n}\\n\\n.custom-switch.b-custom-control-sm,\\n.input-group-sm .custom-switch {\\n padding-left: 1.96875rem;\\n}\\n\\n.custom-switch.b-custom-control-sm .custom-control-label,\\n.input-group-sm .custom-switch .custom-control-label {\\n font-size: 0.875rem;\\n line-height: 1.5;\\n}\\n\\n.custom-switch.b-custom-control-sm .custom-control-label::before,\\n.input-group-sm .custom-switch .custom-control-label::before {\\n top: 0.21875rem;\\n left: -1.96875rem;\\n width: 1.53125rem;\\n height: 0.875rem;\\n border-radius: 0.4375rem;\\n}\\n\\n.custom-switch.b-custom-control-sm .custom-control-label::after,\\n.input-group-sm .custom-switch .custom-control-label::after {\\n top: calc( 0.21875rem + 2px);\\n left: calc( -1.96875rem + 2px);\\n width: calc( 0.875rem - 4px);\\n height: calc( 0.875rem - 4px);\\n border-radius: 0.4375rem;\\n background-size: 50% 50%;\\n}\\n\\n.custom-switch.b-custom-control-sm .custom-control-input:checked ~ .custom-control-label::after,\\n.input-group-sm .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\\n -webkit-transform: translateX(0.65625rem);\\n transform: translateX(0.65625rem);\\n}\\n\\n.input-group > .input-group-prepend > .btn-group > .btn,\\n.input-group > .input-group-append:not(:last-child) > .btn-group > .btn,\\n.input-group > .input-group-append:last-child > .btn-group:not(:last-child):not(.dropdown-toggle) > .btn {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.input-group > .input-group-append > .btn-group > .btn,\\n.input-group > .input-group-prepend:not(:first-child) > .btn-group > .btn,\\n.input-group > .input-group-prepend:first-child > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.b-custom-control-lg.custom-file,\\n.b-custom-control-lg .custom-file-input,\\n.b-custom-control-lg .custom-file-label,\\n.input-group-lg.custom-file,\\n.input-group-lg .custom-file-input,\\n.input-group-lg .custom-file-label {\\n font-size: 1.25rem;\\n height: calc(1.5em + 1rem + 2px);\\n}\\n\\n.b-custom-control-lg .custom-file-label,\\n.b-custom-control-lg .custom-file-label:after,\\n.input-group-lg .custom-file-label,\\n.input-group-lg .custom-file-label:after {\\n padding: 0.5rem 1rem;\\n line-height: 1.5;\\n}\\n\\n.b-custom-control-lg .custom-file-label,\\n.input-group-lg .custom-file-label {\\n border-radius: 0.3rem;\\n}\\n\\n.b-custom-control-lg .custom-file-label::after,\\n.input-group-lg .custom-file-label::after {\\n font-size: inherit;\\n height: calc( 1.5em + 1rem);\\n border-radius: 0 0.3rem 0.3rem 0;\\n}\\n\\n.b-custom-control-sm.custom-file,\\n.b-custom-control-sm .custom-file-input,\\n.b-custom-control-sm .custom-file-label,\\n.input-group-sm.custom-file,\\n.input-group-sm .custom-file-input,\\n.input-group-sm .custom-file-label {\\n font-size: 0.875rem;\\n height: calc(1.5em + 0.5rem + 2px);\\n}\\n\\n.b-custom-control-sm .custom-file-label,\\n.b-custom-control-sm .custom-file-label:after,\\n.input-group-sm .custom-file-label,\\n.input-group-sm .custom-file-label:after {\\n padding: 0.25rem 0.5rem;\\n line-height: 1.5;\\n}\\n\\n.b-custom-control-sm .custom-file-label,\\n.input-group-sm .custom-file-label {\\n border-radius: 0.2rem;\\n}\\n\\n.b-custom-control-sm .custom-file-label::after,\\n.input-group-sm .custom-file-label::after {\\n font-size: inherit;\\n height: calc( 1.5em + 0.5rem);\\n border-radius: 0 0.2rem 0.2rem 0;\\n}\\n\\n.was-validated .form-control:invalid,\\n.was-validated .form-control:valid, .form-control.is-invalid, .form-control.is-valid {\\n background-position: right calc(0.375em + 0.1875rem) center;\\n}\\n\\ninput[type=\\\"color\\\"].form-control {\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.125rem 0.25rem;\\n}\\n\\ninput[type=\\\"color\\\"].form-control.form-control-sm,\\n.input-group-sm input[type=\\\"color\\\"].form-control {\\n height: calc(1.5em + 0.5rem + 2px);\\n padding: 0.125rem 0.25rem;\\n}\\n\\ninput[type=\\\"color\\\"].form-control.form-control-lg,\\n.input-group-lg input[type=\\\"color\\\"].form-control {\\n height: calc(1.5em + 1rem + 2px);\\n padding: 0.125rem 0.25rem;\\n}\\n\\ninput[type=\\\"color\\\"].form-control:disabled {\\n background-color: #adb5bd;\\n opacity: 0.65;\\n}\\n\\n.input-group > .custom-range {\\n position: relative;\\n flex: 1 1 auto;\\n width: 1%;\\n margin-bottom: 0;\\n}\\n\\n.input-group > .custom-range + .form-control,\\n.input-group > .custom-range + .form-control-plaintext,\\n.input-group > .custom-range + .custom-select,\\n.input-group > .custom-range + .custom-range,\\n.input-group > .custom-range + .custom-file {\\n margin-left: -1px;\\n}\\n\\n.input-group > .form-control + .custom-range,\\n.input-group > .form-control-plaintext + .custom-range,\\n.input-group > .custom-select + .custom-range,\\n.input-group > .custom-range + .custom-range,\\n.input-group > .custom-file + .custom-range {\\n margin-left: -1px;\\n}\\n\\n.input-group > .custom-range:focus {\\n z-index: 3;\\n}\\n\\n.input-group > .custom-range:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.input-group > .custom-range:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.input-group > .custom-range {\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0 0.75rem;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ced4da;\\n height: calc(1.5em + 0.75rem + 2px);\\n border-radius: 0.25rem;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .input-group > .custom-range {\\n transition: none;\\n }\\n}\\n\\n.input-group > .custom-range:focus {\\n color: #495057;\\n background-color: #fff;\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n\\n.input-group > .custom-range:disabled, .input-group > .custom-range[readonly] {\\n background-color: #e9ecef;\\n}\\n\\n.input-group-lg > .custom-range {\\n height: calc(1.5em + 1rem + 2px);\\n padding: 0 1rem;\\n border-radius: 0.3rem;\\n}\\n\\n.input-group-sm > .custom-range {\\n height: calc(1.5em + 0.5rem + 2px);\\n padding: 0 0.5rem;\\n border-radius: 0.2rem;\\n}\\n\\n.was-validated .input-group .custom-range:valid, .input-group .custom-range.is-valid {\\n border-color: #28a745;\\n}\\n\\n.was-validated .input-group .custom-range:valid:focus, .input-group .custom-range.is-valid:focus {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\\n}\\n\\n.was-validated .custom-range:valid:focus::-webkit-slider-thumb, .custom-range.is-valid:focus::-webkit-slider-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #9be7ac;\\n}\\n\\n.was-validated .custom-range:valid:focus::-moz-range-thumb, .custom-range.is-valid:focus::-moz-range-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #9be7ac;\\n}\\n\\n.was-validated .custom-range:valid:focus::-ms-thumb, .custom-range.is-valid:focus::-ms-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #9be7ac;\\n}\\n\\n.was-validated .custom-range:valid::-webkit-slider-thumb, .custom-range.is-valid::-webkit-slider-thumb {\\n background-color: #28a745;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:valid::-webkit-slider-thumb:active, .custom-range.is-valid::-webkit-slider-thumb:active {\\n background-color: #9be7ac;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:valid::-webkit-slider-runnable-track, .custom-range.is-valid::-webkit-slider-runnable-track {\\n background-color: rgba(40, 167, 69, 0.35);\\n}\\n\\n.was-validated .custom-range:valid::-moz-range-thumb, .custom-range.is-valid::-moz-range-thumb {\\n background-color: #28a745;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:valid::-moz-range-thumb:active, .custom-range.is-valid::-moz-range-thumb:active {\\n background-color: #9be7ac;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:valid::-moz-range-track, .custom-range.is-valid::-moz-range-track {\\n background: rgba(40, 167, 69, 0.35);\\n}\\n\\n.was-validated .custom-range:valid ~ .valid-feedback,\\n.was-validated .custom-range:valid ~ .valid-tooltip, .custom-range.is-valid ~ .valid-feedback,\\n.custom-range.is-valid ~ .valid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .custom-range:valid::-ms-thumb, .custom-range.is-valid::-ms-thumb {\\n background-color: #28a745;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:valid::-ms-thumb:active, .custom-range.is-valid::-ms-thumb:active {\\n background-color: #9be7ac;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:valid::-ms-track-lower, .custom-range.is-valid::-ms-track-lower {\\n background: rgba(40, 167, 69, 0.35);\\n}\\n\\n.was-validated .custom-range:valid::-ms-track-upper, .custom-range.is-valid::-ms-track-upper {\\n background: rgba(40, 167, 69, 0.35);\\n}\\n\\n.was-validated .input-group .custom-range:invalid, .input-group .custom-range.is-invalid {\\n border-color: #dc3545;\\n}\\n\\n.was-validated .input-group .custom-range:invalid:focus, .input-group .custom-range.is-invalid:focus {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\\n}\\n\\n.was-validated .custom-range:invalid:focus::-webkit-slider-thumb, .custom-range.is-invalid:focus::-webkit-slider-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #f6cdd1;\\n}\\n\\n.was-validated .custom-range:invalid:focus::-moz-range-thumb, .custom-range.is-invalid:focus::-moz-range-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #f6cdd1;\\n}\\n\\n.was-validated .custom-range:invalid:focus::-ms-thumb, .custom-range.is-invalid:focus::-ms-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #f6cdd1;\\n}\\n\\n.was-validated .custom-range:invalid::-webkit-slider-thumb, .custom-range.is-invalid::-webkit-slider-thumb {\\n background-color: #dc3545;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:invalid::-webkit-slider-thumb:active, .custom-range.is-invalid::-webkit-slider-thumb:active {\\n background-color: #f6cdd1;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:invalid::-webkit-slider-runnable-track, .custom-range.is-invalid::-webkit-slider-runnable-track {\\n background-color: rgba(220, 53, 69, 0.35);\\n}\\n\\n.was-validated .custom-range:invalid::-moz-range-thumb, .custom-range.is-invalid::-moz-range-thumb {\\n background-color: #dc3545;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:invalid::-moz-range-thumb:active, .custom-range.is-invalid::-moz-range-thumb:active {\\n background-color: #f6cdd1;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:invalid::-moz-range-track, .custom-range.is-invalid::-moz-range-track {\\n background: rgba(220, 53, 69, 0.35);\\n}\\n\\n.was-validated .custom-range:invalid ~ .invalid-feedback,\\n.was-validated .custom-range:invalid ~ .invalid-tooltip, .custom-range.is-invalid ~ .invalid-feedback,\\n.custom-range.is-invalid ~ .invalid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .custom-range:invalid::-ms-thumb, .custom-range.is-invalid::-ms-thumb {\\n background-color: #dc3545;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:invalid::-ms-thumb:active, .custom-range.is-invalid::-ms-thumb:active {\\n background-color: #f6cdd1;\\n background-image: none;\\n}\\n\\n.was-validated .custom-range:invalid::-ms-track-lower, .custom-range.is-invalid::-ms-track-lower {\\n background: rgba(220, 53, 69, 0.35);\\n}\\n\\n.was-validated .custom-range:invalid::-ms-track-upper, .custom-range.is-invalid::-ms-track-upper {\\n background: rgba(220, 53, 69, 0.35);\\n}\\n\\n.custom-radio.b-custom-control-lg,\\n.input-group-lg .custom-radio {\\n font-size: 1.25rem;\\n line-height: 1.5;\\n padding-left: 1.875rem;\\n}\\n\\n.custom-radio.b-custom-control-lg .custom-control-label::before,\\n.input-group-lg .custom-radio .custom-control-label::before {\\n top: 0.3125rem;\\n left: -1.875rem;\\n width: 1.25rem;\\n height: 1.25rem;\\n border-radius: 50%;\\n}\\n\\n.custom-radio.b-custom-control-lg .custom-control-label::after,\\n.input-group-lg .custom-radio .custom-control-label::after {\\n top: 0.3125rem;\\n left: -1.875rem;\\n width: 1.25rem;\\n height: 1.25rem;\\n background: no-repeat 50% / 50% 50%;\\n}\\n\\n.custom-radio.b-custom-control-sm,\\n.input-group-sm .custom-radio {\\n font-size: 0.875rem;\\n line-height: 1.5;\\n padding-left: 1.3125rem;\\n}\\n\\n.custom-radio.b-custom-control-sm .custom-control-label::before,\\n.input-group-sm .custom-radio .custom-control-label::before {\\n top: 0.21875rem;\\n left: -1.3125rem;\\n width: 0.875rem;\\n height: 0.875rem;\\n border-radius: 50%;\\n}\\n\\n.custom-radio.b-custom-control-sm .custom-control-label::after,\\n.input-group-sm .custom-radio .custom-control-label::after {\\n top: 0.21875rem;\\n left: -1.3125rem;\\n width: 0.875rem;\\n height: 0.875rem;\\n background: no-repeat 50% / 50% 50%;\\n}\\n\\n.modal-backdrop {\\n opacity: 0.5;\\n}\\n\\n.popover.b-popover {\\n display: block;\\n opacity: 1;\\n}\\n\\n.popover.b-popover.fade:not(.show) {\\n opacity: 0;\\n}\\n\\n.popover.b-popover.show {\\n opacity: 1;\\n}\\n\\n.b-popover-primary.popover {\\n background-color: #cce5ff;\\n border-color: #b8daff;\\n}\\n\\n.b-popover-primary.bs-popover-top > .arrow::before, .b-popover-primary.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n border-top-color: #b8daff;\\n}\\n\\n.b-popover-primary.bs-popover-top > .arrow::after, .b-popover-primary.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n border-top-color: #cce5ff;\\n}\\n\\n.b-popover-primary.bs-popover-right > .arrow::before, .b-popover-primary.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::before {\\n border-right-color: #b8daff;\\n}\\n\\n.b-popover-primary.bs-popover-right > .arrow::after, .b-popover-primary.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n border-right-color: #cce5ff;\\n}\\n\\n.b-popover-primary.bs-popover-bottom > .arrow::before, .b-popover-primary.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::before {\\n border-bottom-color: #b8daff;\\n}\\n\\n.b-popover-primary.bs-popover-bottom > .arrow::after, .b-popover-primary.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n border-bottom-color: #bdddff;\\n}\\n\\n.b-popover-primary.bs-popover-bottom .popover-header::before, .b-popover-primary.bs-popover-auto[x-placement^=\\\"bottom\\\"] .popover-header::before {\\n border-bottom-color: #bdddff;\\n}\\n\\n.b-popover-primary.bs-popover-left > .arrow::before, .b-popover-primary.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::before {\\n border-left-color: #b8daff;\\n}\\n\\n.b-popover-primary.bs-popover-left > .arrow::after, .b-popover-primary.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n border-left-color: #cce5ff;\\n}\\n\\n.b-popover-primary .popover-header {\\n color: #212529;\\n background-color: #bdddff;\\n border-bottom-color: #a3d0ff;\\n}\\n\\n.b-popover-primary .popover-body {\\n color: #004085;\\n}\\n\\n.b-popover-secondary.popover {\\n background-color: #e2e3e5;\\n border-color: #d6d8db;\\n}\\n\\n.b-popover-secondary.bs-popover-top > .arrow::before, .b-popover-secondary.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n border-top-color: #d6d8db;\\n}\\n\\n.b-popover-secondary.bs-popover-top > .arrow::after, .b-popover-secondary.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n border-top-color: #e2e3e5;\\n}\\n\\n.b-popover-secondary.bs-popover-right > .arrow::before, .b-popover-secondary.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::before {\\n border-right-color: #d6d8db;\\n}\\n\\n.b-popover-secondary.bs-popover-right > .arrow::after, .b-popover-secondary.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n border-right-color: #e2e3e5;\\n}\\n\\n.b-popover-secondary.bs-popover-bottom > .arrow::before, .b-popover-secondary.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::before {\\n border-bottom-color: #d6d8db;\\n}\\n\\n.b-popover-secondary.bs-popover-bottom > .arrow::after, .b-popover-secondary.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n border-bottom-color: #dadbde;\\n}\\n\\n.b-popover-secondary.bs-popover-bottom .popover-header::before, .b-popover-secondary.bs-popover-auto[x-placement^=\\\"bottom\\\"] .popover-header::before {\\n border-bottom-color: #dadbde;\\n}\\n\\n.b-popover-secondary.bs-popover-left > .arrow::before, .b-popover-secondary.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::before {\\n border-left-color: #d6d8db;\\n}\\n\\n.b-popover-secondary.bs-popover-left > .arrow::after, .b-popover-secondary.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n border-left-color: #e2e3e5;\\n}\\n\\n.b-popover-secondary .popover-header {\\n color: #212529;\\n background-color: #dadbde;\\n border-bottom-color: #ccced2;\\n}\\n\\n.b-popover-secondary .popover-body {\\n color: #383d41;\\n}\\n\\n.b-popover-success.popover {\\n background-color: #d4edda;\\n border-color: #c3e6cb;\\n}\\n\\n.b-popover-success.bs-popover-top > .arrow::before, .b-popover-success.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n border-top-color: #c3e6cb;\\n}\\n\\n.b-popover-success.bs-popover-top > .arrow::after, .b-popover-success.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n border-top-color: #d4edda;\\n}\\n\\n.b-popover-success.bs-popover-right > .arrow::before, .b-popover-success.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::before {\\n border-right-color: #c3e6cb;\\n}\\n\\n.b-popover-success.bs-popover-right > .arrow::after, .b-popover-success.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n border-right-color: #d4edda;\\n}\\n\\n.b-popover-success.bs-popover-bottom > .arrow::before, .b-popover-success.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::before {\\n border-bottom-color: #c3e6cb;\\n}\\n\\n.b-popover-success.bs-popover-bottom > .arrow::after, .b-popover-success.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n border-bottom-color: #c9e8d1;\\n}\\n\\n.b-popover-success.bs-popover-bottom .popover-header::before, .b-popover-success.bs-popover-auto[x-placement^=\\\"bottom\\\"] .popover-header::before {\\n border-bottom-color: #c9e8d1;\\n}\\n\\n.b-popover-success.bs-popover-left > .arrow::before, .b-popover-success.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::before {\\n border-left-color: #c3e6cb;\\n}\\n\\n.b-popover-success.bs-popover-left > .arrow::after, .b-popover-success.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n border-left-color: #d4edda;\\n}\\n\\n.b-popover-success .popover-header {\\n color: #212529;\\n background-color: #c9e8d1;\\n border-bottom-color: #b7e1c1;\\n}\\n\\n.b-popover-success .popover-body {\\n color: #155724;\\n}\\n\\n.b-popover-info.popover {\\n background-color: #d1ecf1;\\n border-color: #bee5eb;\\n}\\n\\n.b-popover-info.bs-popover-top > .arrow::before, .b-popover-info.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n border-top-color: #bee5eb;\\n}\\n\\n.b-popover-info.bs-popover-top > .arrow::after, .b-popover-info.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n border-top-color: #d1ecf1;\\n}\\n\\n.b-popover-info.bs-popover-right > .arrow::before, .b-popover-info.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::before {\\n border-right-color: #bee5eb;\\n}\\n\\n.b-popover-info.bs-popover-right > .arrow::after, .b-popover-info.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n border-right-color: #d1ecf1;\\n}\\n\\n.b-popover-info.bs-popover-bottom > .arrow::before, .b-popover-info.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::before {\\n border-bottom-color: #bee5eb;\\n}\\n\\n.b-popover-info.bs-popover-bottom > .arrow::after, .b-popover-info.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n border-bottom-color: #c5e7ed;\\n}\\n\\n.b-popover-info.bs-popover-bottom .popover-header::before, .b-popover-info.bs-popover-auto[x-placement^=\\\"bottom\\\"] .popover-header::before {\\n border-bottom-color: #c5e7ed;\\n}\\n\\n.b-popover-info.bs-popover-left > .arrow::before, .b-popover-info.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::before {\\n border-left-color: #bee5eb;\\n}\\n\\n.b-popover-info.bs-popover-left > .arrow::after, .b-popover-info.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n border-left-color: #d1ecf1;\\n}\\n\\n.b-popover-info .popover-header {\\n color: #212529;\\n background-color: #c5e7ed;\\n border-bottom-color: #b2dfe7;\\n}\\n\\n.b-popover-info .popover-body {\\n color: #0c5460;\\n}\\n\\n.b-popover-warning.popover {\\n background-color: #fff3cd;\\n border-color: #ffeeba;\\n}\\n\\n.b-popover-warning.bs-popover-top > .arrow::before, .b-popover-warning.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n border-top-color: #ffeeba;\\n}\\n\\n.b-popover-warning.bs-popover-top > .arrow::after, .b-popover-warning.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n border-top-color: #fff3cd;\\n}\\n\\n.b-popover-warning.bs-popover-right > .arrow::before, .b-popover-warning.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::before {\\n border-right-color: #ffeeba;\\n}\\n\\n.b-popover-warning.bs-popover-right > .arrow::after, .b-popover-warning.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n border-right-color: #fff3cd;\\n}\\n\\n.b-popover-warning.bs-popover-bottom > .arrow::before, .b-popover-warning.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::before {\\n border-bottom-color: #ffeeba;\\n}\\n\\n.b-popover-warning.bs-popover-bottom > .arrow::after, .b-popover-warning.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n border-bottom-color: #ffefbe;\\n}\\n\\n.b-popover-warning.bs-popover-bottom .popover-header::before, .b-popover-warning.bs-popover-auto[x-placement^=\\\"bottom\\\"] .popover-header::before {\\n border-bottom-color: #ffefbe;\\n}\\n\\n.b-popover-warning.bs-popover-left > .arrow::before, .b-popover-warning.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::before {\\n border-left-color: #ffeeba;\\n}\\n\\n.b-popover-warning.bs-popover-left > .arrow::after, .b-popover-warning.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n border-left-color: #fff3cd;\\n}\\n\\n.b-popover-warning .popover-header {\\n color: #212529;\\n background-color: #ffefbe;\\n border-bottom-color: #ffe9a4;\\n}\\n\\n.b-popover-warning .popover-body {\\n color: #856404;\\n}\\n\\n.b-popover-danger.popover {\\n background-color: #f8d7da;\\n border-color: #f5c6cb;\\n}\\n\\n.b-popover-danger.bs-popover-top > .arrow::before, .b-popover-danger.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n border-top-color: #f5c6cb;\\n}\\n\\n.b-popover-danger.bs-popover-top > .arrow::after, .b-popover-danger.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n border-top-color: #f8d7da;\\n}\\n\\n.b-popover-danger.bs-popover-right > .arrow::before, .b-popover-danger.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::before {\\n border-right-color: #f5c6cb;\\n}\\n\\n.b-popover-danger.bs-popover-right > .arrow::after, .b-popover-danger.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n border-right-color: #f8d7da;\\n}\\n\\n.b-popover-danger.bs-popover-bottom > .arrow::before, .b-popover-danger.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::before {\\n border-bottom-color: #f5c6cb;\\n}\\n\\n.b-popover-danger.bs-popover-bottom > .arrow::after, .b-popover-danger.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n border-bottom-color: #f6cace;\\n}\\n\\n.b-popover-danger.bs-popover-bottom .popover-header::before, .b-popover-danger.bs-popover-auto[x-placement^=\\\"bottom\\\"] .popover-header::before {\\n border-bottom-color: #f6cace;\\n}\\n\\n.b-popover-danger.bs-popover-left > .arrow::before, .b-popover-danger.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::before {\\n border-left-color: #f5c6cb;\\n}\\n\\n.b-popover-danger.bs-popover-left > .arrow::after, .b-popover-danger.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n border-left-color: #f8d7da;\\n}\\n\\n.b-popover-danger .popover-header {\\n color: #212529;\\n background-color: #f6cace;\\n border-bottom-color: #f2b4ba;\\n}\\n\\n.b-popover-danger .popover-body {\\n color: #721c24;\\n}\\n\\n.b-popover-light.popover {\\n background-color: #fefefe;\\n border-color: #fdfdfe;\\n}\\n\\n.b-popover-light.bs-popover-top > .arrow::before, .b-popover-light.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n border-top-color: #fdfdfe;\\n}\\n\\n.b-popover-light.bs-popover-top > .arrow::after, .b-popover-light.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n border-top-color: #fefefe;\\n}\\n\\n.b-popover-light.bs-popover-right > .arrow::before, .b-popover-light.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::before {\\n border-right-color: #fdfdfe;\\n}\\n\\n.b-popover-light.bs-popover-right > .arrow::after, .b-popover-light.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n border-right-color: #fefefe;\\n}\\n\\n.b-popover-light.bs-popover-bottom > .arrow::before, .b-popover-light.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::before {\\n border-bottom-color: #fdfdfe;\\n}\\n\\n.b-popover-light.bs-popover-bottom > .arrow::after, .b-popover-light.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n border-bottom-color: #f6f6f6;\\n}\\n\\n.b-popover-light.bs-popover-bottom .popover-header::before, .b-popover-light.bs-popover-auto[x-placement^=\\\"bottom\\\"] .popover-header::before {\\n border-bottom-color: #f6f6f6;\\n}\\n\\n.b-popover-light.bs-popover-left > .arrow::before, .b-popover-light.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::before {\\n border-left-color: #fdfdfe;\\n}\\n\\n.b-popover-light.bs-popover-left > .arrow::after, .b-popover-light.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n border-left-color: #fefefe;\\n}\\n\\n.b-popover-light .popover-header {\\n color: #212529;\\n background-color: #f6f6f6;\\n border-bottom-color: #eaeaea;\\n}\\n\\n.b-popover-light .popover-body {\\n color: #818182;\\n}\\n\\n.b-popover-dark.popover {\\n background-color: #d6d8d9;\\n border-color: #c6c8ca;\\n}\\n\\n.b-popover-dark.bs-popover-top > .arrow::before, .b-popover-dark.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n border-top-color: #c6c8ca;\\n}\\n\\n.b-popover-dark.bs-popover-top > .arrow::after, .b-popover-dark.bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n border-top-color: #d6d8d9;\\n}\\n\\n.b-popover-dark.bs-popover-right > .arrow::before, .b-popover-dark.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::before {\\n border-right-color: #c6c8ca;\\n}\\n\\n.b-popover-dark.bs-popover-right > .arrow::after, .b-popover-dark.bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n border-right-color: #d6d8d9;\\n}\\n\\n.b-popover-dark.bs-popover-bottom > .arrow::before, .b-popover-dark.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::before {\\n border-bottom-color: #c6c8ca;\\n}\\n\\n.b-popover-dark.bs-popover-bottom > .arrow::after, .b-popover-dark.bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n border-bottom-color: #ced0d2;\\n}\\n\\n.b-popover-dark.bs-popover-bottom .popover-header::before, .b-popover-dark.bs-popover-auto[x-placement^=\\\"bottom\\\"] .popover-header::before {\\n border-bottom-color: #ced0d2;\\n}\\n\\n.b-popover-dark.bs-popover-left > .arrow::before, .b-popover-dark.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::before {\\n border-left-color: #c6c8ca;\\n}\\n\\n.b-popover-dark.bs-popover-left > .arrow::after, .b-popover-dark.bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n border-left-color: #d6d8d9;\\n}\\n\\n.b-popover-dark .popover-header {\\n color: #212529;\\n background-color: #ced0d2;\\n border-bottom-color: #c1c4c5;\\n}\\n\\n.b-popover-dark .popover-body {\\n color: #1b1e21;\\n}\\n\\n.table.b-table.b-table-fixed {\\n table-layout: fixed;\\n}\\n\\n.table.b-table.b-table-no-border-collapse {\\n border-collapse: separate;\\n border-spacing: 0;\\n}\\n\\n.table.b-table[aria-busy=\\\"true\\\"] {\\n opacity: 0.55;\\n}\\n\\n.table.b-table > tbody > tr.b-table-details > td {\\n border-top: none !important;\\n}\\n\\n.table.b-table > caption {\\n caption-side: bottom;\\n}\\n\\n.table.b-table.b-table-caption-top > caption {\\n caption-side: top !important;\\n}\\n\\n.table.b-table > tbody > .table-active,\\n.table.b-table > tbody > .table-active > th,\\n.table.b-table > tbody > .table-active > td {\\n background-color: rgba(0, 0, 0, 0.075);\\n}\\n\\n.table.b-table.table-hover > tbody > tr.table-active:hover td,\\n.table.b-table.table-hover > tbody > tr.table-active:hover th {\\n color: #212529;\\n background-image: linear-gradient(rgba(0, 0, 0, 0.075), rgba(0, 0, 0, 0.075));\\n background-repeat: no-repeat;\\n}\\n\\n.table.b-table > tbody > .bg-active,\\n.table.b-table > tbody > .bg-active > th,\\n.table.b-table > tbody > .bg-active > td {\\n background-color: rgba(255, 255, 255, 0.075) !important;\\n}\\n\\n.table.b-table.table-hover.table-dark > tbody > tr.bg-active:hover td,\\n.table.b-table.table-hover.table-dark > tbody > tr.bg-active:hover th {\\n color: #fff;\\n background-image: linear-gradient(rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.075));\\n background-repeat: no-repeat;\\n}\\n\\n.b-table-sticky-header,\\n.table-responsive,\\n[class*=\\\"table-responsive-\\\"] {\\n margin-bottom: 1rem;\\n}\\n\\n.b-table-sticky-header > .table,\\n.table-responsive > .table,\\n[class*=\\\"table-responsive-\\\"] > .table {\\n margin-bottom: 0;\\n}\\n\\n.b-table-sticky-header {\\n overflow-y: auto;\\n max-height: 300px;\\n}\\n\\n@media print {\\n .b-table-sticky-header {\\n overflow-y: visible !important;\\n max-height: none !important;\\n }\\n}\\n\\n@supports ((position: -webkit-sticky) or (position: sticky)) {\\n .b-table-sticky-header > .table.b-table > thead > tr > th {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 2;\\n }\\n .b-table-sticky-header > .table.b-table > thead > tr > .b-table-sticky-column,\\n .b-table-sticky-header > .table.b-table > tbody > tr > .b-table-sticky-column,\\n .b-table-sticky-header > .table.b-table > tfoot > tr > .b-table-sticky-column,\\n .table-responsive > .table.b-table > thead > tr > .b-table-sticky-column,\\n .table-responsive > .table.b-table > tbody > tr > .b-table-sticky-column,\\n .table-responsive > .table.b-table > tfoot > tr > .b-table-sticky-column,\\n [class*=\\\"table-responsive-\\\"] > .table.b-table > thead > tr > .b-table-sticky-column,\\n [class*=\\\"table-responsive-\\\"] > .table.b-table > tbody > tr > .b-table-sticky-column,\\n [class*=\\\"table-responsive-\\\"] > .table.b-table > tfoot > tr > .b-table-sticky-column {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 0;\\n }\\n .b-table-sticky-header > .table.b-table > thead > tr > .b-table-sticky-column,\\n .table-responsive > .table.b-table > thead > tr > .b-table-sticky-column,\\n [class*=\\\"table-responsive-\\\"] > .table.b-table > thead > tr > .b-table-sticky-column {\\n z-index: 5;\\n }\\n .b-table-sticky-header > .table.b-table > tbody > tr > .b-table-sticky-column,\\n .b-table-sticky-header > .table.b-table > tfoot > tr > .b-table-sticky-column,\\n .table-responsive > .table.b-table > tbody > tr > .b-table-sticky-column,\\n .table-responsive > .table.b-table > tfoot > tr > .b-table-sticky-column,\\n [class*=\\\"table-responsive-\\\"] > .table.b-table > tbody > tr > .b-table-sticky-column,\\n [class*=\\\"table-responsive-\\\"] > .table.b-table > tfoot > tr > .b-table-sticky-column {\\n z-index: 2;\\n }\\n .table.b-table > thead > tr > .table-b-table-default,\\n .table.b-table > tbody > tr > .table-b-table-default,\\n .table.b-table > tfoot > tr > .table-b-table-default {\\n color: #212529;\\n background-color: #fff;\\n }\\n .table.b-table.table-dark > thead > tr > .bg-b-table-default,\\n .table.b-table.table-dark > tbody > tr > .bg-b-table-default,\\n .table.b-table.table-dark > tfoot > tr > .bg-b-table-default {\\n color: #fff;\\n background-color: #343a40;\\n }\\n .table.b-table.table-striped > tbody > tr:nth-of-type(odd) > .table-b-table-default {\\n background-image: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05));\\n background-repeat: no-repeat;\\n }\\n .table.b-table.table-striped.table-dark > tbody > tr:nth-of-type(odd) > .bg-b-table-default {\\n background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05));\\n background-repeat: no-repeat;\\n }\\n .table.b-table.table-hover > tbody > tr:hover > .table-b-table-default {\\n color: #212529;\\n background-image: linear-gradient(rgba(0, 0, 0, 0.075), rgba(0, 0, 0, 0.075));\\n background-repeat: no-repeat;\\n }\\n .table.b-table.table-hover.table-dark > tbody > tr:hover > .bg-b-table-default {\\n color: #fff;\\n background-image: linear-gradient(rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.075));\\n background-repeat: no-repeat;\\n }\\n}\\n\\n.table.b-table > thead > tr > [aria-sort],\\n.table.b-table > tfoot > tr > [aria-sort] {\\n cursor: pointer;\\n background-image: none;\\n background-repeat: no-repeat;\\n background-size: 0.65em 1em;\\n}\\n\\n.table.b-table > thead > tr > [aria-sort]:not(.b-table-sort-icon-left),\\n.table.b-table > tfoot > tr > [aria-sort]:not(.b-table-sort-icon-left) {\\n background-position: right calc(0.75rem / 2) center;\\n padding-right: calc(0.75rem + 0.65em);\\n}\\n\\n.table.b-table > thead > tr > [aria-sort].b-table-sort-icon-left,\\n.table.b-table > tfoot > tr > [aria-sort].b-table-sort-icon-left {\\n background-position: left calc(0.75rem / 2) center;\\n padding-left: calc(0.75rem + 0.65em);\\n}\\n\\n.table.b-table > thead > tr > [aria-sort=\\\"none\\\"],\\n.table.b-table > tfoot > tr > [aria-sort=\\\"none\\\"] {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='black' opacity='.3' d='M51 1l25 23 24 22H1l25-22zM51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.table.b-table > thead > tr > [aria-sort=\\\"ascending\\\"],\\n.table.b-table > tfoot > tr > [aria-sort=\\\"ascending\\\"] {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='black' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='black' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.table.b-table > thead > tr > [aria-sort=\\\"descending\\\"],\\n.table.b-table > tfoot > tr > [aria-sort=\\\"descending\\\"] {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='black' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='black' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.table.b-table.table-dark > thead > tr > [aria-sort=\\\"none\\\"],\\n.table.b-table.table-dark > tfoot > tr > [aria-sort=\\\"none\\\"],\\n.table.b-table > .thead-dark > tr > [aria-sort=\\\"none\\\"] {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' opacity='.3' d='M51 1l25 23 24 22H1l25-22zM51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.table.b-table.table-dark > thead > tr > [aria-sort=\\\"ascending\\\"],\\n.table.b-table.table-dark > tfoot > tr > [aria-sort=\\\"ascending\\\"],\\n.table.b-table > .thead-dark > tr > [aria-sort=\\\"ascending\\\"] {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='white' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.table.b-table.table-dark > thead > tr > [aria-sort=\\\"descending\\\"],\\n.table.b-table.table-dark > tfoot > tr > [aria-sort=\\\"descending\\\"],\\n.table.b-table > .thead-dark > tr > [aria-sort=\\\"descending\\\"] {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='white' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.table.b-table > thead > tr > .table-dark[aria-sort=\\\"none\\\"],\\n.table.b-table > tfoot > tr > .table-dark[aria-sort=\\\"none\\\"] {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' opacity='.3' d='M51 1l25 23 24 22H1l25-22zM51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.table.b-table > thead > tr > .table-dark[aria-sort=\\\"ascending\\\"],\\n.table.b-table > tfoot > tr > .table-dark[aria-sort=\\\"ascending\\\"] {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='white' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.table.b-table > thead > tr > .table-dark[aria-sort=\\\"descending\\\"],\\n.table.b-table > tfoot > tr > .table-dark[aria-sort=\\\"descending\\\"] {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='white' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3e%3cpath fill='white' d='M51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.table.b-table.table-sm > thead > tr > [aria-sort]:not(.b-table-sort-icon-left),\\n.table.b-table.table-sm > tfoot > tr > [aria-sort]:not(.b-table-sort-icon-left) {\\n background-position: right calc(0.3rem / 2) center;\\n padding-right: calc(0.3rem + 0.65em);\\n}\\n\\n.table.b-table.table-sm > thead > tr > [aria-sort].b-table-sort-icon-left,\\n.table.b-table.table-sm > tfoot > tr > [aria-sort].b-table-sort-icon-left {\\n background-position: left calc(0.3rem / 2) center;\\n padding-left: calc(0.3rem + 0.65em);\\n}\\n\\n.table.b-table.b-table-selectable > tbody > tr {\\n cursor: pointer;\\n}\\n\\n.table.b-table.b-table-selectable.b-table-selecting.b-table-select-range > tbody > tr {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n@media (max-width: 575.98px) {\\n .table.b-table.b-table-stacked-sm {\\n display: block;\\n width: 100%;\\n }\\n .table.b-table.b-table-stacked-sm > caption,\\n .table.b-table.b-table-stacked-sm > tbody,\\n .table.b-table.b-table-stacked-sm > tbody > tr,\\n .table.b-table.b-table-stacked-sm > tbody > tr > td,\\n .table.b-table.b-table-stacked-sm > tbody > tr > th {\\n display: block;\\n }\\n .table.b-table.b-table-stacked-sm > thead,\\n .table.b-table.b-table-stacked-sm > tfoot {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-sm > thead > tr.b-table-top-row,\\n .table.b-table.b-table-stacked-sm > thead > tr.b-table-bottom-row,\\n .table.b-table.b-table-stacked-sm > tfoot > tr.b-table-top-row,\\n .table.b-table.b-table-stacked-sm > tfoot > tr.b-table-bottom-row {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-sm > caption {\\n caption-side: top !important;\\n }\\n .table.b-table.b-table-stacked-sm > tbody > tr > [data-label]::before {\\n content: attr(data-label);\\n width: 40%;\\n float: left;\\n text-align: right;\\n overflow-wrap: break-word;\\n font-weight: bold;\\n font-style: normal;\\n padding: 0 calc(1rem / 2) 0 0;\\n margin: 0;\\n }\\n .table.b-table.b-table-stacked-sm > tbody > tr > [data-label]::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n }\\n .table.b-table.b-table-stacked-sm > tbody > tr > [data-label] > div {\\n display: inline-block;\\n width: calc(100% - 40%);\\n padding: 0 0 0 calc(1rem / 2);\\n margin: 0;\\n }\\n .table.b-table.b-table-stacked-sm > tbody > tr.top-row, .table.b-table.b-table-stacked-sm > tbody > tr.bottom-row {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-sm > tbody > tr > :first-child {\\n border-top-width: 3px;\\n }\\n .table.b-table.b-table-stacked-sm > tbody > tr > [rowspan] + td,\\n .table.b-table.b-table-stacked-sm > tbody > tr > [rowspan] + th {\\n border-top-width: 3px;\\n }\\n}\\n\\n@media (max-width: 767.98px) {\\n .table.b-table.b-table-stacked-md {\\n display: block;\\n width: 100%;\\n }\\n .table.b-table.b-table-stacked-md > caption,\\n .table.b-table.b-table-stacked-md > tbody,\\n .table.b-table.b-table-stacked-md > tbody > tr,\\n .table.b-table.b-table-stacked-md > tbody > tr > td,\\n .table.b-table.b-table-stacked-md > tbody > tr > th {\\n display: block;\\n }\\n .table.b-table.b-table-stacked-md > thead,\\n .table.b-table.b-table-stacked-md > tfoot {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-md > thead > tr.b-table-top-row,\\n .table.b-table.b-table-stacked-md > thead > tr.b-table-bottom-row,\\n .table.b-table.b-table-stacked-md > tfoot > tr.b-table-top-row,\\n .table.b-table.b-table-stacked-md > tfoot > tr.b-table-bottom-row {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-md > caption {\\n caption-side: top !important;\\n }\\n .table.b-table.b-table-stacked-md > tbody > tr > [data-label]::before {\\n content: attr(data-label);\\n width: 40%;\\n float: left;\\n text-align: right;\\n overflow-wrap: break-word;\\n font-weight: bold;\\n font-style: normal;\\n padding: 0 calc(1rem / 2) 0 0;\\n margin: 0;\\n }\\n .table.b-table.b-table-stacked-md > tbody > tr > [data-label]::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n }\\n .table.b-table.b-table-stacked-md > tbody > tr > [data-label] > div {\\n display: inline-block;\\n width: calc(100% - 40%);\\n padding: 0 0 0 calc(1rem / 2);\\n margin: 0;\\n }\\n .table.b-table.b-table-stacked-md > tbody > tr.top-row, .table.b-table.b-table-stacked-md > tbody > tr.bottom-row {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-md > tbody > tr > :first-child {\\n border-top-width: 3px;\\n }\\n .table.b-table.b-table-stacked-md > tbody > tr > [rowspan] + td,\\n .table.b-table.b-table-stacked-md > tbody > tr > [rowspan] + th {\\n border-top-width: 3px;\\n }\\n}\\n\\n@media (max-width: 991.98px) {\\n .table.b-table.b-table-stacked-lg {\\n display: block;\\n width: 100%;\\n }\\n .table.b-table.b-table-stacked-lg > caption,\\n .table.b-table.b-table-stacked-lg > tbody,\\n .table.b-table.b-table-stacked-lg > tbody > tr,\\n .table.b-table.b-table-stacked-lg > tbody > tr > td,\\n .table.b-table.b-table-stacked-lg > tbody > tr > th {\\n display: block;\\n }\\n .table.b-table.b-table-stacked-lg > thead,\\n .table.b-table.b-table-stacked-lg > tfoot {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-lg > thead > tr.b-table-top-row,\\n .table.b-table.b-table-stacked-lg > thead > tr.b-table-bottom-row,\\n .table.b-table.b-table-stacked-lg > tfoot > tr.b-table-top-row,\\n .table.b-table.b-table-stacked-lg > tfoot > tr.b-table-bottom-row {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-lg > caption {\\n caption-side: top !important;\\n }\\n .table.b-table.b-table-stacked-lg > tbody > tr > [data-label]::before {\\n content: attr(data-label);\\n width: 40%;\\n float: left;\\n text-align: right;\\n overflow-wrap: break-word;\\n font-weight: bold;\\n font-style: normal;\\n padding: 0 calc(1rem / 2) 0 0;\\n margin: 0;\\n }\\n .table.b-table.b-table-stacked-lg > tbody > tr > [data-label]::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n }\\n .table.b-table.b-table-stacked-lg > tbody > tr > [data-label] > div {\\n display: inline-block;\\n width: calc(100% - 40%);\\n padding: 0 0 0 calc(1rem / 2);\\n margin: 0;\\n }\\n .table.b-table.b-table-stacked-lg > tbody > tr.top-row, .table.b-table.b-table-stacked-lg > tbody > tr.bottom-row {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-lg > tbody > tr > :first-child {\\n border-top-width: 3px;\\n }\\n .table.b-table.b-table-stacked-lg > tbody > tr > [rowspan] + td,\\n .table.b-table.b-table-stacked-lg > tbody > tr > [rowspan] + th {\\n border-top-width: 3px;\\n }\\n}\\n\\n@media (max-width: 1199.98px) {\\n .table.b-table.b-table-stacked-xl {\\n display: block;\\n width: 100%;\\n }\\n .table.b-table.b-table-stacked-xl > caption,\\n .table.b-table.b-table-stacked-xl > tbody,\\n .table.b-table.b-table-stacked-xl > tbody > tr,\\n .table.b-table.b-table-stacked-xl > tbody > tr > td,\\n .table.b-table.b-table-stacked-xl > tbody > tr > th {\\n display: block;\\n }\\n .table.b-table.b-table-stacked-xl > thead,\\n .table.b-table.b-table-stacked-xl > tfoot {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-xl > thead > tr.b-table-top-row,\\n .table.b-table.b-table-stacked-xl > thead > tr.b-table-bottom-row,\\n .table.b-table.b-table-stacked-xl > tfoot > tr.b-table-top-row,\\n .table.b-table.b-table-stacked-xl > tfoot > tr.b-table-bottom-row {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-xl > caption {\\n caption-side: top !important;\\n }\\n .table.b-table.b-table-stacked-xl > tbody > tr > [data-label]::before {\\n content: attr(data-label);\\n width: 40%;\\n float: left;\\n text-align: right;\\n overflow-wrap: break-word;\\n font-weight: bold;\\n font-style: normal;\\n padding: 0 calc(1rem / 2) 0 0;\\n margin: 0;\\n }\\n .table.b-table.b-table-stacked-xl > tbody > tr > [data-label]::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n }\\n .table.b-table.b-table-stacked-xl > tbody > tr > [data-label] > div {\\n display: inline-block;\\n width: calc(100% - 40%);\\n padding: 0 0 0 calc(1rem / 2);\\n margin: 0;\\n }\\n .table.b-table.b-table-stacked-xl > tbody > tr.top-row, .table.b-table.b-table-stacked-xl > tbody > tr.bottom-row {\\n display: none;\\n }\\n .table.b-table.b-table-stacked-xl > tbody > tr > :first-child {\\n border-top-width: 3px;\\n }\\n .table.b-table.b-table-stacked-xl > tbody > tr > [rowspan] + td,\\n .table.b-table.b-table-stacked-xl > tbody > tr > [rowspan] + th {\\n border-top-width: 3px;\\n }\\n}\\n\\n.table.b-table.b-table-stacked {\\n display: block;\\n width: 100%;\\n}\\n\\n.table.b-table.b-table-stacked > caption,\\n.table.b-table.b-table-stacked > tbody,\\n.table.b-table.b-table-stacked > tbody > tr,\\n.table.b-table.b-table-stacked > tbody > tr > td,\\n.table.b-table.b-table-stacked > tbody > tr > th {\\n display: block;\\n}\\n\\n.table.b-table.b-table-stacked > thead,\\n.table.b-table.b-table-stacked > tfoot {\\n display: none;\\n}\\n\\n.table.b-table.b-table-stacked > thead > tr.b-table-top-row,\\n.table.b-table.b-table-stacked > thead > tr.b-table-bottom-row,\\n.table.b-table.b-table-stacked > tfoot > tr.b-table-top-row,\\n.table.b-table.b-table-stacked > tfoot > tr.b-table-bottom-row {\\n display: none;\\n}\\n\\n.table.b-table.b-table-stacked > caption {\\n caption-side: top !important;\\n}\\n\\n.table.b-table.b-table-stacked > tbody > tr > [data-label]::before {\\n content: attr(data-label);\\n width: 40%;\\n float: left;\\n text-align: right;\\n overflow-wrap: break-word;\\n font-weight: bold;\\n font-style: normal;\\n padding: 0 calc(1rem / 2) 0 0;\\n margin: 0;\\n}\\n\\n.table.b-table.b-table-stacked > tbody > tr > [data-label]::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n}\\n\\n.table.b-table.b-table-stacked > tbody > tr > [data-label] > div {\\n display: inline-block;\\n width: calc(100% - 40%);\\n padding: 0 0 0 calc(1rem / 2);\\n margin: 0;\\n}\\n\\n.table.b-table.b-table-stacked > tbody > tr.top-row, .table.b-table.b-table-stacked > tbody > tr.bottom-row {\\n display: none;\\n}\\n\\n.table.b-table.b-table-stacked > tbody > tr > :first-child {\\n border-top-width: 3px;\\n}\\n\\n.table.b-table.b-table-stacked > tbody > tr > [rowspan] + td,\\n.table.b-table.b-table-stacked > tbody > tr > [rowspan] + th {\\n border-top-width: 3px;\\n}\\n\\n.b-toast {\\n display: block;\\n position: relative;\\n max-width: 350px;\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n background-clip: padding-box;\\n z-index: 1;\\n border-radius: 0.25rem;\\n}\\n\\n.b-toast .toast {\\n background-color: rgba(255, 255, 255, 0.85);\\n}\\n\\n.b-toast:not(:last-child) {\\n margin-bottom: 0.75rem;\\n}\\n\\n.b-toast.b-toast-solid .toast {\\n background-color: white;\\n}\\n\\n.b-toast .toast {\\n opacity: 1;\\n}\\n\\n.b-toast .toast.fade:not(.show) {\\n opacity: 0;\\n}\\n\\n.b-toast .toast .toast-body {\\n display: block;\\n}\\n\\n.b-toast-primary .toast {\\n background-color: rgba(230, 242, 255, 0.85);\\n border-color: rgba(184, 218, 255, 0.85);\\n color: #004085;\\n}\\n\\n.b-toast-primary .toast .toast-header {\\n color: #004085;\\n background-color: rgba(204, 229, 255, 0.85);\\n border-bottom-color: rgba(184, 218, 255, 0.85);\\n}\\n\\n.b-toast-primary.b-toast-solid .toast {\\n background-color: #e6f2ff;\\n}\\n\\n.b-toast-secondary .toast {\\n background-color: rgba(239, 240, 241, 0.85);\\n border-color: rgba(214, 216, 219, 0.85);\\n color: #383d41;\\n}\\n\\n.b-toast-secondary .toast .toast-header {\\n color: #383d41;\\n background-color: rgba(226, 227, 229, 0.85);\\n border-bottom-color: rgba(214, 216, 219, 0.85);\\n}\\n\\n.b-toast-secondary.b-toast-solid .toast {\\n background-color: #eff0f1;\\n}\\n\\n.b-toast-success .toast {\\n background-color: rgba(230, 245, 233, 0.85);\\n border-color: rgba(195, 230, 203, 0.85);\\n color: #155724;\\n}\\n\\n.b-toast-success .toast .toast-header {\\n color: #155724;\\n background-color: rgba(212, 237, 218, 0.85);\\n border-bottom-color: rgba(195, 230, 203, 0.85);\\n}\\n\\n.b-toast-success.b-toast-solid .toast {\\n background-color: #e6f5e9;\\n}\\n\\n.b-toast-info .toast {\\n background-color: rgba(229, 244, 247, 0.85);\\n border-color: rgba(190, 229, 235, 0.85);\\n color: #0c5460;\\n}\\n\\n.b-toast-info .toast .toast-header {\\n color: #0c5460;\\n background-color: rgba(209, 236, 241, 0.85);\\n border-bottom-color: rgba(190, 229, 235, 0.85);\\n}\\n\\n.b-toast-info.b-toast-solid .toast {\\n background-color: #e5f4f7;\\n}\\n\\n.b-toast-warning .toast {\\n background-color: rgba(255, 249, 231, 0.85);\\n border-color: rgba(255, 238, 186, 0.85);\\n color: #856404;\\n}\\n\\n.b-toast-warning .toast .toast-header {\\n color: #856404;\\n background-color: rgba(255, 243, 205, 0.85);\\n border-bottom-color: rgba(255, 238, 186, 0.85);\\n}\\n\\n.b-toast-warning.b-toast-solid .toast {\\n background-color: #fff9e7;\\n}\\n\\n.b-toast-danger .toast {\\n background-color: rgba(252, 237, 238, 0.85);\\n border-color: rgba(245, 198, 203, 0.85);\\n color: #721c24;\\n}\\n\\n.b-toast-danger .toast .toast-header {\\n color: #721c24;\\n background-color: rgba(248, 215, 218, 0.85);\\n border-bottom-color: rgba(245, 198, 203, 0.85);\\n}\\n\\n.b-toast-danger.b-toast-solid .toast {\\n background-color: #fcedee;\\n}\\n\\n.b-toast-light .toast {\\n background-color: rgba(255, 255, 255, 0.85);\\n border-color: rgba(253, 253, 254, 0.85);\\n color: #818182;\\n}\\n\\n.b-toast-light .toast .toast-header {\\n color: #818182;\\n background-color: rgba(254, 254, 254, 0.85);\\n border-bottom-color: rgba(253, 253, 254, 0.85);\\n}\\n\\n.b-toast-light.b-toast-solid .toast {\\n background-color: white;\\n}\\n\\n.b-toast-dark .toast {\\n background-color: rgba(227, 229, 229, 0.85);\\n border-color: rgba(198, 200, 202, 0.85);\\n color: #1b1e21;\\n}\\n\\n.b-toast-dark .toast .toast-header {\\n color: #1b1e21;\\n background-color: rgba(214, 216, 217, 0.85);\\n border-bottom-color: rgba(198, 200, 202, 0.85);\\n}\\n\\n.b-toast-dark.b-toast-solid .toast {\\n background-color: #e3e5e5;\\n}\\n\\n.b-toaster {\\n z-index: 1100;\\n}\\n\\n.b-toaster .b-toaster-slot {\\n position: relative;\\n display: block;\\n}\\n\\n.b-toaster .b-toaster-slot:empty {\\n display: none !important;\\n}\\n\\n.b-toaster.b-toaster-top-right, .b-toaster.b-toaster-top-left, .b-toaster.b-toaster-top-center, .b-toaster.b-toaster-top-full, .b-toaster.b-toaster-bottom-right, .b-toaster.b-toaster-bottom-left, .b-toaster.b-toaster-bottom-center, .b-toaster.b-toaster-bottom-full {\\n position: fixed;\\n left: 0.5rem;\\n right: 0.5rem;\\n margin: 0;\\n padding: 0;\\n height: 0;\\n overflow: visible;\\n}\\n\\n.b-toaster.b-toaster-top-right .b-toaster-slot, .b-toaster.b-toaster-top-left .b-toaster-slot, .b-toaster.b-toaster-top-center .b-toaster-slot, .b-toaster.b-toaster-top-full .b-toaster-slot, .b-toaster.b-toaster-bottom-right .b-toaster-slot, .b-toaster.b-toaster-bottom-left .b-toaster-slot, .b-toaster.b-toaster-bottom-center .b-toaster-slot, .b-toaster.b-toaster-bottom-full .b-toaster-slot {\\n position: absolute;\\n max-width: 350px;\\n width: 100%;\\n /* IE11 fix */\\n left: 0;\\n right: 0;\\n padding: 0;\\n margin: 0;\\n}\\n\\n.b-toaster.b-toaster-top-full .b-toaster-slot, .b-toaster.b-toaster-bottom-full .b-toaster-slot {\\n width: 100%;\\n max-width: 100%;\\n}\\n\\n.b-toaster.b-toaster-top-full .b-toaster-slot .b-toast,\\n.b-toaster.b-toaster-top-full .b-toaster-slot .toast, .b-toaster.b-toaster-bottom-full .b-toaster-slot .b-toast,\\n.b-toaster.b-toaster-bottom-full .b-toaster-slot .toast {\\n width: 100%;\\n max-width: 100%;\\n}\\n\\n.b-toaster.b-toaster-top-right, .b-toaster.b-toaster-top-left, .b-toaster.b-toaster-top-center, .b-toaster.b-toaster-top-full {\\n top: 0;\\n}\\n\\n.b-toaster.b-toaster-top-right .b-toaster-slot, .b-toaster.b-toaster-top-left .b-toaster-slot, .b-toaster.b-toaster-top-center .b-toaster-slot, .b-toaster.b-toaster-top-full .b-toaster-slot {\\n top: 0.5rem;\\n}\\n\\n.b-toaster.b-toaster-bottom-right, .b-toaster.b-toaster-bottom-left, .b-toaster.b-toaster-bottom-center, .b-toaster.b-toaster-bottom-full {\\n bottom: 0;\\n}\\n\\n.b-toaster.b-toaster-bottom-right .b-toaster-slot, .b-toaster.b-toaster-bottom-left .b-toaster-slot, .b-toaster.b-toaster-bottom-center .b-toaster-slot, .b-toaster.b-toaster-bottom-full .b-toaster-slot {\\n bottom: 0.5rem;\\n}\\n\\n.b-toaster.b-toaster-top-right .b-toaster-slot, .b-toaster.b-toaster-bottom-right .b-toaster-slot, .b-toaster.b-toaster-top-center .b-toaster-slot, .b-toaster.b-toaster-bottom-center .b-toaster-slot {\\n margin-left: auto;\\n}\\n\\n.b-toaster.b-toaster-top-left .b-toaster-slot, .b-toaster.b-toaster-bottom-left .b-toaster-slot, .b-toaster.b-toaster-top-center .b-toaster-slot, .b-toaster.b-toaster-bottom-center .b-toaster-slot {\\n margin-right: auto;\\n}\\n\\n.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-active, .b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-top-right .b-toast.b-toaster-move, .b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-active, .b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-top-left .b-toast.b-toaster-move, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-active, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-move, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-active, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-move {\\n transition: -webkit-transform 0.175s;\\n transition: transform 0.175s;\\n transition: transform 0.175s, -webkit-transform 0.175s;\\n}\\n\\n.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-to .toast.fade, .b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-active .toast.fade, .b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-to .toast.fade, .b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-active .toast.fade, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-to .toast.fade, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-active .toast.fade, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-to .toast.fade, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-active .toast.fade {\\n transition-delay: 0.175s;\\n}\\n\\n.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active {\\n position: absolute;\\n transition-delay: 0.175s;\\n}\\n\\n.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active .toast.fade, .b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active .toast.fade, .b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active .toast.fade, .b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active .toast.fade {\\n transition-delay: 0s;\\n}\\n\\n.tooltip.b-tooltip {\\n display: block;\\n opacity: 0.9;\\n}\\n\\n.tooltip.b-tooltip.fade:not(.show) {\\n opacity: 0;\\n}\\n\\n.tooltip.b-tooltip.show {\\n opacity: 0.9;\\n}\\n\\n.tooltip.b-tooltip-primary.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n border-top-color: #007bff;\\n}\\n\\n.tooltip.b-tooltip-primary.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n border-right-color: #007bff;\\n}\\n\\n.tooltip.b-tooltip-primary.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n border-bottom-color: #007bff;\\n}\\n\\n.tooltip.b-tooltip-primary.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n border-left-color: #007bff;\\n}\\n\\n.tooltip.b-tooltip-primary .tooltip-inner {\\n color: #fff;\\n background-color: #007bff;\\n}\\n\\n.tooltip.b-tooltip-secondary.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n border-top-color: #6c757d;\\n}\\n\\n.tooltip.b-tooltip-secondary.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n border-right-color: #6c757d;\\n}\\n\\n.tooltip.b-tooltip-secondary.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n border-bottom-color: #6c757d;\\n}\\n\\n.tooltip.b-tooltip-secondary.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n border-left-color: #6c757d;\\n}\\n\\n.tooltip.b-tooltip-secondary .tooltip-inner {\\n color: #fff;\\n background-color: #6c757d;\\n}\\n\\n.tooltip.b-tooltip-success.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n border-top-color: #28a745;\\n}\\n\\n.tooltip.b-tooltip-success.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n border-right-color: #28a745;\\n}\\n\\n.tooltip.b-tooltip-success.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n border-bottom-color: #28a745;\\n}\\n\\n.tooltip.b-tooltip-success.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n border-left-color: #28a745;\\n}\\n\\n.tooltip.b-tooltip-success .tooltip-inner {\\n color: #fff;\\n background-color: #28a745;\\n}\\n\\n.tooltip.b-tooltip-info.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n border-top-color: #17a2b8;\\n}\\n\\n.tooltip.b-tooltip-info.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n border-right-color: #17a2b8;\\n}\\n\\n.tooltip.b-tooltip-info.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n border-bottom-color: #17a2b8;\\n}\\n\\n.tooltip.b-tooltip-info.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n border-left-color: #17a2b8;\\n}\\n\\n.tooltip.b-tooltip-info .tooltip-inner {\\n color: #fff;\\n background-color: #17a2b8;\\n}\\n\\n.tooltip.b-tooltip-warning.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n border-top-color: #ffc107;\\n}\\n\\n.tooltip.b-tooltip-warning.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n border-right-color: #ffc107;\\n}\\n\\n.tooltip.b-tooltip-warning.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n border-bottom-color: #ffc107;\\n}\\n\\n.tooltip.b-tooltip-warning.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n border-left-color: #ffc107;\\n}\\n\\n.tooltip.b-tooltip-warning .tooltip-inner {\\n color: #212529;\\n background-color: #ffc107;\\n}\\n\\n.tooltip.b-tooltip-danger.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n border-top-color: #dc3545;\\n}\\n\\n.tooltip.b-tooltip-danger.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n border-right-color: #dc3545;\\n}\\n\\n.tooltip.b-tooltip-danger.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n border-bottom-color: #dc3545;\\n}\\n\\n.tooltip.b-tooltip-danger.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n border-left-color: #dc3545;\\n}\\n\\n.tooltip.b-tooltip-danger .tooltip-inner {\\n color: #fff;\\n background-color: #dc3545;\\n}\\n\\n.tooltip.b-tooltip-light.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n border-top-color: #f8f9fa;\\n}\\n\\n.tooltip.b-tooltip-light.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n border-right-color: #f8f9fa;\\n}\\n\\n.tooltip.b-tooltip-light.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n border-bottom-color: #f8f9fa;\\n}\\n\\n.tooltip.b-tooltip-light.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n border-left-color: #f8f9fa;\\n}\\n\\n.tooltip.b-tooltip-light .tooltip-inner {\\n color: #212529;\\n background-color: #f8f9fa;\\n}\\n\\n.tooltip.b-tooltip-dark.bs-tooltip-top .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n border-top-color: #343a40;\\n}\\n\\n.tooltip.b-tooltip-dark.bs-tooltip-right .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n border-right-color: #343a40;\\n}\\n\\n.tooltip.b-tooltip-dark.bs-tooltip-bottom .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n border-bottom-color: #343a40;\\n}\\n\\n.tooltip.b-tooltip-dark.bs-tooltip-left .arrow::before, .tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n border-left-color: #343a40;\\n}\\n\\n.tooltip.b-tooltip-dark .tooltip-inner {\\n color: #fff;\\n background-color: #343a40;\\n}\", \"\"]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXZ1ZS9kaXN0L2Jvb3RzdHJhcC12dWUuY3NzPzg1ZTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsRUFBa0M7QUFDckU7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLHNHQUFzRyx3QkFBd0IsK0JBQStCLEtBQUssR0FBRyxrQ0FBa0Msd0JBQXdCLCtCQUErQixLQUFLLEdBQUcsa0NBQWtDLHdCQUF3QiwrQkFBK0IsS0FBSyxHQUFHLG1DQUFtQyx3QkFBd0IsK0JBQStCLEtBQUssR0FBRyx3QkFBd0IsNkJBQTZCLEdBQUcsb0JBQW9CLGdEQUFnRCxtREFBbUQsR0FBRyxxQkFBcUIsaURBQWlELG9EQUFvRCxHQUFHLCtFQUErRSw2QkFBNkIsR0FBRywwRUFBMEUsNkJBQTZCLEdBQUcsc0JBQXNCLDBCQUEwQiw0QkFBNEIsZ0JBQWdCLGdCQUFnQixxQkFBcUIsR0FBRyw0QkFBNEIsbUNBQW1DLDBEQUEwRCxHQUFHLDBEQUEwRCwwQkFBMEIsbUJBQW1CLHlCQUF5QixHQUFHLHNCQUFzQiwwQkFBMEIsNEJBQTRCLHFCQUFxQixnQkFBZ0IsZ0JBQWdCLHlCQUF5QixHQUFHLDZFQUE2RSx1QkFBdUIscUJBQXFCLDJCQUEyQixHQUFHLHlJQUF5SSxtQkFBbUIsb0JBQW9CLG1CQUFtQixvQkFBb0IsMEJBQTBCLEdBQUcsdUlBQXVJLG1CQUFtQixvQkFBb0IsbUJBQW1CLG9CQUFvQiw2QkFBNkIsR0FBRyw2RUFBNkUsd0JBQXdCLHFCQUFxQiw0QkFBNEIsR0FBRyx5SUFBeUksb0JBQW9CLHFCQUFxQixvQkFBb0IscUJBQXFCLDBCQUEwQixHQUFHLHVJQUF1SSxvQkFBb0IscUJBQXFCLG9CQUFvQixxQkFBcUIsNkJBQTZCLEdBQUcseUVBQXlFLDRCQUE0QixHQUFHLHFIQUFxSCx1QkFBdUIscUJBQXFCLEdBQUcscUlBQXFJLG1CQUFtQixvQkFBb0IscUJBQXFCLHFCQUFxQiw0QkFBNEIsR0FBRyxtSUFBbUksZ0NBQWdDLGtDQUFrQyxnQ0FBZ0MsaUNBQWlDLDRCQUE0Qiw2QkFBNkIsR0FBRyxtTUFBbU0sNkNBQTZDLHFDQUFxQyxHQUFHLHlFQUF5RSw2QkFBNkIsR0FBRyxxSEFBcUgsd0JBQXdCLHFCQUFxQixHQUFHLHFJQUFxSSxvQkFBb0Isc0JBQXNCLHNCQUFzQixxQkFBcUIsNkJBQTZCLEdBQUcsbUlBQW1JLGlDQUFpQyxtQ0FBbUMsaUNBQWlDLGtDQUFrQyw2QkFBNkIsNkJBQTZCLEdBQUcsbU1BQW1NLDhDQUE4QyxzQ0FBc0MsR0FBRyxrUEFBa1AsK0JBQStCLGtDQUFrQyxHQUFHLGdPQUFnTyw4QkFBOEIsaUNBQWlDLEdBQUcsa09BQWtPLHVCQUF1QixxQ0FBcUMsR0FBRyw2S0FBNksseUJBQXlCLHFCQUFxQixHQUFHLGtGQUFrRiwwQkFBMEIsR0FBRyxnR0FBZ0csdUJBQXVCLGdDQUFnQyxxQ0FBcUMsR0FBRyxrT0FBa08sd0JBQXdCLHVDQUF1QyxHQUFHLDZLQUE2Syw0QkFBNEIscUJBQXFCLEdBQUcsa0ZBQWtGLDBCQUEwQixHQUFHLGdHQUFnRyx1QkFBdUIsa0NBQWtDLHFDQUFxQyxHQUFHLGlJQUFpSSxnRUFBZ0UsR0FBRyx3Q0FBd0Msd0NBQXdDLDhCQUE4QixHQUFHLDZHQUE2Ryx1Q0FBdUMsOEJBQThCLEdBQUcsNkdBQTZHLHFDQUFxQyw4QkFBOEIsR0FBRyxpREFBaUQsOEJBQThCLGtCQUFrQixHQUFHLGtDQUFrQyx1QkFBdUIsbUJBQW1CLGNBQWMscUJBQXFCLEdBQUcsd1BBQXdQLHNCQUFzQixHQUFHLHdQQUF3UCxzQkFBc0IsR0FBRyx3Q0FBd0MsZUFBZSxHQUFHLG1EQUFtRCwrQkFBK0Isa0NBQWtDLEdBQUcsb0RBQW9ELDhCQUE4QixpQ0FBaUMsR0FBRyxrQ0FBa0Msd0NBQXdDLHVCQUF1QiwyQkFBMkIsaUNBQWlDLDhCQUE4Qix3Q0FBd0MsMkJBQTJCLDZFQUE2RSxHQUFHLDZDQUE2QyxrQ0FBa0MsdUJBQXVCLEtBQUssR0FBRyx3Q0FBd0MsbUJBQW1CLDJCQUEyQiwwQkFBMEIsZUFBZSxxREFBcUQsR0FBRyxtRkFBbUYsOEJBQThCLEdBQUcscUNBQXFDLHFDQUFxQyxvQkFBb0IsMEJBQTBCLEdBQUcscUNBQXFDLHVDQUF1QyxzQkFBc0IsMEJBQTBCLEdBQUcsMEZBQTBGLDBCQUEwQixHQUFHLHNHQUFzRywwQkFBMEIscURBQXFELEdBQUcsd0hBQXdILHFEQUFxRCxHQUFHLGdIQUFnSCxxREFBcUQsR0FBRyxrR0FBa0cscURBQXFELEdBQUcsNEdBQTRHLDhCQUE4QiwyQkFBMkIsR0FBRywwSEFBMEgsOEJBQThCLDJCQUEyQixHQUFHLDhIQUE4SCw4Q0FBOEMsR0FBRyxvR0FBb0csOEJBQThCLDJCQUEyQixHQUFHLGtIQUFrSCw4QkFBOEIsMkJBQTJCLEdBQUcsb0dBQW9HLHdDQUF3QyxHQUFHLG9NQUFvTSxtQkFBbUIsR0FBRyxzRkFBc0YsOEJBQThCLDJCQUEyQixHQUFHLG9HQUFvRyw4QkFBOEIsMkJBQTJCLEdBQUcsa0dBQWtHLHdDQUF3QyxHQUFHLGtHQUFrRyx3Q0FBd0MsR0FBRyw4RkFBOEYsMEJBQTBCLEdBQUcsMEdBQTBHLDBCQUEwQixxREFBcUQsR0FBRyw0SEFBNEgscURBQXFELEdBQUcsb0hBQW9ILHFEQUFxRCxHQUFHLHNHQUFzRyxxREFBcUQsR0FBRyxnSEFBZ0gsOEJBQThCLDJCQUEyQixHQUFHLDhIQUE4SCw4QkFBOEIsMkJBQTJCLEdBQUcsa0lBQWtJLDhDQUE4QyxHQUFHLHdHQUF3Ryw4QkFBOEIsMkJBQTJCLEdBQUcsc0hBQXNILDhCQUE4QiwyQkFBMkIsR0FBRyx3R0FBd0csd0NBQXdDLEdBQUcsb05BQW9OLG1CQUFtQixHQUFHLDBGQUEwRiw4QkFBOEIsMkJBQTJCLEdBQUcsd0dBQXdHLDhCQUE4QiwyQkFBMkIsR0FBRyxzR0FBc0csd0NBQXdDLEdBQUcsc0dBQXNHLHdDQUF3QyxHQUFHLHVFQUF1RSx1QkFBdUIscUJBQXFCLDJCQUEyQixHQUFHLG1JQUFtSSxtQkFBbUIsb0JBQW9CLG1CQUFtQixvQkFBb0IsdUJBQXVCLEdBQUcsaUlBQWlJLG1CQUFtQixvQkFBb0IsbUJBQW1CLG9CQUFvQix3Q0FBd0MsR0FBRyx1RUFBdUUsd0JBQXdCLHFCQUFxQiw0QkFBNEIsR0FBRyxtSUFBbUksb0JBQW9CLHFCQUFxQixvQkFBb0IscUJBQXFCLHVCQUF1QixHQUFHLGlJQUFpSSxvQkFBb0IscUJBQXFCLG9CQUFvQixxQkFBcUIsd0NBQXdDLEdBQUcscUJBQXFCLGlCQUFpQixHQUFHLHdCQUF3QixtQkFBbUIsZUFBZSxHQUFHLHdDQUF3QyxlQUFlLEdBQUcsNkJBQTZCLGVBQWUsR0FBRyxnQ0FBZ0MsOEJBQThCLDBCQUEwQixHQUFHLG1JQUFtSSw4QkFBOEIsR0FBRyxpSUFBaUksOEJBQThCLEdBQUcsdUlBQXVJLGdDQUFnQyxHQUFHLHFJQUFxSSxnQ0FBZ0MsR0FBRyx5SUFBeUksaUNBQWlDLEdBQUcsdUlBQXVJLGlDQUFpQyxHQUFHLHVKQUF1SixpQ0FBaUMsR0FBRyxxSUFBcUksK0JBQStCLEdBQUcsbUlBQW1JLCtCQUErQixHQUFHLHdDQUF3QyxtQkFBbUIsOEJBQThCLGlDQUFpQyxHQUFHLHNDQUFzQyxtQkFBbUIsR0FBRyxrQ0FBa0MsOEJBQThCLDBCQUEwQixHQUFHLHVJQUF1SSw4QkFBOEIsR0FBRyxxSUFBcUksOEJBQThCLEdBQUcsMklBQTJJLGdDQUFnQyxHQUFHLHlJQUF5SSxnQ0FBZ0MsR0FBRyw2SUFBNkksaUNBQWlDLEdBQUcsMklBQTJJLGlDQUFpQyxHQUFHLDJKQUEySixpQ0FBaUMsR0FBRyx5SUFBeUksK0JBQStCLEdBQUcsdUlBQXVJLCtCQUErQixHQUFHLDBDQUEwQyxtQkFBbUIsOEJBQThCLGlDQUFpQyxHQUFHLHdDQUF3QyxtQkFBbUIsR0FBRyxnQ0FBZ0MsOEJBQThCLDBCQUEwQixHQUFHLG1JQUFtSSw4QkFBOEIsR0FBRyxpSUFBaUksOEJBQThCLEdBQUcsdUlBQXVJLGdDQUFnQyxHQUFHLHFJQUFxSSxnQ0FBZ0MsR0FBRyx5SUFBeUksaUNBQWlDLEdBQUcsdUlBQXVJLGlDQUFpQyxHQUFHLHVKQUF1SixpQ0FBaUMsR0FBRyxxSUFBcUksK0JBQStCLEdBQUcsbUlBQW1JLCtCQUErQixHQUFHLHdDQUF3QyxtQkFBbUIsOEJBQThCLGlDQUFpQyxHQUFHLHNDQUFzQyxtQkFBbUIsR0FBRyw2QkFBNkIsOEJBQThCLDBCQUEwQixHQUFHLDZIQUE2SCw4QkFBOEIsR0FBRywySEFBMkgsOEJBQThCLEdBQUcsaUlBQWlJLGdDQUFnQyxHQUFHLCtIQUErSCxnQ0FBZ0MsR0FBRyxtSUFBbUksaUNBQWlDLEdBQUcsaUlBQWlJLGlDQUFpQyxHQUFHLGlKQUFpSixpQ0FBaUMsR0FBRywrSEFBK0gsK0JBQStCLEdBQUcsNkhBQTZILCtCQUErQixHQUFHLHFDQUFxQyxtQkFBbUIsOEJBQThCLGlDQUFpQyxHQUFHLG1DQUFtQyxtQkFBbUIsR0FBRyxnQ0FBZ0MsOEJBQThCLDBCQUEwQixHQUFHLG1JQUFtSSw4QkFBOEIsR0FBRyxpSUFBaUksOEJBQThCLEdBQUcsdUlBQXVJLGdDQUFnQyxHQUFHLHFJQUFxSSxnQ0FBZ0MsR0FBRyx5SUFBeUksaUNBQWlDLEdBQUcsdUlBQXVJLGlDQUFpQyxHQUFHLHVKQUF1SixpQ0FBaUMsR0FBRyxxSUFBcUksK0JBQStCLEdBQUcsbUlBQW1JLCtCQUErQixHQUFHLHdDQUF3QyxtQkFBbUIsOEJBQThCLGlDQUFpQyxHQUFHLHNDQUFzQyxtQkFBbUIsR0FBRywrQkFBK0IsOEJBQThCLDBCQUEwQixHQUFHLGlJQUFpSSw4QkFBOEIsR0FBRywrSEFBK0gsOEJBQThCLEdBQUcscUlBQXFJLGdDQUFnQyxHQUFHLG1JQUFtSSxnQ0FBZ0MsR0FBRyx1SUFBdUksaUNBQWlDLEdBQUcscUlBQXFJLGlDQUFpQyxHQUFHLHFKQUFxSixpQ0FBaUMsR0FBRyxtSUFBbUksK0JBQStCLEdBQUcsaUlBQWlJLCtCQUErQixHQUFHLHVDQUF1QyxtQkFBbUIsOEJBQThCLGlDQUFpQyxHQUFHLHFDQUFxQyxtQkFBbUIsR0FBRyw4QkFBOEIsOEJBQThCLDBCQUEwQixHQUFHLCtIQUErSCw4QkFBOEIsR0FBRyw2SEFBNkgsOEJBQThCLEdBQUcsbUlBQW1JLGdDQUFnQyxHQUFHLGlJQUFpSSxnQ0FBZ0MsR0FBRyxxSUFBcUksaUNBQWlDLEdBQUcsbUlBQW1JLGlDQUFpQyxHQUFHLG1KQUFtSixpQ0FBaUMsR0FBRyxpSUFBaUksK0JBQStCLEdBQUcsK0hBQStILCtCQUErQixHQUFHLHNDQUFzQyxtQkFBbUIsOEJBQThCLGlDQUFpQyxHQUFHLG9DQUFvQyxtQkFBbUIsR0FBRyw2QkFBNkIsOEJBQThCLDBCQUEwQixHQUFHLDZIQUE2SCw4QkFBOEIsR0FBRywySEFBMkgsOEJBQThCLEdBQUcsaUlBQWlJLGdDQUFnQyxHQUFHLCtIQUErSCxnQ0FBZ0MsR0FBRyxtSUFBbUksaUNBQWlDLEdBQUcsaUlBQWlJLGlDQUFpQyxHQUFHLGlKQUFpSixpQ0FBaUMsR0FBRywrSEFBK0gsK0JBQStCLEdBQUcsNkhBQTZILCtCQUErQixHQUFHLHFDQUFxQyxtQkFBbUIsOEJBQThCLGlDQUFpQyxHQUFHLG1DQUFtQyxtQkFBbUIsR0FBRyxrQ0FBa0Msd0JBQXdCLEdBQUcsK0NBQStDLDhCQUE4QixzQkFBc0IsR0FBRyx3Q0FBd0Msa0JBQWtCLEdBQUcsc0RBQXNELGdDQUFnQyxHQUFHLDhCQUE4Qix5QkFBeUIsR0FBRyxrREFBa0QsaUNBQWlDLEdBQUcsd0lBQXdJLDJDQUEyQyxHQUFHLG1JQUFtSSxtQkFBbUIsa0ZBQWtGLGlDQUFpQyxHQUFHLCtIQUErSCw0REFBNEQsR0FBRyxtSkFBbUosZ0JBQWdCLDhGQUE4RixpQ0FBaUMsR0FBRyxpRkFBaUYsd0JBQXdCLEdBQUcsNEdBQTRHLHFCQUFxQixHQUFHLDRCQUE0QixxQkFBcUIsc0JBQXNCLEdBQUcsa0JBQWtCLDRCQUE0QixxQ0FBcUMsa0NBQWtDLEtBQUssR0FBRyxrRUFBa0UsK0RBQStELCtCQUErQix1QkFBdUIsYUFBYSxpQkFBaUIsS0FBSyw0dUJBQTR1QiwrQkFBK0IsdUJBQXVCLGNBQWMsS0FBSywwUEFBMFAsaUJBQWlCLEtBQUssbWZBQW1mLGlCQUFpQixLQUFLLDRLQUE0SyxxQkFBcUIsNkJBQTZCLEtBQUssb01BQW9NLGtCQUFrQixnQ0FBZ0MsS0FBSyx5RkFBeUYsa0ZBQWtGLG1DQUFtQyxLQUFLLGlHQUFpRyw4RkFBOEYsbUNBQW1DLEtBQUssNEVBQTRFLHFCQUFxQixvRkFBb0YsbUNBQW1DLEtBQUssb0ZBQW9GLGtCQUFrQixnR0FBZ0csbUNBQW1DLEtBQUssR0FBRywyRkFBMkYsb0JBQW9CLDJCQUEyQixpQ0FBaUMsZ0NBQWdDLEdBQUcscUpBQXFKLHdEQUF3RCwwQ0FBMEMsR0FBRyx5SUFBeUksdURBQXVELHlDQUF5QyxHQUFHLDZHQUE2RyxvUkFBb1IsR0FBRyx1SEFBdUgsaVRBQWlULEdBQUcseUhBQXlILGlUQUFpVCxHQUFHLDhMQUE4TCxvUkFBb1IsR0FBRyw2TUFBNk0saVRBQWlULEdBQUcsZ05BQWdOLGlUQUFpVCxHQUFHLG1JQUFtSSxvUkFBb1IsR0FBRyw2SUFBNkksaVRBQWlULEdBQUcsK0lBQStJLGlUQUFpVCxHQUFHLHVLQUF1Syx1REFBdUQseUNBQXlDLEdBQUcsMkpBQTJKLHNEQUFzRCx3Q0FBd0MsR0FBRyxvREFBb0Qsb0JBQW9CLEdBQUcsMkZBQTJGLDhCQUE4QiwyQkFBMkIsMEJBQTBCLHNCQUFzQixHQUFHLGtDQUFrQyx1Q0FBdUMscUJBQXFCLGtCQUFrQixLQUFLLGtRQUFrUSxxQkFBcUIsS0FBSyw2RkFBNkYsb0JBQW9CLEtBQUssbVJBQW1SLG9CQUFvQixLQUFLLGlEQUFpRCxtQ0FBbUMsS0FBSywyRUFBMkUsZ0NBQWdDLGlCQUFpQixrQkFBa0Isd0JBQXdCLGdDQUFnQyx3QkFBd0IseUJBQXlCLG9DQUFvQyxnQkFBZ0IsS0FBSywwRUFBMEUscUJBQXFCLGtCQUFrQixvQkFBb0IsS0FBSyx5RUFBeUUsNEJBQTRCLDhCQUE4QixvQ0FBb0MsZ0JBQWdCLEtBQUssdUhBQXVILG9CQUFvQixLQUFLLG1FQUFtRSw0QkFBNEIsS0FBSyx5SUFBeUksNEJBQTRCLEtBQUssR0FBRyxrQ0FBa0MsdUNBQXVDLHFCQUFxQixrQkFBa0IsS0FBSyxrUUFBa1EscUJBQXFCLEtBQUssNkZBQTZGLG9CQUFvQixLQUFLLG1SQUFtUixvQkFBb0IsS0FBSyxpREFBaUQsbUNBQW1DLEtBQUssMkVBQTJFLGdDQUFnQyxpQkFBaUIsa0JBQWtCLHdCQUF3QixnQ0FBZ0Msd0JBQXdCLHlCQUF5QixvQ0FBb0MsZ0JBQWdCLEtBQUssMEVBQTBFLHFCQUFxQixrQkFBa0Isb0JBQW9CLEtBQUsseUVBQXlFLDRCQUE0Qiw4QkFBOEIsb0NBQW9DLGdCQUFnQixLQUFLLHVIQUF1SCxvQkFBb0IsS0FBSyxtRUFBbUUsNEJBQTRCLEtBQUsseUlBQXlJLDRCQUE0QixLQUFLLEdBQUcsa0NBQWtDLHVDQUF1QyxxQkFBcUIsa0JBQWtCLEtBQUssa1FBQWtRLHFCQUFxQixLQUFLLDZGQUE2RixvQkFBb0IsS0FBSyxtUkFBbVIsb0JBQW9CLEtBQUssaURBQWlELG1DQUFtQyxLQUFLLDJFQUEyRSxnQ0FBZ0MsaUJBQWlCLGtCQUFrQix3QkFBd0IsZ0NBQWdDLHdCQUF3Qix5QkFBeUIsb0NBQW9DLGdCQUFnQixLQUFLLDBFQUEwRSxxQkFBcUIsa0JBQWtCLG9CQUFvQixLQUFLLHlFQUF5RSw0QkFBNEIsOEJBQThCLG9DQUFvQyxnQkFBZ0IsS0FBSyx1SEFBdUgsb0JBQW9CLEtBQUssbUVBQW1FLDRCQUE0QixLQUFLLHlJQUF5SSw0QkFBNEIsS0FBSyxHQUFHLG1DQUFtQyx1Q0FBdUMscUJBQXFCLGtCQUFrQixLQUFLLGtRQUFrUSxxQkFBcUIsS0FBSyw2RkFBNkYsb0JBQW9CLEtBQUssbVJBQW1SLG9CQUFvQixLQUFLLGlEQUFpRCxtQ0FBbUMsS0FBSywyRUFBMkUsZ0NBQWdDLGlCQUFpQixrQkFBa0Isd0JBQXdCLGdDQUFnQyx3QkFBd0IseUJBQXlCLG9DQUFvQyxnQkFBZ0IsS0FBSywwRUFBMEUscUJBQXFCLGtCQUFrQixvQkFBb0IsS0FBSyx5RUFBeUUsNEJBQTRCLDhCQUE4QixvQ0FBb0MsZ0JBQWdCLEtBQUssdUhBQXVILG9CQUFvQixLQUFLLG1FQUFtRSw0QkFBNEIsS0FBSyx5SUFBeUksNEJBQTRCLEtBQUssR0FBRyxvQ0FBb0MsbUJBQW1CLGdCQUFnQixHQUFHLDJPQUEyTyxtQkFBbUIsR0FBRyxxRkFBcUYsa0JBQWtCLEdBQUcsaVFBQWlRLGtCQUFrQixHQUFHLDhDQUE4QyxpQ0FBaUMsR0FBRyx3RUFBd0UsOEJBQThCLGVBQWUsZ0JBQWdCLHNCQUFzQiw4QkFBOEIsc0JBQXNCLHVCQUF1QixrQ0FBa0MsY0FBYyxHQUFHLHVFQUF1RSxtQkFBbUIsZ0JBQWdCLGtCQUFrQixHQUFHLHNFQUFzRSwwQkFBMEIsNEJBQTRCLGtDQUFrQyxjQUFjLEdBQUcsaUhBQWlILGtCQUFrQixHQUFHLGdFQUFnRSwwQkFBMEIsR0FBRyxpSUFBaUksMEJBQTBCLEdBQUcsY0FBYyxtQkFBbUIsdUJBQXVCLHFCQUFxQix3Q0FBd0MsZ0NBQWdDLGlDQUFpQyxlQUFlLDJCQUEyQixHQUFHLHFCQUFxQixnREFBZ0QsR0FBRywrQkFBK0IsMkJBQTJCLEdBQUcsbUNBQW1DLDRCQUE0QixHQUFHLHFCQUFxQixlQUFlLEdBQUcscUNBQXFDLGVBQWUsR0FBRyxpQ0FBaUMsbUJBQW1CLEdBQUcsNkJBQTZCLGdEQUFnRCw0Q0FBNEMsbUJBQW1CLEdBQUcsMkNBQTJDLG1CQUFtQixnREFBZ0QsbURBQW1ELEdBQUcsMkNBQTJDLDhCQUE4QixHQUFHLCtCQUErQixnREFBZ0QsNENBQTRDLG1CQUFtQixHQUFHLDZDQUE2QyxtQkFBbUIsZ0RBQWdELG1EQUFtRCxHQUFHLDZDQUE2Qyw4QkFBOEIsR0FBRyw2QkFBNkIsZ0RBQWdELDRDQUE0QyxtQkFBbUIsR0FBRywyQ0FBMkMsbUJBQW1CLGdEQUFnRCxtREFBbUQsR0FBRywyQ0FBMkMsOEJBQThCLEdBQUcsMEJBQTBCLGdEQUFnRCw0Q0FBNEMsbUJBQW1CLEdBQUcsd0NBQXdDLG1CQUFtQixnREFBZ0QsbURBQW1ELEdBQUcsd0NBQXdDLDhCQUE4QixHQUFHLDZCQUE2QixnREFBZ0QsNENBQTRDLG1CQUFtQixHQUFHLDJDQUEyQyxtQkFBbUIsZ0RBQWdELG1EQUFtRCxHQUFHLDJDQUEyQyw4QkFBOEIsR0FBRyw0QkFBNEIsZ0RBQWdELDRDQUE0QyxtQkFBbUIsR0FBRywwQ0FBMEMsbUJBQW1CLGdEQUFnRCxtREFBbUQsR0FBRywwQ0FBMEMsOEJBQThCLEdBQUcsMkJBQTJCLGdEQUFnRCw0Q0FBNEMsbUJBQW1CLEdBQUcseUNBQXlDLG1CQUFtQixnREFBZ0QsbURBQW1ELEdBQUcseUNBQXlDLDRCQUE0QixHQUFHLDBCQUEwQixnREFBZ0QsNENBQTRDLG1CQUFtQixHQUFHLHdDQUF3QyxtQkFBbUIsZ0RBQWdELG1EQUFtRCxHQUFHLHdDQUF3Qyw4QkFBOEIsR0FBRyxnQkFBZ0Isa0JBQWtCLEdBQUcsZ0NBQWdDLHVCQUF1QixtQkFBbUIsR0FBRyxzQ0FBc0MsNkJBQTZCLEdBQUcsOFFBQThRLG9CQUFvQixpQkFBaUIsa0JBQWtCLGNBQWMsZUFBZSxjQUFjLHNCQUFzQixHQUFHLDhZQUE4WSx1QkFBdUIscUJBQXFCLGdCQUFnQiw4QkFBOEIsYUFBYSxlQUFlLGNBQWMsR0FBRyxxR0FBcUcsZ0JBQWdCLG9CQUFvQixHQUFHLHdPQUF3TyxnQkFBZ0Isb0JBQW9CLEdBQUcsbUlBQW1JLFdBQVcsR0FBRyxtTUFBbU0sZ0JBQWdCLEdBQUcsK0lBQStJLGNBQWMsR0FBRywrTUFBK00sbUJBQW1CLEdBQUcsNE1BQTRNLHNCQUFzQixHQUFHLDBNQUEwTSx1QkFBdUIsR0FBRyxndkJBQWd2Qix5Q0FBeUMsaUNBQWlDLDJEQUEyRCxHQUFHLDRsQkFBNGxCLDZCQUE2QixHQUFHLHdRQUF3USx1QkFBdUIsNkJBQTZCLEdBQUcsd1RBQXdULHlCQUF5QixHQUFHLHdCQUF3QixtQkFBbUIsaUJBQWlCLEdBQUcsd0NBQXdDLGVBQWUsR0FBRyw2QkFBNkIsaUJBQWlCLEdBQUcsK0lBQStJLDhCQUE4QixHQUFHLG1KQUFtSixnQ0FBZ0MsR0FBRyxxSkFBcUosaUNBQWlDLEdBQUcsaUpBQWlKLCtCQUErQixHQUFHLCtDQUErQyxnQkFBZ0IsOEJBQThCLEdBQUcsbUpBQW1KLDhCQUE4QixHQUFHLHVKQUF1SixnQ0FBZ0MsR0FBRyx5SkFBeUosaUNBQWlDLEdBQUcscUpBQXFKLCtCQUErQixHQUFHLGlEQUFpRCxnQkFBZ0IsOEJBQThCLEdBQUcsK0lBQStJLDhCQUE4QixHQUFHLG1KQUFtSixnQ0FBZ0MsR0FBRyxxSkFBcUosaUNBQWlDLEdBQUcsaUpBQWlKLCtCQUErQixHQUFHLCtDQUErQyxnQkFBZ0IsOEJBQThCLEdBQUcseUlBQXlJLDhCQUE4QixHQUFHLDZJQUE2SSxnQ0FBZ0MsR0FBRywrSUFBK0ksaUNBQWlDLEdBQUcsMklBQTJJLCtCQUErQixHQUFHLDRDQUE0QyxnQkFBZ0IsOEJBQThCLEdBQUcsK0lBQStJLDhCQUE4QixHQUFHLG1KQUFtSixnQ0FBZ0MsR0FBRyxxSkFBcUosaUNBQWlDLEdBQUcsaUpBQWlKLCtCQUErQixHQUFHLCtDQUErQyxtQkFBbUIsOEJBQThCLEdBQUcsNklBQTZJLDhCQUE4QixHQUFHLGlKQUFpSixnQ0FBZ0MsR0FBRyxtSkFBbUosaUNBQWlDLEdBQUcsK0lBQStJLCtCQUErQixHQUFHLDhDQUE4QyxnQkFBZ0IsOEJBQThCLEdBQUcsMklBQTJJLDhCQUE4QixHQUFHLCtJQUErSSxnQ0FBZ0MsR0FBRyxpSkFBaUosaUNBQWlDLEdBQUcsNklBQTZJLCtCQUErQixHQUFHLDZDQUE2QyxtQkFBbUIsOEJBQThCLEdBQUcseUlBQXlJLDhCQUE4QixHQUFHLDZJQUE2SSxnQ0FBZ0MsR0FBRywrSUFBK0ksaUNBQWlDLEdBQUcsMklBQTJJLCtCQUErQixHQUFHLDRDQUE0QyxnQkFBZ0IsOEJBQThCLEdBQUc7O0FBRXgzaEUiLCJmaWxlIjoiMjc5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi8qIVxcbiAqIEJvb3RzdHJhcFZ1ZSBDdXN0b20gQ1NTIChodHRwczovL2Jvb3RzdHJhcC12dWUuanMub3JnKVxcbiAqL1xcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xcbiAgLmJ2LWQteHMtZG93bi1ub25lIHtcXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcXG4gIC5idi1kLXNtLWRvd24tbm9uZSB7XFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XFxuICAuYnYtZC1tZC1kb3duLW5vbmUge1xcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcXG4gIC5idi1kLWxnLWRvd24tbm9uZSB7XFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuLmJ2LWQteGwtZG93bi1ub25lIHtcXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcXG59XFxuXFxuLmNhcmQtaW1nLWxlZnQge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XFxufVxcblxcbi5jYXJkLWltZy1yaWdodCB7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xcbn1cXG5cXG4uZHJvcGRvd246bm90KC5kcm9wbGVmdCkgLmRyb3Bkb3duLXRvZ2dsZS5kcm9wZG93bi10b2dnbGUtbm8tY2FyZXQ6OmFmdGVyIHtcXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcXG59XFxuXFxuLmRyb3Bkb3duLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGUuZHJvcGRvd24tdG9nZ2xlLW5vLWNhcmV0OjpiZWZvcmUge1xcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYi1kcm9wZG93bi1mb3JtIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBjbGVhcjogYm90aDtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcblxcbi5iLWRyb3Bkb3duLWZvcm06Zm9jdXMge1xcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAhaW1wb3J0YW50O1xcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yICFpbXBvcnRhbnQ7XFxufVxcblxcbi5iLWRyb3Bkb3duLWZvcm0uZGlzYWJsZWQsIC5iLWRyb3Bkb3duLWZvcm06ZGlzYWJsZWQge1xcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuXFxuLmItZHJvcGRvd24tdGV4dCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwYWRkaW5nOiAwLjI1cmVtIDEuNXJlbTtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGNsZWFyOiBib3RoO1xcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XFxufVxcblxcbi5jdXN0b20tY2hlY2tib3guYi1jdXN0b20tY29udHJvbC1sZyxcXG4uaW5wdXQtZ3JvdXAtbGcgLmN1c3RvbS1jaGVja2JveCB7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcXG59XFxuXFxuLmN1c3RvbS1jaGVja2JveC5iLWN1c3RvbS1jb250cm9sLWxnIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIHRvcDogMC4zMTI1cmVtO1xcbiAgbGVmdDogLTEuODc1cmVtO1xcbiAgd2lkdGg6IDEuMjVyZW07XFxuICBoZWlnaHQ6IDEuMjVyZW07XFxuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XFxufVxcblxcbi5jdXN0b20tY2hlY2tib3guYi1jdXN0b20tY29udHJvbC1sZyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyLFxcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgdG9wOiAwLjMxMjVyZW07XFxuICBsZWZ0OiAtMS44NzVyZW07XFxuICB3aWR0aDogMS4yNXJlbTtcXG4gIGhlaWdodDogMS4yNXJlbTtcXG4gIGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcXG59XFxuXFxuLmN1c3RvbS1jaGVja2JveC5iLWN1c3RvbS1jb250cm9sLXNtLFxcbi5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLWNoZWNrYm94IHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgcGFkZGluZy1sZWZ0OiAxLjMxMjVyZW07XFxufVxcblxcbi5jdXN0b20tY2hlY2tib3guYi1jdXN0b20tY29udHJvbC1zbSAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcXG4uaW5wdXQtZ3JvdXAtc20gLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICB0b3A6IDAuMjE4NzVyZW07XFxuICBsZWZ0OiAtMS4zMTI1cmVtO1xcbiAgd2lkdGg6IDAuODc1cmVtO1xcbiAgaGVpZ2h0OiAwLjg3NXJlbTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcXG59XFxuXFxuLmN1c3RvbS1jaGVja2JveC5iLWN1c3RvbS1jb250cm9sLXNtIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIsXFxuLmlucHV0LWdyb3VwLXNtIC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XFxuICB0b3A6IDAuMjE4NzVyZW07XFxuICBsZWZ0OiAtMS4zMTI1cmVtO1xcbiAgd2lkdGg6IDAuODc1cmVtO1xcbiAgaGVpZ2h0OiAwLjg3NXJlbTtcXG4gIGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcXG59XFxuXFxuLmN1c3RvbS1zd2l0Y2guYi1jdXN0b20tY29udHJvbC1sZyxcXG4uaW5wdXQtZ3JvdXAtbGcgLmN1c3RvbS1zd2l0Y2gge1xcbiAgcGFkZGluZy1sZWZ0OiAyLjgxMjVyZW07XFxufVxcblxcbi5jdXN0b20tc3dpdGNoLmItY3VzdG9tLWNvbnRyb2wtbGcgLmN1c3RvbS1jb250cm9sLWxhYmVsLFxcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG59XFxuXFxuLmN1c3RvbS1zd2l0Y2guYi1jdXN0b20tY29udHJvbC1sZyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcXG4uaW5wdXQtZ3JvdXAtbGcgLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgdG9wOiAwLjMxMjVyZW07XFxuICBoZWlnaHQ6IDEuMjVyZW07XFxuICBsZWZ0OiAtMi44MTI1cmVtO1xcbiAgd2lkdGg6IDIuMTg3NXJlbTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xcbn1cXG5cXG4uY3VzdG9tLXN3aXRjaC5iLWN1c3RvbS1jb250cm9sLWxnIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIsXFxuLmlucHV0LWdyb3VwLWxnIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgdG9wOiBjYWxjKCAwLjMxMjVyZW0gKyAycHgpO1xcbiAgbGVmdDogY2FsYyggLTIuODEyNXJlbSArIDJweCk7XFxuICB3aWR0aDogY2FsYyggMS4yNXJlbSAtIDRweCk7XFxuICBoZWlnaHQ6IGNhbGMoIDEuMjVyZW0gLSA0cHgpO1xcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XFxuICBiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XFxufVxcblxcbi5jdXN0b20tc3dpdGNoLmItY3VzdG9tLWNvbnRyb2wtbGcgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyLFxcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC45Mzc1cmVtKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjkzNzVyZW0pO1xcbn1cXG5cXG4uY3VzdG9tLXN3aXRjaC5iLWN1c3RvbS1jb250cm9sLXNtLFxcbi5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLXN3aXRjaCB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuOTY4NzVyZW07XFxufVxcblxcbi5jdXN0b20tc3dpdGNoLmItY3VzdG9tLWNvbnRyb2wtc20gLmN1c3RvbS1jb250cm9sLWxhYmVsLFxcbi5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxufVxcblxcbi5jdXN0b20tc3dpdGNoLmItY3VzdG9tLWNvbnRyb2wtc20gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXFxuLmlucHV0LWdyb3VwLXNtIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIHRvcDogMC4yMTg3NXJlbTtcXG4gIGxlZnQ6IC0xLjk2ODc1cmVtO1xcbiAgd2lkdGg6IDEuNTMxMjVyZW07XFxuICBoZWlnaHQ6IDAuODc1cmVtO1xcbiAgYm9yZGVyLXJhZGl1czogMC40Mzc1cmVtO1xcbn1cXG5cXG4uY3VzdG9tLXN3aXRjaC5iLWN1c3RvbS1jb250cm9sLXNtIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIsXFxuLmlucHV0LWdyb3VwLXNtIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgdG9wOiBjYWxjKCAwLjIxODc1cmVtICsgMnB4KTtcXG4gIGxlZnQ6IGNhbGMoIC0xLjk2ODc1cmVtICsgMnB4KTtcXG4gIHdpZHRoOiBjYWxjKCAwLjg3NXJlbSAtIDRweCk7XFxuICBoZWlnaHQ6IGNhbGMoIDAuODc1cmVtIC0gNHB4KTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNDM3NXJlbTtcXG4gIGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcXG59XFxuXFxuLmN1c3RvbS1zd2l0Y2guYi1jdXN0b20tY29udHJvbC1zbSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIsXFxuLmlucHV0LWdyb3VwLXNtIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjY1NjI1cmVtKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjY1NjI1cmVtKTtcXG59XFxuXFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLWdyb3VwID4gLmJ0bixcXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpID4gLmJ0biB7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bi1ncm91cCA+IC5idG4sXFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xcbn1cXG5cXG4uYi1jdXN0b20tY29udHJvbC1sZy5jdXN0b20tZmlsZSxcXG4uYi1jdXN0b20tY29udHJvbC1sZyAuY3VzdG9tLWZpbGUtaW5wdXQsXFxuLmItY3VzdG9tLWNvbnRyb2wtbGcgLmN1c3RvbS1maWxlLWxhYmVsLFxcbi5pbnB1dC1ncm91cC1sZy5jdXN0b20tZmlsZSxcXG4uaW5wdXQtZ3JvdXAtbGcgLmN1c3RvbS1maWxlLWlucHV0LFxcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7XFxufVxcblxcbi5iLWN1c3RvbS1jb250cm9sLWxnIC5jdXN0b20tZmlsZS1sYWJlbCxcXG4uYi1jdXN0b20tY29udHJvbC1sZyAuY3VzdG9tLWZpbGUtbGFiZWw6YWZ0ZXIsXFxuLmlucHV0LWdyb3VwLWxnIC5jdXN0b20tZmlsZS1sYWJlbCxcXG4uaW5wdXQtZ3JvdXAtbGcgLmN1c3RvbS1maWxlLWxhYmVsOmFmdGVyIHtcXG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG59XFxuXFxuLmItY3VzdG9tLWNvbnRyb2wtbGcgLmN1c3RvbS1maWxlLWxhYmVsLFxcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xcbn1cXG5cXG4uYi1jdXN0b20tY29udHJvbC1sZyAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyLFxcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGhlaWdodDogY2FsYyggMS41ZW0gKyAxcmVtKTtcXG4gIGJvcmRlci1yYWRpdXM6IDAgMC4zcmVtIDAuM3JlbSAwO1xcbn1cXG5cXG4uYi1jdXN0b20tY29udHJvbC1zbS5jdXN0b20tZmlsZSxcXG4uYi1jdXN0b20tY29udHJvbC1zbSAuY3VzdG9tLWZpbGUtaW5wdXQsXFxuLmItY3VzdG9tLWNvbnRyb2wtc20gLmN1c3RvbS1maWxlLWxhYmVsLFxcbi5pbnB1dC1ncm91cC1zbS5jdXN0b20tZmlsZSxcXG4uaW5wdXQtZ3JvdXAtc20gLmN1c3RvbS1maWxlLWlucHV0LFxcbi5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7XFxufVxcblxcbi5iLWN1c3RvbS1jb250cm9sLXNtIC5jdXN0b20tZmlsZS1sYWJlbCxcXG4uYi1jdXN0b20tY29udHJvbC1zbSAuY3VzdG9tLWZpbGUtbGFiZWw6YWZ0ZXIsXFxuLmlucHV0LWdyb3VwLXNtIC5jdXN0b20tZmlsZS1sYWJlbCxcXG4uaW5wdXQtZ3JvdXAtc20gLmN1c3RvbS1maWxlLWxhYmVsOmFmdGVyIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG59XFxuXFxuLmItY3VzdG9tLWNvbnRyb2wtc20gLmN1c3RvbS1maWxlLWxhYmVsLFxcbi5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xcbn1cXG5cXG4uYi1jdXN0b20tY29udHJvbC1zbSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyLFxcbi5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGhlaWdodDogY2FsYyggMS41ZW0gKyAwLjVyZW0pO1xcbiAgYm9yZGVyLXJhZGl1czogMCAwLjJyZW0gMC4ycmVtIDA7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCxcXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7XFxufVxcblxcbmlucHV0W3R5cGU9XFxcImNvbG9yXFxcIl0uZm9ybS1jb250cm9sIHtcXG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbTtcXG59XFxuXFxuaW5wdXRbdHlwZT1cXFwiY29sb3JcXFwiXS5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXNtLFxcbi5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPVxcXCJjb2xvclxcXCJdLmZvcm0tY29udHJvbCB7XFxuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyAycHgpO1xcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbTtcXG59XFxuXFxuaW5wdXRbdHlwZT1cXFwiY29sb3JcXFwiXS5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWxnLFxcbi5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPVxcXCJjb2xvclxcXCJdLmZvcm0tY29udHJvbCB7XFxuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgMnB4KTtcXG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW07XFxufVxcblxcbmlucHV0W3R5cGU9XFxcImNvbG9yXFxcIl0uZm9ybS1jb250cm9sOmRpc2FibGVkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7XFxuICBvcGFjaXR5OiAwLjY1O1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXJhbmdlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGZsZXg6IDEgMSBhdXRvO1xcbiAgd2lkdGg6IDElO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1yYW5nZSArIC5mb3JtLWNvbnRyb2wsXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1yYW5nZSArIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tcmFuZ2UgKyAuY3VzdG9tLXNlbGVjdCxcXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXJhbmdlICsgLmN1c3RvbS1yYW5nZSxcXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXJhbmdlICsgLmN1c3RvbS1maWxlIHtcXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmN1c3RvbS1yYW5nZSxcXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCArIC5jdXN0b20tcmFuZ2UsXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuY3VzdG9tLXJhbmdlLFxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tcmFuZ2UgKyAuY3VzdG9tLXJhbmdlLFxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSArIC5jdXN0b20tcmFuZ2Uge1xcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tcmFuZ2U6Zm9jdXMge1xcbiAgei1pbmRleDogMztcXG59XFxuXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1yYW5nZTpub3QoOmxhc3QtY2hpbGQpIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tcmFuZ2U6bm90KDpmaXJzdC1jaGlsZCkge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XFxufVxcblxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tcmFuZ2Uge1xcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XFxuICBwYWRkaW5nOiAwIDAuNzVyZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XFxuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XFxufVxcblxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXJhbmdlIHtcXG4gICAgdHJhbnNpdGlvbjogbm9uZTtcXG4gIH1cXG59XFxuXFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1yYW5nZTpmb2N1cyB7XFxuICBjb2xvcjogIzQ5NTA1NztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBib3JkZXItY29sb3I6ICM4MGJkZmY7XFxuICBvdXRsaW5lOiAwO1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXJhbmdlOmRpc2FibGVkLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXJhbmdlW3JlYWRvbmx5XSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXJhbmdlIHtcXG4gIGhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyAycHgpO1xcbiAgcGFkZGluZzogMCAxcmVtO1xcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xcbn1cXG5cXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXJhbmdlIHtcXG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7XFxuICBwYWRkaW5nOiAwIDAuNXJlbTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwIC5jdXN0b20tcmFuZ2U6dmFsaWQsIC5pbnB1dC1ncm91cCAuY3VzdG9tLXJhbmdlLmlzLXZhbGlkIHtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwIC5jdXN0b20tcmFuZ2U6dmFsaWQ6Zm9jdXMsIC5pbnB1dC1ncm91cCAuY3VzdG9tLXJhbmdlLmlzLXZhbGlkOmZvY3VzIHtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjI1KTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTp2YWxpZDpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIC5jdXN0b20tcmFuZ2UuaXMtdmFsaWQ6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gIzliZTdhYztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTp2YWxpZDpmb2N1czo6LW1vei1yYW5nZS10aHVtYiwgLmN1c3RvbS1yYW5nZS5pcy12YWxpZDpmb2N1czo6LW1vei1yYW5nZS10aHVtYiB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtICM5YmU3YWM7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tcmFuZ2U6dmFsaWQ6Zm9jdXM6Oi1tcy10aHVtYiwgLmN1c3RvbS1yYW5nZS5pcy12YWxpZDpmb2N1czo6LW1zLXRodW1iIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gIzliZTdhYztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTp2YWxpZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIC5jdXN0b20tcmFuZ2UuaXMtdmFsaWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOnZhbGlkOjotd2Via2l0LXNsaWRlci10aHVtYjphY3RpdmUsIC5jdXN0b20tcmFuZ2UuaXMtdmFsaWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWJlN2FjO1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTp2YWxpZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC5jdXN0b20tcmFuZ2UuaXMtdmFsaWQ6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDAsIDE2NywgNjksIDAuMzUpO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOnZhbGlkOjotbW96LXJhbmdlLXRodW1iLCAuY3VzdG9tLXJhbmdlLmlzLXZhbGlkOjotbW96LXJhbmdlLXRodW1iIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOnZhbGlkOjotbW96LXJhbmdlLXRodW1iOmFjdGl2ZSwgLmN1c3RvbS1yYW5nZS5pcy12YWxpZDo6LW1vei1yYW5nZS10aHVtYjphY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzliZTdhYztcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tcmFuZ2U6dmFsaWQ6Oi1tb3otcmFuZ2UtdHJhY2ssIC5jdXN0b20tcmFuZ2UuaXMtdmFsaWQ6Oi1tb3otcmFuZ2UtdHJhY2sge1xcbiAgYmFja2dyb3VuZDogcmdiYSg0MCwgMTY3LCA2OSwgMC4zNSk7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tcmFuZ2U6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuY3VzdG9tLXJhbmdlLmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxcbi5jdXN0b20tcmFuZ2UuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTp2YWxpZDo6LW1zLXRodW1iLCAuY3VzdG9tLXJhbmdlLmlzLXZhbGlkOjotbXMtdGh1bWIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tcmFuZ2U6dmFsaWQ6Oi1tcy10aHVtYjphY3RpdmUsIC5jdXN0b20tcmFuZ2UuaXMtdmFsaWQ6Oi1tcy10aHVtYjphY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzliZTdhYztcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tcmFuZ2U6dmFsaWQ6Oi1tcy10cmFjay1sb3dlciwgLmN1c3RvbS1yYW5nZS5pcy12YWxpZDo6LW1zLXRyYWNrLWxvd2VyIHtcXG4gIGJhY2tncm91bmQ6IHJnYmEoNDAsIDE2NywgNjksIDAuMzUpO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOnZhbGlkOjotbXMtdHJhY2stdXBwZXIsIC5jdXN0b20tcmFuZ2UuaXMtdmFsaWQ6Oi1tcy10cmFjay11cHBlciB7XFxuICBiYWNrZ3JvdW5kOiByZ2JhKDQwLCAxNjcsIDY5LCAwLjM1KTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwIC5jdXN0b20tcmFuZ2U6aW52YWxpZCwgLmlucHV0LWdyb3VwIC5jdXN0b20tcmFuZ2UuaXMtaW52YWxpZCB7XFxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cCAuY3VzdG9tLXJhbmdlOmludmFsaWQ6Zm9jdXMsIC5pbnB1dC1ncm91cCAuY3VzdG9tLXJhbmdlLmlzLWludmFsaWQ6Zm9jdXMge1xcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOmludmFsaWQ6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXRodW1iLCAuY3VzdG9tLXJhbmdlLmlzLWludmFsaWQ6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gI2Y2Y2RkMTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTppbnZhbGlkOmZvY3VzOjotbW96LXJhbmdlLXRodW1iLCAuY3VzdG9tLXJhbmdlLmlzLWludmFsaWQ6Zm9jdXM6Oi1tb3otcmFuZ2UtdGh1bWIge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMnJlbSAjZjZjZGQxO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOmludmFsaWQ6Zm9jdXM6Oi1tcy10aHVtYiwgLmN1c3RvbS1yYW5nZS5pcy1pbnZhbGlkOmZvY3VzOjotbXMtdGh1bWIge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMnJlbSAjZjZjZGQxO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOmludmFsaWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iLCAuY3VzdG9tLXJhbmdlLmlzLWludmFsaWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOmludmFsaWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZSwgLmN1c3RvbS1yYW5nZS5pcy1pbnZhbGlkOjotd2Via2l0LXNsaWRlci10aHVtYjphY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2Y2RkMTtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tcmFuZ2U6aW52YWxpZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC5jdXN0b20tcmFuZ2UuaXMtaW52YWxpZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDUzLCA2OSwgMC4zNSk7XFxufVxcblxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tcmFuZ2U6aW52YWxpZDo6LW1vei1yYW5nZS10aHVtYiwgLmN1c3RvbS1yYW5nZS5pcy1pbnZhbGlkOjotbW96LXJhbmdlLXRodW1iIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOmludmFsaWQ6Oi1tb3otcmFuZ2UtdGh1bWI6YWN0aXZlLCAuY3VzdG9tLXJhbmdlLmlzLWludmFsaWQ6Oi1tb3otcmFuZ2UtdGh1bWI6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmNkZDE7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOmludmFsaWQ6Oi1tb3otcmFuZ2UtdHJhY2ssIC5jdXN0b20tcmFuZ2UuaXMtaW52YWxpZDo6LW1vei1yYW5nZS10cmFjayB7XFxuICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCwgNTMsIDY5LCAwLjM1KTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1yYW5nZS5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXFxuLmN1c3RvbS1yYW5nZS5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTppbnZhbGlkOjotbXMtdGh1bWIsIC5jdXN0b20tcmFuZ2UuaXMtaW52YWxpZDo6LW1zLXRodW1iIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOmludmFsaWQ6Oi1tcy10aHVtYjphY3RpdmUsIC5jdXN0b20tcmFuZ2UuaXMtaW52YWxpZDo6LW1zLXRodW1iOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZjZGQxO1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG59XFxuXFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1yYW5nZTppbnZhbGlkOjotbXMtdHJhY2stbG93ZXIsIC5jdXN0b20tcmFuZ2UuaXMtaW52YWxpZDo6LW1zLXRyYWNrLWxvd2VyIHtcXG4gIGJhY2tncm91bmQ6IHJnYmEoMjIwLCA1MywgNjksIDAuMzUpO1xcbn1cXG5cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXJhbmdlOmludmFsaWQ6Oi1tcy10cmFjay11cHBlciwgLmN1c3RvbS1yYW5nZS5pcy1pbnZhbGlkOjotbXMtdHJhY2stdXBwZXIge1xcbiAgYmFja2dyb3VuZDogcmdiYSgyMjAsIDUzLCA2OSwgMC4zNSk7XFxufVxcblxcbi5jdXN0b20tcmFkaW8uYi1jdXN0b20tY29udHJvbC1sZyxcXG4uaW5wdXQtZ3JvdXAtbGcgLmN1c3RvbS1yYWRpbyB7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcXG59XFxuXFxuLmN1c3RvbS1yYWRpby5iLWN1c3RvbS1jb250cm9sLWxnIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIHRvcDogMC4zMTI1cmVtO1xcbiAgbGVmdDogLTEuODc1cmVtO1xcbiAgd2lkdGg6IDEuMjVyZW07XFxuICBoZWlnaHQ6IDEuMjVyZW07XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxufVxcblxcbi5jdXN0b20tcmFkaW8uYi1jdXN0b20tY29udHJvbC1sZyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyLFxcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgdG9wOiAwLjMxMjVyZW07XFxuICBsZWZ0OiAtMS44NzVyZW07XFxuICB3aWR0aDogMS4yNXJlbTtcXG4gIGhlaWdodDogMS4yNXJlbTtcXG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyA1MCUgNTAlO1xcbn1cXG5cXG4uY3VzdG9tLXJhZGlvLmItY3VzdG9tLWNvbnRyb2wtc20sXFxuLmlucHV0LWdyb3VwLXNtIC5jdXN0b20tcmFkaW8ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMzEyNXJlbTtcXG59XFxuXFxuLmN1c3RvbS1yYWRpby5iLWN1c3RvbS1jb250cm9sLXNtIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxcbi5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIHRvcDogMC4yMTg3NXJlbTtcXG4gIGxlZnQ6IC0xLjMxMjVyZW07XFxuICB3aWR0aDogMC44NzVyZW07XFxuICBoZWlnaHQ6IDAuODc1cmVtO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbn1cXG5cXG4uY3VzdG9tLXJhZGlvLmItY3VzdG9tLWNvbnRyb2wtc20gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcixcXG4uaW5wdXQtZ3JvdXAtc20gLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcXG4gIHRvcDogMC4yMTg3NXJlbTtcXG4gIGxlZnQ6IC0xLjMxMjVyZW07XFxuICB3aWR0aDogMC44NzVyZW07XFxuICBoZWlnaHQ6IDAuODc1cmVtO1xcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvIDUwJSA1MCU7XFxufVxcblxcbi5tb2RhbC1iYWNrZHJvcCB7XFxuICBvcGFjaXR5OiAwLjU7XFxufVxcblxcbi5wb3BvdmVyLmItcG9wb3ZlciB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG9wYWNpdHk6IDE7XFxufVxcblxcbi5wb3BvdmVyLmItcG9wb3Zlci5mYWRlOm5vdCguc2hvdykge1xcbiAgb3BhY2l0eTogMDtcXG59XFxuXFxuLnBvcG92ZXIuYi1wb3BvdmVyLnNob3cge1xcbiAgb3BhY2l0eTogMTtcXG59XFxuXFxuLmItcG9wb3Zlci1wcmltYXJ5LnBvcG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZTVmZjtcXG4gIGJvcmRlci1jb2xvcjogI2I4ZGFmZjtcXG59XFxuXFxuLmItcG9wb3Zlci1wcmltYXJ5LmJzLXBvcG92ZXItdG9wID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItcHJpbWFyeS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNiOGRhZmY7XFxufVxcblxcbi5iLXBvcG92ZXItcHJpbWFyeS5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItcHJpbWFyeS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2NjZTVmZjtcXG59XFxuXFxuLmItcG9wb3Zlci1wcmltYXJ5LmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1wcmltYXJ5LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItcmlnaHQtY29sb3I6ICNiOGRhZmY7XFxufVxcblxcbi5iLXBvcG92ZXItcHJpbWFyeS5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjphZnRlciwgLmItcG9wb3Zlci1wcmltYXJ5LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2NjZTVmZjtcXG59XFxuXFxuLmItcG9wb3Zlci1wcmltYXJ5LmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItcHJpbWFyeS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiOGRhZmY7XFxufVxcblxcbi5iLXBvcG92ZXItcHJpbWFyeS5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItcHJpbWFyeS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2JkZGRmZjtcXG59XFxuXFxuLmItcG9wb3Zlci1wcmltYXJ5LmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYi1wb3BvdmVyLXByaW1hcnkuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2JkZGRmZjtcXG59XFxuXFxuLmItcG9wb3Zlci1wcmltYXJ5LmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YmVmb3JlLCAuYi1wb3BvdmVyLXByaW1hcnkuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNiOGRhZmY7XFxufVxcblxcbi5iLXBvcG92ZXItcHJpbWFyeS5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLXByaW1hcnkuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICBib3JkZXItbGVmdC1jb2xvcjogI2NjZTVmZjtcXG59XFxuXFxuLmItcG9wb3Zlci1wcmltYXJ5IC5wb3BvdmVyLWhlYWRlciB7XFxuICBjb2xvcjogIzIxMjUyOTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiZGRkZmY7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYTNkMGZmO1xcbn1cXG5cXG4uYi1wb3BvdmVyLXByaW1hcnkgLnBvcG92ZXItYm9keSB7XFxuICBjb2xvcjogIzAwNDA4NTtcXG59XFxuXFxuLmItcG9wb3Zlci1zZWNvbmRhcnkucG9wb3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlM2U1O1xcbiAgYm9yZGVyLWNvbG9yOiAjZDZkOGRiO1xcbn1cXG5cXG4uYi1wb3BvdmVyLXNlY29uZGFyeS5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YmVmb3JlLCAuYi1wb3BvdmVyLXNlY29uZGFyeS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNkNmQ4ZGI7XFxufVxcblxcbi5iLXBvcG92ZXItc2Vjb25kYXJ5LmJzLXBvcG92ZXItdG9wID4gLmFycm93OjphZnRlciwgLmItcG9wb3Zlci1zZWNvbmRhcnkuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwidG9wXFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNlMmUzZTU7XFxufVxcblxcbi5iLXBvcG92ZXItc2Vjb25kYXJ5LmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1zZWNvbmRhcnkuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwicmlnaHRcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2Q2ZDhkYjtcXG59XFxuXFxuLmItcG9wb3Zlci1zZWNvbmRhcnkuYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItc2Vjb25kYXJ5LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2UyZTNlNTtcXG59XFxuXFxuLmItcG9wb3Zlci1zZWNvbmRhcnkuYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1zZWNvbmRhcnkuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDZkOGRiO1xcbn1cXG5cXG4uYi1wb3BvdmVyLXNlY29uZGFyeS5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItc2Vjb25kYXJ5LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGFkYmRlO1xcbn1cXG5cXG4uYi1wb3BvdmVyLXNlY29uZGFyeS5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSwgLmItcG9wb3Zlci1zZWNvbmRhcnkuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RhZGJkZTtcXG59XFxuXFxuLmItcG9wb3Zlci1zZWNvbmRhcnkuYnMtcG9wb3Zlci1sZWZ0ID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItc2Vjb25kYXJ5LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZDZkOGRiO1xcbn1cXG5cXG4uYi1wb3BvdmVyLXNlY29uZGFyeS5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLXNlY29uZGFyeS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZTJlM2U1O1xcbn1cXG5cXG4uYi1wb3BvdmVyLXNlY29uZGFyeSAucG9wb3Zlci1oZWFkZXIge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYmRlO1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NjY2VkMjtcXG59XFxuXFxuLmItcG9wb3Zlci1zZWNvbmRhcnkgLnBvcG92ZXItYm9keSB7XFxuICBjb2xvcjogIzM4M2Q0MTtcXG59XFxuXFxuLmItcG9wb3Zlci1zdWNjZXNzLnBvcG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZWRkYTtcXG4gIGJvcmRlci1jb2xvcjogI2MzZTZjYjtcXG59XFxuXFxuLmItcG9wb3Zlci1zdWNjZXNzLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItc3VjY2Vzcy5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNjM2U2Y2I7XFxufVxcblxcbi5iLXBvcG92ZXItc3VjY2Vzcy5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItc3VjY2Vzcy5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Q0ZWRkYTtcXG59XFxuXFxuLmItcG9wb3Zlci1zdWNjZXNzLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1zdWNjZXNzLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItcmlnaHQtY29sb3I6ICNjM2U2Y2I7XFxufVxcblxcbi5iLXBvcG92ZXItc3VjY2Vzcy5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjphZnRlciwgLmItcG9wb3Zlci1zdWNjZXNzLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2Q0ZWRkYTtcXG59XFxuXFxuLmItcG9wb3Zlci1zdWNjZXNzLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItc3VjY2Vzcy5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNjM2U2Y2I7XFxufVxcblxcbi5iLXBvcG92ZXItc3VjY2Vzcy5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItc3VjY2Vzcy5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2M5ZThkMTtcXG59XFxuXFxuLmItcG9wb3Zlci1zdWNjZXNzLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYi1wb3BvdmVyLXN1Y2Nlc3MuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2M5ZThkMTtcXG59XFxuXFxuLmItcG9wb3Zlci1zdWNjZXNzLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YmVmb3JlLCAuYi1wb3BvdmVyLXN1Y2Nlc3MuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNjM2U2Y2I7XFxufVxcblxcbi5iLXBvcG92ZXItc3VjY2Vzcy5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLXN1Y2Nlc3MuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICBib3JkZXItbGVmdC1jb2xvcjogI2Q0ZWRkYTtcXG59XFxuXFxuLmItcG9wb3Zlci1zdWNjZXNzIC5wb3BvdmVyLWhlYWRlciB7XFxuICBjb2xvcjogIzIxMjUyOTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNjOWU4ZDE7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjdlMWMxO1xcbn1cXG5cXG4uYi1wb3BvdmVyLXN1Y2Nlc3MgLnBvcG92ZXItYm9keSB7XFxuICBjb2xvcjogIzE1NTcyNDtcXG59XFxuXFxuLmItcG9wb3Zlci1pbmZvLnBvcG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZWNmMTtcXG4gIGJvcmRlci1jb2xvcjogI2JlZTVlYjtcXG59XFxuXFxuLmItcG9wb3Zlci1pbmZvLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItaW5mby5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNiZWU1ZWI7XFxufVxcblxcbi5iLXBvcG92ZXItaW5mby5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItaW5mby5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2QxZWNmMTtcXG59XFxuXFxuLmItcG9wb3Zlci1pbmZvLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1pbmZvLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItcmlnaHQtY29sb3I6ICNiZWU1ZWI7XFxufVxcblxcbi5iLXBvcG92ZXItaW5mby5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjphZnRlciwgLmItcG9wb3Zlci1pbmZvLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2QxZWNmMTtcXG59XFxuXFxuLmItcG9wb3Zlci1pbmZvLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItaW5mby5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiZWU1ZWI7XFxufVxcblxcbi5iLXBvcG92ZXItaW5mby5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItaW5mby5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2M1ZTdlZDtcXG59XFxuXFxuLmItcG9wb3Zlci1pbmZvLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYi1wb3BvdmVyLWluZm8uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2M1ZTdlZDtcXG59XFxuXFxuLmItcG9wb3Zlci1pbmZvLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YmVmb3JlLCAuYi1wb3BvdmVyLWluZm8uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNiZWU1ZWI7XFxufVxcblxcbi5iLXBvcG92ZXItaW5mby5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLWluZm8uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICBib3JkZXItbGVmdC1jb2xvcjogI2QxZWNmMTtcXG59XFxuXFxuLmItcG9wb3Zlci1pbmZvIC5wb3BvdmVyLWhlYWRlciB7XFxuICBjb2xvcjogIzIxMjUyOTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNjNWU3ZWQ7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjJkZmU3O1xcbn1cXG5cXG4uYi1wb3BvdmVyLWluZm8gLnBvcG92ZXItYm9keSB7XFxuICBjb2xvcjogIzBjNTQ2MDtcXG59XFxuXFxuLmItcG9wb3Zlci13YXJuaW5nLnBvcG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcXG4gIGJvcmRlci1jb2xvcjogI2ZmZWViYTtcXG59XFxuXFxuLmItcG9wb3Zlci13YXJuaW5nLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItd2FybmluZy5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmVlYmE7XFxufVxcblxcbi5iLXBvcG92ZXItd2FybmluZy5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItd2FybmluZy5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjNjZDtcXG59XFxuXFxuLmItcG9wb3Zlci13YXJuaW5nLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci13YXJuaW5nLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmVlYmE7XFxufVxcblxcbi5iLXBvcG92ZXItd2FybmluZy5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjphZnRlciwgLmItcG9wb3Zlci13YXJuaW5nLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjNjZDtcXG59XFxuXFxuLmItcG9wb3Zlci13YXJuaW5nLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItd2FybmluZy5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmVlYmE7XFxufVxcblxcbi5iLXBvcG92ZXItd2FybmluZy5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItd2FybmluZy5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZWZiZTtcXG59XFxuXFxuLmItcG9wb3Zlci13YXJuaW5nLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYi1wb3BvdmVyLXdhcm5pbmcuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZWZiZTtcXG59XFxuXFxuLmItcG9wb3Zlci13YXJuaW5nLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YmVmb3JlLCAuYi1wb3BvdmVyLXdhcm5pbmcuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmVlYmE7XFxufVxcblxcbi5iLXBvcG92ZXItd2FybmluZy5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLXdhcm5pbmcuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjNjZDtcXG59XFxuXFxuLmItcG9wb3Zlci13YXJuaW5nIC5wb3BvdmVyLWhlYWRlciB7XFxuICBjb2xvcjogIzIxMjUyOTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVmYmU7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZlOWE0O1xcbn1cXG5cXG4uYi1wb3BvdmVyLXdhcm5pbmcgLnBvcG92ZXItYm9keSB7XFxuICBjb2xvcjogIzg1NjQwNDtcXG59XFxuXFxuLmItcG9wb3Zlci1kYW5nZXIucG9wb3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkN2RhO1xcbiAgYm9yZGVyLWNvbG9yOiAjZjVjNmNiO1xcbn1cXG5cXG4uYi1wb3BvdmVyLWRhbmdlci5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YmVmb3JlLCAuYi1wb3BvdmVyLWRhbmdlci5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNmNWM2Y2I7XFxufVxcblxcbi5iLXBvcG92ZXItZGFuZ2VyLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjphZnRlciwgLmItcG9wb3Zlci1kYW5nZXIuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwidG9wXFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNmOGQ3ZGE7XFxufVxcblxcbi5iLXBvcG92ZXItZGFuZ2VyLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1kYW5nZXIuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwicmlnaHRcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2Y1YzZjYjtcXG59XFxuXFxuLmItcG9wb3Zlci1kYW5nZXIuYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItZGFuZ2VyLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2Y4ZDdkYTtcXG59XFxuXFxuLmItcG9wb3Zlci1kYW5nZXIuYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1kYW5nZXIuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZjVjNmNiO1xcbn1cXG5cXG4uYi1wb3BvdmVyLWRhbmdlci5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItZGFuZ2VyLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZjZjYWNlO1xcbn1cXG5cXG4uYi1wb3BvdmVyLWRhbmdlci5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSwgLmItcG9wb3Zlci1kYW5nZXIuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Y2Y2FjZTtcXG59XFxuXFxuLmItcG9wb3Zlci1kYW5nZXIuYnMtcG9wb3Zlci1sZWZ0ID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItZGFuZ2VyLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZjVjNmNiO1xcbn1cXG5cXG4uYi1wb3BvdmVyLWRhbmdlci5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLWRhbmdlci5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZjhkN2RhO1xcbn1cXG5cXG4uYi1wb3BvdmVyLWRhbmdlciAucG9wb3Zlci1oZWFkZXIge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZjYWNlO1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2YyYjRiYTtcXG59XFxuXFxuLmItcG9wb3Zlci1kYW5nZXIgLnBvcG92ZXItYm9keSB7XFxuICBjb2xvcjogIzcyMWMyNDtcXG59XFxuXFxuLmItcG9wb3Zlci1saWdodC5wb3BvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XFxuICBib3JkZXItY29sb3I6ICNmZGZkZmU7XFxufVxcblxcbi5iLXBvcG92ZXItbGlnaHQuYnMtcG9wb3Zlci10b3AgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1saWdodC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNmZGZkZmU7XFxufVxcblxcbi5iLXBvcG92ZXItbGlnaHQuYnMtcG9wb3Zlci10b3AgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLWxpZ2h0LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICBib3JkZXItdG9wLWNvbG9yOiAjZmVmZWZlO1xcbn1cXG5cXG4uYi1wb3BvdmVyLWxpZ2h0LmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1saWdodC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmRmZGZlO1xcbn1cXG5cXG4uYi1wb3BvdmVyLWxpZ2h0LmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLWxpZ2h0LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2ZlZmVmZTtcXG59XFxuXFxuLmItcG9wb3Zlci1saWdodC5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YmVmb3JlLCAuYi1wb3BvdmVyLWxpZ2h0LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZkZmRmZTtcXG59XFxuXFxuLmItcG9wb3Zlci1saWdodC5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItbGlnaHQuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmNmY2ZjY7XFxufVxcblxcbi5iLXBvcG92ZXItbGlnaHQuYnMtcG9wb3Zlci1ib3R0b20gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUsIC5iLXBvcG92ZXItbGlnaHQuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Y2ZjZmNjtcXG59XFxuXFxuLmItcG9wb3Zlci1saWdodC5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1saWdodC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItbGVmdC1jb2xvcjogI2ZkZmRmZTtcXG59XFxuXFxuLmItcG9wb3Zlci1saWdodC5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLWxpZ2h0LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZWZlZmU7XFxufVxcblxcbi5iLXBvcG92ZXItbGlnaHQgLnBvcG92ZXItaGVhZGVyIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNlYWVhZWE7XFxufVxcblxcbi5iLXBvcG92ZXItbGlnaHQgLnBvcG92ZXItYm9keSB7XFxuICBjb2xvcjogIzgxODE4MjtcXG59XFxuXFxuLmItcG9wb3Zlci1kYXJrLnBvcG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkOTtcXG4gIGJvcmRlci1jb2xvcjogI2M2YzhjYTtcXG59XFxuXFxuLmItcG9wb3Zlci1kYXJrLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItZGFyay5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNjNmM4Y2E7XFxufVxcblxcbi5iLXBvcG92ZXItZGFyay5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItZGFyay5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Q2ZDhkOTtcXG59XFxuXFxuLmItcG9wb3Zlci1kYXJrLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmItcG9wb3Zlci1kYXJrLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItcmlnaHQtY29sb3I6ICNjNmM4Y2E7XFxufVxcblxcbi5iLXBvcG92ZXItZGFyay5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjphZnRlciwgLmItcG9wb3Zlci1kYXJrLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gPiAuYXJyb3c6OmFmdGVyIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2Q2ZDhkOTtcXG59XFxuXFxuLmItcG9wb3Zlci1kYXJrLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjpiZWZvcmUsIC5iLXBvcG92ZXItZGFyay5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNjNmM4Y2E7XFxufVxcblxcbi5iLXBvcG92ZXItZGFyay5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsIC5iLXBvcG92ZXItZGFyay5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NlZDBkMjtcXG59XFxuXFxuLmItcG9wb3Zlci1kYXJrLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYi1wb3BvdmVyLWRhcmsuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NlZDBkMjtcXG59XFxuXFxuLmItcG9wb3Zlci1kYXJrLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YmVmb3JlLCAuYi1wb3BvdmVyLWRhcmsuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNjNmM4Y2E7XFxufVxcblxcbi5iLXBvcG92ZXItZGFyay5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAuYi1wb3BvdmVyLWRhcmsuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdID4gLmFycm93OjphZnRlciB7XFxuICBib3JkZXItbGVmdC1jb2xvcjogI2Q2ZDhkOTtcXG59XFxuXFxuLmItcG9wb3Zlci1kYXJrIC5wb3BvdmVyLWhlYWRlciB7XFxuICBjb2xvcjogIzIxMjUyOTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNjZWQwZDI7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYzFjNGM1O1xcbn1cXG5cXG4uYi1wb3BvdmVyLWRhcmsgLnBvcG92ZXItYm9keSB7XFxuICBjb2xvcjogIzFiMWUyMTtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1maXhlZCB7XFxuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS5iLXRhYmxlLW5vLWJvcmRlci1jb2xsYXBzZSB7XFxuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlW2FyaWEtYnVzeT1cXFwidHJ1ZVxcXCJdIHtcXG4gIG9wYWNpdHk6IDAuNTU7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlID4gdGJvZHkgPiB0ci5iLXRhYmxlLWRldGFpbHMgPiB0ZCB7XFxuICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlID4gY2FwdGlvbiB7XFxuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1jYXB0aW9uLXRvcCA+IGNhcHRpb24ge1xcbiAgY2FwdGlvbi1zaWRlOiB0b3AgIWltcG9ydGFudDtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUgPiB0Ym9keSA+IC50YWJsZS1hY3RpdmUsXFxuLnRhYmxlLmItdGFibGUgPiB0Ym9keSA+IC50YWJsZS1hY3RpdmUgPiB0aCxcXG4udGFibGUuYi10YWJsZSA+IHRib2R5ID4gLnRhYmxlLWFjdGl2ZSA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIudGFibGUtYWN0aXZlOmhvdmVyIHRkLFxcbi50YWJsZS5iLXRhYmxlLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci50YWJsZS1hY3RpdmU6aG92ZXIgdGgge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjA3NSksIHJnYmEoMCwgMCwgMCwgMC4wNzUpKTtcXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlID4gdGJvZHkgPiAuYmctYWN0aXZlLFxcbi50YWJsZS5iLXRhYmxlID4gdGJvZHkgPiAuYmctYWN0aXZlID4gdGgsXFxuLnRhYmxlLmItdGFibGUgPiB0Ym9keSA+IC5iZy1hY3RpdmUgPiB0ZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDc1KSAhaW1wb3J0YW50O1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS50YWJsZS1ob3Zlci50YWJsZS1kYXJrID4gdGJvZHkgPiB0ci5iZy1hY3RpdmU6aG92ZXIgdGQsXFxuLnRhYmxlLmItdGFibGUudGFibGUtaG92ZXIudGFibGUtZGFyayA+IHRib2R5ID4gdHIuYmctYWN0aXZlOmhvdmVyIHRoIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDc1KSk7XFxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbn1cXG5cXG4uYi10YWJsZS1zdGlja3ktaGVhZGVyLFxcbi50YWJsZS1yZXNwb25zaXZlLFxcbltjbGFzcyo9XFxcInRhYmxlLXJlc3BvbnNpdmUtXFxcIl0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG59XFxuXFxuLmItdGFibGUtc3RpY2t5LWhlYWRlciA+IC50YWJsZSxcXG4udGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSxcXG5bY2xhc3MqPVxcXCJ0YWJsZS1yZXNwb25zaXZlLVxcXCJdID4gLnRhYmxlIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxufVxcblxcbi5iLXRhYmxlLXN0aWNreS1oZWFkZXIge1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xcbn1cXG5cXG5AbWVkaWEgcHJpbnQge1xcbiAgLmItdGFibGUtc3RpY2t5LWhlYWRlciB7XFxuICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcXG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xcbiAgfVxcbn1cXG5cXG5Ac3VwcG9ydHMgKChwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kpIG9yIChwb3NpdGlvbjogc3RpY2t5KSkge1xcbiAgLmItdGFibGUtc3RpY2t5LWhlYWRlciA+IC50YWJsZS5iLXRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcXG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xcbiAgICB0b3A6IDA7XFxuICAgIHotaW5kZXg6IDI7XFxuICB9XFxuICAuYi10YWJsZS1zdGlja3ktaGVhZGVyID4gLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gLmItdGFibGUtc3RpY2t5LWNvbHVtbixcXG4gIC5iLXRhYmxlLXN0aWNreS1oZWFkZXIgPiAudGFibGUuYi10YWJsZSA+IHRib2R5ID4gdHIgPiAuYi10YWJsZS1zdGlja3ktY29sdW1uLFxcbiAgLmItdGFibGUtc3RpY2t5LWhlYWRlciA+IC50YWJsZS5iLXRhYmxlID4gdGZvb3QgPiB0ciA+IC5iLXRhYmxlLXN0aWNreS1jb2x1bW4sXFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS5iLXRhYmxlID4gdGhlYWQgPiB0ciA+IC5iLXRhYmxlLXN0aWNreS1jb2x1bW4sXFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS5iLXRhYmxlID4gdGJvZHkgPiB0ciA+IC5iLXRhYmxlLXN0aWNreS1jb2x1bW4sXFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS5iLXRhYmxlID4gdGZvb3QgPiB0ciA+IC5iLXRhYmxlLXN0aWNreS1jb2x1bW4sXFxuICBbY2xhc3MqPVxcXCJ0YWJsZS1yZXNwb25zaXZlLVxcXCJdID4gLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gLmItdGFibGUtc3RpY2t5LWNvbHVtbixcXG4gIFtjbGFzcyo9XFxcInRhYmxlLXJlc3BvbnNpdmUtXFxcIl0gPiAudGFibGUuYi10YWJsZSA+IHRib2R5ID4gdHIgPiAuYi10YWJsZS1zdGlja3ktY29sdW1uLFxcbiAgW2NsYXNzKj1cXFwidGFibGUtcmVzcG9uc2l2ZS1cXFwiXSA+IC50YWJsZS5iLXRhYmxlID4gdGZvb3QgPiB0ciA+IC5iLXRhYmxlLXN0aWNreS1jb2x1bW4ge1xcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XFxuICAgIHBvc2l0aW9uOiBzdGlja3k7XFxuICAgIGxlZnQ6IDA7XFxuICB9XFxuICAuYi10YWJsZS1zdGlja3ktaGVhZGVyID4gLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gLmItdGFibGUtc3RpY2t5LWNvbHVtbixcXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gLmItdGFibGUtc3RpY2t5LWNvbHVtbixcXG4gIFtjbGFzcyo9XFxcInRhYmxlLXJlc3BvbnNpdmUtXFxcIl0gPiAudGFibGUuYi10YWJsZSA+IHRoZWFkID4gdHIgPiAuYi10YWJsZS1zdGlja3ktY29sdW1uIHtcXG4gICAgei1pbmRleDogNTtcXG4gIH1cXG4gIC5iLXRhYmxlLXN0aWNreS1oZWFkZXIgPiAudGFibGUuYi10YWJsZSA+IHRib2R5ID4gdHIgPiAuYi10YWJsZS1zdGlja3ktY29sdW1uLFxcbiAgLmItdGFibGUtc3RpY2t5LWhlYWRlciA+IC50YWJsZS5iLXRhYmxlID4gdGZvb3QgPiB0ciA+IC5iLXRhYmxlLXN0aWNreS1jb2x1bW4sXFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS5iLXRhYmxlID4gdGJvZHkgPiB0ciA+IC5iLXRhYmxlLXN0aWNreS1jb2x1bW4sXFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS5iLXRhYmxlID4gdGZvb3QgPiB0ciA+IC5iLXRhYmxlLXN0aWNreS1jb2x1bW4sXFxuICBbY2xhc3MqPVxcXCJ0YWJsZS1yZXNwb25zaXZlLVxcXCJdID4gLnRhYmxlLmItdGFibGUgPiB0Ym9keSA+IHRyID4gLmItdGFibGUtc3RpY2t5LWNvbHVtbixcXG4gIFtjbGFzcyo9XFxcInRhYmxlLXJlc3BvbnNpdmUtXFxcIl0gPiAudGFibGUuYi10YWJsZSA+IHRmb290ID4gdHIgPiAuYi10YWJsZS1zdGlja3ktY29sdW1uIHtcXG4gICAgei1pbmRleDogMjtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlID4gdGhlYWQgPiB0ciA+IC50YWJsZS1iLXRhYmxlLWRlZmF1bHQsXFxuICAudGFibGUuYi10YWJsZSA+IHRib2R5ID4gdHIgPiAudGFibGUtYi10YWJsZS1kZWZhdWx0LFxcbiAgLnRhYmxlLmItdGFibGUgPiB0Zm9vdCA+IHRyID4gLnRhYmxlLWItdGFibGUtZGVmYXVsdCB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUudGFibGUtZGFyayA+IHRoZWFkID4gdHIgPiAuYmctYi10YWJsZS1kZWZhdWx0LFxcbiAgLnRhYmxlLmItdGFibGUudGFibGUtZGFyayA+IHRib2R5ID4gdHIgPiAuYmctYi10YWJsZS1kZWZhdWx0LFxcbiAgLnRhYmxlLmItdGFibGUudGFibGUtZGFyayA+IHRmb290ID4gdHIgPiAuYmctYi10YWJsZS1kZWZhdWx0IHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZShvZGQpID4gLnRhYmxlLWItdGFibGUtZGVmYXVsdCB7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuMDUpLCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLnRhYmxlLXN0cmlwZWQudGFibGUtZGFyayA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSA+IC5iZy1iLXRhYmxlLWRlZmF1bHQge1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSk7XFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAudGFibGUtYi10YWJsZS1kZWZhdWx0IHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuMDc1KSwgcmdiYSgwLCAwLCAwLCAwLjA3NSkpO1xcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUudGFibGUtaG92ZXIudGFibGUtZGFyayA+IHRib2R5ID4gdHI6aG92ZXIgPiAuYmctYi10YWJsZS1kZWZhdWx0IHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDc1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSkpO1xcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgfVxcbn1cXG5cXG4udGFibGUuYi10YWJsZSA+IHRoZWFkID4gdHIgPiBbYXJpYS1zb3J0XSxcXG4udGFibGUuYi10YWJsZSA+IHRmb290ID4gdHIgPiBbYXJpYS1zb3J0XSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIGJhY2tncm91bmQtc2l6ZTogMC42NWVtIDFlbTtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gW2FyaWEtc29ydF06bm90KC5iLXRhYmxlLXNvcnQtaWNvbi1sZWZ0KSxcXG4udGFibGUuYi10YWJsZSA+IHRmb290ID4gdHIgPiBbYXJpYS1zb3J0XTpub3QoLmItdGFibGUtc29ydC1pY29uLWxlZnQpIHtcXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoMC43NXJlbSAvIDIpIGNlbnRlcjtcXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC43NXJlbSArIDAuNjVlbSk7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlID4gdGhlYWQgPiB0ciA+IFthcmlhLXNvcnRdLmItdGFibGUtc29ydC1pY29uLWxlZnQsXFxuLnRhYmxlLmItdGFibGUgPiB0Zm9vdCA+IHRyID4gW2FyaWEtc29ydF0uYi10YWJsZS1zb3J0LWljb24tbGVmdCB7XFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNhbGMoMC43NXJlbSAvIDIpIGNlbnRlcjtcXG4gIHBhZGRpbmctbGVmdDogY2FsYygwLjc1cmVtICsgMC42NWVtKTtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gW2FyaWEtc29ydD1cXFwibm9uZVxcXCJdLFxcbi50YWJsZS5iLXRhYmxlID4gdGZvb3QgPiB0ciA+IFthcmlhLXNvcnQ9XFxcIm5vbmVcXFwiXSB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAxJyBoZWlnaHQ9JzEwMScgdmlldy1ib3g9JzAgMCAxMDEgMTAxJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJyUzZSUzY3BhdGggZmlsbD0nYmxhY2snIG9wYWNpdHk9Jy4zJyBkPSdNNTEgMWwyNSAyMyAyNCAyMkgxbDI1LTIyek01MSAxMDFsMjUtMjMgMjQtMjJIMWwyNSAyMnonLyUzZSUzYy9zdmclM2VcXFwiKTtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gW2FyaWEtc29ydD1cXFwiYXNjZW5kaW5nXFxcIl0sXFxuLnRhYmxlLmItdGFibGUgPiB0Zm9vdCA+IHRyID4gW2FyaWEtc29ydD1cXFwiYXNjZW5kaW5nXFxcIl0ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDEnIHZpZXctYm94PScwIDAgMTAxIDEwMScgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSclM2UlM2NwYXRoIGZpbGw9J2JsYWNrJyBkPSdNNTEgMWwyNSAyMyAyNCAyMkgxbDI1LTIyeicvJTNlJTNjcGF0aCBmaWxsPSdibGFjaycgb3BhY2l0eT0nLjMnIGQ9J001MSAxMDFsMjUtMjMgMjQtMjJIMWwyNSAyMnonLyUzZSUzYy9zdmclM2VcXFwiKTtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gW2FyaWEtc29ydD1cXFwiZGVzY2VuZGluZ1xcXCJdLFxcbi50YWJsZS5iLXRhYmxlID4gdGZvb3QgPiB0ciA+IFthcmlhLXNvcnQ9XFxcImRlc2NlbmRpbmdcXFwiXSB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAxJyBoZWlnaHQ9JzEwMScgdmlldy1ib3g9JzAgMCAxMDEgMTAxJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJyUzZSUzY3BhdGggZmlsbD0nYmxhY2snIG9wYWNpdHk9Jy4zJyBkPSdNNTEgMWwyNSAyMyAyNCAyMkgxbDI1LTIyeicvJTNlJTNjcGF0aCBmaWxsPSdibGFjaycgZD0nTTUxIDEwMWwyNS0yMyAyNC0yMkgxbDI1IDIyeicvJTNlJTNjL3N2ZyUzZVxcXCIpO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS50YWJsZS1kYXJrID4gdGhlYWQgPiB0ciA+IFthcmlhLXNvcnQ9XFxcIm5vbmVcXFwiXSxcXG4udGFibGUuYi10YWJsZS50YWJsZS1kYXJrID4gdGZvb3QgPiB0ciA+IFthcmlhLXNvcnQ9XFxcIm5vbmVcXFwiXSxcXG4udGFibGUuYi10YWJsZSA+IC50aGVhZC1kYXJrID4gdHIgPiBbYXJpYS1zb3J0PVxcXCJub25lXFxcIl0ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDEnIHZpZXctYm94PScwIDAgMTAxIDEwMScgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSclM2UlM2NwYXRoIGZpbGw9J3doaXRlJyBvcGFjaXR5PScuMycgZD0nTTUxIDFsMjUgMjMgMjQgMjJIMWwyNS0yMnpNNTEgMTAxbDI1LTIzIDI0LTIySDFsMjUgMjJ6Jy8lM2UlM2Mvc3ZnJTNlXFxcIik7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlLnRhYmxlLWRhcmsgPiB0aGVhZCA+IHRyID4gW2FyaWEtc29ydD1cXFwiYXNjZW5kaW5nXFxcIl0sXFxuLnRhYmxlLmItdGFibGUudGFibGUtZGFyayA+IHRmb290ID4gdHIgPiBbYXJpYS1zb3J0PVxcXCJhc2NlbmRpbmdcXFwiXSxcXG4udGFibGUuYi10YWJsZSA+IC50aGVhZC1kYXJrID4gdHIgPiBbYXJpYS1zb3J0PVxcXCJhc2NlbmRpbmdcXFwiXSB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAxJyBoZWlnaHQ9JzEwMScgdmlldy1ib3g9JzAgMCAxMDEgMTAxJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJyUzZSUzY3BhdGggZmlsbD0nd2hpdGUnIGQ9J001MSAxbDI1IDIzIDI0IDIySDFsMjUtMjJ6Jy8lM2UlM2NwYXRoIGZpbGw9J3doaXRlJyBvcGFjaXR5PScuMycgZD0nTTUxIDEwMWwyNS0yMyAyNC0yMkgxbDI1IDIyeicvJTNlJTNjL3N2ZyUzZVxcXCIpO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS50YWJsZS1kYXJrID4gdGhlYWQgPiB0ciA+IFthcmlhLXNvcnQ9XFxcImRlc2NlbmRpbmdcXFwiXSxcXG4udGFibGUuYi10YWJsZS50YWJsZS1kYXJrID4gdGZvb3QgPiB0ciA+IFthcmlhLXNvcnQ9XFxcImRlc2NlbmRpbmdcXFwiXSxcXG4udGFibGUuYi10YWJsZSA+IC50aGVhZC1kYXJrID4gdHIgPiBbYXJpYS1zb3J0PVxcXCJkZXNjZW5kaW5nXFxcIl0ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDEnIHZpZXctYm94PScwIDAgMTAxIDEwMScgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSclM2UlM2NwYXRoIGZpbGw9J3doaXRlJyBvcGFjaXR5PScuMycgZD0nTTUxIDFsMjUgMjMgMjQgMjJIMWwyNS0yMnonLyUzZSUzY3BhdGggZmlsbD0nd2hpdGUnIGQ9J001MSAxMDFsMjUtMjMgMjQtMjJIMWwyNSAyMnonLyUzZSUzYy9zdmclM2VcXFwiKTtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUgPiB0aGVhZCA+IHRyID4gLnRhYmxlLWRhcmtbYXJpYS1zb3J0PVxcXCJub25lXFxcIl0sXFxuLnRhYmxlLmItdGFibGUgPiB0Zm9vdCA+IHRyID4gLnRhYmxlLWRhcmtbYXJpYS1zb3J0PVxcXCJub25lXFxcIl0ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDEnIHZpZXctYm94PScwIDAgMTAxIDEwMScgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSclM2UlM2NwYXRoIGZpbGw9J3doaXRlJyBvcGFjaXR5PScuMycgZD0nTTUxIDFsMjUgMjMgMjQgMjJIMWwyNS0yMnpNNTEgMTAxbDI1LTIzIDI0LTIySDFsMjUgMjJ6Jy8lM2UlM2Mvc3ZnJTNlXFxcIik7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlID4gdGhlYWQgPiB0ciA+IC50YWJsZS1kYXJrW2FyaWEtc29ydD1cXFwiYXNjZW5kaW5nXFxcIl0sXFxuLnRhYmxlLmItdGFibGUgPiB0Zm9vdCA+IHRyID4gLnRhYmxlLWRhcmtbYXJpYS1zb3J0PVxcXCJhc2NlbmRpbmdcXFwiXSB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAxJyBoZWlnaHQ9JzEwMScgdmlldy1ib3g9JzAgMCAxMDEgMTAxJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJyUzZSUzY3BhdGggZmlsbD0nd2hpdGUnIGQ9J001MSAxbDI1IDIzIDI0IDIySDFsMjUtMjJ6Jy8lM2UlM2NwYXRoIGZpbGw9J3doaXRlJyBvcGFjaXR5PScuMycgZD0nTTUxIDEwMWwyNS0yMyAyNC0yMkgxbDI1IDIyeicvJTNlJTNjL3N2ZyUzZVxcXCIpO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZSA+IHRoZWFkID4gdHIgPiAudGFibGUtZGFya1thcmlhLXNvcnQ9XFxcImRlc2NlbmRpbmdcXFwiXSxcXG4udGFibGUuYi10YWJsZSA+IHRmb290ID4gdHIgPiAudGFibGUtZGFya1thcmlhLXNvcnQ9XFxcImRlc2NlbmRpbmdcXFwiXSB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAxJyBoZWlnaHQ9JzEwMScgdmlldy1ib3g9JzAgMCAxMDEgMTAxJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJyUzZSUzY3BhdGggZmlsbD0nd2hpdGUnIG9wYWNpdHk9Jy4zJyBkPSdNNTEgMWwyNSAyMyAyNCAyMkgxbDI1LTIyeicvJTNlJTNjcGF0aCBmaWxsPSd3aGl0ZScgZD0nTTUxIDEwMWwyNS0yMyAyNC0yMkgxbDI1IDIyeicvJTNlJTNjL3N2ZyUzZVxcXCIpO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS50YWJsZS1zbSA+IHRoZWFkID4gdHIgPiBbYXJpYS1zb3J0XTpub3QoLmItdGFibGUtc29ydC1pY29uLWxlZnQpLFxcbi50YWJsZS5iLXRhYmxlLnRhYmxlLXNtID4gdGZvb3QgPiB0ciA+IFthcmlhLXNvcnRdOm5vdCguYi10YWJsZS1zb3J0LWljb24tbGVmdCkge1xcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjNyZW0gLyAyKSBjZW50ZXI7XFxuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuM3JlbSArIDAuNjVlbSk7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlLnRhYmxlLXNtID4gdGhlYWQgPiB0ciA+IFthcmlhLXNvcnRdLmItdGFibGUtc29ydC1pY29uLWxlZnQsXFxuLnRhYmxlLmItdGFibGUudGFibGUtc20gPiB0Zm9vdCA+IHRyID4gW2FyaWEtc29ydF0uYi10YWJsZS1zb3J0LWljb24tbGVmdCB7XFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNhbGMoMC4zcmVtIC8gMikgY2VudGVyO1xcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuM3JlbSArIDAuNjVlbSk7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlLmItdGFibGUtc2VsZWN0YWJsZSA+IHRib2R5ID4gdHIge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS5iLXRhYmxlLXNlbGVjdGFibGUuYi10YWJsZS1zZWxlY3RpbmcuYi10YWJsZS1zZWxlY3QtcmFuZ2UgPiB0Ym9keSA+IHRyIHtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXNtIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXNtID4gY2FwdGlvbixcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1zbSA+IHRib2R5LFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXNtID4gdGJvZHkgPiB0cixcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1zbSA+IHRib2R5ID4gdHIgPiB0ZCxcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1zbSA+IHRib2R5ID4gdHIgPiB0aCB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXNtID4gdGhlYWQsXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtc20gPiB0Zm9vdCB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtc20gPiB0aGVhZCA+IHRyLmItdGFibGUtdG9wLXJvdyxcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1zbSA+IHRoZWFkID4gdHIuYi10YWJsZS1ib3R0b20tcm93LFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXNtID4gdGZvb3QgPiB0ci5iLXRhYmxlLXRvcC1yb3csXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtc20gPiB0Zm9vdCA+IHRyLmItdGFibGUtYm90dG9tLXJvdyB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtc20gPiBjYXB0aW9uIHtcXG4gICAgY2FwdGlvbi1zaWRlOiB0b3AgIWltcG9ydGFudDtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1zbSA+IHRib2R5ID4gdHIgPiBbZGF0YS1sYWJlbF06OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XFxuICAgIHdpZHRoOiA0MCU7XFxuICAgIGZsb2F0OiBsZWZ0O1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgcGFkZGluZzogMCBjYWxjKDFyZW0gLyAyKSAwIDA7XFxuICAgIG1hcmdpbjogMDtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1zbSA+IHRib2R5ID4gdHIgPiBbZGF0YS1sYWJlbF06OmFmdGVyIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIGNsZWFyOiBib3RoO1xcbiAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1zbSA+IHRib2R5ID4gdHIgPiBbZGF0YS1sYWJlbF0gPiBkaXYge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MCUpO1xcbiAgICBwYWRkaW5nOiAwIDAgMCBjYWxjKDFyZW0gLyAyKTtcXG4gICAgbWFyZ2luOiAwO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXNtID4gdGJvZHkgPiB0ci50b3Atcm93LCAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtc20gPiB0Ym9keSA+IHRyLmJvdHRvbS1yb3cge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXNtID4gdGJvZHkgPiB0ciA+IDpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDNweDtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1zbSA+IHRib2R5ID4gdHIgPiBbcm93c3Bhbl0gKyB0ZCxcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1zbSA+IHRib2R5ID4gdHIgPiBbcm93c3Bhbl0gKyB0aCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDNweDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbWQge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDEwMCU7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbWQgPiBjYXB0aW9uLFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLW1kID4gdGJvZHksXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbWQgPiB0Ym9keSA+IHRyLFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLW1kID4gdGJvZHkgPiB0ciA+IHRkLFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLW1kID4gdGJvZHkgPiB0ciA+IHRoIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbWQgPiB0aGVhZCxcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1tZCA+IHRmb290IHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1tZCA+IHRoZWFkID4gdHIuYi10YWJsZS10b3Atcm93LFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLW1kID4gdGhlYWQgPiB0ci5iLXRhYmxlLWJvdHRvbS1yb3csXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbWQgPiB0Zm9vdCA+IHRyLmItdGFibGUtdG9wLXJvdyxcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1tZCA+IHRmb290ID4gdHIuYi10YWJsZS1ib3R0b20tcm93IHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1tZCA+IGNhcHRpb24ge1xcbiAgICBjYXB0aW9uLXNpZGU6IHRvcCAhaW1wb3J0YW50O1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLW1kID4gdGJvZHkgPiB0ciA+IFtkYXRhLWxhYmVsXTo6YmVmb3JlIHtcXG4gICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcXG4gICAgd2lkdGg6IDQwJTtcXG4gICAgZmxvYXQ6IGxlZnQ7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xcbiAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBwYWRkaW5nOiAwIGNhbGMoMXJlbSAvIDIpIDAgMDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLW1kID4gdGJvZHkgPiB0ciA+IFtkYXRhLWxhYmVsXTo6YWZ0ZXIge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgY2xlYXI6IGJvdGg7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLW1kID4gdGJvZHkgPiB0ciA+IFtkYXRhLWxhYmVsXSA+IGRpdiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwJSk7XFxuICAgIHBhZGRpbmc6IDAgMCAwIGNhbGMoMXJlbSAvIDIpO1xcbiAgICBtYXJnaW46IDA7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbWQgPiB0Ym9keSA+IHRyLnRvcC1yb3csIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1tZCA+IHRib2R5ID4gdHIuYm90dG9tLXJvdyB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbWQgPiB0Ym9keSA+IHRyID4gOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogM3B4O1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLW1kID4gdGJvZHkgPiB0ciA+IFtyb3dzcGFuXSArIHRkLFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLW1kID4gdGJvZHkgPiB0ciA+IFtyb3dzcGFuXSArIHRoIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogM3B4O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1sZyB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1sZyA+IGNhcHRpb24sXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbGcgPiB0Ym9keSxcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1sZyA+IHRib2R5ID4gdHIsXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbGcgPiB0Ym9keSA+IHRyID4gdGQsXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbGcgPiB0Ym9keSA+IHRyID4gdGgge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1sZyA+IHRoZWFkLFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLWxnID4gdGZvb3Qge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLWxnID4gdGhlYWQgPiB0ci5iLXRhYmxlLXRvcC1yb3csXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbGcgPiB0aGVhZCA+IHRyLmItdGFibGUtYm90dG9tLXJvdyxcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1sZyA+IHRmb290ID4gdHIuYi10YWJsZS10b3Atcm93LFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLWxnID4gdGZvb3QgPiB0ci5iLXRhYmxlLWJvdHRvbS1yb3cge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLWxnID4gY2FwdGlvbiB7XFxuICAgIGNhcHRpb24tc2lkZTogdG9wICFpbXBvcnRhbnQ7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbGcgPiB0Ym9keSA+IHRyID4gW2RhdGEtbGFiZWxdOjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xcbiAgICB3aWR0aDogNDAlO1xcbiAgICBmbG9hdDogbGVmdDtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XFxuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIHBhZGRpbmc6IDAgY2FsYygxcmVtIC8gMikgMCAwO1xcbiAgICBtYXJnaW46IDA7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbGcgPiB0Ym9keSA+IHRyID4gW2RhdGEtbGFiZWxdOjphZnRlciB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBjbGVhcjogYm90aDtcXG4gICAgY29udGVudDogXFxcIlxcXCI7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbGcgPiB0Ym9keSA+IHRyID4gW2RhdGEtbGFiZWxdID4gZGl2IHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDAlKTtcXG4gICAgcGFkZGluZzogMCAwIDAgY2FsYygxcmVtIC8gMik7XFxuICAgIG1hcmdpbjogMDtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1sZyA+IHRib2R5ID4gdHIudG9wLXJvdywgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLWxnID4gdGJvZHkgPiB0ci5ib3R0b20tcm93IHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC1sZyA+IHRib2R5ID4gdHIgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbGcgPiB0Ym9keSA+IHRyID4gW3Jvd3NwYW5dICsgdGQsXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQtbGcgPiB0Ym9keSA+IHRyID4gW3Jvd3NwYW5dICsgdGgge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC14bCB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC14bCA+IGNhcHRpb24sXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQteGwgPiB0Ym9keSxcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC14bCA+IHRib2R5ID4gdHIsXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQteGwgPiB0Ym9keSA+IHRyID4gdGQsXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQteGwgPiB0Ym9keSA+IHRyID4gdGgge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC14bCA+IHRoZWFkLFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXhsID4gdGZvb3Qge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXhsID4gdGhlYWQgPiB0ci5iLXRhYmxlLXRvcC1yb3csXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQteGwgPiB0aGVhZCA+IHRyLmItdGFibGUtYm90dG9tLXJvdyxcXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC14bCA+IHRmb290ID4gdHIuYi10YWJsZS10b3Atcm93LFxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXhsID4gdGZvb3QgPiB0ci5iLXRhYmxlLWJvdHRvbS1yb3cge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbiAgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXhsID4gY2FwdGlvbiB7XFxuICAgIGNhcHRpb24tc2lkZTogdG9wICFpbXBvcnRhbnQ7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQteGwgPiB0Ym9keSA+IHRyID4gW2RhdGEtbGFiZWxdOjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xcbiAgICB3aWR0aDogNDAlO1xcbiAgICBmbG9hdDogbGVmdDtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XFxuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIHBhZGRpbmc6IDAgY2FsYygxcmVtIC8gMikgMCAwO1xcbiAgICBtYXJnaW46IDA7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQteGwgPiB0Ym9keSA+IHRyID4gW2RhdGEtbGFiZWxdOjphZnRlciB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBjbGVhcjogYm90aDtcXG4gICAgY29udGVudDogXFxcIlxcXCI7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQteGwgPiB0Ym9keSA+IHRyID4gW2RhdGEtbGFiZWxdID4gZGl2IHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDAlKTtcXG4gICAgcGFkZGluZzogMCAwIDAgY2FsYygxcmVtIC8gMik7XFxuICAgIG1hcmdpbjogMDtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC14bCA+IHRib2R5ID4gdHIudG9wLXJvdywgLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkLXhsID4gdGJvZHkgPiB0ci5ib3R0b20tcm93IHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG4gIH1cXG4gIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZC14bCA+IHRib2R5ID4gdHIgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XFxuICB9XFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQteGwgPiB0Ym9keSA+IHRyID4gW3Jvd3NwYW5dICsgdGQsXFxuICAudGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQteGwgPiB0Ym9keSA+IHRyID4gW3Jvd3NwYW5dICsgdGgge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XFxuICB9XFxufVxcblxcbi50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQgPiBjYXB0aW9uLFxcbi50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZCA+IHRib2R5LFxcbi50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZCA+IHRib2R5ID4gdHIsXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gdGJvZHkgPiB0ciA+IHRkLFxcbi50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZCA+IHRib2R5ID4gdHIgPiB0aCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gdGhlYWQsXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gdGZvb3Qge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gdGhlYWQgPiB0ci5iLXRhYmxlLXRvcC1yb3csXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gdGhlYWQgPiB0ci5iLXRhYmxlLWJvdHRvbS1yb3csXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gdGZvb3QgPiB0ci5iLXRhYmxlLXRvcC1yb3csXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gdGZvb3QgPiB0ci5iLXRhYmxlLWJvdHRvbS1yb3cge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gY2FwdGlvbiB7XFxuICBjYXB0aW9uLXNpZGU6IHRvcCAhaW1wb3J0YW50O1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQgPiB0Ym9keSA+IHRyID4gW2RhdGEtbGFiZWxdOjpiZWZvcmUge1xcbiAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcXG4gIHdpZHRoOiA0MCU7XFxuICBmbG9hdDogbGVmdDtcXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgcGFkZGluZzogMCBjYWxjKDFyZW0gLyAyKSAwIDA7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbi50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZCA+IHRib2R5ID4gdHIgPiBbZGF0YS1sYWJlbF06OmFmdGVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgY2xlYXI6IGJvdGg7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gdGJvZHkgPiB0ciA+IFtkYXRhLWxhYmVsXSA+IGRpdiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogY2FsYygxMDAlIC0gNDAlKTtcXG4gIHBhZGRpbmc6IDAgMCAwIGNhbGMoMXJlbSAvIDIpO1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQgPiB0Ym9keSA+IHRyLnRvcC1yb3csIC50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZCA+IHRib2R5ID4gdHIuYm90dG9tLXJvdyB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4udGFibGUuYi10YWJsZS5iLXRhYmxlLXN0YWNrZWQgPiB0Ym9keSA+IHRyID4gOmZpcnN0LWNoaWxkIHtcXG4gIGJvcmRlci10b3Atd2lkdGg6IDNweDtcXG59XFxuXFxuLnRhYmxlLmItdGFibGUuYi10YWJsZS1zdGFja2VkID4gdGJvZHkgPiB0ciA+IFtyb3dzcGFuXSArIHRkLFxcbi50YWJsZS5iLXRhYmxlLmItdGFibGUtc3RhY2tlZCA+IHRib2R5ID4gdHIgPiBbcm93c3Bhbl0gKyB0aCB7XFxuICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XFxufVxcblxcbi5iLXRvYXN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWF4LXdpZHRoOiAzNTBweDtcXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcXG4gIHotaW5kZXg6IDE7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG5cXG4uYi10b2FzdCAudG9hc3Qge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcXG59XFxuXFxuLmItdG9hc3Q6bm90KDpsYXN0LWNoaWxkKSB7XFxuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xcbn1cXG5cXG4uYi10b2FzdC5iLXRvYXN0LXNvbGlkIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG59XFxuXFxuLmItdG9hc3QgLnRvYXN0IHtcXG4gIG9wYWNpdHk6IDE7XFxufVxcblxcbi5iLXRvYXN0IC50b2FzdC5mYWRlOm5vdCguc2hvdykge1xcbiAgb3BhY2l0eTogMDtcXG59XFxuXFxuLmItdG9hc3QgLnRvYXN0IC50b2FzdC1ib2R5IHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG5cXG4uYi10b2FzdC1wcmltYXJ5IC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjQyLCAyNTUsIDAuODUpO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE4NCwgMjE4LCAyNTUsIDAuODUpO1xcbiAgY29sb3I6ICMwMDQwODU7XFxufVxcblxcbi5iLXRvYXN0LXByaW1hcnkgLnRvYXN0IC50b2FzdC1oZWFkZXIge1xcbiAgY29sb3I6ICMwMDQwODU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjI5LCAyNTUsIDAuODUpO1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgxODQsIDIxOCwgMjU1LCAwLjg1KTtcXG59XFxuXFxuLmItdG9hc3QtcHJpbWFyeS5iLXRvYXN0LXNvbGlkIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmMmZmO1xcbn1cXG5cXG4uYi10b2FzdC1zZWNvbmRhcnkgLnRvYXN0IHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCAyNDAsIDI0MSwgMC44NSk7XFxuICBib3JkZXItY29sb3I6IHJnYmEoMjE0LCAyMTYsIDIxOSwgMC44NSk7XFxuICBjb2xvcjogIzM4M2Q0MTtcXG59XFxuXFxuLmItdG9hc3Qtc2Vjb25kYXJ5IC50b2FzdCAudG9hc3QtaGVhZGVyIHtcXG4gIGNvbG9yOiAjMzgzZDQxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjYsIDIyNywgMjI5LCAwLjg1KTtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjE0LCAyMTYsIDIxOSwgMC44NSk7XFxufVxcblxcbi5iLXRvYXN0LXNlY29uZGFyeS5iLXRvYXN0LXNvbGlkIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmMGYxO1xcbn1cXG5cXG4uYi10b2FzdC1zdWNjZXNzIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjQ1LCAyMzMsIDAuODUpO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5NSwgMjMwLCAyMDMsIDAuODUpO1xcbiAgY29sb3I6ICMxNTU3MjQ7XFxufVxcblxcbi5iLXRvYXN0LXN1Y2Nlc3MgLnRvYXN0IC50b2FzdC1oZWFkZXIge1xcbiAgY29sb3I6ICMxNTU3MjQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMiwgMjM3LCAyMTgsIDAuODUpO1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgxOTUsIDIzMCwgMjAzLCAwLjg1KTtcXG59XFxuXFxuLmItdG9hc3Qtc3VjY2Vzcy5iLXRvYXN0LXNvbGlkIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmNWU5O1xcbn1cXG5cXG4uYi10b2FzdC1pbmZvIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyOSwgMjQ0LCAyNDcsIDAuODUpO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5MCwgMjI5LCAyMzUsIDAuODUpO1xcbiAgY29sb3I6ICMwYzU0NjA7XFxufVxcblxcbi5iLXRvYXN0LWluZm8gLnRvYXN0IC50b2FzdC1oZWFkZXIge1xcbiAgY29sb3I6ICMwYzU0NjA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwOSwgMjM2LCAyNDEsIDAuODUpO1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgxOTAsIDIyOSwgMjM1LCAwLjg1KTtcXG59XFxuXFxuLmItdG9hc3QtaW5mby5iLXRvYXN0LXNvbGlkIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVmNGY3O1xcbn1cXG5cXG4uYi10b2FzdC13YXJuaW5nIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjQ5LCAyMzEsIDAuODUpO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjM4LCAxODYsIDAuODUpO1xcbiAgY29sb3I6ICM4NTY0MDQ7XFxufVxcblxcbi5iLXRvYXN0LXdhcm5pbmcgLnRvYXN0IC50b2FzdC1oZWFkZXIge1xcbiAgY29sb3I6ICM4NTY0MDQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjQzLCAyMDUsIDAuODUpO1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDIzOCwgMTg2LCAwLjg1KTtcXG59XFxuXFxuLmItdG9hc3Qtd2FybmluZy5iLXRvYXN0LXNvbGlkIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWU3O1xcbn1cXG5cXG4uYi10b2FzdC1kYW5nZXIgLnRvYXN0IHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUyLCAyMzcsIDIzOCwgMC44NSk7XFxuICBib3JkZXItY29sb3I6IHJnYmEoMjQ1LCAxOTgsIDIwMywgMC44NSk7XFxuICBjb2xvcjogIzcyMWMyNDtcXG59XFxuXFxuLmItdG9hc3QtZGFuZ2VyIC50b2FzdCAudG9hc3QtaGVhZGVyIHtcXG4gIGNvbG9yOiAjNzIxYzI0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDgsIDIxNSwgMjE4LCAwLjg1KTtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjQ1LCAxOTgsIDIwMywgMC44NSk7XFxufVxcblxcbi5iLXRvYXN0LWRhbmdlci5iLXRvYXN0LXNvbGlkIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlZGVlO1xcbn1cXG5cXG4uYi10b2FzdC1saWdodCAudG9hc3Qge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcXG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTMsIDI1MywgMjU0LCAwLjg1KTtcXG4gIGNvbG9yOiAjODE4MTgyO1xcbn1cXG5cXG4uYi10b2FzdC1saWdodCAudG9hc3QgLnRvYXN0LWhlYWRlciB7XFxuICBjb2xvcjogIzgxODE4MjtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC44NSk7XFxuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1MywgMjUzLCAyNTQsIDAuODUpO1xcbn1cXG5cXG4uYi10b2FzdC1saWdodC5iLXRvYXN0LXNvbGlkIC50b2FzdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG59XFxuXFxuLmItdG9hc3QtZGFyayAudG9hc3Qge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjcsIDIyOSwgMjI5LCAwLjg1KTtcXG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTgsIDIwMCwgMjAyLCAwLjg1KTtcXG4gIGNvbG9yOiAjMWIxZTIxO1xcbn1cXG5cXG4uYi10b2FzdC1kYXJrIC50b2FzdCAudG9hc3QtaGVhZGVyIHtcXG4gIGNvbG9yOiAjMWIxZTIxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTQsIDIxNiwgMjE3LCAwLjg1KTtcXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMTk4LCAyMDAsIDIwMiwgMC44NSk7XFxufVxcblxcbi5iLXRvYXN0LWRhcmsuYi10b2FzdC1zb2xpZCAudG9hc3Qge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzZTVlNTtcXG59XFxuXFxuLmItdG9hc3RlciB7XFxuICB6LWluZGV4OiAxMTAwO1xcbn1cXG5cXG4uYi10b2FzdGVyIC5iLXRvYXN0ZXItc2xvdCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLmItdG9hc3RlciAuYi10b2FzdGVyLXNsb3Q6ZW1wdHkge1xcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG5cXG4uYi10b2FzdGVyLmItdG9hc3Rlci10b3AtcmlnaHQsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1sZWZ0LCAuYi10b2FzdGVyLmItdG9hc3Rlci10b3AtY2VudGVyLCAuYi10b2FzdGVyLmItdG9hc3Rlci10b3AtZnVsbCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLXJpZ2h0LCAuYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tbGVmdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWNlbnRlciwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWZ1bGwge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgbGVmdDogMC41cmVtO1xcbiAgcmlnaHQ6IDAuNXJlbTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBoZWlnaHQ6IDA7XFxuICBvdmVyZmxvdzogdmlzaWJsZTtcXG59XFxuXFxuLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLXJpZ2h0IC5iLXRvYXN0ZXItc2xvdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLWxlZnQgLmItdG9hc3Rlci1zbG90LCAuYi10b2FzdGVyLmItdG9hc3Rlci10b3AtY2VudGVyIC5iLXRvYXN0ZXItc2xvdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLWZ1bGwgLmItdG9hc3Rlci1zbG90LCAuYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tcmlnaHQgLmItdG9hc3Rlci1zbG90LCAuYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tbGVmdCAuYi10b2FzdGVyLXNsb3QsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1jZW50ZXIgLmItdG9hc3Rlci1zbG90LCAuYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tZnVsbCAuYi10b2FzdGVyLXNsb3Qge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgbWF4LXdpZHRoOiAzNTBweDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgLyogSUUxMSBmaXggKi9cXG4gIGxlZnQ6IDA7XFxuICByaWdodDogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbi5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1mdWxsIC5iLXRvYXN0ZXItc2xvdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWZ1bGwgLmItdG9hc3Rlci1zbG90IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG5cXG4uYi10b2FzdGVyLmItdG9hc3Rlci10b3AtZnVsbCAuYi10b2FzdGVyLXNsb3QgLmItdG9hc3QsXFxuLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLWZ1bGwgLmItdG9hc3Rlci1zbG90IC50b2FzdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWZ1bGwgLmItdG9hc3Rlci1zbG90IC5iLXRvYXN0LFxcbi5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1mdWxsIC5iLXRvYXN0ZXItc2xvdCAudG9hc3Qge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcblxcbi5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1yaWdodCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLWxlZnQsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1jZW50ZXIsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1mdWxsIHtcXG4gIHRvcDogMDtcXG59XFxuXFxuLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLXJpZ2h0IC5iLXRvYXN0ZXItc2xvdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLWxlZnQgLmItdG9hc3Rlci1zbG90LCAuYi10b2FzdGVyLmItdG9hc3Rlci10b3AtY2VudGVyIC5iLXRvYXN0ZXItc2xvdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLWZ1bGwgLmItdG9hc3Rlci1zbG90IHtcXG4gIHRvcDogMC41cmVtO1xcbn1cXG5cXG4uYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tcmlnaHQsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1sZWZ0LCAuYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tY2VudGVyLCAuYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tZnVsbCB7XFxuICBib3R0b206IDA7XFxufVxcblxcbi5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1yaWdodCAuYi10b2FzdGVyLXNsb3QsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1sZWZ0IC5iLXRvYXN0ZXItc2xvdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWNlbnRlciAuYi10b2FzdGVyLXNsb3QsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1mdWxsIC5iLXRvYXN0ZXItc2xvdCB7XFxuICBib3R0b206IDAuNXJlbTtcXG59XFxuXFxuLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLXJpZ2h0IC5iLXRvYXN0ZXItc2xvdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLXJpZ2h0IC5iLXRvYXN0ZXItc2xvdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLWNlbnRlciAuYi10b2FzdGVyLXNsb3QsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1jZW50ZXIgLmItdG9hc3Rlci1zbG90IHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbn1cXG5cXG4uYi10b2FzdGVyLmItdG9hc3Rlci10b3AtbGVmdCAuYi10b2FzdGVyLXNsb3QsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1sZWZ0IC5iLXRvYXN0ZXItc2xvdCwgLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLWNlbnRlciAuYi10b2FzdGVyLXNsb3QsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1jZW50ZXIgLmItdG9hc3Rlci1zbG90IHtcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuXFxuLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLXJpZ2h0IC5iLXRvYXN0LmItdG9hc3Rlci1lbnRlci1hY3RpdmUsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1yaWdodCAuYi10b2FzdC5iLXRvYXN0ZXItbGVhdmUtYWN0aXZlLCAuYi10b2FzdGVyLmItdG9hc3Rlci10b3AtcmlnaHQgLmItdG9hc3QuYi10b2FzdGVyLW1vdmUsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1sZWZ0IC5iLXRvYXN0LmItdG9hc3Rlci1lbnRlci1hY3RpdmUsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1sZWZ0IC5iLXRvYXN0LmItdG9hc3Rlci1sZWF2ZS1hY3RpdmUsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1sZWZ0IC5iLXRvYXN0LmItdG9hc3Rlci1tb3ZlLCAuYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tcmlnaHQgLmItdG9hc3QuYi10b2FzdGVyLWVudGVyLWFjdGl2ZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLXJpZ2h0IC5iLXRvYXN0LmItdG9hc3Rlci1sZWF2ZS1hY3RpdmUsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1yaWdodCAuYi10b2FzdC5iLXRvYXN0ZXItbW92ZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWxlZnQgLmItdG9hc3QuYi10b2FzdGVyLWVudGVyLWFjdGl2ZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWxlZnQgLmItdG9hc3QuYi10b2FzdGVyLWxlYXZlLWFjdGl2ZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWxlZnQgLmItdG9hc3QuYi10b2FzdGVyLW1vdmUge1xcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4xNzVzO1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTc1cztcXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE3NXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMTc1cztcXG59XFxuXFxuLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLXJpZ2h0IC5iLXRvYXN0LmItdG9hc3Rlci1lbnRlci10byAudG9hc3QuZmFkZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLXJpZ2h0IC5iLXRvYXN0LmItdG9hc3Rlci1lbnRlci1hY3RpdmUgLnRvYXN0LmZhZGUsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1sZWZ0IC5iLXRvYXN0LmItdG9hc3Rlci1lbnRlci10byAudG9hc3QuZmFkZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItdG9wLWxlZnQgLmItdG9hc3QuYi10b2FzdGVyLWVudGVyLWFjdGl2ZSAudG9hc3QuZmFkZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLXJpZ2h0IC5iLXRvYXN0LmItdG9hc3Rlci1lbnRlci10byAudG9hc3QuZmFkZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLXJpZ2h0IC5iLXRvYXN0LmItdG9hc3Rlci1lbnRlci1hY3RpdmUgLnRvYXN0LmZhZGUsIC5iLXRvYXN0ZXIuYi10b2FzdGVyLWJvdHRvbS1sZWZ0IC5iLXRvYXN0LmItdG9hc3Rlci1lbnRlci10byAudG9hc3QuZmFkZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWxlZnQgLmItdG9hc3QuYi10b2FzdGVyLWVudGVyLWFjdGl2ZSAudG9hc3QuZmFkZSB7XFxuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE3NXM7XFxufVxcblxcbi5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1yaWdodCAuYi10b2FzdC5iLXRvYXN0ZXItbGVhdmUtYWN0aXZlLCAuYi10b2FzdGVyLmItdG9hc3Rlci10b3AtbGVmdCAuYi10b2FzdC5iLXRvYXN0ZXItbGVhdmUtYWN0aXZlLCAuYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tcmlnaHQgLmItdG9hc3QuYi10b2FzdGVyLWxlYXZlLWFjdGl2ZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWxlZnQgLmItdG9hc3QuYi10b2FzdGVyLWxlYXZlLWFjdGl2ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE3NXM7XFxufVxcblxcbi5iLXRvYXN0ZXIuYi10b2FzdGVyLXRvcC1yaWdodCAuYi10b2FzdC5iLXRvYXN0ZXItbGVhdmUtYWN0aXZlIC50b2FzdC5mYWRlLCAuYi10b2FzdGVyLmItdG9hc3Rlci10b3AtbGVmdCAuYi10b2FzdC5iLXRvYXN0ZXItbGVhdmUtYWN0aXZlIC50b2FzdC5mYWRlLCAuYi10b2FzdGVyLmItdG9hc3Rlci1ib3R0b20tcmlnaHQgLmItdG9hc3QuYi10b2FzdGVyLWxlYXZlLWFjdGl2ZSAudG9hc3QuZmFkZSwgLmItdG9hc3Rlci5iLXRvYXN0ZXItYm90dG9tLWxlZnQgLmItdG9hc3QuYi10b2FzdGVyLWxlYXZlLWFjdGl2ZSAudG9hc3QuZmFkZSB7XFxuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgb3BhY2l0eTogMC45O1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAuZmFkZTpub3QoLnNob3cpIHtcXG4gIG9wYWNpdHk6IDA7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC5zaG93IHtcXG4gIG9wYWNpdHk6IDAuOTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLXByaW1hcnkuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1wcmltYXJ5LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDdiZmY7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1wcmltYXJ5LmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1wcmltYXJ5LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDA3YmZmO1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAtcHJpbWFyeS5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLnRvb2x0aXAuYi10b29sdGlwLXByaW1hcnkuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwN2JmZjtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLXByaW1hcnkuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAudG9vbHRpcC5iLXRvb2x0aXAtcHJpbWFyeS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDdiZmY7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1wcmltYXJ5IC50b29sdGlwLWlubmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLXNlY29uZGFyeS5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZSwgLnRvb2x0aXAuYi10b29sdGlwLXNlY29uZGFyeS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItdG9wLWNvbG9yOiAjNmM3NTdkO1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAtc2Vjb25kYXJ5LmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1zZWNvbmRhcnkuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwicmlnaHRcXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItcmlnaHQtY29sb3I6ICM2Yzc1N2Q7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1zZWNvbmRhcnkuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1zZWNvbmRhcnkuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzZjNzU3ZDtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLXNlY29uZGFyeS5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1zZWNvbmRhcnkuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjNmM3NTdkO1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAtc2Vjb25kYXJ5IC50b29sdGlwLWlubmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLXN1Y2Nlc3MuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1zdWNjZXNzLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICMyOGE3NDU7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1zdWNjZXNzLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1zdWNjZXNzLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMjhhNzQ1O1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAtc3VjY2Vzcy5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLnRvb2x0aXAuYi10b29sdGlwLXN1Y2Nlc3MuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI4YTc0NTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLXN1Y2Nlc3MuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAudG9vbHRpcC5iLXRvb2x0aXAtc3VjY2Vzcy5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMyOGE3NDU7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1zdWNjZXNzIC50b29sdGlwLWlubmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWluZm8uYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1pbmZvLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICMxN2EyYjg7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1pbmZvLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1pbmZvLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMTdhMmI4O1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAtaW5mby5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLnRvb2x0aXAuYi10b29sdGlwLWluZm8uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzE3YTJiODtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWluZm8uYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAudG9vbHRpcC5iLXRvb2x0aXAtaW5mby5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMxN2EyYjg7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1pbmZvIC50b29sdGlwLWlubmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLXdhcm5pbmcuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC13YXJuaW5nLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmMxMDc7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC13YXJuaW5nLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC13YXJuaW5nLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZjMTA3O1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAtd2FybmluZy5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLnRvb2x0aXAuYi10b29sdGlwLXdhcm5pbmcuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmYzEwNztcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLXdhcm5pbmcuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAudG9vbHRpcC5iLXRvb2x0aXAtd2FybmluZy5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmMxMDc7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC13YXJuaW5nIC50b29sdGlwLWlubmVyIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWRhbmdlci5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZSwgLnRvb2x0aXAuYi10b29sdGlwLWRhbmdlci5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItdG9wLWNvbG9yOiAjZGMzNTQ1O1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAtZGFuZ2VyLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1kYW5nZXIuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwicmlnaHRcXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItcmlnaHQtY29sb3I6ICNkYzM1NDU7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1kYW5nZXIuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1kYW5nZXIuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RjMzU0NTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWRhbmdlci5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1kYW5nZXIuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZGMzNTQ1O1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAtZGFuZ2VyIC50b29sdGlwLWlubmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWxpZ2h0LmJzLXRvb2x0aXAtdG9wIC5hcnJvdzo6YmVmb3JlLCAudG9vbHRpcC5iLXRvb2x0aXAtbGlnaHQuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwidG9wXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Y4ZjlmYTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWxpZ2h0LmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1saWdodC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2Y4ZjlmYTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWxpZ2h0LmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAudG9vbHRpcC5iLXRvb2x0aXAtbGlnaHQuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Y4ZjlmYTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWxpZ2h0LmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZSwgLnRvb2x0aXAuYi10b29sdGlwLWxpZ2h0LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICBib3JkZXItbGVmdC1jb2xvcjogI2Y4ZjlmYTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWxpZ2h0IC50b29sdGlwLWlubmVyIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWRhcmsuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1kYXJrLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gIGJvcmRlci10b3AtY29sb3I6ICMzNDNhNDA7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1kYXJrLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC50b29sdGlwLmItdG9vbHRpcC1kYXJrLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMzQzYTQwO1xcbn1cXG5cXG4udG9vbHRpcC5iLXRvb2x0aXAtZGFyay5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLnRvb2x0aXAuYi10b29sdGlwLWRhcmsuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzM0M2E0MDtcXG59XFxuXFxuLnRvb2x0aXAuYi10b29sdGlwLWRhcmsuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAudG9vbHRpcC5iLXRvb2x0aXAtZGFyay5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMzNDNhNDA7XFxufVxcblxcbi50b29sdGlwLmItdG9vbHRpcC1kYXJrIC50b29sdGlwLWlubmVyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcXG59XCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlciEuL25vZGVfbW9kdWxlcy9ib290c3RyYXAtdnVlL2Rpc3QvYm9vdHN0cmFwLXZ1ZS5jc3Ncbi8vIG1vZHVsZSBpZCA9IDI3OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///279\n"); + +/***/ }), +/* 280 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(281);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(23)(\"ac0c440e\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../css-loader/index.js!./prism.css\", function() {\n var newContent = require(\"!!../../css-loader/index.js!./prism.css\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWNvZGUtaGlnaGxpZ2h0L3RoZW1lcy9wcmlzbS5jc3M/YmVhMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxHQUF5QztBQUMvRCw0Q0FBNEMsUUFBUztBQUNyRDtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLEVBQWdELGdDQUFnQztBQUNyRztBQUNBLEdBQUcsS0FBVTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIyODAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcyEuL3ByaXNtLmNzc1wiKTtcbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBhZGQgdGhlIHN0eWxlcyB0byB0aGUgRE9NXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCJhYzBjNDQwZVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcyEuL3ByaXNtLmNzc1wiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi9jc3MtbG9hZGVyL2luZGV4LmpzIS4vcHJpc20uY3NzXCIpO1xuICAgICBpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcbiAgICAgdXBkYXRlKG5ld0NvbnRlbnQpO1xuICAgfSk7XG4gfVxuIC8vIFdoZW4gdGhlIG1vZHVsZSBpcyBkaXNwb3NlZCwgcmVtb3ZlIHRoZSA8c3R5bGU+IHRhZ3NcbiBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy92dWUtY29kZS1oaWdobGlnaHQvdGhlbWVzL3ByaXNtLmNzc1xuLy8gbW9kdWxlIGlkID0gMjgwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///280\n"); + +/***/ }), +/* 281 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("exports = module.exports = __webpack_require__(22)(false);\n// imports\n\n\n// module\nexports.push([module.i, \"/**\\n * prism.js default theme for JavaScript, CSS and HTML\\n * Based on dabblet (http://dabblet.com)\\n * @author Lea Verou\\n */\\n\\ncode[class*=\\\"language-\\\"],\\npre[class*=\\\"language-\\\"] {\\n\\tcolor: black;\\n\\tbackground: none;\\n\\ttext-shadow: 0 1px white;\\n\\tfont-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\\n\\ttext-align: left;\\n\\twhite-space: pre;\\n\\tword-spacing: normal;\\n\\tword-break: normal;\\n\\tword-wrap: normal;\\n\\tline-height: 1.5;\\n\\n\\t-moz-tab-size: 4;\\n\\t-o-tab-size: 4;\\n\\ttab-size: 4;\\n\\n\\t-webkit-hyphens: none;\\n\\t-moz-hyphens: none;\\n\\t-ms-hyphens: none;\\n\\thyphens: none;\\n}\\n\\npre[class*=\\\"language-\\\"]::-moz-selection, pre[class*=\\\"language-\\\"] ::-moz-selection,\\ncode[class*=\\\"language-\\\"]::-moz-selection, code[class*=\\\"language-\\\"] ::-moz-selection {\\n\\ttext-shadow: none;\\n\\tbackground: #b3d4fc;\\n}\\n\\npre[class*=\\\"language-\\\"]::selection, pre[class*=\\\"language-\\\"] ::selection,\\ncode[class*=\\\"language-\\\"]::selection, code[class*=\\\"language-\\\"] ::selection {\\n\\ttext-shadow: none;\\n\\tbackground: #b3d4fc;\\n}\\n\\n@media print {\\n\\tcode[class*=\\\"language-\\\"],\\n\\tpre[class*=\\\"language-\\\"] {\\n\\t\\ttext-shadow: none;\\n\\t}\\n}\\n\\n/* Code blocks */\\npre[class*=\\\"language-\\\"] {\\n\\tpadding: 1em;\\n\\tmargin: .5em 0;\\n\\toverflow: auto;\\n}\\n\\n:not(pre) > code[class*=\\\"language-\\\"],\\npre[class*=\\\"language-\\\"] {\\n\\tbackground: #f5f2f0;\\n}\\n\\n/* Inline code */\\n:not(pre) > code[class*=\\\"language-\\\"] {\\n\\tpadding: .1em;\\n\\tborder-radius: .3em;\\n\\twhite-space: normal;\\n}\\n\\n.token.comment,\\n.token.prolog,\\n.token.doctype,\\n.token.cdata {\\n\\tcolor: slategray;\\n}\\n\\n.token.punctuation {\\n\\tcolor: #999;\\n}\\n\\n.namespace {\\n\\topacity: .7;\\n}\\n\\n.token.property,\\n.token.tag,\\n.token.boolean,\\n.token.number,\\n.token.constant,\\n.token.symbol,\\n.token.deleted {\\n\\tcolor: #905;\\n}\\n\\n.token.selector,\\n.token.attr-name,\\n.token.string,\\n.token.char,\\n.token.builtin,\\n.token.inserted {\\n\\tcolor: #690;\\n}\\n\\n.token.operator,\\n.token.entity,\\n.token.url,\\n.language-css .token.string,\\n.style .token.string {\\n\\tcolor: #9a6e3a;\\n\\tbackground: hsla(0, 0%, 100%, .5);\\n}\\n\\n.token.atrule,\\n.token.attr-value,\\n.token.keyword {\\n\\tcolor: #07a;\\n}\\n\\n.token.function,\\n.token.class-name {\\n\\tcolor: #DD4A68;\\n}\\n\\n.token.regex,\\n.token.important,\\n.token.variable {\\n\\tcolor: #e90;\\n}\\n\\n.token.important,\\n.token.bold {\\n\\tfont-weight: bold;\\n}\\n.token.italic {\\n\\tfont-style: italic;\\n}\\n\\n.token.entity {\\n\\tcursor: help;\\n}\\n\", \"\"]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWNvZGUtaGlnaGxpZ2h0L3RoZW1lcy9wcmlzbS5jc3M/MTAwZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkIsbUJBQU8sQ0FBQyxFQUFrQztBQUNyRTs7O0FBR0E7QUFDQSxjQUFjLFFBQVMsK0xBQStMLGlCQUFpQixxQkFBcUIsNkJBQTZCLDJFQUEyRSxxQkFBcUIscUJBQXFCLHlCQUF5Qix1QkFBdUIsc0JBQXNCLHFCQUFxQix1QkFBdUIsbUJBQW1CLGdCQUFnQiw0QkFBNEIsdUJBQXVCLHNCQUFzQixrQkFBa0IsR0FBRyxxTEFBcUwsc0JBQXNCLHdCQUF3QixHQUFHLGlLQUFpSyxzQkFBc0Isd0JBQXdCLEdBQUcsa0JBQWtCLDhEQUE4RCx3QkFBd0IsS0FBSyxHQUFHLGtEQUFrRCxpQkFBaUIsbUJBQW1CLG1CQUFtQixHQUFHLHdFQUF3RSx3QkFBd0IsR0FBRywrREFBK0Qsa0JBQWtCLHdCQUF3Qix3QkFBd0IsR0FBRyxvRUFBb0UscUJBQXFCLEdBQUcsd0JBQXdCLGdCQUFnQixHQUFHLGdCQUFnQixnQkFBZ0IsR0FBRyxzSEFBc0gsZ0JBQWdCLEdBQUcseUdBQXlHLGdCQUFnQixHQUFHLHVHQUF1RyxtQkFBbUIsc0NBQXNDLEdBQUcsd0RBQXdELGdCQUFnQixHQUFHLHlDQUF5QyxtQkFBbUIsR0FBRyx1REFBdUQsZ0JBQWdCLEdBQUcsb0NBQW9DLHNCQUFzQixHQUFHLGlCQUFpQix1QkFBdUIsR0FBRyxtQkFBbUIsaUJBQWlCLEdBQUc7O0FBRWo3RSIsImZpbGUiOiIyODEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLyoqXFxuICogcHJpc20uanMgZGVmYXVsdCB0aGVtZSBmb3IgSmF2YVNjcmlwdCwgQ1NTIGFuZCBIVE1MXFxuICogQmFzZWQgb24gZGFiYmxldCAoaHR0cDovL2RhYmJsZXQuY29tKVxcbiAqIEBhdXRob3IgTGVhIFZlcm91XFxuICovXFxuXFxuY29kZVtjbGFzcyo9XFxcImxhbmd1YWdlLVxcXCJdLFxcbnByZVtjbGFzcyo9XFxcImxhbmd1YWdlLVxcXCJdIHtcXG5cXHRjb2xvcjogYmxhY2s7XFxuXFx0YmFja2dyb3VuZDogbm9uZTtcXG5cXHR0ZXh0LXNoYWRvdzogMCAxcHggd2hpdGU7XFxuXFx0Zm9udC1mYW1pbHk6IENvbnNvbGFzLCBNb25hY28sICdBbmRhbGUgTW9ubycsICdVYnVudHUgTW9ubycsIG1vbm9zcGFjZTtcXG5cXHR0ZXh0LWFsaWduOiBsZWZ0O1xcblxcdHdoaXRlLXNwYWNlOiBwcmU7XFxuXFx0d29yZC1zcGFjaW5nOiBub3JtYWw7XFxuXFx0d29yZC1icmVhazogbm9ybWFsO1xcblxcdHdvcmQtd3JhcDogbm9ybWFsO1xcblxcdGxpbmUtaGVpZ2h0OiAxLjU7XFxuXFxuXFx0LW1vei10YWItc2l6ZTogNDtcXG5cXHQtby10YWItc2l6ZTogNDtcXG5cXHR0YWItc2l6ZTogNDtcXG5cXG5cXHQtd2Via2l0LWh5cGhlbnM6IG5vbmU7XFxuXFx0LW1vei1oeXBoZW5zOiBub25lO1xcblxcdC1tcy1oeXBoZW5zOiBub25lO1xcblxcdGh5cGhlbnM6IG5vbmU7XFxufVxcblxcbnByZVtjbGFzcyo9XFxcImxhbmd1YWdlLVxcXCJdOjotbW96LXNlbGVjdGlvbiwgcHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0gOjotbW96LXNlbGVjdGlvbixcXG5jb2RlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl06Oi1tb3otc2VsZWN0aW9uLCBjb2RlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0gOjotbW96LXNlbGVjdGlvbiB7XFxuXFx0dGV4dC1zaGFkb3c6IG5vbmU7XFxuXFx0YmFja2dyb3VuZDogI2IzZDRmYztcXG59XFxuXFxucHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl06OnNlbGVjdGlvbiwgcHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0gOjpzZWxlY3Rpb24sXFxuY29kZVtjbGFzcyo9XFxcImxhbmd1YWdlLVxcXCJdOjpzZWxlY3Rpb24sIGNvZGVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXSA6OnNlbGVjdGlvbiB7XFxuXFx0dGV4dC1zaGFkb3c6IG5vbmU7XFxuXFx0YmFja2dyb3VuZDogI2IzZDRmYztcXG59XFxuXFxuQG1lZGlhIHByaW50IHtcXG5cXHRjb2RlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0sXFxuXFx0cHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0ge1xcblxcdFxcdHRleHQtc2hhZG93OiBub25lO1xcblxcdH1cXG59XFxuXFxuLyogQ29kZSBibG9ja3MgKi9cXG5wcmVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXSB7XFxuXFx0cGFkZGluZzogMWVtO1xcblxcdG1hcmdpbjogLjVlbSAwO1xcblxcdG92ZXJmbG93OiBhdXRvO1xcbn1cXG5cXG46bm90KHByZSkgPiBjb2RlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0sXFxucHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0ge1xcblxcdGJhY2tncm91bmQ6ICNmNWYyZjA7XFxufVxcblxcbi8qIElubGluZSBjb2RlICovXFxuOm5vdChwcmUpID4gY29kZVtjbGFzcyo9XFxcImxhbmd1YWdlLVxcXCJdIHtcXG5cXHRwYWRkaW5nOiAuMWVtO1xcblxcdGJvcmRlci1yYWRpdXM6IC4zZW07XFxuXFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcXG59XFxuXFxuLnRva2VuLmNvbW1lbnQsXFxuLnRva2VuLnByb2xvZyxcXG4udG9rZW4uZG9jdHlwZSxcXG4udG9rZW4uY2RhdGEge1xcblxcdGNvbG9yOiBzbGF0ZWdyYXk7XFxufVxcblxcbi50b2tlbi5wdW5jdHVhdGlvbiB7XFxuXFx0Y29sb3I6ICM5OTk7XFxufVxcblxcbi5uYW1lc3BhY2Uge1xcblxcdG9wYWNpdHk6IC43O1xcbn1cXG5cXG4udG9rZW4ucHJvcGVydHksXFxuLnRva2VuLnRhZyxcXG4udG9rZW4uYm9vbGVhbixcXG4udG9rZW4ubnVtYmVyLFxcbi50b2tlbi5jb25zdGFudCxcXG4udG9rZW4uc3ltYm9sLFxcbi50b2tlbi5kZWxldGVkIHtcXG5cXHRjb2xvcjogIzkwNTtcXG59XFxuXFxuLnRva2VuLnNlbGVjdG9yLFxcbi50b2tlbi5hdHRyLW5hbWUsXFxuLnRva2VuLnN0cmluZyxcXG4udG9rZW4uY2hhcixcXG4udG9rZW4uYnVpbHRpbixcXG4udG9rZW4uaW5zZXJ0ZWQge1xcblxcdGNvbG9yOiAjNjkwO1xcbn1cXG5cXG4udG9rZW4ub3BlcmF0b3IsXFxuLnRva2VuLmVudGl0eSxcXG4udG9rZW4udXJsLFxcbi5sYW5ndWFnZS1jc3MgLnRva2VuLnN0cmluZyxcXG4uc3R5bGUgLnRva2VuLnN0cmluZyB7XFxuXFx0Y29sb3I6ICM5YTZlM2E7XFxuXFx0YmFja2dyb3VuZDogaHNsYSgwLCAwJSwgMTAwJSwgLjUpO1xcbn1cXG5cXG4udG9rZW4uYXRydWxlLFxcbi50b2tlbi5hdHRyLXZhbHVlLFxcbi50b2tlbi5rZXl3b3JkIHtcXG5cXHRjb2xvcjogIzA3YTtcXG59XFxuXFxuLnRva2VuLmZ1bmN0aW9uLFxcbi50b2tlbi5jbGFzcy1uYW1lIHtcXG5cXHRjb2xvcjogI0RENEE2ODtcXG59XFxuXFxuLnRva2VuLnJlZ2V4LFxcbi50b2tlbi5pbXBvcnRhbnQsXFxuLnRva2VuLnZhcmlhYmxlIHtcXG5cXHRjb2xvcjogI2U5MDtcXG59XFxuXFxuLnRva2VuLmltcG9ydGFudCxcXG4udG9rZW4uYm9sZCB7XFxuXFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxufVxcbi50b2tlbi5pdGFsaWMge1xcblxcdGZvbnQtc3R5bGU6IGl0YWxpYztcXG59XFxuXFxuLnRva2VuLmVudGl0eSB7XFxuXFx0Y3Vyc29yOiBoZWxwO1xcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyIS4vbm9kZV9tb2R1bGVzL3Z1ZS1jb2RlLWhpZ2hsaWdodC90aGVtZXMvcHJpc20uY3NzXG4vLyBtb2R1bGUgaWQgPSAyODFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///281\n"); + +/***/ }), +/* 282 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(283);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(23)(\"011b38f9\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../css-loader/index.js!./prism-coy.css\", function() {\n var newContent = require(\"!!../../css-loader/index.js!./prism-coy.css\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWNvZGUtaGlnaGxpZ2h0L3RoZW1lcy9wcmlzbS1jb3kuY3NzPzdjMDgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsR0FBNkM7QUFDbkUsNENBQTRDLFFBQVM7QUFDckQ7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyxFQUFnRCxnQ0FBZ0M7QUFDckc7QUFDQSxHQUFHLEtBQVU7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiMjgyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uL2Nzcy1sb2FkZXIvaW5kZXguanMhLi9wcmlzbS1jb3kuY3NzXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uL3Z1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjAxMWIzOGY5XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi9jc3MtbG9hZGVyL2luZGV4LmpzIS4vcHJpc20tY295LmNzc1wiLCBmdW5jdGlvbigpIHtcbiAgICAgdmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi9jc3MtbG9hZGVyL2luZGV4LmpzIS4vcHJpc20tY295LmNzc1wiKTtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvdnVlLWNvZGUtaGlnaGxpZ2h0L3RoZW1lcy9wcmlzbS1jb3kuY3NzXG4vLyBtb2R1bGUgaWQgPSAyODJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///282\n"); + +/***/ }), +/* 283 */ +/***/ (function(module, exports, __webpack_require__) { + +eval("exports = module.exports = __webpack_require__(22)(false);\n// imports\n\n\n// module\nexports.push([module.i, \"/**\\n * prism.js Coy theme for JavaScript, CoffeeScript, CSS and HTML\\n * Based on https://github.com/tshedor/workshop-wp-theme (Example: http://workshop.kansan.com/category/sessions/basics or http://workshop.timshedor.com/category/sessions/basics);\\n * @author Tim Shedor\\n */\\n\\ncode[class*=\\\"language-\\\"],\\npre[class*=\\\"language-\\\"] {\\n\\tcolor: black;\\n\\tbackground: none;\\n\\tfont-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\\n\\ttext-align: left;\\n\\twhite-space: pre;\\n\\tword-spacing: normal;\\n\\tword-break: normal;\\n\\tword-wrap: normal;\\n\\tline-height: 1.5;\\n\\n\\t-moz-tab-size: 4;\\n\\t-o-tab-size: 4;\\n\\ttab-size: 4;\\n\\n\\t-webkit-hyphens: none;\\n\\t-moz-hyphens: none;\\n\\t-ms-hyphens: none;\\n\\thyphens: none;\\n}\\n\\n/* Code blocks */\\npre[class*=\\\"language-\\\"] {\\n\\tposition: relative;\\n\\tmargin: .5em 0;\\n\\toverflow: visible;\\n\\tpadding: 0;\\n}\\npre[class*=\\\"language-\\\"]>code {\\n\\tposition: relative;\\n\\tborder-left: 10px solid #358ccb;\\n\\tbox-shadow: -1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf;\\n\\tbackground-color: #fdfdfd;\\n\\tbackground-image: linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%);\\n\\tbackground-size: 3em 3em;\\n\\tbackground-origin: content-box;\\n\\tbackground-attachment: local;\\n}\\n\\ncode[class*=\\\"language\\\"] {\\n\\tmax-height: inherit;\\n\\theight: inherit;\\n\\tpadding: 0 1em;\\n\\tdisplay: block;\\n\\toverflow: auto;\\n}\\n\\n/* Margin bottom to accomodate shadow */\\n:not(pre) > code[class*=\\\"language-\\\"],\\npre[class*=\\\"language-\\\"] {\\n\\tbackground-color: #fdfdfd;\\n\\t-webkit-box-sizing: border-box;\\n\\t-moz-box-sizing: border-box;\\n\\tbox-sizing: border-box;\\n\\tmargin-bottom: 1em;\\n}\\n\\n/* Inline code */\\n:not(pre) > code[class*=\\\"language-\\\"] {\\n\\tposition: relative;\\n\\tpadding: .2em;\\n\\tborder-radius: 0.3em;\\n\\tcolor: #c92c2c;\\n\\tborder: 1px solid rgba(0, 0, 0, 0.1);\\n\\tdisplay: inline;\\n\\twhite-space: normal;\\n}\\n\\npre[class*=\\\"language-\\\"]:before,\\npre[class*=\\\"language-\\\"]:after {\\n\\tcontent: '';\\n\\tz-index: -2;\\n\\tdisplay: block;\\n\\tposition: absolute;\\n\\tbottom: 0.75em;\\n\\tleft: 0.18em;\\n\\twidth: 40%;\\n\\theight: 20%;\\n\\tmax-height: 13em;\\n\\tbox-shadow: 0px 13px 8px #979797;\\n\\t-webkit-transform: rotate(-2deg);\\n\\t-moz-transform: rotate(-2deg);\\n\\t-ms-transform: rotate(-2deg);\\n\\t-o-transform: rotate(-2deg);\\n\\ttransform: rotate(-2deg);\\n}\\n\\n:not(pre) > code[class*=\\\"language-\\\"]:after,\\npre[class*=\\\"language-\\\"]:after {\\n\\tright: 0.75em;\\n\\tleft: auto;\\n\\t-webkit-transform: rotate(2deg);\\n\\t-moz-transform: rotate(2deg);\\n\\t-ms-transform: rotate(2deg);\\n\\t-o-transform: rotate(2deg);\\n\\ttransform: rotate(2deg);\\n}\\n\\n.token.comment,\\n.token.block-comment,\\n.token.prolog,\\n.token.doctype,\\n.token.cdata {\\n\\tcolor: #7D8B99;\\n}\\n\\n.token.punctuation {\\n\\tcolor: #5F6364;\\n}\\n\\n.token.property,\\n.token.tag,\\n.token.boolean,\\n.token.number,\\n.token.function-name,\\n.token.constant,\\n.token.symbol,\\n.token.deleted {\\n\\tcolor: #c92c2c;\\n}\\n\\n.token.selector,\\n.token.attr-name,\\n.token.string,\\n.token.char,\\n.token.function,\\n.token.builtin,\\n.token.inserted {\\n\\tcolor: #2f9c0a;\\n}\\n\\n.token.operator,\\n.token.entity,\\n.token.url,\\n.token.variable {\\n\\tcolor: #a67f59;\\n\\tbackground: rgba(255, 255, 255, 0.5);\\n}\\n\\n.token.atrule,\\n.token.attr-value,\\n.token.keyword,\\n.token.class-name {\\n\\tcolor: #1990b8;\\n}\\n\\n.token.regex,\\n.token.important {\\n\\tcolor: #e90;\\n}\\n\\n.language-css .token.string,\\n.style .token.string {\\n\\tcolor: #a67f59;\\n\\tbackground: rgba(255, 255, 255, 0.5);\\n}\\n\\n.token.important {\\n\\tfont-weight: normal;\\n}\\n\\n.token.bold {\\n\\tfont-weight: bold;\\n}\\n.token.italic {\\n\\tfont-style: italic;\\n}\\n\\n.token.entity {\\n\\tcursor: help;\\n}\\n\\n.namespace {\\n\\topacity: .7;\\n}\\n\\n@media screen and (max-width: 767px) {\\n\\tpre[class*=\\\"language-\\\"]:before,\\n\\tpre[class*=\\\"language-\\\"]:after {\\n\\t\\tbottom: 14px;\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n}\\n\\n/* Plugin styles */\\n.token.tab:not(:empty):before,\\n.token.cr:before,\\n.token.lf:before {\\n\\tcolor: #e0d7d1;\\n}\\n\\n/* Plugin styles: Line Numbers */\\npre[class*=\\\"language-\\\"].line-numbers.line-numbers {\\n\\tpadding-left: 0;\\n}\\n\\npre[class*=\\\"language-\\\"].line-numbers.line-numbers code {\\n\\tpadding-left: 3.8em;\\n}\\n\\npre[class*=\\\"language-\\\"].line-numbers.line-numbers .line-numbers-rows {\\n\\tleft: 0;\\n}\\n\\n/* Plugin styles: Line Highlight */\\npre[class*=\\\"language-\\\"][data-line] {\\n\\tpadding-top: 0;\\n\\tpadding-bottom: 0;\\n\\tpadding-left: 0;\\n}\\npre[data-line] code {\\n\\tposition: relative;\\n\\tpadding-left: 4em;\\n}\\npre .line-highlight {\\n\\tmargin-top: 0;\\n}\\n\", \"\"]);\n\n// exports\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWNvZGUtaGlnaGxpZ2h0L3RoZW1lcy9wcmlzbS1jb3kuY3NzPzFjYzciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCLG1CQUFPLENBQUMsRUFBa0M7QUFDckU7OztBQUdBO0FBQ0EsY0FBYyxRQUFTLDRQQUE0UCx5RkFBeUYsaUJBQWlCLHFCQUFxQiwyRUFBMkUscUJBQXFCLHFCQUFxQix5QkFBeUIsdUJBQXVCLHNCQUFzQixxQkFBcUIsdUJBQXVCLG1CQUFtQixnQkFBZ0IsNEJBQTRCLHVCQUF1QixzQkFBc0Isa0JBQWtCLEdBQUcsa0RBQWtELHVCQUF1QixtQkFBbUIsc0JBQXNCLGVBQWUsR0FBRyxrQ0FBa0MsdUJBQXVCLG9DQUFvQyxrRUFBa0UsOEJBQThCLHFGQUFxRiw2QkFBNkIsbUNBQW1DLGlDQUFpQyxHQUFHLCtCQUErQix3QkFBd0Isb0JBQW9CLG1CQUFtQixtQkFBbUIsbUJBQW1CLEdBQUcsa0hBQWtILDhCQUE4QixtQ0FBbUMsZ0NBQWdDLDJCQUEyQix1QkFBdUIsR0FBRywrREFBK0QsdUJBQXVCLGtCQUFrQix5QkFBeUIsbUJBQW1CLHlDQUF5QyxvQkFBb0Isd0JBQXdCLEdBQUcsd0VBQXdFLGdCQUFnQixnQkFBZ0IsbUJBQW1CLHVCQUF1QixtQkFBbUIsaUJBQWlCLGVBQWUsZ0JBQWdCLHFCQUFxQixxQ0FBcUMscUNBQXFDLGtDQUFrQyxpQ0FBaUMsZ0NBQWdDLDZCQUE2QixHQUFHLG9GQUFvRixrQkFBa0IsZUFBZSxvQ0FBb0MsaUNBQWlDLGdDQUFnQywrQkFBK0IsNEJBQTRCLEdBQUcsMkZBQTJGLG1CQUFtQixHQUFHLHdCQUF3QixtQkFBbUIsR0FBRyw2SUFBNkksbUJBQW1CLEdBQUcsMkhBQTJILG1CQUFtQixHQUFHLG9FQUFvRSxtQkFBbUIseUNBQXlDLEdBQUcsNEVBQTRFLG1CQUFtQixHQUFHLHFDQUFxQyxnQkFBZ0IsR0FBRyx3REFBd0QsbUJBQW1CLHlDQUF5QyxHQUFHLHNCQUFzQix3QkFBd0IsR0FBRyxpQkFBaUIsc0JBQXNCLEdBQUcsaUJBQWlCLHVCQUF1QixHQUFHLG1CQUFtQixpQkFBaUIsR0FBRyxnQkFBZ0IsZ0JBQWdCLEdBQUcsMENBQTBDLDBFQUEwRSxtQkFBbUIsdUJBQXVCLEtBQUssS0FBSyw4RkFBOEYsbUJBQW1CLEdBQUcsNEZBQTRGLG9CQUFvQixHQUFHLDhEQUE4RCx3QkFBd0IsR0FBRyw0RUFBNEUsWUFBWSxHQUFHLCtFQUErRSxtQkFBbUIsc0JBQXNCLG9CQUFvQixHQUFHLHVCQUF1Qix1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLGtCQUFrQixHQUFHOztBQUUxN0kiLCJmaWxlIjoiMjgzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi8qKlxcbiAqIHByaXNtLmpzIENveSB0aGVtZSBmb3IgSmF2YVNjcmlwdCwgQ29mZmVlU2NyaXB0LCBDU1MgYW5kIEhUTUxcXG4gKiBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vdHNoZWRvci93b3Jrc2hvcC13cC10aGVtZSAoRXhhbXBsZTogaHR0cDovL3dvcmtzaG9wLmthbnNhbi5jb20vY2F0ZWdvcnkvc2Vzc2lvbnMvYmFzaWNzIG9yIGh0dHA6Ly93b3Jrc2hvcC50aW1zaGVkb3IuY29tL2NhdGVnb3J5L3Nlc3Npb25zL2Jhc2ljcyk7XFxuICogQGF1dGhvciBUaW0gIFNoZWRvclxcbiAqL1xcblxcbmNvZGVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXSxcXG5wcmVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXSB7XFxuXFx0Y29sb3I6IGJsYWNrO1xcblxcdGJhY2tncm91bmQ6IG5vbmU7XFxuXFx0Zm9udC1mYW1pbHk6IENvbnNvbGFzLCBNb25hY28sICdBbmRhbGUgTW9ubycsICdVYnVudHUgTW9ubycsIG1vbm9zcGFjZTtcXG5cXHR0ZXh0LWFsaWduOiBsZWZ0O1xcblxcdHdoaXRlLXNwYWNlOiBwcmU7XFxuXFx0d29yZC1zcGFjaW5nOiBub3JtYWw7XFxuXFx0d29yZC1icmVhazogbm9ybWFsO1xcblxcdHdvcmQtd3JhcDogbm9ybWFsO1xcblxcdGxpbmUtaGVpZ2h0OiAxLjU7XFxuXFxuXFx0LW1vei10YWItc2l6ZTogNDtcXG5cXHQtby10YWItc2l6ZTogNDtcXG5cXHR0YWItc2l6ZTogNDtcXG5cXG5cXHQtd2Via2l0LWh5cGhlbnM6IG5vbmU7XFxuXFx0LW1vei1oeXBoZW5zOiBub25lO1xcblxcdC1tcy1oeXBoZW5zOiBub25lO1xcblxcdGh5cGhlbnM6IG5vbmU7XFxufVxcblxcbi8qIENvZGUgYmxvY2tzICovXFxucHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0ge1xcblxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRtYXJnaW46IC41ZW0gMDtcXG5cXHRvdmVyZmxvdzogdmlzaWJsZTtcXG5cXHRwYWRkaW5nOiAwO1xcbn1cXG5wcmVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXT5jb2RlIHtcXG5cXHRwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFx0Ym9yZGVyLWxlZnQ6IDEwcHggc29saWQgIzM1OGNjYjtcXG5cXHRib3gtc2hhZG93OiAtMXB4IDBweCAwcHggMHB4ICMzNThjY2IsIDBweCAwcHggMHB4IDFweCAjZGZkZmRmO1xcblxcdGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmQ7XFxuXFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDUwJSwgcmdiYSg2OSwgMTQyLCAyMDksIDAuMDQpIDUwJSk7XFxuXFx0YmFja2dyb3VuZC1zaXplOiAzZW0gM2VtO1xcblxcdGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcXG5cXHRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsO1xcbn1cXG5cXG5jb2RlW2NsYXNzKj1cXFwibGFuZ3VhZ2VcXFwiXSB7XFxuXFx0bWF4LWhlaWdodDogaW5oZXJpdDtcXG5cXHRoZWlnaHQ6IGluaGVyaXQ7XFxuXFx0cGFkZGluZzogMCAxZW07XFxuXFx0ZGlzcGxheTogYmxvY2s7XFxuXFx0b3ZlcmZsb3c6IGF1dG87XFxufVxcblxcbi8qIE1hcmdpbiBib3R0b20gdG8gYWNjb21vZGF0ZSBzaGFkb3cgKi9cXG46bm90KHByZSkgPiBjb2RlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0sXFxucHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0ge1xcblxcdGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmQ7XFxuXFx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcblxcdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcXG5cXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xcblxcdG1hcmdpbi1ib3R0b206IDFlbTtcXG59XFxuXFxuLyogSW5saW5lIGNvZGUgKi9cXG46bm90KHByZSkgPiBjb2RlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0ge1xcblxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRwYWRkaW5nOiAuMmVtO1xcblxcdGJvcmRlci1yYWRpdXM6IDAuM2VtO1xcblxcdGNvbG9yOiAjYzkyYzJjO1xcblxcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcXG5cXHRkaXNwbGF5OiBpbmxpbmU7XFxuXFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcXG59XFxuXFxucHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl06YmVmb3JlLFxcbnByZVtjbGFzcyo9XFxcImxhbmd1YWdlLVxcXCJdOmFmdGVyIHtcXG5cXHRjb250ZW50OiAnJztcXG5cXHR6LWluZGV4OiAtMjtcXG5cXHRkaXNwbGF5OiBibG9jaztcXG5cXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0Ym90dG9tOiAwLjc1ZW07XFxuXFx0bGVmdDogMC4xOGVtO1xcblxcdHdpZHRoOiA0MCU7XFxuXFx0aGVpZ2h0OiAyMCU7XFxuXFx0bWF4LWhlaWdodDogMTNlbTtcXG5cXHRib3gtc2hhZG93OiAwcHggMTNweCA4cHggIzk3OTc5NztcXG5cXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTtcXG5cXHQtbW96LXRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTtcXG5cXHQtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTJkZWcpO1xcblxcdC1vLXRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTtcXG5cXHR0cmFuc2Zvcm06IHJvdGF0ZSgtMmRlZyk7XFxufVxcblxcbjpub3QocHJlKSA+IGNvZGVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXTphZnRlcixcXG5wcmVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXTphZnRlciB7XFxuXFx0cmlnaHQ6IDAuNzVlbTtcXG5cXHRsZWZ0OiBhdXRvO1xcblxcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XFxuXFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcXG5cXHQtbXMtdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XFxuXFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XFxuXFx0dHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XFxufVxcblxcbi50b2tlbi5jb21tZW50LFxcbi50b2tlbi5ibG9jay1jb21tZW50LFxcbi50b2tlbi5wcm9sb2csXFxuLnRva2VuLmRvY3R5cGUsXFxuLnRva2VuLmNkYXRhIHtcXG5cXHRjb2xvcjogIzdEOEI5OTtcXG59XFxuXFxuLnRva2VuLnB1bmN0dWF0aW9uIHtcXG5cXHRjb2xvcjogIzVGNjM2NDtcXG59XFxuXFxuLnRva2VuLnByb3BlcnR5LFxcbi50b2tlbi50YWcsXFxuLnRva2VuLmJvb2xlYW4sXFxuLnRva2VuLm51bWJlcixcXG4udG9rZW4uZnVuY3Rpb24tbmFtZSxcXG4udG9rZW4uY29uc3RhbnQsXFxuLnRva2VuLnN5bWJvbCxcXG4udG9rZW4uZGVsZXRlZCB7XFxuXFx0Y29sb3I6ICNjOTJjMmM7XFxufVxcblxcbi50b2tlbi5zZWxlY3RvcixcXG4udG9rZW4uYXR0ci1uYW1lLFxcbi50b2tlbi5zdHJpbmcsXFxuLnRva2VuLmNoYXIsXFxuLnRva2VuLmZ1bmN0aW9uLFxcbi50b2tlbi5idWlsdGluLFxcbi50b2tlbi5pbnNlcnRlZCB7XFxuXFx0Y29sb3I6ICMyZjljMGE7XFxufVxcblxcbi50b2tlbi5vcGVyYXRvcixcXG4udG9rZW4uZW50aXR5LFxcbi50b2tlbi51cmwsXFxuLnRva2VuLnZhcmlhYmxlIHtcXG5cXHRjb2xvcjogI2E2N2Y1OTtcXG5cXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XFxufVxcblxcbi50b2tlbi5hdHJ1bGUsXFxuLnRva2VuLmF0dHItdmFsdWUsXFxuLnRva2VuLmtleXdvcmQsXFxuLnRva2VuLmNsYXNzLW5hbWUge1xcblxcdGNvbG9yOiAjMTk5MGI4O1xcbn1cXG5cXG4udG9rZW4ucmVnZXgsXFxuLnRva2VuLmltcG9ydGFudCB7XFxuXFx0Y29sb3I6ICNlOTA7XFxufVxcblxcbi5sYW5ndWFnZS1jc3MgLnRva2VuLnN0cmluZyxcXG4uc3R5bGUgLnRva2VuLnN0cmluZyB7XFxuXFx0Y29sb3I6ICNhNjdmNTk7XFxuXFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xcbn1cXG5cXG4udG9rZW4uaW1wb3J0YW50IHtcXG5cXHRmb250LXdlaWdodDogbm9ybWFsO1xcbn1cXG5cXG4udG9rZW4uYm9sZCB7XFxuXFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxufVxcbi50b2tlbi5pdGFsaWMge1xcblxcdGZvbnQtc3R5bGU6IGl0YWxpYztcXG59XFxuXFxuLnRva2VuLmVudGl0eSB7XFxuXFx0Y3Vyc29yOiBoZWxwO1xcbn1cXG5cXG4ubmFtZXNwYWNlIHtcXG5cXHRvcGFjaXR5OiAuNztcXG59XFxuXFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcXG5cXHRwcmVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXTpiZWZvcmUsXFxuXFx0cHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl06YWZ0ZXIge1xcblxcdFxcdGJvdHRvbTogMTRweDtcXG5cXHRcXHRib3gtc2hhZG93OiBub25lO1xcblxcdH1cXG5cXG59XFxuXFxuLyogUGx1Z2luIHN0eWxlcyAqL1xcbi50b2tlbi50YWI6bm90KDplbXB0eSk6YmVmb3JlLFxcbi50b2tlbi5jcjpiZWZvcmUsXFxuLnRva2VuLmxmOmJlZm9yZSB7XFxuXFx0Y29sb3I6ICNlMGQ3ZDE7XFxufVxcblxcbi8qIFBsdWdpbiBzdHlsZXM6IExpbmUgTnVtYmVycyAqL1xcbnByZVtjbGFzcyo9XFxcImxhbmd1YWdlLVxcXCJdLmxpbmUtbnVtYmVycy5saW5lLW51bWJlcnMge1xcblxcdHBhZGRpbmctbGVmdDogMDtcXG59XFxuXFxucHJlW2NsYXNzKj1cXFwibGFuZ3VhZ2UtXFxcIl0ubGluZS1udW1iZXJzLmxpbmUtbnVtYmVycyBjb2RlIHtcXG5cXHRwYWRkaW5nLWxlZnQ6IDMuOGVtO1xcbn1cXG5cXG5wcmVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXS5saW5lLW51bWJlcnMubGluZS1udW1iZXJzIC5saW5lLW51bWJlcnMtcm93cyB7XFxuXFx0bGVmdDogMDtcXG59XFxuXFxuLyogUGx1Z2luIHN0eWxlczogTGluZSBIaWdobGlnaHQgKi9cXG5wcmVbY2xhc3MqPVxcXCJsYW5ndWFnZS1cXFwiXVtkYXRhLWxpbmVdIHtcXG5cXHRwYWRkaW5nLXRvcDogMDtcXG5cXHRwYWRkaW5nLWJvdHRvbTogMDtcXG5cXHRwYWRkaW5nLWxlZnQ6IDA7XFxufVxcbnByZVtkYXRhLWxpbmVdIGNvZGUge1xcblxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRwYWRkaW5nLWxlZnQ6IDRlbTtcXG59XFxucHJlIC5saW5lLWhpZ2hsaWdodCB7XFxuXFx0bWFyZ2luLXRvcDogMDtcXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlciEuL25vZGVfbW9kdWxlcy92dWUtY29kZS1oaWdobGlnaHQvdGhlbWVzL3ByaXNtLWNveS5jc3Ncbi8vIG1vZHVsZSBpZCA9IDI4M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///283\n"); + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/webapp/src/OcrdProjectListItem.vue b/webapp/src/OcrdProjectListItem.vue index 17ca1cb..3d952cd 100644 --- a/webapp/src/OcrdProjectListItem.vue +++ b/webapp/src/OcrdProjectListItem.vue @@ -25,16 +25,19 @@ <b-table v-if="repo.git" :items="[repo.git]"></b-table> </b-card-text> </b-tab> - <b-tab title="Tools"> + + <b-tab title="ocrd-tool validation"> <b-card-text> - <b-table v-if="repo.ocrd_tool" :items="[repo.ocrd_tool]"></b-table> + <vue-code-highlight>{{ repo.ocrd_tool_validate || '# NO validation data' }}</vue-code-highlight> </b-card-text> </b-tab> + <b-tab title="Python"> <b-card-text> <b-table v-if="repo.python" :items="[repo.python]"></b-table> </b-card-text> </b-tab> + </b-tabs> </b-card> </template> -- GitLab