From 67fea269d9ba027805726a11288fd49068355321 Mon Sep 17 00:00:00 2001 From: Miroslav Bauer Date: Fri, 26 Mar 2021 11:14:26 +0100 Subject: [PATCH 1/2] ux improvements --- demo/preview.png | Bin 326991 -> 0 bytes dist/css/app.b95793a8.css | 1 - dist/css/chunk-10f6c022.d19cedb0.css | 1 - dist/index.html | 2 +- dist/js/app.64d303c5.js | 2 - dist/js/app.64d303c5.js.map | 1 - dist/js/chunk-10f6c022.5fe1a4ac.js | 2 - dist/js/chunk-10f6c022.5fe1a4ac.js.map | 1 - dist/js/chunk-vendors.4e02d2c7.js | 17 ------ dist/js/chunk-vendors.4e02d2c7.js.map | 1 - package.json | 2 +- src/components/MeshMap.vue | 39 +++++++++++- src/components/ProviderSelect.vue | 80 ++++++++++++++++++++----- src/main.js | 4 +- 14 files changed, 105 insertions(+), 48 deletions(-) delete mode 100644 demo/preview.png delete mode 100644 dist/css/app.b95793a8.css delete mode 100644 dist/css/chunk-10f6c022.d19cedb0.css delete mode 100644 dist/js/app.64d303c5.js delete mode 100644 dist/js/app.64d303c5.js.map delete mode 100644 dist/js/chunk-10f6c022.5fe1a4ac.js delete mode 100644 dist/js/chunk-10f6c022.5fe1a4ac.js.map delete mode 100644 dist/js/chunk-vendors.4e02d2c7.js delete mode 100644 dist/js/chunk-vendors.4e02d2c7.js.map diff --git a/demo/preview.png b/demo/preview.png deleted file mode 100644 index 9f2d05159b55e8b0fd79b8971ba341a3e6828fa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326991 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 z 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%0D5!-9ZQ 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 k9tj953R%Yr))0(gv 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%0AH8J9aR&Nu=ds2L+ymoM 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 z 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 H;S~E{+$6_} diff --git a/dist/css/app.b95793a8.css b/dist/css/app.b95793a8.css deleted file mode 100644 index daef0b2..0000000 --- a/dist/css/app.b95793a8.css +++ /dev/null @@ -1 +0,0 @@ -@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;700&display=swap);.nav[data-v-317ef896]{background-color:hsla(0,0%,100%,.9)}.nav__md .row[data-v-317ef896]{flex-direction:row;background:hsla(0,0%,100%,.9);justify-content:start;padding:2em 2em 2em 4em}.nav__lg .wrapper[data-v-317ef896]{padding:2em 2em 2em 10em}.wrapper a[data-v-317ef896]{display:block;padding:0 1em;color:#fff}.row[data-v-317ef896]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2em}.row .app-title[data-v-317ef896]{margin:1rem 0 1rem 0;font-size:2rem;letter-spacing:.13rem;font-weight:700;color:#454a54}.row .logo[data-v-317ef896]{background:url(../img/logo-sciencemesh.59cc7159.svg) no-repeat;width:190px;height:70px}h1[data-v-4342b242]{font-size:8rem}h3[data-v-4342b242]{font-size:2rem}.not-found[data-v-4342b242]{display:flex;flex-direction:column;justify-content:center;height:100%}.not-found .wrapper[data-v-4342b242]{letter-spacing:.3rem;padding-top:10rem;padding-bottom:10rem}svg[data-v-3f950430]{display:none}.provider-details[data-v-3f950430]{background:#23252a;width:100%;height:100%;max-height:0;display:flex;flex-direction:column;justify-content:space-between;position:absolute;top:0;left:0;overflow:hidden;z-index:999;transition:max-height .3s ease-out;border-radius:3px}.provider-details .provider-title[data-v-3f950430]{padding-top:0}.provider-details .provider-detail-label[data-v-3f950430]{padding:1rem 0 0 0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05rem;opacity:.6}.provider-details .provider-detail-home[data-v-3f950430]{color:#1f91cc}.provider-details .close-btn[data-v-3f950430]{padding:0 .5rem .2rem .5rem;position:absolute;top:10px;right:20px;font-weight:700;font-size:2rem;color:#686f7e}.provider-details .close-btn[data-v-3f950430]:hover{background:#fff;border-radius:150px;transition:all .4s ease-in-out}.provider-details .text-description[data-v-3f950430]{padding:1em 1em 1em 1em}.provider-details .accept-btn[data-v-3f950430]{font-size:1.2em;font-weight:700;letter-spacing:.2em;padding:2rem 0 2rem 0;background:#df810a;color:#f5f5f5}.provider-details .accept-btn[data-v-3f950430]:hover{background:#965707}.provider-details__open[data-v-3f950430]{padding:2rem 0 0 0;max-height:100%}.provider-details__md[data-v-3f950430]{background:#0b3347}.provider-details__md .close-btn[data-v-3f950430]{color:#686f7e}#scroll-container[data-v-3f950430]{overflow:hidden;max-width:100%;margin:auto;position:relative;min-height:200px;z-index:0}.wrap-container[data-v-3f950430]{width:100%;height:100%;top:0;left:0;position:relative;max-height:300px;max-width:100%;margin:auto;overflow:auto;-webkit-mask:url(#masking);mask:url(#masking);-webkit-mask-image:-webkit-gradient(linear,left bottom,left top,color-stop(.1,transparent),color-stop(.5,#000),color-stop(.9,transparent))}.wrap-container.provider-details__open[data-v-3f950430]{-webkit-mask:unset;mask:unset;-webkit-mask-image:unset}#scroll-container[data-v-3f950430]::-webkit-scrollbar,.ul-scroll[data-v-3f950430]::-webkit-scrollbar,.wrap-container[data-v-3f950430]::-webkit-scrollbar{display:none}#scroll-container[data-v-3f950430],.ul-scroll[data-v-3f950430],.wrap-container[data-v-3f950430]{-ms-overflow-style:none;scrollbar-width:none;height:100%}.wrap-container ul[data-v-3f950430]{list-style:none;position:relative;transition:transform .3s;top:50px}.wrap-container ul[data-v-3f950430],.wrap-container ul li[data-v-3f950430]{margin:0;padding:0;text-align:center}.wrap-container ul li[data-v-3f950430]{height:50px;line-height:50px;transition:transform .3s;overflow:hidden;font-size:.9em}.wrap-container ul li.provider-details__open[data-v-3f950430]{cursor:none;height:100%}.wrap-container ul li[data-v-3f950430]:first-of-type{margin-top:150px}.wrap-container ul li:first-of-type.provider-details__open[data-v-3f950430]{margin-top:0}.wrap-container ul li[data-v-3f950430]:last-of-type{padding-bottom:150px}.wrap-container ul li:last-of-type.provider-details__open[data-v-3f950430]{padding-bottom:0}.wrap-container ul li.active .item[data-v-3f950430]{transform:scale(1.9);cursor:pointer}.active[data-v-3f950430]{opacity:1;color:#fff;border-bottom:1px solid #072331;border-radius:10px;font-weight:700}.wrap-container ul li .item[data-v-3f950430]{position:relative;text-wrap:normal;transition:transform .2s;display:inline-block}.bg-primary-blue[data-v-258d5688]{background-color:#1f91cc}.bg-primary-grey[data-v-258d5688]{background-color:#454a54}.text-title[data-v-258d5688]{font-family:Roboto,-apple-system,BlinkMacSystemFont,segoe ui,helvetica neue,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol}.text-description[data-v-258d5688]{font-family:Calibri,Roboto,-apple-system,BlinkMacSystemFont,segoe ui,helvetica neue,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol}.provider-title[data-v-258d5688]{padding:2rem 0 2rem 0;font-size:2rem;letter-spacing:.05rem;opacity:.6}body[data-v-258d5688]{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;width:100vw;font-family:Roboto,-apple-system,BlinkMacSystemFont,segoe ui,helvetica neue,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;font-style:normal;font-size:1rem}ul[data-v-258d5688]{list-style-type:none}a[data-v-258d5688]{text-decoration:none}img[data-v-258d5688]{width:100%}#app[data-v-258d5688]{height:100%}.center-align[data-v-258d5688]{margin:auto}.container[data-v-258d5688]{background:#2e3138;color:#abb0ba;text-align:center;padding:2.5em;opacity:.6}.container .footer-logo[data-v-258d5688]{filter:drop-shadow(2px 2px 6px black);background:url(../img/project-logo.f710a49c.svg) no-repeat;width:300px;height:160px}.container .footer-resource-links[data-v-258d5688]{color:#fff;padding-bottom:1.2em}.container .footer-resource-links h4[data-v-258d5688]{font-weight:700;letter-spacing:.1em;padding:.3em 0 .7em 0;font-size:1.1em}.container .footer-resource-links a[data-v-258d5688]{color:unset;text-decoration:underline}.container .footer-resource-links ul li[data-v-258d5688]{justify-content:flex-start;padding:.4em 0 .4em 0}.container .footer-resource-links ul li .link-icon[data-v-258d5688]{margin-right:.7em}.container .funding a[data-v-258d5688]{color:#fff;text-decoration:underline}.container__md .row[data-v-258d5688]{display:flex;flex-direction:row;justify-content:space-around}.container__md .footer-resource-links[data-v-258d5688]{text-align:left}.container__md .footer-resource-links ul li[data-v-258d5688]{display:grid;grid-template-columns:25% auto}.container__md .col[data-v-258d5688]{display:flex;flex-direction:column}.links-header[data-v-77527f7a]{display:none}.links-header__md[data-v-77527f7a]{background:#e9e7e3;padding:2em 4em 2em 2em;display:flex;flex-direction:row;align-items:center}.links-header__md .row[data-v-77527f7a]{width:100%;display:flex;flex-direction:row;justify-content:flex-end}.links-header__md ul[data-v-77527f7a]{display:flex;justify-content:space-between;width:7em;float:right}.links-header__md ul li[data-v-77527f7a]{cursor:pointer;color:#fff;background:#c77309;margin:0 .3em 0 1em;padding:.5em .2em .5em .2em;border-radius:25px;display:inline-block;opacity:.7;height:100%}.links-header__md ul li[data-v-77527f7a]:hover{background:#2b2823}.links-header__md ul li.outlined[data-v-77527f7a]{background:#554f45}.links-header__md ul li.outlined[data-v-77527f7a]:hover{background:#1c1001}.links-header__md ul a[data-v-77527f7a]{color:#fff;line-height:1;height:100%;padding:.6rem 1.2rem .4rem .9rem;display:block}.links-header__md ul .link-label[data-v-77527f7a]{display:inline-block;align-self:center;font-weight:700;font-size:.8rem;padding-left:.8rem;vertical-align:super;letter-spacing:.11rem}.bg-primary-blue{background-color:#1f91cc}.bg-primary-grey{background-color:#454a54}.text-title{font-family:Roboto,-apple-system,BlinkMacSystemFont,segoe ui,helvetica neue,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol}.text-description{font-family:Calibri,Roboto,-apple-system,BlinkMacSystemFont,segoe ui,helvetica neue,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol}.provider-title{padding:2rem 0 2rem 0;font-size:2rem;letter-spacing:.05rem;opacity:.6}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;width:100vw;font-family:Roboto,-apple-system,BlinkMacSystemFont,segoe ui,helvetica neue,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;font-style:normal;font-size:1rem}ul{list-style-type:none}a{text-decoration:none}img{width:100%}#app{height:100%}.main{background:#454a54;overflow:hidden;transition:background-color 1s}.main .subtitle{padding:3rem 0 1rem 0;font-size:1.1rem}.main .hero{padding-bottom:5rem;filter:drop-shadow(0 5px 5px #23252a)}.main__md{background:#3a3e46}.main__md .nav-container{filter:drop-shadow(0 0 5px #0c0c0e)}.main__md .hero,.main__md .nav-container{display:grid;grid-template-columns:66% auto}.main__md .hero{background:#1c81b6;padding:0}.main__md .hero .meshselect{background:#15628a;padding:0 2em 0 2em}.hero{display:grid}.full,.hero{color:#fff;text-align:center;height:100%} \ No newline at end of file diff --git a/dist/css/chunk-10f6c022.d19cedb0.css b/dist/css/chunk-10f6c022.d19cedb0.css deleted file mode 100644 index cfd3a5e..0000000 --- a/dist/css/chunk-10f6c022.d19cedb0.css +++ /dev/null @@ -1 +0,0 @@ -@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;700&display=swap);@-webkit-keyframes marching-ants{0%{stroke-dashoffset:0}to{stroke-dashoffset:1000}}@keyframes marching-ants{0%{stroke-dashoffset:0}to{stroke-dashoffset:1000}}@-webkit-keyframes staggered-marching-ants{0%{opacity:0;stroke-dashoffset:0}20%{opacity:1}45%{opacity:0}50%{opacity:1;stroke-dashoffset:1000}70%{opacity:0}90%{opacity:1}to{opacity:0;stroke-dashoffset:0}}@keyframes staggered-marching-ants{0%{opacity:0;stroke-dashoffset:0}20%{opacity:1}45%{opacity:0}50%{opacity:1;stroke-dashoffset:1000}70%{opacity:0}90%{opacity:1}to{opacity:0;stroke-dashoffset:0}}.mesh-map{display:block;max-width:100%;overflow:hidden;background-color:#1f91cc;opacity:1;background:radial-gradient(circle,transparent 20%,#1f91cc 0,#1f91cc 80%,transparent 0,transparent),radial-gradient(circle,transparent 20%,#1f91cc 0,#1f91cc 80%,transparent 0,transparent) 30px 30px,linear-gradient(#15628a 2.4px,transparent 0) 0 -1.2px,linear-gradient(90deg,#15628a 2.4px,#1f91cc 0) -1.2px 0;background-size:23px 33px,33px 23px}.mesh-map .mesh-states{stroke:#1872a0;stroke-width:2;stroke-dasharray:.5em;fill:#0b3347;filter:drop-shadow(12px 12px 13px #125273)}.mesh-map .provider{fill:#fff;stroke-width:2;stroke:transparent;transition:stroke .3s linear}.mesh-map .provider:hover{stroke:hsla(0,0%,100%,.3)}.mesh-map .provider__button{fill:transparent;cursor:pointer}.mesh-map .provider__originator{fill:#df810a;transform:scaleZ(2);stroke:hsla(0,0%,100%,.3)}.mesh-map .provider-connector{fill:none;opacity:.8;stroke:#656d7b;stroke-width:4px;stroke-linecap:round;stroke-dasharray:70 70;pointer-events:none;z-index:-1}.mesh-map .provider-connector path{opacity:0;-webkit-animation-name:staggered-marching-ants;animation-name:staggered-marching-ants;-webkit-animation-duration:30s;animation-duration:30s;-webkit-animation-delay:calc(var(--animation-order)*3200ms);animation-delay:calc(var(--animation-order)*3200ms);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.mesh-map .provider-connector__active{stroke-width:8px;opacity:1;stroke:#fff;stroke-dasharray:10 4;stroke-linecap:butt;-webkit-animation-delay:0s;animation-delay:0s;animation:marching-ants 50s linear 1s infinite;-moz-animation:marching-ants 50s linear 1s infinite;-webkit-animation:marching-ants 50s linear 1s infinite;-o-animation:marching-ants 50s linear 1s infinite;-ms-animation:marching-ants 50s linear 1s infinite}.mesh-map .marker-fade-enter-active,.mesh-map .marker-fade-leave-active{transition:opacity .3s linear}.mesh-map .marker-fade-enter,.mesh-map .marker-fade-leave-to{opacity:0}.mesh-map .marker{fill:#df810a;stroke:#341e02;stroke-width:3;cursor:pointer;transition:opacity .3s linear;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-shadow:inset 0 0 10px #000}.mesh-map .marker>*{transition:transform .3s cubic-bezier(.6,0,.5,1)}.mesh-map .marker path{filter:drop-shadow(1px 5px 3px #17191c)}.mesh-map .marker text{stroke:none;fill:#fff;font-family:inherit;font-weight:700;font-size:.8rem}.mesh-map .marker__origin{fill:#1f91cc;stroke:#072331;pointer-events:none;cursor:pointer}.mesh-map .marker__origin path,.mesh-map .marker__origin text{transform:scale(.7)}.mesh-map .marker__current{opacity:.6}.mesh-map .marker__current>*{transform:scale(.8)} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index af1f1cf..dc6b25b 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -Mesh Directory | ScienceMesh
\ No newline at end of file +Mesh Directory | ScienceMesh
\ No newline at end of file diff --git a/dist/js/app.64d303c5.js b/dist/js/app.64d303c5.js deleted file mode 100644 index c35e832..0000000 --- a/dist/js/app.64d303c5.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var a,r,o=t[0],l=t[1],u=t[2],d=0,s=[];d0){var e=O.value/b.value.clientHeight;return Math.round(e*Math.abs(h.value.length))}return 0})),y=Object(a["d"])((function(){return n.value?h.value.findIndex((function(e){return e.name===n.value.name})):-1}));function w(){var e=g.value[y.value];e&&p(e.clientTop+e.offsetTop)}function _(){u(),w()}return Object(a["m"])((function(){g.value=[]})),Object(a["w"])([n],(function(){w()})),Object(a["w"])([O],(function(){var e;if(!o.value){var t=h.value[k.value];t.name!==(null===(e=n.value)||void 0===e?void 0:e.name)&&r(t)}})),{internalProviders:h,target:n,scrollTop:O,wrapScroll:b,providerOptions:g,detailsExpanded:o,expandDetails:l,hideDetails:u,closeDetails:_,targetLink:c,md:s}}});n("866a");H.render=M,H.__scopeId="data-v-3f950430";var q=H,F=Object(a["A"])("data-v-258d5688");Object(a["q"])("data-v-258d5688");var G={class:"row"},J=Object(a["i"])("div",{class:"col"},[Object(a["i"])("div",{class:"footer-logo center-align"})],-1),W={class:"footer-resource-links col-md-3 col-xs-12"},z=Object(a["i"])("h4",null,"Resources",-1),$=Object(a["i"])("div",{class:"row"},[Object(a["i"])("div",{class:"col center-align funding"},[Object(a["i"])("p",null,[Object(a["i"])("a",{href:"https://cs3mesh4eosc.eu/",target:"_new"},"CS3MESH4EOSC"),Object(a["h"])(" has received funding from the European Union's Horizon 2020 research and innovation programme under the Grant Agreement no 863353 ")])])],-1);Object(a["p"])();var K=F((function(e,t,n,r,c,i){var o=Object(a["t"])("fa-icon");return Object(a["o"])(),Object(a["f"])("footer",null,[Object(a["i"])("div",{class:[[r.md?"container__md":""],"container"]},[Object(a["i"])("div",G,[J,Object(a["i"])("div",W,[z,Object(a["i"])("ul",null,[(Object(a["o"])(!0),Object(a["f"])(a["a"],null,Object(a["s"])(r.resourcesLinks,(function(e){return Object(a["o"])(),Object(a["f"])("li",{key:e.name},[Object(a["i"])(o,{class:"link-icon",icon:e.icon},null,8,["icon"]),Object(a["i"])("a",{href:e.target,target:"_new"},Object(a["u"])(e.name),9,["href"])])})),128))])])]),$],2)])})),Y={name:"MeshFooter",setup:function(){var e=m(),t=e.md,n=Object(a["r"])([{name:"GitHub",target:"https://github.com/sciencemesh/sciencemesh",icon:["fab","github"]},{name:"Gitter",target:"https://gitter.im/sciencemesh/community",icon:["fab","gitter"]},{name:"Documentation",target:"https://developer.sciencemesh.io/docs/",icon:"book"},{name:"Deploy",target:"https://developer.sciencemesh.io/docs/iop/deployment/",icon:"rocket"}]);return{md:t,resourcesLinks:n}}};n("cd3c");Y.render=K,Y.__scopeId="data-v-258d5688";var Q=Y,V=Object(a["A"])("data-v-77527f7a");Object(a["q"])("data-v-77527f7a");var X={class:"row"},Z={class:"row"},ee={class:"link-label"};Object(a["p"])();var te=V((function(e,t,n,r,c,i){var o=Object(a["t"])("fa-icon");return Object(a["o"])(),Object(a["f"])("div",{class:[[r.md?"links-header__md":"",r.lg?"links-header__lg":""],"links-header"]},[Object(a["i"])("ul",X,[(Object(a["o"])(!0),Object(a["f"])(a["a"],null,Object(a["s"])(r.navLinks,(function(e){return Object(a["o"])(),Object(a["f"])("li",{key:e.name,class:e.class},[Object(a["i"])("a",{href:e.target,target:"_new"},[Object(a["i"])("div",Z,[Object(a["i"])(o,{icon:e.icon},null,8,["icon"]),Object(a["i"])("span",ee,Object(a["u"])(e.name),1)])],8,["href"])],2)})),128))])],2)})),ne={name:"NavbarLinks",setup:function(){var e=m(),t=e.md,n=e.lg,r=Object(a["r"])([{icon:"sign-in-alt",name:"JOIN",target:"https://developer.sciencemesh.io/docs/how-to-join-sciencemesh/",class:""},{icon:"book",name:"DOCS",target:"https://developer.sciencemesh.io/docs/",class:"outlined"}]);return{md:t,lg:n,navLinks:r}}};n("52d0");ne.render=te,ne.__scopeId="data-v-77527f7a";var ae=ne,re=Object(a["j"])((function(){return n.e("chunk-10f6c022").then(n.bind(null,"eb22"))})),ce={name:"App",components:{NavbarLinks:ae,MeshFooter:Q,ProviderSelect:q,LinkInvalid:E,Navbar:h,MeshMap:re},setup:function(){var e=Object(v["a"])(),t=e.fetchProviders,n=e.fetchLocations,a=e.loaded,r=e.providers,c=e.originator,i=Object(k["a"])(),o=i.validLink,l=i.baseUrl,u=m(),d=u.md,s=u.lg;return t("".concat(l.value,"providers")),n(),{originator:c,loaded:a,validLink:o,providers:r,md:d,lg:s}}};n("0910");ce.render=b;var ie=ce,oe=n("ecee"),le=n("c074"),ue=n("f2d1"),de=n("ad3d");oe["c"].add(le["a"],le["c"],le["b"],ue["a"],ue["b"]);var se=Object(a["e"])(ie);se.component("fa-icon",de["a"]),se.mount("#app")},"6d5e":function(e,t,n){},"7b57":function(e,t,n){"use strict";n("7c5e")},"7c5e":function(e,t,n){},"866a":function(e,t,n){"use strict";n("8772")},8772:function(e,t,n){},"9b23":function(e,t,n){"use strict";n("6d5e")},"9f67":function(e,t,n){"use strict";n.d(t,"a",(function(){return O}));n("7db0"),n("2b3d"),n("d3b7"),n("3ca3"),n("ddb0"),n("25f0"),n("5319"),n("ac1f"),n("b0c0");var a=n("7a23"),r=n("ba28");function c(){function e(e,t){fetch(e,{headers:{Accept:"application/json"}}).then((function(e){e.json().then((function(e){t(e)}))})).catch((function(e){console.log(e)}))}return{load:e}}var i=Object(r["a"])(),o=i.searchParams,l=i.validLink,u=c(),d=u.load,s=Object(a["r"])([]),b=Object(a["r"])([]),v=Object(a["r"])(null),f=Object(a["r"])(!1);function O(){var e=s,t=b,r=v,c=Object(a["r"])(!1),i=Object(a["r"])(!1),u=Object(a["r"])(!1),O=Object(a["d"])((function(){var t=e.value.find((function(e){return e.domain===o.value.get("providerDomain")}));return t||{full_name:""}})),p=Object(a["d"])((function(){return r.value&&l?new URL("?".concat(encodeURI(o.value.toString())),new URL("invites/forward",new URL(j.value.endpoint.path.replace(/\/?$/,"/")))):"#"})),j=Object(a["d"])((function(){var e;return null===(e=r.value)||void 0===e?void 0:e.services.find((function(e){return"OCM"===e.endpoint.type.name}))}));function m(t){d(t,(function(t){e.value=t,i.value=!0,u.value&&(c.value=!0)}))}function g(){t.value=n("3116"),u.value=!0,c.value=!0}function h(t){return Object(a["r"])(e.value.find((function(e){return e.name===t.key})))}function k(e){return Object(a["r"])(t.value.find((function(t){return t.key===e.value.name})))}function y(){f.value=!0}function w(){f.value=!1}function _(e){r.value=e}return{providers:Object(a["d"])((function(){return e.value})),locations:Object(a["d"])((function(){return t.value})),target:Object(a["d"])((function(){return r.value})),targetLink:p,originator:O,detailsExpanded:f,providersLoaded:Object(a["d"])((function(){return i.value})),locationsLoaded:Object(a["d"])((function(){return u.value})),loaded:Object(a["d"])((function(){return c.value})),fetchProviders:m,fetchLocations:g,getLocation:k,setTarget:_,getProvider:h,expandDetails:y,hideDetails:w}}},ba28:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));n("2b3d"),n("d3b7"),n("3ca3"),n("ddb0"),n("841c"),n("ac1f"),n("5319");var a=n("7a23");function r(){var e=Object(a["d"])((function(){return new URLSearchParams(window.location.search)})),t=Object(a["d"])((function(){return window.location.pathname.replace(/\/?$/,"/")})),n=Object(a["d"])((function(){return e.value.has("providerDomain")&&e.value.has("token")}));return{searchParams:e,validLink:n,baseUrl:t}}},cd3c:function(e,t,n){"use strict";n("d8bc")},d8bc:function(e,t,n){}}); -//# sourceMappingURL=app.64d303c5.js.map \ No newline at end of file diff --git a/dist/js/app.64d303c5.js.map b/dist/js/app.64d303c5.js.map deleted file mode 100644 index 579171b..0000000 --- a/dist/js/app.64d303c5.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?e627","webpack:///./src/components/NavbarLinks.vue?4f57","webpack:///./src/App.vue","webpack:///./src/components/Navbar.vue","webpack:///./src/use/breakpoints.js","webpack:///./src/components/Navbar.vue?59c0","webpack:///./src/components/LinkInvalid.vue","webpack:///./src/components/LinkInvalid.vue?2d6a","webpack:///./src/components/ProviderSelect.vue","webpack:///./src/components/ProviderSelect.vue?85c5","webpack:///./src/components/MeshFooter.vue","webpack:///./src/components/MeshFooter.vue?90e2","webpack:///./src/components/NavbarLinks.vue","webpack:///./src/components/NavbarLinks.vue?2e0b","webpack:///./src/App.vue?dfb6","webpack:///./src/main.js","webpack:///./src/components/Navbar.vue?26dd","webpack:///./src/components/ProviderSelect.vue?635d","webpack:///./src/components/LinkInvalid.vue?3330","webpack:///./src/use/fetch.js","webpack:///./src/use/providers.js","webpack:///./src/use/query.js","webpack:///./src/components/MeshFooter.vue?6047"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","class","md","lg","validLink","loaded","originator","full_name","useBreakpoints","breakpoints","xs","sm","xl","useBreakpoint","current","setup","render","__scopeId","id","ref","x1","x2","y1","y2","offset","stop-color","maskContentUnits","maskUnits","fill","height","width","y","detailsExpanded","style","wrapHeight","internalProviders","provider","el","providerOptions","closeDetails","description","organization","homepage","targetLink","props","Number","default","providers","setTarget","expandDetails","hideDetails","wrapScroll","scrollTop","scrollTopTo","filter","scrollIndex","scrollPercentage","clientHeight","Math","round","abs","targetIndex","findIndex","onTargetChanged","targetEl","clientTop","offsetTop","resourcesLinks","link","icon","navLinks","MeshMap","components","NavbarLinks","MeshFooter","ProviderSelect","LinkInvalid","Navbar","fetchProviders","fetchLocations","baseUrl","library","add","faBook","faSignInAlt","faRocket","faGithub","faGitter","app","createApp","App","component","FontAwesomeIcon","mount","useFetch","load","uri","fetch","headers","response","json","res","catch","log","useUrl","searchParams","meshProviders","meshLocations","meshTarget","useProviders","locations","providersLoaded","locationsLoaded","computed","originProvider","find","domain","URL","encodeURI","toString","targetOCMService","endpoint","path","replace","services","providersUri","require","getProvider","location","getLocation","URLSearchParams","search","pathname","has"],"mappings":"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","file":"js/app.64d303c5.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-10f6c022\":\"5fe1a4ac\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-10f6c022\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-10f6c022\":\"d19cedb0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=5d735b5e&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NavbarLinks.vue?vue&type=style&index=0&id=77527f7a&lang=scss&scoped=true\"","\n\n\n\n\n","\n\n\n\n","import {useBreakpoint} from \"vue-composable\";\n\nexport default function useBreakpoints() {\n const breakpoints = {\n xs:\t1,\n sm:\t599,\n md: 1024,\n lg: 1439,\n xl:\t1920\n }\n\n const { current, xs, sm, md, lg, xl } = useBreakpoint(breakpoints)\n return { current, xs, sm, md, lg, xl }\n}\n","import { render } from \"./Navbar.vue?vue&type=template&id=317ef896&scoped=true\"\nimport script from \"./Navbar.vue?vue&type=script&lang=js\"\nexport * from \"./Navbar.vue?vue&type=script&lang=js\"\n\nimport \"./Navbar.vue?vue&type=style&index=0&id=317ef896&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-317ef896\"\n\nexport default script","\n\n\n\n\n","import { render } from \"./LinkInvalid.vue?vue&type=template&id=4342b242&scoped=true\"\nimport script from \"./LinkInvalid.vue?vue&type=script&lang=js\"\nexport * from \"./LinkInvalid.vue?vue&type=script&lang=js\"\n\nimport \"./LinkInvalid.vue?vue&type=style&index=0&id=4342b242&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4342b242\"\n\nexport default script","\n\n\n","import { render } from \"./ProviderSelect.vue?vue&type=template&id=3f950430&scoped=true\"\nimport script from \"./ProviderSelect.vue?vue&type=script&lang=js\"\nexport * from \"./ProviderSelect.vue?vue&type=script&lang=js\"\n\nimport \"./ProviderSelect.vue?vue&type=style&index=0&id=3f950430&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3f950430\"\n\nexport default script","\n\n\n\n\n","import { render } from \"./MeshFooter.vue?vue&type=template&id=258d5688&scoped=true\"\nimport script from \"./MeshFooter.vue?vue&type=script&lang=js\"\nexport * from \"./MeshFooter.vue?vue&type=script&lang=js\"\n\nimport \"./MeshFooter.vue?vue&type=style&index=0&id=258d5688&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-258d5688\"\n\nexport default script","\n\n\n\n\n","import { render } from \"./NavbarLinks.vue?vue&type=template&id=77527f7a&scoped=true\"\nimport script from \"./NavbarLinks.vue?vue&type=script&lang=js\"\nexport * from \"./NavbarLinks.vue?vue&type=script&lang=js\"\n\nimport \"./NavbarLinks.vue?vue&type=style&index=0&id=77527f7a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-77527f7a\"\n\nexport default script","import { render } from \"./App.vue?vue&type=template&id=5d735b5e\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=5d735b5e&lang=scss\"\nscript.render = render\n\nexport default script","import { createApp } from 'vue'\nimport App from './App.vue'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faBook, faSignInAlt, faRocket } from '@fortawesome/free-solid-svg-icons'\nimport { faGithub, faGitter } from \"@fortawesome/free-brands-svg-icons\";\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\n\nlibrary.add(\n faBook, faSignInAlt, faRocket,\n faGithub, faGitter)\n\nconst app = createApp(App)\n\napp.component('fa-icon', FontAwesomeIcon)\n\napp.mount('#app')\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Navbar.vue?vue&type=style&index=0&id=317ef896&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ProviderSelect.vue?vue&type=style&index=0&id=3f950430&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LinkInvalid.vue?vue&type=style&index=0&id=4342b242&lang=scss&scoped=true\"","export default function useFetch() {\n\n function load(uri, resolve) {\n fetch(uri, {\n headers: {\n 'Accept': 'application/json',\n }\n }).then(response => {\n response.json()\n .then((res) => {\n resolve(res)\n })\n })\n .catch(err => {\n console.log(err)\n })\n }\n return {load}\n}\n","import {computed, ref} from 'vue'\nimport useUrl from '@/use/query'\nimport useFetch from '@/use/fetch'\n\nconst {searchParams, validLink} = useUrl()\nconst {load} = useFetch()\n\nconst meshProviders = ref([])\nconst meshLocations = ref([])\nconst meshTarget = ref(null)\nconst detailsExpanded = ref(false)\n\nexport default function useProviders() {\n const providers = meshProviders\n const locations = meshLocations\n const target = meshTarget\n const loaded = ref(false)\n const providersLoaded = ref(false)\n const locationsLoaded = ref(false)\n\n const originator = computed(() => {\n const originProvider = providers.value.find(p => {\n return p.domain === searchParams.value.get('providerDomain')\n })\n return originProvider || {'full_name': ''}\n })\n\n const targetLink = computed(() => {\n if (!target.value || !validLink) {\n return '#'\n }\n return new URL(\n `?${encodeURI(searchParams.value.toString())}`,\n new URL('invites/forward',\n new URL(targetOCMService.value.endpoint.path.replace(/\\/?$/, '/'))\n )\n )\n })\n\n const targetOCMService = computed(() => {\n return target.value?.services.find(s => {\n return s.endpoint.type.name === 'OCM'\n })\n })\n\n function fetchProviders(providersUri) {\n if (process.env.NODE_ENV === 'development') {\n providers.value = require('../../demo/providers.json')\n providersLoaded.value = true\n loaded.value = true\n return\n }\n\n load(providersUri, (res) => {\n providers.value = res\n providersLoaded.value = true\n\n if (locationsLoaded.value) {\n loaded.value = true\n }\n })\n }\n\n function fetchLocations() {\n locations.value = require('../assets/data/providers.loc.json')\n locationsLoaded.value = true\n loaded.value = true\n // TODO: uncomment when mentix locations provider is in IOP\n // load(locationsUri, (res) => {\n // locations.value = res\n // locationsLoaded.value = true\n // if (providersLoaded.value) {\n // loaded.value = true\n // }\n // })\n }\n\n function getProvider(location) {\n return ref(providers.value.find(p => {\n return p.name === location.key\n }))\n }\n\n function getLocation(provider) {\n return ref(locations.value.find(l => {\n return l.key === provider.value.name\n }))\n }\n\n function expandDetails() {\n detailsExpanded.value = true\n }\n\n function hideDetails() {\n detailsExpanded.value = false\n }\n\n function setTarget(provider) {\n target.value = provider\n }\n\n return {\n providers: computed(() => providers.value),\n locations: computed(() => locations.value),\n target: computed(() => target.value),\n targetLink,\n originator,\n detailsExpanded,\n providersLoaded: computed(() => providersLoaded.value),\n locationsLoaded: computed(() => locationsLoaded.value),\n loaded: computed(() => loaded.value),\n fetchProviders, fetchLocations, getLocation, setTarget, getProvider,\n expandDetails, hideDetails\n }\n}\n","import {computed} from 'vue'\n\nexport default function useUrl() {\n const searchParams = computed(() => {\n return new URLSearchParams(window.location.search)\n })\n\n const baseUrl = computed(() => {\n return window.location.pathname.replace(/\\/?$/, '/')\n })\n\n const validLink = computed(() => {\n return searchParams.value.has('providerDomain')\n && searchParams.value.has('token')\n })\n\n return {searchParams, validLink, baseUrl}\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MeshFooter.vue?vue&type=style&index=0&id=258d5688&lang=scss&scoped=true\""],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/chunk-10f6c022.5fe1a4ac.js b/dist/js/chunk-10f6c022.5fe1a4ac.js deleted file mode 100644 index cfc0f5d..0000000 --- a/dist/js/chunk-10f6c022.5fe1a4ac.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-10f6c022"],{"154a":function(n){n.exports=JSON.parse('{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":5,"sovereignt":"Czech Republic","sov_a3":"CZE","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Czech Republic","adm0_a3":"CZE","geou_dif":0,"geounit":"Czech Republic","gu_a3":"CZE","su_dif":0,"subunit":"Czech Republic","su_a3":"CZE","brk_diff":0,"name":"Czech Rep.","name_long":"Czech Republic","brk_a3":"CZE","brk_name":"Czech Rep.","brk_group":null,"abbrev":"Cz. Rep.","postal":"CZ","formal_en":"Czech Republic","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Czech Republic","name_alt":null,"mapcolor7":1,"mapcolor8":1,"mapcolor9":2,"mapcolor13":6,"pop_est":10211904,"gdp_md_est":265200,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"CZ","iso_a3":"CZE","iso_n3":"203","un_a3":"203","wb_a2":"CZ","wb_a3":"CZE","woe_id":-99,"adm0_a3_is":"CZE","adm0_a3_us":"CZE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":10,"long_len":14,"abbrev_len":8,"tiny":-99,"homepart":1,"filename":"CZE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[16.960288120194576,48.5969823268506],[16.49928266771877,48.78580801044511],[16.02964725105022,48.73389903420793],[15.253415561593982,49.039074205107575],[14.901447381254057,48.964401760445824],[14.33889773932472,48.5553052842072],[13.595945672264437,48.87717194273715],[13.031328973043431,49.30706818297324],[12.521024204161192,49.547415269562734],[12.415190870827445,49.96912079528057],[12.240111118222558,50.266337795607285],[12.966836785543194,50.484076443069085],[13.338131951560285,50.73323436136435],[14.056227654688172,50.92691762959429],[14.307013380600637,51.117267767941414],[14.570718214586066,51.002339382524276],[15.01699588385867,51.10667409932158],[15.490972120839727,50.78472992614321],[16.23862674323857,50.69773265237984],[16.176253289462267,50.42260732685791],[16.719475945714436,50.21574656839354],[16.868769158605655,50.47397370055603],[17.55456709155112,50.36214590107641],[17.64944502123899,50.049038397819956],[18.392913852622172,49.98862864847075],[18.853144158613617,49.49622976337764],[18.554971144289482,49.49501536721878],[18.399993523846177,49.31500051533004],[18.170498488037964,49.271514797556435],[18.104972771891852,49.04398346617531],[17.913511590250465,48.996492824899086],[17.88648481616181,48.90347524677371],[17.545006951577108,48.80001902932537],[17.101984897538898,48.81696889911711],[16.960288120194576,48.5969823268506]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":4,"sovereignt":"Switzerland","sov_a3":"CHE","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Switzerland","adm0_a3":"CHE","geou_dif":0,"geounit":"Switzerland","gu_a3":"CHE","su_dif":0,"subunit":"Switzerland","su_a3":"CHE","brk_diff":0,"name":"Switzerland","name_long":"Switzerland","brk_a3":"CHE","brk_name":"Switzerland","brk_group":null,"abbrev":"Switz.","postal":"CH","formal_en":"Swiss Confederation","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Switzerland","name_alt":null,"mapcolor7":5,"mapcolor8":2,"mapcolor9":7,"mapcolor13":3,"pop_est":7604467,"gdp_md_est":316700,"pop_year":-99,"lastcensus":2010,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"CH","iso_a3":"CHE","iso_n3":"756","un_a3":"756","wb_a2":"CH","wb_a3":"CHE","woe_id":-99,"adm0_a3_is":"CHE","adm0_a3_us":"CHE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":11,"long_len":11,"abbrev_len":6,"tiny":-99,"homepart":1,"filename":"CHE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[9.59422610844635,47.52505809182027],[9.632931756232978,47.34760122332999],[9.479969516649021,47.10280996356337],[9.932448357796659,46.92072805438296],[10.44270145024663,46.89354625099743],[10.363378126678612,46.48357127540986],[9.92283654139038,46.31489940040919],[9.182881707403055,46.44021474871698],[8.966305779667806,46.036931871111186],[8.489952426801324,46.005150865251686],[8.31662967289438,46.16364248309086],[7.755992058959833,45.82449005795931],[7.273850945676656,45.776947740250776],[6.843592970414504,45.99114655210061],[6.500099724970425,46.42967275652944],[6.022609490593537,46.27298981382047],[6.037388950229001,46.725778713561866],[6.768713820023606,47.2877082383037],[6.736571079138059,47.541801255882845],[7.192202182655507,47.44976552997102],[7.46675906742223,47.62058197691181],[8.317301466514152,47.61357982033626],[8.522611932009765,47.830827541691285],[9.59422610844635,47.52505809182027]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":5,"sovereignt":"Bosnia and Herzegovina","sov_a3":"BIH","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Bosnia and Herzegovina","adm0_a3":"BIH","geou_dif":0,"geounit":"Bosnia and Herzegovina","gu_a3":"BIH","su_dif":0,"subunit":"Bosnia and Herzegovina","su_a3":"BIH","brk_diff":0,"name":"Bosnia and Herz.","name_long":"Bosnia and Herzegovina","brk_a3":"BIH","brk_name":"Bosnia and Herz.","brk_group":null,"abbrev":"B.H.","postal":"BiH","formal_en":"Bosnia and Herzegovina","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Bosnia and Herzegovina","name_alt":null,"mapcolor7":1,"mapcolor8":1,"mapcolor9":1,"mapcolor13":2,"pop_est":4613414,"gdp_md_est":29700,"pop_year":-99,"lastcensus":1991,"gdp_year":-99,"economy":"6. Developing region","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"BA","iso_a3":"BIH","iso_n3":"070","un_a3":"070","wb_a2":"BA","wb_a3":"BIH","woe_id":-99,"adm0_a3_is":"BIH","adm0_a3_us":"BIH","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":16,"long_len":22,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"BIH.geojson"},"geometry":{"type":"Polygon","coordinates":[[[19.00548628101012,44.86023366960916],[19.36803,44.863],[19.11761,44.42307000000011],[19.59976,44.03847],[19.454,43.56810000000013],[19.21852,43.52384],[19.03165,43.43253],[18.70648,43.20011],[18.56,42.65],[17.674921502358984,43.02856252702361],[17.297373488034452,43.44634064388736],[16.91615644701733,43.66772247982567],[16.456442905348865,44.04123973243128],[16.23966027188453,44.35114329688571],[15.750026075918981,44.81871165626256],[15.959367303133376,45.233776760430935],[16.318156772535872,45.00412669532591],[16.534939406000206,45.21160757097772],[17.002146030351014,45.233776760430935],[17.861783481526402,45.067740383477144],[18.553214145591653,45.08158966733145],[19.00548628101012,44.86023366960916]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":4,"sovereignt":"Belarus","sov_a3":"BLR","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Belarus","adm0_a3":"BLR","geou_dif":0,"geounit":"Belarus","gu_a3":"BLR","su_dif":0,"subunit":"Belarus","su_a3":"BLR","brk_diff":0,"name":"Belarus","name_long":"Belarus","brk_a3":"BLR","brk_name":"Belarus","brk_group":null,"abbrev":"Bela.","postal":"BY","formal_en":"Republic of Belarus","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Belarus","name_alt":null,"mapcolor7":1,"mapcolor8":1,"mapcolor9":5,"mapcolor13":11,"pop_est":9648533,"gdp_md_est":114100,"pop_year":-99,"lastcensus":2009,"gdp_year":-99,"economy":"6. Developing region","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"BY","iso_a3":"BLR","iso_n3":"112","un_a3":"112","wb_a2":"BY","wb_a3":"BLR","woe_id":-99,"adm0_a3_is":"BLR","adm0_a3_us":"BLR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"BLR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[23.48412763844985,53.91249766704114],[24.450683628037037,53.905702216194754],[25.536353794056993,54.28242340760253],[25.7684326514798,54.84696259217509],[26.58827924979039,55.16717560487167],[26.494331495883753,55.615106919977634],[27.10245975109453,55.783313707087686],[28.176709425577993,56.16912995057881],[29.229513380660308,55.918344224666356],[29.371571893030673,55.670090643936184],[29.896294386522356,55.78946320253041],[30.873909132620007,55.55097646750341],[30.971835971813135,55.08154775656404],[30.757533807098717,54.81177094178432],[31.38447228366374,54.157056382862436],[31.79142418796224,53.97463857687212],[31.731272820774507,53.79402944601202],[32.405598585751164,53.618045355842035],[32.69364301934604,53.35142080343212],[32.304519484188226,53.1327261419729],[31.49764367038293,53.1674268662569],[31.305200636528014,53.07399587667321],[31.54001834486226,52.74205231384636],[31.785998162571587,52.101677964885454],[30.927549269338982,52.04235342061438],[30.619454380014844,51.822806098022376],[30.555117221811457,51.31950348571566],[30.157363722460897,51.41613841410147],[29.254938185347925,51.368234361366895],[28.99283532076353,51.602044379271476],[28.61761274589225,51.42771393493484],[28.24161502453657,51.57222707783907],[27.454066196408434,51.59230337178447],[26.337958611768556,51.83228872334793],[25.327787713327005,51.91065603291855],[24.553106316839518,51.888461005249184],[24.00507775238421,51.61744395609446],[23.52707075368437,51.57845408793023],[23.508002150168693,52.02364655212473],[23.199493849386187,52.486977444053664],[23.799198846133375,52.69109935160657],[23.80493493011778,53.089731350306074],[23.527535841575002,53.470121568406555],[23.48412763844985,53.91249766704114]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":4,"sovereignt":"Bulgaria","sov_a3":"BGR","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Bulgaria","adm0_a3":"BGR","geou_dif":0,"geounit":"Bulgaria","gu_a3":"BGR","su_dif":0,"subunit":"Bulgaria","su_a3":"BGR","brk_diff":0,"name":"Bulgaria","name_long":"Bulgaria","brk_a3":"BGR","brk_name":"Bulgaria","brk_group":null,"abbrev":"Bulg.","postal":"BG","formal_en":"Republic of Bulgaria","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Bulgaria","name_alt":null,"mapcolor7":4,"mapcolor8":5,"mapcolor9":1,"mapcolor13":8,"pop_est":7204687,"gdp_md_est":93750,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"BG","iso_a3":"BGR","iso_n3":"100","un_a3":"100","wb_a2":"BG","wb_a3":"BGR","woe_id":-99,"adm0_a3_is":"BGR","adm0_a3_us":"BGR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"BGR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[22.65714969248299,44.23492300066128],[22.944832391051847,43.82378530534713],[23.33230228037632,43.89701080990471],[24.100679152124172,43.74105133724785],[25.569271681426926,43.68844472917472],[26.065158725699746,43.94349376075126],[27.242399529740908,44.175986029632405],[27.970107049275075,43.81246816667521],[28.558081495891997,43.70746165625813],[28.03909508638472,43.293171698574184],[27.67389773937805,42.577892361006214],[27.99672041190539,42.00735871028779],[27.135739373490477,42.14148489030134],[26.117041863720797,41.82690460872456],[26.106138136507212,41.32889883072778],[25.197201368925445,41.23448598893053],[24.49264489105803,41.583896185872035],[23.692073601992348,41.30908091894385],[22.952377150166452,41.33799388281115],[22.88137373219743,41.99929718685026],[22.380525750424592,42.32025950781509],[22.54501183440962,42.46136200618804],[22.43659467946128,42.580321153323936],[22.60480146657133,42.898518785161144],[22.986018507588483,43.211161200526966],[22.50015669118028,43.64281443946099],[22.410446404721597,44.00806346289995],[22.65714969248299,44.23492300066128]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":4,"sovereignt":"Austria","sov_a3":"AUT","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Austria","adm0_a3":"AUT","geou_dif":0,"geounit":"Austria","gu_a3":"AUT","su_dif":0,"subunit":"Austria","su_a3":"AUT","brk_diff":0,"name":"Austria","name_long":"Austria","brk_a3":"AUT","brk_name":"Austria","brk_group":null,"abbrev":"Aust.","postal":"A","formal_en":"Republic of Austria","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Austria","name_alt":null,"mapcolor7":3,"mapcolor8":1,"mapcolor9":3,"mapcolor13":4,"pop_est":8210281,"gdp_md_est":329500,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"AT","iso_a3":"AUT","iso_n3":"040","un_a3":"040","wb_a2":"AT","wb_a3":"AUT","woe_id":-99,"adm0_a3_is":"AUT","adm0_a3_us":"AUT","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"AUT.geojson"},"geometry":{"type":"Polygon","coordinates":[[[16.979666782304037,48.123497015976305],[16.90375410326726,47.71486562762833],[16.340584344150415,47.71290192320123],[16.534267612380376,47.49617096616912],[16.202298211337364,46.85238597267696],[16.011663852612656,46.6836107448117],[15.137091912504985,46.65870270444703],[14.63247155117483,46.43181732846955],[13.806475457421527,46.509306138691215],[12.376485223040817,46.76755910906985],[12.153088006243054,47.11539317482645],[11.16482791509327,46.94157949481273],[11.048555942436536,46.75135854754634],[10.44270145024663,46.89354625099743],[9.932448357796659,46.92072805438296],[9.479969516649021,47.10280996356337],[9.632931756232978,47.34760122332999],[9.59422610844635,47.52505809182027],[9.896068149463188,47.580196845075704],[10.402083774465211,47.30248769793916],[10.544504021861627,47.56639923765377],[11.426414015354737,47.523766181012974],[12.141357456112788,47.703083401065776],[12.620759718484491,47.67238760028441],[12.932626987365948,47.467645575544],[13.02585127122049,47.637583523135824],[12.884102817443903,48.28914581968792],[13.243357374737,48.416114813829054],[13.595945672264437,48.87717194273715],[14.33889773932472,48.5553052842072],[14.901447381254057,48.964401760445824],[15.253415561593982,49.039074205107575],[16.02964725105022,48.73389903420793],[16.49928266771877,48.78580801044511],[16.960288120194576,48.5969823268506],[16.879982944413,48.47001333270947],[16.979666782304037,48.123497015976305]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"Belgium","sov_a3":"BEL","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Belgium","adm0_a3":"BEL","geou_dif":0,"geounit":"Belgium","gu_a3":"BEL","su_dif":0,"subunit":"Belgium","su_a3":"BEL","brk_diff":0,"name":"Belgium","name_long":"Belgium","brk_a3":"BEL","brk_name":"Belgium","brk_group":null,"abbrev":"Belg.","postal":"B","formal_en":"Kingdom of Belgium","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Belgium","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":1,"mapcolor13":8,"pop_est":10414336,"gdp_md_est":389300,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"BE","iso_a3":"BEL","iso_n3":"056","un_a3":"056","wb_a2":"BE","wb_a3":"BEL","woe_id":-99,"adm0_a3_is":"BEL","adm0_a3_us":"BEL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"BEL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[3.314971144228537,51.345780951536085],[4.047071160507527,51.26725861266857],[4.973991326526914,51.475023708698124],[5.606975945670001,51.037298488969775],[6.156658155958779,50.80372101501058],[6.043073357781111,50.128051662794235],[5.782417433300906,50.09032786722122],[5.674051954784829,49.529483547557504],[4.799221632515809,49.985373033236385],[4.286022983425084,49.907496649772554],[3.588184441755686,50.37899241800358],[3.123251580425801,50.780363267614575],[2.658422071960274,50.79684804951574],[2.513573032246143,51.14850617126183],[3.314971144228537,51.345780951536085]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Albania","sov_a3":"ALB","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Albania","adm0_a3":"ALB","geou_dif":0,"geounit":"Albania","gu_a3":"ALB","su_dif":0,"subunit":"Albania","su_a3":"ALB","brk_diff":0,"name":"Albania","name_long":"Albania","brk_a3":"ALB","brk_name":"Albania","brk_group":null,"abbrev":"Alb.","postal":"AL","formal_en":"Republic of Albania","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Albania","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":1,"mapcolor13":6,"pop_est":3639453,"gdp_md_est":21810,"pop_year":-99,"lastcensus":2001,"gdp_year":-99,"economy":"6. Developing region","income_grp":"4. Lower middle income","wikipedia":-99,"fips_10":null,"iso_a2":"AL","iso_a3":"ALB","iso_n3":"008","un_a3":"008","wb_a2":"AL","wb_a3":"ALB","woe_id":-99,"adm0_a3_is":"ALB","adm0_a3_us":"ALB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"ALB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[20.590247430104906,41.855404161133606],[20.463175083099202,41.51508901627533],[20.605181919037364,41.08622630468522],[21.0200403174764,40.84272695572588],[20.999989861747224,40.58000397395397],[20.674996779063633,40.43499990494303],[20.615000441172754,40.11000682225938],[20.15001590341052,39.62499766698397],[19.980000441170144,39.69499339452341],[19.960001661873207,39.91500580500605],[19.406081984136733,40.250773423822466],[19.319058872157143,40.72723012955356],[19.40354983895429,41.40956574153546],[19.540027296637106,41.71998607031276],[19.37176883309496,41.877547512370654],[19.304486118250793,42.19574514420782],[19.738051385179627,42.688247382165564],[19.801613396898688,42.50009349219084],[20.0707,42.58863],[20.283754510181893,42.32025950781508],[20.52295,42.21787],[20.590247430104906,41.855404161133606]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"Germany","sov_a3":"DEU","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Germany","adm0_a3":"DEU","geou_dif":0,"geounit":"Germany","gu_a3":"DEU","su_dif":0,"subunit":"Germany","su_a3":"DEU","brk_diff":0,"name":"Germany","name_long":"Germany","brk_a3":"DEU","brk_name":"Germany","brk_group":null,"abbrev":"Ger.","postal":"D","formal_en":"Federal Republic of Germany","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Germany","name_alt":null,"mapcolor7":2,"mapcolor8":5,"mapcolor9":5,"mapcolor13":1,"pop_est":82329758,"gdp_md_est":2918000,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"DE","iso_a3":"DEU","iso_n3":"276","un_a3":"276","wb_a2":"DE","wb_a3":"DEU","woe_id":-99,"adm0_a3_is":"DEU","adm0_a3_us":"DEU","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"DEU.geojson"},"geometry":{"type":"Polygon","coordinates":[[[9.921906365609232,54.983104153048025],[9.9395797054529,54.596641954153256],[10.950112338920519,54.363607082733154],[10.939466993868448,54.00869334575258],[11.956252475643282,54.19648550070116],[12.518440382546714,54.47037059184799],[13.647467075259499,54.0755109727059],[14.119686313542559,53.75702912049103],[14.353315463934168,53.248171291713106],[14.074521111719434,52.98126251892535],[14.4375997250022,52.624850165408304],[14.685026482815713,52.089947414755216],[14.607098422919648,51.745188096719964],[15.016995883858781,51.10667409932171],[14.570718214586122,51.00233938252438],[14.307013380600665,51.11726776794137],[14.056227654688314,50.92691762959435],[13.338131951560397,50.73323436136428],[12.96683678554325,50.48407644306917],[12.240111118222671,50.26633779560723],[12.415190870827473,49.96912079528062],[12.521024204161336,49.54741526956275],[13.031328973043514,49.30706818297324],[13.595945672264577,48.877171942737164],[13.243357374737116,48.41611481382903],[12.884102817443873,48.28914581968786],[13.025851271220517,47.63758352313595],[12.932626987366064,47.467645575544],[12.620759718484521,47.672387600284424],[12.141357456112871,47.70308340106578],[11.426414015354851,47.52376618101306],[10.544504021861597,47.5663992376538],[10.402083774465325,47.30248769793916],[9.896068149463188,47.580196845075704],[9.594226108446376,47.5250580918202],[8.522611932009795,47.83082754169135],[8.317301466514095,47.61357982033627],[7.466759067422288,47.62058197691192],[7.593676385131062,48.33301911070373],[8.099278598674855,49.01778351500343],[6.658229607783709,49.20195831969164],[6.186320428094177,49.463802802114515],[6.242751092156993,49.90222565367873],[6.043073357781111,50.128051662794235],[6.156658155958779,50.80372101501058],[5.988658074577813,51.851615709025054],[6.589396599970826,51.852029120483394],[6.842869500362383,52.22844025329755],[7.092053256873896,53.14404328064489],[6.905139601274129,53.48216217713064],[7.100424838905268,53.69393219666267],[7.936239454793962,53.74829580343379],[8.121706170289485,53.52779246684429],[8.800734490604668,54.020785630908904],[8.572117954145368,54.39564647075405],[8.526229282270208,54.96274363872516],[9.282048780971136,54.83086538351631],[9.921906365609232,54.983104153048025]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":4,"sovereignt":"Denmark","sov_a3":"DN1","adm0_dif":1,"level":2,"type":"Country","admin":"Denmark","adm0_a3":"DNK","geou_dif":0,"geounit":"Denmark","gu_a3":"DNK","su_dif":0,"subunit":"Denmark","su_a3":"DNK","brk_diff":0,"name":"Denmark","name_long":"Denmark","brk_a3":"DNK","brk_name":"Denmark","brk_group":null,"abbrev":"Den.","postal":"DK","formal_en":"Kingdom of Denmark","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Denmark","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":3,"mapcolor13":12,"pop_est":5500510,"gdp_md_est":203600,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"DK","iso_a3":"DNK","iso_n3":"208","un_a3":"208","wb_a2":"DK","wb_a3":"DNK","woe_id":-99,"adm0_a3_is":"DNK","adm0_a3_us":"DNK","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"DNK.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[12.69000613775563,55.609990953180784],[12.089991082414741,54.80001455343793],[11.043543328504228,55.364863796604254],[10.903913608451631,55.77995473898875],[12.370904168353292,56.111407375708836],[12.69000613775563,55.609990953180784]]],[[[10.912181837618363,56.458621324277914],[10.667803989309988,56.08138336854722],[10.369992710011985,56.19000722922473],[9.649984978889307,55.469999498102055],[9.921906365609175,54.98310415304806],[9.282048780971136,54.83086538351616],[8.526229282270236,54.96274363872499],[8.120310906617588,55.517722683323626],[8.08997684086225,56.540011705137594],[8.256581658571264,56.8099693874303],[8.543437534223386,57.110002753316905],[9.42446902836761,57.17206614849948],[9.775558709358563,57.447940782289656],[10.580005730846153,57.73001658795485],[10.546105991262692,57.215732733786155],[10.250000034230226,56.89001618105047],[10.369992710011985,56.609981594460834],[10.912181837618363,56.458621324277914]]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Estonia","sov_a3":"EST","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Estonia","adm0_a3":"EST","geou_dif":0,"geounit":"Estonia","gu_a3":"EST","su_dif":0,"subunit":"Estonia","su_a3":"EST","brk_diff":0,"name":"Estonia","name_long":"Estonia","brk_a3":"EST","brk_name":"Estonia","brk_group":null,"abbrev":"Est.","postal":"EST","formal_en":"Republic of Estonia","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Estonia","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":1,"mapcolor13":10,"pop_est":1299371,"gdp_md_est":27410,"pop_year":-99,"lastcensus":2000,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"EE","iso_a3":"EST","iso_n3":"233","un_a3":"233","wb_a2":"EE","wb_a3":"EST","woe_id":-99,"adm0_a3_is":"EST","adm0_a3_us":"EST","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"EST.geojson"},"geometry":{"type":"Polygon","coordinates":[[[24.312862583114622,57.79342357037698],[24.42892785004216,58.38341339785328],[24.061198357853186,58.25737457949341],[23.42656009287668,58.612753404364625],[23.339795363058645,59.18724030215338],[24.604214308376182,59.46585378685502],[25.86418908051664,59.61109039981134],[26.949135776484525,59.445803331125774],[27.981114129353244,59.47538808861287],[28.13169925305175,59.30082510033092],[27.42016645682494,58.72458120384424],[27.71668582531572,57.79189911562437],[27.28818484875151,57.47452830670383],[26.463532342237787,57.47638865826633],[25.602809685984365,57.84752879498657],[25.16459354014927,57.97015696881519],[24.312862583114622,57.79342357037698]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"Spain","sov_a3":"ESP","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Spain","adm0_a3":"ESP","geou_dif":0,"geounit":"Spain","gu_a3":"ESP","su_dif":0,"subunit":"Spain","su_a3":"ESP","brk_diff":0,"name":"Spain","name_long":"Spain","brk_a3":"ESP","brk_name":"Spain","brk_group":null,"abbrev":"Sp.","postal":"E","formal_en":"Kingdom of Spain","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Spain","name_alt":null,"mapcolor7":4,"mapcolor8":5,"mapcolor9":5,"mapcolor13":5,"pop_est":40525002,"gdp_md_est":1403000,"pop_year":-99,"lastcensus":2001,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"ES","iso_a3":"ESP","iso_n3":"724","un_a3":"724","wb_a2":"ES","wb_a3":"ESP","woe_id":-99,"adm0_a3_is":"ESP","adm0_a3_us":"ESP","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":5,"long_len":5,"abbrev_len":3,"tiny":-99,"homepart":1,"filename":"ESP.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-9.034817674180246,41.88057058365967],[-8.984433152695672,42.59277517350627],[-9.392883673530648,43.0266246608127],[-7.978189663108309,43.748337714200986],[-6.754491746436756,43.567909450853925],[-5.411886359061596,43.574239813809676],[-4.347842779955783,43.40344920508504],[-3.51753170410609,43.4559007838613],[-1.901351284177764,43.42280202897834],[-1.502770961910528,43.03401439063043],[0.338046909190581,42.57954600683954],[0.701590610363894,42.7957343613326],[1.826793247087153,42.34338471126569],[2.985998976258458,42.47301504166986],[3.039484083680549,41.892120266276905],[2.091841668312185,41.22608856868309],[0.810524529635188,41.01473196060934],[0.721331007499401,40.678318386389236],[0.106691521819869,40.12393362076202],[-0.278711310212941,39.30997813573272],[0.111290724293838,38.73851430923303],[-0.467123582349103,38.29236583104115],[-0.683389451490598,37.642353827457825],[-1.438382127274849,37.443063666324214],[-2.146452602538119,36.67414419203728],[-3.415780808923387,36.65889964451118],[-4.368900926114719,36.677839056946155],[-4.995219285492211,36.32470815687964],[-5.377159796561457,35.946850083961465],[-5.866432257500904,36.02981659600606],[-6.236693894872175,36.367677110330334],[-6.520190802425404,36.94291331638732],[-7.453725551778092,37.09778758396607],[-7.537105475281024,37.42890432387623],[-7.166507941099865,37.803894354802225],[-7.029281175148796,38.07576406508977],[-7.374092169616318,38.37305858006492],[-7.098036668313128,39.03007274022378],[-7.498632371439725,39.62957103124181],[-7.066591559263529,39.71189158788277],[-7.026413133156595,40.184524237624245],[-6.864019944679385,40.33087189387483],[-6.851126674822552,41.11108266861753],[-6.389087693700915,41.381815497394655],[-6.668605515967656,41.883386949219584],[-7.251308966490824,41.91834605566505],[-7.422512986673795,41.79207469335983],[-8.013174607769912,41.790886135417125],[-8.263856980817792,42.28046865495034],[-8.67194576662672,42.13468943945496],[-9.034817674180246,41.88057058365967]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Finland","sov_a3":"FI1","adm0_dif":1,"level":2,"type":"Country","admin":"Finland","adm0_a3":"FIN","geou_dif":0,"geounit":"Finland","gu_a3":"FIN","su_dif":0,"subunit":"Finland","su_a3":"FIN","brk_diff":0,"name":"Finland","name_long":"Finland","brk_a3":"FIN","brk_name":"Finland","brk_group":null,"abbrev":"Fin.","postal":"FIN","formal_en":"Republic of Finland","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Finland","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":4,"mapcolor13":6,"pop_est":5250275,"gdp_md_est":193500,"pop_year":-99,"lastcensus":2010,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"FI","iso_a3":"FIN","iso_n3":"246","un_a3":"246","wb_a2":"FI","wb_a3":"FIN","woe_id":-99,"adm0_a3_is":"FIN","adm0_a3_us":"FIN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"FIN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[28.591929559043194,69.06477692328666],[28.445943637818658,68.36461294216404],[29.977426385220607,67.69829702419266],[29.054588657352326,66.94428620062193],[30.21765,65.80598],[29.544429559046986,64.94867157659048],[30.44468468600371,64.20445343693909],[30.035872430142714,63.55281362573855],[31.51609215671112,62.86768748641288],[31.139991082490894,62.35769277612441],[30.211107212044446,61.78002777774969],[28.069997592895277,60.503516547275844],[26.25517296723697,60.4239606797625],[24.496623976344523,60.05731639265165],[22.869694858499457,59.846373196036225],[22.290763787533592,60.39192129174154],[21.322244093519316,60.72016998965952],[21.544866163832694,61.7053294948718],[21.05921105315369,62.60739329695874],[21.536029493910803,63.18973501245587],[22.442744174903993,63.81781037053129],[24.730511508897536,64.90234365504082],[25.398067661243942,65.11142650009373],[25.294043003040404,65.53434642197045],[23.903378533633802,66.00692739527962],[23.565879754335583,66.39605093043743],[23.53947309743444,67.93600861273525],[21.978534783626117,68.6168456081807],[20.645592889089528,69.10624726020087],[21.244936150810673,69.37044302029307],[22.356237827247412,68.84174144151491],[23.66204959483076,68.89124746365054],[24.735679152126725,68.64955678982146],[25.68921268077636,69.09211375596904],[26.17962202322624,69.82529897732614],[27.732292107867863,70.16419302029625],[29.01557295097197,69.76649119737799],[28.591929559043194,69.06477692328666]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"France","sov_a3":"FR1","adm0_dif":1,"level":2,"type":"Country","admin":"France","adm0_a3":"FRA","geou_dif":0,"geounit":"France","gu_a3":"FRA","su_dif":0,"subunit":"France","su_a3":"FRA","brk_diff":0,"name":"France","name_long":"France","brk_a3":"FRA","brk_name":"France","brk_group":null,"abbrev":"Fr.","postal":"F","formal_en":"French Republic","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"France","name_alt":null,"mapcolor7":7,"mapcolor8":5,"mapcolor9":9,"mapcolor13":11,"pop_est":64057792,"gdp_md_est":2128000,"pop_year":-99,"lastcensus":-99,"gdp_year":-99,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"FR","iso_a3":"FRA","iso_n3":"250","un_a3":"250","wb_a2":"FR","wb_a3":"FRA","woe_id":-99,"adm0_a3_is":"FRA","adm0_a3_us":"FRA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":3,"tiny":-99,"homepart":1,"filename":"FRA.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-52.55642473001839,2.504705308437053],[-52.93965715189498,2.124857692875622],[-53.418465135295264,2.053389187016037],[-53.554839240113495,2.334896551925965],[-53.77852067728889,2.376702785650053],[-54.08806250671728,2.105556545414629],[-54.52475419779975,2.311848863123785],[-54.27122962097578,2.738747870286943],[-54.18428402364474,3.194172268075235],[-54.01150387227682,3.622569891774858],[-54.399542202356514,4.212611395683481],[-54.47863298197922,4.896755682795643],[-53.95804460307093,5.756548163267809],[-53.618452928264844,5.646529038918402],[-52.88214128275408,5.409850979021599],[-51.82334286152593,4.565768133966145],[-51.65779741067888,4.156232408053029],[-52.24933753112398,3.241094468596287],[-52.55642473001839,2.504705308437053]]],[[[9.560016310269134,42.15249197037957],[9.229752231491773,41.38000682226445],[8.77572309737536,41.58361196549444],[8.54421268070783,42.25651662858308],[8.746009148807588,42.62812185319396],[9.390000848028905,43.00998484961474],[9.560016310269134,42.15249197037957]]],[[[3.588184441755715,50.37899241800358],[4.28602298342514,49.907496649772554],[4.799221632515753,49.98537303323633],[5.674051954784885,49.52948354755745],[5.897759230176376,49.44266714130717],[6.186320428094206,49.46380280211446],[6.658229607783539,49.20195831969155],[8.099278598674772,49.01778351500337],[7.593676385131062,48.33301911070373],[7.46675906742223,47.620581976911865],[7.192202182655535,47.44976552997099],[6.736571079138088,47.54180125588289],[6.768713820023634,47.28770823830368],[6.037388950228972,46.72577871356191],[6.022609490593567,46.272989813820516],[6.500099724970454,46.42967275652944],[6.843592970414562,45.99114655210067],[6.802355177445662,45.70857982032867],[7.096652459347837,45.333098863295874],[6.749955275101711,45.02851797136759],[7.007562290076663,44.25476675066139],[7.549596388386163,44.12790110938482],[7.435184767291843,43.69384491634918],[6.529245232783068,43.12889232031836],[4.556962517931396,43.39965098731158],[3.10041059735272,43.075200507167125],[2.985998976258486,42.47301504166989],[1.826793247087181,42.34338471126566],[0.701590610363922,42.79573436133265],[0.338046909190581,42.579546006839564],[-1.502770961910471,43.03401439063049],[-1.901351284177735,43.42280202897834],[-1.384225226232957,44.02261037859017],[-1.193797573237362,46.014917710954876],[-2.225724249673789,47.06436269793821],[-2.963276129559574,47.570326646507965],[-4.491554938159481,47.95495433205642],[-4.592349819344747,48.68416046812695],[-3.295813971357745,48.901692409859635],[-1.616510789384932,48.644421291694584],[-1.933494025063254,49.776341864615766],[-0.98946895995536,49.347375800160876],[1.338761020522753,50.12717316344526],[1.6390010921385,50.946606350297515],[2.513573032246171,51.14850617126185],[2.658422071960331,50.79684804951566],[3.123251580425716,50.78036326761452],[3.588184441755715,50.37899241800358]]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"United Kingdom","sov_a3":"GB1","adm0_dif":1,"level":2,"type":"Country","admin":"United Kingdom","adm0_a3":"GBR","geou_dif":0,"geounit":"United Kingdom","gu_a3":"GBR","su_dif":0,"subunit":"United Kingdom","su_a3":"GBR","brk_diff":0,"name":"United Kingdom","name_long":"United Kingdom","brk_a3":"GBR","brk_name":"United Kingdom","brk_group":null,"abbrev":"U.K.","postal":"GB","formal_en":"United Kingdom of Great Britain and Northern Ireland","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"United Kingdom","name_alt":null,"mapcolor7":6,"mapcolor8":6,"mapcolor9":6,"mapcolor13":3,"pop_est":62262000,"gdp_md_est":1977704,"pop_year":0,"lastcensus":2011,"gdp_year":2009,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"GB","iso_a3":"GBR","iso_n3":"826","un_a3":"826","wb_a2":"GB","wb_a3":"GBR","woe_id":-99,"adm0_a3_is":"GBR","adm0_a3_us":"GBR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":14,"long_len":14,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"GBR.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-5.661948614921897,54.55460317648385],[-6.197884894220977,53.86756500916334],[-6.953730231137996,54.073702297575636],[-7.572167934591079,54.05995636658599],[-7.366030646178785,54.595840969452695],[-7.572167934591079,55.1316222194549],[-6.733847011736145,55.1728600124238],[-5.661948614921897,54.55460317648385]]],[[[-3.005004848635281,58.63500010846633],[-4.073828497728016,57.55302480735525],[-3.055001796877661,57.69001902936095],[-1.959280564776918,57.68479970969951],[-2.219988165689301,56.87001740175353],[-3.119003058271118,55.973793036515474],[-2.085009324543023,55.90999848085127],[-2.005675679673857,55.80490285035023],[-1.11499101399221,54.62498647726539],[-0.4304849918542,54.46437612570216],[0.184981316742039,53.32501414653103],[0.469976840831777,52.92999949809197],[1.681530795914739,52.739520168664],[1.559987827164377,52.09999848083601],[1.050561557630914,51.806760565795685],[1.449865349950301,51.28942780212196],[0.550333693045502,50.765738837275876],[-0.78751746255864,50.77498891865622],[-2.489997524414377,50.50001862243124],[-2.956273972984036,50.696879991247016],[-3.617448085942328,50.22835561787272],[-4.542507900399244,50.34183706318566],[-5.245023159191135,49.95999990498108],[-5.776566941745301,50.15967763935682],[-4.309989793301838,51.21000112568916],[-3.414850633142123,51.42600861266925],[-3.422719467108323,51.42684816740609],[-4.984367234710874,51.593466091510976],[-5.267295701508885,51.99140045837458],[-4.222346564134853,52.301355699261364],[-4.770013393564113,52.840004991255626],[-4.579999152026915,53.49500377055517],[-3.093830673788659,53.404547400669685],[-3.092079637047106,53.404440822963544],[-2.945008510744344,53.984999701546684],[-3.614700825433034,54.600936773292574],[-3.63000545898933,54.615012925833014],[-4.844169073903004,54.790971177786844],[-5.082526617849226,55.06160065369937],[-4.719112107756644,55.50847260194348],[-5.047980922862109,55.78398550070752],[-5.586397670911139,55.31114614523682],[-5.644998745130181,56.275014960344805],[-6.149980841486354,56.78500967063354],[-5.786824713555291,57.81884837506465],[-5.009998745127575,58.63001333275005],[-4.211494513353557,58.55084503847917],[-3.005004848635281,58.63500010846633]]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"Italy","sov_a3":"ITA","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Italy","adm0_a3":"ITA","geou_dif":0,"geounit":"Italy","gu_a3":"ITA","su_dif":0,"subunit":"Italy","su_a3":"ITA","brk_diff":0,"name":"Italy","name_long":"Italy","brk_a3":"ITA","brk_name":"Italy","brk_group":null,"abbrev":"Italy","postal":"I","formal_en":"Italian Republic","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Italy","name_alt":null,"mapcolor7":6,"mapcolor8":7,"mapcolor9":8,"mapcolor13":7,"pop_est":58126212,"gdp_md_est":1823000,"pop_year":-99,"lastcensus":2012,"gdp_year":-99,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"IT","iso_a3":"ITA","iso_n3":"380","un_a3":"380","wb_a2":"IT","wb_a3":"ITA","woe_id":-99,"adm0_a3_is":"ITA","adm0_a3_us":"ITA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"ITA.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[15.520376010813834,38.23115509699147],[15.160242954171736,37.44404551853782],[15.309897902089006,37.1342194687318],[15.099988234119449,36.6199872909954],[14.335228712632016,36.996630967754754],[13.826732618879928,37.10453135838019],[12.431003859108813,37.61294993748381],[12.570943637755136,38.12638113051968],[13.741156447004585,38.03496552179536],[14.76124922044616,38.143873602850505],[15.520376010813834,38.23115509699147]]],[[[9.210011834356266,41.20999136002422],[9.809975213264977,40.5000088567661],[9.669518670295673,39.177376410471794],[9.21481774255949,39.240473334300134],[8.80693566247973,38.90661774347847],[8.428302443077115,39.17184703221662],[8.38825320805094,40.378310858718805],[8.15999840661766,40.95000722916379],[8.709990675500109,40.89998444270523],[9.210011834356266,41.20999136002422]]],[[[12.376485223040843,46.76755910906987],[13.806475457421556,46.50930613869119],[13.698109978905478,46.016778062517375],[13.937630242578335,45.591015936864665],[13.141606479554298,45.73669179949541],[12.328581170306306,45.38177806251485],[12.383874952858605,44.88537425391908],[12.261453484759159,44.600482082694015],[12.589237094786483,44.091365871754476],[13.526905958722494,43.5877273626379],[14.029820997787027,42.76100779883248],[15.142569614327956,41.955139675456905],[15.926191033601896,41.96131500911574],[16.169897088290412,41.74029490820342],[15.889345737377797,41.5410822617182],[16.785001661860576,41.179605617836586],[17.519168735431208,40.87714345963224],[18.376687452882575,40.35562490494266],[18.4802470231954,40.168866278639825],[18.293385044028096,39.81077444107325],[17.738380161213286,40.2776710068303],[16.869595981522338,40.44223460546385],[16.448743116937322,39.79540070246648],[17.1714896989715,39.42469981542072],[17.05284061042934,38.9028712021373],[16.635088331781844,38.8435724960824],[16.100960727613057,37.98589874933418],[15.684086948314501,37.90884918878703],[15.687962680736321,38.214592800441864],[15.891981235424707,38.750942491199226],[16.109332309644312,38.96454702407769],[15.718813510814641,39.544072374014945],[15.413612501698822,40.04835683853517],[14.998495721098237,40.17294871679093],[14.70326826341477,40.604550279292624],[14.060671827865264,40.78634796809544],[13.627985060285397,41.188287258461656],[12.88808190273042,41.25308950455562],[12.10668257004491,41.70453481705741],[11.191906365614187,42.35542531998967],[10.511947869517797,42.931462510747224],[10.200028924204048,43.920006822274615],[9.702488234097814,44.03627879493132],[8.88894616052687,44.36633616797954],[8.428560825238577,44.23122813575242],[7.850766635783201,43.76714793555524],[7.435184767291843,43.69384491634918],[7.549596388386163,44.12790110938482],[7.007562290076663,44.25476675066139],[6.749955275101711,45.02851797136759],[7.096652459347837,45.333098863295874],[6.802355177445662,45.70857982032867],[6.843592970414562,45.99114655210067],[7.273850945676685,45.77694774025076],[7.755992058959833,45.82449005795928],[8.31662967289438,46.163642483090854],[8.489952426801295,46.00515086525175],[8.966305779667834,46.036931871111165],[9.182881707403112,46.44021474871698],[9.922836541390353,46.31489940040919],[10.363378126678668,46.483571275409844],[10.442701450246602,46.893546250997446],[11.048555942436508,46.7513585475464],[11.164827915093326,46.94157949481274],[12.153088006243081,47.11539317482644],[12.376485223040843,46.76755910906987]]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Kosovo","sov_a3":"KOS","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Kosovo","adm0_a3":"KOS","geou_dif":0,"geounit":"Kosovo","gu_a3":"KOS","su_dif":0,"subunit":"Kosovo","su_a3":"KOS","brk_diff":1,"name":"Kosovo","name_long":"Kosovo","brk_a3":"B57","brk_name":"Kosovo","brk_group":null,"abbrev":"Kos.","postal":"KO","formal_en":"Republic of Kosovo","formal_fr":null,"note_adm0":null,"note_brk":"Self admin.; Claimed by Serbia","name_sort":"Kosovo","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":3,"mapcolor13":11,"pop_est":1804838,"gdp_md_est":5352,"pop_year":-99,"lastcensus":1981,"gdp_year":-99,"economy":"6. Developing region","income_grp":"4. Lower middle income","wikipedia":-99,"fips_10":null,"iso_a2":"-99","iso_a3":"-99","iso_n3":"-99","un_a3":"-099","wb_a2":"KV","wb_a3":"KSV","woe_id":-99,"adm0_a3_is":"SRB","adm0_a3_us":"KOS","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"KOS.geojson"},"geometry":{"type":"Polygon","coordinates":[[[20.76216,42.05186],[20.71731000000011,41.84711],[20.59023,41.85541],[20.52295,42.21787],[20.28374,42.3202500000001],[20.0707,42.58863],[20.25758,42.81275000000011],[20.49679,42.88469],[20.63508,43.21671],[20.81448,43.27205],[20.95651,43.13094],[21.143395,43.06868500000012],[21.27421,42.90959],[21.43866,42.86255],[21.63302,42.67717],[21.77505,42.6827],[21.66292,42.43922],[21.54332,42.3202500000001],[21.57663598940212,42.24522439706186],[21.35270000000014,42.2068],[20.76216,42.05186]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Greece","sov_a3":"GRC","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Greece","adm0_a3":"GRC","geou_dif":0,"geounit":"Greece","gu_a3":"GRC","su_dif":0,"subunit":"Greece","su_a3":"GRC","brk_diff":0,"name":"Greece","name_long":"Greece","brk_a3":"GRC","brk_name":"Greece","brk_group":null,"abbrev":"Greece","postal":"GR","formal_en":"Hellenic Republic","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Greece","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":2,"mapcolor13":9,"pop_est":10737428,"gdp_md_est":343000,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"GR","iso_a3":"GRC","iso_n3":"300","un_a3":"300","wb_a2":"GR","wb_a3":"GRC","woe_id":-99,"adm0_a3_is":"GRC","adm0_a3_us":"GRC","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":6,"tiny":-99,"homepart":1,"filename":"GRC.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[23.699980096133004,35.70500438083553],[24.24666507334868,35.368022365860156],[25.02501549652888,35.42499563246198],[25.769207797964185,35.35401805270908],[25.745023227651586,35.179997666966216],[26.290002882601723,35.29999034274792],[26.16499759288766,35.004995429009796],[24.724982130642303,34.91998769788961],[24.735007358506945,35.08499054619759],[23.51497846852811,35.27999156345098],[23.699980096133004,35.70500438083553]]],[[[26.604195590936282,41.562114569661105],[26.29460208507578,40.93626129817426],[26.056942172965506,40.824123440100834],[25.447677036244187,40.85254547786147],[24.92584842296094,40.94706167252323],[23.714811232200816,40.687129218095116],[24.407998894964066,40.1249929876241],[23.899967889102584,39.96200552017558],[23.3429993018608,39.96099782974579],[22.81398766448896,40.476005153966554],[22.62629886240478,40.25656118423919],[22.849747755634805,39.65931081802577],[23.3500272966526,39.19001129816726],[22.973099399515547,38.97090322524966],[23.530016310324953,38.51000112563847],[24.025024855248944,38.21999298761645],[24.040011020613605,37.655014553369426],[23.115002882589152,37.92001129816222],[23.409971958111072,37.409990749657396],[22.774971958108633,37.30501007745656],[23.15422529469862,36.422505804992056],[22.490028110451107,36.41000010837746],[21.670026482843696,36.8449864771942],[21.295010613701574,37.644989325504696],[21.120034213961333,38.31032339126273],[20.730032179454582,38.769985256498785],[20.217712029712857,39.340234686839636],[20.15001590341052,39.62499766698403],[20.615000441172782,40.11000682225943],[20.674996779063633,40.434999904943055],[20.99998986174728,40.58000397395397],[21.02004031747643,40.84272695572588],[21.674160597426976,40.93127452245798],[22.05537763844427,41.14986583105269],[22.597308383889015,41.130487168943205],[22.76177,41.3048],[22.952377150166566,41.33799388281122],[23.692073601992462,41.30908091894386],[24.49264489105803,41.58389618587205],[25.197201368925533,41.23448598893066],[26.106138136507184,41.32889883072784],[26.117041863720914,41.82690460872473],[26.604195590936282,41.562114569661105]]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Croatia","sov_a3":"HRV","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Croatia","adm0_a3":"HRV","geou_dif":0,"geounit":"Croatia","gu_a3":"HRV","su_dif":0,"subunit":"Croatia","su_a3":"HRV","brk_diff":0,"name":"Croatia","name_long":"Croatia","brk_a3":"HRV","brk_name":"Croatia","brk_group":null,"abbrev":"Cro.","postal":"HR","formal_en":"Republic of Croatia","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Croatia","name_alt":null,"mapcolor7":5,"mapcolor8":4,"mapcolor9":5,"mapcolor13":1,"pop_est":4489409,"gdp_md_est":82390,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"2. High income: nonOECD","wikipedia":-99,"fips_10":null,"iso_a2":"HR","iso_a3":"HRV","iso_n3":"191","un_a3":"191","wb_a2":"HR","wb_a3":"HRV","woe_id":-99,"adm0_a3_is":"HRV","adm0_a3_us":"HRV","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"HRV.geojson"},"geometry":{"type":"Polygon","coordinates":[[[18.829838087650046,45.908877671891844],[19.072768995854176,45.52151113543209],[19.39047570158459,45.236515611342384],[19.00548628101012,44.86023366960916],[18.553214145591653,45.08158966733145],[17.861783481526402,45.067740383477144],[17.002146030351014,45.233776760430935],[16.534939406000206,45.21160757097772],[16.318156772535872,45.00412669532591],[15.959367303133376,45.233776760430935],[15.750026075918981,44.81871165626256],[16.23966027188453,44.35114329688571],[16.456442905348865,44.04123973243128],[16.91615644701733,43.66772247982567],[17.297373488034452,43.44634064388736],[17.674921502358984,43.02856252702361],[18.56,42.65],[18.450016310304818,42.47999136002932],[17.509970330483327,42.849994615239154],[16.930005730871642,43.20999848080038],[16.015384555737683,43.50721548112722],[15.174453973052096,44.243191229827914],[15.376250441151795,44.31791535092208],[14.920309279040508,44.73848399512946],[14.901602410550877,45.07606028907611],[14.258747592839995,45.233776760430935],[13.952254672917034,44.80212352149687],[13.656975538801191,45.13693512631596],[13.67940311041582,45.48414907488501],[13.715059848697251,45.500323798192426],[14.4119682145855,45.46616567644742],[14.595109490627918,45.63494090431282],[14.935243767972963,45.471695054702764],[15.327674594797427,45.452316392593325],[15.323953891672431,45.731782538427694],[15.671529575267641,45.8341535507979],[15.768732944408612,46.23810822202353],[16.564808383864943,46.50375092221981],[16.882515089595415,46.38063182228444],[17.630066359129557,45.9517691106941],[18.45606245288286,45.75948110613615],[18.829838087650046,45.908877671891844]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":5,"sovereignt":"Hungary","sov_a3":"HUN","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Hungary","adm0_a3":"HUN","geou_dif":0,"geounit":"Hungary","gu_a3":"HUN","su_dif":0,"subunit":"Hungary","su_a3":"HUN","brk_diff":0,"name":"Hungary","name_long":"Hungary","brk_a3":"HUN","brk_name":"Hungary","brk_group":null,"abbrev":"Hun.","postal":"HU","formal_en":"Republic of Hungary","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Hungary","name_alt":null,"mapcolor7":4,"mapcolor8":6,"mapcolor9":1,"mapcolor13":5,"pop_est":9905596,"gdp_md_est":196600,"pop_year":-99,"lastcensus":2001,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"HU","iso_a3":"HUN","iso_n3":"348","un_a3":"348","wb_a2":"HU","wb_a3":"HUN","woe_id":-99,"adm0_a3_is":"HUN","adm0_a3_us":"HUN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"HUN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[16.202298211337364,46.85238597267696],[16.534267612380376,47.49617096616912],[16.340584344150415,47.71290192320123],[16.90375410326726,47.71486562762833],[16.979666782304037,48.123497015976305],[17.48847293464982,47.86746613218621],[17.857132602620027,47.758428860050365],[18.696512892336926,47.880953681014404],[18.77702477384767,48.081768296900634],[19.17436486173989,48.11137889260387],[19.661363559658497,48.26661489520866],[19.769470656013112,48.202691148463614],[20.239054396249347,48.32756724709692],[20.473562045989866,48.56285004332181],[20.801293979584926,48.623854071642384],[21.872236362401736,48.31997081155002],[22.08560835133485,48.42226430927179],[22.640819939878753,48.15023956968735],[22.710531447040495,47.88219391538941],[22.099767693782834,47.6724392767167],[21.62651492685387,46.99423777931816],[21.02195234547125,46.3160879583519],[20.220192498462836,46.127468980486555],[19.596044549241583,46.17172984474454],[18.82983808764996,45.90887767189193],[18.45606245288286,45.759481106136136],[17.630066359129557,45.95176911069419],[16.8825150895953,46.38063182228444],[16.564808383864857,46.50375092221983],[16.370504998447416,46.8413272161665],[16.202298211337364,46.85238597267696]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Ireland","sov_a3":"IRL","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Ireland","adm0_a3":"IRL","geou_dif":0,"geounit":"Ireland","gu_a3":"IRL","su_dif":0,"subunit":"Ireland","su_a3":"IRL","brk_diff":0,"name":"Ireland","name_long":"Ireland","brk_a3":"IRL","brk_name":"Ireland","brk_group":null,"abbrev":"Ire.","postal":"IRL","formal_en":"Ireland","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Ireland","name_alt":null,"mapcolor7":2,"mapcolor8":3,"mapcolor9":2,"mapcolor13":2,"pop_est":4203200,"gdp_md_est":188400,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"IE","iso_a3":"IRL","iso_n3":"372","un_a3":"372","wb_a2":"IE","wb_a3":"IRL","woe_id":-99,"adm0_a3_is":"IRL","adm0_a3_us":"IRL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"IRL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-6.197884894220991,53.86756500916336],[-6.03298539877761,53.15316417094435],[-6.788856573910849,52.260117906292336],[-8.56161658368356,51.669301255899356],[-9.977085740590269,51.82045482035307],[-9.16628251793078,52.86462881124268],[-9.688524542672454,53.8813626165853],[-8.327987433292009,54.66451894796863],[-7.572167934591064,55.13162221945487],[-7.366030646178785,54.59584096945272],[-7.572167934591064,54.059956366586],[-6.953730231138067,54.073702297575636],[-6.197884894220991,53.86756500916336]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Iceland","sov_a3":"ISL","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Iceland","adm0_a3":"ISL","geou_dif":0,"geounit":"Iceland","gu_a3":"ISL","su_dif":0,"subunit":"Iceland","su_a3":"ISL","brk_diff":0,"name":"Iceland","name_long":"Iceland","brk_a3":"ISL","brk_name":"Iceland","brk_group":null,"abbrev":"Iceland","postal":"IS","formal_en":"Republic of Iceland","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Iceland","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":4,"mapcolor13":9,"pop_est":306694,"gdp_md_est":12710,"pop_year":-99,"lastcensus":-99,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"IS","iso_a3":"ISL","iso_n3":"352","un_a3":"352","wb_a2":"IS","wb_a3":"ISL","woe_id":-99,"adm0_a3_is":"ISL","adm0_a3_us":"ISL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":7,"tiny":-99,"homepart":1,"filename":"ISL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-14.508695441129236,66.45589223903141],[-14.739637417041605,65.8087482774403],[-13.60973222497981,65.12667104761987],[-14.909833746794902,64.36408193628868],[-17.794438035543422,63.67874909123385],[-18.656245896874992,63.49638296167582],[-19.97275468594276,63.64363495549153],[-22.762971971110158,63.960178941495386],[-21.778484259517683,64.40211579045551],[-23.95504391121911,64.89112986923348],[-22.184402635170358,65.0849681667603],[-22.227423265053332,65.37859365504272],[-24.326184047939336,65.61118927678847],[-23.65051469572309,66.26251902939522],[-22.134922451250883,66.41046865504687],[-20.57628373867955,65.73211212835143],[-19.05684160000159,66.27660085719477],[-17.79862382655905,65.99385325790978],[-16.167818976292125,66.52679230413587],[-14.508695441129236,66.45589223903141]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":5,"sovereignt":"Lithuania","sov_a3":"LTU","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Lithuania","adm0_a3":"LTU","geou_dif":0,"geounit":"Lithuania","gu_a3":"LTU","su_dif":0,"subunit":"Lithuania","su_a3":"LTU","brk_diff":0,"name":"Lithuania","name_long":"Lithuania","brk_a3":"LTU","brk_name":"Lithuania","brk_group":null,"abbrev":"Lith.","postal":"LT","formal_en":"Republic of Lithuania","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Lithuania","name_alt":null,"mapcolor7":6,"mapcolor8":3,"mapcolor9":3,"mapcolor13":9,"pop_est":3555179,"gdp_md_est":63330,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"LT","iso_a3":"LTU","iso_n3":"440","un_a3":"440","wb_a2":"LT","wb_a3":"LTU","woe_id":-99,"adm0_a3_is":"LTU","adm0_a3_us":"LTU","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":9,"long_len":9,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"LTU.geojson"},"geometry":{"type":"Polygon","coordinates":[[[22.731098667092652,54.327536932993326],[22.65105187347254,54.582740993866736],[22.75776370615526,54.85657440858138],[22.315723504330577,55.015298570365864],[21.268448927503467,55.190481675835315],[21.055800408622414,56.03107636171106],[22.201156853939494,56.33780182557948],[23.878263787539964,56.273671373105266],[24.860684441840757,56.37252838807963],[25.000934279080894,56.16453074810484],[25.533046502390334,56.10029694276603],[26.494331495883753,55.615106919977634],[26.58827924979039,55.16717560487167],[25.7684326514798,54.84696259217509],[25.536353794056993,54.28242340760253],[24.450683628037037,53.905702216194754],[23.48412763844985,53.91249766704114],[23.24398725758951,54.22056671814914],[22.731098667092652,54.327536932993326]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":5,"sovereignt":"Latvia","sov_a3":"LVA","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Latvia","adm0_a3":"LVA","geou_dif":0,"geounit":"Latvia","gu_a3":"LVA","su_dif":0,"subunit":"Latvia","su_a3":"LVA","brk_diff":0,"name":"Latvia","name_long":"Latvia","brk_a3":"LVA","brk_name":"Latvia","brk_group":null,"abbrev":"Lat.","postal":"LV","formal_en":"Republic of Latvia","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Latvia","name_alt":null,"mapcolor7":4,"mapcolor8":7,"mapcolor9":6,"mapcolor13":13,"pop_est":2231503,"gdp_md_est":38860,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"LV","iso_a3":"LVA","iso_n3":"428","un_a3":"428","wb_a2":"LV","wb_a3":"LVA","woe_id":-99,"adm0_a3_is":"LVA","adm0_a3_us":"LVA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"LVA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[21.055800408622414,56.03107636171106],[21.09042361825797,56.78387278912293],[21.581866489353672,57.41187063254993],[22.524341261492875,57.75337433535076],[23.318452996522097,57.00623647727487],[24.12072960785343,57.02569265403277],[24.312862583114622,57.79342357037698],[25.16459354014927,57.97015696881519],[25.602809685984365,57.84752879498657],[26.463532342237787,57.47638865826633],[27.28818484875151,57.47452830670383],[27.77001590344093,57.24425812441123],[27.855282016722526,56.75932648378429],[28.176709425577993,56.16912995057881],[27.10245975109453,55.783313707087686],[26.494331495883753,55.615106919977634],[25.533046502390334,56.10029694276603],[25.000934279080894,56.16453074810484],[24.860684441840757,56.37252838807963],[23.878263787539964,56.273671373105266],[22.201156853939494,56.33780182557948],[21.055800408622414,56.03107636171106]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Luxembourg","sov_a3":"LUX","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Luxembourg","adm0_a3":"LUX","geou_dif":0,"geounit":"Luxembourg","gu_a3":"LUX","su_dif":0,"subunit":"Luxembourg","su_a3":"LUX","brk_diff":0,"name":"Luxembourg","name_long":"Luxembourg","brk_a3":"LUX","brk_name":"Luxembourg","brk_group":null,"abbrev":"Lux.","postal":"L","formal_en":"Grand Duchy of Luxembourg","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Luxembourg","name_alt":null,"mapcolor7":1,"mapcolor8":7,"mapcolor9":3,"mapcolor13":7,"pop_est":491775,"gdp_md_est":39370,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"LU","iso_a3":"LUX","iso_n3":"442","un_a3":"442","wb_a2":"LU","wb_a3":"LUX","woe_id":-99,"adm0_a3_is":"LUX","adm0_a3_us":"LUX","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":10,"long_len":10,"abbrev_len":4,"tiny":5,"homepart":1,"filename":"LUX.geojson"},"geometry":{"type":"Polygon","coordinates":[[[6.043073357781111,50.128051662794235],[6.242751092156993,49.90222565367873],[6.186320428094177,49.463802802114515],[5.897759230176405,49.44266714130703],[5.674051954784829,49.529483547557504],[5.782417433300906,50.09032786722122],[6.043073357781111,50.128051662794235]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Macedonia","sov_a3":"MKD","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Macedonia","adm0_a3":"MKD","geou_dif":0,"geounit":"Macedonia","gu_a3":"MKD","su_dif":0,"subunit":"Macedonia","su_a3":"MKD","brk_diff":0,"name":"Macedonia","name_long":"Macedonia","brk_a3":"MKD","brk_name":"Macedonia","brk_group":null,"abbrev":"Mkd.","postal":"MK","formal_en":"Former Yugoslav Republic of Macedonia","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Macedonia, FYR","name_alt":null,"mapcolor7":5,"mapcolor8":3,"mapcolor9":7,"mapcolor13":3,"pop_est":2066718,"gdp_md_est":18780,"pop_year":-99,"lastcensus":2010,"gdp_year":-99,"economy":"6. Developing region","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"MK","iso_a3":"MKD","iso_n3":"807","un_a3":"807","wb_a2":"MK","wb_a3":"MKD","woe_id":-99,"adm0_a3_is":"MKD","adm0_a3_us":"MKD","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":9,"long_len":9,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"MKD.geojson"},"geometry":{"type":"Polygon","coordinates":[[[20.59023,41.85541],[20.71731000000011,41.84711],[20.76216,42.05186],[21.35270000000014,42.2068],[21.57663598940212,42.24522439706186],[21.917080000000112,42.30364],[22.38052575042468,42.32025950781508],[22.881373732197346,41.999297186850356],[22.952377150166512,41.33799388281119],[22.76177,41.3048],[22.597308383889015,41.130487168943205],[22.05537763844427,41.14986583105269],[21.674160597426976,40.93127452245795],[21.0200403174764,40.84272695572588],[20.60518,41.08622],[20.46315,41.5150900000001],[20.59023,41.85541]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Moldova","sov_a3":"MDA","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Moldova","adm0_a3":"MDA","geou_dif":0,"geounit":"Moldova","gu_a3":"MDA","su_dif":0,"subunit":"Moldova","su_a3":"MDA","brk_diff":0,"name":"Moldova","name_long":"Moldova","brk_a3":"MDA","brk_name":"Moldova","brk_group":null,"abbrev":"Mda.","postal":"MD","formal_en":"Republic of Moldova","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Moldova","name_alt":null,"mapcolor7":3,"mapcolor8":5,"mapcolor9":4,"mapcolor13":12,"pop_est":4320748,"gdp_md_est":10670,"pop_year":-99,"lastcensus":2004,"gdp_year":-99,"economy":"6. Developing region","income_grp":"4. Lower middle income","wikipedia":-99,"fips_10":null,"iso_a2":"MD","iso_a3":"MDA","iso_n3":"498","un_a3":"498","wb_a2":"MD","wb_a3":"MDA","woe_id":-99,"adm0_a3_is":"MDA","adm0_a3_us":"MDA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"MDA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[26.619336785597795,48.22072622333347],[26.857823520624805,48.368210761094495],[27.522537469195154,48.467119452501116],[28.259546746541844,48.15556224221342],[28.670891147585163,48.1181485052341],[29.12269819511303,47.84909516050646],[29.05086795422733,47.51022695575249],[29.41513512545274,47.34664520933257],[29.559674106573112,46.928582872091326],[29.908851759569302,46.67436066343146],[29.838210076626297,46.52532583270169],[30.02465864433537,46.42393667254503],[29.75997195813639,46.34998769793536],[29.170653924279886,46.3792623968287],[29.072106967899295,46.517677720722496],[28.862972446414062,46.43788930926383],[28.93371748222162,46.2588304713725],[28.659987420371575,45.93998688413164],[28.485269402792767,45.5969070501459],[28.233553501099042,45.48828318946837],[28.0544429867754,45.944586086605625],[28.160017937947714,46.37156260841722],[28.128030226359044,46.810476386088254],[27.551166212684848,47.40511709247083],[27.233872918412743,47.82677094175638],[26.924176059687568,48.123264472030996],[26.619336785597795,48.22072622333347]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Montenegro","sov_a3":"MNE","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Montenegro","adm0_a3":"MNE","geou_dif":0,"geounit":"Montenegro","gu_a3":"MNE","su_dif":0,"subunit":"Montenegro","su_a3":"MNE","brk_diff":0,"name":"Montenegro","name_long":"Montenegro","brk_a3":"MNE","brk_name":"Montenegro","brk_group":null,"abbrev":"Mont.","postal":"ME","formal_en":"Montenegro","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Montenegro","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":4,"mapcolor13":5,"pop_est":672180,"gdp_md_est":6816,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"6. Developing region","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"ME","iso_a3":"MNE","iso_n3":"499","un_a3":"499","wb_a2":"ME","wb_a3":"MNE","woe_id":-99,"adm0_a3_is":"MNE","adm0_a3_us":"MNE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":10,"long_len":10,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"MNE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[19.801613396898688,42.50009349219084],[19.738051385179627,42.688247382165564],[19.3044900000001,42.19574],[19.37177000000014,41.87755],[19.16246,41.95502],[18.88214,42.28151],[18.45,42.48],[18.56,42.65],[18.70648,43.20011],[19.03165,43.43253],[19.21852,43.52384],[19.48389,43.35229],[19.63,43.21377997027054],[19.95857,43.10604],[20.3398,42.89852],[20.25758,42.81275000000011],[20.0707,42.58863],[19.801613396898688,42.50009349219084]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":5,"sovereignt":"Netherlands","sov_a3":"NL1","adm0_dif":1,"level":2,"type":"Country","admin":"Netherlands","adm0_a3":"NLD","geou_dif":0,"geounit":"Netherlands","gu_a3":"NLD","su_dif":0,"subunit":"Netherlands","su_a3":"NLD","brk_diff":0,"name":"Netherlands","name_long":"Netherlands","brk_a3":"NLD","brk_name":"Netherlands","brk_group":null,"abbrev":"Neth.","postal":"NL","formal_en":"Kingdom of the Netherlands","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Netherlands","name_alt":null,"mapcolor7":4,"mapcolor8":2,"mapcolor9":2,"mapcolor13":9,"pop_est":16715999,"gdp_md_est":672000,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"NL","iso_a3":"NLD","iso_n3":"528","un_a3":"528","wb_a2":"NL","wb_a3":"NLD","woe_id":-99,"adm0_a3_is":"NLD","adm0_a3_us":"NLD","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":11,"long_len":11,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"NLD.geojson"},"geometry":{"type":"Polygon","coordinates":[[[6.074182570020923,53.510403347378144],[6.905139601274129,53.48216217713064],[7.092053256873896,53.14404328064489],[6.842869500362383,52.22844025329755],[6.589396599970826,51.852029120483394],[5.988658074577813,51.851615709025054],[6.156658155958779,50.80372101501058],[5.606975945670001,51.037298488969775],[4.973991326526914,51.475023708698124],[4.047071160507527,51.26725861266857],[3.314971144228537,51.34575511331991],[3.830288527043137,51.62054454203195],[4.705997348661185,53.09179840759776],[6.074182570020923,53.510403347378144]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Norway","sov_a3":"NOR","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Norway","adm0_a3":"NOR","geou_dif":0,"geounit":"Norway","gu_a3":"NOR","su_dif":0,"subunit":"Norway","su_a3":"NOR","brk_diff":0,"name":"Norway","name_long":"Norway","brk_a3":"NOR","brk_name":"Norway","brk_group":null,"abbrev":"Nor.","postal":"N","formal_en":"Kingdom of Norway","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Norway","name_alt":null,"mapcolor7":5,"mapcolor8":3,"mapcolor9":8,"mapcolor13":12,"pop_est":4676305,"gdp_md_est":276400,"pop_year":-99,"lastcensus":2001,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"NO","iso_a3":"NOR","iso_n3":"578","un_a3":"578","wb_a2":"NO","wb_a3":"NOR","woe_id":-99,"adm0_a3_is":"NOR","adm0_a3_us":"NOR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"NOR.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[28.165547316202915,71.18547435168051],[31.29341840996548,70.45378774685992],[30.005435011522792,70.1862588568849],[31.10107872897512,69.55808014594486],[29.399580519332886,69.15691600206307],[28.591929559043194,69.0647769232867],[29.01557295097197,69.76649119737797],[27.73229210786789,70.16419302029628],[26.1796220232263,69.82529897732616],[25.68921268077639,69.09211375596902],[24.73567915212672,68.64955678982145],[23.662049594830762,68.89124746365053],[22.356237827247412,68.84174144151494],[21.24493615081073,69.37044302029312],[20.64559288908958,69.10624726020085],[20.025268995857914,69.06513865831272],[19.878559604581255,68.40719432237262],[17.99386844246439,68.56739126247734],[17.729181756265348,68.01055186631623],[16.76887861498554,68.01393667263139],[16.108712192456835,67.3024555528369],[15.108411492583059,66.19386688909543],[13.55568973150909,64.78702769638147],[13.919905226302205,64.44542064071611],[13.57191613124877,64.04911408146967],[12.57993533697393,64.06621898055835],[11.93056928879423,63.128317572676984],[11.992064243221535,61.800362453856565],[12.631146681375242,61.29357168237009],[12.3003658382749,60.11793284773006],[11.468271925511175,59.432393296946],[11.027368605196926,58.856149400459394],[10.356556837616097,59.46980703392538],[8.382000359743643,58.31328847923328],[7.048748406613299,58.07888418235728],[5.665835402050419,58.58815542259367],[5.308234490590735,59.66323191999382],[4.992078077829007,61.970998033284275],[5.912900424837885,62.614472968182696],[8.553411085655766,63.45400828719647],[10.527709181366788,64.48603831649748],[12.358346795306375,65.87972585719316],[14.761145867581604,67.81064158799515],[16.43592736172897,68.56320547146169],[19.184028354578516,69.81744415961782],[21.378416375420613,70.25516937934606],[23.023742303161583,70.20207184516626],[24.546543409938522,71.03049673123724],[26.370049676221807,70.98626170519537],[28.165547316202915,71.18547435168051]]],[[[24.72412,77.85385],[22.49032,77.44493],[20.72601,77.67704],[21.41611,77.93504],[20.8119,78.25463],[22.88426,78.45494],[23.28134,78.07954],[24.72412,77.85385]]],[[[18.25183,79.70175],[21.54383,78.95611],[19.02737,78.5626],[18.47172,77.82669],[17.59441,77.63796],[17.1182,76.80941],[15.91315,76.77045],[13.76259,77.38035],[14.66956,77.73565],[13.1706,78.02493],[11.22231,78.8693],[10.44453,79.65239],[13.17077,80.01046],[13.71852,79.66039],[15.14282,79.67431],[15.52255,80.01608],[16.99085,80.05086],[18.25183,79.70175]]],[[[25.447625359811894,80.40734039989451],[27.4075057309135,80.05640574820046],[25.92465050629818,79.51783397085455],[23.02446577321362,79.4000117052291],[20.075188429451885,79.56682322866726],[19.897266473070914,79.84236196564751],[18.462263624757924,79.85988027619442],[17.368015170977458,80.31889618602702],[20.455992059010697,80.59815562613224],[21.9079447771154,80.35767934846209],[22.919252557067438,80.65714427359349],[25.447625359811894,80.40734039989451]]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"Russia","sov_a3":"RUS","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Russia","adm0_a3":"RUS","geou_dif":0,"geounit":"Russia","gu_a3":"RUS","su_dif":0,"subunit":"Russia","su_a3":"RUS","brk_diff":0,"name":"Russia","name_long":"Russian Federation","brk_a3":"RUS","brk_name":"Russia","brk_group":null,"abbrev":"Rus.","postal":"RUS","formal_en":"Russian Federation","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Russian Federation","name_alt":null,"mapcolor7":2,"mapcolor8":5,"mapcolor9":7,"mapcolor13":7,"pop_est":140041247,"gdp_md_est":2266000,"pop_year":-99,"lastcensus":2010,"gdp_year":-99,"economy":"3. Emerging region: BRIC","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"RU","iso_a3":"RUS","iso_n3":"643","un_a3":"643","wb_a2":"RU","wb_a3":"RUS","woe_id":-99,"adm0_a3_is":"RUS","adm0_a3_us":"RUS","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":18,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"RUS.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[143.64800744036287,50.74760040954151],[144.65414757708564,48.976390692737596],[143.17392785051723,49.30655141865037],[142.5586682476501,47.861575018904915],[143.53349246640406,46.83672801369249],[143.5052771343726,46.13790761980948],[142.74770063697392,46.74076487892657],[142.0920300640545,45.96675527605879],[141.90692508358504,46.80592886004655],[142.0184428244709,47.780132961612935],[141.90444461483506,48.85918854429956],[142.13580000220568,49.61516307229746],[142.1799833518153,50.95234243428192],[141.59407596249002,51.93543488220254],[141.68254601457366,53.30196645772878],[142.60693403541075,53.762145087287905],[142.2097489768154,54.22547597921687],[142.654786411713,54.36588084575388],[142.91461551327657,53.704577541714734],[143.26084760963207,52.74076040303905],[143.23526777564766,51.75666026468875],[143.64800744036287,50.74760040954151]]],[[[22.731098667092652,54.327536932993326],[20.892244500418652,54.312524929412575],[19.660640089606403,54.426083889373984],[19.888481479581344,54.8661603867715],[21.2684489275035,55.19048167583528],[22.315723504330606,55.0152985703659],[22.757763706155288,54.85657440858142],[22.651051873472568,54.58274099386671],[22.731098667092652,54.327536932993326]]],[[[-175.01425,66.58435],[-174.33983,66.33556],[-174.57182,67.06219],[-171.85731,66.91308],[-169.89958,65.97724],[-170.89107,65.54139],[-172.53025,65.43791],[-172.555,64.46079],[-172.95533,64.25269],[-173.89184,64.2826],[-174.65392,64.63125],[-175.98353,64.92288],[-176.20716,65.35667],[-177.22266,65.52024],[-178.35993,65.39052],[-178.90332,65.74044],[-178.68611,66.11211],[-179.88377,65.87456],[-179.43268,65.40411],[-180,64.97970870219837],[-180,68.96363636363635],[-177.55,68.2],[-174.92825,67.20589],[-175.01425,66.58435]]],[[[180.00000000000014,70.83219920854668],[178.9034250000001,70.78114],[178.7253,71.0988],[180.00000000000014,71.51571433642826],[180.00000000000014,70.83219920854668]]],[[[-178.69378,70.89302],[-180,70.83219920854668],[-180,71.51571433642826],[-179.871875,71.55762],[-179.02433,71.55553],[-177.577945,71.26948],[-177.663575,71.13277],[-178.69378,70.89302]]],[[[143.60385,73.21244],[142.08763,73.20544],[140.038155,73.31692],[139.86312,73.36983],[140.81171,73.76506],[142.06207,73.85758],[143.48283,73.47525],[143.60385,73.21244]]],[[[150.73167,75.08406],[149.575925,74.68892],[147.977465,74.778355],[146.11919,75.17298],[146.358485,75.49682],[148.22223,75.345845],[150.73167,75.08406]]],[[[145.086285,75.562625],[144.3,74.82],[140.61381,74.84768],[138.95544,74.61148],[136.97439,75.26167],[137.51176,75.94917],[138.831075,76.13676],[141.471615,76.09289],[145.086285,75.562625]]],[[[57.5356925799924,70.72046397570216],[56.94497928246395,70.63274323188668],[53.6773751157842,70.76265778266847],[53.41201663596539,71.2066616889202],[51.60189456564572,71.47475901965049],[51.45575361512422,72.01488108996514],[52.47827518088357,72.22944163684096],[52.444168735570855,72.77473135038485],[54.42761355979766,73.62754751249759],[53.50828982932515,73.74981395130015],[55.90245893740766,74.62748647734533],[55.631932814359715,75.08141225859717],[57.86864383324885,75.60939036732321],[61.170044386647504,76.25188345000814],[64.49836836127022,76.43905548776928],[66.2109770038551,76.80978221303124],[68.15705976753483,76.93969676381292],[68.85221113472512,76.54481130645462],[68.18057254422766,76.23364166940911],[64.637326287703,75.73775462513623],[61.58350752141476,75.2608845079468],[58.47708214705338,74.30905630156283],[56.98678551618801,73.33304352486624],[55.419335971910954,72.37126760526598],[55.622837762276305,71.54059479439033],[57.5356925799924,70.72046397570216]]],[[[106.97013000000013,76.97419],[107.24000000000015,76.48],[108.1538,76.72335000000015],[111.07726000000017,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779000000014],[112.77918,75.03186],[110.1512500000002,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774000000011],[113.01954000000026,73.97693000000015],[113.52958000000032,73.33505000000011],[113.96881,73.59488],[115.56782,73.75285],[118.77633000000023,73.58772],[119.02,73.12],[123.20066000000011,72.97122],[123.25777000000018,73.73503000000011],[125.38000000000018,73.56],[126.97644,73.56549],[128.59126,73.03871],[129.05157,72.39872],[128.46000000000012,71.98],[129.7159900000002,71.19304],[131.28858000000028,70.78699000000012],[132.25350000000017,71.83630000000011],[133.85766000000032,71.38642000000016],[135.56193,71.65525000000014],[137.49755,71.34763],[138.23409000000018,71.62803],[139.86983000000012,71.48783000000014],[139.14791,72.4161900000001],[140.46817,72.84941000000013],[149.5,72.2],[150.3511800000002,71.60643],[152.96890000000022,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031000000025,70.45324],[159.70866,69.72198],[160.94053000000034,69.4372800000001],[162.27907000000013,69.64204],[164.05248000000014,69.66823],[165.94037000000023,69.47199],[167.83567,69.58269],[169.5776300000002,68.6938],[170.81688000000028,69.01363],[170.0082000000002,69.65276],[170.4534500000003,70.09703],[173.64391000000026,69.81743],[175.72403000000023,69.87725000000023],[178.6,69.4],[180.00000000000014,68.96363636363657],[180.00000000000014,64.97970870219848],[179.99281,64.97433],[178.70720000000026,64.53493],[177.41128000000018,64.60821],[178.31300000000024,64.07593],[178.9082500000002,63.251970000000135],[179.37034,62.982620000000104],[179.48636,62.56894],[179.22825000000014,62.30410000000015],[177.3643,62.5219],[174.56929000000022,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985000000001,60.33618],[170.3308500000003,59.88177],[168.90046,60.57355],[166.29498000000032,59.788550000000214],[165.84000000000023,60.16],[164.87674,59.7316],[163.53929000000014,59.86871],[163.21711000000025,59.21101],[162.0173300000001,58.24328],[162.05297,57.83912],[163.19191,57.61503000000011],[163.05794000000017,56.159240000000125],[162.12958000000023,56.12219],[161.70146,55.285680000000156],[162.11749000000017,54.85514],[160.36877000000032,54.34433],[160.02173000000022,53.20257],[158.5309400000002,52.958680000000236],[158.23118,51.94269],[156.7897900000003,51.01105],[156.42000000000016,51.7],[155.99182,53.15895],[155.43366000000012,55.38103000000012],[155.91442000000032,56.767920000000146],[156.75815,57.3647],[156.8103500000001,57.83204],[158.3643300000002,58.05575],[160.15064000000012,59.31477000000012],[161.87204,60.34300000000013],[163.66969,61.1409],[164.47355000000013,62.55061],[163.2584200000002,62.46627],[162.65791,61.6425],[160.1214800000001,60.54423],[159.30232,61.77396],[156.7206800000001,61.43442],[154.21806000000035,59.75818000000013],[155.04375,59.14495],[152.81185,58.88385],[151.26573000000025,58.78089],[151.33815000000013,59.50396],[149.78371,59.65573000000014],[148.54481,59.16448],[145.48722,59.33637],[142.19782000000018,59.03998],[138.95848000000032,57.08805],[135.12619,54.72959],[136.70171,54.603550000000126],[137.19342,53.97732],[138.1647,53.755010000000254],[138.80463,54.25455000000011],[139.90151,54.18968000000018],[141.34531,53.08957000000012],[141.37923,52.23877],[140.5974200000002,51.2396700000001],[140.51308,50.04553000000013],[140.06193000000022,48.44671000000017],[138.5547200000002,46.99965],[138.21971,46.30795],[136.86232,45.14350000000019],[135.5153500000002,43.989],[134.86939000000027,43.39821],[133.53687000000028,42.81147],[132.90627000000015,42.79849],[132.27807000000027,43.28456000000011],[130.93587000000014,42.55274],[130.78,42.22000000000019],[130.64000000000019,42.395],[130.6338664084098,42.90301463477056],[131.144687941615,42.92998973242695],[131.28855512911562,44.111519680348266],[131.02519000000026,44.96796],[131.8834542176596,45.32116160743652],[133.09712000000022,45.14409],[133.7696439963132,46.116926988299156],[134.1123500000002,47.21248000000014],[134.50081,47.578450000000146],[135.0263114767868,48.47822988544391],[133.37359581922803,48.18344167743484],[132.50669000000013,47.78896],[130.98726000000013,47.79013],[130.58229332898267,48.729687404976204],[129.3978178244205,49.440600084015614],[127.65740000000038,49.76027],[127.28745568248493,50.73979726826545],[126.93915652883786,51.3538941514059],[126.56439904185699,51.7842554795327],[125.94634891164647,52.79279857035695],[125.06821129771045,53.161044826868924],[123.57147,53.4588],[122.24574791879307,53.43172597921369],[121.00308475147037,53.25140106873124],[120.1770886577169,52.75388621684121],[120.725789015792,52.51622630473091],[120.7382,51.96411],[120.18208000000018,51.64355],[119.27939,50.58292],[119.28846072802585,50.14288279886196],[117.8792444194265,49.51098338479704],[116.67880089728621,49.888531399121405],[115.48569542853144,49.80517731383475],[114.96210981655038,50.14024730081513],[114.36245649623534,50.248302720737485],[112.89773969935439,49.54356537535699],[111.58123091028668,49.37796824807767],[110.66201053267886,49.13012807880585],[109.40244917199672,49.29296051695769],[108.47516727095127,49.28254771585071],[107.86817589725112,49.79370514586588],[106.88880415245532,50.27429596618029],[105.8865914245869,50.406019192092174],[104.62158,50.275320000000164],[103.67654544476036,50.089966132195144],[102.25589000000011,50.51056000000011],[102.06521,51.25991],[100.88948042196265,51.51685578063842],[99.98173221232356,51.63400625264395],[98.8614905131005,52.04736603454671],[97.82573978067452,51.01099518493325],[98.23176150919173,50.42240062112873],[97.25976000000023,49.72605],[95.81402000000017,49.977460000000114],[94.81594933469879,50.01343333597088],[94.14756635943561,50.48053660745716],[93.10421,50.49529],[92.23471154171969,50.80217072204175],[90.71366743364078,50.331811835321105],[88.80556684769559,49.47052073831247],[87.75126427607685,49.29719798440556],[87.35997033076269,49.21498078062916],[86.82935672398966,49.82667470966813],[85.5412699726825,49.69285858824816],[85.11555952346211,50.11730296487763],[84.41637739455304,50.311399644565824],[83.93511478061893,50.88924551045358],[83.38300377801247,51.069182847693895],[81.94598554883994,50.81219594990633],[80.56844689323546,51.38833649352844],[80.03555952344172,50.864750881547224],[77.80091556184433,53.40441498474754],[76.52517947785478,54.177003485727134],[76.89110029491346,54.49052440044193],[74.38482000000013,53.54685000000011],[73.42567874542053,53.489810289109755],[73.50851606638437,54.035616766976595],[72.22415001820221,54.37665538188679],[71.1801310566095,54.133285224008254],[70.86526655465516,55.169733588270105],[69.06816694527289,55.3852501491435],[68.1691003762589,54.97039175070438],[65.6668700000001,54.601250000000164],[65.17853356309595,54.35422781027208],[61.43660000000013,54.00625],[60.97806644068325,53.66499339457914],[61.699986199800634,52.97999644633427],[60.739993117114544,52.71998647725775],[60.92726850774025,52.447548326215006],[59.96753380721557,51.960420437215674],[61.58800337102414,51.272658799843185],[61.33742435084101,50.79907013610426],[59.93280724471557,50.842194118851836],[59.64228234237057,50.545442206415714],[58.36332000000013,51.06364],[56.77798,51.04355],[55.71694000000011,50.62171000000015],[54.532878452376195,51.02623973245937],[52.32872358583106,51.718652248738096],[50.76664839051219,51.69276235615987],[48.702381626181044,50.60512848571284],[48.577841424357615,49.874759629915644],[47.549480421749394,50.454698391311126],[46.75159630716277,49.35600576435374],[47.0436715024766,49.152038886097586],[46.46644575377629,48.39415233010493],[47.31524000000016,47.71585],[48.05725,47.74377],[48.694733514201886,47.0756281601779],[48.593250000000154,46.561040000000105],[49.101160000000135,46.39933],[48.64541000000011,45.80629],[47.67591,45.64149000000012],[46.68201,44.6092000000001],[47.59094,43.66016000000013],[47.49252,42.98658],[48.58437000000018,41.80888],[47.98728315612604,41.4058192001944],[47.81566572448466,41.151416124021345],[47.373315464066394,41.21973236751114],[46.686070591016716,41.827137152669906],[46.40495079934894,41.860675157227426],[45.7764,42.09244000000024],[45.470279168485916,42.50278066667005],[44.53762291848207,42.711992702803684],[43.93121000000011,42.5549600000001],[43.755990000000196,42.74083],[42.39440000000016,43.2203],[40.92219000000014,43.38215000000014],[40.07696495947985,43.553104153002494],[39.955008579271095,43.434997666999294],[38.68,44.28],[37.53912000000011,44.65721],[36.67546000000013,45.24469],[37.40317,45.4045100000001],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475000000013],[39.12120000000013,47.26336],[38.22353803889948,47.10218984637598],[38.25511233902981,47.54640045835697],[38.77057,47.82562000000024],[39.738277622238996,47.89893707945208],[39.89562000000015,48.23241],[39.67465,48.783820000000134],[40.08078901546949,49.30742991799937],[40.069040000000115,49.60105],[38.59498823421356,49.92646190042373],[38.010631137857075,49.91566152607473],[37.39345950699524,50.38395335550368],[36.626167840325394,50.225590928745135],[35.35611616388812,50.57719737405915],[35.37791,50.77394],[35.02218305841794,51.2075723333715],[34.2248157081544,51.255993150428935],[34.14197838719061,51.566413479206204],[34.39173058445723,51.768881740925906],[33.75269982273588,52.33507457133166],[32.71576053236716,52.23846548116216],[32.41205813978777,52.28869497334977],[32.15944000000022,52.061250000000115],[31.78597,52.10168],[31.54001834486226,52.74205231384644],[31.30520063652798,53.0739958766733],[31.49764,53.16743000000014],[32.304519484188376,53.132726141972846],[32.693643019346126,53.35142080343214],[32.405598585751164,53.618045355842014],[31.731272820774592,53.79402944601202],[31.791424187962406,53.974638576872195],[31.384472283663822,54.15705638286238],[30.75753380709878,54.811770941784395],[30.971835971813245,55.081547756564134],[30.87390913262007,55.55097646750351],[29.89629438652244,55.7894632025305],[29.37157189303079,55.67009064393628],[29.22951338066039,55.91834422466641],[28.17670942557794,56.16912995057879],[27.855282016722526,56.75932648378438],[27.770015903440992,57.244258124411196],[27.288184848751655,57.47452830670392],[27.71668582531578,57.79189911562445],[27.420150000000202,58.72457000000014],[28.131699253051863,59.300825100331],[27.98112,59.47537],[29.1177,60.02805000000012],[28.07,60.50352000000015],[30.211107212044652,61.78002777774969],[31.139991082491036,62.357692776124445],[31.51609215671127,62.867687486412905],[30.035872430142803,63.552813625738565],[30.444684686003736,64.20445343693908],[29.544429559047018,64.94867157659056],[30.21765,65.80598],[29.054588657352383,66.94428620062203],[29.977426385220696,67.69829702419275],[28.44594363781877,68.36461294216399],[28.591929559043365,69.0647769232867],[29.39955,69.15692000000018],[31.10108000000011,69.55811],[32.13272000000026,69.90595000000025],[33.77547,69.30142000000012],[36.51396,69.06342],[40.292340000000166,67.9324],[41.059870000000124,67.4571300000001],[41.12595000000019,66.79158000000012],[40.01583,66.26618000000013],[38.38295,65.9995300000001],[33.918710000000175,66.75961],[33.18444,66.63253],[34.81477,65.90015000000014],[34.87857425307877,65.4362128770482],[34.94391000000015,64.41437000000016],[36.23129,64.10945],[37.01273000000012,63.84983000000011],[37.14197000000016,64.33471],[36.539579035089815,64.76446],[37.17604000000014,65.14322000000013],[39.59345,64.52079000000018],[40.43560000000011,64.76446],[39.76260000000016,65.49682],[42.0930900000001,66.47623],[43.01604000000012,66.41858],[43.94975000000014,66.06908],[44.53226,66.75634000000014],[43.69839,67.35245],[44.18795000000014,67.95051],[43.45282,68.57079],[46.25000000000014,68.25],[46.82134000000016,67.68997],[45.55517,67.56652],[45.5620200000001,67.01005000000019],[46.34915000000015,66.6676700000001],[47.894160000000255,66.88455000000016],[48.13876,67.52238],[50.22766000000016,67.99867000000013],[53.71743000000018,68.85738000000012],[54.47171,68.80815],[53.48582000000013,68.20131],[54.72628,68.09702],[55.44268000000014,68.43866],[57.317020000000156,68.46628],[58.80200000000021,68.88082],[59.94142000000019,68.2784400000001],[61.07784000000018,68.94069],[60.03,69.52],[60.55,69.85],[63.50400000000016,69.54739],[64.888115,69.23483500000013],[68.51216000000014,68.09233000000017],[69.18068,68.61563000000012],[68.16444,69.14436],[68.13522,69.35649],[66.93008000000012,69.45461000000012],[67.25976,69.92873],[66.72492000000014,70.70889000000014],[66.69466,71.02897000000024],[68.54006000000011,71.93450000000024],[69.19636000000011,72.84336000000016],[69.94,73.04000000000013],[72.58754,72.7762900000001],[72.79603,72.22006],[71.8481100000001,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.56470000000022,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28000000000011,66.32000000000016],[72.42301000000018,66.17267000000018],[72.82077,66.53267],[73.92099000000016,66.78946000000013],[74.1865100000002,67.28429],[75.052,67.76047000000017],[74.46926000000016,68.32899],[74.93584000000013,68.98918],[73.84236,69.07146],[73.60187000000022,69.62763],[74.3998,70.63175],[73.1011,71.44717000000026],[74.89082000000022,72.12119],[74.65926,72.83227],[75.15801000000019,72.85497000000011],[75.68351,72.30056000000013],[75.28898000000012,71.33556],[76.35911,71.15287000000015],[75.90313000000017,71.87401],[77.57665000000011,72.26717],[79.65202000000014,72.32011],[81.5,71.75],[80.61071000000013,72.58285000000012],[80.51109,73.6482],[82.25,73.85000000000011],[84.65526,73.80591000000018],[86.82230000000024,73.93688],[86.00956,74.45967000000014],[87.16682000000017,75.11643],[88.31571000000011,75.14393],[90.26,75.64],[92.90058,75.77333],[93.23421000000016,76.0472],[95.86000000000016,76.14],[96.67821,75.91548],[98.92254000000023,76.44689],[100.75967000000023,76.43028],[101.03532,76.86189],[101.99084000000013,77.2875400000002],[104.3516000000001,77.69792],[106.06664000000013,77.37389],[104.70500000000024,77.1274],[106.97013000000013,76.97419]]],[[[105.07547,78.30689],[99.43814,77.921],[101.2649,79.23399],[102.08635,79.34641],[102.837815,79.28129],[105.37243,78.71334],[105.07547,78.30689]]],[[[51.13618655783128,80.54728017854093],[49.79368452332071,80.4154277615482],[48.89441124857754,80.3395667589437],[48.754936557821765,80.17546824820084],[47.586119012244154,80.01018117951533],[46.502825962109654,80.24724681265437],[47.07245527526291,80.55942414012945],[44.846958042181114,80.58980988231718],[46.79913862487123,80.77191762971364],[48.318477410684665,80.78400991486996],[48.522806023966695,80.51456899690015],[49.09718956889091,80.75398590770843],[50.03976769389462,80.91888540315182],[51.52293297710369,80.6997256538019],[51.13618655783128,80.54728017854093]]],[[[99.93976,78.88094],[97.75794,78.7562],[94.97259,79.044745],[93.31288,79.4265],[92.5454,80.14379],[91.18107,80.34146],[93.77766,81.0246],[95.940895,81.2504],[97.88385,80.746975],[100.186655,79.780135],[99.93976,78.88094]]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Slovakia","sov_a3":"SVK","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Slovakia","adm0_a3":"SVK","geou_dif":0,"geounit":"Slovakia","gu_a3":"SVK","su_dif":0,"subunit":"Slovakia","su_a3":"SVK","brk_diff":0,"name":"Slovakia","name_long":"Slovakia","brk_a3":"SVK","brk_name":"Slovakia","brk_group":null,"abbrev":"Svk.","postal":"SK","formal_en":"Slovak Republic","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Slovak Republic","name_alt":null,"mapcolor7":2,"mapcolor8":4,"mapcolor9":4,"mapcolor13":9,"pop_est":5463046,"gdp_md_est":119500,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"SK","iso_a3":"SVK","iso_n3":"703","un_a3":"703","wb_a2":"SK","wb_a3":"SVK","woe_id":-99,"adm0_a3_is":"SVK","adm0_a3_us":"SVK","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"SVK.geojson"},"geometry":{"type":"Polygon","coordinates":[[[18.853144158613617,49.49622976337764],[18.909574822676316,49.435845852244576],[19.320712517990472,49.571574001659194],[19.825022820726872,49.21712535256923],[20.41583947111985,49.43145335549977],[20.887955356538413,49.32877228453583],[21.607808058364213,49.47010732685409],[22.558137648211755,49.085738023467144],[22.28084191253356,48.82539215758067],[22.08560835133485,48.42226430927179],[21.872236362401736,48.31997081155002],[20.801293979584926,48.623854071642384],[20.473562045989866,48.56285004332181],[20.239054396249347,48.32756724709692],[19.769470656013112,48.202691148463614],[19.661363559658497,48.26661489520866],[19.17436486173989,48.11137889260387],[18.77702477384767,48.081768296900634],[18.696512892336926,47.880953681014404],[17.857132602620027,47.758428860050365],[17.48847293464982,47.86746613218621],[16.979666782304037,48.123497015976305],[16.879982944413,48.47001333270947],[16.960288120194576,48.5969823268506],[17.101984897538898,48.81696889911711],[17.545006951577108,48.80001902932537],[17.88648481616181,48.90347524677371],[17.913511590250465,48.996492824899086],[18.104972771891852,49.04398346617531],[18.170498488037964,49.271514797556435],[18.399993523846177,49.31500051533004],[18.554971144289482,49.49501536721878],[18.853144158613617,49.49622976337764]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":6,"sovereignt":"Slovenia","sov_a3":"SVN","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Slovenia","adm0_a3":"SVN","geou_dif":0,"geounit":"Slovenia","gu_a3":"SVN","su_dif":0,"subunit":"Slovenia","su_a3":"SVN","brk_diff":0,"name":"Slovenia","name_long":"Slovenia","brk_a3":"SVN","brk_name":"Slovenia","brk_group":null,"abbrev":"Slo.","postal":"SLO","formal_en":"Republic of Slovenia","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Slovenia","name_alt":null,"mapcolor7":2,"mapcolor8":3,"mapcolor9":2,"mapcolor13":12,"pop_est":2005692,"gdp_md_est":59340,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"SI","iso_a3":"SVN","iso_n3":"705","un_a3":"705","wb_a2":"SI","wb_a3":"SVN","woe_id":-99,"adm0_a3_is":"SVN","adm0_a3_us":"SVN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"SVN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[13.806475457421527,46.509306138691215],[14.63247155117483,46.43181732846955],[15.137091912504985,46.65870270444703],[16.011663852612656,46.6836107448117],[16.202298211337364,46.85238597267696],[16.370504998447416,46.8413272161665],[16.564808383864857,46.50375092221983],[15.768732944408551,46.23810822202345],[15.671529575267556,45.83415355079788],[15.323953891672403,45.73178253842768],[15.327674594797427,45.45231639259323],[14.935243767972935,45.471695054702685],[14.595109490627804,45.634940904312714],[14.411968214585414,45.46616567644746],[13.715059848697221,45.50032379819237],[13.937630242578306,45.59101593686462],[13.698109978905478,46.01677806251735],[13.806475457421527,46.509306138691215]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Ukraine","sov_a3":"UKR","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Ukraine","adm0_a3":"UKR","geou_dif":0,"geounit":"Ukraine","gu_a3":"UKR","su_dif":0,"subunit":"Ukraine","su_a3":"UKR","brk_diff":0,"name":"Ukraine","name_long":"Ukraine","brk_a3":"UKR","brk_name":"Ukraine","brk_group":null,"abbrev":"Ukr.","postal":"UA","formal_en":"Ukraine","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Ukraine","name_alt":null,"mapcolor7":5,"mapcolor8":1,"mapcolor9":6,"mapcolor13":3,"pop_est":45700395,"gdp_md_est":339800,"pop_year":-99,"lastcensus":2001,"gdp_year":-99,"economy":"6. Developing region","income_grp":"4. Lower middle income","wikipedia":-99,"fips_10":null,"iso_a2":"UA","iso_a3":"UKR","iso_n3":"804","un_a3":"804","wb_a2":"UA","wb_a3":"UKR","woe_id":-99,"adm0_a3_is":"UKR","adm0_a3_us":"UKR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"UKR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[31.785998162571587,52.101677964885454],[32.15941206231267,52.06126699483322],[32.41205813978763,52.28869497334975],[32.71576053236697,52.23846548116205],[33.7526998227357,52.335074571331695],[34.39173058445701,51.76888174092579],[34.14197838719039,51.56641347920623],[34.22481570815427,51.25599315042895],[35.02218305841788,51.20757233337145],[35.37792361831512,50.77395539001034],[35.35611616388795,50.577197374059054],[36.62616784032534,50.225590928745135],[37.39345950699507,50.38395335550359],[38.010631137856905,49.91566152607463],[38.59498823421342,49.92646190042363],[40.06905846533911,49.6010554062817],[40.08078901546935,49.307429917999286],[39.67466393408753,48.78381846780187],[39.89563235856758,48.23240509703143],[39.738277622238826,47.89893707945198],[38.7705847511412,47.825608222029814],[38.25511233902975,47.546400458356814],[38.22353803889942,47.10218984637588],[37.42513715998999,47.022220567404204],[36.75985477066439,46.698700263040934],[35.82368452326483,46.64596446388707],[34.96234174982388,46.27319651954964],[35.020787794745985,45.65121898048466],[35.51000857925317,45.40999339454619],[36.52999799983016,45.46998973243706],[36.33471276219916,45.113215643893966],[35.23999922052812,44.939996242851606],[33.882511020652885,44.36147858334407],[33.326420932760044,44.56487702084489],[33.54692426934946,45.03477081967489],[32.4541744321055,45.32746613217608],[32.630804477679135,45.519185695978905],[33.58816206231839,45.85156850848024],[33.29856733575471,46.080598456397844],[31.74414025241518,46.333347886737386],[31.675307244602408,46.70624502215554],[30.748748813609097,46.583100084004],[30.377608676888883,46.03241018328567],[29.603289015427432,45.293308010431126],[29.149724969201653,45.46492544207245],[28.679779493939378,45.304030870131704],[28.233553501099042,45.48828318946837],[28.485269402792767,45.5969070501459],[28.659987420371575,45.93998688413164],[28.93371748222162,46.2588304713725],[28.862972446414062,46.43788930926383],[29.072106967899295,46.517677720722496],[29.170653924279886,46.3792623968287],[29.75997195813639,46.34998769793536],[30.02465864433537,46.42393667254503],[29.838210076626297,46.52532583270169],[29.908851759569302,46.67436066343146],[29.559674106573112,46.928582872091326],[29.41513512545274,47.34664520933257],[29.05086795422733,47.51022695575249],[29.12269819511303,47.84909516050646],[28.670891147585163,48.1181485052341],[28.259546746541844,48.15556224221342],[27.522537469195154,48.467119452501116],[26.857823520624805,48.368210761094495],[26.619336785597795,48.22072622333347],[26.19745039236693,48.22088125263035],[25.9459411964024,47.987148749374214],[25.20774336111299,47.89105642352747],[24.866317172960578,47.73752574318831],[24.40205610525038,47.98187775328042],[23.76095828623741,47.985598456405455],[23.142236362406802,48.09634105080695],[22.710531447040495,47.88219391538941],[22.640819939878753,48.15023956968735],[22.08560835133485,48.42226430927179],[22.28084191253356,48.82539215758067],[22.558137648211755,49.085738023467144],[22.776418898212626,49.02739533140962],[22.518450148211603,49.47677358661974],[23.426508416444392,50.30850576435745],[23.922757195743262,50.42488108987875],[24.029985792748903,50.70540660257518],[23.52707075368437,51.57845408793023],[24.00507775238421,51.61744395609446],[24.553106316839518,51.888461005249184],[25.327787713327005,51.91065603291855],[26.337958611768556,51.83228872334793],[27.454066196408434,51.59230337178447],[28.24161502453657,51.57222707783907],[28.61761274589225,51.42771393493484],[28.99283532076353,51.602044379271476],[29.254938185347925,51.368234361366895],[30.157363722460897,51.41613841410147],[30.555117221811457,51.31950348571566],[30.619454380014844,51.822806098022376],[30.927549269338982,52.04235342061438],[31.785998162571587,52.101677964885454]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Sweden","sov_a3":"SWE","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Sweden","adm0_a3":"SWE","geou_dif":0,"geounit":"Sweden","gu_a3":"SWE","su_dif":0,"subunit":"Sweden","su_a3":"SWE","brk_diff":0,"name":"Sweden","name_long":"Sweden","brk_a3":"SWE","brk_name":"Sweden","brk_group":null,"abbrev":"Swe.","postal":"S","formal_en":"Kingdom of Sweden","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Sweden","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":2,"mapcolor13":4,"pop_est":9059651,"gdp_md_est":344300,"pop_year":-99,"lastcensus":-99,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"SE","iso_a3":"SWE","iso_n3":"752","un_a3":"752","wb_a2":"SE","wb_a3":"SWE","woe_id":-99,"adm0_a3_is":"SWE","adm0_a3_us":"SWE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"SWE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[22.183173455501926,65.72374054632017],[21.21351687997722,65.02600535751527],[21.369631381930958,64.41358795842429],[19.77887576669022,63.60955434839504],[17.84777916837521,62.74940013289681],[17.119554884518124,61.34116567651097],[17.83134606290639,60.63658336042741],[18.78772179533209,60.081914374422595],[17.86922488777634,58.9537661810587],[16.829185011470088,58.71982697207339],[16.447709588291474,57.041118069071885],[15.879785597403783,56.10430186626866],[14.666681349352075,56.200885118222175],[14.100721062891465,55.40778107362265],[12.942910597392057,55.36173737245058],[12.625100538797028,56.30708018658197],[11.787942335668674,57.44181712506307],[11.027368605196866,58.85614940045936],[11.468271925511146,59.43239329694604],[12.3003658382749,60.11793284773003],[12.631146681375183,61.293571682370136],[11.992064243221563,61.80036245385656],[11.93056928879423,63.12831757267698],[12.579935336973932,64.06621898055833],[13.571916131248711,64.04911408146971],[13.919905226302204,64.44542064071608],[13.55568973150909,64.78702769638151],[15.108411492583002,66.19386688909547],[16.108712192456778,67.30245555283689],[16.768878614985482,68.01393667263139],[17.729181756265348,68.01055186631628],[17.993868442464333,68.56739126247736],[19.878559604581255,68.40719432237258],[20.025268995857886,69.0651386583127],[20.645592889089528,69.10624726020087],[21.978534783626117,68.6168456081807],[23.53947309743444,67.93600861273525],[23.565879754335583,66.39605093043743],[23.903378533633802,66.00692739527962],[22.183173455501926,65.72374054632017]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Poland","sov_a3":"POL","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Poland","adm0_a3":"POL","geou_dif":0,"geounit":"Poland","gu_a3":"POL","su_dif":0,"subunit":"Poland","su_a3":"POL","brk_diff":0,"name":"Poland","name_long":"Poland","brk_a3":"POL","brk_name":"Poland","brk_group":null,"abbrev":"Pol.","postal":"PL","formal_en":"Republic of Poland","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Poland","name_alt":null,"mapcolor7":3,"mapcolor8":7,"mapcolor9":1,"mapcolor13":2,"pop_est":38482919,"gdp_md_est":667900,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"PL","iso_a3":"POL","iso_n3":"616","un_a3":"616","wb_a2":"PL","wb_a3":"POL","woe_id":-99,"adm0_a3_is":"POL","adm0_a3_us":"POL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"POL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[15.01699588385867,51.10667409932158],[14.607098422919535,51.745188096719964],[14.685026482815688,52.0899474147552],[14.4375997250022,52.62485016540838],[14.074521111719491,52.98126251892543],[14.353315463934138,53.24817129171297],[14.119686313542587,53.75702912049103],[14.802900424873458,54.05070628520575],[16.36347700365573,54.513158677785725],[17.622831658608675,54.85153595643291],[18.62085859546164,54.68260569927078],[18.696254510175464,54.43871877706929],[19.660640089606403,54.42608388937393],[20.892244500418624,54.31252492941253],[22.731098667092652,54.327536932993326],[23.24398725758951,54.22056671814914],[23.48412763844985,53.91249766704114],[23.527535841575002,53.470121568406555],[23.80493493011778,53.089731350306074],[23.799198846133375,52.69109935160657],[23.199493849386187,52.486977444053664],[23.508002150168693,52.02364655212473],[23.52707075368437,51.57845408793023],[24.029985792748903,50.70540660257518],[23.922757195743262,50.42488108987875],[23.426508416444392,50.30850576435745],[22.518450148211603,49.47677358661974],[22.776418898212626,49.02739533140962],[22.558137648211755,49.085738023467144],[21.607808058364213,49.47010732685409],[20.887955356538413,49.32877228453583],[20.41583947111985,49.43145335549977],[19.825022820726872,49.21712535256923],[19.320712517990472,49.571574001659194],[18.909574822676316,49.435845852244576],[18.853144158613617,49.49622976337764],[18.392913852622172,49.98862864847075],[17.64944502123899,50.049038397819956],[17.55456709155112,50.36214590107641],[16.868769158605655,50.47397370055603],[16.719475945714436,50.21574656839354],[16.176253289462267,50.42260732685791],[16.23862674323857,50.69773265237984],[15.490972120839727,50.78472992614321],[15.01699588385867,51.10667409932158]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"Portugal","sov_a3":"PRT","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Portugal","adm0_a3":"PRT","geou_dif":0,"geounit":"Portugal","gu_a3":"PRT","su_dif":1,"subunit":"Portugal","su_a3":"PR1","brk_diff":0,"name":"Portugal","name_long":"Portugal","brk_a3":"PR1","brk_name":"Portugal","brk_group":null,"abbrev":"Port.","postal":"P","formal_en":"Portuguese Republic","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Portugal","name_alt":null,"mapcolor7":1,"mapcolor8":7,"mapcolor9":1,"mapcolor13":4,"pop_est":10707924,"gdp_md_est":208627,"pop_year":-99,"lastcensus":2011,"gdp_year":0,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"PT","iso_a3":"PRT","iso_n3":"620","un_a3":"620","wb_a2":"PT","wb_a3":"PRT","woe_id":-99,"adm0_a3_is":"PRT","adm0_a3_us":"PRT","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"PRT.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-9.034817674180246,41.88057058365967],[-8.67194576662672,42.13468943945496],[-8.263856980817792,42.28046865495034],[-8.013174607769912,41.790886135417125],[-7.422512986673795,41.79207469335983],[-7.251308966490824,41.91834605566505],[-6.668605515967656,41.883386949219584],[-6.389087693700915,41.381815497394655],[-6.851126674822552,41.11108266861753],[-6.864019944679385,40.33087189387483],[-7.026413133156595,40.184524237624245],[-7.066591559263529,39.71189158788277],[-7.498632371439725,39.62957103124181],[-7.098036668313128,39.03007274022378],[-7.374092169616318,38.37305858006492],[-7.029281175148796,38.07576406508977],[-7.166507941099865,37.803894354802225],[-7.537105475281024,37.42890432387623],[-7.453725551778092,37.09778758396607],[-7.855613165711985,36.83826854099627],[-8.382816127953689,36.97888011326246],[-8.898856980820327,36.86880931248078],[-8.746101446965554,37.65134552667661],[-8.839997524439879,38.26624339451761],[-9.287463751655224,38.3584858261586],[-9.526570603869715,38.73742910415491],[-9.446988898140232,39.39206614842837],[-9.048305223008427,39.75509308527877],[-8.977353481471681,40.15930613866581],[-8.768684047877102,40.76063894303019],[-8.79085323733031,41.18433401139126],[-8.99078935386757,41.54345937760364],[-9.034817674180246,41.88057058365967]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Romania","sov_a3":"ROU","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Romania","adm0_a3":"ROU","geou_dif":0,"geounit":"Romania","gu_a3":"ROU","su_dif":0,"subunit":"Romania","su_a3":"ROU","brk_diff":0,"name":"Romania","name_long":"Romania","brk_a3":"ROU","brk_name":"Romania","brk_group":null,"abbrev":"Rom.","postal":"RO","formal_en":"Romania","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Romania","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":3,"mapcolor13":13,"pop_est":22215421,"gdp_md_est":271400,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"RO","iso_a3":"ROU","iso_n3":"642","un_a3":"642","wb_a2":"RO","wb_a3":"ROM","woe_id":-99,"adm0_a3_is":"ROU","adm0_a3_us":"ROU","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"ROU.geojson"},"geometry":{"type":"Polygon","coordinates":[[[22.710531447040495,47.88219391538941],[23.142236362406802,48.09634105080695],[23.76095828623741,47.985598456405455],[24.40205610525038,47.98187775328042],[24.866317172960578,47.73752574318831],[25.20774336111299,47.89105642352747],[25.9459411964024,47.987148749374214],[26.19745039236693,48.22088125263035],[26.619336785597795,48.22072622333347],[26.924176059687568,48.123264472030996],[27.233872918412743,47.82677094175638],[27.551166212684848,47.40511709247083],[28.128030226359044,46.810476386088254],[28.160017937947714,46.37156260841722],[28.0544429867754,45.944586086605625],[28.233553501099042,45.48828318946837],[28.679779493939378,45.304030870131704],[29.149724969201653,45.46492544207245],[29.603289015427432,45.293308010431126],[29.626543409958767,45.03539093686239],[29.141611769331835,44.82021027279904],[28.837857700320203,44.913873806328056],[28.558081495891997,43.70746165625813],[27.970107049275075,43.81246816667521],[27.242399529740908,44.175986029632405],[26.065158725699746,43.94349376075126],[25.569271681426926,43.68844472917472],[24.100679152124172,43.74105133724785],[23.33230228037632,43.89701080990471],[22.944832391051847,43.82378530534713],[22.65714969248299,44.23492300066128],[22.4740084164406,44.40922760678177],[22.705725538837356,44.57800283464702],[22.459022251075936,44.7025171982543],[22.14508792490281,44.47842234962059],[21.562022739353605,44.7689472519655],[21.483526238702233,45.18117015235778],[20.874312778413355,45.416375433934235],[20.762174920339987,45.734573065771436],[20.220192498462836,46.127468980486555],[21.02195234547125,46.3160879583519],[21.62651492685387,46.99423777931816],[22.099767693782834,47.6724392767167],[22.710531447040495,47.88219391538941]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":5,"sovereignt":"Republic of Serbia","sov_a3":"SRB","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Republic of Serbia","adm0_a3":"SRB","geou_dif":0,"geounit":"Republic of Serbia","gu_a3":"SRB","su_dif":0,"subunit":"Republic of Serbia","su_a3":"SRB","brk_diff":0,"name":"Serbia","name_long":"Serbia","brk_a3":"SRB","brk_name":"Serbia","brk_group":null,"abbrev":"Serb.","postal":"RS","formal_en":"Republic of Serbia","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Serbia","name_alt":null,"mapcolor7":3,"mapcolor8":3,"mapcolor9":2,"mapcolor13":10,"pop_est":7379339,"gdp_md_est":80340,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"6. Developing region","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"RS","iso_a3":"SRB","iso_n3":"688","un_a3":"688","wb_a2":"YF","wb_a3":"SRB","woe_id":-99,"adm0_a3_is":"SRB","adm0_a3_us":"SRB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":5,"tiny":-99,"homepart":1,"filename":"SRB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[20.87431277841341,45.41637543393432],[21.48352623870221,45.18117015235788],[21.562022739353722,44.76894725196564],[22.145087924902896,44.47842234962059],[22.459022251075965,44.70251719825444],[22.70572553883744,44.57800283464701],[22.474008416440654,44.40922760678177],[22.657149692483074,44.234923000661354],[22.410446404721597,44.008063462900054],[22.500156691180223,43.642814439461006],[22.986018507588483,43.2111612005271],[22.60480146657136,42.898518785161116],[22.43659467946139,42.58032115332394],[22.54501183440965,42.46136200618804],[22.38052575042468,42.32025950781508],[21.917080000000112,42.30364],[21.57663598940212,42.24522439706186],[21.54332,42.3202500000001],[21.66292,42.43922],[21.77505,42.6827],[21.63302,42.67717],[21.43866,42.86255],[21.27421,42.90959],[21.143395,43.06868500000012],[20.95651,43.13094],[20.81448,43.27205],[20.63508,43.21671],[20.49679,42.88469],[20.25758,42.81275000000011],[20.3398,42.89852],[19.95857,43.10604],[19.63,43.21377997027054],[19.48389,43.35229],[19.21852,43.52384],[19.454,43.56810000000013],[19.59976,44.03847],[19.11761,44.42307000000011],[19.36803,44.863],[19.00548,44.86023],[19.39047570158459,45.236515611342384],[19.072768995854176,45.52151113543209],[18.82982,45.90888],[19.59604454924164,46.171729844744554],[20.220192498462893,46.12746898048658],[20.762174920339987,45.734573065771485],[20.87431277841341,45.41637543393432]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"Turkey","sov_a3":"TUR","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Turkey","adm0_a3":"TUR","geou_dif":0,"geounit":"Turkey","gu_a3":"TUR","su_dif":0,"subunit":"Turkey","su_a3":"TUR","brk_diff":0,"name":"Turkey","name_long":"Turkey","brk_a3":"TUR","brk_name":"Turkey","brk_group":null,"abbrev":"Tur.","postal":"TR","formal_en":"Republic of Turkey","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Turkey","name_alt":null,"mapcolor7":6,"mapcolor8":3,"mapcolor9":8,"mapcolor13":4,"pop_est":76805524,"gdp_md_est":902700,"pop_year":-99,"lastcensus":2000,"gdp_year":-99,"economy":"4. Emerging region: MIKT","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"TR","iso_a3":"TUR","iso_n3":"792","un_a3":"792","wb_a2":"TR","wb_a3":"TUR","woe_id":-99,"adm0_a3_is":"TUR","adm0_a3_us":"TUR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"TUR.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[36.91312706884215,41.335358384764305],[38.34766482926452,40.94858612727572],[39.51260664242025,41.102762763018575],[40.373432651538245,41.01367259374734],[41.554084100110714,41.53565623632761],[42.619548781104555,41.58317271581993],[43.58274580259271,41.09214325618257],[43.7526579119685,40.74020091405882],[43.65643639504096,40.25356395116617],[44.400008579288766,40.00500031184231],[44.793989699082005,39.713002631177034],[44.109225294782355,39.428136298168056],[44.4214026222576,38.28128123631453],[44.22575564960053,37.97158437758935],[44.77269900897775,37.17044464776845],[44.29345177590286,37.00151439060635],[43.94225874204736,37.256227525372935],[42.77912560402186,37.38526357680581],[42.34959109881177,37.22987254490411],[41.21208947120303,37.07435232192173],[40.673259311695716,37.09127635349736],[39.52258019385252,36.71605377862602],[38.69989139176593,36.71292735447233],[38.16772749202416,36.90121043552779],[37.06676110204583,36.62303620050062],[36.739494256341374,36.817520453431115],[36.68538903173183,36.259699205056506],[36.41755008316309,36.0406169703551],[36.14976281102659,35.82153473565367],[35.782084995269855,36.274995429014915],[36.160821567537056,36.650605577128374],[35.55093631362834,36.56544281671134],[34.714553256984374,36.795532131490916],[34.02689497247647,36.21996002862397],[32.5091581560641,36.1075637883892],[31.699595167779567,36.64427521417261],[30.62162479017107,36.677864895162315],[30.39109622571712,36.26298065850698],[29.699975620245567,36.144357408181],[28.73290286633539,36.67683136651644],[27.64118655773737,36.658822129862756],[27.048767937943296,37.65336090753601],[26.318218214633045,38.208133246405396],[26.804700148228733,38.98576019953356],[26.17078535330438,39.463612168936464],[27.280019972449395,40.42001373957831],[28.819977654747216,40.46001129817221],[29.24000369641558,41.21999074967269],[31.145933872204434,41.08762156835706],[32.34797936374579,41.73626414648464],[33.51328291192752,42.018960069337304],[35.16770389175187,42.04022492122544],[36.91312706884215,41.335358384764305]]],[[[27.192376743282406,40.690565700842455],[26.35800906749779,40.15199392349649],[26.04335127127254,40.61775360774317],[26.056942172965336,40.82412344010075],[26.29460208507569,40.93626129817417],[26.604195590936282,41.56211456966102],[26.117041863720825,41.82690460872456],[27.135739373490505,42.14148489030131],[27.996720411905414,42.00735871028777],[28.115524529744444,41.622886054036286],[28.988442824018787,41.29993419042819],[28.80643842948675,41.05496206314854],[27.61901736828412,40.99982330989312],[27.192376743282406,40.690565700842455]]]]}}]}')},"2d7e":function(n,e,t){"use strict";t("8f66")},"81d5":function(n,e,t){"use strict";var r=t("7b0b"),o=t("23cb"),a=t("50c4");n.exports=function(n){var e=r(this),t=a(e.length),i=arguments.length,u=o(i>1?arguments[1]:void 0,t),l=i>2?arguments[2]:void 0,s=void 0===l?t:o(l,t);while(s>u)e[u++]=n;return e}},"8f66":function(n,e,t){},"99af":function(n,e,t){"use strict";var r=t("23e7"),o=t("d039"),a=t("e8b5"),i=t("861d"),u=t("7b0b"),l=t("50c4"),s=t("8418"),_=t("65f0"),c=t("1dde"),p=t("b622"),f=t("2d00"),m=p("isConcatSpreadable"),d=9007199254740991,g="Maximum allowed index exceeded",h=f>=51||!o((function(){var n=[];return n[m]=!1,n.concat()[0]!==n})),b=c("concat"),v=function(n){if(!i(n))return!1;var e=n[m];return void 0!==e?!!e:a(n)},y=!h||!b;r({target:"Array",proto:!0,forced:y},{concat:function(n){var e,t,r,o,a,i=u(this),c=_(i,0),p=0;for(e=-1,r=arguments.length;ed)throw TypeError(g);for(t=0;t=d)throw TypeError(g);s(c,p++,a)}return c.length=p,c}})},a434:function(n,e,t){"use strict";var r=t("23e7"),o=t("23cb"),a=t("a691"),i=t("50c4"),u=t("7b0b"),l=t("65f0"),s=t("8418"),_=t("1dde"),c=_("splice"),p=Math.max,f=Math.min,m=9007199254740991,d="Maximum allowed length exceeded";r({target:"Array",proto:!0,forced:!c},{splice:function(n,e){var t,r,_,c,g,h,b=u(this),v=i(b.length),y=o(n,v),w=arguments.length;if(0===w?t=r=0:1===w?(t=0,r=v-y):(t=w-2,r=f(p(a(e),0),v-y)),v+t-r>m)throw TypeError(d);for(_=l(b,r),c=0;cv-r+t;c--)delete b[c-1]}else if(t>r)for(c=v-r;c>y;c--)g=c+r-1,h=c+t-1,g in b?b[h]=b[g]:delete b[h];for(c=0;cn.length)&&(e=n.length);for(var t=0,r=new Array(e);t{}};function b(){for(var n,e=0,t=arguments.length,r={};e=0&&(t=n.slice(r+1),n=n.slice(0,r)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:t}}))}function w(n,e){for(var t,r=0,o=n.length;r0)for(var t,r,o=new Array(t),a=0;a=w&&(w=y+1);while(!(v=g[w])&&++w=0;)(r=o[a])&&(i&&4^r.compareDocumentPosition(i)&&i.parentNode.insertBefore(r,i),i=r);return this},en=function(n){function e(e,t){return e&&t?n(e.__data__,t.__data__):!e-!t}n||(n=tn);for(var t=this._groups,r=t.length,o=new Array(r),a=0;ae?1:n>=e?0:NaN}var rn=function(){var n=arguments[0];return arguments[0]=this,n.apply(null,arguments),this},on=function(){return Array.from(this)},an=function(){for(var n=this._groups,e=0,t=n.length;e=0&&"xmlns"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),cn.hasOwnProperty(e)?{space:cn[e],local:n}:n};function fn(n){return function(){this.removeAttribute(n)}}function mn(n){return function(){this.removeAttributeNS(n.space,n.local)}}function dn(n,e){return function(){this.setAttribute(n,e)}}function gn(n,e){return function(){this.setAttributeNS(n.space,n.local,e)}}function hn(n,e){return function(){var t=e.apply(this,arguments);null==t?this.removeAttribute(n):this.setAttribute(n,t)}}function bn(n,e){return function(){var t=e.apply(this,arguments);null==t?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,t)}}var vn=function(n,e){var t=pn(n);if(arguments.length<2){var r=this.node();return t.local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}return this.each((null==e?t.local?mn:fn:"function"===typeof e?t.local?bn:hn:t.local?gn:dn)(t,e))},yn=function(n){return n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView};function wn(n){return function(){this.style.removeProperty(n)}}function kn(n,e,t){return function(){this.style.setProperty(n,e,t)}}function En(n,e,t){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,t)}}var Sn=function(n,e,t){return arguments.length>1?this.each((null==e?wn:"function"===typeof e?En:kn)(n,e,null==t?"":t)):An(this.node(),n)};function An(n,e){return n.style.getPropertyValue(e)||yn(n).getComputedStyle(n,null).getPropertyValue(e)}function Rn(n){return function(){delete this[n]}}function xn(n,e){return function(){this[n]=e}}function Mn(n,e){return function(){var t=e.apply(this,arguments);null==t?delete this[n]:this[n]=t}}var Nn=function(n,e){return arguments.length>1?this.each((null==e?Rn:"function"===typeof e?Mn:xn)(n,e)):this.node()[n]};function Ln(n){return n.trim().split(/^|\s+/)}function Cn(n){return n.classList||new On(n)}function On(n){this._node=n,this._names=Ln(n.getAttribute("class")||"")}function Dn(n,e){var t=Cn(n),r=-1,o=e.length;while(++r=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(n){return this._names.indexOf(n)>=0}};var Tn=function(n,e){var t=Ln(n+"");if(arguments.length<2){var r=Cn(this.node()),o=-1,a=t.length;while(++o=0&&(e=n.slice(t+1),n=n.slice(0,t)),{type:n,name:e}}))}function ce(n){return function(){var e=this.__on;if(e){for(var t,r=0,o=-1,a=e.length;r>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===t?Xe(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===t?Xe(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Be.exec(n))?new We(e[1],e[2],e[3],1):(e=Ue.exec(n))?new We(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Pe.exec(n))?Xe(e[1],e[2],e[3],e[4]):(e=Ie.exec(n))?Xe(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Te.exec(n))?Qe(e[1],e[2]/100,e[3]/100,1):(e=je.exec(n))?Qe(e[1],e[2]/100,e[3]/100,e[4]):He.hasOwnProperty(n)?ze(He[n]):"transparent"===n?new We(NaN,NaN,NaN,0):null}function ze(n){return new We(n>>16&255,n>>8&255,255&n,1)}function Xe(n,e,t,r){return r<=0&&(n=e=t=NaN),new We(n,e,t,r)}function qe(n){return n instanceof xe||(n=Ve(n)),n?(n=n.rgb(),new We(n.r,n.g,n.b,n.opacity)):new We}function Ye(n,e,t,r){return 1===arguments.length?qe(n):new We(n,e,t,null==r?1:r)}function We(n,e,t,r){this.r=+n,this.g=+e,this.b=+t,this.opacity=+r}function Ze(){return"#"+Je(this.r)+Je(this.g)+Je(this.b)}function $e(){var n=this.opacity;return n=isNaN(n)?1:Math.max(0,Math.min(1,n)),(1===n?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===n?")":", "+n+")")}function Je(n){return n=Math.max(0,Math.min(255,Math.round(n)||0)),(n<16?"0":"")+n.toString(16)}function Qe(n,e,t,r){return r<=0?n=e=t=NaN:t<=0||t>=1?n=e=NaN:e<=0&&(n=NaN),new tt(n,e,t,r)}function nt(n){if(n instanceof tt)return new tt(n.h,n.s,n.l,n.opacity);if(n instanceof xe||(n=Ve(n)),!n)return new tt;if(n instanceof tt)return n;n=n.rgb();var e=n.r/255,t=n.g/255,r=n.b/255,o=Math.min(e,t,r),a=Math.max(e,t,r),i=NaN,u=a-o,l=(a+o)/2;return u?(i=e===a?(t-r)/u+6*(t0&&l<1?0:i,new tt(i,u,l,n.opacity)}function et(n,e,t,r){return 1===arguments.length?nt(n):new tt(n,e,t,null==r?1:r)}function tt(n,e,t,r){this.h=+n,this.s=+e,this.l=+t,this.opacity=+r}function rt(n,e,t){return 255*(n<60?e+(t-e)*n/60:n<180?t:n<240?e+(t-e)*(240-n)/60:e)}function ot(n,e,t,r,o){var a=n*n,i=a*n;return((1-3*n+3*a-i)*e+(4-6*a+3*i)*t+(1+3*n+3*a-3*i)*r+i*o)/6}Ae(xe,Ve,{copy:function(n){return Object.assign(new this.constructor,this,n)},displayable:function(){return this.rgb().displayable()},hex:Fe,formatHex:Fe,formatHsl:Ge,formatRgb:Ke,toString:Ke}),Ae(We,Ye,Re(xe,{brighter:function(n){return n=null==n?Ne:Math.pow(Ne,n),new We(this.r*n,this.g*n,this.b*n,this.opacity)},darker:function(n){return n=null==n?Me:Math.pow(Me,n),new We(this.r*n,this.g*n,this.b*n,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ze,formatHex:Ze,formatRgb:$e,toString:$e})),Ae(tt,et,Re(xe,{brighter:function(n){return n=null==n?Ne:Math.pow(Ne,n),new tt(this.h,this.s,this.l*n,this.opacity)},darker:function(n){return n=null==n?Me:Math.pow(Me,n),new tt(this.h,this.s,this.l*n,this.opacity)},rgb:function(){var n=this.h%360+360*(this.h<0),e=isNaN(n)||isNaN(this.s)?0:this.s,t=this.l,r=t+(t<.5?t:1-t)*e,o=2*t-r;return new We(rt(n>=240?n-240:n+120,o,r),rt(n,o,r),rt(n<120?n+240:n-120,o,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var n=this.opacity;return n=isNaN(n)?1:Math.max(0,Math.min(1,n)),(1===n?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===n?")":", "+n+")")}}));var at=function(n){var e=n.length-1;return function(t){var r=t<=0?t=0:t>=1?(t=1,e-1):Math.floor(t*e),o=n[r],a=n[r+1],i=r>0?n[r-1]:2*o-a,u=r()=>n;function lt(n,e){return function(t){return n+t*e}}function st(n,e,t){return n=Math.pow(n,t),e=Math.pow(e,t)-n,t=1/t,function(r){return Math.pow(n+r*e,t)}}function _t(n){return 1===(n=+n)?ct:function(e,t){return t-e?st(e,t,n):ut(isNaN(e)?t:e)}}function ct(n,e){var t=e-n;return t?lt(n,t):ut(isNaN(n)?e:n)}var pt=function n(e){var t=_t(e);function r(n,e){var r=t((n=Ye(n)).r,(e=Ye(e)).r),o=t(n.g,e.g),a=t(n.b,e.b),i=ct(n.opacity,e.opacity);return function(e){return n.r=r(e),n.g=o(e),n.b=a(e),n.opacity=i(e),n+""}}return r.gamma=n,r}(1);function ft(n){return function(e){var t,r,o=e.length,a=new Array(o),i=new Array(o),u=new Array(o);for(t=0;ta&&(o=e.slice(a,o),u[i]?u[i]+=o:u[++i]=o),(t=t[0])===(r=r[0])?u[i]?u[i]+=r:u[++i]=r:(u[++i]=null,l.push({i:i,x:mt(t,r)})),a=gt.lastIndex;return a=0&&e._call.call(null,n),e=e._next;--St}function Tt(){Nt=(Mt=Ct.now())+Lt,St=At=0;try{It()}finally{St=0,Ht(),Nt=0}}function jt(){var n=Ct.now(),e=n-Mt;e>xt&&(Lt-=e,Mt=n)}function Ht(){var n,e,t=vt,r=1/0;while(t)t._call?(r>t._time&&(r=t._time),n=t,t=t._next):(e=t._next,t._next=null,t=n?n._next=e:vt=e);yt=n,Ft(r)}function Ft(n){if(!St){At&&(At=clearTimeout(At));var e=n-Nt;e>24?(n<1/0&&(At=setTimeout(Tt,n-Ct.now()-Lt)),Rt&&(Rt=clearInterval(Rt))):(Rt||(Mt=Ct.now(),Rt=setInterval(jt,xt)),St=1,Ot(Tt))}}Ut.prototype=Pt.prototype={constructor:Ut,restart:function(n,e,t){if("function"!==typeof n)throw new TypeError("callback is not a function");t=(null==t?Dt():+t)+(null==e?0:+e),this._next||yt===this||(yt?yt._next=this:vt=this,yt=this),this._call=n,this._time=t,Ft()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ft())}};var Gt=function(n,e,t){var r=new Ut;return e=null==e?0:+e,r.restart(t=>{r.stop(),n(t+e)},e,t),r},Kt=E("start","end","cancel","interrupt"),Vt=[],zt=0,Xt=1,qt=2,Yt=3,Wt=4,Zt=5,$t=6,Jt=function(n,e,t,r,o,a){var i=n.__transition;if(i){if(t in i)return}else n.__transition={};tr(n,t,{name:e,index:r,group:o,on:Kt,tween:Vt,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:zt})};function Qt(n,e){var t=er(n,e);if(t.state>zt)throw new Error("too late; already scheduled");return t}function nr(n,e){var t=er(n,e);if(t.state>Yt)throw new Error("too late; already running");return t}function er(n,e){var t=n.__transition;if(!t||!(t=t[e]))throw new Error("transition not found");return t}function tr(n,e,t){var r,o=n.__transition;function a(n){t.state=Xt,t.timer.restart(i,t.delay,t.time),t.delay<=n&&i(n-t.delay)}function i(a){var s,_,c,p;if(t.state!==Xt)return l();for(s in o)if(p=o[s],p.name===t.name){if(p.state===Yt)return Gt(i);p.state===Wt?(p.state=$t,p.timer.stop(),p.on.call("interrupt",n,n.__data__,p.index,p.group),delete o[s]):+sqt&&t.state180?e+=360:e-n>180&&(n+=360),a.push({i:t.push(o(t)+"rotate(",null,r)-2,x:mt(n,e)})):e&&t.push(o(t)+"rotate("+e+r)}function u(n,e,t,a){n!==e?a.push({i:t.push(o(t)+"skewX(",null,r)-2,x:mt(n,e)}):e&&t.push(o(t)+"skewX("+e+r)}function l(n,e,t,r,a,i){if(n!==t||e!==r){var u=a.push(o(a)+"scale(",null,",",null,")");i.push({i:u-4,x:mt(n,t)},{i:u-2,x:mt(e,r)})}else 1===t&&1===r||a.push(o(a)+"scale("+t+","+r+")")}return function(e,t){var r=[],o=[];return e=n(e),t=n(t),a(e.translateX,e.translateY,t.translateX,t.translateY,r,o),i(e.rotate,t.rotate,r,o),u(e.skewX,t.skewX,r,o),l(e.scaleX,e.scaleY,t.scaleX,t.scaleY,r,o),e=t=null,function(n){var e,t=-1,a=o.length;while(++t=0&&(n=n.slice(0,e)),!n||"start"===n}))}function Vr(n,e,t){var r,o,a=Kr(e)?Qt:nr;return function(){var i=a(this,n),u=i.on;u!==r&&(o=(r=u).copy()).on(e,t),i.on=o}}var zr=function(n,e){var t=this._id;return arguments.length<2?er(this.node(),t).on.on(n):this.each(Vr(t,n,e))};function Xr(n){return function(){var e=this.parentNode;for(var t in this.__transition)if(+t!==n)return;e&&e.removeChild(this)}}var qr=function(){return this.on("end.remove",Xr(this._id))},Yr=function(n){var e=this._name,t=this._id;"function"!==typeof n&&(n=A(n));for(var r=this._groups,o=r.length,a=new Array(o),i=0;in;function Oo(n,e){n&&Bo.hasOwnProperty(n.type)&&Bo[n.type](n,e)}var Do={Feature:function(n,e){Oo(n.geometry,e)},FeatureCollection:function(n,e){var t=n.features,r=-1,o=t.length;while(++r0){a=n[--o];while(o>0)if(e=a,t=n[--o],a=e+t,r=t-(a-e),r)break;o>0&&(r<0&&n[o-1]<0||r>0&&n[o-1]>0)&&(t=2*r,e=a+t,t==e-a&&(a=e))}return a}}var jo=1e-6,Ho=1e-12,Fo=Math.PI,Go=Fo/2,Ko=Fo/4,Vo=2*Fo,zo=180/Fo,Xo=Fo/180,qo=Math.abs,Yo=Math.atan,Wo=Math.atan2,Zo=Math.cos,$o=(Math.ceil,Math.exp),Jo=(Math.floor,Math.hypot,Math.log),Qo=(Math.pow,Math.sin),na=Math.sign||function(n){return n>0?1:n<0?-1:0},ea=Math.sqrt,ta=Math.tan;function ra(n){return n>1?0:n<-1?Fo:Math.acos(n)}function oa(n){return n>1?Go:n<-1?-Go:Math.asin(n)}function aa(){}var ia,ua,la,sa,_a=new To,ca=new To,pa={point:aa,lineStart:aa,lineEnd:aa,polygonStart:function(){pa.lineStart=fa,pa.lineEnd=ga},polygonEnd:function(){pa.lineStart=pa.lineEnd=pa.point=aa,_a.add(qo(ca)),ca=new To},result:function(){var n=_a/2;return _a=new To,n}};function fa(){pa.point=ma}function ma(n,e){pa.point=da,ia=la=n,ua=sa=e}function da(n,e){ca.add(sa*n-la*e),la=n,sa=e}function ga(){da(ia,ua)}var ha=pa,ba=1/0,va=ba,ya=-ba,wa=ya,ka={point:Ea,lineStart:aa,lineEnd:aa,polygonStart:aa,polygonEnd:aa,result:function(){var n=[[ba,va],[ya,wa]];return ya=wa=-(va=ba=1/0),n}};function Ea(n,e){nya&&(ya=n),ewa&&(wa=e)}var Sa,Aa,Ra,xa,Ma=ka,Na=0,La=0,Ca=0,Oa=0,Da=0,Ba=0,Ua=0,Pa=0,Ia=0,Ta={point:ja,lineStart:Ha,lineEnd:Ka,polygonStart:function(){Ta.lineStart=Va,Ta.lineEnd=za},polygonEnd:function(){Ta.point=ja,Ta.lineStart=Ha,Ta.lineEnd=Ka},result:function(){var n=Ia?[Ua/Ia,Pa/Ia]:Ba?[Oa/Ba,Da/Ba]:Ca?[Na/Ca,La/Ca]:[NaN,NaN];return Na=La=Ca=Oa=Da=Ba=Ua=Pa=Ia=0,n}};function ja(n,e){Na+=n,La+=e,++Ca}function Ha(){Ta.point=Fa}function Fa(n,e){Ta.point=Ga,ja(Ra=n,xa=e)}function Ga(n,e){var t=n-Ra,r=e-xa,o=ea(t*t+r*r);Oa+=o*(Ra+n)/2,Da+=o*(xa+e)/2,Ba+=o,ja(Ra=n,xa=e)}function Ka(){Ta.point=ja}function Va(){Ta.point=Xa}function za(){qa(Sa,Aa)}function Xa(n,e){Ta.point=qa,ja(Sa=Ra=n,Aa=xa=e)}function qa(n,e){var t=n-Ra,r=e-xa,o=ea(t*t+r*r);Oa+=o*(Ra+n)/2,Da+=o*(xa+e)/2,Ba+=o,o=xa*n-Ra*e,Ua+=o*(Ra+n),Pa+=o*(xa+e),Ia+=3*o,ja(Ra=n,xa=e)}var Ya=Ta;function Wa(n){this._context=n}Wa.prototype={_radius:4.5,pointRadius:function(n){return this._radius=n,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(n,e){switch(this._point){case 0:this._context.moveTo(n,e),this._point=1;break;case 1:this._context.lineTo(n,e);break;default:this._context.moveTo(n+this._radius,e),this._context.arc(n,e,this._radius,0,Vo);break}},result:aa};var Za,$a,Ja,Qa,ni,ei=new To,ti={point:aa,lineStart:function(){ti.point=ri},lineEnd:function(){Za&&oi($a,Ja),ti.point=aa},polygonStart:function(){Za=!0},polygonEnd:function(){Za=null},result:function(){var n=+ei;return ei=new To,n}};function ri(n,e){ti.point=oi,$a=Qa=n,Ja=ni=e}function oi(n,e){Qa-=n,ni-=e,ei.add(ea(Qa*Qa+ni*ni)),Qa=n,ni=e}var ai=ti;function ii(){this._string=[]}function ui(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}ii.prototype={_radius:4.5,_circle:ui(4.5),pointRadius:function(n){return(n=+n)!==this._radius&&(this._radius=n,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(n,e){switch(this._point){case 0:this._string.push("M",n,",",e),this._point=1;break;case 1:this._string.push("L",n,",",e);break;default:null==this._circle&&(this._circle=ui(this._radius)),this._string.push("M",n,",",e,this._circle);break}},result:function(){if(this._string.length){var n=this._string.join("");return this._string=[],n}return null}};var li=function(n,e){var t,r,o=4.5;function a(n){return n&&("function"===typeof o&&r.pointRadius(+o.apply(this,arguments)),Io(n,t(r))),r.result()}return a.area=function(n){return Io(n,t(ha)),ha.result()},a.measure=function(n){return Io(n,t(ai)),ai.result()},a.bounds=function(n){return Io(n,t(Ma)),Ma.result()},a.centroid=function(n){return Io(n,t(Ya)),Ya.result()},a.projection=function(e){return arguments.length?(t=null==e?(n=null,Co):(n=e).stream,a):n},a.context=function(n){return arguments.length?(r=null==n?(e=null,new ii):new Wa(e=n),"function"!==typeof o&&r.pointRadius(o),a):e},a.pointRadius=function(n){return arguments.length?(o="function"===typeof n?n:(r.pointRadius(+n),+n),a):o},a.projection(n).context(e)},si=function(n,e){function t(t,r){return t=n(t,r),e(t[0],t[1])}return n.invert&&e.invert&&(t.invert=function(t,r){return t=e.invert(t,r),t&&n.invert(t[0],t[1])}),t};function _i(n,e){return[qo(n)>Fo?n+Math.round(-n/Vo)*Vo:n,e]}function ci(n,e,t){return(n%=Vo)?e||t?si(fi(n),mi(e,t)):fi(n):e||t?mi(e,t):_i}function pi(n){return function(e,t){return e+=n,[e>Fo?e-Vo:e<-Fo?e+Vo:e,t]}}function fi(n){var e=pi(n);return e.invert=pi(-n),e}function mi(n,e){var t=Zo(n),r=Qo(n),o=Zo(e),a=Qo(e);function i(n,e){var i=Zo(e),u=Zo(n)*i,l=Qo(n)*i,s=Qo(e),_=s*t+u*r;return[Wo(l*o-_*a,u*t-s*r),oa(_*o+l*a)]}return i.invert=function(n,e){var i=Zo(e),u=Zo(n)*i,l=Qo(n)*i,s=Qo(e),_=s*o-l*a;return[Wo(l*o+s*a,u*t+_*r),oa(_*t-u*r)]},i}_i.invert=_i;var di=function(n){function e(e){return e=n(e[0]*Xo,e[1]*Xo),e[0]*=zo,e[1]*=zo,e}return n=ci(n[0]*Xo,n[1]*Xo,n.length>2?n[2]*Xo:0),e.invert=function(e){return e=n.invert(e[0]*Xo,e[1]*Xo),e[0]*=zo,e[1]*=zo,e},e},gi=function(){var n,e=[];return{point:function(e,t,r){n.push([e,t,r])},lineStart:function(){e.push(n=[])},lineEnd:aa,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var t=e;return e=[],n=null,t}}},hi=function(n,e){return qo(n[0]-e[0])=0;--a)o.point((_=s[a])[0],_[1]);else r(p.x,p.p.x,-1,o);p=p.p}p=p.o,s=p.z,f=!f}while(!p.v);o.lineEnd()}}};function yi(n){if(e=n.length){var e,t,r=0,o=n[0];while(++r=0?1:-1,R=A*S,x=R>Fo,M=g*k;if(l.add(Wo(M*A*Qo(R),h*E+M*Zo(R))),i+=x?S+A*Vo:S,x^m>=t^y>=t){var N=Si(ki(f),ki(v));xi(N);var L=Si(a,N);xi(L);var C=(x^S>=0?-1:1)*oa(L[2]);(r>C||r===C&&(N[0]||N[1]))&&(u+=x^S>=0?1:-1)}}return(i<-jo||i0){for(c||(o.polygonStart(),c=!0),o.lineStart(),n=0;n1&&2&l&&p.push(p.pop().concat(p.shift())),i.push(p.filter(Di))}return p}};function Di(n){return n.length>1}function Bi(n,e){return((n=n.x)[0]<0?n[1]-Go-jo:Go-n[1])-((e=e.x)[0]<0?e[1]-Go-jo:Go-e[1])}var Ui=Oi((function(){return!0}),Pi,Ti,[-Fo,-Go]);function Pi(n){var e,t=NaN,r=NaN,o=NaN;return{lineStart:function(){n.lineStart(),e=1},point:function(a,i){var u=a>0?Fo:-Fo,l=qo(a-t);qo(l-Fo)0?Go:-Go),n.point(o,r),n.lineEnd(),n.lineStart(),n.point(u,r),n.point(a,r),e=0):o!==u&&l>=Fo&&(qo(t-o)jo?Yo((Qo(e)*(a=Zo(r))*Qo(t)-Qo(r)*(o=Zo(e))*Qo(n))/(o*a*i)):(e+r)/2}function Ti(n,e,t,r){var o;if(null==n)o=t*Go,r.point(-Fo,o),r.point(0,o),r.point(Fo,o),r.point(Fo,0),r.point(Fo,-o),r.point(0,-o),r.point(-Fo,-o),r.point(-Fo,0),r.point(-Fo,o);else if(qo(n[0]-e[0])>jo){var a=n[0]0?oa)&&(o+=r*Vo));for(var s,_=o;r>0?_>a:_0,o=qo(e)>jo;function a(e,r,o,a){ji(a,n,t,o,e,r)}function i(n,t){return Zo(n)*Zo(t)>e}function u(n){var e,t,a,u,_;return{lineStart:function(){u=a=!1,_=1},point:function(c,p){var f,m=[c,p],d=i(c,p),g=r?d?0:s(c,p):d?s(c+(c<0?Fo:-Fo),p):0;if(!e&&(u=a=d)&&n.lineStart(),d!==a&&(f=l(e,m),(!f||hi(e,f)||hi(m,f))&&(m[2]=1)),d!==a)_=0,d?(n.lineStart(),f=l(m,e),n.point(f[0],f[1])):(f=l(e,m),n.point(f[0],f[1],2),n.lineEnd()),e=f;else if(o&&e&&r^d){var h;g&t||!(h=l(m,e,!0))||(_=0,r?(n.lineStart(),n.point(h[0][0],h[0][1]),n.point(h[1][0],h[1][1]),n.lineEnd()):(n.point(h[1][0],h[1][1]),n.lineEnd(),n.lineStart(),n.point(h[0][0],h[0][1],3)))}!d||e&&hi(e,m)||n.point(m[0],m[1]),e=m,a=d,t=g},lineEnd:function(){a&&n.lineEnd(),e=null},clean:function(){return _|(u&&a)<<1}}}function l(n,t,r){var o=ki(n),a=ki(t),i=[1,0,0],u=Si(o,a),l=Ei(u,u),s=u[0],_=l-s*s;if(!_)return!r&&n;var c=e*l/_,p=-e*s/_,f=Si(i,u),m=Ri(i,c),d=Ri(u,p);Ai(m,d);var g=f,h=Ei(m,g),b=Ei(g,g),v=h*h-b*(Ei(m,m)-1);if(!(v<0)){var y=ea(v),w=Ri(g,(-h-y)/b);if(Ai(w,m),w=wi(w),!r)return w;var k,E=n[0],S=t[0],A=n[1],R=t[1];S0^w[1]<(qo(w[0]-E)Fo^(E<=w[0]&&w[0]<=S)){var L=Ri(g,(-h+y)/b);return Ai(L,m),[w,wi(L)]}}}function s(e,t){var o=r?n:Fo-n,a=0;return e<-o?a|=1:e>o&&(a|=2),t<-o?a|=4:t>o&&(a|=8),a}return Oi(i,u,a,r?[0,-n]:[-Fo,n-Fo])},Gi=function(n,e,t,r,o,a){var i,u=n[0],l=n[1],s=e[0],_=e[1],c=0,p=1,f=s-u,m=_-l;if(i=t-u,f||!(i>0)){if(i/=f,f<0){if(i0){if(i>p)return;i>c&&(c=i)}if(i=o-u,f||!(i<0)){if(i/=f,f<0){if(i>p)return;i>c&&(c=i)}else if(f>0){if(i0)){if(i/=m,m<0){if(i0){if(i>p)return;i>c&&(c=i)}if(i=a-l,m||!(i<0)){if(i/=m,m<0){if(i>p)return;i>c&&(c=i)}else if(m>0){if(i0&&(n[0]=u+c*f,n[1]=l+c*m),p<1&&(e[0]=u+p*f,e[1]=l+p*m),!0}}}}},Ki=1e9,Vi=-Ki;function zi(n,e,t,r){function o(o,a){return n<=o&&o<=t&&e<=a&&a<=r}function a(o,a,u,s){var _=0,c=0;if(null==o||(_=i(o,u))!==(c=i(a,u))||l(o,a)<0^u>0)do{s.point(0===_||3===_?n:t,_>1?r:e)}while((_=(_+u+4)%4)!==c);else s.point(a[0],a[1])}function i(r,o){return qo(r[0]-n)0?0:3:qo(r[0]-t)0?2:1:qo(r[1]-e)0?1:0:o>0?3:2}function u(n,e){return l(n.x,e.x)}function l(n,e){var t=i(n,1),r=i(e,1);return t!==r?t-r:0===t?e[1]-n[1]:1===t?n[0]-e[0]:2===t?n[1]-e[1]:e[0]-n[0]}return function(i){var l,s,_,c,p,f,m,d,g,h,b,v=i,y=gi(),w={point:k,lineStart:R,lineEnd:x,polygonStart:S,polygonEnd:A};function k(n,e){o(n,e)&&v.point(n,e)}function E(){for(var e=0,t=0,o=s.length;tr&&(p-a)*(r-i)>(f-i)*(n-a)&&++e:f<=r&&(p-a)*(r-i)<(f-i)*(n-a)&&--e;return e}function S(){v=y,l=[],s=[],b=!0}function A(){var n=E(),e=b&&n,t=(l=Ci(l)).length;(e||t)&&(i.polygonStart(),e&&(i.lineStart(),a(null,null,1,i),i.lineEnd()),t&&vi(l,u,n,a,i),i.polygonEnd()),v=i,l=s=_=null}function R(){w.point=M,s&&s.push(_=[]),h=!0,g=!1,m=d=NaN}function x(){l&&(M(c,p),f&&g&&y.rejoin(),l.push(y.result())),w.point=k,g&&v.lineEnd()}function M(a,i){var u=o(a,i);if(s&&_.push([a,i]),h)c=a,p=i,f=u,h=!1,u&&(v.lineStart(),v.point(a,i));else if(u&&g)v.point(a,i);else{var l=[m=Math.max(Vi,Math.min(Ki,m)),d=Math.max(Vi,Math.min(Ki,d))],y=[a=Math.max(Vi,Math.min(Ki,a)),i=Math.max(Vi,Math.min(Ki,i))];Gi(l,y,n,e,t,r)?(g||(v.lineStart(),v.point(l[0],l[1])),v.point(y[0],y[1]),u||v.lineEnd(),b=!1):u&&(v.lineStart(),v.point(a,i),b=!1)}m=a,d=i,g=u}return w}}function Xi(n){return function(e){var t=new qi;for(var r in n)t[r]=n[r];return t.stream=e,t}}function qi(){}function Yi(n,e,t){var r=n.clipExtent&&n.clipExtent();return n.scale(150).translate([0,0]),null!=r&&n.clipExtent(null),Io(t,n.stream(Ma)),e(Ma.result()),null!=r&&n.clipExtent(r),n}function Wi(n,e,t){return Yi(n,(function(t){var r=e[1][0]-e[0][0],o=e[1][1]-e[0][1],a=Math.min(r/(t[1][0]-t[0][0]),o/(t[1][1]-t[0][1])),i=+e[0][0]+(r-a*(t[1][0]+t[0][0]))/2,u=+e[0][1]+(o-a*(t[1][1]+t[0][1]))/2;n.scale(150*a).translate([i,u])}),t)}function Zi(n,e,t){return Wi(n,[[0,0],e],t)}function $i(n,e,t){return Yi(n,(function(t){var r=+e,o=r/(t[1][0]-t[0][0]),a=(r-o*(t[1][0]+t[0][0]))/2,i=-o*t[0][1];n.scale(150*o).translate([a,i])}),t)}function Ji(n,e,t){return Yi(n,(function(t){var r=+e,o=r/(t[1][1]-t[0][1]),a=-o*t[0][0],i=(r-o*(t[1][1]+t[0][1]))/2;n.scale(150*o).translate([a,i])}),t)}qi.prototype={constructor:qi,point:function(n,e){this.stream.point(n,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Qi=16,nu=Zo(30*Xo),eu=function(n,e){return+e?ru(n,e):tu(n)};function tu(n){return Xi({point:function(e,t){e=n(e,t),this.stream.point(e[0],e[1])}})}function ru(n,e){function t(r,o,a,i,u,l,s,_,c,p,f,m,d,g){var h=s-r,b=_-o,v=h*h+b*b;if(v>4*e&&d--){var y=i+p,w=u+f,k=l+m,E=ea(y*y+w*w+k*k),S=oa(k/=E),A=qo(qo(k)-1)e||qo((h*N+b*L)/v-.5)>.3||i*p+u*f+l*m2?n[2]%360*Xo:0,N()):[g*zo,h*zo,b*zo]},x.angle=function(n){return arguments.length?(v=n%360*Xo,N()):v*zo},x.reflectX=function(n){return arguments.length?(y=n?-1:1,N()):y<0},x.reflectY=function(n){return arguments.length?(w=n?-1:1,N()):w<0},x.precision=function(n){return arguments.length?(i=eu(u,R=n*n),L()):ea(R)},x.fitExtent=function(n,e){return Wi(x,n,e)},x.fitSize=function(n,e){return Zi(x,n,e)},x.fitWidth=function(n,e){return $i(x,n,e)},x.fitHeight=function(n,e){return Ji(x,n,e)},function(){return e=n.apply(this,arguments),x.invert=e.invert&&M,N()}}function _u(n,e){return[n,Jo(ta((Go+e)/2))]}_u.invert=function(n,e){return[n,2*Yo($o(e))-Go]};var cu=function(){return pu(_u).scale(961/Vo)};function pu(n){var e,t,r,o=lu(n),a=o.center,i=o.scale,u=o.translate,l=o.clipExtent,s=null;function _(){var a=Fo*i(),u=o(di(o.rotate()).invert([0,0]));return l(null==s?[[u[0]-a,u[1]-a],[u[0]+a,u[1]+a]]:n===_u?[[Math.max(u[0]-a,s),e],[Math.min(u[0]+a,t),r]]:[[s,Math.max(u[1]-a,e)],[t,Math.min(u[1]+a,r)]])}return o.scale=function(n){return arguments.length?(i(n),_()):i()},o.translate=function(n){return arguments.length?(u(n),_()):u()},o.center=function(n){return arguments.length?(a(n),_()):a()},o.clipExtent=function(n){return arguments.length?(null==n?s=e=t=r=null:(s=+n[0][0],e=+n[0][1],t=+n[1][0],r=+n[1][1]),_()):null==s?null:[[s,e],[t,r]]},_()}var fu=1e-12;function mu(n){return((n=Math.exp(n))+1/n)/2}function du(n){return((n=Math.exp(n))-1/n)/2}function gu(n){return((n=Math.exp(2*n))-1)/(n+1)}(function n(e,t,r){function o(n,o){var a,i,u=n[0],l=n[1],s=n[2],_=o[0],c=o[1],p=o[2],f=_-u,m=c-l,d=f*f+m*m;if(d 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","\n\n\n\n\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"../arrayLikeToArray/_index.mjs\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import arrayLikeToArray from \"../arrayLikeToArray/_index.mjs\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"../arrayWithoutHoles/_index.mjs\";\nimport iterableToArray from \"../iterableToArray/_index.mjs\";\nimport unsupportedIterableToArray from \"../unsupportedIterableToArray/_index.mjs\";\nimport nonIterableSpread from \"../nonIterableSpread/_index.mjs\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n var group = select.apply(this, arguments);\n return group == null ? [] : array(group);\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return this.children;\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport array from \"../array.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = array(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(selection) {\n if (!(selection instanceof Selection)) throw new Error(\"invalid merge\");\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {pointer, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nconst {abs, max, min} = Math;\n\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\n\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function(xy) { return xy == null ? null : number2(xy); },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .on(\"mousedown.brush\", started)\n .filter(touchable)\n .on(\"touchstart.brush\", started)\n .on(\"touchmove.brush\", touchmoved)\n .on(\"touchend.brush touchcancel.brush\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n brush.move = function(group, selection) {\n if (group.tween) {\n group\n .on(\"start.brush\", function(event) { emitter(this, arguments).beforestart().start(event); })\n .on(\"interrupt.brush end.brush\", function(event) { emitter(this, arguments).end(event); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\n };\n\n brush.clear = function(group) {\n brush.move(group, null);\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function(event, mode) {\n if (this.starting) this.starting = false, this.emit(\"start\", event, mode);\n else this.emit(\"brush\", event);\n return this;\n },\n brush: function(event, mode) {\n this.emit(\"brush\", event, mode);\n return this;\n },\n end: function(event, mode) {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n return this;\n },\n emit: function(type, event, mode) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new BrushEvent(type, {\n sourceEvent: event,\n target: brush,\n selection: dim.output(this.state.selection),\n mode,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function started(event) {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n points = Array.from(event.touches || [event], t => {\n const i = t.identifier;\n t = pointer(t, that);\n t.point0 = t.slice();\n t.identifier = i;\n return t;\n });\n\n if (type === \"overlay\") {\n if (selection) moving = true;\n const pts = [points[0], points[1] || points[0]];\n state.selection = selection = [[\n w0 = dim === Y ? W : min(pts[0][0], pts[1][0]),\n n0 = dim === X ? N : min(pts[0][1], pts[1][1])\n ], [\n e0 = dim === Y ? E : max(pts[0][0], pts[1][0]),\n s0 = dim === X ? S : max(pts[0][1], pts[1][1])\n ]];\n if (points.length > 1) move();\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n interrupt(that);\n var emit = emitter(that, arguments, true).beforestart();\n\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n if (keys) view\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n\n dragDisable(event.view);\n }\n\n redraw.call(that);\n emit.start(event, mode.name);\n\n function moved(event) {\n for (const p of event.changedTouches || [event]) {\n for (const d of points)\n if (d.identifier === p.identifier) d.cur = pointer(p, that);\n }\n if (shifting && !lockX && !lockY && points.length === 1) {\n const point = points[0];\n if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1]))\n lockY = true;\n else\n lockX = true;\n }\n for (const point of points)\n if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1];\n moving = true;\n noevent(event);\n move(event);\n }\n\n function move(event) {\n const point = points[0], point0 = point.point0;\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (points[1]) {\n if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n } else {\n if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n }\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush(event, mode.name);\n }\n }\n\n function ended(event) {\n nopropagation(event);\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end(event, mode.name);\n }\n\n function keydowned(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move();\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move();\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n\n function keyupped(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move();\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move();\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n }\n\n function touchmoved(event) {\n emitter(this, arguments).moved(event);\n }\n\n function touchended(event) {\n emitter(this, arguments).ended(event);\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.keyModifiers = function(_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","export default x => x;\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport default function(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","import {Adder} from \"d3-array\";\nimport {abs} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar areaSum = new Adder(),\n areaRingSum = new Adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum = new Adder();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum = new Adder();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","import noop from \"../noop.js\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {sqrt} from \"../math.js\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import {Adder} from \"d3-array\";\nimport {sqrt} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar lengthSum = new Adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum = new Adder();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","export default function PathString() {\n this._string = [];\n}\n\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._string.push(\"Z\");\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._string.push(\"M\", x, \",\", y);\n this._point = 1;\n break;\n }\n case 1: {\n this._string.push(\"L\", x, \",\", y);\n break;\n }\n default: {\n if (this._circle == null) this._circle = circle(this._radius);\n this._string.push(\"M\", x, \",\", y, this._circle);\n break;\n }\n }\n },\n result: function() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius\n + \"z\";\n}\n","import identity from \"../identity.js\";\nimport stream from \"../stream.js\";\nimport pathArea from \"./area.js\";\nimport pathBounds from \"./bounds.js\";\nimport pathCentroid from \"./centroid.js\";\nimport PathContext from \"./context.js\";\nimport pathMeasure from \"./measure.js\";\nimport PathString from \"./string.js\";\n\nexport default function(projection, context) {\n var pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n return arguments.length ? (projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n return path.projection(projection).context(context);\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose.js\";\nimport {abs, asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math.js\";\n\nfunction rotationIdentity(lambda, phi) {\n return [abs(lambda) > pi ? lambda + Math.round(-lambda / tau) * tau : lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n return lambda += deltaLambda, [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import noop from \"../noop.js\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y, m) {\n line.push([x, y, m]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math.js\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual.js\";\nimport {epsilon} from \"../math.js\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n if (pointEqual(p0, p1)) {\n if (!p0[2] && !p1[2]) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n // handle degenerate cases by moving the point\n p1[0] += 2 * epsilon;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math.js\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","import {Adder} from \"d3-array\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, epsilon2, halfPi, pi, quarterPi, sign, sin, tau} from \"./math.js\";\n\nfunction longitude(point) {\n if (abs(point[0]) <= pi)\n return point[0];\n else\n return sign(point[0]) * ((abs(point[0]) + pi) % tau - pi);\n}\n\nexport default function(polygon, point) {\n var lambda = longitude(point),\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n var sum = new Adder();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = longitude(point0),\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = longitude(point1),\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon2) ^ (winding & 1);\n}\n","function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n","import clipBuffer from \"./buffer.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {epsilon, halfPi} from \"../math.js\";\nimport polygonContains from \"../polygonContains.js\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index.js\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math.js\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian.js\";\nimport constant from \"./constant.js\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math.js\";\nimport {rotateRadians} from \"./rotation.js\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(6),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian.js\";\nimport {circleStream} from \"../circle.js\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math.js\";\nimport pointEqual from \"../pointEqual.js\";\nimport clip from \"./index.js\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 6 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2))\n point1[2] = 1;\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1], 2);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1], 3);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {abs, epsilon} from \"../math.js\";\nimport clipBuffer from \"./buffer.js\";\nimport clipLine from \"./line.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream.js\";\nimport boundsStream from \"../path/bounds.js\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math.js\";\nimport {transformer} from \"../transform.js\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian.js\";\nimport clipCircle from \"../clip/circle.js\";\nimport clipRectangle from \"../clip/rectangle.js\";\nimport compose from \"../compose.js\";\nimport identity from \"../identity.js\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math.js\";\nimport {rotateRadians} from \"../rotation.js\";\nimport {transformer} from \"../transform.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\nimport resample from \"./resample.js\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n function transform(x, y) {\n x *= sx; y *= sy;\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k * sx, (dy - y) / k * sy];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n if (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n x *= sx; y *= sy;\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate angle\n sx = 1, // reflectX\n sy = 1, // reflectX\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.reflectX = function(_) {\n return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n };\n\n projection.reflectY = function(_) {\n return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)),\n transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math.js\";\nimport rotation from \"../rotation.js\";\nimport projection from \"./index.js\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n\n return i;\n }\n\n zoom.rho = function(_) {\n var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n})(Math.SQRT2, 2, 4);\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled)\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n currentTarget = event.currentTarget,\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n","import {computed, ref, watch} from 'vue'\nimport useProviders from '@/use/providers'\nimport mapData from '../assets/data/europe.geo.json'\nimport * as d3 from 'd3'\n\n\nconst {locations, originator, target, getLocation} = useProviders()\n\nexport default function useMap(center, statesRef, mapRef) {\n const scale = ref(850)\n const projection = computed(() => {\n return d3.geoMercator().scale(scale.value).center(center)\n })\n const path = ref(d3.geoPath(projection.value))\n const markers = ref([])\n const connections = ref([])\n const _locations = [...locations.value]\n const currentMarker = ref(null)\n const targetLoc = computed(() => {\n if (target.value) {\n return getLocation(target)\n }\n return null\n })\n\n function renderStates() {\n d3.select(statesRef.value)\n .selectAll(\"path\")\n .data(mapData.features)\n .enter()\n .append(\"path\")\n .attr(\"d\", path.value)\n }\n\n function renderProviders() {\n\n let i = _locations.length, d, proj\n\n while (i--) {\n d = _locations[i];\n if (!d.longitude && !d.latitude) {\n // Let's consider this a bad location record\n _locations.splice(i, 1);\n }\n\n proj = projection.value([d.longitude, d.latitude])\n if (proj) {\n d.x = proj[0];\n d.y = proj[1];\n } else {\n _locations.splice(i, 1);\n }\n }\n Array.prototype.pairs = function (func) {\n for (let i = 0; i < this.length - 1; i++) {\n for (let j = i; j < this.length - 1; j++) {\n func([this[i], this[j + 1]]);\n }\n }\n }\n _locations.pairs((pair) => {\n connections.value.push(pair)\n })\n // Pick 10 random connections proportional to number of locations\n connections.value = connections.value\n .sort(() => 0.5 - Math.random())\n .slice(0, Math.ceil((_locations.length % connections.value.length - 1) % 1.2))\n }\n\n function getProviderPoint(provider) {\n if (provider.value) {\n return _locations.find(l => {\n return l.key === provider.value.key\n })\n }\n }\n\n function addMarker(provider) {\n const providerPoint = getProviderPoint(provider)\n\n if (providerPoint) {\n markers.value.push({\n provider: provider.value,\n x: providerPoint.x,\n y: providerPoint.y\n })\n }\n }\n\n function renderConnection(connection) {\n\n let m1 = connection[1],\n m2 = connection[0];\n\n if (!m1 || !m2) {\n return\n }\n\n if (m1.x < m2.x) {\n m1 = connection[0];\n m2 = connection[1];\n }\n\n var dx = m2.x - m1.x,\n dy = m2.y - m1.y,\n dr = Math.sqrt(dx * dx + dy * dy);\n\n return \"M\" + m2.x + \",\" + m2.y + \"A\" + dr + \",\" + dr + \" 0 0,1 \" + m1.x + \",\" + m1.y;\n }\n\n function renderMarkers() {\n markers.value = []\n addMarker(getLocation(originator))\n if (targetLoc.value) {\n addMarker(targetLoc.value)\n }\n }\n\n watch([target], () => renderMarkers())\n\n function markerSet(e, marker, index) {\n if (e) {\n e.preventDefault()\n }\n const m = markers.value[index]\n m.provider = null\n m.current = true\n m.startX = m.x\n m.startY = m.y\n currentMarker.value = m\n document.addEventListener('mousemove', markerDrag)\n document.addEventListener('mouseup', markerStop)\n mapRef.value.addEventListener('mouseleave', markerLeave)\n }\n\n function markerDrag(e) {\n currentMarker.value.provider = targetLoc.value\n let mouse = d3.pointer(e)\n currentMarker.value.x = mouse[0]\n currentMarker.value.y = mouse[1] - 141\n }\n\n function markerLeave() {\n currentMarker.value.x = currentMarker.value.startX;\n currentMarker.value.y = currentMarker.value.startY;\n\n markerStop();\n }\n\n function markerStop() {\n document.removeEventListener('mousemove', markerDrag);\n document.removeEventListener('mouseup', markerStop);\n mapRef.value.removeEventListener('mouseleave', markerLeave);\n\n currentMarker.value.current = false;\n currentMarker.value = null;\n }\n\n\n function render() {\n renderStates()\n renderProviders()\n renderMarkers()\n }\n\n function isOrigin(markerProvider) {\n return markerProvider === getLocation(originator).value\n }\n\n return {\n markers,\n projection: computed(() => projection.value),\n providerConnections: computed(() => connections.value),\n providerPoints: computed(() => _locations),\n render, renderConnection, isOrigin, markerSet\n }\n}\n","import { render } from \"./MeshMap.vue?vue&type=template&id=9d7d0f12\"\nimport script from \"./MeshMap.vue?vue&type=script&lang=js\"\nexport * from \"./MeshMap.vue?vue&type=script&lang=js\"\n\nimport \"./MeshMap.vue?vue&type=style&index=0&id=9d7d0f12&lang=scss\"\nscript.render = render\n\nexport default script","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/chunk-vendors.4e02d2c7.js b/dist/js/chunk-vendors.4e02d2c7.js deleted file mode 100644 index 3c4666d..0000000 --- a/dist/js/chunk-vendors.4e02d2c7.js +++ /dev/null @@ -1,17 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00ee":function(t,e,n){var r=n("b622"),o=r("toStringTag"),i={};i[o]="z",t.exports="[object z]"===String(i)},"0366":function(t,e,n){var r=n("1c0b");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},"057f":function(t,e,n){var r=n("fc6a"),o=n("241c").f,i={}.toString,c="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return o(t)}catch(e){return c.slice()}};t.exports.f=function(t){return c&&"[object Window]"==i.call(t)?a(t):o(r(t))}},"06cf":function(t,e,n){var r=n("83ab"),o=n("d1e7"),i=n("5c6c"),c=n("fc6a"),a=n("c04e"),s=n("5135"),u=n("0cfb"),l=Object.getOwnPropertyDescriptor;e.f=r?l:function(t,e){if(t=c(t),e=a(e,!0),u)try{return l(t,e)}catch(n){}if(s(t,e))return i(!o.f.call(t,e),t[e])}},"0cb2":function(t,e,n){var r=n("7b0b"),o=Math.floor,i="".replace,c=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,a=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,n,s,u,l){var f=n+t.length,p=s.length,d=a;return void 0!==u&&(u=r(u),d=c),i.call(l,d,(function(r,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,n);case"'":return e.slice(f);case"<":c=u[i.slice(1,-1)];break;default:var a=+i;if(0===a)return r;if(a>p){var l=o(a/10);return 0===l?r:l<=p?void 0===s[l-1]?i.charAt(1):s[l-1]+i.charAt(1):r}c=s[a-1]}return void 0===c?"":c}))}},"0cfb":function(t,e,n){var r=n("83ab"),o=n("d039"),i=n("cc12");t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},"0d3b":function(t,e,n){var r=n("d039"),o=n("b622"),i=n("c430"),c=o("iterator");t.exports=!r((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),e=t.searchParams,n="";return t.pathname="c%20d",e.forEach((function(t,r){e["delete"]("b"),n+=r+t})),i&&!t.toJSON||!e.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[c]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},"129f":function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},"14c3":function(t,e,n){var r=n("c6b6"),o=n("9263");t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var i=n.call(t,e);if("object"!==typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"1be4":function(t,e,n){var r=n("d066");t.exports=r("document","documentElement")},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(t,e,n){var r=n("b622"),o=r("iterator"),i=!1;try{var c=0,a={next:function(){return{done:!!c++}},return:function(){i=!0}};a[o]=function(){return this},Array.from(a,(function(){throw 2}))}catch(s){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(s){}return n}},"1cdc":function(t,e,n){var r=n("342f");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},"1d80":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"1dde":function(t,e,n){var r=n("d039"),o=n("b622"),i=n("2d00"),c=o("species");t.exports=function(t){return i>=51||!r((function(){var e=[],n=e.constructor={};return n[c]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},2266:function(t,e,n){var r=n("825a"),o=n("e95a"),i=n("50c4"),c=n("0366"),a=n("35a1"),s=n("2a62"),u=function(t,e){this.stopped=t,this.result=e};t.exports=function(t,e,n){var l,f,p,d,h,v,b,m=n&&n.that,g=!(!n||!n.AS_ENTRIES),y=!(!n||!n.IS_ITERATOR),w=!(!n||!n.INTERRUPTED),O=c(e,m,1+g+w),j=function(t){return l&&s(l),new u(!0,t)},x=function(t){return g?(r(t),w?O(t[0],t[1],j):O(t[0],t[1])):w?O(t,j):O(t)};if(y)l=t;else{if(f=a(t),"function"!=typeof f)throw TypeError("Target is not iterable");if(o(f)){for(p=0,d=i(t.length);d>p;p++)if(h=x(t[p]),h&&h instanceof u)return h;return new u(!1)}l=f.call(t)}v=l.next;while(!(b=v.call(l)).done){try{h=x(b.value)}catch(_){throw s(l),_}if("object"==typeof h&&h&&h instanceof u)return h}return new u(!1)}},"23cb":function(t,e,n){var r=n("a691"),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},"23e7":function(t,e,n){var r=n("da84"),o=n("06cf").f,i=n("9112"),c=n("6eeb"),a=n("ce4e"),s=n("e893"),u=n("94ca");t.exports=function(t,e){var n,l,f,p,d,h,v=t.target,b=t.global,m=t.stat;if(l=b?r:m?r[v]||a(v,{}):(r[v]||{}).prototype,l)for(f in e){if(d=e[f],t.noTargetGet?(h=o(l,f),p=h&&h.value):p=l[f],n=u(b?f:v+(m?".":"#")+f,t.forced),!n&&void 0!==p){if(typeof d===typeof p)continue;s(d,p)}(t.sham||p&&p.sham)&&i(d,"sham",!0),c(l,f,d,t)}}},"241c":function(t,e,n){var r=n("ca84"),o=n("7839"),i=o.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"25f0":function(t,e,n){"use strict";var r=n("6eeb"),o=n("825a"),i=n("d039"),c=n("ad6d"),a="toString",s=RegExp.prototype,u=s[a],l=i((function(){return"/a/b"!=u.call({source:"a",flags:"b"})})),f=u.name!=a;(l||f)&&r(RegExp.prototype,a,(function(){var t=o(this),e=String(t.source),n=t.flags,r=String(void 0===n&&t instanceof RegExp&&!("flags"in s)?c.call(t):n);return"/"+e+"/"+r}),{unsafe:!0})},2626:function(t,e,n){"use strict";var r=n("d066"),o=n("9bf2"),i=n("b622"),c=n("83ab"),a=i("species");t.exports=function(t){var e=r(t),n=o.f;c&&e&&!e[a]&&n(e,a,{configurable:!0,get:function(){return this}})}},"2a62":function(t,e,n){var r=n("825a");t.exports=function(t){var e=t["return"];if(void 0!==e)return r(e.call(t)).value}},"2b3d":function(t,e,n){"use strict";n("3ca3");var r,o=n("23e7"),i=n("83ab"),c=n("0d3b"),a=n("da84"),s=n("37e8"),u=n("6eeb"),l=n("19aa"),f=n("5135"),p=n("60da"),d=n("4df4"),h=n("6547").codeAt,v=n("5fb2"),b=n("d44e"),m=n("9861"),g=n("69f3"),y=a.URL,w=m.URLSearchParams,O=m.getState,j=g.set,x=g.getterFor("URL"),_=Math.floor,S=Math.pow,k="Invalid authority",E="Invalid scheme",A="Invalid host",C="Invalid port",P=/[A-Za-z]/,L=/[\d+-.A-Za-z]/,T=/\d/,I=/^(0x|0X)/,R=/^[0-7]+$/,M=/^\d+$/,F=/^[\dA-Fa-f]+$/,N=/[\u0000\t\u000A\u000D #%/:?@[\\]]/,z=/[\u0000\t\u000A\u000D #/:?@[\\]]/,U=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,B=/[\t\u000A\u000D]/g,D=function(t,e){var n,r,o;if("["==e.charAt(0)){if("]"!=e.charAt(e.length-1))return A;if(n=$(e.slice(1,-1)),!n)return A;t.host=n}else if(Z(t)){if(e=v(e),N.test(e))return A;if(n=V(e),null===n)return A;t.host=n}else{if(z.test(e))return A;for(n="",r=d(e),o=0;o4)return t;for(n=[],r=0;r1&&"0"==o.charAt(0)&&(i=I.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)c=0;else{if(!(10==i?M:8==i?R:F).test(o))return t;c=parseInt(o,i)}n.push(c)}for(r=0;r=S(256,5-e))return null}else if(c>255)return null;for(a=n.pop(),r=0;r6)return;r=0;while(p()){if(o=null,r>0){if(!("."==p()&&r<4))return;f++}if(!T.test(p()))return;while(T.test(p())){if(i=parseInt(p(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;f++}s[u]=256*s[u]+o,r++,2!=r&&4!=r||u++}if(4!=r)return;break}if(":"==p()){if(f++,!p())return}else if(p())return;s[u++]=e}else{if(null!==l)return;f++,u++,l=u}}if(null!==l){c=u-l,u=7;while(0!=u&&c>0)a=s[u],s[u--]=s[l+c-1],s[l+--c]=a}else if(8!=u)return;return s},q=function(t){for(var e=null,n=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>n&&(e=r,n=o),r=null,o=0):(null===r&&(r=i),++o);return o>n&&(e=r,n=o),e},H=function(t){var e,n,r,o;if("number"==typeof t){for(e=[],n=0;n<4;n++)e.unshift(t%256),t=_(t/256);return e.join(".")}if("object"==typeof t){for(e="",r=q(t),n=0;n<8;n++)o&&0===t[n]||(o&&(o=!1),r===n?(e+=n?":":"::",o=!0):(e+=t[n].toString(16),n<7&&(e+=":")));return"["+e+"]"}return t},W={},G=p({},W,{" ":1,'"':1,"<":1,">":1,"`":1}),K=p({},G,{"#":1,"?":1,"{":1,"}":1}),Y=p({},K,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),X=function(t,e){var n=h(t,0);return n>32&&n<127&&!f(e,t)?t:encodeURIComponent(t)},J={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Z=function(t){return f(J,t.scheme)},Q=function(t){return""!=t.username||""!=t.password},tt=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},et=function(t,e){var n;return 2==t.length&&P.test(t.charAt(0))&&(":"==(n=t.charAt(1))||!e&&"|"==n)},nt=function(t){var e;return t.length>1&&et(t.slice(0,2))&&(2==t.length||"/"===(e=t.charAt(2))||"\\"===e||"?"===e||"#"===e)},rt=function(t){var e=t.path,n=e.length;!n||"file"==t.scheme&&1==n&&et(e[0],!0)||e.pop()},ot=function(t){return"."===t||"%2e"===t.toLowerCase()},it=function(t){return t=t.toLowerCase(),".."===t||"%2e."===t||".%2e"===t||"%2e%2e"===t},ct={},at={},st={},ut={},lt={},ft={},pt={},dt={},ht={},vt={},bt={},mt={},gt={},yt={},wt={},Ot={},jt={},xt={},_t={},St={},kt={},Et=function(t,e,n,o){var i,c,a,s,u=n||ct,l=0,p="",h=!1,v=!1,b=!1;n||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,e=e.replace(U,"")),e=e.replace(B,""),i=d(e);while(l<=i.length){switch(c=i[l],u){case ct:if(!c||!P.test(c)){if(n)return E;u=st;continue}p+=c.toLowerCase(),u=at;break;case at:if(c&&(L.test(c)||"+"==c||"-"==c||"."==c))p+=c.toLowerCase();else{if(":"!=c){if(n)return E;p="",u=st,l=0;continue}if(n&&(Z(t)!=f(J,p)||"file"==p&&(Q(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=p,n)return void(Z(t)&&J[t.scheme]==t.port&&(t.port=null));p="","file"==t.scheme?u=yt:Z(t)&&o&&o.scheme==t.scheme?u=ut:Z(t)?u=dt:"/"==i[l+1]?(u=lt,l++):(t.cannotBeABaseURL=!0,t.path.push(""),u=_t)}break;case st:if(!o||o.cannotBeABaseURL&&"#"!=c)return E;if(o.cannotBeABaseURL&&"#"==c){t.scheme=o.scheme,t.path=o.path.slice(),t.query=o.query,t.fragment="",t.cannotBeABaseURL=!0,u=kt;break}u="file"==o.scheme?yt:ft;continue;case ut:if("/"!=c||"/"!=i[l+1]){u=ft;continue}u=ht,l++;break;case lt:if("/"==c){u=vt;break}u=xt;continue;case ft:if(t.scheme=o.scheme,c==r)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query;else if("/"==c||"\\"==c&&Z(t))u=pt;else if("?"==c)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query="",u=St;else{if("#"!=c){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.path.pop(),u=xt;continue}t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query,t.fragment="",u=kt}break;case pt:if(!Z(t)||"/"!=c&&"\\"!=c){if("/"!=c){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,u=xt;continue}u=vt}else u=ht;break;case dt:if(u=ht,"/"!=c||"/"!=p.charAt(l+1))continue;l++;break;case ht:if("/"!=c&&"\\"!=c){u=vt;continue}break;case vt:if("@"==c){h&&(p="%40"+p),h=!0,a=d(p);for(var m=0;m65535)return C;t.port=Z(t)&&w===J[t.scheme]?null:w,p=""}if(n)return;u=jt;continue}return C}p+=c;break;case yt:if(t.scheme="file","/"==c||"\\"==c)u=wt;else{if(!o||"file"!=o.scheme){u=xt;continue}if(c==r)t.host=o.host,t.path=o.path.slice(),t.query=o.query;else if("?"==c)t.host=o.host,t.path=o.path.slice(),t.query="",u=St;else{if("#"!=c){nt(i.slice(l).join(""))||(t.host=o.host,t.path=o.path.slice(),rt(t)),u=xt;continue}t.host=o.host,t.path=o.path.slice(),t.query=o.query,t.fragment="",u=kt}}break;case wt:if("/"==c||"\\"==c){u=Ot;break}o&&"file"==o.scheme&&!nt(i.slice(l).join(""))&&(et(o.path[0],!0)?t.path.push(o.path[0]):t.host=o.host),u=xt;continue;case Ot:if(c==r||"/"==c||"\\"==c||"?"==c||"#"==c){if(!n&&et(p))u=xt;else if(""==p){if(t.host="",n)return;u=jt}else{if(s=D(t,p),s)return s;if("localhost"==t.host&&(t.host=""),n)return;p="",u=jt}continue}p+=c;break;case jt:if(Z(t)){if(u=xt,"/"!=c&&"\\"!=c)continue}else if(n||"?"!=c)if(n||"#"!=c){if(c!=r&&(u=xt,"/"!=c))continue}else t.fragment="",u=kt;else t.query="",u=St;break;case xt:if(c==r||"/"==c||"\\"==c&&Z(t)||!n&&("?"==c||"#"==c)){if(it(p)?(rt(t),"/"==c||"\\"==c&&Z(t)||t.path.push("")):ot(p)?"/"==c||"\\"==c&&Z(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&et(p)&&(t.host&&(t.host=""),p=p.charAt(0)+":"),t.path.push(p)),p="","file"==t.scheme&&(c==r||"?"==c||"#"==c))while(t.path.length>1&&""===t.path[0])t.path.shift();"?"==c?(t.query="",u=St):"#"==c&&(t.fragment="",u=kt)}else p+=X(c,K);break;case _t:"?"==c?(t.query="",u=St):"#"==c?(t.fragment="",u=kt):c!=r&&(t.path[0]+=X(c,W));break;case St:n||"#"!=c?c!=r&&("'"==c&&Z(t)?t.query+="%27":t.query+="#"==c?"%23":X(c,W)):(t.fragment="",u=kt);break;case kt:c!=r&&(t.fragment+=X(c,G));break}l++}},At=function(t){var e,n,r=l(this,At,"URL"),o=arguments.length>1?arguments[1]:void 0,c=String(t),a=j(r,{type:"URL"});if(void 0!==o)if(o instanceof At)e=x(o);else if(n=Et(e={},String(o)),n)throw TypeError(n);if(n=Et(a,c,null,e),n)throw TypeError(n);var s=a.searchParams=new w,u=O(s);u.updateSearchParams(a.query),u.updateURL=function(){a.query=String(s)||null},i||(r.href=Pt.call(r),r.origin=Lt.call(r),r.protocol=Tt.call(r),r.username=It.call(r),r.password=Rt.call(r),r.host=Mt.call(r),r.hostname=Ft.call(r),r.port=Nt.call(r),r.pathname=zt.call(r),r.search=Ut.call(r),r.searchParams=Bt.call(r),r.hash=Dt.call(r))},Ct=At.prototype,Pt=function(){var t=x(this),e=t.scheme,n=t.username,r=t.password,o=t.host,i=t.port,c=t.path,a=t.query,s=t.fragment,u=e+":";return null!==o?(u+="//",Q(t)&&(u+=n+(r?":"+r:"")+"@"),u+=H(o),null!==i&&(u+=":"+i)):"file"==e&&(u+="//"),u+=t.cannotBeABaseURL?c[0]:c.length?"/"+c.join("/"):"",null!==a&&(u+="?"+a),null!==s&&(u+="#"+s),u},Lt=function(){var t=x(this),e=t.scheme,n=t.port;if("blob"==e)try{return new URL(e.path[0]).origin}catch(r){return"null"}return"file"!=e&&Z(t)?e+"://"+H(t.host)+(null!==n?":"+n:""):"null"},Tt=function(){return x(this).scheme+":"},It=function(){return x(this).username},Rt=function(){return x(this).password},Mt=function(){var t=x(this),e=t.host,n=t.port;return null===e?"":null===n?H(e):H(e)+":"+n},Ft=function(){var t=x(this).host;return null===t?"":H(t)},Nt=function(){var t=x(this).port;return null===t?"":String(t)},zt=function(){var t=x(this),e=t.path;return t.cannotBeABaseURL?e[0]:e.length?"/"+e.join("/"):""},Ut=function(){var t=x(this).query;return t?"?"+t:""},Bt=function(){return x(this).searchParams},Dt=function(){var t=x(this).fragment;return t?"#"+t:""},Vt=function(t,e){return{get:t,set:e,configurable:!0,enumerable:!0}};if(i&&s(Ct,{href:Vt(Pt,(function(t){var e=x(this),n=String(t),r=Et(e,n);if(r)throw TypeError(r);O(e.searchParams).updateSearchParams(e.query)})),origin:Vt(Lt),protocol:Vt(Tt,(function(t){var e=x(this);Et(e,String(t)+":",ct)})),username:Vt(It,(function(t){var e=x(this),n=d(String(t));if(!tt(e)){e.username="";for(var r=0;rn)e.push(arguments[n++]);return w[++y]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(y),y},v=function(t){delete w[t]},p?r=function(t){b.nextTick(x(t))}:g&&g.now?r=function(t){g.now(x(t))}:m&&!f?(o=new m,i=o.port2,o.port1.onmessage=_,r=s(i.postMessage,i,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts&&d&&"file:"!==d.protocol&&!a(S)?(r=S,c.addEventListener("message",_,!1)):r=O in l("script")?function(t){u.appendChild(l("script"))[O]=function(){u.removeChild(this),j(t)}}:function(t){setTimeout(x(t),0)}),t.exports={set:h,clear:v}},"2d00":function(t,e,n){var r,o,i=n("da84"),c=n("342f"),a=i.process,s=a&&a.versions,u=s&&s.v8;u?(r=u.split("."),o=r[0]+r[1]):c&&(r=c.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=c.match(/Chrome\/(\d+)/),r&&(o=r[1]))),t.exports=o&&+o},"342f":function(t,e,n){var r=n("d066");t.exports=r("navigator","userAgent")||""},"35a1":function(t,e,n){var r=n("f5df"),o=n("3f8c"),i=n("b622"),c=i("iterator");t.exports=function(t){if(void 0!=t)return t[c]||t["@@iterator"]||o[r(t)]}},"37e8":function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("825a"),c=n("df75");t.exports=r?Object.defineProperties:function(t,e){i(t);var n,r=c(e),a=r.length,s=0;while(a>s)o.f(t,n=r[s++],e[n]);return t}},"3bbe":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3ca3":function(t,e,n){"use strict";var r=n("6547").charAt,o=n("69f3"),i=n("7dd0"),c="String Iterator",a=o.set,s=o.getterFor(c);i(String,"String",(function(t){a(this,{type:c,string:String(t),index:0})}),(function(){var t,e=s(this),n=e.string,o=e.index;return o>=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},"3f8c":function(t,e){t.exports={}},"428f":function(t,e,n){var r=n("da84");t.exports=r},"44ad":function(t,e,n){var r=n("d039"),o=n("c6b6"),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},"44d2":function(t,e,n){var r=n("b622"),o=n("7c73"),i=n("9bf2"),c=r("unscopables"),a=Array.prototype;void 0==a[c]&&i.f(a,c,{configurable:!0,value:o(null)}),t.exports=function(t){a[c][t]=!0}},"44de":function(t,e,n){var r=n("da84");t.exports=function(t,e){var n=r.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},4840:function(t,e,n){var r=n("825a"),o=n("1c0b"),i=n("b622"),c=i("species");t.exports=function(t,e){var n,i=r(t).constructor;return void 0===i||void 0==(n=r(i)[c])?e:o(n)}},4930:function(t,e,n){var r=n("605d"),o=n("2d00"),i=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!i((function(){return!Symbol.sham&&(r?38===o:o>37&&o<41)}))},"4d64":function(t,e,n){var r=n("fc6a"),o=n("50c4"),i=n("23cb"),c=function(t){return function(e,n,c){var a,s=r(e),u=o(s.length),l=i(c,u);if(t&&n!=n){while(u>l)if(a=s[l++],a!=a)return!0}else for(;u>l;l++)if((t||l in s)&&s[l]===n)return t||l||0;return!t&&-1}};t.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").filter,i=n("1dde"),c=i("filter");r({target:"Array",proto:!0,forced:!c},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(t,e,n){"use strict";var r=n("0366"),o=n("7b0b"),i=n("9bdd"),c=n("e95a"),a=n("50c4"),s=n("8418"),u=n("35a1");t.exports=function(t){var e,n,l,f,p,d,h=o(t),v="function"==typeof this?this:Array,b=arguments.length,m=b>1?arguments[1]:void 0,g=void 0!==m,y=u(h),w=0;if(g&&(m=r(m,b>2?arguments[2]:void 0,2)),void 0==y||v==Array&&c(y))for(e=a(h.length),n=new v(e);e>w;w++)d=g?m(h[w],w):h[w],s(n,w,d);else for(f=y.call(h),p=f.next,n=new v;!(l=p.call(f)).done;w++)d=g?i(f,m,[l.value,w],!0):l.value,s(n,w,d);return n.length=w,n}},"50c4":function(t,e,n){var r=n("a691"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},5135:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},5319:function(t,e,n){"use strict";var r=n("d784"),o=n("825a"),i=n("50c4"),c=n("a691"),a=n("1d80"),s=n("8aa5"),u=n("0cb2"),l=n("14c3"),f=Math.max,p=Math.min,d=function(t){return void 0===t?t:String(t)};r("replace",2,(function(t,e,n,r){var h=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,v=r.REPLACE_KEEPS_$0,b=h?"$":"$0";return[function(n,r){var o=a(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,r){if(!h&&v||"string"===typeof r&&-1===r.indexOf(b)){var a=n(e,t,this,r);if(a.done)return a.value}var m=o(t),g=String(this),y="function"===typeof r;y||(r=String(r));var w=m.global;if(w){var O=m.unicode;m.lastIndex=0}var j=[];while(1){var x=l(m,g);if(null===x)break;if(j.push(x),!w)break;var _=String(x[0]);""===_&&(m.lastIndex=s(g,i(m.lastIndex),O))}for(var S="",k=0,E=0;E=k&&(S+=g.slice(k,C)+R,k=C+A.length)}return S+g.slice(k)}]}))},5692:function(t,e,n){var r=n("c430"),o=n("c6cd");(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.9.1",mode:r?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},"56ef":function(t,e,n){var r=n("d066"),o=n("241c"),i=n("7418"),c=n("825a");t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(c(t)),n=i.f;return n?e.concat(n(t)):e}},5899:function(t,e){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},"58a8":function(t,e,n){var r=n("1d80"),o=n("5899"),i="["+o+"]",c=RegExp("^"+i+i+"*"),a=RegExp(i+i+"*$"),s=function(t){return function(e){var n=String(r(e));return 1&t&&(n=n.replace(c,"")),2&t&&(n=n.replace(a,"")),n}};t.exports={start:s(1),end:s(2),trim:s(3)}},"5c40":function(t,e,n){"use strict";n.d(e,"a",(function(){return Bt})),n.d(e,"b",(function(){return Be})),n.d(e,"c",(function(){return Yt})),n.d(e,"d",(function(){return d})),n.d(e,"e",(function(){return Yn})),n.d(e,"f",(function(){return Ye})),n.d(e,"g",(function(){return cn})),n.d(e,"h",(function(){return Ae})),n.d(e,"i",(function(){return Ee})),n.d(e,"j",(function(){return on})),n.d(e,"k",(function(){return en})),n.d(e,"l",(function(){return je})),n.d(e,"m",(function(){return we})),n.d(e,"n",(function(){return Tn})),n.d(e,"o",(function(){return Wt})),n.d(e,"p",(function(){return Xn})),n.d(e,"q",(function(){return Jn})),n.d(e,"r",(function(){return pn})),n.d(e,"s",(function(){return Bn})),n.d(e,"t",(function(){return Jt})),n.d(e,"u",(function(){return kt})),n.d(e,"v",(function(){return _t})),n.d(e,"w",(function(){return Zt})),n.d(e,"x",(function(){return xt})),n.d(e,"y",(function(){return Et})),n.d(e,"z",(function(){return St})),n.d(e,"A",(function(){return We})),n.d(e,"B",(function(){return ut})),n.d(e,"C",(function(){return fn})),n.d(e,"D",(function(){return st})),n.d(e,"F",(function(){return Zn})),n.d(e,"G",(function(){return Fe})),n.d(e,"H",(function(){return Vt})),n.d(e,"I",(function(){return Ht})),n.d(e,"K",(function(){return Nt})),n.d(e,"L",(function(){return c})),n.d(e,"M",(function(){return It})),n.d(e,"N",(function(){return Lt})),n.d(e,"O",(function(){return it})),n.d(e,"P",(function(){return le})),n.d(e,"Q",(function(){return lt}));var r=n("a1e9");n.d(e,"E",(function(){return r["l"]}));var o=n("9ff4");n.d(e,"J",(function(){return o["I"]}));const i=[];function c(t,...e){Object(r["h"])();const n=i.length?i[i.length-1].component:null,o=n&&n.appContext.config.warnHandler,c=a();if(o)p(o,n,11,[t+e.join(""),n&&n.proxy,c.map(({vnode:t})=>`at <${Gn(n,t.type)}>`).join("\n"),c]);else{const n=["[Vue warn]: "+t,...e];c.length&&n.push("\n",...s(c)),console.warn(...n)}Object(r["m"])()}function a(){let t=i[i.length-1];if(!t)return[];const e=[];while(t){const n=e[0];n&&n.vnode===t?n.recurseCount++:e.push({vnode:t,recurseCount:0});const r=t.component&&t.component.parent;t=r&&r.vnode}return e}function s(t){const e=[];return t.forEach((t,n)=>{e.push(...0===n?[]:["\n"],...u(t))}),e}function u({vnode:t,recurseCount:e}){const n=e>0?`... (${e} recursive calls)`:"",r=!!t.component&&null==t.component.parent,o=" at <"+Gn(t.component,t.type,r),i=">"+n;return t.props?[o,...l(t.props),i]:[o+i]}function l(t){const e=[],n=Object.keys(t);return n.slice(0,3).forEach(n=>{e.push(...f(n,t[n]))}),n.length>3&&e.push(" ..."),e}function f(t,e,n){return Object(o["A"])(e)?(e=JSON.stringify(e),n?e:[`${t}=${e}`]):"number"===typeof e||"boolean"===typeof e||null==e?n?e:[`${t}=${e}`]:Object(r["g"])(e)?(e=f(t,Object(r["p"])(e.value),!0),n?e:[t+"=Ref<",e,">"]):Object(o["n"])(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=Object(r["p"])(e),n?e:[t+"=",e])}function p(t,e,n,r){let o;try{o=r?t(...r):t()}catch(i){h(i,e,n)}return o}function d(t,e,n,r){if(Object(o["n"])(t)){const i=p(t,e,n,r);return i&&Object(o["v"])(i)&&i.catch(t=>{h(t,e,n)}),i}const i=[];for(let o=0;o>>1,o=U(g[t]);o-1?g.splice(e,0,t):g.push(t),T()}}function T(){b||m||(m=!0,E=k.then(B))}function I(t){const e=g.indexOf(t);e>-1&&g.splice(e,1)}function R(t,e,n,r){Object(o["m"])(t)?n.push(...t):e&&e.includes(t,t.allowRecurse?r+1:r)||n.push(t),T()}function M(t){R(t,O,w,j)}function F(t){R(t,_,x,S)}function N(t,e=null){if(w.length){for(A=e,O=[...new Set(w)],w.length=0,j=0;jU(t)-U(e)),S=0;S<_.length;S++)_[S]();_=null,S=0}}const U=t=>null==t.id?1/0:t.id;function B(t){m=!1,b=!0,N(t),g.sort((t,e)=>U(t)-U(e));try{for(y=0;yt.trim()):e&&(i=n.map(o["K"]))}let s=Object(o["J"])(Object(o["e"])(e)),u=r[s];!u&&c&&(s=Object(o["J"])(Object(o["k"])(e)),u=r[s]),u&&d(u,t,6,i);const l=r[s+"Once"];if(l){if(t.emitted){if(t.emitted[s])return}else(t.emitted={})[s]=!0;d(l,t,6,i)}}function V(t,e,n=!1){if(!e.deopt&&void 0!==t.__emits)return t.__emits;const r=t.emits;let i={},c=!1;if(!Object(o["n"])(t)){const r=t=>{c=!0,Object(o["h"])(i,V(t,e,!0))};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}return r||c?(Object(o["m"])(r)?r.forEach(t=>i[t]=null):Object(o["h"])(i,r),t.__emits=i):t.__emits=null}function $(t,e){return!(!t||!Object(o["u"])(e))&&(e=e.slice(2).replace(/Once$/,""),Object(o["j"])(t,e[0].toLowerCase()+e.slice(1))||Object(o["j"])(t,Object(o["k"])(e))||Object(o["j"])(t,e))}let q=null;function H(t){q=t}function W(t){const{type:e,vnode:n,proxy:r,withProxy:i,props:c,propsOptions:[a],slots:s,attrs:u,emit:l,render:f,renderCache:p,data:d,setupState:v,ctx:b}=t;let m;q=t;try{let t;if(4&n.shapeFlag){const e=i||r;m=an(f.call(e,e,p,c,v,d,b)),t=u}else{const n=e;0,m=an(n.length>1?n(c,{attrs:u,slots:s,emit:l}):n(c,null)),t=e.props?u:K(u)}let h=m;if(!1!==e.inheritAttrs&&t){const e=Object.keys(t),{shapeFlag:n}=h;e.length&&(1&n||6&n)&&(a&&e.some(o["s"])&&(t=Y(t,a)),h=rn(h,t))}n.dirs&&(h.dirs=h.dirs?h.dirs.concat(n.dirs):n.dirs),n.transition&&(h.transition=n.transition),m=h}catch(g){h(g,t,1),m=en(Ve)}return q=null,m}function G(t){let e;for(let n=0;n{let e;for(const n in t)("class"===n||"style"===n||Object(o["u"])(n))&&((e||(e={}))[n]=t[n]);return e},Y=(t,e)=>{const n={};for(const r in t)Object(o["s"])(r)&&r.slice(9)in e||(n[r]=t[r]);return n};function X(t,e,n){const{props:r,children:o,component:i}=t,{props:c,children:a,patchFlag:s}=e,u=i.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&s>=0))return!(!o&&!a||a&&a.$stable)||r!==c&&(r?!c||J(r,c,u):!!c);if(1024&s)return!0;if(16&s)return r?J(r,c,u):!!c;if(8&s){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function tt(t){const{shapeFlag:e,children:n}=t;let r,o;return 32&e?(r=et(n.default),o=et(n.fallback)):(r=et(n),o=an(null)),{content:r,fallback:o}}function et(t){if(Object(o["n"])(t)&&(t=t()),Object(o["m"])(t)){const e=G(t);0,t=e}return an(t)}function nt(t,e){e&&e.pendingBranch?Object(o["m"])(t)?e.effects.push(...t):e.effects.push(t):F(t)}let rt=0;const ot=t=>rt+=t;function it(t,e=q){if(!e)return t;const n=(...n)=>{rt||We(!0);const r=q;H(e);const o=t(...n);return H(r),rt||Ge(),o};return n._c=!0,n}let ct=null;const at=[];function st(t){at.push(ct=t)}function ut(){at.pop(),ct=at[at.length-1]||null}function lt(t){return e=>it((function(){st(t);const n=e.apply(this,arguments);return ut(),n}))}function ft(t,e,n,i=!1){const c={},a={};Object(o["g"])(a,Ze,1),dt(t,e,c,a),n?t.props=i?c:Object(r["n"])(c):t.type.props?t.props=c:t.props=a,t.attrs=a}function pt(t,e,n,i){const{props:c,attrs:a,vnode:{patchFlag:s}}=t,u=Object(r["p"])(c),[l]=t.propsOptions;if(!(i||s>0)||16&s){let r;dt(t,e,c,a);for(const i in u)e&&(Object(o["j"])(e,i)||(r=Object(o["k"])(i))!==i&&Object(o["j"])(e,r))||(l?!n||void 0===n[i]&&void 0===n[r]||(c[i]=ht(l,e||o["b"],i,void 0,t)):delete c[i]);if(a!==u)for(const t in a)e&&Object(o["j"])(e,t)||delete a[t]}else if(8&s){const n=t.vnode.dynamicProps;for(let r=0;r{a=!0;const[n,r]=vt(t,e,!0);Object(o["h"])(i,n),r&&c.push(...r)};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}if(!r&&!a)return t.__props=o["a"];if(Object(o["m"])(r))for(let s=0;s-1,a[1]=n<0||t-1||Object(o["j"])(a,"default"))&&c.push(e)}}}}return t.__props=[i,c]}function bt(t){return"$"!==t[0]}function mt(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:""}function gt(t,e){return mt(t)===mt(e)}function yt(t,e){if(Object(o["m"])(e)){for(let n=0,r=e.length;n{if(n.isUnmounted)return;Object(r["h"])(),In(n);const i=d(e,n,t,o);return In(null),Object(r["m"])(),i});return o?i.unshift(c):i.push(c),c}}const Ot=t=>(e,n=Ln)=>!Fn&&wt(t,e,n),jt=Ot("bm"),xt=Ot("m"),_t=Ot("bu"),St=Ot("u"),kt=Ot("bum"),Et=Ot("um"),At=Ot("rtg"),Ct=Ot("rtc"),Pt=(t,e=Ln)=>{wt("ec",t,e)};function Lt(t,e){return Rt(t,null,e)}const Tt={};function It(t,e,n){return Rt(t,e,n)}function Rt(t,e,{immediate:n,deep:i,flush:c,onTrack:a,onTrigger:s}=o["b"],u=Ln){let l,f,h=!1;if(Object(r["g"])(t)?(l=()=>t.value,h=!!t._shallow):Object(r["e"])(t)?(l=()=>t,i=!0):l=Object(o["m"])(t)?()=>t.map(t=>Object(r["g"])(t)?t.value:Object(r["e"])(t)?Ft(t):Object(o["n"])(t)?p(t,u,2,[u&&u.proxy]):void 0):Object(o["n"])(t)?e?()=>p(t,u,2,[u&&u.proxy]):()=>{if(!u||!u.isUnmounted)return f&&f(),p(t,u,3,[v])}:o["d"],e&&i){const t=l;l=()=>Ft(t())}const v=t=>{f=y.options.onStop=()=>{p(t,u,4)}};let b=Object(o["m"])(t)?[]:Tt;const m=()=>{if(y.active)if(e){const t=y();(i||h||Object(o["i"])(t,b))&&(f&&f(),d(e,u,3,[t,b===Tt?void 0:b,v]),b=t)}else y()};let g;m.allowRecurse=!!e,g="sync"===c?m:"post"===c?()=>Se(m,u&&u.suspense):()=>{!u||u.isMounted?M(m):m()};const y=Object(r["c"])(l,{lazy:!0,onTrack:a,onTrigger:s,scheduler:g});return $n(y,u),e?n?m():b=y():"post"===c?Se(y,u&&u.suspense):y(),()=>{Object(r["o"])(y),u&&Object(o["H"])(u.effects,y)}}function Mt(t,e,n){const r=this.proxy,i=Object(o["A"])(t)?()=>r[t]:t.bind(r);return Rt(i,e.bind(r),n,this)}function Ft(t,e=new Set){if(!Object(o["t"])(t)||e.has(t))return t;if(e.add(t),Object(r["g"])(t))Ft(t.value,e);else if(Object(o["m"])(t))for(let n=0;n{Ft(t,e)});else for(const n in t)Ft(t[n],e);return t}function Nt(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return xt(()=>{t.isMounted=!0}),kt(()=>{t.isUnmounting=!0}),t}const zt=[Function,Array],Ut={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:zt,onEnter:zt,onAfterEnter:zt,onEnterCancelled:zt,onBeforeLeave:zt,onLeave:zt,onAfterLeave:zt,onLeaveCancelled:zt,onBeforeAppear:zt,onAppear:zt,onAfterAppear:zt,onAppearCancelled:zt},setup(t,{slots:e}){const n=Tn(),o=Nt();let i;return()=>{const c=e.default&&Wt(e.default(),!0);if(!c||!c.length)return;const a=Object(r["p"])(t),{mode:s}=a;const u=c[0];if(o.isLeaving)return $t(u);const l=qt(u);if(!l)return $t(u);const f=Vt(l,a,o,n);Ht(l,f);const p=n.subTree,d=p&&qt(p);let h=!1;const{getTransitionKey:v}=l.type;if(v){const t=v();void 0===i?i=t:t!==i&&(i=t,h=!0)}if(d&&d.type!==Ve&&(!Je(l,d)||h)){const t=Vt(d,a,o,n);if(Ht(d,t),"out-in"===s)return o.isLeaving=!0,t.afterLeave=()=>{o.isLeaving=!1,n.update()},$t(u);"in-out"===s&&(t.delayLeave=(t,e,n)=>{const r=Dt(o,d);r[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete f.delayedLeave},f.delayedLeave=n})}return u}}},Bt=Ut;function Dt(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function Vt(t,e,n,r){const{appear:o,mode:i,persisted:c=!1,onBeforeEnter:a,onEnter:s,onAfterEnter:u,onEnterCancelled:l,onBeforeLeave:f,onLeave:p,onAfterLeave:h,onLeaveCancelled:v,onBeforeAppear:b,onAppear:m,onAfterAppear:g,onAppearCancelled:y}=e,w=String(t.key),O=Dt(n,t),j=(t,e)=>{t&&d(t,r,9,e)},x={mode:i,persisted:c,beforeEnter(e){let r=a;if(!n.isMounted){if(!o)return;r=b||a}e._leaveCb&&e._leaveCb(!0);const i=O[w];i&&Je(t,i)&&i.el._leaveCb&&i.el._leaveCb(),j(r,[e])},enter(t){let e=s,r=u,i=l;if(!n.isMounted){if(!o)return;e=m||s,r=g||u,i=y||l}let c=!1;const a=t._enterCb=e=>{c||(c=!0,j(e?i:r,[t]),x.delayedLeave&&x.delayedLeave(),t._enterCb=void 0)};e?(e(t,a),e.length<=1&&a()):a()},leave(e,r){const o=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return r();j(f,[e]);let i=!1;const c=e._leaveCb=n=>{i||(i=!0,r(),j(n?v:h,[e]),e._leaveCb=void 0,O[o]===t&&delete O[o])};O[o]=t,p?(p(e,c),p.length<=1&&c()):c()},clone(t){return Vt(t,e,n,r)}};return x}function $t(t){if(Gt(t))return t=rn(t),t.children=null,t}function qt(t){return Gt(t)?t.children?t.children[0]:void 0:t}function Ht(t,e){6&t.shapeFlag&&t.component?Ht(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function Wt(t,e=!1){let n=[],r=0;for(let o=0;o1)for(let o=0;ot.type.__isKeepAlive,Kt={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(t,{slots:e}){const n=new Map,r=new Set;let i=null;const c=Tn(),a=c.suspense,s=c.ctx,{renderer:{p:u,m:l,um:f,o:{createElement:p}}}=s,d=p("div");function h(t){ee(t),f(t,c,a)}function v(t){n.forEach((e,n)=>{const r=Wn(e.type);!r||t&&t(r)||b(n)})}function b(t){const e=n.get(t);i&&e.type===i.type?i&&ee(i):h(e),n.delete(t),r.delete(t)}s.activate=(t,e,n,r,i)=>{const c=t.component;l(t,e,n,0,a),u(c.vnode,t,e,n,c,a,r,i),Se(()=>{c.isDeactivated=!1,c.a&&Object(o["l"])(c.a);const e=t.props&&t.props.onVnodeMounted;e&&Pe(e,c.parent,t)},a)},s.deactivate=t=>{const e=t.component;l(t,d,null,1,a),Se(()=>{e.da&&Object(o["l"])(e.da);const n=t.props&&t.props.onVnodeUnmounted;n&&Pe(n,e.parent,t),e.isDeactivated=!0},a)},It(()=>[t.include,t.exclude],([t,e])=>{t&&v(e=>Xt(t,e)),e&&v(t=>!Xt(e,t))},{flush:"post",deep:!0});let m=null;const g=()=>{null!=m&&n.set(m,ne(c.subTree))};return xt(g),St(g),kt(()=>{n.forEach(t=>{const{subTree:e,suspense:n}=c,r=ne(e);if(t.type!==r.type)h(t);else{ee(r);const t=r.component.da;t&&Se(t,n)}})}),()=>{if(m=null,!e.default)return null;const o=e.default(),c=o[0];if(o.length>1)return i=null,o;if(!Xe(c)||!(4&c.shapeFlag)&&!(128&c.shapeFlag))return i=null,c;let a=ne(c);const s=a.type,u=Wn(s),{include:l,exclude:f,max:p}=t;if(l&&(!u||!Xt(l,u))||f&&u&&Xt(f,u))return i=a,c;const d=null==a.key?s:a.key,h=n.get(d);return a.el&&(a=rn(a),128&c.shapeFlag&&(c.ssContent=a)),m=d,h?(a.el=h.el,a.component=h.component,a.transition&&Ht(a,a.transition),a.shapeFlag|=512,r.delete(d),r.add(d)):(r.add(d),p&&r.size>parseInt(p,10)&&b(r.values().next().value)),a.shapeFlag|=256,i=a,c}}},Yt=Kt;function Xt(t,e){return Object(o["m"])(t)?t.some(t=>Xt(t,e)):Object(o["A"])(t)?t.split(",").indexOf(e)>-1:!!t.test&&t.test(e)}function Jt(t,e){Qt(t,"a",e)}function Zt(t,e){Qt(t,"da",e)}function Qt(t,e,n=Ln){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}t()});if(wt(e,r,n),n){let t=n.parent;while(t&&t.parent)Gt(t.parent.vnode)&&te(r,e,n,t),t=t.parent}}function te(t,e,n,r){const i=wt(e,t,r,!0);Et(()=>{Object(o["H"])(r[e],i)},n)}function ee(t){let e=t.shapeFlag;256&e&&(e-=256),512&e&&(e-=512),t.shapeFlag=e}function ne(t){return 128&t.shapeFlag?t.ssContent:t}const re=t=>"_"===t[0]||"$stable"===t,oe=t=>Object(o["m"])(t)?t.map(an):[an(t)],ie=(t,e,n)=>it(t=>oe(e(t)),n),ce=(t,e)=>{const n=t._ctx;for(const r in t){if(re(r))continue;const i=t[r];if(Object(o["n"])(i))e[r]=ie(r,i,n);else if(null!=i){0;const t=oe(i);e[r]=()=>t}}},ae=(t,e)=>{const n=oe(e);t.slots.default=()=>n},se=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=e,Object(o["g"])(e,"_",n)):ce(e,t.slots={})}else t.slots={},e&&ae(t,e);Object(o["g"])(t.slots,Ze,1)},ue=(t,e)=>{const{vnode:n,slots:r}=t;let i=!0,c=o["b"];if(32&n.shapeFlag){const t=e._;t?1===t?i=!1:Object(o["h"])(r,e):(i=!e.$stable,ce(e,r)),c=e}else e&&(ae(t,e),c={default:1});if(i)for(const o in r)re(o)||o in c||delete r[o]};function le(t,e){const n=q;if(null===n)return t;const r=n.proxy,i=t.dirs||(t.dirs=[]);for(let c=0;c/svg/.test(t.namespaceURI)&&"foreignObject"!==t.tagName,me=t=>8===t.nodeType;function ge(t){const{mt:e,p:n,o:{patchProp:r,nextSibling:i,parentNode:c,remove:a,insert:s,createComment:u}}=t,l=(t,e)=>{ve=!1,f(e.firstChild,t,null,null),z(),ve&&console.error("Hydration completed but contains mismatches.")},f=(n,r,o,a,s=!1)=>{const u=me(n)&&"["===n.data,l=()=>v(n,r,o,a,u),{type:m,ref:g,shapeFlag:y}=r,w=n.nodeType;r.el=n;let O=null;switch(m){case De:3!==w?O=l():(n.data!==r.children&&(ve=!0,n.data=r.children),O=i(n));break;case Ve:O=8!==w||u?l():i(n);break;case $e:if(1===w){O=n;const t=!r.children.length;for(let e=0;e{e(r,t,null,o,a,be(t),s)},f=r.type.__asyncLoader;f?f().then(l):l(),O=u?b(n):i(n)}else 64&y?O=8!==w?l():r.type.hydrate(n,r,o,a,s,t,d):128&y&&(O=r.type.hydrate(n,r,o,a,be(c(n)),s,t,f))}return null!=g&&ke(g,null,a,r),O},p=(t,e,n,i,c)=>{c=c||!!e.dynamicChildren;const{props:s,patchFlag:u,shapeFlag:l,dirs:f}=e;if(-1!==u){if(f&&fe(e,null,n,"created"),s)if(!c||16&u||32&u)for(const e in s)!Object(o["w"])(e)&&Object(o["u"])(e)&&r(t,e,null,s[e]);else s.onClick&&r(t,"onClick",null,s.onClick);let p;if((p=s&&s.onVnodeBeforeMount)&&Pe(p,n,e),f&&fe(e,null,n,"beforeMount"),((p=s&&s.onVnodeMounted)||f)&&nt(()=>{p&&Pe(p,n,e),f&&fe(e,null,n,"mounted")},i),16&l&&(!s||!s.innerHTML&&!s.textContent)){let r=d(t.firstChild,e,t,n,i,c);while(r){ve=!0;const t=r;r=r.nextSibling,a(t)}}else 8&l&&t.textContent!==e.children&&(ve=!0,t.textContent=e.children)}return t.nextSibling},d=(t,e,r,o,i,c)=>{c=c||!!e.dynamicChildren;const a=e.children,s=a.length;for(let u=0;u{const a=c(t),l=d(i(t),e,a,n,r,o);return l&&me(l)&&"]"===l.data?i(e.anchor=l):(ve=!0,s(e.anchor=u("]"),a,l),l)},v=(t,e,r,o,s)=>{if(ve=!0,e.el=null,s){const e=b(t);while(1){const n=i(t);if(!n||n===e)break;a(n)}}const u=i(t),l=c(t);return a(t),n(null,e,l,u,r,o,be(l)),u},b=t=>{let e=0;while(t)if(t=i(t),t&&me(t)&&("["===t.data&&e++,"]"===t.data)){if(0===e)return i(t);e--}return t};return[l,f]}function ye(){}function we(t){return Object(o["n"])(t)?{setup:t,name:t.name}:t}const Oe=t=>!!t.type.__asyncLoader;function je(t){Object(o["n"])(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:i,delay:c=200,timeout:a,suspensible:s=!0,onError:u}=t;let l,f=null,p=0;const d=()=>(p++,f=null,v()),v=()=>{let t;return f||(t=f=e().catch(t=>{if(t=t instanceof Error?t:new Error(String(t)),u)return new Promise((e,n)=>{const r=()=>e(d()),o=()=>n(t);u(t,r,o,p+1)});throw t}).then(e=>t!==f&&f?f:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),l=e,e)))};return we({__asyncLoader:v,name:"AsyncComponentWrapper",setup(){const t=Ln;if(l)return()=>xe(l,t);const e=e=>{f=null,h(e,t,13,!i)};if(s&&t.suspense)return v().then(e=>()=>xe(e,t)).catch(t=>(e(t),()=>i?en(i,{error:t}):null));const o=Object(r["l"])(!1),u=Object(r["l"])(),p=Object(r["l"])(!!c);return c&&setTimeout(()=>{p.value=!1},c),null!=a&&setTimeout(()=>{if(!o.value&&!u.value){const t=new Error(`Async component timed out after ${a}ms.`);e(t),u.value=t}},a),v().then(()=>{o.value=!0}).catch(t=>{e(t),u.value=t}),()=>o.value&&l?xe(l,t):u.value&&i?en(i,{error:u.value}):n&&!p.value?en(n):void 0}})}function xe(t,{vnode:{ref:e,props:n,children:r}}){const o=en(t,n,r);return o.ref=e,o}const _e={scheduler:L,allowRecurse:!0};const Se=nt,ke=(t,e,n,i)=>{if(Object(o["m"])(t))return void t.forEach((t,r)=>ke(t,e&&(Object(o["m"])(e)?e[r]:e),n,i));let c;c=!i||Oe(i)?null:4&i.shapeFlag?i.component.exposed||i.component.proxy:i.el;const{i:a,r:s}=t;const u=e&&e.r,l=a.refs===o["b"]?a.refs={}:a.refs,f=a.setupState;if(null!=u&&u!==s&&(Object(o["A"])(u)?(l[u]=null,Object(o["j"])(f,u)&&(f[u]=null)):Object(r["g"])(u)&&(u.value=null)),Object(o["A"])(s)){const t=()=>{l[s]=c,Object(o["j"])(f,s)&&(f[s]=c)};c?(t.id=-1,Se(t,n)):t()}else if(Object(r["g"])(s)){const t=()=>{s.value=c};c?(t.id=-1,Se(t,n)):t()}else Object(o["n"])(s)&&p(s,a,12,[c,l])};function Ee(t){return Ce(t)}function Ae(t){return Ce(t,ge)}function Ce(t,e){ye();const{insert:n,remove:i,patchProp:c,forcePatchProp:a,createElement:s,createText:u,createComment:l,setText:f,setElementText:p,parentNode:d,nextSibling:h,setScopeId:v=o["d"],cloneNode:b,insertStaticContent:m}=t,g=(t,e,n,r=null,o=null,i=null,c=!1,a=!1)=>{t&&!Je(t,e)&&(r=J(t),q(t,o,i,!0),t=null),-2===e.patchFlag&&(a=!1,e.dynamicChildren=null);const{type:s,ref:u,shapeFlag:l}=e;switch(s){case De:y(t,e,n,r);break;case Ve:w(t,e,n,r);break;case $e:null==t&&O(e,n,r,c);break;case Be:L(t,e,n,r,o,i,c,a);break;default:1&l?_(t,e,n,r,o,i,c,a):6&l?T(t,e,n,r,o,i,c,a):(64&l||128&l)&&s.process(t,e,n,r,o,i,c,a,tt)}null!=u&&o&&ke(u,t&&t.ref,i,e)},y=(t,e,r,o)=>{if(null==t)n(e.el=u(e.children),r,o);else{const n=e.el=t.el;e.children!==t.children&&f(n,e.children)}},w=(t,e,r,o)=>{null==t?n(e.el=l(e.children||""),r,o):e.el=t.el},O=(t,e,n,r)=>{[t.el,t.anchor]=m(t.children,e,n,r)},j=({el:t,anchor:e},r,o)=>{let i;while(t&&t!==e)i=h(t),n(t,r,o),t=i;n(e,r,o)},x=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=h(t),i(t),t=n;i(e)},_=(t,e,n,r,o,i,c,a)=>{c=c||"svg"===e.type,null==t?S(e,n,r,o,i,c,a):A(t,e,o,i,c,a)},S=(t,e,r,i,a,u,l)=>{let f,d;const{type:h,props:v,shapeFlag:m,transition:g,scopeId:y,patchFlag:w,dirs:O}=t;if(t.el&&void 0!==b&&-1===w)f=t.el=b(t.el);else{if(f=t.el=s(t.type,u,v&&v.is),8&m?p(f,t.children):16&m&&E(t.children,f,null,i,a,u&&"foreignObject"!==h,l||!!t.dynamicChildren),O&&fe(t,null,i,"created"),v){for(const e in v)Object(o["w"])(e)||c(f,e,null,v[e],u,t.children,i,a,Y);(d=v.onVnodeBeforeMount)&&Pe(d,i,t)}k(f,y,t,i)}O&&fe(t,null,i,"beforeMount");const j=(!a||a&&!a.pendingBranch)&&g&&!g.persisted;j&&g.beforeEnter(f),n(f,e,r),((d=v&&v.onVnodeMounted)||j||O)&&Se(()=>{d&&Pe(d,i,t),j&&g.enter(f),O&&fe(t,null,i,"mounted")},a)},k=(t,e,n,r)=>{if(e&&v(t,e),r){const o=r.type.__scopeId;o&&o!==e&&v(t,o+"-s");let i=r.subTree;0,n===i&&k(t,r.vnode.scopeId,r.vnode,r.parent)}},E=(t,e,n,r,o,i,c,a=0)=>{for(let s=a;s{const u=e.el=t.el;let{patchFlag:l,dynamicChildren:f,dirs:d}=e;l|=16&t.patchFlag;const h=t.props||o["b"],v=e.props||o["b"];let b;if((b=v.onVnodeBeforeUpdate)&&Pe(b,n,e,t),d&&fe(e,t,n,"beforeUpdate"),l>0){if(16&l)P(u,e,h,v,n,r,i);else if(2&l&&h.class!==v.class&&c(u,"class",null,v.class,i),4&l&&c(u,"style",h.style,v.style,i),8&l){const o=e.dynamicProps;for(let e=0;e{b&&Pe(b,n,e,t),d&&fe(e,t,n,"updated")},r)},C=(t,e,n,r,o,i)=>{for(let c=0;c{if(n!==r){for(const l in r){if(Object(o["w"])(l))continue;const f=r[l],p=n[l];(f!==p||a&&a(t,l))&&c(t,l,p,f,u,e.children,i,s,Y)}if(n!==o["b"])for(const a in n)Object(o["w"])(a)||a in r||c(t,a,n[a],null,u,e.children,i,s,Y)}},L=(t,e,r,o,i,c,a,s)=>{const l=e.el=t?t.el:u(""),f=e.anchor=t?t.anchor:u("");let{patchFlag:p,dynamicChildren:d}=e;p>0&&(s=!0),null==t?(n(l,r,o),n(f,r,o),E(e.children,r,f,i,c,a,s)):p>0&&64&p&&d&&t.dynamicChildren?(C(t.dynamicChildren,d,r,i,c,a),(null!=e.key||i&&e===i.subTree)&&Le(t,e,!0)):B(t,e,r,f,i,c,a,s)},T=(t,e,n,r,o,i,c,a)=>{null==t?512&e.shapeFlag?o.ctx.activate(e,n,r,c,a):R(e,n,r,o,i,c,a):M(t,e,a)},R=(t,e,n,r,o,i,c)=>{const a=t.component=Pn(t,r,o);if(Gt(t)&&(a.ctx.renderer=tt),Nn(a),a.asyncDep){if(o&&o.registerDep(a,F),!t.el){const t=a.subTree=en(Ve);w(null,t,e,n)}}else F(a,t,e,n,o,i,c)},M=(t,e,n)=>{const r=e.component=t.component;if(X(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void U(r,e,n);r.next=e,I(r.update),r.update()}else e.component=t.component,e.el=t.el,r.vnode=e},F=(t,e,n,i,c,a,s)=>{t.update=Object(r["c"])((function(){if(t.isMounted){let e,{next:n,bu:r,u:i,parent:u,vnode:l}=t,f=n;0,n?(n.el=l.el,U(t,n,s)):n=l,r&&Object(o["l"])(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&Pe(e,u,n,l);const p=W(t);0;const h=t.subTree;t.subTree=p,g(h,p,d(h.el),J(h),t,c,a),n.el=p.el,null===f&&Z(t,p.el),i&&Se(i,c),(e=n.props&&n.props.onVnodeUpdated)&&Se(()=>{Pe(e,u,n,l)},c)}else{let r;const{el:s,props:u}=e,{bm:l,m:f,parent:p}=t;l&&Object(o["l"])(l),(r=u&&u.onVnodeBeforeMount)&&Pe(r,p,e);const d=t.subTree=W(t);if(s&&nt?nt(e.el,d,t,c):(g(null,d,n,i,t,c,a),e.el=d.el),f&&Se(f,c),r=u&&u.onVnodeMounted){const t=e;Se(()=>{Pe(r,p,t)},c)}const{a:h}=t;h&&256&e.shapeFlag&&Se(h,c),t.isMounted=!0,e=n=i=null}}),_e)},U=(t,e,n)=>{e.component=t;const r=t.vnode.props;t.vnode=e,t.next=null,pt(t,e.props,r,n),ue(t,e.children),N(void 0,t.update)},B=(t,e,n,r,o,i,c,a=!1)=>{const s=t&&t.children,u=t?t.shapeFlag:0,l=e.children,{patchFlag:f,shapeFlag:d}=e;if(f>0){if(128&f)return void V(s,l,n,r,o,i,c,a);if(256&f)return void D(s,l,n,r,o,i,c,a)}8&d?(16&u&&Y(s,o,i),l!==s&&p(n,l)):16&u?16&d?V(s,l,n,r,o,i,c,a):Y(s,o,i,!0):(8&u&&p(n,""),16&d&&E(l,n,r,o,i,c,a))},D=(t,e,n,r,i,c,a,s)=>{t=t||o["a"],e=e||o["a"];const u=t.length,l=e.length,f=Math.min(u,l);let p;for(p=0;pl?Y(t,i,c,!0,!1,f):E(e,n,r,i,c,a,s,f)},V=(t,e,n,r,i,c,a,s)=>{let u=0;const l=e.length;let f=t.length-1,p=l-1;while(u<=f&&u<=p){const r=t[u],o=e[u]=s?sn(e[u]):an(e[u]);if(!Je(r,o))break;g(r,o,n,null,i,c,a,s),u++}while(u<=f&&u<=p){const r=t[f],o=e[p]=s?sn(e[p]):an(e[p]);if(!Je(r,o))break;g(r,o,n,null,i,c,a,s),f--,p--}if(u>f){if(u<=p){const t=p+1,o=tp)while(u<=f)q(t[u],i,c,!0),u++;else{const d=u,h=u,v=new Map;for(u=h;u<=p;u++){const t=e[u]=s?sn(e[u]):an(e[u]);null!=t.key&&v.set(t.key,u)}let b,m=0;const y=p-h+1;let w=!1,O=0;const j=new Array(y);for(u=0;u=y){q(r,i,c,!0);continue}let o;if(null!=r.key)o=v.get(r.key);else for(b=h;b<=p;b++)if(0===j[b-h]&&Je(r,e[b])){o=b;break}void 0===o?q(r,i,c,!0):(j[o-h]=u+1,o>=O?O=o:w=!0,g(r,e[o],n,null,i,c,a,s),m++)}const x=w?Te(j):o["a"];for(b=x.length-1,u=y-1;u>=0;u--){const t=h+u,o=e[t],s=t+1{const{el:c,type:a,transition:s,children:u,shapeFlag:l}=t;if(6&l)return void $(t.component.subTree,e,r,o);if(128&l)return void t.suspense.move(e,r,o);if(64&l)return void a.move(t,e,r,tt);if(a===Be){n(c,e,r);for(let t=0;ts.enter(c),i);else{const{leave:t,delayLeave:o,afterLeave:i}=s,a=()=>n(c,e,r),u=()=>{t(c,()=>{a(),i&&i()})};o?o(c,a,u):u()}else n(c,e,r)},q=(t,e,n,r=!1,o=!1)=>{const{type:i,props:c,ref:a,children:s,dynamicChildren:u,shapeFlag:l,patchFlag:f,dirs:p}=t;if(null!=a&&ke(a,null,n,null),256&l)return void e.ctx.deactivate(t);const d=1&l&&p;let h;if((h=c&&c.onVnodeBeforeUnmount)&&Pe(h,e,t),6&l)K(t.component,n,r);else{if(128&l)return void t.suspense.unmount(n,r);d&&fe(t,null,e,"beforeUnmount"),u&&(i!==Be||f>0&&64&f)?Y(u,e,n,!1,!0):(i===Be&&(128&f||256&f)||!o&&16&l)&&Y(s,e,n),64&l&&(r||!Re(t.props))&&t.type.remove(t,tt),r&&H(t)}((h=c&&c.onVnodeUnmounted)||d)&&Se(()=>{h&&Pe(h,e,t),d&&fe(t,null,e,"unmounted")},n)},H=t=>{const{type:e,el:n,anchor:r,transition:o}=t;if(e===Be)return void G(n,r);if(e===$e)return void x(t);const c=()=>{i(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&t.shapeFlag&&o&&!o.persisted){const{leave:e,delayLeave:r}=o,i=()=>e(n,c);r?r(t.el,c,i):i()}else c()},G=(t,e)=>{let n;while(t!==e)n=h(t),i(t),t=n;i(e)},K=(t,e,n)=>{const{bum:i,effects:c,update:a,subTree:s,um:u}=t;if(i&&Object(o["l"])(i),c)for(let o=0;o{t.isUnmounted=!0},e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},Y=(t,e,n,r=!1,o=!1,i=0)=>{for(let c=i;c6&t.shapeFlag?J(t.component.subTree):128&t.shapeFlag?t.suspense.next():h(t.anchor||t.el),Q=(t,e)=>{null==t?e._vnode&&q(e._vnode,null,null,!0):g(e._vnode||null,t,e),z(),e._vnode=t},tt={p:g,um:q,m:$,r:H,mt:R,mc:E,pc:B,pbc:C,n:J,o:t};let et,nt;return e&&([et,nt]=e(tt)),{render:Q,hydrate:et,createApp:he(Q,et)}}function Pe(t,e,n,r=null){d(t,e,7,[n,r])}function Le(t,e,n=!1){const r=t.children,i=e.children;if(Object(o["m"])(r)&&Object(o["m"])(i))for(let o=0;o0&&(e[r]=n[i-1]),n[i]=r)}}i=n.length,c=n[i-1];while(i-- >0)n[i]=c,c=e[c];return n}const Ie=t=>t.__isTeleport,Re=t=>t&&(t.disabled||""===t.disabled);const Me="components";function Fe(t){return ze(Me,t)||t}const Ne=Symbol();function ze(t,e,n=!0){const r=q||Ln;if(r){const n=r.type;if(t===Me){if("_self"===e)return n;const t=Wn(n);if(t&&(t===e||t===Object(o["e"])(e)||t===Object(o["f"])(Object(o["e"])(e))))return n}const i=Ue(r[t]||n[t],e)||Ue(r.appContext[t],e);return i}}function Ue(t,e){return t&&(t[e]||t[Object(o["e"])(e)]||t[Object(o["f"])(Object(o["e"])(e))])}const Be=Symbol(void 0),De=Symbol(void 0),Ve=Symbol(void 0),$e=Symbol(void 0),qe=[];let He=null;function We(t=!1){qe.push(He=t?null:[])}function Ge(){qe.pop(),He=qe[qe.length-1]||null}let Ke=1;function Ye(t,e,n,r,i){const c=en(t,e,n,r,i,!0);return c.dynamicChildren=He||o["a"],Ge(),Ke>0&&He&&He.push(c),c}function Xe(t){return!!t&&!0===t.__v_isVNode}function Je(t,e){return t.type===e.type&&t.key===e.key}const Ze="__vInternal",Qe=({key:t})=>null!=t?t:null,tn=({ref:t})=>null!=t?Object(o["A"])(t)||Object(r["g"])(t)||Object(o["n"])(t)?{i:q,r:t}:t:null,en=nn;function nn(t,e=null,n=null,i=0,c=null,a=!1){if(t&&t!==Ne||(t=Ve),Xe(t)){const r=rn(t,e,!0);return n&&un(r,n),r}if(Kn(t)&&(t=t.__vccOpts),e){(Object(r["d"])(e)||Ze in e)&&(e=Object(o["h"])({},e));let{class:t,style:n}=e;t&&!Object(o["A"])(t)&&(e.class=Object(o["F"])(t)),Object(o["t"])(n)&&(Object(r["d"])(n)&&!Object(o["m"])(n)&&(n=Object(o["h"])({},n)),e.style=Object(o["G"])(n))}const s=Object(o["A"])(t)?1:Q(t)?128:Ie(t)?64:Object(o["t"])(t)?4:Object(o["n"])(t)?2:0;const u={__v_isVNode:!0,["__v_skip"]:!0,type:t,props:e,key:e&&Qe(e),ref:e&&tn(e),scopeId:ct,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:c,dynamicChildren:null,appContext:null};if(un(u,n),128&s){const{content:t,fallback:e}=tt(u);u.ssContent=t,u.ssFallback=e}return Ke>0&&!a&&He&&(i>0||6&s)&&32!==i&&He.push(u),u}function rn(t,e,n=!1){const{props:r,ref:i,patchFlag:c,children:a}=t,s=e?ln(r||{},e):r;return{__v_isVNode:!0,["__v_skip"]:!0,type:t.type,props:s,key:s&&Qe(s),ref:e&&e.ref?n&&i?Object(o["m"])(i)?i.concat(tn(e)):[i,tn(e)]:tn(e):i,scopeId:t.scopeId,children:a,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Be?-1===c?16:16|c:c,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&rn(t.ssContent),ssFallback:t.ssFallback&&rn(t.ssFallback),el:t.el,anchor:t.anchor}}function on(t=" ",e=0){return en(De,null,t,e)}function cn(t="",e=!1){return e?(We(),Ye(Ve,null,t)):en(Ve,null,t)}function an(t){return null==t||"boolean"===typeof t?en(Ve):Object(o["m"])(t)?en(Be,null,t):"object"===typeof t?null===t.el?t:rn(t):en(De,null,String(t))}function sn(t){return null===t.el?t:rn(t)}function un(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if(Object(o["m"])(e))n=16;else if("object"===typeof e){if(1&r||64&r){const n=e.default;return void(n&&(n._c&&ot(1),un(t,n()),n._c&&ot(-1)))}{n=32;const r=e._;r||Ze in e?3===r&&q&&(1024&q.vnode.patchFlag?(e._=2,t.patchFlag|=1024):e._=1):e._ctx=q}}else Object(o["n"])(e)?(e={default:e,_ctx:q},n=32):(e=String(e),64&r?(n=16,e=[on(e)]):n=8);t.children=e,t.shapeFlag|=n}function ln(...t){const e=Object(o["h"])({},t[0]);for(let n=1;n1)return n&&Object(o["n"])(e)?e():e}else 0}let dn=!1;function hn(t,e,n=[],i=[],c=[],a=!1){const{mixins:s,extends:u,data:l,computed:f,methods:p,watch:d,provide:h,inject:v,components:b,directives:m,beforeMount:g,mounted:y,beforeUpdate:w,updated:O,activated:j,deactivated:x,beforeDestroy:_,beforeUnmount:S,destroyed:k,unmounted:E,render:A,renderTracked:C,renderTriggered:P,errorCaptured:L,expose:T}=e,I=t.proxy,R=t.ctx,M=t.appContext.mixins;a&&A&&t.render===o["d"]&&(t.render=A),a||(dn=!0,vn("beforeCreate","bc",e,t,M),dn=!1,gn(t,M,n,i,c)),u&&hn(t,u,n,i,c,!0),s&&gn(t,s,n,i,c);if(v)if(Object(o["m"])(v))for(let r=0;ryn(t,e,I)),l&&yn(t,l,I)),f)for(const r in f){const t=f[r],e=Object(o["n"])(t)?t.bind(I,I):Object(o["n"])(t.get)?t.get.bind(I,I):o["d"];0;const n=!Object(o["n"])(t)&&Object(o["n"])(t.set)?t.set.bind(I):o["d"],i=Yn({get:e,set:n});Object.defineProperty(R,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:t=>i.value=t})}if(d&&i.push(d),!a&&i.length&&i.forEach(t=>{for(const e in t)wn(t[e],R,I,e)}),h&&c.push(h),!a&&c.length&&c.forEach(t=>{const e=Object(o["n"])(t)?t.call(I):t;Reflect.ownKeys(e).forEach(t=>{fn(t,e[t])})}),a&&(b&&Object(o["h"])(t.components||(t.components=Object(o["h"])({},t.type.components)),b),m&&Object(o["h"])(t.directives||(t.directives=Object(o["h"])({},t.type.directives)),m)),a||vn("created","c",e,t,M),g&&jt(g.bind(I)),y&&xt(y.bind(I)),w&&_t(w.bind(I)),O&&St(O.bind(I)),j&&Jt(j.bind(I)),x&&Zt(x.bind(I)),L&&Pt(L.bind(I)),C&&Ct(C.bind(I)),P&&At(P.bind(I)),S&&kt(S.bind(I)),E&&Et(E.bind(I)),Object(o["m"])(T))if(a)0;else if(T.length){const e=t.exposed||(t.exposed=Object(r["i"])({}));T.forEach(t=>{e[t]=Object(r["q"])(I,t)})}else t.exposed||(t.exposed=o["b"])}function vn(t,e,n,r,o){mn(t,e,o,r);const{extends:i,mixins:c}=n;i&&bn(t,e,i,r),c&&mn(t,e,c,r);const a=n[t];a&&d(a.bind(r.proxy),r,e)}function bn(t,e,n,r){n.extends&&bn(t,e,n.extends,r);const o=n[t];o&&d(o.bind(r.proxy),r,e)}function mn(t,e,n,r){for(let o=0;on[r];if(Object(o["A"])(t)){const n=e[t];Object(o["n"])(n)&&It(i,n)}else if(Object(o["n"])(t))It(i,t.bind(n));else if(Object(o["t"])(t))if(Object(o["m"])(t))t.forEach(t=>wn(t,e,n,r));else{const r=Object(o["n"])(t.handler)?t.handler.bind(n):e[t.handler];Object(o["n"])(r)&&It(i,r,t)}else 0}function On(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;txn(c,e,t)),xn(c,e,t),e.__merged=c}function xn(t,e,n){const r=n.appContext.config.optionMergeStrategies,{mixins:i,extends:c}=e;c&&xn(t,c,n),i&&i.forEach(e=>xn(t,e,n));for(const a in e)r&&Object(o["j"])(r,a)?t[a]=r[a](t[a],e[a],n.proxy,a):t[a]=e[a]}const _n=t=>t?Rn(t)?t.exposed?t.exposed:t.proxy:_n(t.parent):null,Sn=Object(o["h"])(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>_n(t.parent),$root:t=>_n(t.root),$emit:t=>t.emit,$options:t=>jn(t),$forceUpdate:t=>()=>L(t.update),$nextTick:t=>C.bind(t.proxy),$watch:t=>Mt.bind(t)}),kn={get({_:t},e){const{ctx:n,setupState:i,data:c,props:a,accessCache:s,type:u,appContext:l}=t;if("__v_skip"===e)return!0;let f;if("$"!==e[0]){const r=s[e];if(void 0!==r)switch(r){case 0:return i[e];case 1:return c[e];case 3:return n[e];case 2:return a[e]}else{if(i!==o["b"]&&Object(o["j"])(i,e))return s[e]=0,i[e];if(c!==o["b"]&&Object(o["j"])(c,e))return s[e]=1,c[e];if((f=t.propsOptions[0])&&Object(o["j"])(f,e))return s[e]=2,a[e];if(n!==o["b"]&&Object(o["j"])(n,e))return s[e]=3,n[e];dn||(s[e]=4)}}const p=Sn[e];let d,h;return p?("$attrs"===e&&Object(r["r"])(t,"get",e),p(t)):(d=u.__cssModules)&&(d=d[e])?d:n!==o["b"]&&Object(o["j"])(n,e)?(s[e]=3,n[e]):(h=l.config.globalProperties,Object(o["j"])(h,e)?h[e]:void 0)},set({_:t},e,n){const{data:r,setupState:i,ctx:c}=t;if(i!==o["b"]&&Object(o["j"])(i,e))i[e]=n;else if(r!==o["b"]&&Object(o["j"])(r,e))r[e]=n;else if(Object(o["j"])(t.props,e))return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(c[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:i,propsOptions:c}},a){let s;return void 0!==n[a]||t!==o["b"]&&Object(o["j"])(t,a)||e!==o["b"]&&Object(o["j"])(e,a)||(s=c[0])&&Object(o["j"])(s,a)||Object(o["j"])(r,a)||Object(o["j"])(Sn,a)||Object(o["j"])(i.config.globalProperties,a)}};const En=Object(o["h"])({},kn,{get(t,e){if(e!==Symbol.unscopables)return kn.get(t,e,t)},has(t,e){const n="_"!==e[0]&&!Object(o["o"])(e);return n}});const An=pe();let Cn=0;function Pn(t,e,n){const r=t.type,i=(e?e.appContext:t.appContext)||An,c={uid:Cn++,vnode:t,type:r,parent:e,appContext:i,root:null,next:null,subTree:null,update:null,render:null,proxy:null,exposed:null,withProxy:null,effects:null,provides:e?e.provides:Object.create(i.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:vt(r,i),emitsOptions:V(r,i),emit:null,emitted:null,ctx:o["b"],data:o["b"],props:o["b"],attrs:o["b"],slots:o["b"],refs:o["b"],setupState:o["b"],setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null};return c.ctx={_:c},c.root=e?e.root:c,c.emit=D.bind(null,c),c}let Ln=null;const Tn=()=>Ln||q,In=t=>{Ln=t};function Rn(t){return 4&t.vnode.shapeFlag}let Mn,Fn=!1;function Nn(t,e=!1){Fn=e;const{props:n,children:r}=t.vnode,o=Rn(t);ft(t,n,o,e),se(t,r);const i=o?zn(t,e):void 0;return Fn=!1,i}function zn(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,kn);const{setup:i}=n;if(i){const n=t.setupContext=i.length>1?Vn(t):null;Ln=t,Object(r["h"])();const c=p(i,t,0,[t.props,n]);if(Object(r["m"])(),Ln=null,Object(o["v"])(c)){if(e)return c.then(e=>{Un(t,e)});t.asyncDep=c}else Un(t,c)}else Dn(t)}function Un(t,e,n){Object(o["n"])(e)?t.render=e:Object(o["t"])(e)&&(t.setupState=Object(r["i"])(e)),Dn(t)}const Bn=()=>!Mn;function Dn(t,e){const n=t.type;t.render||(Mn&&n.template&&!n.render&&(n.render=Mn(n.template,{isCustomElement:t.appContext.config.isCustomElement,delimiters:n.delimiters})),t.render=n.render||o["d"],t.render._rc&&(t.withProxy=new Proxy(t.ctx,En))),Ln=t,Object(r["h"])(),hn(t,n),Object(r["m"])(),Ln=null}function Vn(t){const e=e=>{t.exposed=Object(r["i"])(e)};return{attrs:t.attrs,slots:t.slots,emit:t.emit,expose:e}}function $n(t,e=Ln){e&&(e.effects||(e.effects=[])).push(t)}const qn=/(?:^|[-_])(\w)/g,Hn=t=>t.replace(qn,t=>t.toUpperCase()).replace(/[-_]/g,"");function Wn(t){return Object(o["n"])(t)&&t.displayName||t.name}function Gn(t,e,n=!1){let r=Wn(e);if(!r&&e.__file){const t=e.__file.match(/([^/\\]+)\.\w+$/);t&&(r=t[1])}if(!r&&t&&t.parent){const n=t=>{for(const n in t)if(t[n]===e)return n};r=n(t.components||t.parent.type.components)||n(t.appContext.components)}return r?Hn(r):n?"App":"Anonymous"}function Kn(t){return Object(o["n"])(t)&&"__vccOpts"in t}function Yn(t){const e=Object(r["a"])(t);return $n(e.effect),e}function Xn(t,e,n){const r=arguments.length;return 2===r?Object(o["t"])(e)&&!Object(o["m"])(e)?Xe(e)?en(t,null,[e]):en(t,e):en(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Xe(n)&&(n=[n]),en(t,e,n))}Symbol("");function Jn(){return void 0}function Zn(t,e){let n;if(Object(o["m"])(t)||Object(o["A"])(t)){n=new Array(t.length);for(let r=0,o=t.length;r=55296&&o<=56319&&n>1,t+=b(t/e);t>v*c>>1;r+=o)t=b(t/v);return b(r+(v+1)*t/(t+a))},O=function(t){var e=[];t=g(t);var n,a,s=t.length,p=l,d=0,v=u;for(n=0;n=p&&ab((r-d)/_))throw RangeError(h);for(d+=(x-p)*_,p=x,n=0;nr)throw RangeError(h);if(a==p){for(var S=d,k=o;;k+=o){var E=k<=v?i:k>=v+c?c:k-v;if(Sl){var d,h=u(arguments[l++]),v=f?i(h).concat(f(h)):i(h),b=v.length,m=0;while(b>m)d=v[m++],r&&!p.call(h,d)||(n[d]=h[d])}return n}:l},6547:function(t,e,n){var r=n("a691"),o=n("1d80"),i=function(t){return function(e,n){var i,c,a=String(o(e)),s=r(n),u=a.length;return s<0||s>=u?t?"":void 0:(i=a.charCodeAt(s),i<55296||i>56319||s+1===u||(c=a.charCodeAt(s+1))<56320||c>57343?t?a.charAt(s):i:t?a.slice(s,s+2):c-56320+(i-55296<<10)+65536)}};t.exports={codeAt:i(!1),charAt:i(!0)}},"65f0":function(t,e,n){var r=n("861d"),o=n("e8b5"),i=n("b622"),c=i("species");t.exports=function(t,e){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)?r(n)&&(n=n[c],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},"69f3":function(t,e,n){var r,o,i,c=n("7f9a"),a=n("da84"),s=n("861d"),u=n("9112"),l=n("5135"),f=n("c6cd"),p=n("f772"),d=n("d012"),h=a.WeakMap,v=function(t){return i(t)?o(t):r(t,{})},b=function(t){return function(e){var n;if(!s(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(c){var m=f.state||(f.state=new h),g=m.get,y=m.has,w=m.set;r=function(t,e){return e.facade=t,w.call(m,t,e),e},o=function(t){return g.call(m,t)||{}},i=function(t){return y.call(m,t)}}else{var O=p("state");d[O]=!0,r=function(t,e){return e.facade=t,u(t,O,e),e},o=function(t){return l(t,O)?t[O]:{}},i=function(t){return l(t,O)}}t.exports={set:r,get:o,has:i,enforce:v,getterFor:b}},"6eeb":function(t,e,n){var r=n("da84"),o=n("9112"),i=n("5135"),c=n("ce4e"),a=n("8925"),s=n("69f3"),u=s.get,l=s.enforce,f=String(String).split("String");(t.exports=function(t,e,n,a){var s,u=!!a&&!!a.unsafe,p=!!a&&!!a.enumerable,d=!!a&&!!a.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),s=l(n),s.source||(s.source=f.join("string"==typeof e?e:""))),t!==r?(u?!d&&t[e]&&(p=!0):delete t[e],p?t[e]=n:o(t,e,n)):p?t[e]=n:c(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||a(this)}))},7156:function(t,e,n){var r=n("861d"),o=n("d2bb");t.exports=function(t,e,n){var i,c;return o&&"function"==typeof(i=e.constructor)&&i!==n&&r(c=i.prototype)&&c!==n.prototype&&o(t,c),t}},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"746f":function(t,e,n){var r=n("428f"),o=n("5135"),i=n("e538"),c=n("9bf2").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||c(e,t,{value:i.f(t)})}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7a23":function(t,e,n){"use strict";n.d(e,"r",(function(){return r["E"]})),n.d(e,"u",(function(){return r["J"]})),n.d(e,"a",(function(){return r["b"]})),n.d(e,"b",(function(){return r["c"]})),n.d(e,"d",(function(){return r["e"]})),n.d(e,"f",(function(){return r["f"]})),n.d(e,"g",(function(){return r["g"]})),n.d(e,"h",(function(){return r["j"]})),n.d(e,"i",(function(){return r["k"]})),n.d(e,"j",(function(){return r["l"]})),n.d(e,"k",(function(){return r["m"]})),n.d(e,"l",(function(){return r["p"]})),n.d(e,"m",(function(){return r["v"]})),n.d(e,"n",(function(){return r["x"]})),n.d(e,"o",(function(){return r["A"]})),n.d(e,"p",(function(){return r["B"]})),n.d(e,"q",(function(){return r["D"]})),n.d(e,"s",(function(){return r["F"]})),n.d(e,"t",(function(){return r["G"]})),n.d(e,"w",(function(){return r["M"]})),n.d(e,"x",(function(){return r["O"]})),n.d(e,"y",(function(){return r["P"]})),n.d(e,"A",(function(){return r["Q"]})),n.d(e,"c",(function(){return z})),n.d(e,"e",(function(){return ct})),n.d(e,"v",(function(){return et})),n.d(e,"z",(function(){return tt}));var r=n("5c40"),o=n("9ff4");n("a1e9");const i="http://www.w3.org/2000/svg",c="undefined"!==typeof document?document:null;let a,s;const u={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n)=>e?c.createElementNS(i,t):c.createElement(t,n?{is:n}:void 0),createText:t=>c.createTextNode(t),createComment:t=>c.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>c.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},cloneNode(t){return t.cloneNode(!0)},insertStaticContent(t,e,n,r){const o=r?s||(s=c.createElementNS(i,"svg")):a||(a=c.createElement("div"));o.innerHTML=t;const l=o.firstChild;let f=l,p=f;while(f)p=f,u.insert(f,e,n),f=o.firstChild;return[l,p]}};function l(t,e,n){if(null==e&&(e=""),n)t.setAttribute("class",e);else{const n=t._vtc;n&&(e=(e?[e,...n]:[...n]).join(" ")),t.className=e}}function f(t,e,n){const r=t.style;if(n)if(Object(o["A"])(n)){if(e!==n){const e=r.display;r.cssText=n,"_vod"in t&&(r.display=e)}}else{for(const t in n)d(r,t,n[t]);if(e&&!Object(o["A"])(e))for(const t in e)null==n[t]&&d(r,t,"")}else t.removeAttribute("style")}const p=/\s*!important$/;function d(t,e,n){if(Object(o["m"])(n))n.forEach(n=>d(t,e,n));else if(e.startsWith("--"))t.setProperty(e,n);else{const r=b(t,e);p.test(n)?t.setProperty(Object(o["k"])(r),n.replace(p,""),"important"):t[r]=n}}const h=["Webkit","Moz","ms"],v={};function b(t,e){const n=v[e];if(n)return n;let r=Object(o["e"])(e);if("filter"!==r&&r in t)return v[e]=r;r=Object(o["f"])(r);for(let o=0;odocument.createEvent("Event").timeStamp&&(w=()=>performance.now());let O=0;const j=Promise.resolve(),x=()=>{O=0},_=()=>O||(j.then(x),O=w());function S(t,e,n,r){t.addEventListener(e,n,r)}function k(t,e,n,r){t.removeEventListener(e,n,r)}function E(t,e,n,r,o=null){const i=t._vei||(t._vei={}),c=i[e];if(r&&c)c.value=r;else{const[n,a]=C(e);if(r){const c=i[e]=P(r,o);S(t,n,c,a)}else c&&(k(t,n,c,a),i[e]=void 0)}}const A=/(?:Once|Passive|Capture)$/;function C(t){let e;if(A.test(t)){let n;e={};while(n=t.match(A))t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}return[Object(o["k"])(t.slice(2)),e]}function P(t,e){const n=t=>{const o=t.timeStamp||w();o>=n.attached-1&&Object(r["d"])(L(t,n.value),e,5,[t])};return n.value=t,n.attached=_(),n}function L(t,e){if(Object(o["m"])(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(t=>e=>!e._stopped&&t(e))}return e}const T=/^on[a-z]/,I=(t,e)=>"value"===e,R=(t,e,n,r,i=!1,c,a,s,u)=>{switch(e){case"class":l(t,r,i);break;case"style":f(t,n,r);break;default:Object(o["u"])(e)?Object(o["s"])(e)||E(t,e,n,r,a):M(t,e,r,i)?y(t,e,r,c,a,s,u):("true-value"===e?t._trueValue=r:"false-value"===e&&(t._falseValue=r),g(t,e,r,i));break}};function M(t,e,n,r){return r?"innerHTML"===e||!!(e in t&&T.test(e)&&Object(o["n"])(n)):"spellcheck"!==e&&"draggable"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!T.test(e)||!Object(o["A"])(n))&&e in t))))}const F="transition",N="animation",z=(t,{slots:e})=>Object(r["p"])(r["a"],B(t),e);z.displayName="Transition";const U={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};z.props=Object(o["h"])({},r["a"].props,U);function B(t){let{name:e="v",type:n,css:r=!0,duration:i,enterFromClass:c=e+"-enter-from",enterActiveClass:a=e+"-enter-active",enterToClass:s=e+"-enter-to",appearFromClass:u=c,appearActiveClass:l=a,appearToClass:f=s,leaveFromClass:p=e+"-leave-from",leaveActiveClass:d=e+"-leave-active",leaveToClass:h=e+"-leave-to"}=t;const v={};for(const o in t)o in U||(v[o]=t[o]);if(!r)return v;const b=D(i),m=b&&b[0],g=b&&b[1],{onBeforeEnter:y,onEnter:w,onEnterCancelled:O,onLeave:j,onLeaveCancelled:x,onBeforeAppear:_=y,onAppear:S=w,onAppearCancelled:k=O}=v,E=(t,e,n)=>{q(t,e?f:s),q(t,e?l:a),n&&n()},A=(t,e)=>{q(t,h),q(t,d),e&&e()},C=t=>(e,r)=>{const o=t?S:w,i=()=>E(e,t,r);o&&o(e,i),H(()=>{q(e,t?u:c),$(e,t?f:s),o&&o.length>1||G(e,n,m,i)})};return Object(o["h"])(v,{onBeforeEnter(t){y&&y(t),$(t,c),$(t,a)},onBeforeAppear(t){_&&_(t),$(t,u),$(t,l)},onEnter:C(!1),onAppear:C(!0),onLeave(t,e){const r=()=>A(t,e);$(t,p),J(),$(t,d),H(()=>{q(t,p),$(t,h),j&&j.length>1||G(t,n,g,r)}),j&&j(t,r)},onEnterCancelled(t){E(t,!1),O&&O(t)},onAppearCancelled(t){E(t,!0),k&&k(t)},onLeaveCancelled(t){A(t),x&&x(t)}})}function D(t){if(null==t)return null;if(Object(o["t"])(t))return[V(t.enter),V(t.leave)];{const e=V(t);return[e,e]}}function V(t){const e=Object(o["K"])(t);return e}function $(t,e){e.split(/\s+/).forEach(e=>e&&t.classList.add(e)),(t._vtc||(t._vtc=new Set)).add(e)}function q(t,e){e.split(/\s+/).forEach(e=>e&&t.classList.remove(e));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function H(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let W=0;function G(t,e,n,r){const o=t._endId=++W,i=()=>{o===t._endId&&r()};if(n)return setTimeout(i,n);const{type:c,timeout:a,propCount:s}=K(t,e);if(!c)return r();const u=c+"end";let l=0;const f=()=>{t.removeEventListener(u,p),i()},p=e=>{e.target===t&&++l>=s&&f()};setTimeout(()=>{l(n[t]||"").split(", "),o=r(F+"Delay"),i=r(F+"Duration"),c=Y(o,i),a=r(N+"Delay"),s=r(N+"Duration"),u=Y(a,s);let l=null,f=0,p=0;e===F?c>0&&(l=F,f=c,p=i.length):e===N?u>0&&(l=N,f=u,p=s.length):(f=Math.max(c,u),l=f>0?c>u?F:N:null,p=l?l===F?i.length:s.length:0);const d=l===F&&/\b(transform|all)(,|$)/.test(n[F+"Property"]);return{type:l,timeout:f,propCount:p,hasTransform:d}}function Y(t,e){while(t.lengthX(e)+X(t[n])))}function X(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function J(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Z=["ctrl","shift","alt","meta"],Q={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,e)=>Z.some(n=>t[n+"Key"]&&!e.includes(n))},tt=(t,e)=>(n,...r)=>{for(let t=0;t{nt(t,!1)}):nt(t,e))},beforeUnmount(t,{value:e}){nt(t,e)}};function nt(t,e){t.style.display=e?t._vod:"none"}const rt=Object(o["h"])({patchProp:R,forcePatchProp:I},u);let ot;function it(){return ot||(ot=Object(r["i"])(rt))}const ct=(...t)=>{const e=it().createApp(...t);const{mount:n}=e;return e.mount=t=>{const r=at(t);if(!r)return;const i=e._component;Object(o["n"])(i)||i.render||i.template||(i.template=r.innerHTML),r.innerHTML="";const c=n(r);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),c},e};function at(t){if(Object(o["A"])(t)){const e=document.querySelector(t);return e}return t}},"7b0b":function(t,e,n){var r=n("1d80");t.exports=function(t){return Object(r(t))}},"7c73":function(t,e,n){var r,o=n("825a"),i=n("37e8"),c=n("7839"),a=n("d012"),s=n("1be4"),u=n("cc12"),l=n("f772"),f=">",p="<",d="prototype",h="script",v=l("IE_PROTO"),b=function(){},m=function(t){return p+h+f+t+p+"/"+h+f},g=function(t){t.write(m("")),t.close();var e=t.parentWindow.Object;return t=null,e},y=function(){var t,e=u("iframe"),n="java"+h+":";return e.style.display="none",s.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(m("document.F=Object")),t.close(),t.F},w=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}w=r?g(r):y();var t=c.length;while(t--)delete w[d][c[t]];return w()};a[v]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(b[d]=o(t),n=new b,b[d]=null,n[v]=t):n=w(),void 0===e?n:i(n,e)}},"7db0":function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").find,i=n("44d2"),c="find",a=!0;c in[]&&Array(1)[c]((function(){a=!1})),r({target:"Array",proto:!0,forced:a},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i(c)},"7dd0":function(t,e,n){"use strict";var r=n("23e7"),o=n("9ed3"),i=n("e163"),c=n("d2bb"),a=n("d44e"),s=n("9112"),u=n("6eeb"),l=n("b622"),f=n("c430"),p=n("3f8c"),d=n("ae93"),h=d.IteratorPrototype,v=d.BUGGY_SAFARI_ITERATORS,b=l("iterator"),m="keys",g="values",y="entries",w=function(){return this};t.exports=function(t,e,n,l,d,O,j){o(n,e,l);var x,_,S,k=function(t){if(t===d&&L)return L;if(!v&&t in C)return C[t];switch(t){case m:return function(){return new n(this,t)};case g:return function(){return new n(this,t)};case y:return function(){return new n(this,t)}}return function(){return new n(this)}},E=e+" Iterator",A=!1,C=t.prototype,P=C[b]||C["@@iterator"]||d&&C[d],L=!v&&P||k(d),T="Array"==e&&C.entries||P;if(T&&(x=i(T.call(new t)),h!==Object.prototype&&x.next&&(f||i(x)===h||(c?c(x,h):"function"!=typeof x[b]&&s(x,b,w)),a(x,E,!0,!0),f&&(p[E]=w))),d==g&&P&&P.name!==g&&(A=!0,L=function(){return P.call(this)}),f&&!j||C[b]===L||s(C,b,L),p[e]=L,d)if(_={values:k(g),keys:O?L:k(m),entries:k(y)},j)for(S in _)(v||A||!(S in C))&&u(C,S,_[S]);else r({target:e,proto:!0,forced:v||A},_);return _}},"7f9a":function(t,e,n){var r=n("da84"),o=n("8925"),i=r.WeakMap;t.exports="function"===typeof i&&/native code/.test(o(i))},"825a":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},"83ab":function(t,e,n){var r=n("d039");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,e,n){"use strict";var r=n("c04e"),o=n("9bf2"),i=n("5c6c");t.exports=function(t,e,n){var c=r(e);c in t?o.f(t,c,i(0,n)):t[c]=n}},"841c":function(t,e,n){"use strict";var r=n("d784"),o=n("825a"),i=n("1d80"),c=n("129f"),a=n("14c3");r("search",1,(function(t,e,n){return[function(e){var n=i(this),r=void 0==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var i=o(t),s=String(this),u=i.lastIndex;c(u,0)||(i.lastIndex=0);var l=a(i,s);return c(i.lastIndex,u)||(i.lastIndex=u),null===l?-1:l.index}]}))},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8925:function(t,e,n){var r=n("c6cd"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},"8aa5":function(t,e,n){"use strict";var r=n("6547").charAt;t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"90e3":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},9112:function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("5c6c");t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},9263:function(t,e,n){"use strict";var r=n("ad6d"),o=n("9f7f"),i=RegExp.prototype.exec,c=String.prototype.replace,a=i,s=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),u=o.UNSUPPORTED_Y||o.BROKEN_CARET,l=void 0!==/()??/.exec("")[1],f=s||l||u;f&&(a=function(t){var e,n,o,a,f=this,p=u&&f.sticky,d=r.call(f),h=f.source,v=0,b=t;return p&&(d=d.replace("y",""),-1===d.indexOf("g")&&(d+="g"),b=String(t).slice(f.lastIndex),f.lastIndex>0&&(!f.multiline||f.multiline&&"\n"!==t[f.lastIndex-1])&&(h="(?: "+h+")",b=" "+b,v++),n=new RegExp("^(?:"+h+")",d)),l&&(n=new RegExp("^"+h+"$(?!\\s)",d)),s&&(e=f.lastIndex),o=i.call(p?n:f,b),p?o?(o.input=o.input.slice(v),o[0]=o[0].slice(v),o.index=f.lastIndex,f.lastIndex+=o[0].length):f.lastIndex=0:s&&o&&(f.lastIndex=f.global?o.index+o[0].length:e),l&&o&&o.length>1&&c.call(o[0],n,(function(){for(a=1;a0?arguments[0]:void 0,l=this,d=[];if(E(l,{type:S,entries:d,updateURL:function(){},updateSearchParams:B}),void 0!==u)if(b(u))if(t=w(u),"function"===typeof t){e=t.call(u),n=e.next;while(!(r=n.call(e)).done){if(o=y(v(r.value)),i=o.next,(c=i.call(o)).done||(a=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");d.push({key:c.value+"",value:a.value+""})}}else for(s in u)p(u,s)&&d.push({key:s,value:u[s]+""});else U(d,"string"===typeof u?"?"===u.charAt(0)?u.slice(1):u:u+"")},q=$.prototype;a(q,{append:function(t,e){D(arguments.length,2);var n=A(this);n.entries.push({key:t+"",value:e+""}),n.updateURL()},delete:function(t){D(arguments.length,1);var e=A(this),n=e.entries,r=t+"",o=0;while(ot.key){o.splice(e,0,t);break}e===n&&o.push(t)}r.updateURL()},forEach:function(t){var e,n=A(this).entries,r=d(t,arguments.length>1?arguments[1]:void 0,3),o=0;while(o1&&(e=arguments[1],b(e)&&(n=e.body,h(n)===S&&(r=e.headers?new x(e.headers):new x,r.has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),e=m(e,{body:g(0,String(n)),headers:g(0,r)}))),o.push(e)),j.apply(this,o)}}),t.exports={URLSearchParams:$,getState:A}},"9a1f":function(t,e,n){var r=n("825a"),o=n("35a1");t.exports=function(t){var e=o(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return r(e.call(t))}},"9bdd":function(t,e,n){var r=n("825a"),o=n("2a62");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(c){throw o(t),c}}},"9bf2":function(t,e,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),c=n("c04e"),a=Object.defineProperty;e.f=r?a:function(t,e,n){if(i(t),e=c(e,!0),i(n),o)try{return a(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9ed3":function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,o=n("7c73"),i=n("5c6c"),c=n("d44e"),a=n("3f8c"),s=function(){return this};t.exports=function(t,e,n){var u=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),c(t,u,!1,!0),a[u]=s,t}},"9f7f":function(t,e,n){"use strict";var r=n("d039");function o(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},"9ff4":function(t,e,n){"use strict";(function(t){function r(t,e){const n=Object.create(null),r=t.split(",");for(let o=0;o!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,"a",(function(){return x})),n.d(e,"b",(function(){return j})),n.d(e,"c",(function(){return S})),n.d(e,"d",(function(){return _})),n.d(e,"e",(function(){return X})),n.d(e,"f",(function(){return Q})),n.d(e,"g",(function(){return rt})),n.d(e,"h",(function(){return C})),n.d(e,"i",(function(){return et})),n.d(e,"j",(function(){return T})),n.d(e,"k",(function(){return Z})),n.d(e,"l",(function(){return nt})),n.d(e,"m",(function(){return I})),n.d(e,"n",(function(){return N})),n.d(e,"o",(function(){return i})),n.d(e,"p",(function(){return v})),n.d(e,"q",(function(){return W})),n.d(e,"r",(function(){return R})),n.d(e,"s",(function(){return A})),n.d(e,"t",(function(){return B})),n.d(e,"u",(function(){return E})),n.d(e,"v",(function(){return D})),n.d(e,"w",(function(){return G})),n.d(e,"x",(function(){return b})),n.d(e,"y",(function(){return M})),n.d(e,"z",(function(){return a})),n.d(e,"A",(function(){return z})),n.d(e,"B",(function(){return U})),n.d(e,"C",(function(){return g})),n.d(e,"D",(function(){return y})),n.d(e,"E",(function(){return r})),n.d(e,"F",(function(){return p})),n.d(e,"G",(function(){return s})),n.d(e,"H",(function(){return P})),n.d(e,"I",(function(){return w})),n.d(e,"J",(function(){return tt})),n.d(e,"K",(function(){return ot})),n.d(e,"L",(function(){return q}));const o="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",i=r(o);const c="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",a=r(c);function s(t){if(I(t)){const e={};for(let n=0;n{if(t){const n=t.split(l);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function p(t){let e="";if(z(t))e=t;else if(I(t))for(let n=0;ng(t,e))}const w=t=>null==t?"":B(t)?JSON.stringify(t,O,2):String(t),O=(t,e)=>R(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[e,n])=>(t[e+" =>"]=n,t),{})}:M(e)?{[`Set(${e.size})`]:[...e.values()]}:!B(e)||I(e)||H(e)?e:String(e),j={},x=[],_=()=>{},S=()=>!1,k=/^on[^a-z]/,E=t=>k.test(t),A=t=>t.startsWith("onUpdate:"),C=Object.assign,P=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},L=Object.prototype.hasOwnProperty,T=(t,e)=>L.call(t,e),I=Array.isArray,R=t=>"[object Map]"===$(t),M=t=>"[object Set]"===$(t),F=t=>t instanceof Date,N=t=>"function"===typeof t,z=t=>"string"===typeof t,U=t=>"symbol"===typeof t,B=t=>null!==t&&"object"===typeof t,D=t=>B(t)&&N(t.then)&&N(t.catch),V=Object.prototype.toString,$=t=>V.call(t),q=t=>$(t).slice(8,-1),H=t=>"[object Object]"===$(t),W=t=>z(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,G=r(",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),K=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},Y=/-(\w)/g,X=K(t=>t.replace(Y,(t,e)=>e?e.toUpperCase():"")),J=/\B([A-Z])/g,Z=K(t=>t.replace(J,"-$1").toLowerCase()),Q=K(t=>t.charAt(0).toUpperCase()+t.slice(1)),tt=K(t=>t?"on"+Q(t):""),et=(t,e)=>t!==e&&(t===t||e===e),nt=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},ot=t=>{const e=parseFloat(t);return isNaN(e)?t:e}}).call(this,n("c8ba"))},a1e9:function(t,e,n){"use strict";n.d(e,"a",(function(){return Tt})),n.d(e,"b",(function(){return At})),n.d(e,"c",(function(){return l})),n.d(e,"d",(function(){return mt})),n.d(e,"e",(function(){return vt})),n.d(e,"f",(function(){return bt})),n.d(e,"g",(function(){return wt})),n.d(e,"h",(function(){return m})),n.d(e,"i",(function(){return kt})),n.d(e,"j",(function(){return ft})),n.d(e,"k",(function(){return dt})),n.d(e,"l",(function(){return Ot})),n.d(e,"m",(function(){return y})),n.d(e,"n",(function(){return pt})),n.d(e,"o",(function(){return f})),n.d(e,"p",(function(){return gt})),n.d(e,"q",(function(){return Pt})),n.d(e,"r",(function(){return w})),n.d(e,"s",(function(){return O})),n.d(e,"t",(function(){return _t}));var r=n("9ff4");const o=new WeakMap,i=[];let c;const a=Symbol(""),s=Symbol("");function u(t){return t&&!0===t._isEffect}function l(t,e=r["b"]){u(t)&&(t=t.raw);const n=d(t,e);return e.lazy||n(),n}function f(t){t.active&&(h(t),t.options.onStop&&t.options.onStop(),t.active=!1)}let p=0;function d(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!i.includes(n)){h(n);try{return g(),i.push(n),c=n,t()}finally{i.pop(),y(),c=i[i.length-1]}}};return n.id=p++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}function h(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach(t=>{(t!==c||t.allowRecurse)&&p.add(t)})};if("clear"===e)f.forEach(d);else if("length"===n&&Object(r["m"])(t))f.forEach((t,e)=>{("length"===e||e>=i)&&d(t)});else switch(void 0!==n&&d(f.get(n)),e){case"add":Object(r["m"])(t)?Object(r["q"])(n)&&d(f.get("length")):(d(f.get(a)),Object(r["r"])(t)&&d(f.get(s)));break;case"delete":Object(r["m"])(t)||(d(f.get(a)),Object(r["r"])(t)&&d(f.get(s)));break;case"set":Object(r["r"])(t)&&d(f.get(a));break}const h=t=>{t.options.scheduler?t.options.scheduler(t):t()};p.forEach(h)}const j=Object(r["E"])("__proto__,__v_isRef,__isVue"),x=new Set(Object.getOwnPropertyNames(Symbol).map(t=>Symbol[t]).filter(r["B"])),_=C(),S=C(!1,!0),k=C(!0),E=C(!0,!0),A={};function C(t=!1,e=!1){return function(n,o,i){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&i===(t?st:at).get(n))return n;const c=Object(r["m"])(n);if(!t&&c&&Object(r["j"])(A,o))return Reflect.get(A,o,i);const a=Reflect.get(n,o,i);if(Object(r["B"])(o)?x.has(o):j(o))return a;if(t||w(n,"get",o),e)return a;if(wt(a)){const t=!c||!Object(r["q"])(o);return t?a.value:a}return Object(r["t"])(a)?t?dt(a):ft(a):a}}["includes","indexOf","lastIndexOf"].forEach(t=>{const e=Array.prototype[t];A[t]=function(...t){const n=gt(this);for(let e=0,o=this.length;e{const e=Array.prototype[t];A[t]=function(...t){m();const n=e.apply(this,t);return y(),n}});const P=T(),L=T(!0);function T(t=!1){return function(e,n,o,i){const c=e[n];if(!t&&(o=gt(o),!Object(r["m"])(e)&&wt(c)&&!wt(o)))return c.value=o,!0;const a=Object(r["m"])(e)&&Object(r["q"])(n)?Number(n)Object(r["t"])(t)?ft(t):t),B=t=>Object(r["t"])(t)?dt(t):t,D=t=>t,V=t=>Reflect.getPrototypeOf(t);function $(t,e,n=!1,r=!1){t=t["__v_raw"];const o=gt(t),i=gt(e);e!==i&&!n&&w(o,"get",e),!n&&w(o,"get",i);const{has:c}=V(o),a=n?B:r?D:U;return c.call(o,e)?a(t.get(e)):c.call(o,i)?a(t.get(i)):void 0}function q(t,e=!1){const n=this["__v_raw"],r=gt(n),o=gt(t);return t!==o&&!e&&w(r,"has",t),!e&&w(r,"has",o),t===o?n.has(t):n.has(t)||n.has(o)}function H(t,e=!1){return t=t["__v_raw"],!e&&w(gt(t),"iterate",a),Reflect.get(t,"size",t)}function W(t){t=gt(t);const e=gt(this),n=V(e),r=n.has.call(e,t);return r||(e.add(t),O(e,"add",t,t)),this}function G(t,e){e=gt(e);const n=gt(this),{has:o,get:i}=V(n);let c=o.call(n,t);c||(t=gt(t),c=o.call(n,t));const a=i.call(n,t);return n.set(t,e),c?Object(r["i"])(e,a)&&O(n,"set",t,e,a):O(n,"add",t,e),this}function K(t){const e=gt(this),{has:n,get:r}=V(e);let o=n.call(e,t);o||(t=gt(t),o=n.call(e,t));const i=r?r.call(e,t):void 0,c=e.delete(t);return o&&O(e,"delete",t,void 0,i),c}function Y(){const t=gt(this),e=0!==t.size,n=void 0,r=t.clear();return e&&O(t,"clear",void 0,void 0,n),r}function X(t,e){return function(n,r){const o=this,i=o["__v_raw"],c=gt(i),s=t?B:e?D:U;return!t&&w(c,"iterate",a),i.forEach((t,e)=>n.call(r,s(t),s(e),o))}}function J(t,e,n){return function(...o){const i=this["__v_raw"],c=gt(i),u=Object(r["r"])(c),l="entries"===t||t===Symbol.iterator&&u,f="keys"===t&&u,p=i[t](...o),d=e?B:n?D:U;return!e&&w(c,"iterate",f?s:a),{next(){const{value:t,done:e}=p.next();return e?{value:t,done:e}:{value:l?[d(t[0]),d(t[1])]:d(t),done:e}},[Symbol.iterator](){return this}}}}function Z(t){return function(...e){return"delete"!==t&&this}}const Q={get(t){return $(this,t)},get size(){return H(this)},has:q,add:W,set:G,delete:K,clear:Y,forEach:X(!1,!1)},tt={get(t){return $(this,t,!1,!0)},get size(){return H(this)},has:q,add:W,set:G,delete:K,clear:Y,forEach:X(!1,!0)},et={get(t){return $(this,t,!0)},get size(){return H(this,!0)},has(t){return q.call(this,t,!0)},add:Z("add"),set:Z("set"),delete:Z("delete"),clear:Z("clear"),forEach:X(!0,!1)},nt=["keys","values","entries",Symbol.iterator];function rt(t,e){const n=e?tt:t?et:Q;return(e,o,i)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(Object(r["j"])(n,o)&&o in e?n:e,o,i)}nt.forEach(t=>{Q[t]=J(t,!1,!1),et[t]=J(t,!0,!1),tt[t]=J(t,!1,!0)});const ot={get:rt(!1,!1)},it={get:rt(!1,!0)},ct={get:rt(!0,!1)};const at=new WeakMap,st=new WeakMap;function ut(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function lt(t){return t["__v_skip"]||!Object.isExtensible(t)?0:ut(Object(r["L"])(t))}function ft(t){return t&&t["__v_isReadonly"]?t:ht(t,!1,F,ot)}function pt(t){return ht(t,!1,z,it)}function dt(t){return ht(t,!0,N,ct)}function ht(t,e,n,o){if(!Object(r["t"])(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const i=e?st:at,c=i.get(t);if(c)return c;const a=lt(t);if(0===a)return t;const s=new Proxy(t,2===a?o:n);return i.set(t,s),s}function vt(t){return bt(t)?vt(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function bt(t){return!(!t||!t["__v_isReadonly"])}function mt(t){return vt(t)||bt(t)}function gt(t){return t&>(t["__v_raw"])||t}const yt=t=>Object(r["t"])(t)?ft(t):t;function wt(t){return Boolean(t&&!0===t.__v_isRef)}function Ot(t){return xt(t)}class jt{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:yt(t)}get value(){return w(gt(this),"get","value"),this._value}set value(t){Object(r["i"])(gt(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:yt(t),O(gt(this),"set","value",t))}}function xt(t,e=!1){return wt(t)?t:new jt(t,e)}function _t(t){return wt(t)?t.value:t}const St={get:(t,e,n)=>_t(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const o=t[e];return wt(o)&&!wt(n)?(o.value=n,!0):Reflect.set(t,e,n,r)}};function kt(t){return vt(t)?t:new Proxy(t,St)}class Et{constructor(t){this.__v_isRef=!0;const{get:e,set:n}=t(()=>w(this,"get","value"),()=>O(this,"set","value"));this._get=e,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}function At(t){return new Et(t)}class Ct{constructor(t,e){this._object=t,this._key=e,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(t){this._object[this._key]=t}}function Pt(t,e){return wt(t[e])?t[e]:new Ct(t,e)}class Lt{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=l(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,O(gt(this),"set","value"))}}),this["__v_isReadonly"]=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),w(gt(this),"get","value"),this._value}set value(t){this._setter(t)}}function Tt(t){let e,n;return Object(r["n"])(t)?(e=t,n=r["d"]):(e=t.get,n=t.set),new Lt(e,n,Object(r["n"])(t)||!t.set)}},a4b4:function(t,e,n){var r=n("342f");t.exports=/web0s(?!.*chrome)/i.test(r)},a4d3:function(t,e,n){"use strict";var r=n("23e7"),o=n("da84"),i=n("d066"),c=n("c430"),a=n("83ab"),s=n("4930"),u=n("fdbf"),l=n("d039"),f=n("5135"),p=n("e8b5"),d=n("861d"),h=n("825a"),v=n("7b0b"),b=n("fc6a"),m=n("c04e"),g=n("5c6c"),y=n("7c73"),w=n("df75"),O=n("241c"),j=n("057f"),x=n("7418"),_=n("06cf"),S=n("9bf2"),k=n("d1e7"),E=n("9112"),A=n("6eeb"),C=n("5692"),P=n("f772"),L=n("d012"),T=n("90e3"),I=n("b622"),R=n("e538"),M=n("746f"),F=n("d44e"),N=n("69f3"),z=n("b727").forEach,U=P("hidden"),B="Symbol",D="prototype",V=I("toPrimitive"),$=N.set,q=N.getterFor(B),H=Object[D],W=o.Symbol,G=i("JSON","stringify"),K=_.f,Y=S.f,X=j.f,J=k.f,Z=C("symbols"),Q=C("op-symbols"),tt=C("string-to-symbol-registry"),et=C("symbol-to-string-registry"),nt=C("wks"),rt=o.QObject,ot=!rt||!rt[D]||!rt[D].findChild,it=a&&l((function(){return 7!=y(Y({},"a",{get:function(){return Y(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=K(H,e);r&&delete H[e],Y(t,e,n),r&&t!==H&&Y(H,e,r)}:Y,ct=function(t,e){var n=Z[t]=y(W[D]);return $(n,{type:B,tag:t,description:e}),a||(n.description=e),n},at=u?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof W},st=function(t,e,n){t===H&&st(Q,e,n),h(t);var r=m(e,!0);return h(n),f(Z,r)?(n.enumerable?(f(t,U)&&t[U][r]&&(t[U][r]=!1),n=y(n,{enumerable:g(0,!1)})):(f(t,U)||Y(t,U,g(1,{})),t[U][r]=!0),it(t,r,n)):Y(t,r,n)},ut=function(t,e){h(t);var n=b(e),r=w(n).concat(ht(n));return z(r,(function(e){a&&!ft.call(n,e)||st(t,e,n[e])})),t},lt=function(t,e){return void 0===e?y(t):ut(y(t),e)},ft=function(t){var e=m(t,!0),n=J.call(this,e);return!(this===H&&f(Z,e)&&!f(Q,e))&&(!(n||!f(this,e)||!f(Z,e)||f(this,U)&&this[U][e])||n)},pt=function(t,e){var n=b(t),r=m(e,!0);if(n!==H||!f(Z,r)||f(Q,r)){var o=K(n,r);return!o||!f(Z,r)||f(n,U)&&n[U][r]||(o.enumerable=!0),o}},dt=function(t){var e=X(b(t)),n=[];return z(e,(function(t){f(Z,t)||f(L,t)||n.push(t)})),n},ht=function(t){var e=t===H,n=X(e?Q:b(t)),r=[];return z(n,(function(t){!f(Z,t)||e&&!f(H,t)||r.push(Z[t])})),r};if(s||(W=function(){if(this instanceof W)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=T(t),n=function(t){this===H&&n.call(Q,t),f(this,U)&&f(this[U],e)&&(this[U][e]=!1),it(this,e,g(1,t))};return a&&ot&&it(H,e,{configurable:!0,set:n}),ct(e,t)},A(W[D],"toString",(function(){return q(this).tag})),A(W,"withoutSetter",(function(t){return ct(T(t),t)})),k.f=ft,S.f=st,_.f=pt,O.f=j.f=dt,x.f=ht,R.f=function(t){return ct(I(t),t)},a&&(Y(W[D],"description",{configurable:!0,get:function(){return q(this).description}}),c||A(H,"propertyIsEnumerable",ft,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!s,sham:!s},{Symbol:W}),z(w(nt),(function(t){M(t)})),r({target:B,stat:!0,forced:!s},{for:function(t){var e=String(t);if(f(tt,e))return tt[e];var n=W(e);return tt[e]=n,et[n]=e,n},keyFor:function(t){if(!at(t))throw TypeError(t+" is not a symbol");if(f(et,t))return et[t]},useSetter:function(){ot=!0},useSimple:function(){ot=!1}}),r({target:"Object",stat:!0,forced:!s,sham:!a},{create:lt,defineProperty:st,defineProperties:ut,getOwnPropertyDescriptor:pt}),r({target:"Object",stat:!0,forced:!s},{getOwnPropertyNames:dt,getOwnPropertySymbols:ht}),r({target:"Object",stat:!0,forced:l((function(){x.f(1)}))},{getOwnPropertySymbols:function(t){return x.f(v(t))}}),G){var vt=!s||l((function(){var t=W();return"[null]"!=G([t])||"{}"!=G({a:t})||"{}"!=G(Object(t))}));r({target:"JSON",stat:!0,forced:vt},{stringify:function(t,e,n){var r,o=[t],i=1;while(arguments.length>i)o.push(arguments[i++]);if(r=e,(d(e)||void 0!==t)&&!at(t))return p(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!at(e))return e}),o[1]=e,G.apply(null,o)}})}W[D][V]||E(W[D],V,W[D].valueOf),F(W,B),L[U]=!0},a691:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},a79d:function(t,e,n){"use strict";var r=n("23e7"),o=n("c430"),i=n("fea9"),c=n("d039"),a=n("d066"),s=n("4840"),u=n("cdf9"),l=n("6eeb"),f=!!i&&c((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}));r({target:"Promise",proto:!0,real:!0,forced:f},{finally:function(t){var e=s(this,a("Promise")),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then((function(){return n}))}:t,n?function(n){return u(e,t()).then((function(){throw n}))}:t)}}),o||"function"!=typeof i||i.prototype["finally"]||l(i.prototype,"finally",a("Promise").prototype["finally"])},a9e3:function(t,e,n){"use strict";var r=n("83ab"),o=n("da84"),i=n("94ca"),c=n("6eeb"),a=n("5135"),s=n("c6b6"),u=n("7156"),l=n("c04e"),f=n("d039"),p=n("7c73"),d=n("241c").f,h=n("06cf").f,v=n("9bf2").f,b=n("58a8").trim,m="Number",g=o[m],y=g.prototype,w=s(p(y))==m,O=function(t){var e,n,r,o,i,c,a,s,u=l(t,!1);if("string"==typeof u&&u.length>2)if(u=b(u),e=u.charCodeAt(0),43===e||45===e){if(n=u.charCodeAt(2),88===n||120===n)return NaN}else if(48===e){switch(u.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+u}for(i=u.slice(2),c=i.length,a=0;ao)return NaN;return parseInt(i,r)}return+u};if(i(m,!g(" 0o1")||!g("0b1")||g("+0x1"))){for(var j,x=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof x&&(w?f((function(){y.valueOf.call(n)})):s(n)!=m)?u(new g(O(e)),n,x):O(e)},_=r?d(g):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,fromString,range".split(","),S=0;_.length>S;S++)a(g,j=_[S])&&!a(x,j)&&v(x,j,h(g,j));x.prototype=y,y.constructor=x,c(o,m,x)}},ac1f:function(t,e,n){"use strict";var r=n("23e7"),o=n("9263");r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},ad3d:function(t,e,n){"use strict";(function(t){n.d(e,"a",(function(){return O}));var r=n("7a23"),o=n("ecee"),i="undefined"!==typeof window?window:"undefined"!==typeof t?t:"undefined"!==typeof self?self:{};function c(t,e){return e={exports:{}},t(e,e.exports),e.exports}var a=c((function(t){(function(e){var n=function(t,e,r){if(!u(e)||f(e)||p(e)||d(e)||s(e))return e;var o,i=0,c=0;if(l(e))for(o=[],c=e.length;i=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n},p=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"===typeof t)return t;var o=(t.children||[]).map((function(t){return v(t)})).map((function(t){return"string"===typeof t?t:t()})),i=Object.keys(t.attributes||{}).reduce((function(e,n){var r=t.attributes[n];switch(n){case"class":e.class=h(r);break;case"style":e.style=d(r);break;default:e.attrs[n]=r}return e}),{attrs:{},class:{},style:{}}),c=(n.class,n.style),a=void 0===c?{}:c,s=f(n,["class","style"]);return function(){return Object(r["l"])(t.tag,l({},e,{class:i.class,style:l({},i.style,a)},i.attrs,s),o)}}var b=!1;try{b=!0}catch(j){}function m(){var t;!b&&console&&"function"===typeof console.error&&(t=console).error.apply(t,arguments)}function g(t,e){return Array.isArray(e)&&e.length>0||!Array.isArray(e)&&e?u({},t,e):{}}function y(t){var e,n=(e={"fa-spin":t.spin,"fa-pulse":t.pulse,"fa-fw":t.fixedWidth,"fa-border":t.border,"fa-li":t.listItem,"fa-inverse":t.inverse,"fa-flip-horizontal":"horizontal"===t.flip||"both"===t.flip,"fa-flip-vertical":"vertical"===t.flip||"both"===t.flip},u(e,"fa-"+t.size,null!==t.size),u(e,"fa-rotate-"+t.rotation,null!==t.rotation),u(e,"fa-pull-"+t.pull,null!==t.pull),u(e,"fa-swap-opacity",t.swapOpacity),e);return Object.keys(n).map((function(t){return n[t]?t:null})).filter((function(t){return t}))}function w(t){return null===t?null:"object"===("undefined"===typeof t?"undefined":s(t))&&t.prefix&&t.iconName?t:Array.isArray(t)&&2===t.length?{prefix:t[0],iconName:t[1]}:"string"===typeof t?{prefix:"fas",iconName:t}:void 0}var O=Object(r["k"])({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:String,default:null,validator:function(t){return["horizontal","vertical","both"].indexOf(t)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(t){return["right","left"].indexOf(t)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(t){return[90,180,270].indexOf(Number.parseInt(t,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(t){return["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(t)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},inverse:{type:Boolean,default:!1}},setup:function(t,e){var n=e.attrs,r=t.symbol,i=t.title,c=w(t.icon),a=g("classes",y(t)),s=g("transform","string"===typeof t.transform?o["d"].transform(t.transform):t.transform),u=g("mask",w(t.mask)),f=Object(o["b"])(c,l({},a,s,u,{symbol:r,title:i}));if(!f)return m("Could not find one or more icon(s)",c,u);var p=f.abstract[0];return v(p,{},n)}});Object(r["k"])({name:"FontAwesomeLayers",props:{fixedWidth:{type:Boolean,default:!1}},setup:function(t,e){var n=e.slots,i=o["a"].familyPrefix,c=[i+"-layers"].concat(p(t.fixedWidth?[i+"-fw"]:[]));return function(){return Object(r["l"])("div",{class:c},n.default?n.default():[])}}}),Object(r["k"])({name:"FontAwesomeLayersText",props:{value:{type:[String,Number],default:""},transform:{type:[String,Object],default:null},counter:{type:Boolean,default:!1},position:{type:String,default:null,validator:function(t){return["bottom-left","bottom-right","top-left","top-right"].indexOf(t)>-1}}},setup:function(t,e){var n=e.attrs,r=o["a"].familyPrefix,i=g("classes",[].concat(p(t.counter?[r+"-layers-counter"]:[]),p(t.position?[r+"-layers-"+t.position]:[]))),c=g("transform","string"===typeof t.transform?o["d"].transform(t.transform):t.transform),a=Object(o["e"])(t.value.toString(),l({},c,i)),s=a.abstract;return t.counter&&(s[0].attributes.class=s[0].attributes.class.replace("fa-layers-text","")),v(s[0],{},n)}})}).call(this,n("c8ba"))},ad6d:function(t,e,n){"use strict";var r=n("825a");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},ae93:function(t,e,n){"use strict";var r,o,i,c=n("d039"),a=n("e163"),s=n("9112"),u=n("5135"),l=n("b622"),f=n("c430"),p=l("iterator"),d=!1,h=function(){return this};[].keys&&(i=[].keys(),"next"in i?(o=a(a(i)),o!==Object.prototype&&(r=o)):d=!0);var v=void 0==r||c((function(){var t={};return r[p].call(t)!==t}));v&&(r={}),f&&!v||u(r,p)||s(r,p,h),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},b041:function(t,e,n){"use strict";var r=n("00ee"),o=n("f5df");t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b0c0:function(t,e,n){var r=n("83ab"),o=n("9bf2").f,i=Function.prototype,c=i.toString,a=/^\s*function ([^ (]*)/,s="name";r&&!(s in i)&&o(i,s,{configurable:!0,get:function(){try{return c.call(this).match(a)[1]}catch(t){return""}}})},b575:function(t,e,n){var r,o,i,c,a,s,u,l,f=n("da84"),p=n("06cf").f,d=n("2cf4").set,h=n("1cdc"),v=n("a4b4"),b=n("605d"),m=f.MutationObserver||f.WebKitMutationObserver,g=f.document,y=f.process,w=f.Promise,O=p(f,"queueMicrotask"),j=O&&O.value;j||(r=function(){var t,e;b&&(t=y.domain)&&t.exit();while(o){e=o.fn,o=o.next;try{e()}catch(n){throw o?c():i=void 0,n}}i=void 0,t&&t.enter()},h||b||v||!m||!g?w&&w.resolve?(u=w.resolve(void 0),l=u.then,c=function(){l.call(u,r)}):c=b?function(){y.nextTick(r)}:function(){d.call(f,r)}:(a=!0,s=g.createTextNode(""),new m(r).observe(s,{characterData:!0}),c=function(){s.data=a=!a})),t.exports=j||function(t){var e={fn:t,next:void 0};i&&(i.next=e),o||(o=e,c()),i=e}},b622:function(t,e,n){var r=n("da84"),o=n("5692"),i=n("5135"),c=n("90e3"),a=n("4930"),s=n("fdbf"),u=o("wks"),l=r.Symbol,f=s?l:l&&l.withoutSetter||c;t.exports=function(t){return i(u,t)&&(a||"string"==typeof u[t])||(a&&i(l,t)?u[t]=l[t]:u[t]=f("Symbol."+t)),u[t]}},b727:function(t,e,n){var r=n("0366"),o=n("44ad"),i=n("7b0b"),c=n("50c4"),a=n("65f0"),s=[].push,u=function(t){var e=1==t,n=2==t,u=3==t,l=4==t,f=6==t,p=7==t,d=5==t||f;return function(h,v,b,m){for(var g,y,w=i(h),O=o(w),j=r(v,b,3),x=c(O.length),_=0,S=m||a,k=e?S(h,x):n||p?S(h,0):void 0;x>_;_++)if((d||_ in O)&&(g=O[_],y=j(g,_,w),t))if(e)k[_]=y;else if(y)switch(t){case 3:return!0;case 5:return g;case 6:return _;case 2:s.call(k,g)}else switch(t){case 4:return!1;case 7:s.call(k,g)}return f?-1:u||l?l:k}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterOut:u(7)}},c04e:function(t,e,n){var r=n("861d");t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},c074:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return i})); -/*! - * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -var r={prefix:"fas",iconName:"book",icon:[448,512,[],"f02d","M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"]},o={prefix:"fas",iconName:"rocket",icon:[512,512,[],"f135","M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z"]},i={prefix:"fas",iconName:"sign-in-alt",icon:[512,512,[],"f2f6","M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z"]}},c430:function(t,e){t.exports=!1},c6b6:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},c6cd:function(t,e,n){var r=n("da84"),o=n("ce4e"),i="__core-js_shared__",c=r[i]||o(i,{});t.exports=c},c740:function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").findIndex,i=n("44d2"),c="findIndex",a=!0;c in[]&&Array(1)[c]((function(){a=!1})),r({target:"Array",proto:!0,forced:a},{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i(c)},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},ca84:function(t,e,n){var r=n("5135"),o=n("fc6a"),i=n("4d64").indexOf,c=n("d012");t.exports=function(t,e){var n,a=o(t),s=0,u=[];for(n in a)!r(c,n)&&r(a,n)&&u.push(n);while(e.length>s)r(a,n=e[s++])&&(~i(u,n)||u.push(n));return u}},cc12:function(t,e,n){var r=n("da84"),o=n("861d"),i=r.document,c=o(i)&&o(i.createElement);t.exports=function(t){return c?i.createElement(t):{}}},cca6:function(t,e,n){var r=n("23e7"),o=n("60da");r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},cdf9:function(t,e,n){var r=n("825a"),o=n("861d"),i=n("f069");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t),c=n.resolve;return c(e),n.promise}},ce4e:function(t,e,n){var r=n("da84"),o=n("9112");t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},d012:function(t,e){t.exports={}},d039:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},d066:function(t,e,n){var r=n("428f"),o=n("da84"),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},d1e7:function(t,e,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:r},d2bb:function(t,e,n){var r=n("825a"),o=n("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(n,[]),e=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),e?t.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(t,e,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d44e:function(t,e,n){var r=n("9bf2").f,o=n("5135"),i=n("b622"),c=i("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,c)&&r(t,c,{configurable:!0,value:e})}},d784:function(t,e,n){"use strict";n("ac1f");var r=n("6eeb"),o=n("d039"),i=n("b622"),c=n("9263"),a=n("9112"),s=i("species"),u=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$
")})),l=function(){return"$0"==="a".replace(/./,"$0")}(),f=i("replace"),p=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),d=!o((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,f){var h=i(t),v=!o((function(){var e={};return e[h]=function(){return 7},7!=""[t](e)})),b=v&&!o((function(){var e=!1,n=/a/;return"split"===t&&(n={},n.constructor={},n.constructor[s]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return e=!0,null},n[h](""),!e}));if(!v||!b||"replace"===t&&(!u||!l||p)||"split"===t&&!d){var m=/./[h],g=n(h,""[t],(function(t,e,n,r,o){return e.exec===c?v&&!o?{done:!0,value:m.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),y=g[0],w=g[1];r(String.prototype,t,y),r(RegExp.prototype,h,2==e?function(t,e){return w.call(t,this,e)}:function(t){return w.call(t,this)})}f&&a(RegExp.prototype[h],"sham",!0)}},da84:function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||Function("return this")()}).call(this,n("c8ba"))},ddb0:function(t,e,n){var r=n("da84"),o=n("fdbc"),i=n("e260"),c=n("9112"),a=n("b622"),s=a("iterator"),u=a("toStringTag"),l=i.values;for(var f in o){var p=r[f],d=p&&p.prototype;if(d){if(d[s]!==l)try{c(d,s,l)}catch(v){d[s]=l}if(d[u]||c(d,u,f),o[f])for(var h in i)if(d[h]!==i[h])try{c(d,h,i[h])}catch(v){d[h]=i[h]}}}},df75:function(t,e,n){var r=n("ca84"),o=n("7839");t.exports=Object.keys||function(t){return r(t,o)}},e01a:function(t,e,n){"use strict";var r=n("23e7"),o=n("83ab"),i=n("da84"),c=n("5135"),a=n("861d"),s=n("9bf2").f,u=n("e893"),l=i.Symbol;if(o&&"function"==typeof l&&(!("description"in l.prototype)||void 0!==l().description)){var f={},p=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof p?new l(t):void 0===t?l():l(t);return""===t&&(f[e]=!0),e};u(p,l);var d=p.prototype=l.prototype;d.constructor=p;var h=d.toString,v="Symbol(test)"==String(l("test")),b=/^Symbol\((.*)\)[^)]+$/;s(d,"description",{configurable:!0,get:function(){var t=a(this)?this.valueOf():this,e=h.call(t);if(c(f,t))return"";var n=v?e.slice(7,-1):e.replace(b,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},e163:function(t,e,n){var r=n("5135"),o=n("7b0b"),i=n("f772"),c=n("e177"),a=i("IE_PROTO"),s=Object.prototype;t.exports=c?Object.getPrototypeOf:function(t){return t=o(t),r(t,a)?t[a]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},e177:function(t,e,n){var r=n("d039");t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},e260:function(t,e,n){"use strict";var r=n("fc6a"),o=n("44d2"),i=n("3f8c"),c=n("69f3"),a=n("7dd0"),s="Array Iterator",u=c.set,l=c.getterFor(s);t.exports=a(Array,"Array",(function(t,e){u(this,{type:s,target:r(t),index:0,kind:e})}),(function(){var t=l(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},e2cc:function(t,e,n){var r=n("6eeb");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},e538:function(t,e,n){var r=n("b622");e.f=r},e667:function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},e6cf:function(t,e,n){"use strict";var r,o,i,c,a=n("23e7"),s=n("c430"),u=n("da84"),l=n("d066"),f=n("fea9"),p=n("6eeb"),d=n("e2cc"),h=n("d44e"),v=n("2626"),b=n("861d"),m=n("1c0b"),g=n("19aa"),y=n("8925"),w=n("2266"),O=n("1c7e"),j=n("4840"),x=n("2cf4").set,_=n("b575"),S=n("cdf9"),k=n("44de"),E=n("f069"),A=n("e667"),C=n("69f3"),P=n("94ca"),L=n("b622"),T=n("605d"),I=n("2d00"),R=L("species"),M="Promise",F=C.get,N=C.set,z=C.getterFor(M),U=f,B=u.TypeError,D=u.document,V=u.process,$=l("fetch"),q=E.f,H=q,W=!!(D&&D.createEvent&&u.dispatchEvent),G="function"==typeof PromiseRejectionEvent,K="unhandledrejection",Y="rejectionhandled",X=0,J=1,Z=2,Q=1,tt=2,et=P(M,(function(){var t=y(U)!==String(U);if(!t){if(66===I)return!0;if(!T&&!G)return!0}if(s&&!U.prototype["finally"])return!0;if(I>=51&&/native code/.test(U))return!1;var e=U.resolve(1),n=function(t){t((function(){}),(function(){}))},r=e.constructor={};return r[R]=n,!(e.then((function(){}))instanceof n)})),nt=et||!O((function(t){U.all(t)["catch"]((function(){}))})),rt=function(t){var e;return!(!b(t)||"function"!=typeof(e=t.then))&&e},ot=function(t,e){if(!t.notified){t.notified=!0;var n=t.reactions;_((function(){var r=t.value,o=t.state==J,i=0;while(n.length>i){var c,a,s,u=n[i++],l=o?u.ok:u.fail,f=u.resolve,p=u.reject,d=u.domain;try{l?(o||(t.rejection===tt&&st(t),t.rejection=Q),!0===l?c=r:(d&&d.enter(),c=l(r),d&&(d.exit(),s=!0)),c===u.promise?p(B("Promise-chain cycle")):(a=rt(c))?a.call(c,f,p):f(c)):p(r)}catch(h){d&&!s&&d.exit(),p(h)}}t.reactions=[],t.notified=!1,e&&!t.rejection&&ct(t)}))}},it=function(t,e,n){var r,o;W?(r=D.createEvent("Event"),r.promise=e,r.reason=n,r.initEvent(t,!1,!0),u.dispatchEvent(r)):r={promise:e,reason:n},!G&&(o=u["on"+t])?o(r):t===K&&k("Unhandled promise rejection",n)},ct=function(t){x.call(u,(function(){var e,n=t.facade,r=t.value,o=at(t);if(o&&(e=A((function(){T?V.emit("unhandledRejection",r,n):it(K,n,r)})),t.rejection=T||at(t)?tt:Q,e.error))throw e.value}))},at=function(t){return t.rejection!==Q&&!t.parent},st=function(t){x.call(u,(function(){var e=t.facade;T?V.emit("rejectionHandled",e):it(Y,e,t.value)}))},ut=function(t,e,n){return function(r){t(e,r,n)}},lt=function(t,e,n){t.done||(t.done=!0,n&&(t=n),t.value=e,t.state=Z,ot(t,!0))},ft=function(t,e,n){if(!t.done){t.done=!0,n&&(t=n);try{if(t.facade===e)throw B("Promise can't be resolved itself");var r=rt(e);r?_((function(){var n={done:!1};try{r.call(e,ut(ft,n,t),ut(lt,n,t))}catch(o){lt(n,o,t)}})):(t.value=e,t.state=J,ot(t,!1))}catch(o){lt({done:!1},o,t)}}};et&&(U=function(t){g(this,U,M),m(t),r.call(this);var e=F(this);try{t(ut(ft,e),ut(lt,e))}catch(n){lt(e,n)}},r=function(t){N(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:X,value:void 0})},r.prototype=d(U.prototype,{then:function(t,e){var n=z(this),r=q(j(this,U));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=T?V.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=X&&ot(n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,e=F(t);this.promise=t,this.resolve=ut(ft,e),this.reject=ut(lt,e)},E.f=q=function(t){return t===U||t===i?new o(t):H(t)},s||"function"!=typeof f||(c=f.prototype.then,p(f.prototype,"then",(function(t,e){var n=this;return new U((function(t,e){c.call(n,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof $&&a({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return S(U,$.apply(u,arguments))}}))),a({global:!0,wrap:!0,forced:et},{Promise:U}),h(U,M,!1,!0),v(M),i=l(M),a({target:M,stat:!0,forced:et},{reject:function(t){var e=q(this);return e.reject.call(void 0,t),e.promise}}),a({target:M,stat:!0,forced:s||et},{resolve:function(t){return S(s&&this===i?U:this,t)}}),a({target:M,stat:!0,forced:nt},{all:function(t){var e=this,n=q(e),r=n.resolve,o=n.reject,i=A((function(){var n=m(e.resolve),i=[],c=0,a=1;w(t,(function(t){var s=c++,u=!1;i.push(void 0),a++,n.call(e,t).then((function(t){u||(u=!0,i[s]=t,--a||r(i))}),o)})),--a||r(i)}));return i.error&&o(i.value),n.promise},race:function(t){var e=this,n=q(e),r=n.reject,o=A((function(){var o=m(e.resolve);w(t,(function(t){o.call(e,t).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},e893:function(t,e,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),c=n("9bf2");t.exports=function(t,e){for(var n=o(e),a=c.f,s=i.f,u=0;u-1;o--){var i=n[o],c=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(c)>-1&&(r=i)}return S.head.insertBefore(e,r),t}}var wt="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Ot(){var t=12,e="";while(t-- >0)e+=wt[62*Math.random()|0];return e}function jt(t){return"".concat(t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function xt(t){return Object.keys(t||{}).reduce((function(e,n){return e+"".concat(n,'="').concat(jt(t[n]),'" ')}),"").trim()}function _t(t){return Object.keys(t||{}).reduce((function(e,n){return e+"".concat(n,": ").concat(t[n],";")}),"")}function St(t){return t.size!==gt.size||t.x!==gt.x||t.y!==gt.y||t.rotate!==gt.rotate||t.flipX||t.flipY}function kt(t){var e=t.transform,n=t.containerWidth,r=t.iconWidth,o={transform:"translate(".concat(n/2," 256)")},i="translate(".concat(32*e.x,", ").concat(32*e.y,") "),c="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),a="rotate(".concat(e.rotate," 0 0)"),s={transform:"".concat(i," ").concat(c," ").concat(a)},u={transform:"translate(".concat(r/2*-1," -256)")};return{outer:o,inner:s,path:u}}function Et(t){var e=t.transform,n=t.width,r=void 0===n?P:n,o=t.height,i=void 0===o?P:o,c=t.startCentered,a=void 0!==c&&c,s="";return s+=a&&A?"translate(".concat(e.x/mt-r/2,"em, ").concat(e.y/mt-i/2,"em) "):a?"translate(calc(-50% + ".concat(e.x/mt,"em), calc(-50% + ").concat(e.y/mt,"em)) "):"translate(".concat(e.x/mt,"em, ").concat(e.y/mt,"em) "),s+="scale(".concat(e.size/mt*(e.flipX?-1:1),", ").concat(e.size/mt*(e.flipY?-1:1),") "),s+="rotate(".concat(e.rotate,"deg) "),s}var At={x:0,y:0,width:"100%",height:"100%"};function Ct(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t.attributes&&(t.attributes.fill||e)&&(t.attributes.fill="black"),t}function Pt(t){return"g"===t.tag?t.children:[t]}function Lt(t){var e=t.children,n=t.attributes,r=t.main,o=t.mask,i=t.maskId,c=t.transform,a=r.width,u=r.icon,l=o.width,f=o.icon,p=kt({transform:c,containerWidth:l,iconWidth:a}),d={tag:"rect",attributes:s({},At,{fill:"white"})},h=u.children?{children:u.children.map(Ct)}:{},v={tag:"g",attributes:s({},p.inner),children:[Ct(s({tag:u.tag,attributes:s({},u.attributes,p.path)},h))]},b={tag:"g",attributes:s({},p.outer),children:[v]},m="mask-".concat(i||Ot()),g="clip-".concat(i||Ot()),y={tag:"mask",attributes:s({},At,{id:m,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[d,b]},w={tag:"defs",children:[{tag:"clipPath",attributes:{id:g},children:Pt(f)},y]};return e.push(w,{tag:"rect",attributes:s({fill:"currentColor","clip-path":"url(#".concat(g,")"),mask:"url(#".concat(m,")")},At)}),{children:e,attributes:n}}function Tt(t){var e=t.children,n=t.attributes,r=t.main,o=t.transform,i=t.styles,c=_t(i);if(c.length>0&&(n["style"]=c),St(o)){var a=kt({transform:o,containerWidth:r.width,iconWidth:r.width});e.push({tag:"g",attributes:s({},a.outer),children:[{tag:"g",attributes:s({},a.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:s({},r.icon.attributes,a.path)}]}]})}else e.push(r.icon);return{children:e,attributes:n}}function It(t){var e=t.children,n=t.main,r=t.mask,o=t.attributes,i=t.styles,c=t.transform;if(St(c)&&n.found&&!r.found){var a=n.width,u=n.height,l={x:a/u/2,y:.5};o["style"]=_t(s({},i,{"transform-origin":"".concat(l.x+c.x/16,"em ").concat(l.y+c.y/16,"em")}))}return[{tag:"svg",attributes:o,children:e}]}function Rt(t){var e=t.prefix,n=t.iconName,r=t.children,o=t.attributes,i=t.symbol,c=!0===i?"".concat(e,"-").concat($.familyPrefix,"-").concat(n):i;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:s({},o,{id:c}),children:r}]}]}function Mt(t){var e=t.icons,n=e.main,r=e.mask,o=t.prefix,i=t.iconName,c=t.transform,a=t.symbol,u=t.title,l=t.maskId,f=t.titleId,p=t.extra,d=t.watchable,h=void 0!==d&&d,v=r.found?r:n,b=v.width,m=v.height,g="fak"===o,y=g?"":"fa-w-".concat(Math.ceil(b/m*16)),w=[$.replacementClass,i?"".concat($.familyPrefix,"-").concat(i):"",y].filter((function(t){return-1===p.classes.indexOf(t)})).filter((function(t){return""!==t||!!t})).concat(p.classes).join(" "),O={children:[],attributes:s({},p.attributes,{"data-prefix":o,"data-icon":i,class:w,role:p.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(b," ").concat(m)})},j=g&&!~p.classes.indexOf("fa-fw")?{width:"".concat(b/m*16*.0625,"em")}:{};h&&(O.attributes[I]=""),u&&O.children.push({tag:"title",attributes:{id:O.attributes["aria-labelledby"]||"title-".concat(f||Ot())},children:[u]});var x=s({},O,{prefix:o,iconName:i,main:n,mask:r,maskId:l,transform:c,symbol:a,styles:s({},j,p.styles)}),_=r.found&&n.found?Lt(x):Tt(x),S=_.children,k=_.attributes;return x.children=S,x.attributes=k,a?Rt(x):It(x)}function Ft(t){var e=t.content,n=t.width,r=t.height,o=t.transform,i=t.title,c=t.extra,a=t.watchable,u=void 0!==a&&a,l=s({},c.attributes,i?{title:i}:{},{class:c.classes.join(" ")});u&&(l[I]="");var f=s({},c.styles);St(o)&&(f["transform"]=Et({transform:o,startCentered:!0,width:n,height:r}),f["-webkit-transform"]=f["transform"]);var p=_t(f);p.length>0&&(l["style"]=p);var d=[];return d.push({tag:"span",attributes:l,children:[e]}),i&&d.push({tag:"span",attributes:{class:"sr-only"},children:[i]}),d}var Nt=function(){},zt=($.measurePerformance&&k&&k.mark&&k.measure,function(t,e){return function(n,r,o,i){return t.call(e,n,r,o,i)}}),Ut=function(t,e,n,r){var o,i,c,a=Object.keys(t),s=a.length,u=void 0!==r?zt(e,r):e;for(void 0===n?(o=1,c=t[a[0]]):(o=0,c=n);o2&&void 0!==arguments[2]?arguments[2]:{},r=n.skipHooks,o=void 0!==r&&r,i=Object.keys(e).reduce((function(t,n){var r=e[n],o=!!r.icon;return o?t[r.iconName]=r.icon:t[n]=r,t}),{});"function"!==typeof H.hooks.addPack||o?H.styles[t]=s({},H.styles[t]||{},i):H.hooks.addPack(t,i),"fas"===t&&Bt("fa",e)}var Dt=H.styles,Vt=H.shims,$t=function(){var t=function(t){return Ut(Dt,(function(e,n,r){return e[r]=Ut(n,t,{}),e}),{})};t((function(t,e,n){return e[3]&&(t[e[3]]=n),t})),t((function(t,e,n){var r=e[2];return t[n]=n,r.forEach((function(e){t[e]=n})),t}));var e="far"in Dt;Ut(Vt,(function(t,n){var r=n[0],o=n[1],i=n[2];return"far"!==o||e||(o="fas"),t[r]={prefix:o,iconName:i},t}),{})};$t();H.styles;function qt(t,e,n){if(t&&t[e]&&t[e][n])return{prefix:e,iconName:n,icon:t[e][n]}}function Ht(t){var e=t.tag,n=t.attributes,r=void 0===n?{}:n,o=t.children,i=void 0===o?[]:o;return"string"===typeof t?jt(t):"<".concat(e," ").concat(xt(r),">").concat(i.map(Ht).join(""),"")}var Wt=function(t){var e={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t?t.toLowerCase().split(" ").reduce((function(t,e){var n=e.toLowerCase().split("-"),r=n[0],o=n.slice(1).join("-");if(r&&"h"===o)return t.flipX=!0,t;if(r&&"v"===o)return t.flipY=!0,t;if(o=parseFloat(o),isNaN(o))return t;switch(r){case"grow":t.size=t.size+o;break;case"shrink":t.size=t.size-o;break;case"left":t.x=t.x-o;break;case"right":t.x=t.x+o;break;case"up":t.y=t.y-o;break;case"down":t.y=t.y+o;break;case"rotate":t.rotate=t.rotate+o;break}return t}),e):e};function Gt(t){this.name="MissingIcon",this.message=t||"Icon unavailable",this.stack=(new Error).stack}Gt.prototype=Object.create(Error.prototype),Gt.prototype.constructor=Gt;var Kt={fill:"currentColor"},Yt={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},Xt=(s({},Kt,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"}),s({},Yt,{attributeName:"opacity"}));s({},Kt,{cx:"256",cy:"364",r:"28"}),s({},Yt,{attributeName:"r",values:"28;14;28;28;14;28;"}),s({},Xt,{values:"1;0;1;1;0;1;"}),s({},Kt,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),s({},Xt,{values:"1;0;0;0;0;1;"}),s({},Kt,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),s({},Xt,{values:"0;0;1;1;0;0;"}),H.styles;function Jt(t){var e=t[0],n=t[1],r=t.slice(4),o=u(r,1),i=o[0],c=null;return c=Array.isArray(i)?{tag:"g",attributes:{class:"".concat($.familyPrefix,"-").concat(F.GROUP)},children:[{tag:"path",attributes:{class:"".concat($.familyPrefix,"-").concat(F.SECONDARY),fill:"currentColor",d:i[0]}},{tag:"path",attributes:{class:"".concat($.familyPrefix,"-").concat(F.PRIMARY),fill:"currentColor",d:i[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:i}},{found:!0,width:e,height:n,icon:c}}H.styles;var Zt='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';function Qt(){var t=L,e=T,n=$.familyPrefix,r=$.replacementClass,o=Zt;if(n!==t||r!==e){var i=new RegExp("\\.".concat(t,"\\-"),"g"),c=new RegExp("\\--".concat(t,"\\-"),"g"),a=new RegExp("\\.".concat(e),"g");o=o.replace(i,".".concat(n,"-")).replace(c,"--".concat(n,"-")).replace(a,".".concat(r))}return o}var te=function(){function t(){o(this,t),this.definitions={}}return c(t,[{key:"add",value:function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=(e||{}).icon?e:re(e||{}),o=n.mask;return o&&(o=(o||{}).icon?o:re(o||{})),t(r,s({},n,{mask:o}))}}var ie=new te,ce=!1,ae={transform:function(t){return Wt(t)}},se=oe((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.transform,r=void 0===n?gt:n,o=e.symbol,i=void 0!==o&&o,c=e.mask,a=void 0===c?null:c,u=e.maskId,l=void 0===u?null:u,f=e.title,p=void 0===f?null:f,d=e.titleId,h=void 0===d?null:d,v=e.classes,b=void 0===v?[]:v,m=e.attributes,g=void 0===m?{}:m,y=e.styles,w=void 0===y?{}:y;if(t){var O=t.prefix,j=t.iconName,x=t.icon;return ne(s({type:"icon"},t),(function(){return ee(),$.autoA11y&&(p?g["aria-labelledby"]="".concat($.replacementClass,"-title-").concat(h||Ot()):(g["aria-hidden"]="true",g["focusable"]="false")),Mt({icons:{main:Jt(x),mask:a?Jt(a.icon):{found:!1,width:null,height:null,icon:{}}},prefix:O,iconName:j,transform:s({},gt,r),symbol:i,title:p,maskId:l,titleId:h,extra:{attributes:g,styles:w,classes:b}})}))}})),ue=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.transform,r=void 0===n?gt:n,o=e.title,i=void 0===o?null:o,c=e.classes,a=void 0===c?[]:c,u=e.attributes,f=void 0===u?{}:u,p=e.styles,d=void 0===p?{}:p;return ne({type:"text",content:t},(function(){return ee(),Ft({content:t,transform:s({},gt,r),title:i,extra:{attributes:f,styles:d,classes:["".concat($.familyPrefix,"-layers-text")].concat(l(a))}})}))}}).call(this,n("c8ba"))},f069:function(t,e,n){"use strict";var r=n("1c0b"),o=function(t){var e,n;this.promise=new t((function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r})),this.resolve=r(e),this.reject=r(n)};t.exports.f=function(t){return new o(t)}},f2d1:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o})); -/*! - * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -var r={prefix:"fab",iconName:"github",icon:[496,512,[],"f09b","M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"]},o={prefix:"fab",iconName:"gitter",icon:[384,512,[],"f426","M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"]}},f5df:function(t,e,n){var r=n("00ee"),o=n("c6b6"),i=n("b622"),c=i("toStringTag"),a="Arguments"==o(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(n){}};t.exports=r?o:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=s(e=Object(t),c))?n:a?o(e):"Object"==(r=o(e))&&"function"==typeof e.callee?"Arguments":r}},f772:function(t,e,n){var r=n("5692"),o=n("90e3"),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},f947:function(t,e,n){"use strict";n.d(e,"a",(function(){return _})),n.d(e,"b",(function(){return g}));var r=n("a1e9"),o=n("5c40");function i(t){return Object(r["g"])(t)?t:Object(r["l"])(t)}Array.isArray;const c=t=>"boolean"===typeof t,a=t=>"number"===typeof t,s=t=>null!==t&&"object"===typeof t,u=t=>s(t)&&!!t.tagName;const l=()=>{},f={passive:!0};function p(t){return new Promise(e=>{setTimeout(e,t)})}const d="undefined"!=typeof window;function h(t,e,n,r){let c=l;if(t){const a=i(t),s=t=>t.removeEventListener(e,n),u=t=>t.addEventListener(e,n,r),l=Object(o["M"])(a,(t,e,n)=>{t&&(u(t),n(()=>s(t)))},{immediate:!0});c=()=>{s(a.value),l()}}return c}function v(t,e,n){return b(t,e,n)}function b(t,e=50,n={isImmediate:!1}){let r;return function(...o){const i=this,c=function(){r=void 0,n.isImmediate||t.apply(i,o)},a=n.isImmediate&&void 0===r;void 0!==r&&clearTimeout(r),r=setTimeout(c,e),a&&t.apply(i,o)}}const m=["scrollBy","scrollTo","scrollIntoView"];function g(t,e,n){const s=t=>!(a(t)||c(t)||!u(t)&&!Object(r["g"])(t)||!t),l=s(t)?i(t):Object(r["l"])(d&&window||void 0),p=s(t)?l:Object(r["l"])(d&&window.document.scrollingElement||void 0),b=Object(r["l"])(p.value&&p.value.scrollTop||0),g=Object(r["l"])(p.value&&p.value.scrollLeft||0);let y=()=>{b.value=p.value.scrollTop,g.value=p.value.scrollLeft};const w=m.reduce((t,e)=>(t[e]=(...t)=>p.value&&p.value[e]&&p.value[e].apply(p.value,t),t),{}),O=t=>w.scrollTo({top:t}),j=t=>w.scrollTo({left:t}),[x,_]=a(t)||!t?[f,t]:a(e)?[f,e]:[e,n];_&&(y=v(y,n));const S=h(l,"scroll",y,x),k=Object(o["M"])(b,O,{immediate:!1}),E=Object(o["M"])(g,j,{immediate:!1}),A=()=>{S(),E(),k()};return{scrollTop:b,scrollLeft:g,remove:A,scrollTopTo:O,scrollLeftTo:j,...w}}Symbol("");let y=void 0;async function w(t,e,n){setTimeout(async()=>{const r=["addTimelineLayer","addInspector","sendInspectorTree","sendInspectorState","addTimelineEvent"];for(const e of r){for(const r of n.filter(t=>t.type===e))t[e](...r.args);await p(20)}new Set(n.filter(t=>"notifyComponentUpdate"===t.type).map(t=>t.args[0])).forEach(e=>t.notifyComponentUpdate(e)),e.forEach(e=>t.on[e.type](...e.args)),e.length=0,n.length=0},100)}y=t=>{let e;const n=[],r=[],o=new Proxy({},{get:(t,r)=>e?e.on[r]:r in t?t[r]:t[r]=(...t)=>{n.push({type:r,args:t})}}),i=new Proxy({on:o},{get:(t,n)=>"on"===n?t.on:e?e[n]:n in t?t[n]:t[n]=(...t)=>{r.push({type:n,args:t})}});return t.then(t=>{e=t,w(e,n,r)}),i};function O(t){const e=!!d&&"matchMedia"in window;let n=void 0,i=void 0,c=l;if(e){n=Object(r["l"])(matchMedia(t)),i=Object(r["l"])(n.value.matches);const e=t=>{i.value=t.matches};n.value.addEventListener("change",e,f);const c=()=>n.value.removeEventListener("change",e);Object(o["y"])(c)}else n=Object(r["l"])({}),i=Object(r["l"])(!1);return{supported:e,mediaQueryList:n,matches:i,remove:c}}function j(t){if(t)return a(t)?t:x(t)}const x=t=>{const e=t.match(/^(\d+)px$/);if(e)return+e[1]};function _(t){const e={},n=new Map,i=Object(r["l"])();let c=[];const a=[];for(const o in t){const i=t[o],s=j(i);if(void 0!==s){const t=Object(r["l"])(!1);e[o]=t,n.set(s,{name:o,valid:t}),c.push(s)}else{const{matches:t,remove:n}=O(i);e[o]=t,a.push(n)}}c=c.sort((t,e)=>e-t);const s=d?()=>{const t=window.innerWidth;let e=void 0;for(let r=0;r=o,t>=o&&void 0===e&&(e=i.name)}i.value=e}:l,u=v(s,10),p=d?()=>window.removeEventListener("resize",u):l;return d&&(Object(o["x"])(()=>{s(),window.addEventListener("resize",u,f)}),Object(o["y"])(()=>{p(),a.forEach(t=>t())})),{...e,remove:p,current:i}}Symbol("");Symbol("");Symbol("");Symbol("")},fc6a:function(t,e,n){var r=n("44ad"),o=n("1d80");t.exports=function(t){return r(o(t))}},fdbc:function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},fdbf:function(t,e,n){var r=n("4930");t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},fea9:function(t,e,n){var r=n("da84");t.exports=r.Promise}}]); -//# sourceMappingURL=chunk-vendors.4e02d2c7.js.map \ No newline at end of file diff --git a/dist/js/chunk-vendors.4e02d2c7.js.map b/dist/js/chunk-vendors.4e02d2c7.js.map deleted file mode 100644 index ad7b9c6..0000000 --- a/dist/js/chunk-vendors.4e02d2c7.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/modules/es.promise.finally.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@fortawesome/free-solid-svg-icons/index.es.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/@fortawesome/free-brands-svg-icons/index.es.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/vue-composable/dist/vue-composable.esm-bundler.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","aFunction","fn","that","length","undefined","call","a","b","c","apply","arguments","toIndexedObject","nativeGetOwnPropertyNames","f","toString","windowNames","window","Object","getOwnPropertyNames","getWindowNames","it","error","slice","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","O","P","toObject","floor","Math","replace","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","str","position","captures","namedCaptures","replacement","tailPos","m","symbols","match","ch","capture","charAt","n","fails","createElement","defineProperty","get","IS_PURE","ITERATOR","url","URL","searchParams","result","pathname","forEach","value","key","toJSON","sort","href","URLSearchParams","username","host","hash","is","x","y","classof","regexpExec","R","S","exec","TypeError","Constructor","name","getBuiltIn","SAFE_CLOSING","called","iteratorWithReturn","next","done","this","Array","from","SKIP_CLOSING","ITERATION_SUPPORT","object","userAgent","V8_VERSION","SPECIES","METHOD_NAME","array","constructor","foo","Boolean","anObject","isArrayIteratorMethod","toLength","bind","getIteratorMethod","iteratorClose","Result","stopped","iterable","unboundFunction","options","iterator","iterFn","index","step","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","toInteger","max","min","integer","global","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","source","FORCED","target","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","prototype","noTargetGet","forced","sham","internalObjectKeys","enumBugKeys","hiddenKeys","concat","flags","TO_STRING","RegExpPrototype","RegExp","nativeToString","NOT_GENERIC","INCORRECT_NAME","p","rf","unsafe","definePropertyModule","CONSTRUCTOR_NAME","configurable","returnMethod","EOF","$","USE_NATIVE_URL","defineProperties","anInstance","assign","arrayFrom","codeAt","toASCII","setToStringTag","URLSearchParamsModule","InternalStateModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","set","getInternalURLState","getterFor","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","input","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","number","ipv4","parts","split","pop","parseInt","push","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","join","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","code","encodeURIComponent","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","string","normalized","second","startsWithWindowsDriveLetter","third","shortenURLsPath","path","pathSize","isSingleDot","segment","toLowerCase","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","base","bufferCodePoints","failure","state","buffer","seenAt","seenBracket","seenPasswordToken","port","query","fragment","i","codePoint","encodedCodePoints","shift","URLConstructor","baseState","urlString","type","searchParamsState","updateSearchParams","updateURL","serializeURL","origin","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","output","accessorDescriptor","getter","setter","enumerable","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","defer","channel","html","IS_IOS","IS_NODE","location","setImmediate","clear","clearImmediate","process","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","id","hasOwnProperty","runner","listener","event","data","post","postMessage","args","Function","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","version","versions","v8","Iterators","objectKeys","Properties","keys","isObject","defineIterator","STRING_ITERATOR","getInternalState","iterated","point","propertyIsEnumerable","create","UNSCOPABLES","ArrayPrototype","console","defaultConstructor","C","getOwnPropertySymbols","Symbol","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","indexOf","$filter","filter","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","proto","callbackfn","callWithSafeIterationClosing","createProperty","arrayLike","argumentsLength","mapfn","mapping","iteratorMethod","argument","fixRegExpWellKnownSymbolLogic","requireObjectCoercible","advanceStringIndex","getSubstitution","regExpExec","maybeToString","REPLACE","nativeReplace","maybeCallNative","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","regexp","res","rx","functionalReplace","fullUnicode","unicode","lastIndex","results","matchStr","accumulatedResult","nextSourcePosition","j","groups","replacerArgs","store","mode","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","whitespaces","whitespace","ltrim","rtrim","TYPE","start","end","trim","stack","warn","msg","instance","component","appWarnHandler","appContext","config","warnHandler","trace","getComponentTrace","callWithErrorHandling","proxy","map","vnode","formatComponentName","warnArgs","formatTrace","currentVNode","normalizedStack","last","recurseCount","parentInstance","parent","logs","entry","formatTraceEntry","postfix","isRoot","open","close","props","formatProps","formatProp","raw","JSON","stringify","err","handleError","callWithAsyncErrorHandling","catch","values","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","errorHandler","logError","isFlushing","isFlushPending","flushIndex","pendingPreFlushCbs","activePreFlushCbs","preFlushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","Promise","resolve","currentFlushPromise","currentPreFlushParentJob","then","findInsertionIndex","job","jobId","getId","middle","middleJobId","queueJob","allowRecurse","pos","splice","queueFlush","flushJobs","invalidateJob","queueCb","cb","activeQueue","pendingQueue","queuePreFlushCb","queuePostFlushCb","flushPreFlushCbs","seen","parentJob","Set","flushPostFlushCbs","deduped","Infinity","Map","emit","rawArgs","isModelListener","startsWith","modelArg","modifiersKey","handlerName","handler","onceHandler","emitted","normalizeEmitsOptions","comp","asMixin","deopt","__emits","emits","hasExtends","extendEmits","mixins","extends","isEmitListener","currentRenderingInstance","setCurrentRenderingInstance","renderComponentRoot","Component","withProxy","propsOptions","slots","attrs","render","renderCache","setupState","ctx","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","getFunctionalFallthrough","root","inheritAttrs","some","filterModelListeners","cloneVNode","dirs","transition","createVNode","Comment","filterSingleRoot","children","singleRoot","child","isVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emitsOptions","$stable","hasPropsChanged","dynamicProps","nextKeys","updateHOCHostEl","subTree","isSuspense","__isSuspense","normalizeSuspenseChildren","content","fallback","normalizeSuspenseSlot","default","s","singleChild","queueEffectWithSuspense","suspense","pendingBranch","effects","isRenderingCompiledSlot","setCompiledSlotRendering","withCtx","renderFnWithContext","openBlock","owner","closeBlock","_c","currentScopeId","scopeIdStack","pushScopeId","popScopeId","withScopeId","initProps","rawProps","isStateful","isSSR","InternalObjectKey","setFullProps","updateProps","rawPrevProps","rawCurrentProps","kebabKey","resolvePropValue","propsToUpdate","camelizedKey","needCastKeys","camelKey","opt","hasDefault","defaultValue","setCurrentInstance","normalizePropsOptions","__props","extendProps","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","stringIndex","getType","ctor","isSameType","expectedTypes","len","injectHook","hook","currentInstance","prepend","hooks","wrappedHook","__weh","isUnmounted","createHook","lifecycle","isInSSRComponentSetup","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","onRenderTriggered","onRenderTracked","onErrorCaptured","watchEffect","effect","doWatch","INITIAL_WATCHER_VALUE","watch","immediate","deep","flush","onTrack","onTrigger","cleanup","forceTrigger","_shallow","traverse","onInvalidate","baseGetter","onStop","oldValue","active","newValue","scheduler","queuePostRenderEffect","isMounted","lazy","recordInstanceBoundEffect","instanceWatch","publicThis","add","v","useTransitionState","isLeaving","isUnmounting","leavingVNodes","TransitionHookValidator","BaseTransitionImpl","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","getCurrentInstance","prevTransitionKey","getTransitionRawChildren","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","isSameVNodeType","leavingHooks","afterLeave","update","delayLeave","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","_leaveCb","BaseTransition","callHook","leavingVNode","afterHook","cancelHook","_enterCb","cancelled","remove","isKeepAlive","ssContent","clone","ssFallback","keepComment","ret","keyedFragmentCount","Fragment","__isKeepAlive","KeepAliveImpl","include","exclude","Number","cache","current","parentSuspense","sharedContext","renderer","patch","move","um","_unmount","o","storageContainer","unmount","resetShapeFlag","pruneCache","getComponentName","pruneCacheEntry","cached","delete","activate","container","anchor","isSVG","isDeactivated","vnodeHook","onVnodeMounted","invokeVNodeHook","deactivate","da","onVnodeUnmounted","matches","pendingCacheKey","cacheSubtree","getInnerChild","rawVNode","cachedVNode","size","KeepAlive","pattern","onActivated","registerKeepAliveHook","onDeactivated","__wdc","injectToKeepAliveRoot","keepAliveRoot","injected","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","initSlots","_","updateSlots","needDeletionCheck","deletionComparisonTarget","withDirectives","directives","internalInstance","bindings","dir","arg","modifiers","mounted","updated","invokeDirectiveHook","oldBindings","binding","createAppContext","app","isNativeTag","performance","globalProperties","optionMergeStrategies","isCustomElement","components","provides","uid","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","_uid","_component","_props","_container","_context","plugin","install","mixin","directive","rootContainer","isHydrate","__vue_app__","hasMismatch","isSVGContainer","namespaceURI","tagName","isComment","node","nodeType","createHydrationFunctions","rendererInternals","mt","mountComponent","patchProp","nextSibling","parentNode","insert","createComment","hydrateNode","firstChild","parentComponent","isFragmentStart","onMismatch","handleMismatch","ref","domType","nextNode","Text","Static","needToAdoptContent","staticCount","outerHTML","hydrateFragment","hydrateElement","hydrateComponent","loadAsync","__asyncLoader","locateClosingAsyncAnchor","hydrateChildren","setRef","dynamicChildren","onClick","vnodeHooks","onVnodeBeforeMount","innerHTML","textContent","parentVNode","l","isFragment","initFeatureFlags","defineComponent","setup","isAsyncWrapper","defineAsyncComponent","loader","loadingComponent","errorComponent","delay","timeout","suspensible","onError","userOnError","resolvedComp","pendingRequest","retries","retry","load","thisRequest","Error","reject","userRetry","userFail","__esModule","toStringTag","createInnerComp","loaded","delayed","prodEffectOptions","rawRef","oldRawRef","r","exposed","oldRef","refs","doSet","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","forcePatchProp","hostForcePatchProp","hostCreateElement","createText","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","cloneNode","hostCloneNode","insertStaticContent","hostInsertStaticContent","n1","n2","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","scopeId","mountChildren","unmountChildren","needCallTransitionHooks","beforeEnter","enter","treeOwnerId","__scopeId","cloneIfMounted","oldProps","newProps","onVnodeBeforeUpdate","patchProps","class","style","prev","areChildrenSVG","patchBlockChildren","patchChildren","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","traverseStaticChildren","updateComponent","initialVNode","createComponentInstance","setupComponent","asyncDep","registerDep","setupRenderEffect","placeholder","asyncResolved","updateComponentPreRender","bu","u","originNext","nextTree","prevTree","bm","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","newLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","moveType","needTransition","leave","performLeave","doRemove","shouldInvokeDirs","onVnodeBeforeUnmount","unmountComponent","isTeleportDisabled","removeFragment","performRemove","bum","suspenseId","pendingId","deps","_vnode","mc","pc","pbc","createApp","shallow","ch1","ch2","arr","arrI","isTeleport","__isTeleport","disabled","COMPONENTS","resolveComponent","resolveAsset","NULL_DYNAMIC_COMPONENT","warnMissing","selfName","registry","blockStack","currentBlock","disableTracking","shouldTrack","createBlock","__v_isVNode","normalizeKey","normalizeRef","_createVNode","isBlockNode","cloned","normalizeChildren","isClassComponent","__vccOpts","klass","targetAnchor","extraProps","mergeRef","mergedProps","mergeProps","createTextVNode","text","flag","createCommentVNode","asBlock","slot","slotFlag","toMerge","existing","incoming","provide","parentProvides","inject","treatDefaultAsFactory","isInBeforeCreate","applyOptions","deferredData","deferredWatch","deferredProvide","extendsOptions","dataOptions","computed","computedOptions","methods","watchOptions","provideOptions","injectOptions","beforeMount","beforeUpdate","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","expose","globalMixins","callSyncHook","applyMixins","methodHandler","dataFn","resolveData","createWatcher","Reflect","ownKeys","callHookFromMixins","callHookFromExtends","selfHook","baseHook","chainedMixins","createPathGetter","segments","resolveMergedOptions","__merged","mergeOptions","to","strats","getPublicInstance","isStatefulComponent","publicPropertiesMap","$el","$data","$props","$attrs","$slots","$refs","$parent","$root","$emit","$options","$forceUpdate","$nextTick","$watch","PublicInstanceProxyHandlers","accessCache","normalizedProps","publicGetter","cssModule","__cssModules","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","emptyAppContext","uid$1","setupContext","bc","rtg","rtc","compile","setupResult","setupStatefulComponent","Proxy","createSetupContext","resolvedResult","handleSetupResult","finishComponentSetup","isRuntimeOnly","template","delimiters","_rc","classifyRE","classify","toUpperCase","displayName","__file","inferFromRegistry","getterOrOptions","h","propsOrChildren","initCustomFormatter","renderList","renderItem","bitmap","writable","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","charCodeAt","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","label","encoded","labels","IndexedObject","nativeAssign","A","B","symbol","alphabet","chr","T","CONVERT_TO_STRING","first","isArray","originalArray","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","WeakMap","enforce","wmget","wmhas","wmset","metadata","facade","STATE","inspectSource","enforceInternalState","TEMPLATE","simple","setPrototypeOf","dummy","Wrapper","NewTarget","NewTargetPrototype","wrappedWellKnownSymbolModule","NAME","svgNS","doc","document","tempContainer","tempSVGContainer","nodeOps","insertBefore","tag","createElementNS","createTextNode","nodeValue","querySelector","selector","setAttribute","temp","patchClass","transitionClasses","_vtc","className","patchStyle","display","cssText","setStyle","removeAttribute","importantRE","val","setProperty","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","removeAttributeNS","setAttributeNS","isBoolean","patchDOMProp","e","_value","_getNow","Date","createEvent","timeStamp","cachedNow","getNow","removeEventListener","patchEvent","prevValue","nextValue","invokers","_vei","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","initialValue","attached","patchStopImmediatePropagation","originalStop","stopImmediatePropagation","_stopped","nativeOnRE","shouldSetAsProp","_trueValue","_falseValue","TRANSITION","ANIMATION","Transition","resolveTransitionProps","DOMTransitionPropsValidators","css","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","baseProps","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","classList","requestAnimationFrame","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","d","toMs","body","offsetHeight","systemModifiers","modifierGuards","stopPropagation","prevent","preventDefault","self","currentTarget","ctrl","ctrlKey","shiftKey","alt","altKey","meta","metaKey","left","button","right","exact","withModifiers","guard","vShow","_vod","setDisplay","rendererOptions","ensureRenderer","mount","containerOrSelector","normalizeContainer","Element","activeXDocument","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","write","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","src","contentWindow","F","NullProtoObject","domain","ActiveXObject","$find","find","addToUnscopables","FIND","SKIPS_HOLES","createIteratorConstructor","getPrototypeOf","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","propertyKey","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","functionToString","random","regexpFlags","stickyHelpers","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","re","sticky","charsAdded","strCopy","multiline","feature","detection","normalize","POLYFILL","NATIVE","redefineAll","hasOwn","getIterator","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","bytes","percentDecode","sequence","decodeURIComponent","deserialize","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","params","kind","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","callback","boundFunction","fetch","headers","nativeDefineProperty","Attributes","RE","makeMap","expectsLowerCase","list","GLOBALS_WHITE_LISTED","isGloballyWhitelisted","specialBooleanAttrs","isSpecialBooleanAttr","normalizeStyle","item","isString","parseStringStyle","listDelimiterRE","propertyDelimiterRE","tmp","normalizeClass","HTML_TAGS","SVG_TAGS","isHTMLTag","isSVGTag","looseCompareArrays","equal","looseEqual","aValidType","isDate","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","findIndex","toDisplayString","_key","isMap","reduce","isSet","isPlainObject","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","extend","toTypeString","isFunction","isSymbol","isPromise","objectToString","toRawType","isIntegerKey","isReservedProp","cacheStringFunction","hit","camelizeRE","camelize","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","invokeArrayFns","fns","def","obj","toNumber","parseFloat","isNaN","targetMap","effectStack","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","isEffect","_isEffect","createReactiveEffect","enableTracking","resetTracking","trackStack","pauseTracking","track","depsMap","dep","trigger","oldTarget","effectsToAdd","isNonTrackableKeys","builtInSymbols","createGetter","shallowGet","readonlyGet","shallowReadonlyGet","arrayInstrumentations","isReadonly","receiver","readonlyMap","reactiveMap","targetIsArray","isRef","shouldUnwrap","readonly","reactive","method","toRaw","createSetter","shallowSet","hadKey","deleteProperty","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toReactive","toReadonly","toShallow","getProto","get$1","isShallow","rawTarget","rawKey","wrap","has$1","set$1","deleteEntry","hadItems","createForEach","thisArg","observed","createIterableMethod","targetIsMap","isPair","isKeyOnly","innerIterator","createReadonlyMethod","mutableInstrumentations","shallowInstrumentations","readonlyInstrumentations","iteratorMethods","createInstrumentationGetter","instrumentations","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","isReactive","isProxy","convert","__v_isRef","createRef","RefImpl","_rawValue","newVal","rawValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","_get","_set","customRef","ObjectRefImpl","_object","toRef","ComputedRefImpl","_setter","_dirty","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","nativeObjectCreate","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","defineWellKnownSymbol","$forEach","HIDDEN","SYMBOL","TO_PRIMITIVE","ObjectPrototype","$Symbol","$stringify","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","V","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","space","$replacer","valueOf","ceil","NativePromise","speciesConstructor","promiseResolve","NON_GENERIC","real","onFinally","inheritIfRequired","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","maxCode","digits","NaN","NumberWrapper","commonjsGlobal","createCommonjsModule","humps","_processKeys","_isObject","_isDate","_isRegExp","_isBoolean","_isFunction","_isArray","separateWords","separator","_isNumerical","substr","pascalize","camelized","decamelize","_processor","depascalize","camelizeKeys","decamelizeKeys","pascalizeKeys","depascalizeKeys","_typeof","_extends","objectWithoutProperties","toConsumableArray","arr2","styleToObject","pair","idx","classToObject","classes","abstractElement","renderFn","_attrs$style","aStyle","otherAttrs","PRODUCTION","log","_console","objectWithKey","_classes","spin","pulse","fixedWidth","border","listItem","inverse","flip","rotation","pull","swapOpacity","normalizeIconArgs","icon$$1","prefix","iconName","FontAwesomeIcon","validator","icon","mask","transform","title","_ref","renderedIcon","abstract","familyPrefix","renderedText","ignoreCase","dotAll","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","TO_STRING_TAG_SUPPORT","FunctionPrototype","FunctionPrototypeToString","nameRE","head","notify","toggle","promise","macrotask","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","exit","observe","characterData","task","createWellKnownSymbol","withoutSetter","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","specificCreate","every","filterOut","PREFERRED_STRING","faBook","faRocket","faSignInAlt","SHARED","$findIndex","FIND_INDEX","g","EXISTS","newPromiseCapability","promiseCapability","variable","namespace","NASHORN_BUG","1","aPossiblePrototype","CORRECT_SETTER","__proto__","TAG","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","arg2","forceStringMethod","stringMethod","regexMethod","check","globalThis","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","CORRECT_PROTOTYPE_GETTER","ARRAY_ITERATOR","Arguments","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","setSpecies","iterate","checkCorrectnessOfIteration","microtask","hostReportErrors","newPromiseCapabilityModule","perform","PROMISE","getInternalPromiseState","PromiseConstructor","newGenericPromiseCapability","DISPATCH_EVENT","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","FakePromise","INCORRECT_ITERATION","all","isThenable","isReject","notified","chain","reactions","ok","exited","reaction","fail","rejection","onHandleUnhandled","onUnhandled","initEvent","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","capability","$promiseResolve","remaining","alreadyCalled","race","_classCallCheck","_defineProperties","_createClass","protoProps","staticProps","_defineProperty","_objectSpread","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","_arr","_n","_d","_e","_s","_i","noop","_WINDOW","_DOCUMENT","_PERFORMANCE","mark","measure","navigator","_ref$userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_FAMILY_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","FontAwesomeConfig","getAttrConfig","attr","element","getAttribute","coerce","_ref2","_default","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","_config","w","shims","functions","doScroll","readyState","asyncTimer","SETTLED","isNode","asyncSetTimer","asyncQueue","asyncFlush","asyncCall","invokeResolver","resolver","resolvePromise","rejectPromise","invokeCallback","subscriber","settled","_state","_data","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","onFulfillment","onRejection","fulfilled","rejected","promises","meaninglessTransform","rotate","flipX","flipY","insertCss","headChildren","childNodes","beforeChild","idPool","nextUniqueId","htmlEscape","joinAttributes","acc","attributeName","joinStyles","styleName","transformIsMeaningful","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","transformForCss","_ref2$width","width","_ref2$height","height","_ref2$startCentered","startCentered","ALL_SPACE","fillBlack","force","fill","deGroup","makeIconMasking","main","explicitMaskId","maskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconStandard","styleString","asIcon","offset","asSymbol","makeInlineSvgAbstract","_params$icons","icons","titleId","_params$watchable","watchable","isUploadedIcon","widthClass","attrClass","role","uploadedIconWidthStyle","makeLayersTextAbstract","_params$watchable2","noop$1","bindInternal4","func","thisContext","subject","defineIcons","_params$skipHooks","skipHooks","expanded","addPack","build","lookup","reducer","ligatures","ligature","hasRegular","shim","oldName","iconFromMapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","parseTransformString","transformString","rest","MissingIcon","message","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","cx","cy","opacity","asFoundIcon","_icon$slice","_icon$slice2","vectorData","baseStyles","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","Library","definitions","_this","_len","additions","_pullDefinitions","definition","0","_normalized$key","ensureCss","_cssInserted","apiObject","abstractCreator","findIconDefinition","iconLookup","_iconLookup$prefix","library","resolveIcons","maybeIconDefinition","iconDefinition","parse","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","PromiseCapability","$$resolve","$$reject","faGithub","faGitter","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","isNumber","isElement","NO_OP","PASSIVE_EV","passive","promisedTimeout","isClient","useEvent","removeWatch","cleanUp","useDebounce","wait","debounce","waitMilliseconds","isImmediate","timeoutId","doLater","shouldCallNow","clearTimeout","SCROLL_METHODS","useOnScroll","isValidElement","scrollableElement","scrollingElement","scrollTop","scrollLeft","scrollTopTo","top","scrollTo","scrollLeftTo","eventOptions","ms","eventRemove","watchRemoveTop","watchRemoveLeft","apiProxyFactory","async","pushEventsToApi","api","EventQueue","ApiQueue","priority","notifyComponentUpdate","on","promiseApi","onProxy","useMatchMedia","supported","mediaQueryList","matchMedia","getBreakpointWidth","bp","isValidWidthBreakpoint","useBreakpoint","breakpoints","sorted","removeMedia","valid","resize","innerWidth","processResize","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList"],"mappings":"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","file":"js/chunk-vendors.4e02d2c7.js","sourcesContent":["var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\t\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\t\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\u000A\\u000D]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n /* global Symbol -- required for testing */\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.9.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","import { pauseTracking, resetTracking, isRef, toRaw, shallowReactive, trigger, isReactive, effect, stop, ref, isProxy, proxyRefs, toRef, reactive, shallowReadonly, track, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, def, isReservedProp, EMPTY_ARR, isObject, capitalize, toRawType, makeMap, remove, NOOP, hasChanged, isSet, isMap, invokeArrayFns, NO, getGlobalThis, normalizeClass, normalizeStyle, isGloballyWhitelisted } from '@vue/shared';\nexport { camelize, capitalize, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(job) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n const jobId = getId(job);\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < jobId ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n const pos = findInsertionIndex(job);\r\n if (pos > -1) {\r\n queue.splice(pos, 0, job);\r\n }\r\n else {\r\n queue.push(job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > -1) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex]);\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex]);\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, job);\r\n }\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length || pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n throw new Error(`Maximum recursive updates exceeded. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n const globalObject = typeof global !== 'undefined'\r\n ? global\r\n : typeof self !== 'undefined'\r\n ? self\r\n : typeof window !== 'undefined'\r\n ? window\r\n : {};\r\n globalObject.__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, component) {\r\n if (!component) {\r\n warn(`HMR API usage is out of date.\\n` +\r\n `Please upgrade vue-loader/vite/rollup-plugin-vue or other relevant ` +\r\n `dependency that handles Vue SFC compilation.`);\r\n component = {};\r\n }\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n component: isClassComponent(component) ? component.__vccOpts : component,\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n if (newRender)\r\n record.component.render = newRender;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n Array.from(record.instances).forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n const { component, instances } = record;\r\n if (!hmrDirtyComponents.has(component)) {\r\n // 1. Update existing comp definition to match new one\r\n newComp = isClassComponent(newComp) ? newComp.__vccOpts : newComp;\r\n extend(component, newComp);\r\n for (const key in component) {\r\n if (!(key in newComp)) {\r\n delete component[key];\r\n }\r\n }\r\n // 2. Mark component dirty. This forces the renderer to replace the component\r\n // on patch.\r\n hmrDirtyComponents.add(component);\r\n // 3. Make sure to unmark the component after the reload.\r\n queuePostFlushCb(() => {\r\n hmrDirtyComponents.delete(component);\r\n });\r\n }\r\n Array.from(instances).forEach(instance => {\r\n if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n });\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nfunction setDevtoolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n // TODO queue if devtools is undefined\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = /*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n if (!devtools)\r\n return;\r\n devtools.emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit(instance, event, ...rawArgs) {\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions)) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n else if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n // convert handler name to camelCase. See issue #2249\r\n let handlerName = toHandlerKey(camelize(event));\r\n let handler = props[handlerName];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handlerName = toHandlerKey(hyphenate(event));\r\n handler = props[handlerName];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n (instance.emitted = {})[handlerName] = true;\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n if (!appContext.deopt && comp.__emits !== undefined) {\r\n return comp.__emits;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n hasExtends = true;\r\n extend(normalized, normalizeEmitsOptions(raw, appContext, true));\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n return (comp.__emits = null);\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n return (comp.__emits = normalized);\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nfunction setCurrentRenderingInstance(instance) {\r\n currentRenderingInstance = instance;\r\n}\r\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx } = instance;\r\n let result;\r\n currentRenderingInstance = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n let fallthroughAttrs;\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n ;\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (Component.inheritAttrs !== false && fallthroughAttrs) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & 1 /* ELEMENT */ ||\r\n shapeFlag & 6 /* COMPONENT */) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n }\r\n catch (err) {\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n currentRenderingInstance = null;\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & 6 /* COMPONENT */ ||\r\n vnode.shapeFlag & 1 /* ELEMENT */ ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl\r\n );\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n const onPending = n2.props && n2.props.onPending;\r\n if (isFunction(onPending)) {\r\n onPending();\r\n }\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n const onResolve = vnode.props && vnode.props.onResolve;\r\n if (isFunction(onResolve)) {\r\n onResolve();\r\n }\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n const onFallback = vnode.props && vnode.props.onFallback;\r\n if (isFunction(onFallback)) {\r\n onFallback();\r\n }\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n suspense.isInFallback = true;\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n let content;\r\n let fallback;\r\n if (shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n content = normalizeSuspenseSlot(children.default);\r\n fallback = normalizeSuspenseSlot(children.fallback);\r\n }\r\n else {\r\n content = normalizeSuspenseSlot(children);\r\n fallback = normalizeVNode(null);\r\n }\r\n return {\r\n content,\r\n fallback\r\n };\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n if (isFunction(s)) {\r\n s = s();\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n return normalizeVNode(s);\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nlet isRenderingCompiledSlot = 0;\r\nconst setCompiledSlotRendering = (n) => (isRenderingCompiledSlot += n);\r\n/**\r\n * Compiler runtime helper for rendering ``\r\n * @private\r\n */\r\nfunction renderSlot(slots, name, props = {}, \r\n// this is not a user-facing function, so the fallback is always generated by\r\n// the compiler and guaranteed to be a function returning an array\r\nfallback) {\r\n let slot = slots[name];\r\n if ((process.env.NODE_ENV !== 'production') && slot && slot.length > 1) {\r\n warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +\r\n `function. You need to mark this component with $dynamic-slots in the ` +\r\n `parent template.`);\r\n slot = () => [];\r\n }\r\n // a compiled slot disables block tracking by default to avoid manual\r\n // invocation interfering with template-based block tracking, but in\r\n // `renderSlot` we can be sure that it's template-based so we can force\r\n // enable it.\r\n isRenderingCompiledSlot++;\r\n openBlock();\r\n const validSlotContent = slot && ensureValidVNode(slot(props));\r\n const rendered = createBlock(Fragment, { key: props.key || `_${name}` }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 /* STABLE */\r\n ? 64 /* STABLE_FRAGMENT */\r\n : -2 /* BAIL */);\r\n isRenderingCompiledSlot--;\r\n return rendered;\r\n}\r\nfunction ensureValidVNode(vnodes) {\r\n return vnodes.some(child => {\r\n if (!isVNode(child))\r\n return true;\r\n if (child.type === Comment)\r\n return false;\r\n if (child.type === Fragment &&\r\n !ensureValidVNode(child.children))\r\n return false;\r\n return true;\r\n })\r\n ? vnodes\r\n : null;\r\n}\n\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance) {\r\n if (!ctx)\r\n return fn;\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we need to push a null block to\r\n // avoid that. This isn't necessary if rendering a compiled ``.\r\n if (!isRenderingCompiledSlot) {\r\n openBlock(true /* null block that disables tracking */);\r\n }\r\n const owner = currentRenderingInstance;\r\n setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(owner);\r\n if (!isRenderingCompiledSlot) {\r\n closeBlock();\r\n }\r\n return res;\r\n };\r\n renderFnWithContext._c = true;\r\n return renderFnWithContext;\r\n}\n\n// SFC scoped style ID management.\r\nlet currentScopeId = null;\r\nconst scopeIdStack = [];\r\n/**\r\n * @private\r\n */\r\nfunction pushScopeId(id) {\r\n scopeIdStack.push((currentScopeId = id));\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n scopeIdStack.pop();\r\n currentScopeId = scopeIdStack[scopeIdStack.length - 1] || null;\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction withScopeId(id) {\r\n return ((fn) => withCtx(function () {\r\n pushScopeId(id);\r\n const res = fn.apply(this, arguments);\r\n popScopeId();\r\n return res;\r\n }));\r\n}\n\nfunction initProps(instance, rawProps, isStateful, // result of bitwise flag comparison\r\nisSSR = false) {\r\n const props = {};\r\n const attrs = {};\r\n def(attrs, InternalObjectKey, 1);\r\n setFullProps(instance, rawProps, props, attrs);\r\n // validation\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(props, instance);\r\n }\r\n if (isStateful) {\r\n // stateful\r\n instance.props = isSSR ? props : shallowReactive(props);\r\n }\r\n else {\r\n if (!instance.type.props) {\r\n // functional w/ optional props, props === attrs\r\n instance.props = attrs;\r\n }\r\n else {\r\n // functional w/ declared props\r\n instance.props = props;\r\n }\r\n }\r\n instance.attrs = attrs;\r\n}\r\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\r\n const { props, attrs, vnode: { patchFlag } } = instance;\r\n const rawCurrentProps = toRaw(props);\r\n const [options] = instance.propsOptions;\r\n if (\r\n // always force full diff in dev\r\n // - #1942 if hmr is enabled with sfc component\r\n // - vite#872 non-sfc component used by sfc component\r\n !((process.env.NODE_ENV !== 'production') &&\r\n (instance.type.__hmrId ||\r\n (instance.parent && instance.parent.type.__hmrId))) &&\r\n (optimized || patchFlag > 0) &&\r\n !(patchFlag & 16 /* FULL_PROPS */)) {\r\n if (patchFlag & 8 /* PROPS */) {\r\n // Compiler-generated props & no keys change, just set the updated\r\n // the props.\r\n const propsToUpdate = instance.vnode.dynamicProps;\r\n for (let i = 0; i < propsToUpdate.length; i++) {\r\n const key = propsToUpdate[i];\r\n // PROPS flag guarantees rawProps to be non-null\r\n const value = rawProps[key];\r\n if (options) {\r\n // attr / props separation was done on init and will be consistent\r\n // in this code path, so just check if attrs have it.\r\n if (hasOwn(attrs, key)) {\r\n attrs[key] = value;\r\n }\r\n else {\r\n const camelizedKey = camelize(key);\r\n props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance);\r\n }\r\n }\r\n else {\r\n attrs[key] = value;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // full props update.\r\n setFullProps(instance, rawProps, props, attrs);\r\n // in case of dynamic props, check if we need to delete keys from\r\n // the props object\r\n let kebabKey;\r\n for (const key in rawCurrentProps) {\r\n if (!rawProps ||\r\n // for camelCase\r\n (!hasOwn(rawProps, key) &&\r\n // it's possible the original props was passed in as kebab-case\r\n // and converted to camelCase (#955)\r\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {\r\n if (options) {\r\n if (rawPrevProps &&\r\n // for camelCase\r\n (rawPrevProps[key] !== undefined ||\r\n // for kebab-case\r\n rawPrevProps[kebabKey] !== undefined)) {\r\n props[key] = resolvePropValue(options, rawProps || EMPTY_OBJ, key, undefined, instance);\r\n }\r\n }\r\n else {\r\n delete props[key];\r\n }\r\n }\r\n }\r\n // in the case of functional component w/o props declaration, props and\r\n // attrs point to the same object so it should already have been updated.\r\n if (attrs !== rawCurrentProps) {\r\n for (const key in attrs) {\r\n if (!rawProps || !hasOwn(rawProps, key)) {\r\n delete attrs[key];\r\n }\r\n }\r\n }\r\n }\r\n // trigger updates for $attrs in case it's used in component slots\r\n trigger(instance, \"set\" /* SET */, '$attrs');\r\n if ((process.env.NODE_ENV !== 'production') && rawProps) {\r\n validateProps(props, instance);\r\n }\r\n}\r\nfunction setFullProps(instance, rawProps, props, attrs) {\r\n const [options, needCastKeys] = instance.propsOptions;\r\n if (rawProps) {\r\n for (const key in rawProps) {\r\n const value = rawProps[key];\r\n // key, ref are reserved and never passed down\r\n if (isReservedProp(key)) {\r\n continue;\r\n }\r\n // prop option names are camelized during normalization, so to support\r\n // kebab -> camel conversion here we need to camelize the key.\r\n let camelKey;\r\n if (options && hasOwn(options, (camelKey = camelize(key)))) {\r\n props[camelKey] = value;\r\n }\r\n else if (!isEmitListener(instance.emitsOptions, key)) {\r\n // Any non-declared (either as a prop or an emitted event) props are put\r\n // into a separate `attrs` object for spreading. Make sure to preserve\r\n // original key casing\r\n attrs[key] = value;\r\n }\r\n }\r\n }\r\n if (needCastKeys) {\r\n const rawCurrentProps = toRaw(props);\r\n for (let i = 0; i < needCastKeys.length; i++) {\r\n const key = needCastKeys[i];\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, rawCurrentProps[key], instance);\r\n }\r\n }\r\n}\r\nfunction resolvePropValue(options, props, key, value, instance) {\r\n const opt = options[key];\r\n if (opt != null) {\r\n const hasDefault = hasOwn(opt, 'default');\r\n // default values\r\n if (hasDefault && value === undefined) {\r\n const defaultValue = opt.default;\r\n if (opt.type !== Function && isFunction(defaultValue)) {\r\n setCurrentInstance(instance);\r\n value = defaultValue(props);\r\n setCurrentInstance(null);\r\n }\r\n else {\r\n value = defaultValue;\r\n }\r\n }\r\n // boolean casting\r\n if (opt[0 /* shouldCast */]) {\r\n if (!hasOwn(props, key) && !hasDefault) {\r\n value = false;\r\n }\r\n else if (opt[1 /* shouldCastTrue */] &&\r\n (value === '' || value === hyphenate(key))) {\r\n value = true;\r\n }\r\n }\r\n }\r\n return value;\r\n}\r\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\r\n if (!appContext.deopt && comp.__props) {\r\n return comp.__props;\r\n }\r\n const raw = comp.props;\r\n const normalized = {};\r\n const needCastKeys = [];\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendProps = (raw) => {\r\n hasExtends = true;\r\n const [props, keys] = normalizePropsOptions(raw, appContext, true);\r\n extend(normalized, props);\r\n if (keys)\r\n needCastKeys.push(...keys);\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendProps);\r\n }\r\n if (comp.extends) {\r\n extendProps(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendProps);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n return (comp.__props = EMPTY_ARR);\r\n }\r\n if (isArray(raw)) {\r\n for (let i = 0; i < raw.length; i++) {\r\n if ((process.env.NODE_ENV !== 'production') && !isString(raw[i])) {\r\n warn(`props must be strings when using array syntax.`, raw[i]);\r\n }\r\n const normalizedKey = camelize(raw[i]);\r\n if (validatePropName(normalizedKey)) {\r\n normalized[normalizedKey] = EMPTY_OBJ;\r\n }\r\n }\r\n }\r\n else if (raw) {\r\n if ((process.env.NODE_ENV !== 'production') && !isObject(raw)) {\r\n warn(`invalid props options`, raw);\r\n }\r\n for (const key in raw) {\r\n const normalizedKey = camelize(key);\r\n if (validatePropName(normalizedKey)) {\r\n const opt = raw[key];\r\n const prop = (normalized[normalizedKey] =\r\n isArray(opt) || isFunction(opt) ? { type: opt } : opt);\r\n if (prop) {\r\n const booleanIndex = getTypeIndex(Boolean, prop.type);\r\n const stringIndex = getTypeIndex(String, prop.type);\r\n prop[0 /* shouldCast */] = booleanIndex > -1;\r\n prop[1 /* shouldCastTrue */] =\r\n stringIndex < 0 || booleanIndex < stringIndex;\r\n // if the prop needs boolean casting or default value\r\n if (booleanIndex > -1 || hasOwn(prop, 'default')) {\r\n needCastKeys.push(normalizedKey);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return (comp.__props = [normalized, needCastKeys]);\r\n}\r\nfunction validatePropName(key) {\r\n if (key[0] !== '$') {\r\n return true;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid prop name: \"${key}\" is a reserved property.`);\r\n }\r\n return false;\r\n}\r\n// use function string name to check type constructors\r\n// so that it works across vms / iframes.\r\nfunction getType(ctor) {\r\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\r\n return match ? match[1] : '';\r\n}\r\nfunction isSameType(a, b) {\r\n return getType(a) === getType(b);\r\n}\r\nfunction getTypeIndex(type, expectedTypes) {\r\n if (isArray(expectedTypes)) {\r\n for (let i = 0, len = expectedTypes.length; i < len; i++) {\r\n if (isSameType(expectedTypes[i], type)) {\r\n return i;\r\n }\r\n }\r\n }\r\n else if (isFunction(expectedTypes)) {\r\n return isSameType(expectedTypes, type) ? 0 : -1;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProps(props, instance) {\r\n const rawValues = toRaw(props);\r\n const options = instance.propsOptions[0];\r\n for (const key in options) {\r\n let opt = options[key];\r\n if (opt == null)\r\n continue;\r\n validateProp(key, rawValues[key], opt, !hasOwn(rawValues, key));\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProp(name, value, prop, isAbsent) {\r\n const { type, required, validator } = prop;\r\n // required!\r\n if (required && isAbsent) {\r\n warn('Missing required prop: \"' + name + '\"');\r\n return;\r\n }\r\n // missing but optional\r\n if (value == null && !prop.required) {\r\n return;\r\n }\r\n // type check\r\n if (type != null && type !== true) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n // value is valid as long as one of the specified types match\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || '');\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n warn(getInvalidTypeMessage(name, value, expectedTypes));\r\n return;\r\n }\r\n }\r\n // custom validator\r\n if (validator && !validator(value)) {\r\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".');\r\n }\r\n}\r\nconst isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol,BigInt');\r\n/**\r\n * dev only\r\n */\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n // for primitive wrapper objects\r\n if (!valid && t === 'object') {\r\n valid = value instanceof type;\r\n }\r\n }\r\n else if (expectedType === 'Object') {\r\n valid = isObject(value);\r\n }\r\n else if (expectedType === 'Array') {\r\n valid = isArray(value);\r\n }\r\n else {\r\n valid = value instanceof type;\r\n }\r\n return {\r\n valid,\r\n expectedType\r\n };\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n let message = `Invalid prop: type check failed for prop \"${name}\".` +\r\n ` Expected ${expectedTypes.map(capitalize).join(', ')}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n // check if we need to specify expected value\r\n if (expectedTypes.length === 1 &&\r\n isExplicable(expectedType) &&\r\n !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n // check if we need to specify received value\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction styleValue(value, type) {\r\n if (type === 'String') {\r\n return `\"${value}\"`;\r\n }\r\n else if (type === 'Number') {\r\n return `${Number(value)}`;\r\n }\r\n else {\r\n return `${value}`;\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isExplicable(type) {\r\n const explicitTypes = ['string', 'number', 'boolean'];\r\n return explicitTypes.some(elem => type.toLowerCase() === elem);\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isBoolean(...args) {\r\n return args.some(elem => elem.toLowerCase() === 'boolean');\r\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n const hooks = target[type] || (target[type] = []);\r\n // cache the error handling wrapper for injected hooks so the same hook\r\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\r\n // handling\".\r\n const wrappedHook = hook.__weh ||\r\n (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n // Set currentInstance during hook invocation.\r\n // This assumes the hook does not synchronously trigger other hooks, which\r\n // can only be false when the user does something really funky.\r\n setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n setCurrentInstance(null);\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n }\r\n else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));\r\n warn(`${apiName} is called when there is no active component instance to be ` +\r\n `associated with. ` +\r\n `Lifecycle injection APIs can only be used during execution of setup().` +\r\n (` If you are using async setup(), make sure to register lifecycle ` +\r\n `hooks before the first await statement.`\r\n ));\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \r\n// post-create lifecycle registrations are noops during SSR\r\n!isInSSRComponentSetup && injectHook(lifecycle, hook, target);\r\nconst onBeforeMount = createHook(\"bm\" /* BEFORE_MOUNT */);\r\nconst onMounted = createHook(\"m\" /* MOUNTED */);\r\nconst onBeforeUpdate = createHook(\"bu\" /* BEFORE_UPDATE */);\r\nconst onUpdated = createHook(\"u\" /* UPDATED */);\r\nconst onBeforeUnmount = createHook(\"bum\" /* BEFORE_UNMOUNT */);\r\nconst onUnmounted = createHook(\"um\" /* UNMOUNTED */);\r\nconst onRenderTriggered = createHook(\"rtg\" /* RENDER_TRIGGERED */);\r\nconst onRenderTracked = createHook(\"rtc\" /* RENDER_TRACKED */);\r\nconst onErrorCaptured = (hook, target = currentInstance) => {\r\n injectHook(\"ec\" /* ERROR_CAPTURED */, hook, target);\r\n};\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ, instance = currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n let getter;\r\n let forceTrigger = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = !!source._shallow;\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */, [\r\n instance && instance.proxy\r\n ]);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */, [\r\n instance && instance.proxy\r\n ]);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onInvalidate]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n const onInvalidate = (fn) => {\r\n cleanup = runner.options.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n let oldValue = isArray(source) ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!runner.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = runner();\r\n if (deep || forceTrigger || hasChanged(newValue, oldValue)) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onInvalidate\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n runner();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job;\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => {\r\n if (!instance || instance.isMounted) {\r\n queuePreFlushCb(job);\r\n }\r\n else {\r\n // with 'pre' option, the first call must happen before\r\n // the component is mounted so it is called synchronously.\r\n job();\r\n }\r\n };\r\n }\r\n const runner = effect(getter, {\r\n lazy: true,\r\n onTrack,\r\n onTrigger,\r\n scheduler\r\n });\r\n recordInstanceBoundEffect(runner, instance);\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = runner();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(runner, instance && instance.suspense);\r\n }\r\n else {\r\n runner();\r\n }\r\n return () => {\r\n stop(runner);\r\n if (instance) {\r\n remove(instance.effects, runner);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, cb, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? () => publicThis[source]\r\n : source.bind(publicThis);\r\n return doWatch(getter, cb.bind(publicThis), options, this);\r\n}\r\nfunction traverse(value, seen = new Set()) {\r\n if (!isObject(value) || seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n // warn multiple elements\r\n if ((process.env.NODE_ENV !== 'production') && children.length > 1) {\r\n warn(' can only be used on a single element or component. Use ' +\r\n ' for lists.');\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') && mode && !['in-out', 'out-in', 'default'].includes(mode)) {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n // at this point children has a guaranteed length of 1.\r\n const child = children[0];\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out') {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n hook(el, done);\r\n if (hook.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n onLeave(el, done);\r\n if (onLeave.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n // handle fragment children case, e.g. v-for\r\n if (child.type === Fragment) {\r\n if (child.patchFlag & 128 /* KEYED_FRAGMENT */)\r\n keyedFragmentCount++;\r\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment));\r\n }\r\n // comment placeholders should be skipped, e.g. v-if\r\n else if (keepComment || child.type !== Comment) {\r\n ret.push(child);\r\n }\r\n }\r\n // #1126 if a transition children list contains multiple sub fragments, these\r\n // fragments will be merged into a flat children array. Since each v-for\r\n // fragment may contain different static bindings inside, we need to de-op\r\n // these children to force full diffs to ensure correct behavior.\r\n if (keyedFragmentCount > 1) {\r\n for (let i = 0; i < ret.length; i++) {\r\n ret[i].patchFlag = -2 /* BAIL */;\r\n }\r\n }\r\n return ret;\r\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nconst KeepAliveImpl = {\r\n name: `KeepAlive`,\r\n // Marker for special handling inside the renderer. We are not using a ===\r\n // check directly on KeepAlive in the renderer, because importing it directly\r\n // would prevent it from being tree-shaken.\r\n __isKeepAlive: true,\r\n props: {\r\n include: [String, RegExp, Array],\r\n exclude: [String, RegExp, Array],\r\n max: [String, Number]\r\n },\r\n setup(props, { slots }) {\r\n const cache = new Map();\r\n const keys = new Set();\r\n let current = null;\r\n const instance = getCurrentInstance();\r\n const parentSuspense = instance.suspense;\r\n // KeepAlive communicates with the instantiated renderer via the\r\n // ctx where the renderer passes in its internals,\r\n // and the KeepAlive instance exposes activate/deactivate implementations.\r\n // The whole point of this is to avoid importing KeepAlive directly in the\r\n // renderer to facilitate tree-shaking.\r\n const sharedContext = instance.ctx;\r\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\r\n const storageContainer = createElement('div');\r\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\r\n const instance = vnode.component;\r\n move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);\r\n // in case props have changed\r\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, optimized);\r\n queuePostRenderEffect(() => {\r\n instance.isDeactivated = false;\r\n if (instance.a) {\r\n invokeArrayFns(instance.a);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n }, parentSuspense);\r\n };\r\n sharedContext.deactivate = (vnode) => {\r\n const instance = vnode.component;\r\n move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);\r\n queuePostRenderEffect(() => {\r\n if (instance.da) {\r\n invokeArrayFns(instance.da);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n instance.isDeactivated = true;\r\n }, parentSuspense);\r\n };\r\n function unmount(vnode) {\r\n // reset the shapeFlag so it can be properly unmounted\r\n resetShapeFlag(vnode);\r\n _unmount(vnode, instance, parentSuspense);\r\n }\r\n function pruneCache(filter) {\r\n cache.forEach((vnode, key) => {\r\n const name = getComponentName(vnode.type);\r\n if (name && (!filter || !filter(name))) {\r\n pruneCacheEntry(key);\r\n }\r\n });\r\n }\r\n function pruneCacheEntry(key) {\r\n const cached = cache.get(key);\r\n if (!current || cached.type !== current.type) {\r\n unmount(cached);\r\n }\r\n else if (current) {\r\n // current active instance should no longer be kept-alive.\r\n // we can't unmount it now but it might be later, so reset its flag now.\r\n resetShapeFlag(current);\r\n }\r\n cache.delete(key);\r\n keys.delete(key);\r\n }\r\n // prune cache on include/exclude prop change\r\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\r\n include && pruneCache(name => matches(include, name));\r\n exclude && pruneCache(name => !matches(exclude, name));\r\n }, \r\n // prune post-render after `current` has been updated\r\n { flush: 'post', deep: true });\r\n // cache sub tree after render\r\n let pendingCacheKey = null;\r\n const cacheSubtree = () => {\r\n // fix #1621, the pendingCacheKey could be 0\r\n if (pendingCacheKey != null) {\r\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\r\n }\r\n };\r\n onMounted(cacheSubtree);\r\n onUpdated(cacheSubtree);\r\n onBeforeUnmount(() => {\r\n cache.forEach(cached => {\r\n const { subTree, suspense } = instance;\r\n const vnode = getInnerChild(subTree);\r\n if (cached.type === vnode.type) {\r\n // current instance will be unmounted as part of keep-alive's unmount\r\n resetShapeFlag(vnode);\r\n // but invoke its deactivated hook here\r\n const da = vnode.component.da;\r\n da && queuePostRenderEffect(da, suspense);\r\n return;\r\n }\r\n unmount(cached);\r\n });\r\n });\r\n return () => {\r\n pendingCacheKey = null;\r\n if (!slots.default) {\r\n return null;\r\n }\r\n const children = slots.default();\r\n const rawVNode = children[0];\r\n if (children.length > 1) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`KeepAlive should contain exactly one component child.`);\r\n }\r\n current = null;\r\n return children;\r\n }\r\n else if (!isVNode(rawVNode) ||\r\n (!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&\r\n !(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {\r\n current = null;\r\n return rawVNode;\r\n }\r\n let vnode = getInnerChild(rawVNode);\r\n const comp = vnode.type;\r\n const name = getComponentName(comp);\r\n const { include, exclude, max } = props;\r\n if ((include && (!name || !matches(include, name))) ||\r\n (exclude && name && matches(exclude, name))) {\r\n current = vnode;\r\n return rawVNode;\r\n }\r\n const key = vnode.key == null ? comp : vnode.key;\r\n const cachedVNode = cache.get(key);\r\n // clone vnode if it's reused because we are going to mutate it\r\n if (vnode.el) {\r\n vnode = cloneVNode(vnode);\r\n if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {\r\n rawVNode.ssContent = vnode;\r\n }\r\n }\r\n // #1513 it's possible for the returned vnode to be cloned due to attr\r\n // fallthrough or scopeId, so the vnode here may not be the final vnode\r\n // that is mounted. Instead of caching it directly, we store the pending\r\n // key and cache `instance.subTree` (the normalized vnode) in\r\n // beforeMount/beforeUpdate hooks.\r\n pendingCacheKey = key;\r\n if (cachedVNode) {\r\n // copy over mounted state\r\n vnode.el = cachedVNode.el;\r\n vnode.component = cachedVNode.component;\r\n if (vnode.transition) {\r\n // recursively update transition hooks on subTree\r\n setTransitionHooks(vnode, vnode.transition);\r\n }\r\n // avoid vnode being mounted as fresh\r\n vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;\r\n // make this key the freshest\r\n keys.delete(key);\r\n keys.add(key);\r\n }\r\n else {\r\n keys.add(key);\r\n // prune oldest entry\r\n if (max && keys.size > parseInt(max, 10)) {\r\n pruneCacheEntry(keys.values().next().value);\r\n }\r\n }\r\n // avoid vnode being unmounted\r\n vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n current = vnode;\r\n return rawVNode;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst KeepAlive = KeepAliveImpl;\r\nfunction matches(pattern, name) {\r\n if (isArray(pattern)) {\r\n return pattern.some((p) => matches(p, name));\r\n }\r\n else if (isString(pattern)) {\r\n return pattern.split(',').indexOf(name) > -1;\r\n }\r\n else if (pattern.test) {\r\n return pattern.test(name);\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n}\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\" /* ACTIVATED */, target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\" /* DEACTIVATED */, target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n // cache the deactivate branch check wrapper for injected hooks so the same\r\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\r\n // deactivation check\".\r\n const wrappedHook = hook.__wdc ||\r\n (hook.__wdc = () => {\r\n // only fire the hook if the target instance is NOT in a deactivated branch.\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n // In addition to registering it on the target instance, we walk up the parent\r\n // chain and register it on all ancestor instances that are keep-alive roots.\r\n // This avoids the need to walk the entire component tree when invoking these\r\n // hooks, and more importantly, avoids the need to track child components in\r\n // arrays.\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n // injectHook wraps the original for error handling, so make sure to remove\r\n // the wrapped version.\r\n const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\nfunction resetShapeFlag(vnode) {\r\n let shapeFlag = vnode.shapeFlag;\r\n if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {\r\n shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n }\r\n if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {\r\n shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;\r\n }\r\n vnode.shapeFlag = shapeFlag;\r\n}\r\nfunction getInnerChild(vnode) {\r\n return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;\r\n}\n\nconst isInternalKey = (key) => key[0] === '_' || key === '$stable';\r\nconst normalizeSlotValue = (value) => isArray(value)\r\n ? value.map(normalizeVNode)\r\n : [normalizeVNode(value)];\r\nconst normalizeSlot = (key, rawSlot, ctx) => withCtx((props) => {\r\n if ((process.env.NODE_ENV !== 'production') && currentInstance) {\r\n warn(`Slot \"${key}\" invoked outside of the render function: ` +\r\n `this will not track dependencies used in the slot. ` +\r\n `Invoke the slot function inside the render function instead.`);\r\n }\r\n return normalizeSlotValue(rawSlot(props));\r\n}, ctx);\r\nconst normalizeObjectSlots = (rawSlots, slots) => {\r\n const ctx = rawSlots._ctx;\r\n for (const key in rawSlots) {\r\n if (isInternalKey(key))\r\n continue;\r\n const value = rawSlots[key];\r\n if (isFunction(value)) {\r\n slots[key] = normalizeSlot(key, value, ctx);\r\n }\r\n else if (value != null) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Non-function value encountered for slot \"${key}\". ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(value);\r\n slots[key] = () => normalized;\r\n }\r\n }\r\n};\r\nconst normalizeVNodeSlots = (instance, children) => {\r\n if ((process.env.NODE_ENV !== 'production') && !isKeepAlive(instance.vnode)) {\r\n warn(`Non-function value encountered for default slot. ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(children);\r\n instance.slots.default = () => normalized;\r\n};\r\nconst initSlots = (instance, children) => {\r\n if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n instance.slots = children;\r\n // make compiler marker non-enumerable\r\n def(children, '_', type);\r\n }\r\n else {\r\n normalizeObjectSlots(children, (instance.slots = {}));\r\n }\r\n }\r\n else {\r\n instance.slots = {};\r\n if (children) {\r\n normalizeVNodeSlots(instance, children);\r\n }\r\n }\r\n def(instance.slots, InternalObjectKey, 1);\r\n};\r\nconst updateSlots = (instance, children) => {\r\n const { vnode, slots } = instance;\r\n let needDeletionCheck = true;\r\n let deletionComparisonTarget = EMPTY_OBJ;\r\n if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // compiled slots.\r\n if ((process.env.NODE_ENV !== 'production') && isHmrUpdating) {\r\n // Parent was HMR updated so slot content may have changed.\r\n // force update slots and mark instance for hmr as well\r\n extend(slots, children);\r\n }\r\n else if (type === 1 /* STABLE */) {\r\n // compiled AND stable.\r\n // no need to update, and skip stale slots removal.\r\n needDeletionCheck = false;\r\n }\r\n else {\r\n // compiled but dynamic (v-if/v-for on slots) - update slots, but skip\r\n // normalization.\r\n extend(slots, children);\r\n }\r\n }\r\n else {\r\n needDeletionCheck = !children.$stable;\r\n normalizeObjectSlots(children, slots);\r\n }\r\n deletionComparisonTarget = children;\r\n }\r\n else if (children) {\r\n // non slot object children (direct value) passed to a component\r\n normalizeVNodeSlots(instance, children);\r\n deletionComparisonTarget = { default: 1 };\r\n }\r\n // delete stale slots\r\n if (needDeletionCheck) {\r\n for (const key in slots) {\r\n if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {\r\n delete slots[key];\r\n }\r\n }\r\n }\r\n};\n\n/**\r\nRuntime helper for applying directives to a vnode. Example usage:\r\n\nconst comp = resolveComponent('comp')\r\nconst foo = resolveDirective('foo')\r\nconst bar = resolveDirective('bar')\r\n\nreturn withDirectives(h(comp), [\r\n [foo, this.x],\r\n [bar, this.y]\r\n])\r\n*/\r\nconst isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text');\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn('Do not use built-in directive ids as custom directive id: ' + name);\r\n }\r\n}\r\n/**\r\n * Adds directives to a VNode.\r\n */\r\nfunction withDirectives(vnode, directives) {\r\n const internalInstance = currentRenderingInstance;\r\n if (internalInstance === null) {\r\n (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = internalInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n return vnode;\r\n}\r\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\r\n const bindings = vnode.dirs;\r\n const oldBindings = prevVNode && prevVNode.dirs;\r\n for (let i = 0; i < bindings.length; i++) {\r\n const binding = bindings[i];\r\n if (oldBindings) {\r\n binding.oldValue = oldBindings[i].value;\r\n }\r\n const hook = binding.dir[name];\r\n if (hook) {\r\n callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [\r\n vnode.el,\r\n binding,\r\n vnode,\r\n prevVNode\r\n ]);\r\n }\r\n }\r\n}\n\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n isCustomElement: NO,\r\n errorHandler: undefined,\r\n warnHandler: undefined\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: Object.create(null)\r\n };\r\n}\r\nlet uid = 0;\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (rootProps != null && !isObject(rootProps)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = new Set();\r\n let isMounted = false;\r\n const app = (context.app = {\r\n _uid: uid++,\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`app.config cannot be replaced. Modify individual options instead.`);\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Plugin has already been applied to target app.`);\r\n }\r\n else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n }\r\n else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`A plugin must either be a function or an object with an \"install\" ` +\r\n `function.`);\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n // global mixin with props/emits de-optimizes props/emits\r\n // normalization caching.\r\n if (mixin.props || mixin.emits) {\r\n context.deopt = true;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixin has already been applied to target app' +\r\n (mixin.name ? `: ${mixin.name}` : ''));\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixins are only available in builds supporting Options API');\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.components[name]) {\r\n warn(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.directives[name]) {\r\n warn(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n mount(rootContainer, isHydrate) {\r\n if (!isMounted) {\r\n const vnode = createVNode(rootComponent, rootProps);\r\n // store app context on the root VNode.\r\n // this will be set on the root instance on initial mount.\r\n vnode.appContext = context;\r\n // HMR root reload\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.reload = () => {\r\n render(cloneVNode(vnode), rootContainer);\r\n };\r\n }\r\n if (isHydrate && hydrate) {\r\n hydrate(vnode, rootContainer);\r\n }\r\n else {\r\n render(vnode, rootContainer);\r\n }\r\n isMounted = true;\r\n app._container = rootContainer;\r\n rootContainer.__vue_app__ = app;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsInitApp(app, version);\r\n }\r\n return vnode.component.proxy;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`App has already been mounted.\\n` +\r\n `If you want to remount the same app, move your app creation logic ` +\r\n `into a factory function and create fresh app instances for each ` +\r\n `mount - e.g. \\`const createMyApp = () => createApp(App)\\``);\r\n }\r\n },\r\n unmount() {\r\n if (isMounted) {\r\n render(null, app._container);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsUnmountApp(app);\r\n }\r\n delete app._container.__vue_app__;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot unmount an app that is not mounted.`);\r\n }\r\n },\r\n provide(key, value) {\r\n if ((process.env.NODE_ENV !== 'production') && key in context.provides) {\r\n warn(`App already provides property with key \"${String(key)}\". ` +\r\n `It will be overwritten with the new value.`);\r\n }\r\n // TypeScript doesn't allow symbols as index type\r\n // https://github.com/Microsoft/TypeScript/issues/24587\r\n context.provides[key] = value;\r\n return app;\r\n }\r\n });\r\n return app;\r\n };\r\n}\n\nlet hasMismatch = false;\r\nconst isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';\r\nconst isComment = (node) => node.nodeType === 8 /* COMMENT */;\r\n// Note: hydration is DOM-specific\r\n// But we have to place it in core due to tight coupling with core - splitting\r\n// it out creates a ton of unnecessary complexity.\r\n// Hydration also depends on some renderer internal logic which needs to be\r\n// passed in via arguments.\r\nfunction createHydrationFunctions(rendererInternals) {\r\n const { mt: mountComponent, p: patch, o: { patchProp, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;\r\n const hydrate = (vnode, container) => {\r\n if ((process.env.NODE_ENV !== 'production') && !container.hasChildNodes()) {\r\n warn(`Attempting to hydrate existing markup but container is empty. ` +\r\n `Performing full mount instead.`);\r\n patch(null, vnode, container);\r\n return;\r\n }\r\n hasMismatch = false;\r\n hydrateNode(container.firstChild, vnode, null, null);\r\n flushPostFlushCbs();\r\n if (hasMismatch && !false) {\r\n // this error should show up in production\r\n console.error(`Hydration completed but contains mismatches.`);\r\n }\r\n };\r\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, optimized = false) => {\r\n const isFragmentStart = isComment(node) && node.data === '[';\r\n const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, isFragmentStart);\r\n const { type, ref, shapeFlag } = vnode;\r\n const domType = node.nodeType;\r\n vnode.el = node;\r\n let nextNode = null;\r\n switch (type) {\r\n case Text:\r\n if (domType !== 3 /* TEXT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n if (node.data !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text mismatch:` +\r\n `\\n- Client: ${JSON.stringify(node.data)}` +\r\n `\\n- Server: ${JSON.stringify(vnode.children)}`);\r\n node.data = vnode.children;\r\n }\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Comment:\r\n if (domType !== 8 /* COMMENT */ || isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Static:\r\n if (domType !== 1 /* ELEMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n // determine anchor, adopt content\r\n nextNode = node;\r\n // if the static vnode has its content stripped during build,\r\n // adopt it from the server-rendered HTML.\r\n const needToAdoptContent = !vnode.children.length;\r\n for (let i = 0; i < vnode.staticCount; i++) {\r\n if (needToAdoptContent)\r\n vnode.children += nextNode.outerHTML;\r\n if (i === vnode.staticCount - 1) {\r\n vnode.anchor = nextNode;\r\n }\r\n nextNode = nextSibling(nextNode);\r\n }\r\n return nextNode;\r\n }\r\n break;\r\n case Fragment:\r\n if (!isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n if (domType !== 1 /* ELEMENT */ ||\r\n vnode.type !== node.tagName.toLowerCase()) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n // when setting up the render effect, if the initial vnode already\r\n // has .el set, the component will perform hydration instead of mount\r\n // on its sub-tree.\r\n const container = parentNode(node);\r\n const hydrateComponent = () => {\r\n mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);\r\n };\r\n // async component\r\n const loadAsync = vnode.type.__asyncLoader;\r\n if (loadAsync) {\r\n loadAsync().then(hydrateComponent);\r\n }\r\n else {\r\n hydrateComponent();\r\n }\r\n // component may be async, so in the case of fragments we cannot rely\r\n // on component's rendered output to determine the end of the fragment\r\n // instead, we do a lookahead to find the end anchor node.\r\n nextNode = isFragmentStart\r\n ? locateClosingAsyncAnchor(node)\r\n : nextSibling(node);\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n if (domType !== 8 /* COMMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, optimized, rendererInternals, hydrateChildren);\r\n }\r\n }\r\n else if (shapeFlag & 128 /* SUSPENSE */) {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), optimized, rendererInternals, hydrateNode);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid HostVNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n if (ref != null) {\r\n setRef(ref, null, parentSuspense, vnode);\r\n }\r\n return nextNode;\r\n };\r\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, optimized) => {\r\n optimized = optimized || !!vnode.dynamicChildren;\r\n const { props, patchFlag, shapeFlag, dirs } = vnode;\r\n // skip props & children if this is hoisted static nodes\r\n if (patchFlag !== -1 /* HOISTED */) {\r\n if (dirs) {\r\n invokeDirectiveHook(vnode, null, parentComponent, 'created');\r\n }\r\n // props\r\n if (props) {\r\n if (!optimized ||\r\n (patchFlag & 16 /* FULL_PROPS */ ||\r\n patchFlag & 32 /* HYDRATE_EVENTS */)) {\r\n for (const key in props) {\r\n if (!isReservedProp(key) && isOn(key)) {\r\n patchProp(el, key, null, props[key]);\r\n }\r\n }\r\n }\r\n else if (props.onClick) {\r\n // Fast path for click listeners (which is most often) to avoid\r\n // iterating through props.\r\n patchProp(el, 'onClick', null, props.onClick);\r\n }\r\n }\r\n // vnode / directive hooks\r\n let vnodeHooks;\r\n if ((vnodeHooks = props && props.onVnodeBeforeMount)) {\r\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n }\r\n if (dirs) {\r\n invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');\r\n }\r\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs) {\r\n queueEffectWithSuspense(() => {\r\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n dirs && invokeDirectiveHook(vnode, null, parentComponent, 'mounted');\r\n }, parentSuspense);\r\n }\r\n // children\r\n if (shapeFlag & 16 /* ARRAY_CHILDREN */ &&\r\n // skip if element has innerHTML / textContent\r\n !(props && (props.innerHTML || props.textContent))) {\r\n let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, optimized);\r\n let hasWarned = false;\r\n while (next) {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${vnode.type}>: ` +\r\n `server rendered element contains more child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // The SSRed DOM contains more nodes than it should. Remove them.\r\n const cur = next;\r\n next = next.nextSibling;\r\n remove(cur);\r\n }\r\n }\r\n else if (shapeFlag & 8 /* TEXT_CHILDREN */) {\r\n if (el.textContent !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text content mismatch in <${vnode.type}>:\\n` +\r\n `- Client: ${el.textContent}\\n` +\r\n `- Server: ${vnode.children}`);\r\n el.textContent = vnode.children;\r\n }\r\n }\r\n }\r\n return el.nextSibling;\r\n };\r\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, optimized) => {\r\n optimized = optimized || !!parentVNode.dynamicChildren;\r\n const children = parentVNode.children;\r\n const l = children.length;\r\n let hasWarned = false;\r\n for (let i = 0; i < l; i++) {\r\n const vnode = optimized\r\n ? children[i]\r\n : (children[i] = normalizeVNode(children[i]));\r\n if (node) {\r\n node = hydrateNode(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n else {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +\r\n `server rendered element contains fewer child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // the SSRed DOM didn't contain enough nodes. Mount the missing ones.\r\n patch(null, vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container));\r\n }\r\n }\r\n return node;\r\n };\r\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, optimized) => {\r\n const container = parentNode(node);\r\n const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, optimized);\r\n if (next && isComment(next) && next.data === ']') {\r\n return nextSibling((vnode.anchor = next));\r\n }\r\n else {\r\n // fragment didn't hydrate successfully, since we didn't get a end anchor\r\n // back. This should have led to node/children mismatch warnings.\r\n hasMismatch = true;\r\n // since the anchor is missing, we need to create one and insert it\r\n insert((vnode.anchor = createComment(`]`)), container, next);\r\n return next;\r\n }\r\n };\r\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, isFragment) => {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration node mismatch:\\n- Client vnode:`, vnode.type, `\\n- Server rendered DOM:`, node, node.nodeType === 3 /* TEXT */\r\n ? `(text)`\r\n : isComment(node) && node.data === '['\r\n ? `(start of fragment)`\r\n : ``);\r\n vnode.el = null;\r\n if (isFragment) {\r\n // remove excessive fragment nodes\r\n const end = locateClosingAsyncAnchor(node);\r\n while (true) {\r\n const next = nextSibling(node);\r\n if (next && next !== end) {\r\n remove(next);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n const next = nextSibling(node);\r\n const container = parentNode(node);\r\n remove(node);\r\n patch(null, vnode, container, next, parentComponent, parentSuspense, isSVGContainer(container));\r\n return next;\r\n };\r\n const locateClosingAsyncAnchor = (node) => {\r\n let match = 0;\r\n while (node) {\r\n node = nextSibling(node);\r\n if (node && isComment(node)) {\r\n if (node.data === '[')\r\n match++;\r\n if (node.data === ']') {\r\n if (match === 0) {\r\n return nextSibling(node);\r\n }\r\n else {\r\n match--;\r\n }\r\n }\r\n }\r\n }\r\n return node;\r\n };\r\n return [hydrate, hydrateNode];\r\n}\n\nlet supported;\r\nlet perf;\r\nfunction startMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n perf.mark(`vue-${type}-${instance.uid}`);\r\n }\r\n}\r\nfunction endMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n const startTag = `vue-${type}-${instance.uid}`;\r\n const endTag = startTag + `:end`;\r\n perf.mark(endTag);\r\n perf.measure(`<${formatComponentName(instance, instance.type)}> ${type}`, startTag, endTag);\r\n perf.clearMarks(startTag);\r\n perf.clearMarks(endTag);\r\n }\r\n}\r\nfunction isSupported() {\r\n if (supported !== undefined) {\r\n return supported;\r\n }\r\n /* eslint-disable no-restricted-globals */\r\n if (typeof window !== 'undefined' && window.performance) {\r\n supported = true;\r\n perf = window.performance;\r\n }\r\n else {\r\n supported = false;\r\n }\r\n /* eslint-enable no-restricted-globals */\r\n return supported;\r\n}\n\n/**\r\n * This is only called in esm-bundler builds.\r\n * It is called when a renderer is created, in `baseCreateRenderer` so that\r\n * importing runtime-core is side-effects free.\r\n *\r\n * istanbul-ignore-next\r\n */\r\nfunction initFeatureFlags() {\r\n let needWarn = false;\r\n if (typeof __VUE_OPTIONS_API__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_OPTIONS_API__ = true;\r\n }\r\n if (typeof __VUE_PROD_DEVTOOLS__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && needWarn) {\r\n console.warn(`You are running the esm-bundler build of Vue. It is recommended to ` +\r\n `configure your bundler to explicitly replace feature flag globals ` +\r\n `with boolean literals to get proper tree-shaking in the final bundle. ` +\r\n `See http://link.vuejs.org/feature-flags for more details.`);\r\n }\r\n}\n\n// implementation, close to no-op\r\nfunction defineComponent(options) {\r\n return isFunction(options) ? { setup: options, name: options.name } : options;\r\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\r\nfunction defineAsyncComponent(source) {\r\n if (isFunction(source)) {\r\n source = { loader: source };\r\n }\r\n const { loader, loadingComponent, errorComponent, delay = 200, timeout, // undefined = never times out\r\n suspensible = true, onError: userOnError } = source;\r\n let pendingRequest = null;\r\n let resolvedComp;\r\n let retries = 0;\r\n const retry = () => {\r\n retries++;\r\n pendingRequest = null;\r\n return load();\r\n };\r\n const load = () => {\r\n let thisRequest;\r\n return (pendingRequest ||\r\n (thisRequest = pendingRequest = loader()\r\n .catch(err => {\r\n err = err instanceof Error ? err : new Error(String(err));\r\n if (userOnError) {\r\n return new Promise((resolve, reject) => {\r\n const userRetry = () => resolve(retry());\r\n const userFail = () => reject(err);\r\n userOnError(err, userRetry, userFail, retries + 1);\r\n });\r\n }\r\n else {\r\n throw err;\r\n }\r\n })\r\n .then((comp) => {\r\n if (thisRequest !== pendingRequest && pendingRequest) {\r\n return pendingRequest;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && !comp) {\r\n warn(`Async component loader resolved to undefined. ` +\r\n `If you are using retry(), make sure to return its return value.`);\r\n }\r\n // interop module default\r\n if (comp &&\r\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\r\n comp = comp.default;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && comp && !isObject(comp) && !isFunction(comp)) {\r\n throw new Error(`Invalid async component load result: ${comp}`);\r\n }\r\n resolvedComp = comp;\r\n return comp;\r\n })));\r\n };\r\n return defineComponent({\r\n __asyncLoader: load,\r\n name: 'AsyncComponentWrapper',\r\n setup() {\r\n const instance = currentInstance;\r\n // already resolved\r\n if (resolvedComp) {\r\n return () => createInnerComp(resolvedComp, instance);\r\n }\r\n const onError = (err) => {\r\n pendingRequest = null;\r\n handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);\r\n };\r\n // suspense-controlled or SSR.\r\n if ((suspensible && instance.suspense) ||\r\n (false )) {\r\n return load()\r\n .then(comp => {\r\n return () => createInnerComp(comp, instance);\r\n })\r\n .catch(err => {\r\n onError(err);\r\n return () => errorComponent\r\n ? createVNode(errorComponent, {\r\n error: err\r\n })\r\n : null;\r\n });\r\n }\r\n const loaded = ref(false);\r\n const error = ref();\r\n const delayed = ref(!!delay);\r\n if (delay) {\r\n setTimeout(() => {\r\n delayed.value = false;\r\n }, delay);\r\n }\r\n if (timeout != null) {\r\n setTimeout(() => {\r\n if (!loaded.value && !error.value) {\r\n const err = new Error(`Async component timed out after ${timeout}ms.`);\r\n onError(err);\r\n error.value = err;\r\n }\r\n }, timeout);\r\n }\r\n load()\r\n .then(() => {\r\n loaded.value = true;\r\n })\r\n .catch(err => {\r\n onError(err);\r\n error.value = err;\r\n });\r\n return () => {\r\n if (loaded.value && resolvedComp) {\r\n return createInnerComp(resolvedComp, instance);\r\n }\r\n else if (error.value && errorComponent) {\r\n return createVNode(errorComponent, {\r\n error: error.value\r\n });\r\n }\r\n else if (loadingComponent && !delayed.value) {\r\n return createVNode(loadingComponent);\r\n }\r\n };\r\n }\r\n });\r\n}\r\nfunction createInnerComp(comp, { vnode: { ref, props, children } }) {\r\n const vnode = createVNode(comp, props, children);\r\n // ensure inner component inherits the async wrapper's ref owner\r\n vnode.ref = ref;\r\n return vnode;\r\n}\n\nconst prodEffectOptions = {\r\n scheduler: queueJob,\r\n // #1801, #2043 component render effects should allow recursive updates\r\n allowRecurse: true\r\n};\r\nfunction createDevEffectOptions(instance) {\r\n return {\r\n scheduler: queueJob,\r\n allowRecurse: true,\r\n onTrack: instance.rtc ? e => invokeArrayFns(instance.rtc, e) : void 0,\r\n onTrigger: instance.rtg ? e => invokeArrayFns(instance.rtg, e) : void 0\r\n };\r\n}\r\nconst queuePostRenderEffect = queueEffectWithSuspense\r\n ;\r\nconst setRef = (rawRef, oldRawRef, parentSuspense, vnode) => {\r\n if (isArray(rawRef)) {\r\n rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode));\r\n return;\r\n }\r\n let value;\r\n if (!vnode || isAsyncWrapper(vnode)) {\r\n value = null;\r\n }\r\n else {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n value = vnode.component.exposed || vnode.component.proxy;\r\n }\r\n else {\r\n value = vnode.el;\r\n }\r\n }\r\n const { i: owner, r: ref } = rawRef;\r\n if ((process.env.NODE_ENV !== 'production') && !owner) {\r\n warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +\r\n `A vnode with ref must be created inside the render function.`);\r\n return;\r\n }\r\n const oldRef = oldRawRef && oldRawRef.r;\r\n const refs = owner.refs === EMPTY_OBJ ? (owner.refs = {}) : owner.refs;\r\n const setupState = owner.setupState;\r\n // unset old ref\r\n if (oldRef != null && oldRef !== ref) {\r\n if (isString(oldRef)) {\r\n refs[oldRef] = null;\r\n if (hasOwn(setupState, oldRef)) {\r\n setupState[oldRef] = null;\r\n }\r\n }\r\n else if (isRef(oldRef)) {\r\n oldRef.value = null;\r\n }\r\n }\r\n if (isString(ref)) {\r\n const doSet = () => {\r\n refs[ref] = value;\r\n if (hasOwn(setupState, ref)) {\r\n setupState[ref] = value;\r\n }\r\n };\r\n // #1789: for non-null values, set them after render\r\n // null values means this is unmount and it should not overwrite another\r\n // ref with the same key\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if (isRef(ref)) {\r\n const doSet = () => {\r\n ref.value = value;\r\n };\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if (isFunction(ref)) {\r\n callWithErrorHandling(ref, owner, 12 /* FUNCTION_REF */, [value, refs]);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid template ref type:', value, `(${typeof value})`);\r\n }\r\n};\r\n/**\r\n * The createRenderer function accepts two generic arguments:\r\n * HostNode and HostElement, corresponding to Node and Element types in the\r\n * host environment. For example, for runtime-dom, HostNode would be the DOM\r\n * `Node` interface and HostElement would be the DOM `Element` interface.\r\n *\r\n * Custom renderers can pass in the platform specific types like this:\r\n *\r\n * ``` js\r\n * const { render, createApp } = createRenderer({\r\n * patchProp,\r\n * ...nodeOps\r\n * })\r\n * ```\r\n */\r\nfunction createRenderer(options) {\r\n return baseCreateRenderer(options);\r\n}\r\n// Separate API for creating hydration-enabled renderer.\r\n// Hydration logic is only used when calling this function, making it\r\n// tree-shakable.\r\nfunction createHydrationRenderer(options) {\r\n return baseCreateRenderer(options, createHydrationFunctions);\r\n}\r\n// implementation\r\nfunction baseCreateRenderer(options, createHydrationFns) {\r\n // compile-time feature flags check\r\n {\r\n initFeatureFlags();\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n const target = getGlobalThis();\r\n target.__VUE__ = true;\r\n setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__);\r\n }\r\n const { insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, forcePatchProp: hostForcePatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = NOOP, cloneNode: hostCloneNode, insertStaticContent: hostInsertStaticContent } = options;\r\n // Note: functions inside this closure should use `const xxx = () => {}`\r\n // style in order to prevent being inlined by minifiers.\r\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, optimized = false) => {\r\n // patching & not same type, unmount old tree\r\n if (n1 && !isSameVNodeType(n1, n2)) {\r\n anchor = getNextHostNode(n1);\r\n unmount(n1, parentComponent, parentSuspense, true);\r\n n1 = null;\r\n }\r\n if (n2.patchFlag === -2 /* BAIL */) {\r\n optimized = false;\r\n n2.dynamicChildren = null;\r\n }\r\n const { type, ref, shapeFlag } = n2;\r\n switch (type) {\r\n case Text:\r\n processText(n1, n2, container, anchor);\r\n break;\r\n case Comment:\r\n processCommentNode(n1, n2, container, anchor);\r\n break;\r\n case Static:\r\n if (n1 == null) {\r\n mountStaticNode(n2, container, anchor, isSVG);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n patchStaticNode(n1, n2, container, isSVG);\r\n }\r\n break;\r\n case Fragment:\r\n processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);\r\n }\r\n else if (shapeFlag & 128 /* SUSPENSE */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid VNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n // set ref\r\n if (ref != null && parentComponent) {\r\n setRef(ref, n1 && n1.ref, parentSuspense, n2);\r\n }\r\n };\r\n const processText = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateText(n2.children)), container, anchor);\r\n }\r\n else {\r\n const el = (n2.el = n1.el);\r\n if (n2.children !== n1.children) {\r\n hostSetText(el, n2.children);\r\n }\r\n }\r\n };\r\n const processCommentNode = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateComment(n2.children || '')), container, anchor);\r\n }\r\n else {\r\n // there's no support for dynamic comments\r\n n2.el = n1.el;\r\n }\r\n };\r\n const mountStaticNode = (n2, container, anchor, isSVG) => {\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\r\n };\r\n /**\r\n * Dev / HMR only\r\n */\r\n const patchStaticNode = (n1, n2, container, isSVG) => {\r\n // static nodes are only patched during dev for HMR\r\n if (n2.children !== n1.children) {\r\n const anchor = hostNextSibling(n1.anchor);\r\n // remove existing\r\n removeStaticNode(n1);\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\r\n }\r\n else {\r\n n2.el = n1.el;\r\n n2.anchor = n1.anchor;\r\n }\r\n };\r\n const moveStaticNode = ({ el, anchor }, container, nextSibling) => {\r\n let next;\r\n while (el && el !== anchor) {\r\n next = hostNextSibling(el);\r\n hostInsert(el, container, nextSibling);\r\n el = next;\r\n }\r\n hostInsert(anchor, container, nextSibling);\r\n };\r\n const removeStaticNode = ({ el, anchor }) => {\r\n let next;\r\n while (el && el !== anchor) {\r\n next = hostNextSibling(el);\r\n hostRemove(el);\r\n el = next;\r\n }\r\n hostRemove(anchor);\r\n };\r\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\r\n isSVG = isSVG || n2.type === 'svg';\r\n if (n1 == null) {\r\n mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else {\r\n patchElement(n1, n2, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n };\r\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\r\n let el;\r\n let vnodeHook;\r\n const { type, props, shapeFlag, transition, scopeId, patchFlag, dirs } = vnode;\r\n if (!(process.env.NODE_ENV !== 'production') &&\r\n vnode.el &&\r\n hostCloneNode !== undefined &&\r\n patchFlag === -1 /* HOISTED */) {\r\n // If a vnode has non-null el, it means it's being reused.\r\n // Only static vnodes can be reused, so its mounted DOM nodes should be\r\n // exactly the same, and we can simply do a clone here.\r\n // only do this in production since cloned trees cannot be HMR updated.\r\n el = vnode.el = hostCloneNode(vnode.el);\r\n }\r\n else {\r\n el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is);\r\n // mount children first, since some props may rely on child content\r\n // being already rendered, e.g. `