From a9e089e0436906bf5d79c332e497fd1b155b1768 Mon Sep 17 00:00:00 2001 From: Eugene Serb <46799701+eugene-serb@users.noreply.github.com> Date: Sat, 23 Jul 2022 23:01:23 +0300 Subject: [PATCH 01/16] Updated CSS, dependencies, sitemaps --- docs/css/styles.css | 8 ++++- docs/index.html | 2 +- docs/js/{548.8603e4a4.js => 548.b0cff884.js} | 2 +- ...48.8603e4a4.js.map => 548.b0cff884.js.map} | 2 +- docs/js/{877.a8dd8d41.js => 877.d6ed6a75.js} | 2 +- ...77.a8dd8d41.js.map => 877.d6ed6a75.js.map} | 2 +- docs/js/{93.22832789.js => 93.3a3c9684.js} | 2 +- ...{93.22832789.js.map => 93.3a3c9684.js.map} | 2 +- docs/js/{app.ed7ad2c3.js => app.66bfd240.js} | 4 +-- docs/js/app.66bfd240.js.map | 1 + docs/js/app.ed7ad2c3.js.map | 1 - docs/sitemap-internal.xml | 8 ++--- docs/sitemap.xml | 2 +- package-lock.json | 36 +++++++++---------- package.json | 9 +++-- public/css/styles.css | 8 ++++- public/sitemap-internal.xml | 8 ++--- public/sitemap.xml | 2 +- 18 files changed, 59 insertions(+), 42 deletions(-) rename docs/js/{548.8603e4a4.js => 548.b0cff884.js} (96%) rename docs/js/{548.8603e4a4.js.map => 548.b0cff884.js.map} (66%) rename docs/js/{877.a8dd8d41.js => 877.d6ed6a75.js} (98%) rename docs/js/{877.a8dd8d41.js.map => 877.d6ed6a75.js.map} (80%) rename docs/js/{93.22832789.js => 93.3a3c9684.js} (97%) rename docs/js/{93.22832789.js.map => 93.3a3c9684.js.map} (68%) rename docs/js/{app.ed7ad2c3.js => app.66bfd240.js} (99%) create mode 100644 docs/js/app.66bfd240.js.map delete mode 100644 docs/js/app.ed7ad2c3.js.map diff --git a/docs/css/styles.css b/docs/css/styles.css index f0d01cd..98ed54c 100644 --- a/docs/css/styles.css +++ b/docs/css/styles.css @@ -1,3 +1,9 @@ +/* ------------------------------ */ +/* Wavelovers styles */ +/* version: dated 2022.07.23 */ +/* author: Eugene Serb */ +/* ------------------------------ */ + /* ------------------------------ */ /* RESET AND BASE STYLES' TUNE UP */ /* ------------------------------ */ @@ -176,7 +182,7 @@ legend { fieldset { border: 2px solid var(--color-border-alpha); - border-radius: 4px; + border-radius: var(--number-border-radius); padding: 8px; } diff --git a/docs/index.html b/docs/index.html index 0ca3afc..1e9778d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -15,4 +15,4 @@ trackLinks: true, accurateTrackBounce: true, webvisor: true - }); \ No newline at end of file + }); \ No newline at end of file diff --git a/docs/js/548.8603e4a4.js b/docs/js/548.b0cff884.js similarity index 96% rename from docs/js/548.8603e4a4.js rename to docs/js/548.b0cff884.js index cfdbbf3..0a88fcb 100644 --- a/docs/js/548.8603e4a4.js +++ b/docs/js/548.b0cff884.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[548],{2548:function(e,a,n){n.r(a),n.d(a,{default:function(){return c}});var t=n(3396);const s={class:"page container"},i=(0,t.uE)('

Wavelovers � About

About

Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.


Write me: eugene.serb@gmail.com
Visit my homepage: eugene-serb.github.io

Advertising

If you have advertising suggestions, please mail me: eugene.serb@gmail.com
',2),r=[i];function o(e,a,n,i,o,u){return(0,t.wg)(),(0,t.iD)("main",s,r)}var u=(0,t.aZ)({name:"AboutView"}),l=n(89);const h=(0,l.Z)(u,[["render",o]]);var c=h}}]); -//# sourceMappingURL=548.8603e4a4.js.map \ No newline at end of file +//# sourceMappingURL=548.b0cff884.js.map \ No newline at end of file diff --git a/docs/js/548.8603e4a4.js.map b/docs/js/548.b0cff884.js.map similarity index 66% rename from docs/js/548.8603e4a4.js.map rename to docs/js/548.b0cff884.js.map index 9827620..3c09555 100644 --- a/docs/js/548.8603e4a4.js.map +++ b/docs/js/548.b0cff884.js.map @@ -1 +1 @@ -{"version":3,"file":"js/548.8603e4a4.js","mappings":"8KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,IAAmB,4uBAAmwB,GAChzBC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQb,EAAYI,EAC/D,CCPG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,c,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/AboutView.vue?8926","webpack://wavelovers/./src/views/AboutView.vue?f245","webpack://wavelovers/./src/views/AboutView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers � About

About

Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.


Write me: eugene.serb@gmail.com
Visit my homepage: eugene-serb.github.io

Advertising

If you have advertising suggestions, please mail me: eugene.serb@gmail.com
\", 2)\nconst _hoisted_4 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_4))\n}","\n import { defineComponent } from 'vue';\n\n export default defineComponent({\n name: 'AboutView',\n });\n","import { render } from \"./AboutView.vue?vue&type=template&id=e4a163de&ts=true\"\nimport script from \"./AboutView.vue?vue&type=script&lang=ts\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createStaticVNode","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/548.b0cff884.js","mappings":"8KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,IAAmB,4uBAAmwB,GAChzBC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQb,EAAYI,EAC/D,CCPG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,c,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/AboutView.vue?8926","webpack://wavelovers/./src/views/AboutView.vue?f245","webpack://wavelovers/./src/views/AboutView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers � About

About

Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.


Write me: eugene.serb@gmail.com
Visit my homepage: eugene-serb.github.io

Advertising

If you have advertising suggestions, please mail me: eugene.serb@gmail.com
\", 2)\nconst _hoisted_4 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_4))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AboutView',\r\n });\r\n","import { render } from \"./AboutView.vue?vue&type=template&id=e4a163de&ts=true\"\nimport script from \"./AboutView.vue?vue&type=script&lang=ts\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createStaticVNode","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/877.a8dd8d41.js b/docs/js/877.d6ed6a75.js similarity index 98% rename from docs/js/877.a8dd8d41.js rename to docs/js/877.d6ed6a75.js index f5cc929..1b55a57 100644 --- a/docs/js/877.a8dd8d41.js +++ b/docs/js/877.d6ed6a75.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[877],{877:function(a,e,s){s.r(e),s.d(e,{default:function(){return l}});var r=s(3396);const n={class:"page container"},t=(0,r.uE)('

Wavelovers � FAQ

FAQ

What is the purpose of this software?
Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.

Can I use this software as a hand massager?
Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.

I have a gamepad with vibration, what should I do before using it as a hand massager?
I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.

I'm having problems with the app or connecting my device to the app?
Go to Troubleshooting.

Troubleshooting

If you are having difficulty detecting a gamepad by the browser, you can use the utility Gamepad Master

The app does not see my device.
Make sure you have a chromium-based browser, then update the app and reconnect your device.

The application sees the gamepad, but writes that the vibration actuator is missing.
This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.

My question is not here.
Write me eugene.serb@gmail.com

System Requirements

Gamepad:
X-Input and vibration actuator required.

Browser:
Google Chrome or any other Chromium-based browser is recommended.

Operating System:
Windows 7 or higher recommended.
',2),i=[t];function o(a,e,s,t,o,p){return(0,r.wg)(),(0,r.iD)("main",n,i)}var p=(0,r.aZ)({name:"FaqView"}),c=s(89);const h=(0,c.Z)(p,[["render",o]]);var l=h}}]); -//# sourceMappingURL=877.a8dd8d41.js.map \ No newline at end of file +//# sourceMappingURL=877.d6ed6a75.js.map \ No newline at end of file diff --git a/docs/js/877.a8dd8d41.js.map b/docs/js/877.d6ed6a75.js.map similarity index 80% rename from docs/js/877.a8dd8d41.js.map rename to docs/js/877.d6ed6a75.js.map index a0181b2..9d22a69 100644 --- a/docs/js/877.a8dd8d41.js.map +++ b/docs/js/877.d6ed6a75.js.map @@ -1 +1 @@ -{"version":3,"file":"js/877.a8dd8d41.js","mappings":"6KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,IAAmB,i3EAAg7E,GAC79EC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQb,EAAYI,EAC/D,CCPG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,Y,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/FaqView.vue?8fb5","webpack://wavelovers/./src/views/FaqView.vue?a581","webpack://wavelovers/./src/views/FaqView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers � FAQ

FAQ

What is the purpose of this software?
Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.

Can I use this software as a hand massager?
Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.

I have a gamepad with vibration, what should I do before using it as a hand massager?
I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.

I'm having problems with the app or connecting my device to the app?
Go to Troubleshooting.

Troubleshooting

If you are having difficulty detecting a gamepad by the browser, you can use the utility Gamepad Master

The app does not see my device.
Make sure you have a chromium-based browser, then update the app and reconnect your device.

The application sees the gamepad, but writes that the vibration actuator is missing.
This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.

My question is not here.
Write me eugene.serb@gmail.com

System Requirements

Gamepad:
X-Input and vibration actuator required.

Browser:
Google Chrome or any other Chromium-based browser is recommended.

Operating System:
Windows 7 or higher recommended.
\", 2)\nconst _hoisted_4 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_4))\n}","\n import { defineComponent } from 'vue';\n\n export default defineComponent({\n name: 'FaqView',\n });\n","import { render } from \"./FaqView.vue?vue&type=template&id=aad19c66&ts=true\"\nimport script from \"./FaqView.vue?vue&type=script&lang=ts\"\nexport * from \"./FaqView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createStaticVNode","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/877.d6ed6a75.js","mappings":"6KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,IAAmB,i3EAAg7E,GAC79EC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQb,EAAYI,EAC/D,CCPG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,Y,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/FaqView.vue?8fb5","webpack://wavelovers/./src/views/FaqView.vue?a581","webpack://wavelovers/./src/views/FaqView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers � FAQ

FAQ

What is the purpose of this software?
Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.

Can I use this software as a hand massager?
Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.

I have a gamepad with vibration, what should I do before using it as a hand massager?
I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.

I'm having problems with the app or connecting my device to the app?
Go to Troubleshooting.

Troubleshooting

If you are having difficulty detecting a gamepad by the browser, you can use the utility Gamepad Master

The app does not see my device.
Make sure you have a chromium-based browser, then update the app and reconnect your device.

The application sees the gamepad, but writes that the vibration actuator is missing.
This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.

My question is not here.
Write me eugene.serb@gmail.com

System Requirements

Gamepad:
X-Input and vibration actuator required.

Browser:
Google Chrome or any other Chromium-based browser is recommended.

Operating System:
Windows 7 or higher recommended.
\", 2)\nconst _hoisted_4 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_4))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'FaqView',\r\n });\r\n","import { render } from \"./FaqView.vue?vue&type=template&id=aad19c66&ts=true\"\nimport script from \"./FaqView.vue?vue&type=script&lang=ts\"\nexport * from \"./FaqView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createStaticVNode","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/93.22832789.js b/docs/js/93.3a3c9684.js similarity index 97% rename from docs/js/93.22832789.js rename to docs/js/93.3a3c9684.js index 82468b5..e04bcbd 100644 --- a/docs/js/93.22832789.js +++ b/docs/js/93.3a3c9684.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[93],{93:function(e,a,n){n.r(a),n.d(a,{default:function(){return m}});var s=n(3396);const o={class:"page container"},r=(0,s.uE)('

Wavelovers � Donate

Donate

If you like this app, you can thank me and donate to me.

Why should you donate to Wavelovers?

More donation = more money
More money allows me buy more coffee
More coffee makes me write more code
More code means more features
More features make you more happiness and productive
More happiness and productive so you earn more money
More money you earn more donation to me

Bitcoin: bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5
DonationAlert: @eugene_serb
',2),t=[r];function p(e,a,n,r,p,i){return(0,s.wg)(),(0,s.iD)("main",o,t)}var i=(0,s.aZ)({name:"DonateView"}),u=n(89);const c=(0,u.Z)(i,[["render",p]]);var m=c}}]); -//# sourceMappingURL=93.22832789.js.map \ No newline at end of file +//# sourceMappingURL=93.3a3c9684.js.map \ No newline at end of file diff --git a/docs/js/93.22832789.js.map b/docs/js/93.3a3c9684.js.map similarity index 68% rename from docs/js/93.22832789.js.map rename to docs/js/93.3a3c9684.js.map index 8437916..25865d0 100644 --- a/docs/js/93.22832789.js.map +++ b/docs/js/93.3a3c9684.js.map @@ -1 +1 @@ -{"version":3,"file":"js/93.22832789.js","mappings":"2KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,IAAmB,y8BAA49B,GACzgCC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQb,EAAYI,EAC/D,CCPG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,e,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/DonateView.vue?562c","webpack://wavelovers/./src/views/DonateView.vue?82fb","webpack://wavelovers/./src/views/DonateView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers � Donate

Donate

If you like this app, you can thank me and donate to me.

Why should you donate to Wavelovers?

More donation = more money
More money allows me buy more coffee
More coffee makes me write more code
More code means more features
More features make you more happiness and productive
More happiness and productive so you earn more money
More money you earn more donation to me

Bitcoin: bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5
DonationAlert: @eugene_serb
\", 2)\nconst _hoisted_4 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_4))\n}","\n import { defineComponent } from 'vue';\n\n export default defineComponent({\n name: 'DonateView',\n });\n","import { render } from \"./DonateView.vue?vue&type=template&id=5d4cd0d6&ts=true\"\nimport script from \"./DonateView.vue?vue&type=script&lang=ts\"\nexport * from \"./DonateView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createStaticVNode","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/93.3a3c9684.js","mappings":"2KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,IAAmB,y8BAA49B,GACzgCC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQb,EAAYI,EAC/D,CCPG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,e,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/DonateView.vue?562c","webpack://wavelovers/./src/views/DonateView.vue?82fb","webpack://wavelovers/./src/views/DonateView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers � Donate

Donate

If you like this app, you can thank me and donate to me.

Why should you donate to Wavelovers?

More donation = more money
More money allows me buy more coffee
More coffee makes me write more code
More code means more features
More features make you more happiness and productive
More happiness and productive so you earn more money
More money you earn more donation to me

Bitcoin: bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5
DonationAlert: @eugene_serb
\", 2)\nconst _hoisted_4 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_4))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'DonateView',\r\n });\r\n","import { render } from \"./DonateView.vue?vue&type=template&id=5d4cd0d6&ts=true\"\nimport script from \"./DonateView.vue?vue&type=script&lang=ts\"\nexport * from \"./DonateView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createStaticVNode","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/app.ed7ad2c3.js b/docs/js/app.66bfd240.js similarity index 99% rename from docs/js/app.ed7ad2c3.js rename to docs/js/app.66bfd240.js index c249398..54b1d0c 100644 --- a/docs/js/app.ed7ad2c3.js +++ b/docs/js/app.66bfd240.js @@ -1,2 +1,2 @@ -(function(){"use strict";var e={970:function(e,t,a){var n=a(9242),r=a(3396);function o(e,t,a,n,o,i){const s=(0,r.up)("AppHeader"),c=(0,r.up)("router-view"),l=(0,r.up)("AppFooter");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r.Wm)(s),(0,r.Wm)(c),(0,r.Wm)(l)],64)}const i={class:"header"},s={class:"header-wrapper container"},c=(0,r._)("div",{class:"logo-wrapper"},[(0,r._)("span",{class:"logo-wrapper__logo",translate:"no"},"Wavelovers")],-1),l={class:"menu-wrapper"},d={class:"navigation"},u={class:"navigation__item"},v=(0,r.Uk)("Home"),m={class:"navigation__item"},p=(0,r.Uk)("FAQ"),h={class:"navigation__item"},g=(0,r.Uk)("About"),f={class:"navigation__item"},b=(0,r.Uk)("Donate");function w(e,t,a,n,o,w){const y=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("header",i,[(0,r._)("div",s,[c,(0,r._)("nav",l,[(0,r._)("ul",d,[(0,r._)("li",u,[(0,r.Wm)(y,{to:"/",class:"navigation__link"},{default:(0,r.w5)((()=>[v])),_:1})]),(0,r._)("li",m,[(0,r.Wm)(y,{to:"/faq",class:"navigation__link"},{default:(0,r.w5)((()=>[p])),_:1})]),(0,r._)("li",h,[(0,r.Wm)(y,{to:"/about",class:"navigation__link"},{default:(0,r.w5)((()=>[g])),_:1})]),(0,r._)("li",f,[(0,r.Wm)(y,{to:"/donate",class:"navigation__link"},{default:(0,r.w5)((()=>[b])),_:1})])])])])])}var y=(0,r.aZ)({name:"AppHeader"}),W=a(89);const _=(0,W.Z)(y,[["render",w]]);var k=_;const A={class:"footer"},V=(0,r.uE)('',1),T=[V];function P(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("footer",A,T)}var G=(0,r.aZ)({name:"AppFooter"});const C=(0,W.Z)(G,[["render",P]]);var E=C,j=(0,r.aZ)({name:"App",components:{AppHeader:k,AppFooter:E}});const Z=(0,W.Z)(j,[["render",o]]);var x=Z,D=a(2483);const M={class:"page container"},L=(0,r._)("h1",{class:"visually-hidden"},"Wavelovers",-1);function O(e,t,a,n,o,i){const s=(0,r.up)("WaveloversApp");return(0,r.wg)(),(0,r.iD)("main",M,[L,(0,r.Wm)(s)])}const S={class:"wavelovers"},F=(0,r.Uk)("Loading..."),q=(0,r.Uk)("Press any gamepad's button or connect new gamepad.");function I(e,t,a,n,o,i){const s=(0,r.up)("PatternList"),c=(0,r.up)("MessageItem"),l=(0,r.up)("GamepadList");return(0,r.wg)(),(0,r.iD)("div",S,[e.patterns.length>0?((0,r.wg)(),(0,r.j4)(s,{key:0,patterns:e.patterns,mode:e.mode,isActive:e.isActive,onChange:e.change},null,8,["patterns","mode","isActive","onChange"])):((0,r.wg)(),(0,r.j4)(c,{key:1},{default:(0,r.w5)((()=>[F])),_:1})),e.gamepads.length>0?((0,r.wg)(),(0,r.j4)(l,{key:2,gamepads:e.gamepads},null,8,["gamepads"])):((0,r.wg)(),(0,r.j4)(c,{key:3},{default:(0,r.w5)((()=>[q])),_:1}))])}const N={class:"pattern-list"};function U(e,t,a,n,o,i){const s=(0,r.up)("PatternItem");return(0,r.wg)(),(0,r.iD)("div",N,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(e.patterns,((t,a)=>((0,r.wg)(),(0,r.j4)(s,{key:t.name,pattern:t,index:a,mode:e.mode,isActive:e.isActive,onChange:e.change},null,8,["pattern","index","mode","isActive","onChange"])))),128))])}var H=a(7139);const z=["textContent"],B=["textContent"];function Q(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("div",{onClick:t[0]||(t[0]=t=>e.change(e.index)),class:(0,H.C_)(["pattern-item",e.index===e.mode&&!0===e.isActive?"pattern-item_selected":""])},[(0,r._)("span",{class:"pattern-item__icon",textContent:(0,H.zw)(e.pattern.icon)},null,8,z),(0,r._)("span",{class:"pattern-item__name",textContent:(0,H.zw)(e.pattern.name)},null,8,B)],2)}var R=(0,r.aZ)({name:"PatternItem",props:{pattern:{type:Object},index:{type:Number},mode:{type:Number},isActive:{type:Boolean}},methods:{change(e){this.$emit("change",e)}}});const K=(0,W.Z)(R,[["render",Q]]);var Y=K,$=(0,r.aZ)({name:"PatternList",props:{patterns:{type:Array},mode:{type:Number},isActive:{type:Boolean}},components:{PatternItem:Y},methods:{change(e){this.$emit("change",e)}}});const J=(0,W.Z)($,[["render",U]]);var X=J;const ee={class:"device-list"};function te(e,t,a,n,o,i){const s=(0,r.up)("GamepadItem");return(0,r.wg)(),(0,r.iD)("div",ee,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(e.gamepads,(e=>((0,r.wg)(),(0,r.j4)(s,{key:e.id,textContent:(0,H.zw)(e.unit.id)},null,8,["textContent"])))),128))])}const ae={class:"list-item"};function ne(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("div",ae)}var re=(0,r.aZ)({name:"GamepadItem"});const oe=(0,W.Z)(re,[["render",ne]]);var ie=oe,se=(0,r.aZ)({name:"GamepadList",props:{gamepads:{type:Array}},components:{GamepadItem:ie}});const ce=(0,W.Z)(se,[["render",te]]);var le=ce;const de={class:"message"};function ue(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("div",de,[(0,r._)("span",null,[(0,r.WI)(e.$slots,"default")])])}var ve=(0,r.aZ)({name:"MessageItem"});const me=(0,W.Z)(ve,[["render",ue]]);var pe=me,he=a(2482);class ge{constructor(e){(0,he.Z)(this,"id",void 0),(0,he.Z)(this,"canVibrate",void 0),(0,he.Z)(this,"isVibrating",void 0),(0,he.Z)(this,"unit",void 0),(0,he.Z)(this,"pattern",void 0),this.unit=e,this.id=Date.now(),this.canVibrate=!!this.unit.vibrationActuator,this.isVibrating=!1,this.pattern=[]}update(){const e=navigator.getGamepads();this.unit=e[this.unit.index]}reset(){this.isVibrating=!1,this.unit.vibrationActuator.reset()}async vibrate(e){this.isVibrating=!0,this.pattern=e;while(!0===this.isVibrating)for(let e=0;esetTimeout(t,e)))}}var fe=(0,r.aZ)({name:"WaveloversApp",components:{PatternList:X,GamepadList:le,MessageItem:pe},data:()=>({gamepads:[],patterns:[],isActive:!1,mode:0}),methods:{loadPatterns:async function(){const e="https://wavelovers.ru/assets/patterns.json";try{const t=await fetch(e);if(t.ok){let e=await t.json();this.patterns=e}else console.log("Connect to the Internet for download more patterns...")}catch(t){console.log(t)}},addEventListeners(){window.addEventListener("gamepadconnected",(e=>this.addGamepad(e))),window.addEventListener("gamepaddisconnected",(e=>this.deleteGamepad(e)))},addGamepad(e){const t=e;this.gamepads.length>=1||this.gamepads.push(new ge(t.gamepad))},deleteGamepad(e){this.gamepads.forEach(((t,a)=>{t.unit.id===e.gamepad.id&&this.gamepads.splice(a,1)}))},change(e){this.mode===e?(this.isActive=!this.isActive,this.reset()):(this.isActive=!0,this.mode=e),!0===this.isActive&&(this.reset(),this.vibrate())},vibrate(){this.gamepads.forEach((e=>{e.vibrate(this.patterns[this.mode].pattern)}))},reset(){this.gamepads.forEach((e=>{e.reset()}))}},mounted(){this.loadPatterns(),this.addEventListeners()}});const be=(0,W.Z)(fe,[["render",I]]);var we=be,ye=(0,r.aZ)({name:"HomeView",components:{WaveloversApp:we}});const We=(0,W.Z)(ye,[["render",O]]);var _e=We;function ke(e,t){e.map((e=>{const a=document.createElement(t);return Object.keys(e).forEach((t=>{a.setAttribute(t,e[t])})),a.setAttribute("data-vue-router-controlled",""),a})).forEach((e=>document.head.appendChild(e)))}function Ae(e,t,a){const n=e.matched.slice().reverse().find((e=>e.meta&&e.meta.title)),r=e.matched.slice().reverse().find((e=>e.meta&&e.meta.metaTags&&e.meta.linkTags));if(n&&(document.title=n.meta.title),Array.from(document.querySelectorAll("[data-vue-router-controlled]")).map((e=>{e.parentNode&&e.parentNode.removeChild(e)})),!r)return a();const o=r.meta.linkTags,i=r.meta.metaTags;return ke(o,"link"),ke(i,"meta"),a()}const Ve={update:Ae};var Te=Ve;const Pe=[{path:"/",name:"home",component:_e,meta:{title:"Wavelovers",metaTags:[{name:"description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона"},{name:"og:title",content:"Wavelovers"},{name:"og:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."},{name:"og:url",content:"https://wavelovers.ru/"},{name:"twitter:title",content:"Wavelovers"},{name:"twitter:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/"}]}},{path:"/about",name:"about",component:()=>a.e(548).then(a.bind(a,2548)),meta:{title:"Wavelovers – About",metaTags:[{name:"description",content:"Wavelovers. Page with information about the project and data on donations."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, реклама"},{name:"og:title",content:"Wavelovers – About"},{name:"og:description",content:"Wavelovers. Page with information about the project and data on donations."},{name:"og:url",content:"https://wavelovers.ru/about"},{name:"twitter:title",content:"Wavelovers – About"},{name:"twitter:description",content:"Wavelovers. Page with information about the project and data on donations."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/about"}]}},{path:"/faq",name:"faq",component:()=>a.e(877).then(a.bind(a,877)),meta:{title:"Wavelovers – FAQ",metaTags:[{name:"description",content:"Wavelovers. Frequently asked questions page."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, часто задаваемые вопросы"},{name:"og:title",content:"Wavelovers – FAQ"},{name:"og:description",content:"Wavelovers. Frequently asked questions page."},{name:"og:url",content:"https://wavelovers.ru/faq"},{name:"twitter:title",content:"Wavelovers – FAQ"},{name:"twitter:description",content:"Wavelovers. Frequently asked questions page."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/faq"}]}},{path:"/donate",name:"donate",component:()=>a.e(93).then(a.bind(a,93)),meta:{title:"Wavelovers – Donate",metaTags:[{name:"description",content:"Wavelovers. Donate to the author."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, задонатить, пожертвовать, помочь, поблагодарить"},{name:"og:title",content:"Wavelovers – Donate"},{name:"og:description",content:"Wavelovers. Donate to the author."},{name:"og:url",content:"https://wavelovers.ru/donate"},{name:"twitter:title",content:"Wavelovers – Donate"},{name:"twitter:description",content:"Wavelovers. Donate to the author."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/donate"}]}},{path:"/404",name:"404",component:()=>a.e(447).then(a.bind(a,8447)),meta:{title:"Wavelovers – 404 Page not found",metaTags:[{name:"description",content:"Wavelovers. Page not found."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, 404, page not found, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, 404, страница не найдена"},{name:"og:title",content:"Wavelovers – 404 Page not found"},{name:"og:description",content:"Wavelovers. Page not found."},{name:"og:url",content:"https://wavelovers.ru/404"},{name:"twitter:title",content:"Wavelovers – 404 Page not found"},{name:"twitter:description",content:"Wavelovers. Page not found."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/404"}]}},{path:"/:catchAll(.*)",redirect:"/404"}],Ge=(0,D.p7)({history:(0,D.PO)("/"),routes:Pe});Ge.beforeEach(Te.update);var Ce=Ge;(0,n.ri)(x).use(Ce).mount("#app")}},t={};function a(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,a),o.exports}a.m=e,function(){var e=[];a.O=function(t,n,r,o){if(!n){var i=1/0;for(d=0;d=o)&&Object.keys(a.O).every((function(e){return a.O[e](n[c])}))?n.splice(c--,1):(s=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,r,o]}}(),function(){a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,{a:t}),t}}(),function(){a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce((function(t,n){return a.f[n](e,t),t}),[]))}}(),function(){a.u=function(e){return"js/"+e+"."+{93:"22832789",447:"cde26208",548:"8603e4a4",877:"a8dd8d41"}[e]+".js"}}(),function(){a.miniCssF=function(e){return"css/"+e+".c8608f84.css"}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="wavelovers:";a.l=function(n,r,o,i){if(e[n])e[n].push(r);else{var s,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),d=0;d[v])),_:1})]),(0,r._)("li",m,[(0,r.Wm)(y,{to:"/faq",class:"navigation__link"},{default:(0,r.w5)((()=>[p])),_:1})]),(0,r._)("li",h,[(0,r.Wm)(y,{to:"/about",class:"navigation__link"},{default:(0,r.w5)((()=>[g])),_:1})]),(0,r._)("li",f,[(0,r.Wm)(y,{to:"/donate",class:"navigation__link"},{default:(0,r.w5)((()=>[b])),_:1})])])])])])}var y=(0,r.aZ)({name:"AppHeader"}),W=a(89);const _=(0,W.Z)(y,[["render",w]]);var k=_;const A={class:"footer"},V=(0,r.uE)('',1),T=[V];function P(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("footer",A,T)}var G=(0,r.aZ)({name:"AppFooter"});const C=(0,W.Z)(G,[["render",P]]);var E=C,j=(0,r.aZ)({name:"App",components:{AppHeader:k,AppFooter:E}});const Z=(0,W.Z)(j,[["render",o]]);var x=Z,D=a(2483);const M={class:"page container"},L=(0,r._)("h1",{class:"visually-hidden"},"Wavelovers",-1);function O(e,t,a,n,o,i){const s=(0,r.up)("WaveloversApp");return(0,r.wg)(),(0,r.iD)("main",M,[L,(0,r.Wm)(s)])}const S={class:"wavelovers"},F=(0,r.Uk)("Loading..."),q=(0,r.Uk)("Press any gamepad's button or connect new gamepad.");function I(e,t,a,n,o,i){const s=(0,r.up)("PatternList"),c=(0,r.up)("MessageItem"),l=(0,r.up)("GamepadList");return(0,r.wg)(),(0,r.iD)("div",S,[e.patterns.length>0?((0,r.wg)(),(0,r.j4)(s,{key:0,patterns:e.patterns,mode:e.mode,isActive:e.isActive,onChange:e.change},null,8,["patterns","mode","isActive","onChange"])):((0,r.wg)(),(0,r.j4)(c,{key:1},{default:(0,r.w5)((()=>[F])),_:1})),e.gamepads.length>0?((0,r.wg)(),(0,r.j4)(l,{key:2,gamepads:e.gamepads},null,8,["gamepads"])):((0,r.wg)(),(0,r.j4)(c,{key:3},{default:(0,r.w5)((()=>[q])),_:1}))])}const N={class:"pattern-list"};function U(e,t,a,n,o,i){const s=(0,r.up)("PatternItem");return(0,r.wg)(),(0,r.iD)("div",N,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(e.patterns,((t,a)=>((0,r.wg)(),(0,r.j4)(s,{key:t.name,pattern:t,index:a,mode:e.mode,isActive:e.isActive,onChange:e.change},null,8,["pattern","index","mode","isActive","onChange"])))),128))])}var H=a(7139);const z=["textContent"],B=["textContent"];function Q(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("div",{onClick:t[0]||(t[0]=t=>e.change(e.index)),class:(0,H.C_)(["pattern-item",e.index===e.mode&&!0===e.isActive?"pattern-item_selected":""])},[(0,r._)("span",{class:"pattern-item__icon",textContent:(0,H.zw)(e.pattern.icon)},null,8,z),(0,r._)("span",{class:"pattern-item__name",textContent:(0,H.zw)(e.pattern.name)},null,8,B)],2)}var R=(0,r.aZ)({name:"PatternItem",props:{pattern:{type:Object},index:{type:Number},mode:{type:Number},isActive:{type:Boolean}},methods:{change(e){this.$emit("change",e)}}});const K=(0,W.Z)(R,[["render",Q]]);var Y=K,$=(0,r.aZ)({name:"PatternList",props:{patterns:{type:Array},mode:{type:Number},isActive:{type:Boolean}},components:{PatternItem:Y},methods:{change(e){this.$emit("change",e)}}});const J=(0,W.Z)($,[["render",U]]);var X=J;const ee={class:"device-list"};function te(e,t,a,n,o,i){const s=(0,r.up)("GamepadItem");return(0,r.wg)(),(0,r.iD)("div",ee,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(e.gamepads,(e=>((0,r.wg)(),(0,r.j4)(s,{key:e.id,textContent:(0,H.zw)(e.unit.id)},null,8,["textContent"])))),128))])}const ae={class:"list-item"};function ne(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("div",ae)}var re=(0,r.aZ)({name:"GamepadItem"});const oe=(0,W.Z)(re,[["render",ne]]);var ie=oe,se=(0,r.aZ)({name:"GamepadList",props:{gamepads:{type:Array}},components:{GamepadItem:ie}});const ce=(0,W.Z)(se,[["render",te]]);var le=ce;const de={class:"message"};function ue(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("div",de,[(0,r._)("span",null,[(0,r.WI)(e.$slots,"default")])])}var ve=(0,r.aZ)({name:"MessageItem"});const me=(0,W.Z)(ve,[["render",ue]]);var pe=me,he=a(2482);class ge{constructor(e){(0,he.Z)(this,"id",void 0),(0,he.Z)(this,"canVibrate",void 0),(0,he.Z)(this,"isVibrating",void 0),(0,he.Z)(this,"unit",void 0),(0,he.Z)(this,"pattern",void 0),this.unit=e,this.id=Date.now(),this.canVibrate=!!this.unit.vibrationActuator,this.isVibrating=!1,this.pattern=[]}update(){const e=navigator.getGamepads();this.unit=e[this.unit.index]}reset(){this.isVibrating=!1,this.unit.vibrationActuator.reset()}async vibrate(e){this.isVibrating=!0,this.pattern=e;while(!0===this.isVibrating)for(let e=0;esetTimeout(t,e)))}}var fe=(0,r.aZ)({name:"WaveloversApp",components:{PatternList:X,GamepadList:le,MessageItem:pe},data:()=>({gamepads:[],patterns:[],isActive:!1,mode:0}),methods:{loadPatterns:async function(){const e="https://wavelovers.ru/assets/patterns.json";try{const t=await fetch(e);if(t.ok){let e=await t.json();this.patterns=e}else console.log("Connect to the Internet for download more patterns...")}catch(t){console.log(t)}},addEventListeners(){window.addEventListener("gamepadconnected",(e=>this.addGamepad(e))),window.addEventListener("gamepaddisconnected",(e=>this.deleteGamepad(e)))},addGamepad(e){const t=e;this.gamepads.length>=1||this.gamepads.push(new ge(t.gamepad))},deleteGamepad(e){this.gamepads.forEach(((t,a)=>{t.unit.id===e.gamepad.id&&this.gamepads.splice(a,1)}))},change(e){this.mode===e?(this.isActive=!this.isActive,this.reset()):(this.isActive=!0,this.mode=e),!0===this.isActive&&(this.reset(),this.vibrate())},vibrate(){this.gamepads.forEach((e=>{e.vibrate(this.patterns[this.mode].pattern)}))},reset(){this.gamepads.forEach((e=>{e.reset()}))}},mounted(){this.loadPatterns(),this.addEventListeners()}});const be=(0,W.Z)(fe,[["render",I]]);var we=be,ye=(0,r.aZ)({name:"HomeView",components:{WaveloversApp:we}});const We=(0,W.Z)(ye,[["render",O]]);var _e=We;function ke(e,t){e.map((e=>{const a=document.createElement(t);return Object.keys(e).forEach((t=>{a.setAttribute(t,e[t])})),a.setAttribute("data-vue-router-controlled",""),a})).forEach((e=>document.head.appendChild(e)))}function Ae(e,t,a){const n=e.matched.slice().reverse().find((e=>e.meta&&e.meta.title)),r=e.matched.slice().reverse().find((e=>e.meta&&e.meta.metaTags&&e.meta.linkTags));if(n&&(document.title=n.meta.title),Array.from(document.querySelectorAll("[data-vue-router-controlled]")).map((e=>{e.parentNode&&e.parentNode.removeChild(e)})),!r)return a();const o=r.meta.linkTags,i=r.meta.metaTags;return ke(o,"link"),ke(i,"meta"),a()}const Ve={update:Ae};var Te=Ve;const Pe=[{path:"/",name:"home",component:_e,meta:{title:"Wavelovers",metaTags:[{name:"description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона"},{name:"og:title",content:"Wavelovers"},{name:"og:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."},{name:"og:url",content:"https://wavelovers.ru/"},{name:"twitter:title",content:"Wavelovers"},{name:"twitter:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/"}]}},{path:"/about",name:"about",component:()=>a.e(548).then(a.bind(a,2548)),meta:{title:"Wavelovers – About",metaTags:[{name:"description",content:"Wavelovers. Page with information about the project and data on donations."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, реклама"},{name:"og:title",content:"Wavelovers – About"},{name:"og:description",content:"Wavelovers. Page with information about the project and data on donations."},{name:"og:url",content:"https://wavelovers.ru/about"},{name:"twitter:title",content:"Wavelovers – About"},{name:"twitter:description",content:"Wavelovers. Page with information about the project and data on donations."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/about"}]}},{path:"/faq",name:"faq",component:()=>a.e(877).then(a.bind(a,877)),meta:{title:"Wavelovers – FAQ",metaTags:[{name:"description",content:"Wavelovers. Frequently asked questions page."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, часто задаваемые вопросы"},{name:"og:title",content:"Wavelovers – FAQ"},{name:"og:description",content:"Wavelovers. Frequently asked questions page."},{name:"og:url",content:"https://wavelovers.ru/faq"},{name:"twitter:title",content:"Wavelovers – FAQ"},{name:"twitter:description",content:"Wavelovers. Frequently asked questions page."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/faq"}]}},{path:"/donate",name:"donate",component:()=>a.e(93).then(a.bind(a,93)),meta:{title:"Wavelovers – Donate",metaTags:[{name:"description",content:"Wavelovers. Donate to the author."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, задонатить, пожертвовать, помочь, поблагодарить"},{name:"og:title",content:"Wavelovers – Donate"},{name:"og:description",content:"Wavelovers. Donate to the author."},{name:"og:url",content:"https://wavelovers.ru/donate"},{name:"twitter:title",content:"Wavelovers – Donate"},{name:"twitter:description",content:"Wavelovers. Donate to the author."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/donate"}]}},{path:"/404",name:"404",component:()=>a.e(447).then(a.bind(a,8447)),meta:{title:"Wavelovers – 404 Page not found",metaTags:[{name:"description",content:"Wavelovers. Page not found."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, 404, page not found, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, 404, страница не найдена"},{name:"og:title",content:"Wavelovers – 404 Page not found"},{name:"og:description",content:"Wavelovers. Page not found."},{name:"og:url",content:"https://wavelovers.ru/404"},{name:"twitter:title",content:"Wavelovers – 404 Page not found"},{name:"twitter:description",content:"Wavelovers. Page not found."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/404"}]}},{path:"/:catchAll(.*)",redirect:"/404"}],Ge=(0,D.p7)({history:(0,D.PO)("/"),routes:Pe});Ge.beforeEach(Te.update);var Ce=Ge;(0,n.ri)(x).use(Ce).mount("#app")}},t={};function a(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,a),o.exports}a.m=e,function(){var e=[];a.O=function(t,n,r,o){if(!n){var i=1/0;for(d=0;d=o)&&Object.keys(a.O).every((function(e){return a.O[e](n[c])}))?n.splice(c--,1):(s=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,r,o]}}(),function(){a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,{a:t}),t}}(),function(){a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce((function(t,n){return a.f[n](e,t),t}),[]))}}(),function(){a.u=function(e){return"js/"+e+"."+{93:"3a3c9684",447:"cde26208",548:"b0cff884",877:"d6ed6a75"}[e]+".js"}}(),function(){a.miniCssF=function(e){return"css/"+e+".c8608f84.css"}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="wavelovers:";a.l=function(n,r,o,i){if(e[n])e[n].push(r);else{var s,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),d=0;d [\n _hoisted_7\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_8, [\n _createVNode(_component_router_link, {\n to: \"/faq\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_10, [\n _createVNode(_component_router_link, {\n to: \"/about\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_12, [\n _createVNode(_component_router_link, {\n to: \"/donate\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_13\n ]),\n _: 1\n })\n ])\n ])\n ])\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AppHeader',\r\n });\r\n","import { render } from \"./AppHeader.vue?vue&type=template&id=3c5da208&ts=true\"\nimport script from \"./AppHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./AppHeader.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"footer\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"
© 2022 Wavelovers. Content licensed under GNU General Public License v3.0
This site is open source. Improve this page.
Created byEugene Serb
\", 1)\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"footer\", _hoisted_1, _hoisted_3))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AppFooter',\r\n });\r\n","import { render } from \"./AppFooter.vue?vue&type=template&id=3fc24ad0&ts=true\"\nimport script from \"./AppFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./AppFooter.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import AppHeader from '@/components/AppHeader.vue';\r\n import AppFooter from '@/components/AppFooter.vue';\r\n\r\n export default defineComponent({\r\n name: 'App',\r\n components: {\r\n AppHeader: AppHeader,\r\n AppFooter: AppFooter,\r\n },\r\n });\r\n","import { render } from \"./App.vue?vue&type=template&id=1384e0bd&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_WaveloversApp = _resolveComponent(\"WaveloversApp\")!\n\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, [\n _hoisted_2,\n _createVNode(_component_WaveloversApp)\n ]))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"wavelovers\" }\nconst _hoisted_2 = /*#__PURE__*/_createTextVNode(\"Loading...\")\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\"Press any gamepad's button or connect new gamepad.\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternList = _resolveComponent(\"PatternList\")!\n const _component_MessageItem = _resolveComponent(\"MessageItem\")!\n const _component_GamepadList = _resolveComponent(\"GamepadList\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.patterns.length > 0)\n ? (_openBlock(), _createBlock(_component_PatternList, {\n key: 0,\n patterns: _ctx.patterns,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"patterns\", \"mode\", \"isActive\", \"onChange\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n })),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 2,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 3 }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }))\n ]))\n}","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"pattern-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternItem = _resolveComponent(\"PatternItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.patterns, (pattern, index) => {\n return (_openBlock(), _createBlock(_component_PatternItem, {\n key: pattern.name,\n pattern: pattern,\n index: index,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"pattern\", \"index\", \"mode\", \"isActive\", \"onChange\"]))\n }), 128))\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"textContent\"]\nconst _hoisted_2 = [\"textContent\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.change(_ctx.index))),\n class: _normalizeClass(['pattern-item',\r\n _ctx.index === _ctx.mode && _ctx.isActive === true ?\r\n 'pattern-item_selected' : '',\r\n ])\n }, [\n _createElementVNode(\"span\", {\n class: \"pattern-item__icon\",\n textContent: _toDisplayString(_ctx.pattern.icon)\n }, null, 8, _hoisted_1),\n _createElementVNode(\"span\", {\n class: \"pattern-item__name\",\n textContent: _toDisplayString(_ctx.pattern.name)\n }, null, 8, _hoisted_2)\n ], 2))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternItem',\r\n props: {\r\n pattern: {\r\n type: Object,\r\n },\r\n index: {\r\n type: Number,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternItem.vue?vue&type=template&id=e1c2f044&ts=true\"\nimport script from \"./PatternItem.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternItem.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternItem.vue?vue&type=style&index=0&id=e1c2f044&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import PatternItem from '@/components/PatternItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternList',\r\n props: {\r\n patterns: {\r\n type: Array,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n components: {\r\n PatternItem: PatternItem,\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternList.vue?vue&type=template&id=77356b3f&ts=true\"\nimport script from \"./PatternList.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternList.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternList.vue?vue&type=style&index=0&id=77356b3f&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"device-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_GamepadItem = _resolveComponent(\"GamepadItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_GamepadItem, {\n key: gamepad.id,\n textContent: _toDisplayString(gamepad.unit.id)\n }, null, 8, [\"textContent\"]))\n }), 128))\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadItem',\r\n });\r\n","import { render } from \"./GamepadItem.vue?vue&type=template&id=e6e6c988&ts=true\"\nimport script from \"./GamepadItem.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadItem.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadItem.vue?vue&type=style&index=0&id=e6e6c988&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import GamepadItem from '@/components/GamepadItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadList',\r\n props: {\r\n gamepads: {\r\n type: Array,\r\n },\r\n },\r\n components: {\r\n GamepadItem: GamepadItem,\r\n },\r\n });\r\n ","import { render } from \"./GamepadList.vue?vue&type=template&id=1d58b1c0&ts=true\"\nimport script from \"./GamepadList.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadList.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadList.vue?vue&type=style&index=0&id=1d58b1c0&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"message\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'MessageItem',\r\n });\r\n","import { render } from \"./MessageItem.vue?vue&type=template&id=32e2819b&ts=true\"\nimport script from \"./MessageItem.vue?vue&type=script&lang=ts\"\nexport * from \"./MessageItem.vue?vue&type=script&lang=ts\"\n\nimport \"./MessageItem.vue?vue&type=style&index=0&id=32e2819b&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import TPatternUnit from '@/models/TPatternUnit';\r\nimport IGamepad from '@/models/IGamepad';\r\nimport IVibrator from '@/models/IVibrator';\r\n\r\nexport default class Vibrator implements IVibrator {\r\n readonly id: number;\r\n readonly canVibrate: boolean;\r\n isVibrating: boolean;\r\n unit: IGamepad;\r\n pattern: TPatternUnit[];\r\n\r\n constructor(unit: IGamepad) {\r\n this.unit = unit;\r\n this.id = Date.now();\r\n this.canVibrate = (this.unit.vibrationActuator) ? true : false;\r\n this.isVibrating = false;\r\n this.pattern = [];\r\n }\r\n\r\n update(): void {\r\n const gamepads = navigator.getGamepads();\r\n this.unit = gamepads[this.unit.index];\r\n }\r\n\r\n reset(): void {\r\n this.isVibrating = false;\r\n this.unit.vibrationActuator.reset();\r\n }\r\n\r\n async vibrate(pattern: TPatternUnit[]) {\r\n this.isVibrating = true;\r\n this.pattern = pattern;\r\n\r\n while (this.isVibrating === true) {\r\n for (let i = 0; i < this.pattern.length; i++) {\r\n if (this.isVibrating === true) {\r\n this.unit.vibrationActuator.playEffect('dual-rumble', this.pattern[i]);\r\n await this.sleep(this.pattern[i].startDelay + this.pattern[i].duration + 100);\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n sleep(ms: number): Promise {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n}\r\n\r\n","\r\n import { defineComponent } from 'vue';\r\n import PatternList from '@/components/PatternList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import IGamepadEvent from '@/models/IGamepadEvent';\r\n import IGamepad from '@/models/IGamepad';\r\n import TPattern from '@/models/TPattern';\r\n import TPatternUnit from '@/models/TPatternUnit';\r\n import Vibrator from '@/models/Vibrator';\r\n \r\n export default defineComponent({\r\n name: 'WaveloversApp',\r\n components: {\r\n PatternList: PatternList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n data: () => {\r\n return {\r\n gamepads: [] as Vibrator[],\r\n patterns: [] as TPattern[],\r\n isActive: false,\r\n mode: 0,\r\n };\r\n },\r\n methods: {\r\n loadPatterns: async function () {\r\n const url = 'https://wavelovers.ru/assets/patterns.json';\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n let json = await response.json();\r\n this.patterns = json;\r\n } else {\r\n console.log('Connect to the Internet for download more patterns...');\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n },\r\n addEventListeners(): void {\r\n window.addEventListener('gamepadconnected', (event: GamepadEvent) => this.addGamepad(event));\r\n window.addEventListener('gamepaddisconnected', (event: GamepadEvent) => this.deleteGamepad(event));\r\n },\r\n addGamepad(event: GamepadEvent) {\r\n const ievent: IGamepadEvent = event as unknown as IGamepadEvent;\r\n if (this.gamepads.length >= 1) {\r\n return;\r\n } else {\r\n this.gamepads.push(new Vibrator(ievent.gamepad as IGamepad));\r\n }\r\n },\r\n deleteGamepad(event: GamepadEvent): void {\r\n this.gamepads.forEach((gamepad, index) => {\r\n if (gamepad.unit.id === event.gamepad.id) {\r\n this.gamepads.splice(index, 1);\r\n }\r\n });\r\n },\r\n change(index: number): void {\r\n if (this.mode === index) {\r\n this.isActive = !this.isActive;\r\n this.reset();\r\n } else {\r\n this.isActive = true;\r\n this.mode = index;\r\n }\r\n if (this.isActive === true) {\r\n this.reset();\r\n this.vibrate();\r\n }\r\n },\r\n vibrate(): void {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.vibrate(this.patterns[this.mode].pattern as TPatternUnit[]);\r\n });\r\n },\r\n reset(): void {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.reset();\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.loadPatterns();\r\n this.addEventListeners();\r\n },\r\n });\r\n","import { render } from \"./WaveloversApp.vue?vue&type=template&id=dbfec6e8&ts=true\"\nimport script from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\nexport * from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\n\nimport \"./WaveloversApp.vue?vue&type=style&index=0&id=dbfec6e8&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import WaveloversApp from '@/components/WaveloversApp.vue';\r\n\r\n export default defineComponent({\r\n name: 'HomeView',\r\n components: {\r\n WaveloversApp: WaveloversApp\r\n },\r\n });\r\n","import { render } from \"./HomeView.vue?vue&type=template&id=a999a070&ts=true\"\nimport script from \"./HomeView.vue?vue&type=script&lang=ts\"\nexport * from \"./HomeView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { NavigationGuardNext, RouteLocationNormalized, RouteRecordNormalized } from \"vue-router\";\r\n\r\nfunction appendTags(tagsArray: object[], type: string) {\r\n tagsArray.map((meta: object) => {\r\n const tag = document.createElement(type);\r\n (Object.keys(meta) as Array)\r\n .forEach((key) => {\r\n tag.setAttribute(key, meta[key] as string);\r\n });\r\n tag.setAttribute('data-vue-router-controlled', '');\r\n return tag;\r\n }).forEach(tag => document.head.appendChild(tag));\r\n}\r\n\r\nfunction updateMetatag(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\r\n\r\n const nearestWithTitle: RouteRecordNormalized =\r\n to.matched.slice().reverse()\r\n .find(r => r.meta && r.meta.title) as RouteRecordNormalized;\r\n\r\n const nearestWithMeta: RouteRecordNormalized =\r\n to.matched.slice().reverse()\r\n .find(r => r.meta && r.meta.metaTags && r.meta.linkTags) as RouteRecordNormalized;\r\n\r\n if (nearestWithTitle) {\r\n document.title = nearestWithTitle.meta.title as string;\r\n }\r\n\r\n Array.from(document.querySelectorAll('[data-vue-router-controlled]'))\r\n .map(el => {\r\n if (el.parentNode) {\r\n el.parentNode.removeChild(el);\r\n }\r\n });\r\n\r\n if (!nearestWithMeta) return next();\r\n\r\n const linkTags: object[] = nearestWithMeta.meta.linkTags as object[];\r\n const metaTags: object[] = nearestWithMeta.meta.metaTags as object[];\r\n appendTags(linkTags, 'link');\r\n appendTags(metaTags, 'meta');\r\n\r\n return next();\r\n}\r\n\r\nconst VueRouterMetaTags = {\r\n update: updateMetatag\r\n};\r\n\r\nexport default VueRouterMetaTags;\r\n\r\n","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';\r\nimport HomeView from '../views/HomeView.vue';\r\nimport VueRouterMetaTagsTest from '@/modules/VueRouterMetaTags';\r\n\r\nconst routes: Array = [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: HomeView,\r\n meta: {\r\n title: 'Wavelovers',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/about',\r\n name: 'about',\r\n component: () => import('@/views/AboutView.vue'),\r\n meta: {\r\n title: 'Wavelovers – About',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, реклама',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – About',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/about',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – About',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/about',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/faq',\r\n name: 'faq',\r\n component: () => import('@/views/FaqView.vue'),\r\n meta: {\r\n title: 'Wavelovers – FAQ',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, часто задаваемые вопросы',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – FAQ',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/faq',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – FAQ',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/faq',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/donate',\r\n name: 'donate',\r\n component: () => import('@/views/DonateView.vue'),\r\n meta: {\r\n title: 'Wavelovers – Donate',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, задонатить, пожертвовать, помочь, поблагодарить',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – Donate',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/donate',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – Donate',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/donate',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/404',\r\n name: '404',\r\n component: () => import('@/views/NotFoundView.vue'),\r\n meta: {\r\n title: 'Wavelovers – 404 Page not found',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Page not found.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, 404, page not found, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, 404, страница не найдена',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – 404 Page not found',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Page not found.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/404',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – 404 Page not found',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Page not found.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/404',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/:catchAll(.*)',\r\n redirect: '/404',\r\n },\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHistory(process.env.BASE_URL),\r\n routes\r\n});\r\n\r\nrouter.beforeEach(VueRouterMetaTagsTest.update);\r\n\r\nexport default router;\r\n\r\n","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\n\r\ncreateApp(App).use(router).mount('#app')\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"93\":\"3a3c9684\",\"447\":\"cde26208\",\"548\":\"b0cff884\",\"877\":\"d6ed6a75\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + \"c8608f84\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"wavelovers:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"447\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwavelovers\"] = self[\"webpackChunkwavelovers\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(970); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_ctx","_cache","$props","$setup","$data","$options","_component_AppHeader","_resolveComponent","_component_router_view","_component_AppFooter","_openBlock","_createElementBlock","_Fragment","_createVNode","_hoisted_1","class","_hoisted_2","_hoisted_3","_createElementVNode","translate","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_createTextVNode","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_component_router_link","to","default","_withCtx","_","defineComponent","name","__exports__","_createStaticVNode","components","AppHeader","AppFooter","_component_WaveloversApp","_component_PatternList","_component_MessageItem","_component_GamepadList","patterns","length","_createBlock","key","mode","isActive","onChange","change","gamepads","_component_PatternItem","_renderList","pattern","index","onClick","$event","_normalizeClass","textContent","_toDisplayString","icon","props","type","Object","Number","Boolean","methods","this","$emit","Array","PatternItem","_component_GamepadItem","gamepad","id","unit","GamepadItem","_renderSlot","$slots","Vibrator","constructor","Date","now","canVibrate","vibrationActuator","isVibrating","update","navigator","getGamepads","reset","i","playEffect","sleep","startDelay","duration","ms","Promise","resolve","setTimeout","PatternList","GamepadList","MessageItem","data","loadPatterns","async","url","response","fetch","ok","json","console","log","error","addEventListeners","window","addEventListener","event","addGamepad","deleteGamepad","ievent","push","forEach","splice","vibrate","mounted","WaveloversApp","appendTags","tagsArray","map","meta","tag","document","createElement","keys","setAttribute","head","appendChild","updateMetatag","from","next","nearestWithTitle","matched","slice","reverse","find","r","title","nearestWithMeta","metaTags","linkTags","querySelectorAll","el","parentNode","removeChild","VueRouterMetaTags","routes","path","component","HomeView","content","href","redirect","router","createRouter","history","createWebHistory","process","beforeEach","VueRouterMetaTagsTest","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","call","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","src","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","bind","target","Symbol","toStringTag","value","p","createStylesheet","fullhref","reject","linkTag","rel","onLinkComplete","errorType","realHref","err","Error","code","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","loadingEnded","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/app.ed7ad2c3.js.map b/docs/js/app.ed7ad2c3.js.map deleted file mode 100644 index ae52f33..0000000 --- a/docs/js/app.ed7ad2c3.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/app.ed7ad2c3.js","mappings":"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","sources":["webpack://wavelovers/./src/App.vue?dbf5","webpack://wavelovers/./src/components/AppHeader.vue?774d","webpack://wavelovers/./src/components/AppHeader.vue?caad","webpack://wavelovers/./src/components/AppHeader.vue","webpack://wavelovers/./src/components/AppFooter.vue?fb67","webpack://wavelovers/./src/components/AppFooter.vue?20a0","webpack://wavelovers/./src/components/AppFooter.vue","webpack://wavelovers/./src/App.vue?847a","webpack://wavelovers/./src/App.vue","webpack://wavelovers/./src/views/HomeView.vue?08ab","webpack://wavelovers/./src/components/WaveloversApp.vue?675b","webpack://wavelovers/./src/components/PatternList.vue?0478","webpack://wavelovers/./src/components/PatternItem.vue?0493","webpack://wavelovers/./src/components/PatternItem.vue?80c2","webpack://wavelovers/./src/components/PatternItem.vue","webpack://wavelovers/./src/components/PatternList.vue?eb4b","webpack://wavelovers/./src/components/PatternList.vue","webpack://wavelovers/./src/components/GamepadList.vue?05aa","webpack://wavelovers/./src/components/GamepadItem.vue?d49b","webpack://wavelovers/./src/components/GamepadItem.vue?ef0b","webpack://wavelovers/./src/components/GamepadItem.vue","webpack://wavelovers/./src/components/GamepadList.vue?8510","webpack://wavelovers/./src/components/GamepadList.vue","webpack://wavelovers/./src/components/MessageItem.vue?5b71","webpack://wavelovers/./src/components/MessageItem.vue?b787","webpack://wavelovers/./src/components/MessageItem.vue","webpack://wavelovers/./src/models/Vibrator.ts","webpack://wavelovers/./src/components/WaveloversApp.vue?23c2","webpack://wavelovers/./src/components/WaveloversApp.vue","webpack://wavelovers/./src/views/HomeView.vue?4752","webpack://wavelovers/./src/views/HomeView.vue","webpack://wavelovers/./src/modules/VueRouterMetaTags.ts","webpack://wavelovers/./src/router/index.ts","webpack://wavelovers/./src/main.ts","webpack://wavelovers/webpack/bootstrap","webpack://wavelovers/webpack/runtime/chunk loaded","webpack://wavelovers/webpack/runtime/compat get default export","webpack://wavelovers/webpack/runtime/define property getters","webpack://wavelovers/webpack/runtime/ensure chunk","webpack://wavelovers/webpack/runtime/get javascript chunk filename","webpack://wavelovers/webpack/runtime/get mini-css chunk filename","webpack://wavelovers/webpack/runtime/global","webpack://wavelovers/webpack/runtime/hasOwnProperty shorthand","webpack://wavelovers/webpack/runtime/load script","webpack://wavelovers/webpack/runtime/make namespace object","webpack://wavelovers/webpack/runtime/publicPath","webpack://wavelovers/webpack/runtime/css loading","webpack://wavelovers/webpack/runtime/jsonp chunk loading","webpack://wavelovers/webpack/startup"],"sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AppHeader = _resolveComponent(\"AppHeader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_AppFooter = _resolveComponent(\"AppFooter\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_AppHeader),\n _createVNode(_component_router_view),\n _createVNode(_component_AppFooter)\n ], 64))\n}","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"header\" }\nconst _hoisted_2 = { class: \"header-wrapper container\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"logo-wrapper\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"logo-wrapper__logo\",\n translate: \"no\"\n }, \"Wavelovers\")\n], -1)\nconst _hoisted_4 = { class: \"menu-wrapper\" }\nconst _hoisted_5 = { class: \"navigation\" }\nconst _hoisted_6 = { class: \"navigation__item\" }\nconst _hoisted_7 = /*#__PURE__*/_createTextVNode(\"Home\")\nconst _hoisted_8 = { class: \"navigation__item\" }\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"FAQ\")\nconst _hoisted_10 = { class: \"navigation__item\" }\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"About\")\nconst _hoisted_12 = { class: \"navigation__item\" }\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\"Donate\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"header\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"nav\", _hoisted_4, [\n _createElementVNode(\"ul\", _hoisted_5, [\n _createElementVNode(\"li\", _hoisted_6, [\n _createVNode(_component_router_link, {\n to: \"/\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_8, [\n _createVNode(_component_router_link, {\n to: \"/faq\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_10, [\n _createVNode(_component_router_link, {\n to: \"/about\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_12, [\n _createVNode(_component_router_link, {\n to: \"/donate\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_13\n ]),\n _: 1\n })\n ])\n ])\n ])\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AppHeader',\r\n });\r\n","import { render } from \"./AppHeader.vue?vue&type=template&id=3c5da208&ts=true\"\nimport script from \"./AppHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./AppHeader.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"footer\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"
© 2022 Wavelovers. Content licensed under GNU General Public License v3.0
This site is open source. Improve this page.
Created byEugene Serb
\", 1)\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"footer\", _hoisted_1, _hoisted_3))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AppFooter',\r\n });\r\n","import { render } from \"./AppFooter.vue?vue&type=template&id=3fc24ad0&ts=true\"\nimport script from \"./AppFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./AppFooter.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { defineComponent } from 'vue';\n import AppHeader from '@/components/AppHeader.vue';\n import AppFooter from '@/components/AppFooter.vue';\n\n export default defineComponent({\n name: 'App',\n components: {\n AppHeader: AppHeader,\n AppFooter: AppFooter,\n },\n });\n","import { render } from \"./App.vue?vue&type=template&id=1384e0bd&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_WaveloversApp = _resolveComponent(\"WaveloversApp\")!\n\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, [\n _hoisted_2,\n _createVNode(_component_WaveloversApp)\n ]))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"wavelovers\" }\nconst _hoisted_2 = /*#__PURE__*/_createTextVNode(\"Loading...\")\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\"Press any gamepad's button or connect new gamepad.\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternList = _resolveComponent(\"PatternList\")!\n const _component_MessageItem = _resolveComponent(\"MessageItem\")!\n const _component_GamepadList = _resolveComponent(\"GamepadList\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.patterns.length > 0)\n ? (_openBlock(), _createBlock(_component_PatternList, {\n key: 0,\n patterns: _ctx.patterns,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"patterns\", \"mode\", \"isActive\", \"onChange\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n })),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 2,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 3 }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }))\n ]))\n}","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"pattern-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternItem = _resolveComponent(\"PatternItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.patterns, (pattern, index) => {\n return (_openBlock(), _createBlock(_component_PatternItem, {\n key: pattern.name,\n pattern: pattern,\n index: index,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"pattern\", \"index\", \"mode\", \"isActive\", \"onChange\"]))\n }), 128))\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"textContent\"]\nconst _hoisted_2 = [\"textContent\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.change(_ctx.index))),\n class: _normalizeClass(['pattern-item',\r\n _ctx.index === _ctx.mode && _ctx.isActive === true ?\r\n 'pattern-item_selected' : '',\r\n ])\n }, [\n _createElementVNode(\"span\", {\n class: \"pattern-item__icon\",\n textContent: _toDisplayString(_ctx.pattern.icon)\n }, null, 8, _hoisted_1),\n _createElementVNode(\"span\", {\n class: \"pattern-item__name\",\n textContent: _toDisplayString(_ctx.pattern.name)\n }, null, 8, _hoisted_2)\n ], 2))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternItem',\r\n props: {\r\n pattern: {\r\n type: Object,\r\n },\r\n index: {\r\n type: Number,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternItem.vue?vue&type=template&id=e1c2f044&ts=true\"\nimport script from \"./PatternItem.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternItem.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternItem.vue?vue&type=style&index=0&id=e1c2f044&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import PatternItem from '@/components/PatternItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternList',\r\n props: {\r\n patterns: {\r\n type: Array,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n components: {\r\n PatternItem: PatternItem,\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternList.vue?vue&type=template&id=77356b3f&ts=true\"\nimport script from \"./PatternList.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternList.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternList.vue?vue&type=style&index=0&id=77356b3f&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"device-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_GamepadItem = _resolveComponent(\"GamepadItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_GamepadItem, {\n key: gamepad.id,\n textContent: _toDisplayString(gamepad.unit.id)\n }, null, 8, [\"textContent\"]))\n }), 128))\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadItem',\r\n });\r\n","import { render } from \"./GamepadItem.vue?vue&type=template&id=e6e6c988&ts=true\"\nimport script from \"./GamepadItem.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadItem.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadItem.vue?vue&type=style&index=0&id=e6e6c988&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import GamepadItem from '@/components/GamepadItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadList',\r\n props: {\r\n gamepads: {\r\n type: Array,\r\n },\r\n },\r\n components: {\r\n GamepadItem: GamepadItem,\r\n },\r\n });\r\n ","import { render } from \"./GamepadList.vue?vue&type=template&id=1d58b1c0&ts=true\"\nimport script from \"./GamepadList.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadList.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadList.vue?vue&type=style&index=0&id=1d58b1c0&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"message\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'MessageItem',\r\n });\r\n","import { render } from \"./MessageItem.vue?vue&type=template&id=32e2819b&ts=true\"\nimport script from \"./MessageItem.vue?vue&type=script&lang=ts\"\nexport * from \"./MessageItem.vue?vue&type=script&lang=ts\"\n\nimport \"./MessageItem.vue?vue&type=style&index=0&id=32e2819b&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import TPatternUnit from '@/models/TPatternUnit';\r\nimport IGamepad from '@/models/IGamepad';\r\nimport IVibrator from '@/models/IVibrator';\r\n\r\nexport default class Vibrator implements IVibrator {\r\n readonly id: number;\r\n readonly canVibrate: boolean;\r\n isVibrating: boolean;\r\n unit: IGamepad;\r\n pattern: TPatternUnit[];\r\n\r\n constructor(unit: IGamepad) {\r\n this.unit = unit;\r\n this.id = Date.now();\r\n this.canVibrate = (this.unit.vibrationActuator) ? true : false;\r\n this.isVibrating = false;\r\n this.pattern = [];\r\n }\r\n\r\n update(): void {\r\n const gamepads = navigator.getGamepads();\r\n this.unit = gamepads[this.unit.index];\r\n }\r\n\r\n reset(): void {\r\n this.isVibrating = false;\r\n this.unit.vibrationActuator.reset();\r\n }\r\n\r\n async vibrate(pattern: TPatternUnit[]) {\r\n this.isVibrating = true;\r\n this.pattern = pattern;\r\n\r\n while (this.isVibrating === true) {\r\n for (let i = 0; i < this.pattern.length; i++) {\r\n if (this.isVibrating === true) {\r\n this.unit.vibrationActuator.playEffect('dual-rumble', this.pattern[i]);\r\n await this.sleep(this.pattern[i].startDelay + this.pattern[i].duration + 100);\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n sleep(ms: number): Promise {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n}\r\n\r\n","\r\n import { defineComponent } from 'vue';\r\n import PatternList from '@/components/PatternList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import IGamepadEvent from '@/models/IGamepadEvent';\r\n import IGamepad from '@/models/IGamepad';\r\n import TPattern from '@/models/TPattern';\r\n import TPatternUnit from '@/models/TPatternUnit';\r\n import Vibrator from '@/models/Vibrator';\r\n \r\n export default defineComponent({\r\n name: 'WaveloversApp',\r\n components: {\r\n PatternList: PatternList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n data: () => {\r\n return {\r\n gamepads: [] as Vibrator[],\r\n patterns: [] as TPattern[],\r\n isActive: false,\r\n mode: 0,\r\n };\r\n },\r\n methods: {\r\n loadPatterns: async function () {\r\n const url = 'https://wavelovers.ru/assets/patterns.json';\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n let json = await response.json();\r\n this.patterns = json;\r\n } else {\r\n console.log('Connect to the Internet for download more patterns...');\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n },\r\n addEventListeners(): void {\r\n window.addEventListener('gamepadconnected', (event: GamepadEvent) => this.addGamepad(event));\r\n window.addEventListener('gamepaddisconnected', (event: GamepadEvent) => this.deleteGamepad(event));\r\n },\r\n addGamepad(event: GamepadEvent) {\r\n const ievent: IGamepadEvent = event as unknown as IGamepadEvent;\r\n if (this.gamepads.length >= 1) {\r\n return;\r\n } else {\r\n this.gamepads.push(new Vibrator(ievent.gamepad as IGamepad));\r\n }\r\n },\r\n deleteGamepad(event: GamepadEvent): void {\r\n this.gamepads.forEach((gamepad, index) => {\r\n if (gamepad.unit.id === event.gamepad.id) {\r\n this.gamepads.splice(index, 1);\r\n }\r\n });\r\n },\r\n change(index: number): void {\r\n if (this.mode === index) {\r\n this.isActive = !this.isActive;\r\n this.reset();\r\n } else {\r\n this.isActive = true;\r\n this.mode = index;\r\n }\r\n if (this.isActive === true) {\r\n this.reset();\r\n this.vibrate();\r\n }\r\n },\r\n vibrate(): void {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.vibrate(this.patterns[this.mode].pattern as TPatternUnit[]);\r\n });\r\n },\r\n reset(): void {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.reset();\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.loadPatterns();\r\n this.addEventListeners();\r\n },\r\n });\r\n","import { render } from \"./WaveloversApp.vue?vue&type=template&id=dbfec6e8&ts=true\"\nimport script from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\nexport * from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\n\nimport \"./WaveloversApp.vue?vue&type=style&index=0&id=dbfec6e8&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { defineComponent } from 'vue';\n import WaveloversApp from '@/components/WaveloversApp.vue';\n\n export default defineComponent({\n name: 'HomeView',\n components: {\n WaveloversApp: WaveloversApp\n },\n });\n","import { render } from \"./HomeView.vue?vue&type=template&id=a999a070&ts=true\"\nimport script from \"./HomeView.vue?vue&type=script&lang=ts\"\nexport * from \"./HomeView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { NavigationGuardNext, RouteLocationNormalized, RouteRecordNormalized } from \"vue-router\";\r\n\r\nfunction appendTags(tagsArray: object[], type: string) {\r\n tagsArray.map((meta: object) => {\r\n const tag = document.createElement(type);\r\n (Object.keys(meta) as Array)\r\n .forEach((key) => {\r\n tag.setAttribute(key, meta[key] as string);\r\n });\r\n tag.setAttribute('data-vue-router-controlled', '');\r\n return tag;\r\n }).forEach(tag => document.head.appendChild(tag));\r\n}\r\n\r\nfunction updateMetatag(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\r\n\r\n const nearestWithTitle: RouteRecordNormalized =\r\n to.matched.slice().reverse()\r\n .find(r => r.meta && r.meta.title) as RouteRecordNormalized;\r\n\r\n const nearestWithMeta: RouteRecordNormalized =\r\n to.matched.slice().reverse()\r\n .find(r => r.meta && r.meta.metaTags && r.meta.linkTags) as RouteRecordNormalized;\r\n\r\n if (nearestWithTitle) {\r\n document.title = nearestWithTitle.meta.title as string;\r\n }\r\n\r\n Array.from(document.querySelectorAll('[data-vue-router-controlled]'))\r\n .map(el => {\r\n if (el.parentNode) {\r\n el.parentNode.removeChild(el);\r\n }\r\n });\r\n\r\n if (!nearestWithMeta) return next();\r\n\r\n const linkTags: object[] = nearestWithMeta.meta.linkTags as object[];\r\n const metaTags: object[] = nearestWithMeta.meta.metaTags as object[];\r\n appendTags(linkTags, 'link');\r\n appendTags(metaTags, 'meta');\r\n\r\n return next();\r\n}\r\n\r\nconst VueRouterMetaTags = {\r\n update: updateMetatag\r\n};\r\n\r\nexport default VueRouterMetaTags;\r\n\r\n","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';\r\nimport HomeView from '../views/HomeView.vue';\r\nimport VueRouterMetaTagsTest from '@/modules/VueRouterMetaTags';\r\n\r\nconst routes: Array = [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: HomeView,\r\n meta: {\r\n title: 'Wavelovers',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/about',\r\n name: 'about',\r\n component: () => import('@/views/AboutView.vue'),\r\n meta: {\r\n title: 'Wavelovers – About',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, реклама',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – About',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/about',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – About',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/about',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/faq',\r\n name: 'faq',\r\n component: () => import('@/views/FaqView.vue'),\r\n meta: {\r\n title: 'Wavelovers – FAQ',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, часто задаваемые вопросы',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – FAQ',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/faq',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – FAQ',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/faq',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/donate',\r\n name: 'donate',\r\n component: () => import('@/views/DonateView.vue'),\r\n meta: {\r\n title: 'Wavelovers – Donate',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, задонатить, пожертвовать, помочь, поблагодарить',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – Donate',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/donate',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – Donate',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/donate',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/404',\r\n name: '404',\r\n component: () => import('@/views/NotFoundView.vue'),\r\n meta: {\r\n title: 'Wavelovers – 404 Page not found',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Page not found.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, 404, page not found, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, 404, страница не найдена',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – 404 Page not found',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Page not found.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/404',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – 404 Page not found',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Page not found.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/404',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/:catchAll(.*)',\r\n redirect: '/404',\r\n },\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHistory(process.env.BASE_URL),\r\n routes\r\n});\r\n\r\nrouter.beforeEach(VueRouterMetaTagsTest.update);\r\n\r\nexport default router;\r\n\r\n","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\n\r\ncreateApp(App).use(router).mount('#app')\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"93\":\"22832789\",\"447\":\"cde26208\",\"548\":\"8603e4a4\",\"877\":\"a8dd8d41\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + \"c8608f84\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"wavelovers:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"447\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwavelovers\"] = self[\"webpackChunkwavelovers\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(970); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_ctx","_cache","$props","$setup","$data","$options","_component_AppHeader","_resolveComponent","_component_router_view","_component_AppFooter","_openBlock","_createElementBlock","_Fragment","_createVNode","_hoisted_1","class","_hoisted_2","_hoisted_3","_createElementVNode","translate","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_createTextVNode","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_component_router_link","to","default","_withCtx","_","defineComponent","name","__exports__","_createStaticVNode","components","AppHeader","AppFooter","_component_WaveloversApp","_component_PatternList","_component_MessageItem","_component_GamepadList","patterns","length","_createBlock","key","mode","isActive","onChange","change","gamepads","_component_PatternItem","_renderList","pattern","index","onClick","$event","_normalizeClass","textContent","_toDisplayString","icon","props","type","Object","Number","Boolean","methods","this","$emit","Array","PatternItem","_component_GamepadItem","gamepad","id","unit","GamepadItem","_renderSlot","$slots","Vibrator","constructor","Date","now","canVibrate","vibrationActuator","isVibrating","update","navigator","getGamepads","reset","i","playEffect","sleep","startDelay","duration","ms","Promise","resolve","setTimeout","PatternList","GamepadList","MessageItem","data","loadPatterns","async","url","response","fetch","ok","json","console","log","error","addEventListeners","window","addEventListener","event","addGamepad","deleteGamepad","ievent","push","forEach","splice","vibrate","mounted","WaveloversApp","appendTags","tagsArray","map","meta","tag","document","createElement","keys","setAttribute","head","appendChild","updateMetatag","from","next","nearestWithTitle","matched","slice","reverse","find","r","title","nearestWithMeta","metaTags","linkTags","querySelectorAll","el","parentNode","removeChild","VueRouterMetaTags","routes","path","component","HomeView","content","href","redirect","router","createRouter","history","createWebHistory","process","beforeEach","VueRouterMetaTagsTest","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","call","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","src","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","bind","target","Symbol","toStringTag","value","p","createStylesheet","fullhref","reject","linkTag","rel","onLinkComplete","errorType","realHref","err","Error","code","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","loadingEnded","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/sitemap-internal.xml b/docs/sitemap-internal.xml index d16c63d..d3c36ec 100644 --- a/docs/sitemap-internal.xml +++ b/docs/sitemap-internal.xml @@ -2,25 +2,25 @@ https://wavelovers.ru/ - 2022-07-22 + 2022-07-23 weekly 1.0 https://wavelovers.ru/faq.html - 2022-07-22 + 2022-07-23 weekly 1.0 https://wavelovers.ru/about.html - 2022-07-22 + 2022-07-23 weekly 1.0 https://wavelovers.ru/donate.html - 2022-07-22 + 2022-07-23 weekly 1.0 diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 54de9aa..c866d40 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -2,7 +2,7 @@ https://wavelovers.ru/sitemap-internal.xml - 2022-07-22 + 2022-07-23 diff --git a/package-lock.json b/package-lock.json index 91a2ad7..9dc7d2b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4029,9 +4029,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001368", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001368.tgz", - "integrity": "sha512-wgfRYa9DenEomLG/SdWgQxpIyvdtH3NW8Vq+tB6AwR9e56iOIcu1im5F/wNdDf04XlKHXqIx4N8Jo0PemeBenQ==", + "version": "1.0.30001369", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001369.tgz", + "integrity": "sha512-OY1SBHaodJc4wflDIKnlkdqWzJZd1Ls/2zbVJHBSv3AT7vgOJ58yAhd2CN4d57l2kPJrgMb7P9+N1Mhy4tNSQA==", "dev": true, "funding": [ { @@ -5176,9 +5176,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.198", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.198.tgz", - "integrity": "sha512-jwqQPdKGeAslcq8L+1SZZgL6uDiIDmTe9Gq4brsdWAH27y7MJ2g9Ue6MyST3ogmSM49EAQP7bype1V5hsuNrmQ==", + "version": "1.4.199", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz", + "integrity": "sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==", "dev": true }, "node_modules/emoji-regex": { @@ -9698,9 +9698,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", - "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.0.tgz", + "integrity": "sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -14944,9 +14944,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001368", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001368.tgz", - "integrity": "sha512-wgfRYa9DenEomLG/SdWgQxpIyvdtH3NW8Vq+tB6AwR9e56iOIcu1im5F/wNdDf04XlKHXqIx4N8Jo0PemeBenQ==", + "version": "1.0.30001369", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001369.tgz", + "integrity": "sha512-OY1SBHaodJc4wflDIKnlkdqWzJZd1Ls/2zbVJHBSv3AT7vgOJ58yAhd2CN4d57l2kPJrgMb7P9+N1Mhy4tNSQA==", "dev": true }, "case-sensitive-paths-webpack-plugin": { @@ -15773,9 +15773,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.198", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.198.tgz", - "integrity": "sha512-jwqQPdKGeAslcq8L+1SZZgL6uDiIDmTe9Gq4brsdWAH27y7MJ2g9Ue6MyST3ogmSM49EAQP7bype1V5hsuNrmQ==", + "version": "1.4.199", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz", + "integrity": "sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==", "dev": true }, "emoji-regex": { @@ -19092,9 +19092,9 @@ "dev": true }, "sass": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", - "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.0.tgz", + "integrity": "sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", diff --git a/package.json b/package.json index 1a0f640..d6deb19 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,15 @@ { "name": "wavelovers", "description": "Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.", + "keywords": [ "wavelovers", "gamepad-vibrator", "gamepad-test-tool", "gamepad-vibration-test-tool" ], "version": "1.0.0", - "author": "Eugene Serb", "license": "GNU GPL v3", - "repository": "https://github.com/eugene-serb/wavelovers", + "author": "Eugene Serb ", + "homepage": "https://wavelovers.ru/", + "repository": { + "type": "git", + "url": "https://github.com/eugene-serb/wavelovers" + }, "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/public/css/styles.css b/public/css/styles.css index f0d01cd..98ed54c 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -1,3 +1,9 @@ +/* ------------------------------ */ +/* Wavelovers styles */ +/* version: dated 2022.07.23 */ +/* author: Eugene Serb */ +/* ------------------------------ */ + /* ------------------------------ */ /* RESET AND BASE STYLES' TUNE UP */ /* ------------------------------ */ @@ -176,7 +182,7 @@ legend { fieldset { border: 2px solid var(--color-border-alpha); - border-radius: 4px; + border-radius: var(--number-border-radius); padding: 8px; } diff --git a/public/sitemap-internal.xml b/public/sitemap-internal.xml index d16c63d..d3c36ec 100644 --- a/public/sitemap-internal.xml +++ b/public/sitemap-internal.xml @@ -2,25 +2,25 @@ https://wavelovers.ru/ - 2022-07-22 + 2022-07-23 weekly 1.0 https://wavelovers.ru/faq.html - 2022-07-22 + 2022-07-23 weekly 1.0 https://wavelovers.ru/about.html - 2022-07-22 + 2022-07-23 weekly 1.0 https://wavelovers.ru/donate.html - 2022-07-22 + 2022-07-23 weekly 1.0 diff --git a/public/sitemap.xml b/public/sitemap.xml index 54de9aa..c866d40 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -2,7 +2,7 @@ https://wavelovers.ru/sitemap-internal.xml - 2022-07-22 + 2022-07-23 From b5f56a2d085eb330bf6a8d5bc491f2f1f4770cfd Mon Sep 17 00:00:00 2001 From: Eugene Serb <46799701+eugene-serb@users.noreply.github.com> Date: Sun, 24 Jul 2022 17:30:59 +0300 Subject: [PATCH 02/16] Added styles.css from root-rep, updated 404.md and meta in index.html --- docs/404.md | 2 +- docs/css/styles.css | 22 ++++++++-------- package-lock.json | 60 ++++++++++++++++++++----------------------- public/404.md | 2 +- public/css/styles.css | 22 ++++++++-------- public/index.html | 2 +- 6 files changed, 53 insertions(+), 57 deletions(-) diff --git a/docs/404.md b/docs/404.md index 01665d1..e5266f1 100644 --- a/docs/404.md +++ b/docs/404.md @@ -6,7 +6,7 @@ - + diff --git a/docs/css/styles.css b/docs/css/styles.css index 98ed54c..46e3f50 100644 --- a/docs/css/styles.css +++ b/docs/css/styles.css @@ -1,22 +1,16 @@ /* ------------------------------ */ /* Wavelovers styles */ -/* version: dated 2022.07.23 */ +/* version: dated 2022.07.24 */ /* author: Eugene Serb */ /* ------------------------------ */ +@charset 'UTF-8'; +@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&display=swap'); + /* ------------------------------ */ /* RESET AND BASE STYLES' TUNE UP */ /* ------------------------------ */ -@charset 'UTF-8'; -@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap'); - -*, ::after, ::before { - margin: 0; - padding: 0; - box-sizing: border-box; -} - :root { /* Simple colors */ --color-white: #FFFFFF; @@ -96,6 +90,12 @@ } } +*, ::after, ::before { + margin: 0; + padding: 0; + box-sizing: border-box; +} + html { font-family: 'Roboto', sans-serif; direction: ltr; @@ -143,7 +143,7 @@ small { font-size: smaller; } span, p, article, blockquote { color: var(--color-text); - font-weight: 400; + font-weight: 300; } ul { diff --git a/package-lock.json b/package-lock.json index 9dc7d2b..e966c50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -234,15 +234,13 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", @@ -3703,13 +3701,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", "semver": "^6.1.1" }, "peerDependencies": { @@ -3726,12 +3724,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", - "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/helper-define-polyfill-provider": "^0.3.2", "core-js-compat": "^3.21.0" }, "peerDependencies": { @@ -12122,15 +12120,13 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", @@ -14701,13 +14697,13 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", "semver": "^6.1.1" }, "dependencies": { @@ -14720,12 +14716,12 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", - "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/helper-define-polyfill-provider": "^0.3.2", "core-js-compat": "^3.21.0" } }, diff --git a/public/404.md b/public/404.md index 01665d1..e5266f1 100644 --- a/public/404.md +++ b/public/404.md @@ -6,7 +6,7 @@ - + diff --git a/public/css/styles.css b/public/css/styles.css index 98ed54c..46e3f50 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -1,22 +1,16 @@ /* ------------------------------ */ /* Wavelovers styles */ -/* version: dated 2022.07.23 */ +/* version: dated 2022.07.24 */ /* author: Eugene Serb */ /* ------------------------------ */ +@charset 'UTF-8'; +@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&display=swap'); + /* ------------------------------ */ /* RESET AND BASE STYLES' TUNE UP */ /* ------------------------------ */ -@charset 'UTF-8'; -@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap'); - -*, ::after, ::before { - margin: 0; - padding: 0; - box-sizing: border-box; -} - :root { /* Simple colors */ --color-white: #FFFFFF; @@ -96,6 +90,12 @@ } } +*, ::after, ::before { + margin: 0; + padding: 0; + box-sizing: border-box; +} + html { font-family: 'Roboto', sans-serif; direction: ltr; @@ -143,7 +143,7 @@ small { font-size: smaller; } span, p, article, blockquote { color: var(--color-text); - font-weight: 400; + font-weight: 300; } ul { diff --git a/public/index.html b/public/index.html index 4b16357..3b7d7e0 100644 --- a/public/index.html +++ b/public/index.html @@ -31,7 +31,6 @@ - - diff --git a/src/components/AppFooter.vue b/src/components/AppFooter.vue index 80718ef..f03d09c 100644 --- a/src/components/AppFooter.vue +++ b/src/components/AppFooter.vue @@ -20,5 +20,3 @@ }); - - diff --git a/src/components/AppHeader.vue b/src/components/AppHeader.vue index dc65175..471fe61 100644 --- a/src/components/AppHeader.vue +++ b/src/components/AppHeader.vue @@ -32,5 +32,3 @@ }); - - diff --git a/src/models/IGamepad.ts b/src/models/IGamepad.ts index 0fb8e7d..1762635 100644 --- a/src/models/IGamepad.ts +++ b/src/models/IGamepad.ts @@ -1,6 +1,6 @@ import IVibrationActuator from '@/models/IVibrationActuator'; -export default interface IGamepad { +interface IGamepad { id: string; index: number; timestamp: number; @@ -8,3 +8,5 @@ export default interface IGamepad { vibrationActuator: IVibrationActuator; } +export default IGamepad; + diff --git a/src/models/IGamepadEvent.ts b/src/models/IGamepadEvent.ts index 9c1a3d5..ea5464f 100644 --- a/src/models/IGamepadEvent.ts +++ b/src/models/IGamepadEvent.ts @@ -1,6 +1,8 @@ import IGamepad from '@/models/IGamepad'; -export default interface IGamepadEvent { +interface IGamepadEvent { gamepad: IGamepad; } +export default IGamepadEvent; + diff --git a/src/models/IVibrationActuator.ts b/src/models/IVibrationActuator.ts index c883741..fe6fd47 100644 --- a/src/models/IVibrationActuator.ts +++ b/src/models/IVibrationActuator.ts @@ -1,8 +1,10 @@ import TPatternUnit from '@/models/TPatternUnit'; -export default interface IVibrationActuator { +interface IVibrationActuator { type: string; reset(): void; playEffect(mode: string, pattern: TPatternUnit): void; } +export default IVibrationActuator; + diff --git a/src/models/IVibrator.ts b/src/models/IVibrator.ts index fed1a77..af3e01d 100644 --- a/src/models/IVibrator.ts +++ b/src/models/IVibrator.ts @@ -1,7 +1,7 @@ import TPatternUnit from '@/models/TPatternUnit'; import IGamepad from '@/models/IGamepad'; -export default interface IVibrator { +interface IVibrator { readonly id: number; readonly canVibrate: boolean; isVibrating: boolean; @@ -13,3 +13,5 @@ export default interface IVibrator { sleep(ms: number): Promise; } +export default IVibrator; + diff --git a/src/models/TPattern.ts b/src/models/TPattern.ts index 09fdddd..ba32dc6 100644 --- a/src/models/TPattern.ts +++ b/src/models/TPattern.ts @@ -1,6 +1,6 @@ import TPatternUnit from '@/models/TPatternUnit'; -export type TPattern = { +type TPattern = { name: string; type: string; icon: string; diff --git a/src/models/TPatternUnit.ts b/src/models/TPatternUnit.ts index d686b25..3eab492 100644 --- a/src/models/TPatternUnit.ts +++ b/src/models/TPatternUnit.ts @@ -1,4 +1,4 @@ -export type TPatternUnit = { +type TPatternUnit = { startDelay: number; duration: number; weakMagnitude: number; diff --git a/src/models/Vibrator.ts b/src/models/Vibrator.ts index 9403819..2328af1 100644 --- a/src/models/Vibrator.ts +++ b/src/models/Vibrator.ts @@ -2,7 +2,7 @@ import TPatternUnit from '@/models/TPatternUnit'; import IGamepad from '@/models/IGamepad'; import IVibrator from '@/models/IVibrator'; -export default class Vibrator implements IVibrator { +class Vibrator implements IVibrator { readonly id: number; readonly canVibrate: boolean; isVibrating: boolean; @@ -48,3 +48,5 @@ export default class Vibrator implements IVibrator { } } +export default Vibrator; + diff --git a/src/modules/VueRouterMetaTags.ts b/src/modules/VueRouterMetaTags.ts index a4d457a..0aba91a 100644 --- a/src/modules/VueRouterMetaTags.ts +++ b/src/modules/VueRouterMetaTags.ts @@ -44,7 +44,7 @@ function updateMetatag(to: RouteLocationNormalized, from: RouteLocationNormalize } const VueRouterMetaTags = { - update: updateMetatag + update: updateMetatag, }; export default VueRouterMetaTags; From 45e85e4c6416f2b2553584d869bc07f84d490e44 Mon Sep 17 00:00:00 2001 From: Eugene Serb <46799701+eugene-serb@users.noreply.github.com> Date: Mon, 25 Jul 2022 11:15:14 +0300 Subject: [PATCH 04/16] Did Wavelovers for web multipage, cause Github Pages has no support SSR. Deleted vue-router and components, modules and others related. --- docs/about.html | 3 +- docs/css/447.c8608f84.css | 1 - docs/donate.html | 3 +- docs/faq.html | 3 +- docs/index.html | 4 +- docs/js/447.cde26208.js | 2 - docs/js/447.cde26208.js.map | 1 - docs/js/548.b0cff884.js | 2 - docs/js/548.b0cff884.js.map | 1 - docs/js/877.d6ed6a75.js | 2 - docs/js/877.d6ed6a75.js.map | 1 - docs/js/93.3a3c9684.js | 2 - docs/js/93.3a3c9684.js.map | 1 - docs/js/app.a12d4b08.js | 2 - docs/js/app.a12d4b08.js.map | 1 - docs/js/app.c9621bc7.js | 2 + docs/js/app.c9621bc7.js.map | 1 + docs/js/chunk-vendors.43d24a0a.js | 8 - docs/js/chunk-vendors.43d24a0a.js.map | 1 - docs/js/chunk-vendors.c9813285.js | 2 + docs/js/chunk-vendors.c9813285.js.map | 1 + package-lock.json | 120 +++++-------- package.json | 4 +- public/about.html | 3 +- public/donate.html | 3 +- public/faq.html | 3 +- public/index.html | 54 +++++- src/App.vue | 10 +- src/components/AppFooter.vue | 22 --- src/components/AppHeader.vue | 34 ---- src/main.ts | 3 +- src/modules/VueRouterMetaTags.ts | 51 ------ src/router/index.ts | 240 -------------------------- src/views/AboutView.vue | 31 ---- src/views/DonateView.vue | 32 ---- src/views/FaqView.vue | 53 ------ src/views/HomeView.vue | 19 -- src/views/NotFoundView.vue | 31 ---- 38 files changed, 114 insertions(+), 643 deletions(-) delete mode 100644 docs/css/447.c8608f84.css delete mode 100644 docs/js/447.cde26208.js delete mode 100644 docs/js/447.cde26208.js.map delete mode 100644 docs/js/548.b0cff884.js delete mode 100644 docs/js/548.b0cff884.js.map delete mode 100644 docs/js/877.d6ed6a75.js delete mode 100644 docs/js/877.d6ed6a75.js.map delete mode 100644 docs/js/93.3a3c9684.js delete mode 100644 docs/js/93.3a3c9684.js.map delete mode 100644 docs/js/app.a12d4b08.js delete mode 100644 docs/js/app.a12d4b08.js.map create mode 100644 docs/js/app.c9621bc7.js create mode 100644 docs/js/app.c9621bc7.js.map delete mode 100644 docs/js/chunk-vendors.43d24a0a.js delete mode 100644 docs/js/chunk-vendors.43d24a0a.js.map create mode 100644 docs/js/chunk-vendors.c9813285.js create mode 100644 docs/js/chunk-vendors.c9813285.js.map delete mode 100644 src/components/AppFooter.vue delete mode 100644 src/components/AppHeader.vue delete mode 100644 src/modules/VueRouterMetaTags.ts delete mode 100644 src/router/index.ts delete mode 100644 src/views/AboutView.vue delete mode 100644 src/views/DonateView.vue delete mode 100644 src/views/FaqView.vue delete mode 100644 src/views/HomeView.vue delete mode 100644 src/views/NotFoundView.vue diff --git a/docs/about.html b/docs/about.html index e9a2b2e..8fa1899 100644 --- a/docs/about.html +++ b/docs/about.html @@ -31,8 +31,7 @@ - - + diff --git a/docs/css/447.c8608f84.css b/docs/css/447.c8608f84.css deleted file mode 100644 index 75dfd67..0000000 --- a/docs/css/447.c8608f84.css +++ /dev/null @@ -1 +0,0 @@ -.banner-container{display:flex}.banner{margin:auto;padding:16px} \ No newline at end of file diff --git a/docs/donate.html b/docs/donate.html index fa813f2..78e7dcd 100644 --- a/docs/donate.html +++ b/docs/donate.html @@ -31,8 +31,7 @@ - - + diff --git a/docs/faq.html b/docs/faq.html index 1106c5e..c3389bc 100644 --- a/docs/faq.html +++ b/docs/faq.html @@ -31,8 +31,7 @@ - - + diff --git a/docs/index.html b/docs/index.html index 08d8379..041610e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -Wavelovers \ No newline at end of file + });

Wavelovers

\ No newline at end of file diff --git a/docs/js/447.cde26208.js b/docs/js/447.cde26208.js deleted file mode 100644 index 68f4984..0000000 --- a/docs/js/447.cde26208.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[447],{8447:function(e,n,a){a.r(n),a.d(n,{default:function(){return _}});var t=a(3396);const r={class:"page container"},s=(0,t._)("section",{class:"banner-container"},[(0,t._)("div",{class:"banner"},[(0,t._)("h1",null,"404"),(0,t._)("span",null,"File not found. Please, go to the "),(0,t._)("a",{href:"https://wavelovers.ru/",target:"_self"},"homepage"),(0,t._)("br"),(0,t._)("span",null,"Contact me "),(0,t._)("a",{href:"https://t.me/eugene_serb/",target:"_blank"},"@eugene_serb")])],-1),l=[s];function o(e,n,a,s,o,u){return(0,t.wg)(),(0,t.iD)("main",r,l)}var u=(0,t.aZ)({name:"NotFoundView"}),c=a(89);const i=(0,c.Z)(u,[["render",o]]);var _=i}}]); -//# sourceMappingURL=447.cde26208.js.map \ No newline at end of file diff --git a/docs/js/447.cde26208.js.map b/docs/js/447.cde26208.js.map deleted file mode 100644 index cd2e085..0000000 --- a/docs/js/447.cde26208.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/447.cde26208.js","mappings":"8KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,GAAoB,UAAW,CAAEF,MAAO,oBAAsB,EAC/EE,EAAAA,EAAAA,GAAoB,MAAO,CAAEF,MAAO,UAAY,EAC9CE,EAAAA,EAAAA,GAAoB,KAAM,KAAM,QAChCA,EAAAA,EAAAA,GAAoB,OAAQ,KAAM,uCAClCA,EAAAA,EAAAA,GAAoB,IAAK,CACpCC,KAAM,yBACNC,OAAQ,SACP,aACUF,EAAAA,EAAAA,GAAoB,OACpBA,EAAAA,EAAAA,GAAoB,OAAQ,KAAM,gBAClCA,EAAAA,EAAAA,GAAoB,IAAK,CACpCC,KAAM,4BACNC,OAAQ,UACP,oBAEH,GACEC,EAAa,CACjBJ,GAGI,SAAUK,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQf,EAAYM,EAC/D,CCtBG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,iB,QCGd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/NotFoundView.vue?94e2","webpack://wavelovers/./src/views/NotFoundView.vue?6f3f","webpack://wavelovers/./src/views/NotFoundView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"section\", { class: \"banner-container\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"banner\" }, [\n /*#__PURE__*/_createElementVNode(\"h1\", null, \"404\"),\n /*#__PURE__*/_createElementVNode(\"span\", null, \"File not found. Please, go to the \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://wavelovers.ru/\",\n target: \"_self\"\n }, \"homepage\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createElementVNode(\"span\", null, \"Contact me \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://t.me/eugene_serb/\",\n target: \"_blank\"\n }, \"@eugene_serb\")\n ])\n], -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_3))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'NotFoundView',\r\n });\r\n","import { render } from \"./NotFoundView.vue?vue&type=template&id=66f319a4&ts=true\"\nimport script from \"./NotFoundView.vue?vue&type=script&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&lang=ts\"\n\nimport \"./NotFoundView.vue?vue&type=style&index=0&id=66f319a4&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createElementVNode","href","target","_hoisted_3","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/548.b0cff884.js b/docs/js/548.b0cff884.js deleted file mode 100644 index 0a88fcb..0000000 --- a/docs/js/548.b0cff884.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[548],{2548:function(e,a,n){n.r(a),n.d(a,{default:function(){return c}});var t=n(3396);const s={class:"page container"},i=(0,t.uE)('

Wavelovers � About

About

Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.


Write me: eugene.serb@gmail.com
Visit my homepage: eugene-serb.github.io

Advertising

If you have advertising suggestions, please mail me: eugene.serb@gmail.com
',2),r=[i];function o(e,a,n,i,o,u){return(0,t.wg)(),(0,t.iD)("main",s,r)}var u=(0,t.aZ)({name:"AboutView"}),l=n(89);const h=(0,l.Z)(u,[["render",o]]);var c=h}}]); -//# sourceMappingURL=548.b0cff884.js.map \ No newline at end of file diff --git a/docs/js/548.b0cff884.js.map b/docs/js/548.b0cff884.js.map deleted file mode 100644 index 3c09555..0000000 --- a/docs/js/548.b0cff884.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/548.b0cff884.js","mappings":"8KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,IAAmB,4uBAAmwB,GAChzBC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQb,EAAYI,EAC/D,CCPG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,c,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/AboutView.vue?8926","webpack://wavelovers/./src/views/AboutView.vue?f245","webpack://wavelovers/./src/views/AboutView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers � About

About

Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.


Write me: eugene.serb@gmail.com
Visit my homepage: eugene-serb.github.io

Advertising

If you have advertising suggestions, please mail me: eugene.serb@gmail.com
\", 2)\nconst _hoisted_4 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_4))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AboutView',\r\n });\r\n","import { render } from \"./AboutView.vue?vue&type=template&id=e4a163de&ts=true\"\nimport script from \"./AboutView.vue?vue&type=script&lang=ts\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createStaticVNode","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/877.d6ed6a75.js b/docs/js/877.d6ed6a75.js deleted file mode 100644 index 1b55a57..0000000 --- a/docs/js/877.d6ed6a75.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[877],{877:function(a,e,s){s.r(e),s.d(e,{default:function(){return l}});var r=s(3396);const n={class:"page container"},t=(0,r.uE)('

Wavelovers � FAQ

FAQ

What is the purpose of this software?
Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.

Can I use this software as a hand massager?
Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.

I have a gamepad with vibration, what should I do before using it as a hand massager?
I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.

I'm having problems with the app or connecting my device to the app?
Go to Troubleshooting.

Troubleshooting

If you are having difficulty detecting a gamepad by the browser, you can use the utility Gamepad Master

The app does not see my device.
Make sure you have a chromium-based browser, then update the app and reconnect your device.

The application sees the gamepad, but writes that the vibration actuator is missing.
This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.

My question is not here.
Write me eugene.serb@gmail.com

System Requirements

Gamepad:
X-Input and vibration actuator required.

Browser:
Google Chrome or any other Chromium-based browser is recommended.

Operating System:
Windows 7 or higher recommended.
',2),i=[t];function o(a,e,s,t,o,p){return(0,r.wg)(),(0,r.iD)("main",n,i)}var p=(0,r.aZ)({name:"FaqView"}),c=s(89);const h=(0,c.Z)(p,[["render",o]]);var l=h}}]); -//# sourceMappingURL=877.d6ed6a75.js.map \ No newline at end of file diff --git a/docs/js/877.d6ed6a75.js.map b/docs/js/877.d6ed6a75.js.map deleted file mode 100644 index 9d22a69..0000000 --- a/docs/js/877.d6ed6a75.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/877.d6ed6a75.js","mappings":"6KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,IAAmB,i3EAAg7E,GAC79EC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQb,EAAYI,EAC/D,CCPG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,Y,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/FaqView.vue?8fb5","webpack://wavelovers/./src/views/FaqView.vue?a581","webpack://wavelovers/./src/views/FaqView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers � FAQ

FAQ

What is the purpose of this software?
Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.

Can I use this software as a hand massager?
Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.

I have a gamepad with vibration, what should I do before using it as a hand massager?
I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.

I'm having problems with the app or connecting my device to the app?
Go to Troubleshooting.

Troubleshooting

If you are having difficulty detecting a gamepad by the browser, you can use the utility Gamepad Master

The app does not see my device.
Make sure you have a chromium-based browser, then update the app and reconnect your device.

The application sees the gamepad, but writes that the vibration actuator is missing.
This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.

My question is not here.
Write me eugene.serb@gmail.com

System Requirements

Gamepad:
X-Input and vibration actuator required.

Browser:
Google Chrome or any other Chromium-based browser is recommended.

Operating System:
Windows 7 or higher recommended.
\", 2)\nconst _hoisted_4 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_4))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'FaqView',\r\n });\r\n","import { render } from \"./FaqView.vue?vue&type=template&id=aad19c66&ts=true\"\nimport script from \"./FaqView.vue?vue&type=script&lang=ts\"\nexport * from \"./FaqView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createStaticVNode","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/93.3a3c9684.js b/docs/js/93.3a3c9684.js deleted file mode 100644 index e04bcbd..0000000 --- a/docs/js/93.3a3c9684.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[93],{93:function(e,a,n){n.r(a),n.d(a,{default:function(){return m}});var s=n(3396);const o={class:"page container"},r=(0,s.uE)('

Wavelovers � Donate

Donate

If you like this app, you can thank me and donate to me.

Why should you donate to Wavelovers?

More donation = more money
More money allows me buy more coffee
More coffee makes me write more code
More code means more features
More features make you more happiness and productive
More happiness and productive so you earn more money
More money you earn more donation to me

Bitcoin: bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5
DonationAlert: @eugene_serb
',2),t=[r];function p(e,a,n,r,p,i){return(0,s.wg)(),(0,s.iD)("main",o,t)}var i=(0,s.aZ)({name:"DonateView"}),u=n(89);const c=(0,u.Z)(i,[["render",p]]);var m=c}}]); -//# sourceMappingURL=93.3a3c9684.js.map \ No newline at end of file diff --git a/docs/js/93.3a3c9684.js.map b/docs/js/93.3a3c9684.js.map deleted file mode 100644 index 25865d0..0000000 --- a/docs/js/93.3a3c9684.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/93.3a3c9684.js","mappings":"2KAEA,MAAMA,EAAa,CAAEC,MAAO,kBACtBC,GAA0BC,EAAAA,EAAAA,IAAmB,y8BAA49B,GACzgCC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQb,EAAYI,EAC/D,CCPG,OAAeU,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,e,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASX,KAEpE,O","sources":["webpack://wavelovers/./src/views/DonateView.vue?562c","webpack://wavelovers/./src/views/DonateView.vue?82fb","webpack://wavelovers/./src/views/DonateView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Wavelovers � Donate

Donate

If you like this app, you can thank me and donate to me.

Why should you donate to Wavelovers?

More donation = more money
More money allows me buy more coffee
More coffee makes me write more code
More code means more features
More features make you more happiness and productive
More happiness and productive so you earn more money
More money you earn more donation to me

Bitcoin: bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5
DonationAlert: @eugene_serb
\", 2)\nconst _hoisted_4 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, _hoisted_4))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'DonateView',\r\n });\r\n","import { render } from \"./DonateView.vue?vue&type=template&id=5d4cd0d6&ts=true\"\nimport script from \"./DonateView.vue?vue&type=script&lang=ts\"\nexport * from \"./DonateView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createStaticVNode","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","defineComponent","name","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/app.a12d4b08.js b/docs/js/app.a12d4b08.js deleted file mode 100644 index b06a992..0000000 --- a/docs/js/app.a12d4b08.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var e={5080:function(e,t,a){var n=a(9242),r=a(3396);function o(e,t,a,n,o,i){const s=(0,r.up)("AppHeader"),c=(0,r.up)("router-view"),l=(0,r.up)("AppFooter");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r.Wm)(s),(0,r.Wm)(c),(0,r.Wm)(l)],64)}const i={class:"header"},s={class:"header-wrapper container"},c=(0,r._)("div",{class:"logo-wrapper"},[(0,r._)("span",{class:"logo-wrapper__logo",translate:"no"},"Wavelovers")],-1),l={class:"menu-wrapper"},d={class:"navigation"},u={class:"navigation__item"},v=(0,r.Uk)("Home"),m={class:"navigation__item"},p=(0,r.Uk)("FAQ"),h={class:"navigation__item"},g=(0,r.Uk)("About"),f={class:"navigation__item"},b=(0,r.Uk)("Donate");function w(e,t,a,n,o,w){const y=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("header",i,[(0,r._)("div",s,[c,(0,r._)("nav",l,[(0,r._)("ul",d,[(0,r._)("li",u,[(0,r.Wm)(y,{to:"/",class:"navigation__link"},{default:(0,r.w5)((()=>[v])),_:1})]),(0,r._)("li",m,[(0,r.Wm)(y,{to:"/faq",class:"navigation__link"},{default:(0,r.w5)((()=>[p])),_:1})]),(0,r._)("li",h,[(0,r.Wm)(y,{to:"/about",class:"navigation__link"},{default:(0,r.w5)((()=>[g])),_:1})]),(0,r._)("li",f,[(0,r.Wm)(y,{to:"/donate",class:"navigation__link"},{default:(0,r.w5)((()=>[b])),_:1})])])])])])}var y=(0,r.aZ)({name:"AppHeader"}),W=a(89);const _=(0,W.Z)(y,[["render",w]]);var k=_;const A={class:"footer"},V=(0,r.uE)('',1),T=[V];function P(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("footer",A,T)}var G=(0,r.aZ)({name:"AppFooter"});const C=(0,W.Z)(G,[["render",P]]);var E=C,j=(0,r.aZ)({name:"App",components:{AppHeader:k,AppFooter:E}});const Z=(0,W.Z)(j,[["render",o]]);var x=Z,D=a(2483);const M={class:"page container"},L=(0,r._)("h1",{class:"visually-hidden"},"Wavelovers",-1);function O(e,t,a,n,o,i){const s=(0,r.up)("WaveloversApp");return(0,r.wg)(),(0,r.iD)("main",M,[L,(0,r.Wm)(s)])}const S={class:"wavelovers"},F=(0,r.Uk)("Loading..."),q=(0,r.Uk)("Press any gamepad's button or connect new gamepad.");function I(e,t,a,n,o,i){const s=(0,r.up)("PatternList"),c=(0,r.up)("MessageItem"),l=(0,r.up)("GamepadList");return(0,r.wg)(),(0,r.iD)("div",S,[e.patterns.length>0?((0,r.wg)(),(0,r.j4)(s,{key:0,patterns:e.patterns,mode:e.mode,isActive:e.isActive,onChange:e.change},null,8,["patterns","mode","isActive","onChange"])):((0,r.wg)(),(0,r.j4)(c,{key:1},{default:(0,r.w5)((()=>[F])),_:1})),e.gamepads.length>0?((0,r.wg)(),(0,r.j4)(l,{key:2,gamepads:e.gamepads},null,8,["gamepads"])):((0,r.wg)(),(0,r.j4)(c,{key:3},{default:(0,r.w5)((()=>[q])),_:1}))])}const N={class:"pattern-list"};function U(e,t,a,n,o,i){const s=(0,r.up)("PatternItem");return(0,r.wg)(),(0,r.iD)("div",N,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(e.patterns,((t,a)=>((0,r.wg)(),(0,r.j4)(s,{key:t.name,pattern:t,index:a,mode:e.mode,isActive:e.isActive,onChange:e.change},null,8,["pattern","index","mode","isActive","onChange"])))),128))])}var H=a(7139);const z=["textContent"],B=["textContent"];function Q(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("div",{onClick:t[0]||(t[0]=t=>e.change(e.index)),class:(0,H.C_)(["pattern-item",e.index===e.mode&&!0===e.isActive?"pattern-item_selected":""])},[(0,r._)("span",{class:"pattern-item__icon",textContent:(0,H.zw)(e.pattern.icon)},null,8,z),(0,r._)("span",{class:"pattern-item__name",textContent:(0,H.zw)(e.pattern.name)},null,8,B)],2)}var R=(0,r.aZ)({name:"PatternItem",props:{pattern:{type:Object},index:{type:Number},mode:{type:Number},isActive:{type:Boolean}},methods:{change(e){this.$emit("change",e)}}});const K=(0,W.Z)(R,[["render",Q]]);var Y=K,$=(0,r.aZ)({name:"PatternList",props:{patterns:{type:Array},mode:{type:Number},isActive:{type:Boolean}},components:{PatternItem:Y},methods:{change(e){this.$emit("change",e)}}});const J=(0,W.Z)($,[["render",U]]);var X=J;const ee={class:"device-list"};function te(e,t,a,n,o,i){const s=(0,r.up)("GamepadItem");return(0,r.wg)(),(0,r.iD)("div",ee,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(e.gamepads,(e=>((0,r.wg)(),(0,r.j4)(s,{key:e.id,textContent:(0,H.zw)(e.unit.id)},null,8,["textContent"])))),128))])}const ae={class:"list-item"};function ne(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("div",ae)}var re=(0,r.aZ)({name:"GamepadItem"});const oe=(0,W.Z)(re,[["render",ne]]);var ie=oe,se=(0,r.aZ)({name:"GamepadList",props:{gamepads:{type:Array}},components:{GamepadItem:ie}});const ce=(0,W.Z)(se,[["render",te]]);var le=ce;const de={class:"message"};function ue(e,t,a,n,o,i){return(0,r.wg)(),(0,r.iD)("div",de,[(0,r._)("span",null,[(0,r.WI)(e.$slots,"default")])])}var ve=(0,r.aZ)({name:"MessageItem"});const me=(0,W.Z)(ve,[["render",ue]]);var pe=me,he=a(2482);class ge{constructor(e){(0,he.Z)(this,"id",void 0),(0,he.Z)(this,"canVibrate",void 0),(0,he.Z)(this,"isVibrating",void 0),(0,he.Z)(this,"unit",void 0),(0,he.Z)(this,"pattern",void 0),this.unit=e,this.id=Date.now(),this.canVibrate=!!this.unit.vibrationActuator,this.isVibrating=!1,this.pattern=[]}update(){const e=navigator.getGamepads();this.unit=e[this.unit.index]}reset(){this.isVibrating=!1,this.unit.vibrationActuator.reset()}async vibrate(e){this.isVibrating=!0,this.pattern=e;while(!0===this.isVibrating)for(let e=0;esetTimeout(t,e)))}}var fe=ge,be=(0,r.aZ)({name:"WaveloversApp",components:{PatternList:X,GamepadList:le,MessageItem:pe},data:()=>({gamepads:[],patterns:[],isActive:!1,mode:0}),methods:{loadPatterns:async function(){const e="https://wavelovers.ru/assets/patterns.json";try{const t=await fetch(e);if(t.ok){let e=await t.json();this.patterns=e}else console.log("Connect to the Internet for download more patterns...")}catch(t){console.log(t)}},addEventListeners(){window.addEventListener("gamepadconnected",(e=>this.addGamepad(e))),window.addEventListener("gamepaddisconnected",(e=>this.deleteGamepad(e)))},addGamepad(e){const t=e;this.gamepads.length>=1||this.gamepads.push(new fe(t.gamepad))},deleteGamepad(e){this.gamepads.forEach(((t,a)=>{t.unit.id===e.gamepad.id&&this.gamepads.splice(a,1)}))},change(e){this.mode===e?(this.isActive=!this.isActive,this.reset()):(this.isActive=!0,this.mode=e),!0===this.isActive&&(this.reset(),this.vibrate())},vibrate(){this.gamepads.forEach((e=>{e.vibrate(this.patterns[this.mode].pattern)}))},reset(){this.gamepads.forEach((e=>{e.reset()}))}},mounted(){this.loadPatterns(),this.addEventListeners()}});const we=(0,W.Z)(be,[["render",I]]);var ye=we,We=(0,r.aZ)({name:"HomeView",components:{WaveloversApp:ye}});const _e=(0,W.Z)(We,[["render",O]]);var ke=_e;function Ae(e,t){e.map((e=>{const a=document.createElement(t);return Object.keys(e).forEach((t=>{a.setAttribute(t,e[t])})),a.setAttribute("data-vue-router-controlled",""),a})).forEach((e=>document.head.appendChild(e)))}function Ve(e,t,a){const n=e.matched.slice().reverse().find((e=>e.meta&&e.meta.title)),r=e.matched.slice().reverse().find((e=>e.meta&&e.meta.metaTags&&e.meta.linkTags));if(n&&(document.title=n.meta.title),Array.from(document.querySelectorAll("[data-vue-router-controlled]")).map((e=>{e.parentNode&&e.parentNode.removeChild(e)})),!r)return a();const o=r.meta.linkTags,i=r.meta.metaTags;return Ae(o,"link"),Ae(i,"meta"),a()}const Te={update:Ve};var Pe=Te;const Ge=[{path:"/",name:"home",component:ke,meta:{title:"Wavelovers",metaTags:[{name:"description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона"},{name:"og:title",content:"Wavelovers"},{name:"og:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."},{name:"og:url",content:"https://wavelovers.ru/"},{name:"twitter:title",content:"Wavelovers"},{name:"twitter:description",content:"Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/"}]}},{path:"/about",name:"about",component:()=>a.e(548).then(a.bind(a,2548)),meta:{title:"Wavelovers – About",metaTags:[{name:"description",content:"Wavelovers. Page with information about the project and data on donations."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, реклама"},{name:"og:title",content:"Wavelovers – About"},{name:"og:description",content:"Wavelovers. Page with information about the project and data on donations."},{name:"og:url",content:"https://wavelovers.ru/about"},{name:"twitter:title",content:"Wavelovers – About"},{name:"twitter:description",content:"Wavelovers. Page with information about the project and data on donations."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/about"}]}},{path:"/faq",name:"faq",component:()=>a.e(877).then(a.bind(a,877)),meta:{title:"Wavelovers – FAQ",metaTags:[{name:"description",content:"Wavelovers. Frequently asked questions page."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, часто задаваемые вопросы"},{name:"og:title",content:"Wavelovers – FAQ"},{name:"og:description",content:"Wavelovers. Frequently asked questions page."},{name:"og:url",content:"https://wavelovers.ru/faq"},{name:"twitter:title",content:"Wavelovers – FAQ"},{name:"twitter:description",content:"Wavelovers. Frequently asked questions page."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/faq"}]}},{path:"/donate",name:"donate",component:()=>a.e(93).then(a.bind(a,93)),meta:{title:"Wavelovers – Donate",metaTags:[{name:"description",content:"Wavelovers. Donate to the author."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, задонатить, пожертвовать, помочь, поблагодарить"},{name:"og:title",content:"Wavelovers – Donate"},{name:"og:description",content:"Wavelovers. Donate to the author."},{name:"og:url",content:"https://wavelovers.ru/donate"},{name:"twitter:title",content:"Wavelovers – Donate"},{name:"twitter:description",content:"Wavelovers. Donate to the author."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/donate"}]}},{path:"/404",name:"404",component:()=>a.e(447).then(a.bind(a,8447)),meta:{title:"Wavelovers – 404 Page not found",metaTags:[{name:"description",content:"Wavelovers. Page not found."},{name:"keywords",content:"Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, 404, page not found, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, 404, страница не найдена"},{name:"og:title",content:"Wavelovers – 404 Page not found"},{name:"og:description",content:"Wavelovers. Page not found."},{name:"og:url",content:"https://wavelovers.ru/404"},{name:"twitter:title",content:"Wavelovers – 404 Page not found"},{name:"twitter:description",content:"Wavelovers. Page not found."}],linkTags:[{name:"canonical",href:"https://wavelovers.ru/404"}]}},{path:"/:catchAll(.*)",redirect:"/404"}],Ce=(0,D.p7)({history:(0,D.PO)("/"),routes:Ge});Ce.beforeEach(Pe.update);var Ee=Ce;(0,n.ri)(x).use(Ee).mount("#app")}},t={};function a(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,a),o.exports}a.m=e,function(){var e=[];a.O=function(t,n,r,o){if(!n){var i=1/0;for(d=0;d=o)&&Object.keys(a.O).every((function(e){return a.O[e](n[c])}))?n.splice(c--,1):(s=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,r,o]}}(),function(){a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,{a:t}),t}}(),function(){a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce((function(t,n){return a.f[n](e,t),t}),[]))}}(),function(){a.u=function(e){return"js/"+e+"."+{93:"3a3c9684",447:"cde26208",548:"b0cff884",877:"d6ed6a75"}[e]+".js"}}(),function(){a.miniCssF=function(e){return"css/"+e+".c8608f84.css"}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="wavelovers:";a.l=function(n,r,o,i){if(e[n])e[n].push(r);else{var s,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),d=0;d [\n _hoisted_7\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_8, [\n _createVNode(_component_router_link, {\n to: \"/faq\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_10, [\n _createVNode(_component_router_link, {\n to: \"/about\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", _hoisted_12, [\n _createVNode(_component_router_link, {\n to: \"/donate\",\n class: \"navigation__link\"\n }, {\n default: _withCtx(() => [\n _hoisted_13\n ]),\n _: 1\n })\n ])\n ])\n ])\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AppHeader',\r\n });\r\n","import { render } from \"./AppHeader.vue?vue&type=template&id=649caa6e&ts=true\"\nimport script from \"./AppHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./AppHeader.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"footer\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"
© 2022 Wavelovers. Content licensed under GNU General Public License v3.0
This site is open source. Improve this page.
Created byEugene Serb
\", 1)\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"footer\", _hoisted_1, _hoisted_3))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AppFooter',\r\n });\r\n","import { render } from \"./AppFooter.vue?vue&type=template&id=6dcbbe1a&ts=true\"\nimport script from \"./AppFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./AppFooter.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import AppHeader from '@/components/AppHeader.vue';\r\n import AppFooter from '@/components/AppFooter.vue';\r\n\r\n export default defineComponent({\r\n name: 'App',\r\n components: {\r\n AppHeader: AppHeader,\r\n AppFooter: AppFooter,\r\n },\r\n });\r\n","import { render } from \"./App.vue?vue&type=template&id=f41d5de6&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"page container\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_WaveloversApp = _resolveComponent(\"WaveloversApp\")!\n\n return (_openBlock(), _createElementBlock(\"main\", _hoisted_1, [\n _hoisted_2,\n _createVNode(_component_WaveloversApp)\n ]))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"wavelovers\" }\nconst _hoisted_2 = /*#__PURE__*/_createTextVNode(\"Loading...\")\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\"Press any gamepad's button or connect new gamepad.\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternList = _resolveComponent(\"PatternList\")!\n const _component_MessageItem = _resolveComponent(\"MessageItem\")!\n const _component_GamepadList = _resolveComponent(\"GamepadList\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.patterns.length > 0)\n ? (_openBlock(), _createBlock(_component_PatternList, {\n key: 0,\n patterns: _ctx.patterns,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"patterns\", \"mode\", \"isActive\", \"onChange\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n })),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 2,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 3 }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }))\n ]))\n}","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"pattern-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternItem = _resolveComponent(\"PatternItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.patterns, (pattern, index) => {\n return (_openBlock(), _createBlock(_component_PatternItem, {\n key: pattern.name,\n pattern: pattern,\n index: index,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"pattern\", \"index\", \"mode\", \"isActive\", \"onChange\"]))\n }), 128))\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"textContent\"]\nconst _hoisted_2 = [\"textContent\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.change(_ctx.index))),\n class: _normalizeClass(['pattern-item',\r\n _ctx.index === _ctx.mode && _ctx.isActive === true ?\r\n 'pattern-item_selected' : '',\r\n ])\n }, [\n _createElementVNode(\"span\", {\n class: \"pattern-item__icon\",\n textContent: _toDisplayString(_ctx.pattern.icon)\n }, null, 8, _hoisted_1),\n _createElementVNode(\"span\", {\n class: \"pattern-item__name\",\n textContent: _toDisplayString(_ctx.pattern.name)\n }, null, 8, _hoisted_2)\n ], 2))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternItem',\r\n props: {\r\n pattern: {\r\n type: Object,\r\n },\r\n index: {\r\n type: Number,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternItem.vue?vue&type=template&id=e1c2f044&ts=true\"\nimport script from \"./PatternItem.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternItem.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternItem.vue?vue&type=style&index=0&id=e1c2f044&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import PatternItem from '@/components/PatternItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternList',\r\n props: {\r\n patterns: {\r\n type: Array,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n components: {\r\n PatternItem: PatternItem,\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternList.vue?vue&type=template&id=77356b3f&ts=true\"\nimport script from \"./PatternList.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternList.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternList.vue?vue&type=style&index=0&id=77356b3f&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"device-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_GamepadItem = _resolveComponent(\"GamepadItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_GamepadItem, {\n key: gamepad.id,\n textContent: _toDisplayString(gamepad.unit.id)\n }, null, 8, [\"textContent\"]))\n }), 128))\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadItem',\r\n });\r\n","import { render } from \"./GamepadItem.vue?vue&type=template&id=e6e6c988&ts=true\"\nimport script from \"./GamepadItem.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadItem.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadItem.vue?vue&type=style&index=0&id=e6e6c988&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import GamepadItem from '@/components/GamepadItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadList',\r\n props: {\r\n gamepads: {\r\n type: Array,\r\n },\r\n },\r\n components: {\r\n GamepadItem: GamepadItem,\r\n },\r\n });\r\n ","import { render } from \"./GamepadList.vue?vue&type=template&id=1d58b1c0&ts=true\"\nimport script from \"./GamepadList.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadList.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadList.vue?vue&type=style&index=0&id=1d58b1c0&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"message\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'MessageItem',\r\n });\r\n","import { render } from \"./MessageItem.vue?vue&type=template&id=32e2819b&ts=true\"\nimport script from \"./MessageItem.vue?vue&type=script&lang=ts\"\nexport * from \"./MessageItem.vue?vue&type=script&lang=ts\"\n\nimport \"./MessageItem.vue?vue&type=style&index=0&id=32e2819b&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import TPatternUnit from '@/models/TPatternUnit';\r\nimport IGamepad from '@/models/IGamepad';\r\nimport IVibrator from '@/models/IVibrator';\r\n\r\nclass Vibrator implements IVibrator {\r\n readonly id: number;\r\n readonly canVibrate: boolean;\r\n isVibrating: boolean;\r\n unit: IGamepad;\r\n pattern: TPatternUnit[];\r\n\r\n constructor(unit: IGamepad) {\r\n this.unit = unit;\r\n this.id = Date.now();\r\n this.canVibrate = (this.unit.vibrationActuator) ? true : false;\r\n this.isVibrating = false;\r\n this.pattern = [];\r\n }\r\n\r\n update(): void {\r\n const gamepads = navigator.getGamepads();\r\n this.unit = gamepads[this.unit.index];\r\n }\r\n\r\n reset(): void {\r\n this.isVibrating = false;\r\n this.unit.vibrationActuator.reset();\r\n }\r\n\r\n async vibrate(pattern: TPatternUnit[]) {\r\n this.isVibrating = true;\r\n this.pattern = pattern;\r\n\r\n while (this.isVibrating === true) {\r\n for (let i = 0; i < this.pattern.length; i++) {\r\n if (this.isVibrating === true) {\r\n this.unit.vibrationActuator.playEffect('dual-rumble', this.pattern[i]);\r\n await this.sleep(this.pattern[i].startDelay + this.pattern[i].duration + 100);\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n sleep(ms: number): Promise {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n}\r\n\r\nexport default Vibrator;\r\n\r\n","\r\n import { defineComponent } from 'vue';\r\n import PatternList from '@/components/PatternList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import IGamepadEvent from '@/models/IGamepadEvent';\r\n import IGamepad from '@/models/IGamepad';\r\n import TPattern from '@/models/TPattern';\r\n import TPatternUnit from '@/models/TPatternUnit';\r\n import Vibrator from '@/models/Vibrator';\r\n \r\n export default defineComponent({\r\n name: 'WaveloversApp',\r\n components: {\r\n PatternList: PatternList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n data: () => {\r\n return {\r\n gamepads: [] as Vibrator[],\r\n patterns: [] as TPattern[],\r\n isActive: false,\r\n mode: 0,\r\n };\r\n },\r\n methods: {\r\n loadPatterns: async function () {\r\n const url = 'https://wavelovers.ru/assets/patterns.json';\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n let json = await response.json();\r\n this.patterns = json;\r\n } else {\r\n console.log('Connect to the Internet for download more patterns...');\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n },\r\n addEventListeners(): void {\r\n window.addEventListener('gamepadconnected', (event: GamepadEvent) => this.addGamepad(event));\r\n window.addEventListener('gamepaddisconnected', (event: GamepadEvent) => this.deleteGamepad(event));\r\n },\r\n addGamepad(event: GamepadEvent) {\r\n const ievent: IGamepadEvent = event as unknown as IGamepadEvent;\r\n if (this.gamepads.length >= 1) {\r\n return;\r\n } else {\r\n this.gamepads.push(new Vibrator(ievent.gamepad as IGamepad));\r\n }\r\n },\r\n deleteGamepad(event: GamepadEvent): void {\r\n this.gamepads.forEach((gamepad, index) => {\r\n if (gamepad.unit.id === event.gamepad.id) {\r\n this.gamepads.splice(index, 1);\r\n }\r\n });\r\n },\r\n change(index: number): void {\r\n if (this.mode === index) {\r\n this.isActive = !this.isActive;\r\n this.reset();\r\n } else {\r\n this.isActive = true;\r\n this.mode = index;\r\n }\r\n if (this.isActive === true) {\r\n this.reset();\r\n this.vibrate();\r\n }\r\n },\r\n vibrate(): void {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.vibrate(this.patterns[this.mode].pattern as TPatternUnit[]);\r\n });\r\n },\r\n reset(): void {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.reset();\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.loadPatterns();\r\n this.addEventListeners();\r\n },\r\n });\r\n","import { render } from \"./WaveloversApp.vue?vue&type=template&id=dbfec6e8&ts=true\"\nimport script from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\nexport * from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\n\nimport \"./WaveloversApp.vue?vue&type=style&index=0&id=dbfec6e8&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import WaveloversApp from '@/components/WaveloversApp.vue';\r\n\r\n export default defineComponent({\r\n name: 'HomeView',\r\n components: {\r\n WaveloversApp: WaveloversApp\r\n },\r\n });\r\n","import { render } from \"./HomeView.vue?vue&type=template&id=a999a070&ts=true\"\nimport script from \"./HomeView.vue?vue&type=script&lang=ts\"\nexport * from \"./HomeView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { NavigationGuardNext, RouteLocationNormalized, RouteRecordNormalized } from \"vue-router\";\r\n\r\nfunction appendTags(tagsArray: object[], type: string) {\r\n tagsArray.map((meta: object) => {\r\n const tag = document.createElement(type);\r\n (Object.keys(meta) as Array)\r\n .forEach((key) => {\r\n tag.setAttribute(key, meta[key] as string);\r\n });\r\n tag.setAttribute('data-vue-router-controlled', '');\r\n return tag;\r\n }).forEach(tag => document.head.appendChild(tag));\r\n}\r\n\r\nfunction updateMetatag(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\r\n\r\n const nearestWithTitle: RouteRecordNormalized =\r\n to.matched.slice().reverse()\r\n .find(r => r.meta && r.meta.title) as RouteRecordNormalized;\r\n\r\n const nearestWithMeta: RouteRecordNormalized =\r\n to.matched.slice().reverse()\r\n .find(r => r.meta && r.meta.metaTags && r.meta.linkTags) as RouteRecordNormalized;\r\n\r\n if (nearestWithTitle) {\r\n document.title = nearestWithTitle.meta.title as string;\r\n }\r\n\r\n Array.from(document.querySelectorAll('[data-vue-router-controlled]'))\r\n .map(el => {\r\n if (el.parentNode) {\r\n el.parentNode.removeChild(el);\r\n }\r\n });\r\n\r\n if (!nearestWithMeta) return next();\r\n\r\n const linkTags: object[] = nearestWithMeta.meta.linkTags as object[];\r\n const metaTags: object[] = nearestWithMeta.meta.metaTags as object[];\r\n appendTags(linkTags, 'link');\r\n appendTags(metaTags, 'meta');\r\n\r\n return next();\r\n}\r\n\r\nconst VueRouterMetaTags = {\r\n update: updateMetatag,\r\n};\r\n\r\nexport default VueRouterMetaTags;\r\n\r\n","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';\r\nimport HomeView from '../views/HomeView.vue';\r\nimport VueRouterMetaTagsTest from '@/modules/VueRouterMetaTags';\r\n\r\nconst routes: Array = [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: HomeView,\r\n meta: {\r\n title: 'Wavelovers',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/about',\r\n name: 'about',\r\n component: () => import('@/views/AboutView.vue'),\r\n meta: {\r\n title: 'Wavelovers – About',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, реклама',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – About',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/about',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – About',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Page with information about the project and data on donations.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/about',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/faq',\r\n name: 'faq',\r\n component: () => import('@/views/FaqView.vue'),\r\n meta: {\r\n title: 'Wavelovers – FAQ',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, часто задаваемые вопросы',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – FAQ',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/faq',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – FAQ',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Frequently asked questions page.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/faq',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/donate',\r\n name: 'donate',\r\n component: () => import('@/views/DonateView.vue'),\r\n meta: {\r\n title: 'Wavelovers – Donate',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, задонатить, пожертвовать, помочь, поблагодарить',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – Donate',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/donate',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – Donate',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Donate to the author.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/donate',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/404',\r\n name: '404',\r\n component: () => import('@/views/NotFoundView.vue'),\r\n meta: {\r\n title: 'Wavelovers – 404 Page not found',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Wavelovers. Page not found.',\r\n },\r\n {\r\n name: 'keywords',\r\n content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, 404, page not found, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, 404, страница не найдена',\r\n },\r\n {\r\n name: 'og:title',\r\n content: 'Wavelovers – 404 Page not found',\r\n },\r\n {\r\n name: 'og:description',\r\n content: 'Wavelovers. Page not found.',\r\n },\r\n {\r\n name: 'og:url',\r\n content: 'https://wavelovers.ru/404',\r\n },\r\n {\r\n name: 'twitter:title',\r\n content: 'Wavelovers – 404 Page not found',\r\n },\r\n {\r\n name: 'twitter:description',\r\n content: 'Wavelovers. Page not found.',\r\n },\r\n ],\r\n linkTags: [\r\n {\r\n name: 'canonical',\r\n href: 'https://wavelovers.ru/404',\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n path: '/:catchAll(.*)',\r\n redirect: '/404',\r\n },\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHistory(process.env.BASE_URL),\r\n routes\r\n});\r\n\r\nrouter.beforeEach(VueRouterMetaTagsTest.update);\r\n\r\nexport default router;\r\n\r\n","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\n\r\ncreateApp(App).use(router).mount('#app')\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"93\":\"3a3c9684\",\"447\":\"cde26208\",\"548\":\"b0cff884\",\"877\":\"d6ed6a75\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + \"c8608f84\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"wavelovers:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"447\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwavelovers\"] = self[\"webpackChunkwavelovers\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(5080); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_ctx","_cache","$props","$setup","$data","$options","_component_AppHeader","_resolveComponent","_component_router_view","_component_AppFooter","_openBlock","_createElementBlock","_Fragment","_createVNode","_hoisted_1","class","_hoisted_2","_hoisted_3","_createElementVNode","translate","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_createTextVNode","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_component_router_link","to","default","_withCtx","_","defineComponent","name","__exports__","_createStaticVNode","components","AppHeader","AppFooter","_component_WaveloversApp","_component_PatternList","_component_MessageItem","_component_GamepadList","patterns","length","_createBlock","key","mode","isActive","onChange","change","gamepads","_component_PatternItem","_renderList","pattern","index","onClick","$event","_normalizeClass","textContent","_toDisplayString","icon","props","type","Object","Number","Boolean","methods","this","$emit","Array","PatternItem","_component_GamepadItem","gamepad","id","unit","GamepadItem","_renderSlot","$slots","Vibrator","constructor","Date","now","canVibrate","vibrationActuator","isVibrating","update","navigator","getGamepads","reset","i","playEffect","sleep","startDelay","duration","ms","Promise","resolve","setTimeout","PatternList","GamepadList","MessageItem","data","loadPatterns","async","url","response","fetch","ok","json","console","log","error","addEventListeners","window","addEventListener","event","addGamepad","deleteGamepad","ievent","push","forEach","splice","vibrate","mounted","WaveloversApp","appendTags","tagsArray","map","meta","tag","document","createElement","keys","setAttribute","head","appendChild","updateMetatag","from","next","nearestWithTitle","matched","slice","reverse","find","r","title","nearestWithMeta","metaTags","linkTags","querySelectorAll","el","parentNode","removeChild","VueRouterMetaTags","routes","path","component","HomeView","content","href","redirect","router","createRouter","history","createWebHistory","process","beforeEach","VueRouterMetaTagsTest","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","call","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","src","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","bind","target","Symbol","toStringTag","value","p","createStylesheet","fullhref","reject","linkTag","rel","onLinkComplete","errorType","realHref","err","Error","code","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","loadingEnded","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/app.c9621bc7.js b/docs/js/app.c9621bc7.js new file mode 100644 index 0000000..3bfd406 --- /dev/null +++ b/docs/js/app.c9621bc7.js @@ -0,0 +1,2 @@ +(function(){"use strict";var t={1194:function(t,e,n){var a=n(9242),i=n(3396);function s(t,e,n,a,s,r){const o=(0,i.up)("WaveloversApp");return(0,i.wg)(),(0,i.j4)(o)}const r={class:"wavelovers"},o=(0,i.Uk)("Loading..."),c=(0,i.Uk)("Press any gamepad's button or connect new gamepad.");function d(t,e,n,a,s,d){const p=(0,i.up)("PatternList"),u=(0,i.up)("MessageItem"),h=(0,i.up)("GamepadList");return(0,i.wg)(),(0,i.iD)("div",r,[t.patterns.length>0?((0,i.wg)(),(0,i.j4)(p,{key:0,patterns:t.patterns,mode:t.mode,isActive:t.isActive,onChange:t.change},null,8,["patterns","mode","isActive","onChange"])):((0,i.wg)(),(0,i.j4)(u,{key:1},{default:(0,i.w5)((()=>[o])),_:1})),t.gamepads.length>0?((0,i.wg)(),(0,i.j4)(h,{key:2,gamepads:t.gamepads},null,8,["gamepads"])):((0,i.wg)(),(0,i.j4)(u,{key:3},{default:(0,i.w5)((()=>[c])),_:1}))])}const p={class:"pattern-list"};function u(t,e,n,a,s,r){const o=(0,i.up)("PatternItem");return(0,i.wg)(),(0,i.iD)("div",p,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(t.patterns,((e,n)=>((0,i.wg)(),(0,i.j4)(o,{key:e.name,pattern:e,index:n,mode:t.mode,isActive:t.isActive,onChange:t.change},null,8,["pattern","index","mode","isActive","onChange"])))),128))])}var h=n(7139);const l=["textContent"],m=["textContent"];function v(t,e,n,a,s,r){return(0,i.wg)(),(0,i.iD)("div",{onClick:e[0]||(e[0]=e=>t.change(t.index)),class:(0,h.C_)(["pattern-item",t.index===t.mode&&!0===t.isActive?"pattern-item_selected":""])},[(0,i._)("span",{class:"pattern-item__icon",textContent:(0,h.zw)(t.pattern.icon)},null,8,l),(0,i._)("span",{class:"pattern-item__name",textContent:(0,h.zw)(t.pattern.name)},null,8,m)],2)}var g=(0,i.aZ)({name:"PatternItem",props:{pattern:{type:Object},index:{type:Number},mode:{type:Number},isActive:{type:Boolean}},methods:{change(t){this.$emit("change",t)}}}),f=n(89);const w=(0,f.Z)(g,[["render",v]]);var b=w,y=(0,i.aZ)({name:"PatternList",props:{patterns:{type:Array},mode:{type:Number},isActive:{type:Boolean}},components:{PatternItem:b},methods:{change(t){this.$emit("change",t)}}});const A=(0,f.Z)(y,[["render",u]]);var Z=A;const j={class:"device-list"};function x(t,e,n,a,s,r){const o=(0,i.up)("GamepadItem");return(0,i.wg)(),(0,i.iD)("div",j,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(t.gamepads,(t=>((0,i.wg)(),(0,i.j4)(o,{key:t.id,textContent:(0,h.zw)(t.unit.id)},null,8,["textContent"])))),128))])}const k={class:"list-item"};function C(t,e,n,a,s,r){return(0,i.wg)(),(0,i.iD)("div",k)}var _=(0,i.aZ)({name:"GamepadItem"});const O=(0,f.Z)(_,[["render",C]]);var P=O,G=(0,i.aZ)({name:"GamepadList",props:{gamepads:{type:Array}},components:{GamepadItem:P}});const I=(0,f.Z)(G,[["render",x]]);var L=I;const D={class:"message"};function E(t,e,n,a,s,r){return(0,i.wg)(),(0,i.iD)("div",D,[(0,i._)("span",null,[(0,i.WI)(t.$slots,"default")])])}var V=(0,i.aZ)({name:"MessageItem"});const M=(0,f.Z)(V,[["render",E]]);var W=M,z=n(2482);class N{constructor(t){(0,z.Z)(this,"id",void 0),(0,z.Z)(this,"canVibrate",void 0),(0,z.Z)(this,"isVibrating",void 0),(0,z.Z)(this,"unit",void 0),(0,z.Z)(this,"pattern",void 0),this.unit=t,this.id=Date.now(),this.canVibrate=!!this.unit.vibrationActuator,this.isVibrating=!1,this.pattern=[]}update(){const t=navigator.getGamepads();this.unit=t[this.unit.index]}reset(){this.isVibrating=!1,this.unit.vibrationActuator.reset()}async vibrate(t){this.isVibrating=!0,this.pattern=t;while(!0===this.isVibrating)for(let t=0;tsetTimeout(e,t)))}}var T=N,$=(0,i.aZ)({name:"WaveloversApp",components:{PatternList:Z,GamepadList:L,MessageItem:W},data:()=>({gamepads:[],patterns:[],isActive:!1,mode:0}),methods:{loadPatterns:async function(){const t="https://wavelovers.ru/assets/patterns.json";try{const e=await fetch(t);if(e.ok){let t=await e.json();this.patterns=t}else console.log("Connect to the Internet for download more patterns...")}catch(e){console.log(e)}},addEventListeners(){window.addEventListener("gamepadconnected",(t=>this.addGamepad(t))),window.addEventListener("gamepaddisconnected",(t=>this.deleteGamepad(t)))},addGamepad(t){const e=t;this.gamepads.length>=1||this.gamepads.push(new T(e.gamepad))},deleteGamepad(t){this.gamepads.forEach(((e,n)=>{e.unit.id===t.gamepad.id&&this.gamepads.splice(n,1)}))},change(t){this.mode===t?(this.isActive=!this.isActive,this.reset()):(this.isActive=!0,this.mode=t),!0===this.isActive&&(this.reset(),this.vibrate())},vibrate(){this.gamepads.forEach((t=>{t.vibrate(this.patterns[this.mode].pattern)}))},reset(){this.gamepads.forEach((t=>{t.reset()}))}},mounted(){this.loadPatterns(),this.addEventListeners()}});const B=(0,f.Z)($,[["render",d]]);var H=B,K=(0,i.aZ)({name:"App",components:{WaveloversApp:H}});const U=(0,f.Z)(K,[["render",s]]);var Y=U;(0,a.ri)(Y).mount("#app")}},e={};function n(a){var i=e[a];if(void 0!==i)return i.exports;var s=e[a]={exports:{}};return t[a](s,s.exports,n),s.exports}n.m=t,function(){var t=[];n.O=function(e,a,i,s){if(!a){var r=1/0;for(p=0;p=s)&&Object.keys(n.O).every((function(t){return n.O[t](a[c])}))?a.splice(c--,1):(o=!1,s0&&t[p-1][2]>s;p--)t[p]=t[p-1];t[p]=[a,i,s]}}(),function(){n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,{a:e}),e}}(),function(){n.d=function(t,e){for(var a in e)n.o(e,a)&&!n.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){var t={143:0};n.O.j=function(e){return 0===t[e]};var e=function(e,a){var i,s,r=a[0],o=a[1],c=a[2],d=0;if(r.some((function(e){return 0!==t[e]}))){for(i in o)n.o(o,i)&&(n.m[i]=o[i]);if(c)var p=c(n)}for(e&&e(a);d 0)\n ? (_openBlock(), _createBlock(_component_PatternList, {\n key: 0,\n patterns: _ctx.patterns,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"patterns\", \"mode\", \"isActive\", \"onChange\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n })),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 2,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 3 }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }))\n ]))\n}","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"pattern-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternItem = _resolveComponent(\"PatternItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.patterns, (pattern, index) => {\n return (_openBlock(), _createBlock(_component_PatternItem, {\n key: pattern.name,\n pattern: pattern,\n index: index,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"pattern\", \"index\", \"mode\", \"isActive\", \"onChange\"]))\n }), 128))\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"textContent\"]\nconst _hoisted_2 = [\"textContent\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.change(_ctx.index))),\n class: _normalizeClass(['pattern-item',\r\n _ctx.index === _ctx.mode && _ctx.isActive === true ?\r\n 'pattern-item_selected' : '',\r\n ])\n }, [\n _createElementVNode(\"span\", {\n class: \"pattern-item__icon\",\n textContent: _toDisplayString(_ctx.pattern.icon)\n }, null, 8, _hoisted_1),\n _createElementVNode(\"span\", {\n class: \"pattern-item__name\",\n textContent: _toDisplayString(_ctx.pattern.name)\n }, null, 8, _hoisted_2)\n ], 2))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternItem',\r\n props: {\r\n pattern: {\r\n type: Object,\r\n },\r\n index: {\r\n type: Number,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternItem.vue?vue&type=template&id=e1c2f044&ts=true\"\nimport script from \"./PatternItem.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternItem.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternItem.vue?vue&type=style&index=0&id=e1c2f044&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import PatternItem from '@/components/PatternItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternList',\r\n props: {\r\n patterns: {\r\n type: Array,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n components: {\r\n PatternItem: PatternItem,\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index as number);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternList.vue?vue&type=template&id=77356b3f&ts=true\"\nimport script from \"./PatternList.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternList.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternList.vue?vue&type=style&index=0&id=77356b3f&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"device-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_GamepadItem = _resolveComponent(\"GamepadItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_GamepadItem, {\n key: gamepad.id,\n textContent: _toDisplayString(gamepad.unit.id)\n }, null, 8, [\"textContent\"]))\n }), 128))\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadItem',\r\n });\r\n","import { render } from \"./GamepadItem.vue?vue&type=template&id=e6e6c988&ts=true\"\nimport script from \"./GamepadItem.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadItem.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadItem.vue?vue&type=style&index=0&id=e6e6c988&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import GamepadItem from '@/components/GamepadItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadList',\r\n props: {\r\n gamepads: {\r\n type: Array,\r\n },\r\n },\r\n components: {\r\n GamepadItem: GamepadItem,\r\n },\r\n });\r\n ","import { render } from \"./GamepadList.vue?vue&type=template&id=1d58b1c0&ts=true\"\nimport script from \"./GamepadList.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadList.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadList.vue?vue&type=style&index=0&id=1d58b1c0&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"message\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'MessageItem',\r\n });\r\n","import { render } from \"./MessageItem.vue?vue&type=template&id=32e2819b&ts=true\"\nimport script from \"./MessageItem.vue?vue&type=script&lang=ts\"\nexport * from \"./MessageItem.vue?vue&type=script&lang=ts\"\n\nimport \"./MessageItem.vue?vue&type=style&index=0&id=32e2819b&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import TPatternUnit from '@/models/TPatternUnit';\r\nimport IGamepad from '@/models/IGamepad';\r\nimport IVibrator from '@/models/IVibrator';\r\n\r\nclass Vibrator implements IVibrator {\r\n readonly id: number;\r\n readonly canVibrate: boolean;\r\n isVibrating: boolean;\r\n unit: IGamepad;\r\n pattern: TPatternUnit[];\r\n\r\n constructor(unit: IGamepad) {\r\n this.unit = unit;\r\n this.id = Date.now();\r\n this.canVibrate = (this.unit.vibrationActuator) ? true : false;\r\n this.isVibrating = false;\r\n this.pattern = [];\r\n }\r\n\r\n update(): void {\r\n const gamepads = navigator.getGamepads();\r\n this.unit = gamepads[this.unit.index];\r\n }\r\n\r\n reset(): void {\r\n this.isVibrating = false;\r\n this.unit.vibrationActuator.reset();\r\n }\r\n\r\n async vibrate(pattern: TPatternUnit[]) {\r\n this.isVibrating = true;\r\n this.pattern = pattern;\r\n\r\n while (this.isVibrating === true) {\r\n for (let i = 0; i < this.pattern.length; i++) {\r\n if (this.isVibrating === true) {\r\n this.unit.vibrationActuator.playEffect('dual-rumble', this.pattern[i]);\r\n await this.sleep(this.pattern[i].startDelay + this.pattern[i].duration + 100);\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n sleep(ms: number): Promise {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n}\r\n\r\nexport default Vibrator;\r\n\r\n","\r\n import { defineComponent } from 'vue';\r\n import PatternList from '@/components/PatternList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import IGamepadEvent from '@/models/IGamepadEvent';\r\n import IGamepad from '@/models/IGamepad';\r\n import TPattern from '@/models/TPattern';\r\n import TPatternUnit from '@/models/TPatternUnit';\r\n import Vibrator from '@/models/Vibrator';\r\n \r\n export default defineComponent({\r\n name: 'WaveloversApp',\r\n components: {\r\n PatternList: PatternList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n data: () => {\r\n return {\r\n gamepads: [] as Vibrator[],\r\n patterns: [] as TPattern[],\r\n isActive: false,\r\n mode: 0,\r\n };\r\n },\r\n methods: {\r\n loadPatterns: async function () {\r\n const url = 'https://wavelovers.ru/assets/patterns.json';\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n let json = await response.json();\r\n this.patterns = json;\r\n } else {\r\n console.log('Connect to the Internet for download more patterns...');\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n },\r\n addEventListeners(): void {\r\n window.addEventListener('gamepadconnected', (event: GamepadEvent) => this.addGamepad(event));\r\n window.addEventListener('gamepaddisconnected', (event: GamepadEvent) => this.deleteGamepad(event));\r\n },\r\n addGamepad(event: GamepadEvent) {\r\n const ievent: IGamepadEvent = event as unknown as IGamepadEvent;\r\n if (this.gamepads.length >= 1) {\r\n return;\r\n } else {\r\n this.gamepads.push(new Vibrator(ievent.gamepad as IGamepad));\r\n }\r\n },\r\n deleteGamepad(event: GamepadEvent): void {\r\n this.gamepads.forEach((gamepad, index) => {\r\n if (gamepad.unit.id === event.gamepad.id) {\r\n this.gamepads.splice(index, 1);\r\n }\r\n });\r\n },\r\n change(index: number): void {\r\n if (this.mode === index) {\r\n this.isActive = !this.isActive;\r\n this.reset();\r\n } else {\r\n this.isActive = true;\r\n this.mode = index;\r\n }\r\n if (this.isActive === true) {\r\n this.reset();\r\n this.vibrate();\r\n }\r\n },\r\n vibrate(): void {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.vibrate(this.patterns[this.mode].pattern as TPatternUnit[]);\r\n });\r\n },\r\n reset(): void {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.reset();\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.loadPatterns();\r\n this.addEventListeners();\r\n },\r\n });\r\n","import { render } from \"./WaveloversApp.vue?vue&type=template&id=dbfec6e8&ts=true\"\nimport script from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\nexport * from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\n\nimport \"./WaveloversApp.vue?vue&type=style&index=0&id=dbfec6e8&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { defineComponent } from 'vue';\n import WaveloversApp from '@/components/WaveloversApp.vue';\n\n export default defineComponent({\n name: 'App',\n components: {\n WaveloversApp: WaveloversApp,\n },\n });\n","import { render } from \"./App.vue?vue&type=template&id=4be8096e&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\nimport App from './App.vue'\n\ncreateApp(App).mount('#app')\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwavelovers\"] = self[\"webpackChunkwavelovers\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(1194); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_ctx","_cache","$props","$setup","$data","$options","_component_WaveloversApp","_resolveComponent","_openBlock","_createBlock","_hoisted_1","class","_hoisted_2","_createTextVNode","_hoisted_3","_component_PatternList","_component_MessageItem","_component_GamepadList","_createElementBlock","patterns","length","key","mode","isActive","onChange","change","default","_withCtx","_","gamepads","_component_PatternItem","_Fragment","_renderList","pattern","index","name","onClick","$event","_normalizeClass","_createElementVNode","textContent","_toDisplayString","icon","defineComponent","props","type","Object","Number","Boolean","methods","this","$emit","__exports__","Array","components","PatternItem","_component_GamepadItem","gamepad","id","unit","GamepadItem","_renderSlot","$slots","Vibrator","constructor","Date","now","canVibrate","vibrationActuator","isVibrating","update","navigator","getGamepads","reset","i","playEffect","sleep","startDelay","duration","ms","Promise","resolve","setTimeout","PatternList","GamepadList","MessageItem","data","loadPatterns","async","url","response","fetch","ok","json","console","log","error","addEventListeners","window","addEventListener","event","addGamepad","deleteGamepad","ievent","push","forEach","splice","vibrate","mounted","WaveloversApp","createApp","App","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","keys","every","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","obj","prop","prototype","hasOwnProperty","call","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/chunk-vendors.43d24a0a.js b/docs/js/chunk-vendors.43d24a0a.js deleted file mode 100644 index 8483324..0000000 --- a/docs/js/chunk-vendors.43d24a0a.js +++ /dev/null @@ -1,8 +0,0 @@ -(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[998],{9662:function(e,t,n){var r=n(614),o=n(6330),i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not a function")}},6077:function(e,t,n){var r=n(614),o=String,i=TypeError;e.exports=function(e){if("object"==typeof e||r(e))return e;throw i("Can't set "+o(e)+" as a prototype")}},1223:function(e,t,n){var r=n(5112),o=n(30),i=n(3070).f,s=r("unscopables"),c=Array.prototype;void 0==c[s]&&i(c,s,{configurable:!0,value:o(null)}),e.exports=function(e){c[s][e]=!0}},9670:function(e,t,n){var r=n(111),o=String,i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not an object")}},1318:function(e,t,n){var r=n(5656),o=n(1400),i=n(6244),s=function(e){return function(t,n,s){var c,u=r(t),l=i(u),a=o(s,l);if(e&&n!=n){while(l>a)if(c=u[a++],c!=c)return!0}else for(;l>a;a++)if((e||a in u)&&u[a]===n)return e||a||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},4326:function(e,t,n){var r=n(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:function(e,t,n){var r=n(1694),o=n(614),i=n(4326),s=n(5112),c=s("toStringTag"),u=Object,l="Arguments"==i(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(n){}};e.exports=r?i:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=u(e),c))?n:l?i(t):"Object"==(r=i(t))&&o(t.callee)?"Arguments":r}},7741:function(e,t,n){var r=n(1702),o=Error,i=r("".replace),s=function(e){return String(o(e).stack)}("zxcasd"),c=/\n\s*at [^:]*:[^\n]*/,u=c.test(s);e.exports=function(e,t){if(u&&"string"==typeof e&&!o.prepareStackTrace)while(t--)e=i(e,c,"");return e}},9920:function(e,t,n){var r=n(2597),o=n(3887),i=n(1236),s=n(3070);e.exports=function(e,t,n){for(var c=o(t),u=s.f,l=i.f,a=0;a0&&r[0]<4?1:+(r[0]+r[1])),!o&&s&&(r=s.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/),r&&(o=+r[1]))),e.exports=o},748:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2914:function(e,t,n){var r=n(7293),o=n(9114);e.exports=!r((function(){var e=Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",o(1,7)),7!==e.stack)}))},2109:function(e,t,n){var r=n(7854),o=n(1236).f,i=n(8880),s=n(8052),c=n(3072),u=n(9920),l=n(4705);e.exports=function(e,t){var n,a,f,p,d,h,v=e.target,m=e.global,g=e.stat;if(a=m?r:g?r[v]||c(v,{}):(r[v]||{}).prototype,a)for(f in t){if(d=t[f],e.dontCallGetSet?(h=o(a,f),p=h&&h.value):p=a[f],n=l(m?f:v+(g?".":"#")+f,e.forced),!n&&void 0!==p){if(typeof d==typeof p)continue;u(d,p)}(e.sham||p&&p.sham)&&i(d,"sham",!0),s(a,f,d,e)}}},7293:function(e){e.exports=function(e){try{return!!e()}catch(t){return!0}}},2104:function(e,t,n){var r=n(4374),o=Function.prototype,i=o.apply,s=o.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?s.bind(i):function(){return s.apply(i,arguments)})},4374:function(e,t,n){var r=n(7293);e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},6916:function(e,t,n){var r=n(4374),o=Function.prototype.call;e.exports=r?o.bind(o):function(){return o.apply(o,arguments)}},6530:function(e,t,n){var r=n(9781),o=n(2597),i=Function.prototype,s=r&&Object.getOwnPropertyDescriptor,c=o(i,"name"),u=c&&"something"===function(){}.name,l=c&&(!r||r&&s(i,"name").configurable);e.exports={EXISTS:c,PROPER:u,CONFIGURABLE:l}},1702:function(e,t,n){var r=n(4374),o=Function.prototype,i=o.bind,s=o.call,c=r&&i.bind(s,s);e.exports=r?function(e){return e&&c(e)}:function(e){return e&&function(){return s.apply(e,arguments)}}},5005:function(e,t,n){var r=n(7854),o=n(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e]):r[e]&&r[e][t]}},8173:function(e,t,n){var r=n(9662);e.exports=function(e,t){var n=e[t];return null==n?void 0:r(n)}},7854:function(e,t,n){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(e,t,n){var r=n(1702),o=n(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(o(e),t)}},3501:function(e){e.exports={}},490:function(e,t,n){var r=n(5005);e.exports=r("document","documentElement")},4664:function(e,t,n){var r=n(9781),o=n(7293),i=n(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:function(e,t,n){var r=n(1702),o=n(7293),i=n(4326),s=Object,c=r("".split);e.exports=o((function(){return!s("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?c(e,""):s(e)}:s},9587:function(e,t,n){var r=n(614),o=n(111),i=n(7674);e.exports=function(e,t,n){var s,c;return i&&r(s=t.constructor)&&s!==n&&o(c=s.prototype)&&c!==n.prototype&&i(e,c),e}},2788:function(e,t,n){var r=n(1702),o=n(614),i=n(5465),s=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return s(e)}),e.exports=i.inspectSource},8340:function(e,t,n){var r=n(111),o=n(8880);e.exports=function(e,t){r(t)&&"cause"in t&&o(e,"cause",t.cause)}},9909:function(e,t,n){var r,o,i,s=n(8536),c=n(7854),u=n(1702),l=n(111),a=n(8880),f=n(2597),p=n(5465),d=n(6200),h=n(3501),v="Object already initialized",m=c.TypeError,g=c.WeakMap,y=function(e){return i(e)?o(e):r(e,{})},b=function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw m("Incompatible receiver, "+e+" required");return n}};if(s||p.state){var _=p.state||(p.state=new g),w=u(_.get),x=u(_.has),k=u(_.set);r=function(e,t){if(x(_,e))throw new m(v);return t.facade=e,k(_,e,t),t},o=function(e){return w(_,e)||{}},i=function(e){return x(_,e)}}else{var S=d("state");h[S]=!0,r=function(e,t){if(f(e,S))throw new m(v);return t.facade=e,a(e,S,t),t},o=function(e){return f(e,S)?e[S]:{}},i=function(e){return f(e,S)}}e.exports={set:r,get:o,has:i,enforce:y,getterFor:b}},614:function(e){e.exports=function(e){return"function"==typeof e}},4705:function(e,t,n){var r=n(7293),o=n(614),i=/#|\.prototype\./,s=function(e,t){var n=u[c(e)];return n==a||n!=l&&(o(t)?r(t):!!t)},c=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},u=s.data={},l=s.NATIVE="N",a=s.POLYFILL="P";e.exports=s},111:function(e,t,n){var r=n(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:function(e){e.exports=!1},2190:function(e,t,n){var r=n(5005),o=n(614),i=n(7976),s=n(3307),c=Object;e.exports=s?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return o(t)&&i(t.prototype,c(e))}},6244:function(e,t,n){var r=n(7466);e.exports=function(e){return r(e.length)}},6339:function(e,t,n){var r=n(7293),o=n(614),i=n(2597),s=n(9781),c=n(6530).CONFIGURABLE,u=n(2788),l=n(9909),a=l.enforce,f=l.get,p=Object.defineProperty,d=s&&!r((function(){return 8!==p((function(){}),"length",{value:8}).length})),h=String(String).split("String"),v=e.exports=function(e,t,n){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!i(e,"name")||c&&e.name!==t)&&(s?p(e,"name",{value:t,configurable:!0}):e.name=t),d&&n&&i(n,"arity")&&e.length!==n.arity&&p(e,"length",{value:n.arity});try{n&&i(n,"constructor")&&n.constructor?s&&p(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var r=a(e);return i(r,"source")||(r.source=h.join("string"==typeof t?t:"")),e};Function.prototype.toString=v((function(){return o(this)&&f(this).source||u(this)}),"toString")},4758:function(e){var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var r=+e;return(r>0?n:t)(r)}},133:function(e,t,n){var r=n(7392),o=n(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:function(e,t,n){var r=n(7854),o=n(614),i=n(2788),s=r.WeakMap;e.exports=o(s)&&/native code/.test(i(s))},6277:function(e,t,n){var r=n(1340);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:r(e)}},30:function(e,t,n){var r,o=n(9670),i=n(6048),s=n(748),c=n(3501),u=n(490),l=n(317),a=n(6200),f=">",p="<",d="prototype",h="script",v=a("IE_PROTO"),m=function(){},g=function(e){return p+h+f+e+p+"/"+h+f},y=function(e){e.write(g("")),e.close();var t=e.parentWindow.Object;return e=null,t},b=function(){var e,t=l("iframe"),n="java"+h+":";return t.style.display="none",u.appendChild(t),t.src=String(n),e=t.contentWindow.document,e.open(),e.write(g("document.F=Object")),e.close(),e.F},_=function(){try{r=new ActiveXObject("htmlfile")}catch(t){}_="undefined"!=typeof document?document.domain&&r?y(r):b():y(r);var e=s.length;while(e--)delete _[d][s[e]];return _()};c[v]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(m[d]=o(e),n=new m,m[d]=null,n[v]=e):n=_(),void 0===t?n:i.f(n,t)}},6048:function(e,t,n){var r=n(9781),o=n(3353),i=n(3070),s=n(9670),c=n(5656),u=n(1956);t.f=r&&!o?Object.defineProperties:function(e,t){s(e);var n,r=c(t),o=u(t),l=o.length,a=0;while(l>a)i.f(e,n=o[a++],r[n]);return e}},3070:function(e,t,n){var r=n(9781),o=n(4664),i=n(3353),s=n(9670),c=n(4948),u=TypeError,l=Object.defineProperty,a=Object.getOwnPropertyDescriptor,f="enumerable",p="configurable",d="writable";t.f=r?i?function(e,t,n){if(s(e),t=c(t),s(n),"function"===typeof e&&"prototype"===t&&"value"in n&&d in n&&!n[d]){var r=a(e,t);r&&r[d]&&(e[t]=n.value,n={configurable:p in n?n[p]:r[p],enumerable:f in n?n[f]:r[f],writable:!1})}return l(e,t,n)}:l:function(e,t,n){if(s(e),t=c(t),s(n),o)try{return l(e,t,n)}catch(r){}if("get"in n||"set"in n)throw u("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},1236:function(e,t,n){var r=n(9781),o=n(6916),i=n(5296),s=n(9114),c=n(5656),u=n(4948),l=n(2597),a=n(4664),f=Object.getOwnPropertyDescriptor;t.f=r?f:function(e,t){if(e=c(e),t=u(t),a)try{return f(e,t)}catch(n){}if(l(e,t))return s(!o(i.f,e,t),e[t])}},8006:function(e,t,n){var r=n(6324),o=n(748),i=o.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},5181:function(e,t){t.f=Object.getOwnPropertySymbols},7976:function(e,t,n){var r=n(1702);e.exports=r({}.isPrototypeOf)},6324:function(e,t,n){var r=n(1702),o=n(2597),i=n(5656),s=n(1318).indexOf,c=n(3501),u=r([].push);e.exports=function(e,t){var n,r=i(e),l=0,a=[];for(n in r)!o(c,n)&&o(r,n)&&u(a,n);while(t.length>l)o(r,n=t[l++])&&(~s(a,n)||u(a,n));return a}},1956:function(e,t,n){var r=n(6324),o=n(748);e.exports=Object.keys||function(e){return r(e,o)}},5296:function(e,t){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,o=r&&!n.call({1:2},1);t.f=o?function(e){var t=r(this,e);return!!t&&t.enumerable}:n},7674:function(e,t,n){var r=n(1702),o=n(9670),i=n(6077);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{e=r(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),e(n,[]),t=n instanceof Array}catch(s){}return function(n,r){return o(n),i(r),t?e(n,r):n.__proto__=r,n}}():void 0)},2140:function(e,t,n){var r=n(6916),o=n(614),i=n(111),s=TypeError;e.exports=function(e,t){var n,c;if("string"===t&&o(n=e.toString)&&!i(c=r(n,e)))return c;if(o(n=e.valueOf)&&!i(c=r(n,e)))return c;if("string"!==t&&o(n=e.toString)&&!i(c=r(n,e)))return c;throw s("Can't convert object to primitive value")}},3887:function(e,t,n){var r=n(5005),o=n(1702),i=n(8006),s=n(5181),c=n(9670),u=o([].concat);e.exports=r("Reflect","ownKeys")||function(e){var t=i.f(c(e)),n=s.f;return n?u(t,n(e)):t}},2626:function(e,t,n){var r=n(3070).f;e.exports=function(e,t,n){n in e||r(e,n,{configurable:!0,get:function(){return t[n]},set:function(e){t[n]=e}})}},4488:function(e){var t=TypeError;e.exports=function(e){if(void 0==e)throw t("Can't call method on "+e);return e}},6200:function(e,t,n){var r=n(2309),o=n(9711),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},5465:function(e,t,n){var r=n(7854),o=n(3072),i="__core-js_shared__",s=r[i]||o(i,{});e.exports=s},2309:function(e,t,n){var r=n(1913),o=n(5465);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.23.5",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.23.5/LICENSE",source:"https://github.com/zloirock/core-js"})},1400:function(e,t,n){var r=n(9303),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},5656:function(e,t,n){var r=n(8361),o=n(4488);e.exports=function(e){return r(o(e))}},9303:function(e,t,n){var r=n(4758);e.exports=function(e){var t=+e;return t!==t||0===t?0:r(t)}},7466:function(e,t,n){var r=n(9303),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},7908:function(e,t,n){var r=n(4488),o=Object;e.exports=function(e){return o(r(e))}},7593:function(e,t,n){var r=n(6916),o=n(111),i=n(2190),s=n(8173),c=n(2140),u=n(5112),l=TypeError,a=u("toPrimitive");e.exports=function(e,t){if(!o(e)||i(e))return e;var n,u=s(e,a);if(u){if(void 0===t&&(t="default"),n=r(u,e,t),!o(n)||i(n))return n;throw l("Can't convert object to primitive value")}return void 0===t&&(t="number"),c(e,t)}},4948:function(e,t,n){var r=n(7593),o=n(2190);e.exports=function(e){var t=r(e,"string");return o(t)?t:t+""}},1694:function(e,t,n){var r=n(5112),o=r("toStringTag"),i={};i[o]="z",e.exports="[object z]"===String(i)},1340:function(e,t,n){var r=n(648),o=String;e.exports=function(e){if("Symbol"===r(e))throw TypeError("Cannot convert a Symbol value to a string");return o(e)}},6330:function(e){var t=String;e.exports=function(e){try{return t(e)}catch(n){return"Object"}}},9711:function(e,t,n){var r=n(1702),o=0,i=Math.random(),s=r(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++o+i,36)}},3307:function(e,t,n){var r=n(133);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(e,t,n){var r=n(9781),o=n(7293);e.exports=r&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},5112:function(e,t,n){var r=n(7854),o=n(2309),i=n(2597),s=n(9711),c=n(133),u=n(3307),l=o("wks"),a=r.Symbol,f=a&&a["for"],p=u?a:a&&a.withoutSetter||s;e.exports=function(e){if(!i(l,e)||!c&&"string"!=typeof l[e]){var t="Symbol."+e;c&&i(a,e)?l[e]=a[e]:l[e]=u&&f?f(t):p(t)}return l[e]}},9191:function(e,t,n){"use strict";var r=n(5005),o=n(2597),i=n(8880),s=n(7976),c=n(7674),u=n(9920),l=n(2626),a=n(9587),f=n(6277),p=n(8340),d=n(7741),h=n(2914),v=n(9781),m=n(1913);e.exports=function(e,t,n,g){var y="stackTraceLimit",b=g?2:1,_=e.split("."),w=_[_.length-1],x=r.apply(null,_);if(x){var k=x.prototype;if(!m&&o(k,"cause")&&delete k.cause,!n)return x;var S=r("Error"),C=t((function(e,t){var n=f(g?t:e,void 0),r=g?new x(e):new x;return void 0!==n&&i(r,"message",n),h&&i(r,"stack",d(r.stack,2)),this&&s(k,this)&&a(r,this,C),arguments.length>b&&p(r,arguments[b]),r}));if(C.prototype=k,"Error"!==w?c?c(C,S):u(C,S,{name:!0}):v&&y in x&&(l(C,x,y),l(C,x,"prepareStackTrace")),u(C,x),!m)try{k.name!==w&&i(k,"name",w),k.constructor=C}catch(O){}return C}}},6699:function(e,t,n){"use strict";var r=n(2109),o=n(1318).includes,i=n(7293),s=n(1223),c=i((function(){return!Array(1).includes()}));r({target:"Array",proto:!0,forced:c},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),s("includes")},1703:function(e,t,n){var r=n(2109),o=n(7854),i=n(2104),s=n(9191),c="WebAssembly",u=o[c],l=7!==Error("e",{cause:7}).cause,a=function(e,t){var n={};n[e]=s(e,t,l),r({global:!0,constructor:!0,arity:1,forced:l},n)},f=function(e,t){if(u&&u[e]){var n={};n[e]=s(c+"."+e,t,l),r({target:c,stat:!0,constructor:!0,arity:1,forced:l},n)}};a("Error",(function(e){return function(t){return i(e,this,arguments)}})),a("EvalError",(function(e){return function(t){return i(e,this,arguments)}})),a("RangeError",(function(e){return function(t){return i(e,this,arguments)}})),a("ReferenceError",(function(e){return function(t){return i(e,this,arguments)}})),a("SyntaxError",(function(e){return function(t){return i(e,this,arguments)}})),a("TypeError",(function(e){return function(t){return i(e,this,arguments)}})),a("URIError",(function(e){return function(t){return i(e,this,arguments)}})),f("CompileError",(function(e){return function(t){return i(e,this,arguments)}})),f("LinkError",(function(e){return function(t){return i(e,this,arguments)}})),f("RuntimeError",(function(e){return function(t){return i(e,this,arguments)}}))},4870:function(e,t,n){"use strict";n.d(t,{Bj:function(){return i},Fl:function(){return qe},IU:function(){return Re},Jd:function(){return k},PG:function(){return Se},SU:function(){return Ne},Um:function(){return we},WL:function(){return De},X$:function(){return E},X3:function(){return Ee},XI:function(){return Le},Xl:function(){return je},dq:function(){return Ie},iH:function(){return Me},j:function(){return C},lk:function(){return S},qj:function(){return _e},qq:function(){return b},yT:function(){return Oe}});var r=n(7139);let o;class i{constructor(e=!1){this.active=!0,this.effects=[],this.cleanups=[],!e&&o&&(this.parent=o,this.index=(o.scopes||(o.scopes=[])).push(this)-1)}run(e){if(this.active){const t=o;try{return o=this,e()}finally{o=t}}else 0}on(){o=this}off(){o=this.parent}stop(e){if(this.active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},u=e=>(e.w&h)>0,l=e=>(e.n&h)>0,a=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{("length"===t||t>=o)&&l.push(e)}));else switch(void 0!==n&&l.push(u.get(n)),t){case"add":(0,r.kJ)(e)?(0,r.S0)(n)&&l.push(u.get("length")):(l.push(u.get(g)),(0,r._N)(e)&&l.push(u.get(y)));break;case"delete":(0,r.kJ)(e)||(l.push(u.get(g)),(0,r._N)(e)&&l.push(u.get(y)));break;case"set":(0,r._N)(e)&&l.push(u.get(g));break}if(1===l.length)l[0]&&R(l[0]);else{const e=[];for(const t of l)t&&e.push(...t);R(c(e))}}function R(e,t){const n=(0,r.kJ)(e)?e:[...e];for(const r of n)r.computed&&j(r,t);for(const r of n)r.computed||j(r,t)}function j(e,t){(e!==m||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const P=(0,r.fY)("__proto__,__v_isRef,__isVue"),T=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(r.yk)),A=$(),F=$(!1,!0),I=$(!0),M=L();function L(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=Re(this);for(let t=0,o=this.length;t{e[t]=function(...e){k();const n=Re(this)[t].apply(this,e);return S(),n}})),e}function $(e=!1,t=!1){return function(n,o,i){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&i===(e?t?ge:me:t?ve:he).get(n))return n;const s=(0,r.kJ)(n);if(!e&&s&&(0,r.RI)(M,o))return Reflect.get(M,o,i);const c=Reflect.get(n,o,i);return((0,r.yk)(o)?T.has(o):P(o))?c:(e||C(n,"get",o),t?c:Ie(c)?s&&(0,r.S0)(o)?c:c.value:(0,r.Kn)(c)?e?xe(c):_e(c):c)}}const U=J(),N=J(!0);function J(e=!1){return function(t,n,o,i){let s=t[n];if(Ce(s)&&Ie(s)&&!Ie(o))return!1;if(!e&&!Ce(o)&&(Oe(o)||(o=Re(o),s=Re(s)),!(0,r.kJ)(t)&&Ie(s)&&!Ie(o)))return s.value=o,!0;const c=(0,r.kJ)(t)&&(0,r.S0)(n)?Number(n)e,K=e=>Reflect.getPrototypeOf(e);function z(e,t,n=!1,r=!1){e=e["__v_raw"];const o=Re(e),i=Re(t);n||(t!==i&&C(o,"get",t),C(o,"get",i));const{has:s}=K(o),c=r?H:n?Te:Pe;return s.call(o,t)?c(e.get(t)):s.call(o,i)?c(e.get(i)):void(e!==o&&e.get(t))}function X(e,t=!1){const n=this["__v_raw"],r=Re(n),o=Re(e);return t||(e!==o&&C(r,"has",e),C(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Z(e,t=!1){return e=e["__v_raw"],!t&&C(Re(e),"iterate",g),Reflect.get(e,"size",e)}function Y(e){e=Re(e);const t=Re(this),n=K(t),r=n.has.call(t,e);return r||(t.add(e),E(t,"add",e,e)),this}function Q(e,t){t=Re(t);const n=Re(this),{has:o,get:i}=K(n);let s=o.call(n,e);s||(e=Re(e),s=o.call(n,e));const c=i.call(n,e);return n.set(e,t),s?(0,r.aU)(t,c)&&E(n,"set",e,t,c):E(n,"add",e,t),this}function ee(e){const t=Re(this),{has:n,get:r}=K(t);let o=n.call(t,e);o||(e=Re(e),o=n.call(t,e));const i=r?r.call(t,e):void 0,s=t.delete(e);return o&&E(t,"delete",e,void 0,i),s}function te(){const e=Re(this),t=0!==e.size,n=void 0,r=e.clear();return t&&E(e,"clear",void 0,void 0,n),r}function ne(e,t){return function(n,r){const o=this,i=o["__v_raw"],s=Re(i),c=t?H:e?Te:Pe;return!e&&C(s,"iterate",g),i.forEach(((e,t)=>n.call(r,c(e),c(t),o)))}}function re(e,t,n){return function(...o){const i=this["__v_raw"],s=Re(i),c=(0,r._N)(s),u="entries"===e||e===Symbol.iterator&&c,l="keys"===e&&c,a=i[e](...o),f=n?H:t?Te:Pe;return!t&&C(s,"iterate",l?y:g),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:u?[f(e[0]),f(e[1])]:f(e),done:t}},[Symbol.iterator](){return this}}}}function oe(e){return function(...t){return"delete"!==e&&this}}function ie(){const e={get(e){return z(this,e)},get size(){return Z(this)},has:X,add:Y,set:Q,delete:ee,clear:te,forEach:ne(!1,!1)},t={get(e){return z(this,e,!1,!0)},get size(){return Z(this)},has:X,add:Y,set:Q,delete:ee,clear:te,forEach:ne(!1,!0)},n={get(e){return z(this,e,!0)},get size(){return Z(this,!0)},has(e){return X.call(this,e,!0)},add:oe("add"),set:oe("set"),delete:oe("delete"),clear:oe("clear"),forEach:ne(!0,!1)},r={get(e){return z(this,e,!0,!0)},get size(){return Z(this,!0)},has(e){return X.call(this,e,!0)},add:oe("add"),set:oe("set"),delete:oe("delete"),clear:oe("clear"),forEach:ne(!0,!0)},o=["keys","values","entries",Symbol.iterator];return o.forEach((o=>{e[o]=re(o,!1,!1),n[o]=re(o,!0,!1),t[o]=re(o,!1,!0),r[o]=re(o,!0,!0)})),[e,n,t,r]}const[se,ce,ue,le]=ie();function ae(e,t){const n=t?e?le:ue:e?ce:se;return(t,o,i)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get((0,r.RI)(n,o)&&o in t?n:t,o,i)}const fe={get:ae(!1,!1)},pe={get:ae(!1,!0)},de={get:ae(!0,!1)};const he=new WeakMap,ve=new WeakMap,me=new WeakMap,ge=new WeakMap;function ye(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function be(e){return e["__v_skip"]||!Object.isExtensible(e)?0:ye((0,r.W7)(e))}function _e(e){return Ce(e)?e:ke(e,!1,V,fe,he)}function we(e){return ke(e,!1,G,pe,ve)}function xe(e){return ke(e,!0,W,de,me)}function ke(e,t,n,o,i){if(!(0,r.Kn)(e))return e;if(e["__v_raw"]&&(!t||!e["__v_isReactive"]))return e;const s=i.get(e);if(s)return s;const c=be(e);if(0===c)return e;const u=new Proxy(e,2===c?o:n);return i.set(e,u),u}function Se(e){return Ce(e)?Se(e["__v_raw"]):!(!e||!e["__v_isReactive"])}function Ce(e){return!(!e||!e["__v_isReadonly"])}function Oe(e){return!(!e||!e["__v_isShallow"])}function Ee(e){return Se(e)||Ce(e)}function Re(e){const t=e&&e["__v_raw"];return t?Re(t):e}function je(e){return(0,r.Nj)(e,"__v_skip",!0),e}const Pe=e=>(0,r.Kn)(e)?_e(e):e,Te=e=>(0,r.Kn)(e)?xe(e):e;function Ae(e){w&&m&&(e=Re(e),O(e.dep||(e.dep=c())))}function Fe(e,t){e=Re(e),e.dep&&R(e.dep)}function Ie(e){return!(!e||!0!==e.__v_isRef)}function Me(e){return $e(e,!1)}function Le(e){return $e(e,!0)}function $e(e,t){return Ie(e)?e:new Ue(e,t)}class Ue{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Re(e),this._value=t?e:Pe(e)}get value(){return Ae(this),this._value}set value(e){e=this.__v_isShallow?e:Re(e),(0,r.aU)(e,this._rawValue)&&(this._rawValue=e,this._value=this.__v_isShallow?e:Pe(e),Fe(this,e))}}function Ne(e){return Ie(e)?e.value:e}const Je={get:(e,t,n)=>Ne(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Ie(o)&&!Ie(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function De(e){return Se(e)?e:new Proxy(e,Je)}class Be{constructor(e,t,n,r){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new b(e,(()=>{this._dirty||(this._dirty=!0,Fe(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const e=Re(this);return Ae(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function qe(e,t,n=!1){let o,i;const s=(0,r.mf)(e);s?(o=e,i=r.dG):(o=e.get,i=e.set);const c=new Be(o,i,s||!i,n);return c}},3396:function(e,t,n){"use strict";n.d(t,{$d:function(){return s},FN:function(){return mn},Fl:function(){return An},HY:function(){return Mt},JJ:function(){return z},Ko:function(){return De},P$:function(){return se},Q6:function(){return pe},U2:function(){return ue},Uk:function(){return on},Us:function(){return jt},WI:function(){return Be},Wm:function(){return en},Y3:function(){return x},Y8:function(){return re},YP:function(){return Y},_:function(){return Qt},aZ:function(){return de},f3:function(){return X},h:function(){return Fn},iD:function(){return Gt},ic:function(){return Re},j4:function(){return Ht},nK:function(){return fe},uE:function(){return sn},up:function(){return $e},w5:function(){return J},wg:function(){return Dt}});n(6699),n(1703);var r=n(4870),o=n(7139);function i(e,t,n,r){let o;try{o=r?e(...r):e()}catch(i){c(i,t,n)}return o}function s(e,t,n,r){if((0,o.mf)(e)){const s=i(e,t,n,r);return s&&(0,o.tI)(s)&&s.catch((e=>{c(e,t,n)})),s}const u=[];for(let o=0;o>>1,o=A(f[r]);op&&f.splice(t,1)}function E(e,t,n,r){(0,o.kJ)(e)?n.push(...e):t&&t.includes(e,e.allowRecurse?r+1:r)||n.push(e),C()}function R(e){E(e,h,d,v)}function j(e){E(e,g,m,y)}function P(e,t=null){if(d.length){for(w=t,h=[...new Set(d)],d.length=0,v=0;vA(e)-A(t))),y=0;ynull==e.id?1/0:e.id;function F(e){a=!1,l=!0,P(e),f.sort(((e,t)=>A(e)-A(t)));o.dG;try{for(p=0;pe.trim()))),t&&(i=n.map(o.He))}let l;let a=r[l=(0,o.hR)(t)]||r[l=(0,o.hR)((0,o._A)(t))];!a&&c&&(a=r[l=(0,o.hR)((0,o.rs)(t))]),a&&s(a,e,6,i);const f=r[l+"Once"];if(f){if(e.emitted){if(e.emitted[l])return}else e.emitted={};e.emitted[l]=!0,s(f,e,6,i)}}function M(e,t,n=!1){const r=t.emitsCache,i=r.get(e);if(void 0!==i)return i;const s=e.emits;let c={},u=!1;if(!(0,o.mf)(e)){const r=e=>{const n=M(e,t,!0);n&&(u=!0,(0,o.l7)(c,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return s||u?((0,o.kJ)(s)?s.forEach((e=>c[e]=null)):(0,o.l7)(c,s),r.set(e,c),c):(r.set(e,null),null)}function L(e,t){return!(!e||!(0,o.F7)(t))&&(t=t.slice(2).replace(/Once$/,""),(0,o.RI)(e,t[0].toLowerCase()+t.slice(1))||(0,o.RI)(e,(0,o.rs)(t))||(0,o.RI)(e,t))}let $=null,U=null;function N(e){const t=$;return $=e,U=e&&e.type.__scopeId||null,t}function J(e,t=$,n){if(!t)return e;if(e._n)return e;const r=(...n)=>{r._d&&Vt(-1);const o=N(t),i=e(...n);return N(o),r._d&&Vt(1),i};return r._n=!0,r._c=!0,r._d=!0,r}function D(e){const{type:t,vnode:n,proxy:r,withProxy:i,props:s,propsOptions:[u],slots:l,attrs:a,emit:f,render:p,renderCache:d,data:h,setupState:v,ctx:m,inheritAttrs:g}=e;let y,b;const _=N(e);try{if(4&n.shapeFlag){const e=i||r;y=cn(p.call(e,e,d,s,v,h,m)),b=a}else{const e=t;0,y=cn(e.length>1?e(s,{attrs:a,slots:l,emit:f}):e(s,null)),b=t.props?a:B(a)}}catch(x){Nt.length=0,c(x,e,1),y=en($t)}let w=y;if(b&&!1!==g){const e=Object.keys(b),{shapeFlag:t}=w;e.length&&7&t&&(u&&e.some(o.tR)&&(b=q(b,u)),w=rn(w,b))}return n.dirs&&(w=rn(w),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),y=w,N(_),y}const B=e=>{let t;for(const n in e)("class"===n||"style"===n||(0,o.F7)(n))&&((t||(t={}))[n]=e[n]);return t},q=(e,t)=>{const n={};for(const r in e)(0,o.tR)(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function V(e,t,n){const{props:r,children:o,component:i}=e,{props:s,children:c,patchFlag:u}=t,l=i.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&u>=0))return!(!o&&!c||c&&c.$stable)||r!==s&&(r?!s||W(r,s,l):!!s);if(1024&u)return!0;if(16&u)return r?W(r,s,l):!!s;if(8&u){const e=t.dynamicProps;for(let t=0;te.__isSuspense;function K(e,t){t&&t.pendingBranch?(0,o.kJ)(e)?t.effects.push(...e):t.effects.push(e):j(e)}function z(e,t){if(vn){let n=vn.provides;const r=vn.parent&&vn.parent.provides;r===n&&(n=vn.provides=Object.create(r)),n[e]=t}else 0}function X(e,t,n=!1){const r=vn||$;if(r){const i=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return n&&(0,o.mf)(t)?t.call(r.proxy):t}else 0}const Z={};function Y(e,t,n){return Q(e,t,n)}function Q(e,t,{immediate:n,deep:c,flush:u,onTrack:l,onTrigger:a}=o.kT){const f=vn;let p,d,h=!1,v=!1;if((0,r.dq)(e)?(p=()=>e.value,h=(0,r.yT)(e)):(0,r.PG)(e)?(p=()=>e,c=!0):(0,o.kJ)(e)?(v=!0,h=e.some((e=>(0,r.PG)(e)||(0,r.yT)(e))),p=()=>e.map((e=>(0,r.dq)(e)?e.value:(0,r.PG)(e)?ne(e):(0,o.mf)(e)?i(e,f,2):void 0))):p=(0,o.mf)(e)?t?()=>i(e,f,2):()=>{if(!f||!f.isUnmounted)return d&&d(),s(e,f,3,[m])}:o.dG,t&&c){const e=p;p=()=>ne(e())}let m=e=>{d=_.onStop=()=>{i(e,f,4)}};if(xn)return m=o.dG,t?n&&s(t,f,3,[p(),v?[]:void 0,m]):p(),o.dG;let g=v?[]:Z;const y=()=>{if(_.active)if(t){const e=_.run();(c||h||(v?e.some(((e,t)=>(0,o.aU)(e,g[t]))):(0,o.aU)(e,g)))&&(d&&d(),s(t,f,3,[e,g===Z?void 0:g,m]),g=e)}else _.run()};let b;y.allowRecurse=!!t,b="sync"===u?y:"post"===u?()=>Rt(y,f&&f.suspense):()=>R(y);const _=new r.qq(p,b);return t?n?y():g=_.run():"post"===u?Rt(_.run.bind(_),f&&f.suspense):_.run(),()=>{_.stop(),f&&f.scope&&(0,o.Od)(f.scope.effects,_)}}function ee(e,t,n){const r=this.proxy,i=(0,o.HD)(e)?e.includes(".")?te(r,e):()=>r[e]:e.bind(r,r);let s;(0,o.mf)(t)?s=t:(s=t.handler,n=t);const c=vn;gn(this);const u=Q(i,s.bind(r),n);return c?gn(c):yn(),u}function te(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{ne(e,t)}));else if((0,o.PO)(e))for(const n in e)ne(e[n],t);return e}function re(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Oe((()=>{e.isMounted=!0})),je((()=>{e.isUnmounting=!0})),e}const oe=[Function,Array],ie={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:oe,onEnter:oe,onAfterEnter:oe,onEnterCancelled:oe,onBeforeLeave:oe,onLeave:oe,onAfterLeave:oe,onLeaveCancelled:oe,onBeforeAppear:oe,onAppear:oe,onAfterAppear:oe,onAppearCancelled:oe},setup(e,{slots:t}){const n=mn(),o=re();let i;return()=>{const s=t.default&&pe(t.default(),!0);if(!s||!s.length)return;let c=s[0];if(s.length>1){let e=!1;for(const t of s)if(t.type!==$t){0,c=t,e=!0;break}}const u=(0,r.IU)(e),{mode:l}=u;if(o.isLeaving)return le(c);const a=ae(c);if(!a)return le(c);const f=ue(a,u,o,n);fe(a,f);const p=n.subTree,d=p&&ae(p);let h=!1;const{getTransitionKey:v}=a.type;if(v){const e=v();void 0===i?i=e:e!==i&&(i=e,h=!0)}if(d&&d.type!==$t&&(!zt(a,d)||h)){const e=ue(d,u,o,n);if(fe(d,e),"out-in"===l)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,n.update()},le(c);"in-out"===l&&a.type!==$t&&(e.delayLeave=(e,t,n)=>{const r=ce(o,d);r[String(d.key)]=d,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete f.delayedLeave},f.delayedLeave=n})}return c}}},se=ie;function ce(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ue(e,t,n,r){const{appear:i,mode:c,persisted:u=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:f,onEnterCancelled:p,onBeforeLeave:d,onLeave:h,onAfterLeave:v,onLeaveCancelled:m,onBeforeAppear:g,onAppear:y,onAfterAppear:b,onAppearCancelled:_}=t,w=String(e.key),x=ce(n,e),k=(e,t)=>{e&&s(e,r,9,t)},S=(e,t)=>{const n=t[1];k(e,t),(0,o.kJ)(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},C={mode:c,persisted:u,beforeEnter(t){let r=l;if(!n.isMounted){if(!i)return;r=g||l}t._leaveCb&&t._leaveCb(!0);const o=x[w];o&&zt(e,o)&&o.el._leaveCb&&o.el._leaveCb(),k(r,[t])},enter(e){let t=a,r=f,o=p;if(!n.isMounted){if(!i)return;t=y||a,r=b||f,o=_||p}let s=!1;const c=e._enterCb=t=>{s||(s=!0,k(t?o:r,[e]),C.delayedLeave&&C.delayedLeave(),e._enterCb=void 0)};t?S(t,[e,c]):c()},leave(t,r){const o=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return r();k(d,[t]);let i=!1;const s=t._leaveCb=n=>{i||(i=!0,r(),k(n?m:v,[t]),t._leaveCb=void 0,x[o]===e&&delete x[o])};x[o]=e,h?S(h,[t,s]):s()},clone(e){return ue(e,t,n,r)}};return C}function le(e){if(ve(e))return e=rn(e),e.children=null,e}function ae(e){return ve(e)?e.children?e.children[0]:void 0:e}function fe(e,t){6&e.shapeFlag&&e.component?fe(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function pe(e,t=!1,n){let r=[],o=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader;const ve=e=>e.type.__isKeepAlive;RegExp,RegExp;function me(e,t){return(0,o.kJ)(e)?e.some((e=>me(e,t))):(0,o.HD)(e)?e.split(",").includes(t):!!e.test&&e.test(t)}function ge(e,t){be(e,"a",t)}function ye(e,t){be(e,"da",t)}function be(e,t,n=vn){const r=e.__wdc||(e.__wdc=()=>{let t=n;while(t){if(t.isDeactivated)return;t=t.parent}return e()});if(ke(t,r,n),n){let e=n.parent;while(e&&e.parent)ve(e.parent.vnode)&&_e(r,t,n,e),e=e.parent}}function _e(e,t,n,r){const i=ke(t,e,r,!0);Pe((()=>{(0,o.Od)(r[t],i)}),n)}function we(e){let t=e.shapeFlag;256&t&&(t-=256),512&t&&(t-=512),e.shapeFlag=t}function xe(e){return 128&e.shapeFlag?e.ssContent:e}function ke(e,t,n=vn,o=!1){if(n){const i=n[e]||(n[e]=[]),c=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;(0,r.Jd)(),gn(n);const i=s(t,n,e,o);return yn(),(0,r.lk)(),i});return o?i.unshift(c):i.push(c),c}}const Se=e=>(t,n=vn)=>(!xn||"sp"===e)&&ke(e,t,n),Ce=Se("bm"),Oe=Se("m"),Ee=Se("bu"),Re=Se("u"),je=Se("bum"),Pe=Se("um"),Te=Se("sp"),Ae=Se("rtg"),Fe=Se("rtc");function Ie(e,t=vn){ke("ec",e,t)}function Me(e,t,n,o){const i=e.dirs,c=t&&t.dirs;for(let u=0;ut(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);i=new Array(n.length);for(let r=0,o=n.length;r!Kt(e)||e.type!==$t&&!(e.type===Mt&&!qe(e.children))))?e:null}const Ve=e=>e?bn(e)?jn(e)||e.proxy:Ve(e.parent):null,We=(0,o.l7)(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ve(e.parent),$root:e=>Ve(e.root),$emit:e=>e.emit,$options:e=>Ye(e),$forceUpdate:e=>e.f||(e.f=()=>S(e.update)),$nextTick:e=>e.n||(e.n=x.bind(e.proxy)),$watch:e=>ee.bind(e)}),Ge={get({_:e},t){const{ctx:n,setupState:i,data:s,props:c,accessCache:u,type:l,appContext:a}=e;let f;if("$"!==t[0]){const r=u[t];if(void 0!==r)switch(r){case 1:return i[t];case 2:return s[t];case 4:return n[t];case 3:return c[t]}else{if(i!==o.kT&&(0,o.RI)(i,t))return u[t]=1,i[t];if(s!==o.kT&&(0,o.RI)(s,t))return u[t]=2,s[t];if((f=e.propsOptions[0])&&(0,o.RI)(f,t))return u[t]=3,c[t];if(n!==o.kT&&(0,o.RI)(n,t))return u[t]=4,n[t];He&&(u[t]=0)}}const p=We[t];let d,h;return p?("$attrs"===t&&(0,r.j)(e,"get",t),p(e)):(d=l.__cssModules)&&(d=d[t])?d:n!==o.kT&&(0,o.RI)(n,t)?(u[t]=4,n[t]):(h=a.config.globalProperties,(0,o.RI)(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:r,setupState:i,ctx:s}=e;return i!==o.kT&&(0,o.RI)(i,t)?(i[t]=n,!0):r!==o.kT&&(0,o.RI)(r,t)?(r[t]=n,!0):!(0,o.RI)(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:s}},c){let u;return!!n[c]||e!==o.kT&&(0,o.RI)(e,c)||t!==o.kT&&(0,o.RI)(t,c)||(u=s[0])&&(0,o.RI)(u,c)||(0,o.RI)(r,c)||(0,o.RI)(We,c)||(0,o.RI)(i.config.globalProperties,c)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:(0,o.RI)(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let He=!0;function Ke(e){const t=Ye(e),n=e.proxy,i=e.ctx;He=!1,t.beforeCreate&&Xe(t.beforeCreate,e,"bc");const{data:s,computed:c,methods:u,watch:l,provide:a,inject:f,created:p,beforeMount:d,mounted:h,beforeUpdate:v,updated:m,activated:g,deactivated:y,beforeDestroy:b,beforeUnmount:_,destroyed:w,unmounted:x,render:k,renderTracked:S,renderTriggered:C,errorCaptured:O,serverPrefetch:E,expose:R,inheritAttrs:j,components:P,directives:T,filters:A}=t,F=null;if(f&&ze(f,i,F,e.appContext.config.unwrapInjectedRef),u)for(const r in u){const e=u[r];(0,o.mf)(e)&&(i[r]=e.bind(n))}if(s){0;const t=s.call(n,n);0,(0,o.Kn)(t)&&(e.data=(0,r.qj)(t))}if(He=!0,c)for(const r in c){const e=c[r],t=(0,o.mf)(e)?e.bind(n,n):(0,o.mf)(e.get)?e.get.bind(n,n):o.dG;0;const s=!(0,o.mf)(e)&&(0,o.mf)(e.set)?e.set.bind(n):o.dG,u=An({get:t,set:s});Object.defineProperty(i,r,{enumerable:!0,configurable:!0,get:()=>u.value,set:e=>u.value=e})}if(l)for(const r in l)Ze(l[r],i,n,r);if(a){const e=(0,o.mf)(a)?a.call(n):a;Reflect.ownKeys(e).forEach((t=>{z(t,e[t])}))}function I(e,t){(0,o.kJ)(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(p&&Xe(p,e,"c"),I(Ce,d),I(Oe,h),I(Ee,v),I(Re,m),I(ge,g),I(ye,y),I(Ie,O),I(Fe,S),I(Ae,C),I(je,_),I(Pe,x),I(Te,E),(0,o.kJ)(R))if(R.length){const t=e.exposed||(e.exposed={});R.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});k&&e.render===o.dG&&(e.render=k),null!=j&&(e.inheritAttrs=j),P&&(e.components=P),T&&(e.directives=T)}function ze(e,t,n=o.dG,i=!1){(0,o.kJ)(e)&&(e=rt(e));for(const s in e){const n=e[s];let c;c=(0,o.Kn)(n)?"default"in n?X(n.from||s,n.default,!0):X(n.from||s):X(n),(0,r.dq)(c)&&i?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>c.value,set:e=>c.value=e}):t[s]=c}}function Xe(e,t,n){s((0,o.kJ)(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Ze(e,t,n,r){const i=r.includes(".")?te(n,r):()=>n[r];if((0,o.HD)(e)){const n=t[e];(0,o.mf)(n)&&Y(i,n)}else if((0,o.mf)(e))Y(i,e.bind(n));else if((0,o.Kn)(e))if((0,o.kJ)(e))e.forEach((e=>Ze(e,t,n,r)));else{const r=(0,o.mf)(e.handler)?e.handler.bind(n):t[e.handler];(0,o.mf)(r)&&Y(i,r,e)}else 0}function Ye(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,c=i.get(t);let u;return c?u=c:o.length||n||r?(u={},o.length&&o.forEach((e=>Qe(u,e,s,!0))),Qe(u,t,s)):u=t,i.set(t,u),u}function Qe(e,t,n,r=!1){const{mixins:o,extends:i}=t;i&&Qe(e,i,n,!0),o&&o.forEach((t=>Qe(e,t,n,!0)));for(const s in t)if(r&&"expose"===s);else{const r=et[s]||n&&n[s];e[s]=r?r(e[s],t[s]):t[s]}return e}const et={data:tt,props:it,emits:it,methods:it,computed:it,beforeCreate:ot,created:ot,beforeMount:ot,mounted:ot,beforeUpdate:ot,updated:ot,beforeDestroy:ot,beforeUnmount:ot,destroyed:ot,unmounted:ot,activated:ot,deactivated:ot,errorCaptured:ot,serverPrefetch:ot,components:it,directives:it,watch:st,provide:tt,inject:nt};function tt(e,t){return t?e?function(){return(0,o.l7)((0,o.mf)(e)?e.call(this,this):e,(0,o.mf)(t)?t.call(this,this):t)}:t:e}function nt(e,t){return it(rt(e),rt(t))}function rt(e){if((0,o.kJ)(e)){const t={};for(let n=0;n0)||16&u){let r;lt(e,t,s,c)&&(f=!0);for(const i in l)t&&((0,o.RI)(t,i)||(r=(0,o.rs)(i))!==i&&(0,o.RI)(t,r))||(a?!n||void 0===n[i]&&void 0===n[r]||(s[i]=at(a,l,i,void 0,e,!0)):delete s[i]);if(c!==l)for(const e in c)t&&(0,o.RI)(t,e)||(delete c[e],f=!0)}else if(8&u){const n=e.vnode.dynamicProps;for(let r=0;r{l=!0;const[n,r]=ft(e,t,!0);(0,o.l7)(c,n),r&&u.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!s&&!l)return r.set(e,o.Z6),o.Z6;if((0,o.kJ)(s))for(let f=0;f-1,r[1]=n<0||e-1||(0,o.RI)(r,"default"))&&u.push(t)}}}}const a=[c,u];return r.set(e,a),a}function pt(e){return"$"!==e[0]}function dt(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:null===e?"null":""}function ht(e,t){return dt(e)===dt(t)}function vt(e,t){return(0,o.kJ)(t)?t.findIndex((t=>ht(t,e))):(0,o.mf)(t)&&ht(t,e)?0:-1}const mt=e=>"_"===e[0]||"$stable"===e,gt=e=>(0,o.kJ)(e)?e.map(cn):[cn(e)],yt=(e,t,n)=>{if(t._n)return t;const r=J(((...e)=>gt(t(...e))),n);return r._c=!1,r},bt=(e,t,n)=>{const r=e._ctx;for(const i in e){if(mt(i))continue;const n=e[i];if((0,o.mf)(n))t[i]=yt(i,n,r);else if(null!=n){0;const e=gt(n);t[i]=()=>e}}},_t=(e,t)=>{const n=gt(t);e.slots.default=()=>n},wt=(e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=(0,r.IU)(t),(0,o.Nj)(t,"_",n)):bt(t,e.slots={})}else e.slots={},t&&_t(e,t);(0,o.Nj)(e.slots,Xt,1)},xt=(e,t,n)=>{const{vnode:r,slots:i}=e;let s=!0,c=o.kT;if(32&r.shapeFlag){const e=t._;e?n&&1===e?s=!1:((0,o.l7)(i,t),n||1!==e||delete i._):(s=!t.$stable,bt(t,i)),c=t}else t&&(_t(e,t),c={default:1});if(s)for(const o in i)mt(o)||o in c||delete i[o]};function kt(){return{app:null,config:{isNativeTag:o.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let St=0;function Ct(e,t){return function(n,r=null){(0,o.mf)(n)||(n=Object.assign({},n)),null==r||(0,o.Kn)(r)||(r=null);const i=kt(),s=new Set;let c=!1;const u=i.app={_uid:St++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:In,get config(){return i.config},set config(e){0},use(e,...t){return s.has(e)||(e&&(0,o.mf)(e.install)?(s.add(e),e.install(u,...t)):(0,o.mf)(e)&&(s.add(e),e(u,...t))),u},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),u},component(e,t){return t?(i.components[e]=t,u):i.components[e]},directive(e,t){return t?(i.directives[e]=t,u):i.directives[e]},mount(o,s,l){if(!c){0;const a=en(n,r);return a.appContext=i,s&&t?t(a,o):e(a,o,l),c=!0,u._container=o,o.__vue_app__=u,jn(a.component)||a.component.proxy}},unmount(){c&&(e(null,u._container),delete u._container.__vue_app__)},provide(e,t){return i.provides[e]=t,u}};return u}}function Ot(e,t,n,s,c=!1){if((0,o.kJ)(e))return void e.forEach(((e,r)=>Ot(e,t&&((0,o.kJ)(t)?t[r]:t),n,s,c)));if(he(s)&&!c)return;const u=4&s.shapeFlag?jn(s.component)||s.component.proxy:s.el,l=c?null:u,{i:a,r:f}=e;const p=t&&t.r,d=a.refs===o.kT?a.refs={}:a.refs,h=a.setupState;if(null!=p&&p!==f&&((0,o.HD)(p)?(d[p]=null,(0,o.RI)(h,p)&&(h[p]=null)):(0,r.dq)(p)&&(p.value=null)),(0,o.mf)(f))i(f,a,12,[l,d]);else{const t=(0,o.HD)(f),i=(0,r.dq)(f);if(t||i){const r=()=>{if(e.f){const n=t?d[f]:f.value;c?(0,o.kJ)(n)&&(0,o.Od)(n,u):(0,o.kJ)(n)?n.includes(u)||n.push(u):t?(d[f]=[u],(0,o.RI)(h,f)&&(h[f]=d[f])):(f.value=[u],e.k&&(d[e.k]=f.value))}else t?(d[f]=l,(0,o.RI)(h,f)&&(h[f]=l)):i&&(f.value=l,e.k&&(d[e.k]=l))};l?(r.id=-1,Rt(r,n)):r()}else 0}}function Et(){}const Rt=K;function jt(e){return Pt(e)}function Pt(e,t){Et();const n=(0,o.E9)();n.__VUE__=!0;const{insert:i,remove:s,patchProp:c,createElement:u,createText:l,createComment:a,setText:f,setElementText:p,parentNode:d,nextSibling:h,setScopeId:v=o.dG,cloneNode:m,insertStaticContent:g}=e,y=(e,t,n,r=null,o=null,i=null,s=!1,c=null,u=!!t.dynamicChildren)=>{if(e===t)return;e&&!zt(e,t)&&(r=Q(e),K(e,o,i,!0),e=null),-2===t.patchFlag&&(u=!1,t.dynamicChildren=null);const{type:l,ref:a,shapeFlag:f}=t;switch(l){case Lt:b(e,t,n,r);break;case $t:_(e,t,n,r);break;case Ut:null==e&&w(t,n,r,s);break;case Mt:M(e,t,n,r,o,i,s,c,u);break;default:1&f?C(e,t,n,r,o,i,s,c,u):6&f?L(e,t,n,r,o,i,s,c,u):(64&f||128&f)&&l.process(e,t,n,r,o,i,s,c,u,te)}null!=a&&o&&Ot(a,e&&e.ref,i,t||e,!t)},b=(e,t,n,r)=>{if(null==e)i(t.el=l(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},_=(e,t,n,r)=>{null==e?i(t.el=a(t.children||""),n,r):t.el=e.el},w=(e,t,n,r)=>{[e.el,e.anchor]=g(e.children,t,n,r,e.el,e.anchor)},x=({el:e,anchor:t},n,r)=>{let o;while(e&&e!==t)o=h(e),i(e,n,r),e=o;i(t,n,r)},k=({el:e,anchor:t})=>{let n;while(e&&e!==t)n=h(e),s(e),e=n;s(t)},C=(e,t,n,r,o,i,s,c,u)=>{s=s||"svg"===t.type,null==e?E(t,n,r,o,i,s,c,u):A(e,t,o,i,s,c,u)},E=(e,t,n,r,s,l,a,f)=>{let d,h;const{type:v,props:g,shapeFlag:y,transition:b,patchFlag:_,dirs:w}=e;if(e.el&&void 0!==m&&-1===_)d=e.el=m(e.el);else{if(d=e.el=u(e.type,l,g&&g.is,g),8&y?p(d,e.children):16&y&&j(e.children,d,null,r,s,l&&"foreignObject"!==v,a,f),w&&Me(e,null,r,"created"),g){for(const t in g)"value"===t||(0,o.Gg)(t)||c(d,t,null,g[t],l,e.children,r,s,Y);"value"in g&&c(d,"value",null,g.value),(h=g.onVnodeBeforeMount)&&fn(h,r,e)}R(d,e,e.scopeId,a,r)}w&&Me(e,null,r,"beforeMount");const x=(!s||s&&!s.pendingBranch)&&b&&!b.persisted;x&&b.beforeEnter(d),i(d,t,n),((h=g&&g.onVnodeMounted)||x||w)&&Rt((()=>{h&&fn(h,r,e),x&&b.enter(d),w&&Me(e,null,r,"mounted")}),s)},R=(e,t,n,r,o)=>{if(n&&v(e,n),r)for(let i=0;i{for(let l=u;l{const l=t.el=e.el;let{patchFlag:a,dynamicChildren:f,dirs:d}=t;a|=16&e.patchFlag;const h=e.props||o.kT,v=t.props||o.kT;let m;n&&Tt(n,!1),(m=v.onVnodeBeforeUpdate)&&fn(m,n,t,e),d&&Me(t,e,n,"beforeUpdate"),n&&Tt(n,!0);const g=i&&"foreignObject"!==t.type;if(f?F(e.dynamicChildren,f,l,n,r,g,s):u||B(e,t,l,null,n,r,g,s,!1),a>0){if(16&a)I(l,t,h,v,n,r,i);else if(2&a&&h.class!==v.class&&c(l,"class",null,v.class,i),4&a&&c(l,"style",h.style,v.style,i),8&a){const o=t.dynamicProps;for(let t=0;t{m&&fn(m,n,t,e),d&&Me(t,e,n,"updated")}),r)},F=(e,t,n,r,o,i,s)=>{for(let c=0;c{if(n!==r){for(const l in r){if((0,o.Gg)(l))continue;const a=r[l],f=n[l];a!==f&&"value"!==l&&c(e,l,f,a,u,t.children,i,s,Y)}if(n!==o.kT)for(const l in n)(0,o.Gg)(l)||l in r||c(e,l,n[l],null,u,t.children,i,s,Y);"value"in r&&c(e,"value",n.value,r.value)}},M=(e,t,n,r,o,s,c,u,a)=>{const f=t.el=e?e.el:l(""),p=t.anchor=e?e.anchor:l("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:v}=t;v&&(u=u?u.concat(v):v),null==e?(i(f,n,r),i(p,n,r),j(t.children,n,p,o,s,c,u,a)):d>0&&64&d&&h&&e.dynamicChildren?(F(e.dynamicChildren,h,n,o,s,c,u),(null!=t.key||o&&t===o.subTree)&&At(e,t,!0)):B(e,t,n,p,o,s,c,u,a)},L=(e,t,n,r,o,i,s,c,u)=>{t.slotScopeIds=c,null==e?512&t.shapeFlag?o.ctx.activate(t,n,r,s,u):$(t,n,r,o,i,s,u):U(e,t,u)},$=(e,t,n,r,o,i,s)=>{const c=e.component=hn(e,r,o);if(ve(e)&&(c.ctx.renderer=te),kn(c),c.asyncDep){if(o&&o.registerDep(c,N),!e.el){const e=c.subTree=en($t);_(null,e,t,n)}}else N(c,e,t,n,o,i,s)},U=(e,t,n)=>{const r=t.component=e.component;if(V(e,t,n)){if(r.asyncDep&&!r.asyncResolved)return void J(r,t,n);r.next=t,O(r.update),r.update()}else t.el=e.el,r.vnode=t},N=(e,t,n,i,s,c,u)=>{const l=()=>{if(e.isMounted){let t,{next:n,bu:r,u:i,parent:l,vnode:a}=e,f=n;0,Tt(e,!1),n?(n.el=a.el,J(e,n,u)):n=a,r&&(0,o.ir)(r),(t=n.props&&n.props.onVnodeBeforeUpdate)&&fn(t,l,n,a),Tt(e,!0);const p=D(e);0;const h=e.subTree;e.subTree=p,y(h,p,d(h.el),Q(h),e,s,c),n.el=p.el,null===f&&G(e,p.el),i&&Rt(i,s),(t=n.props&&n.props.onVnodeUpdated)&&Rt((()=>fn(t,l,n,a)),s)}else{let r;const{el:u,props:l}=t,{bm:a,m:f,parent:p}=e,d=he(t);if(Tt(e,!1),a&&(0,o.ir)(a),!d&&(r=l&&l.onVnodeBeforeMount)&&fn(r,p,t),Tt(e,!0),u&&re){const n=()=>{e.subTree=D(e),re(u,e.subTree,e,s,null)};d?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{0;const r=e.subTree=D(e);0,y(null,r,n,i,e,s,c),t.el=r.el}if(f&&Rt(f,s),!d&&(r=l&&l.onVnodeMounted)){const e=t;Rt((()=>fn(r,p,e)),s)}(256&t.shapeFlag||p&&he(p.vnode)&&256&p.vnode.shapeFlag)&&e.a&&Rt(e.a,s),e.isMounted=!0,t=n=i=null}},a=e.effect=new r.qq(l,(()=>S(f)),e.scope),f=e.update=()=>a.run();f.id=e.uid,Tt(e,!0),f()},J=(e,t,n)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,ut(e,t.props,o,n),xt(e,t.children,n),(0,r.Jd)(),P(void 0,e.update),(0,r.lk)()},B=(e,t,n,r,o,i,s,c,u=!1)=>{const l=e&&e.children,a=e?e.shapeFlag:0,f=t.children,{patchFlag:d,shapeFlag:h}=t;if(d>0){if(128&d)return void W(l,f,n,r,o,i,s,c,u);if(256&d)return void q(l,f,n,r,o,i,s,c,u)}8&h?(16&a&&Y(l,o,i),f!==l&&p(n,f)):16&a?16&h?W(l,f,n,r,o,i,s,c,u):Y(l,o,i,!0):(8&a&&p(n,""),16&h&&j(f,n,r,o,i,s,c,u))},q=(e,t,n,r,i,s,c,u,l)=>{e=e||o.Z6,t=t||o.Z6;const a=e.length,f=t.length,p=Math.min(a,f);let d;for(d=0;df?Y(e,i,s,!0,!1,p):j(t,n,r,i,s,c,u,l,p)},W=(e,t,n,r,i,s,c,u,l)=>{let a=0;const f=t.length;let p=e.length-1,d=f-1;while(a<=p&&a<=d){const r=e[a],o=t[a]=l?un(t[a]):cn(t[a]);if(!zt(r,o))break;y(r,o,n,null,i,s,c,u,l),a++}while(a<=p&&a<=d){const r=e[p],o=t[d]=l?un(t[d]):cn(t[d]);if(!zt(r,o))break;y(r,o,n,null,i,s,c,u,l),p--,d--}if(a>p){if(a<=d){const e=d+1,o=ed)while(a<=p)K(e[a],i,s,!0),a++;else{const h=a,v=a,m=new Map;for(a=v;a<=d;a++){const e=t[a]=l?un(t[a]):cn(t[a]);null!=e.key&&m.set(e.key,a)}let g,b=0;const _=d-v+1;let w=!1,x=0;const k=new Array(_);for(a=0;a<_;a++)k[a]=0;for(a=h;a<=p;a++){const r=e[a];if(b>=_){K(r,i,s,!0);continue}let o;if(null!=r.key)o=m.get(r.key);else for(g=v;g<=d;g++)if(0===k[g-v]&&zt(r,t[g])){o=g;break}void 0===o?K(r,i,s,!0):(k[o-v]=a+1,o>=x?x=o:w=!0,y(r,t[o],n,null,i,s,c,u,l),b++)}const S=w?Ft(k):o.Z6;for(g=S.length-1,a=_-1;a>=0;a--){const e=v+a,o=t[e],p=e+1{const{el:s,type:c,transition:u,children:l,shapeFlag:a}=e;if(6&a)return void H(e.component.subTree,t,n,r);if(128&a)return void e.suspense.move(t,n,r);if(64&a)return void c.move(e,t,n,te);if(c===Mt){i(s,t,n);for(let e=0;eu.enter(s)),o);else{const{leave:e,delayLeave:r,afterLeave:o}=u,c=()=>i(s,t,n),l=()=>{e(s,(()=>{c(),o&&o()}))};r?r(s,c,l):l()}else i(s,t,n)},K=(e,t,n,r=!1,o=!1)=>{const{type:i,props:s,ref:c,children:u,dynamicChildren:l,shapeFlag:a,patchFlag:f,dirs:p}=e;if(null!=c&&Ot(c,null,n,e,!0),256&a)return void t.ctx.deactivate(e);const d=1&a&&p,h=!he(e);let v;if(h&&(v=s&&s.onVnodeBeforeUnmount)&&fn(v,t,e),6&a)Z(e.component,n,r);else{if(128&a)return void e.suspense.unmount(n,r);d&&Me(e,null,t,"beforeUnmount"),64&a?e.type.remove(e,t,n,o,te,r):l&&(i!==Mt||f>0&&64&f)?Y(l,t,n,!1,!0):(i===Mt&&384&f||!o&&16&a)&&Y(u,t,n),r&&z(e)}(h&&(v=s&&s.onVnodeUnmounted)||d)&&Rt((()=>{v&&fn(v,t,e),d&&Me(e,null,t,"unmounted")}),n)},z=e=>{const{type:t,el:n,anchor:r,transition:o}=e;if(t===Mt)return void X(n,r);if(t===Ut)return void k(e);const i=()=>{s(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,s=()=>t(n,i);r?r(e.el,i,s):s()}else i()},X=(e,t)=>{let n;while(e!==t)n=h(e),s(e),e=n;s(t)},Z=(e,t,n)=>{const{bum:r,scope:i,update:s,subTree:c,um:u}=e;r&&(0,o.ir)(r),i.stop(),s&&(s.active=!1,K(c,e,t,n)),u&&Rt(u,t),Rt((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},Y=(e,t,n,r=!1,o=!1,i=0)=>{for(let s=i;s6&e.shapeFlag?Q(e.component.subTree):128&e.shapeFlag?e.suspense.next():h(e.anchor||e.el),ee=(e,t,n)=>{null==e?t._vnode&&K(t._vnode,null,null,!0):y(t._vnode||null,e,t,null,null,null,n),T(),t._vnode=e},te={p:y,um:K,m:H,r:z,mt:$,mc:j,pc:B,pbc:F,n:Q,o:e};let ne,re;return t&&([ne,re]=t(te)),{render:ee,hydrate:ne,createApp:Ct(ee,ne)}}function Tt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function At(e,t,n=!1){const r=e.children,i=t.children;if((0,o.kJ)(r)&&(0,o.kJ)(i))for(let o=0;o>1,e[n[c]]0&&(t[r]=n[i-1]),n[i]=r)}}i=n.length,s=n[i-1];while(i-- >0)n[i]=s,s=t[s];return n}const It=e=>e.__isTeleport;const Mt=Symbol(void 0),Lt=Symbol(void 0),$t=Symbol(void 0),Ut=Symbol(void 0),Nt=[];let Jt=null;function Dt(e=!1){Nt.push(Jt=e?null:[])}function Bt(){Nt.pop(),Jt=Nt[Nt.length-1]||null}let qt=1;function Vt(e){qt+=e}function Wt(e){return e.dynamicChildren=qt>0?Jt||o.Z6:null,Bt(),qt>0&&Jt&&Jt.push(e),e}function Gt(e,t,n,r,o,i){return Wt(Qt(e,t,n,r,o,i,!0))}function Ht(e,t,n,r,o){return Wt(en(e,t,n,r,o,!0))}function Kt(e){return!!e&&!0===e.__v_isVNode}function zt(e,t){return e.type===t.type&&e.key===t.key}const Xt="__vInternal",Zt=({key:e})=>null!=e?e:null,Yt=({ref:e,ref_key:t,ref_for:n})=>null!=e?(0,o.HD)(e)||(0,r.dq)(e)||(0,o.mf)(e)?{i:$,r:e,k:t,f:!!n}:e:null;function Qt(e,t=null,n=null,r=0,i=null,s=(e===Mt?0:1),c=!1,u=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Zt(t),ref:t&&Yt(t),scopeId:U,slotScopeIds:null,children:n,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:r,dynamicProps:i,dynamicChildren:null,appContext:null};return u?(ln(l,n),128&s&&e.normalize(l)):n&&(l.shapeFlag|=(0,o.HD)(n)?8:16),qt>0&&!c&&Jt&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&Jt.push(l),l}const en=tn;function tn(e,t=null,n=null,i=0,s=null,c=!1){if(e&&e!==Ue||(e=$t),Kt(e)){const r=rn(e,t,!0);return n&&ln(r,n),qt>0&&!c&&Jt&&(6&r.shapeFlag?Jt[Jt.indexOf(e)]=r:Jt.push(r)),r.patchFlag|=-2,r}if(Tn(e)&&(e=e.__vccOpts),t){t=nn(t);let{class:e,style:n}=t;e&&!(0,o.HD)(e)&&(t.class=(0,o.C_)(e)),(0,o.Kn)(n)&&((0,r.X3)(n)&&!(0,o.kJ)(n)&&(n=(0,o.l7)({},n)),t.style=(0,o.j5)(n))}const u=(0,o.HD)(e)?1:H(e)?128:It(e)?64:(0,o.Kn)(e)?4:(0,o.mf)(e)?2:0;return Qt(e,t,n,i,s,u,c,!0)}function nn(e){return e?(0,r.X3)(e)||Xt in e?(0,o.l7)({},e):e:null}function rn(e,t,n=!1){const{props:r,ref:i,patchFlag:s,children:c}=e,u=t?an(r||{},t):r,l={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Zt(u),ref:t&&t.ref?n&&i?(0,o.kJ)(i)?i.concat(Yt(t)):[i,Yt(t)]:Yt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Mt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&rn(e.ssContent),ssFallback:e.ssFallback&&rn(e.ssFallback),el:e.el,anchor:e.anchor};return l}function on(e=" ",t=0){return en(Lt,null,e,t)}function sn(e,t){const n=en(Ut,null,e);return n.staticCount=t,n}function cn(e){return null==e||"boolean"===typeof e?en($t):(0,o.kJ)(e)?en(Mt,null,e.slice()):"object"===typeof e?un(e):en(Lt,null,String(e))}function un(e){return null===e.el||e.memo?e:rn(e)}function ln(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if((0,o.kJ)(t))n=16;else if("object"===typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),ln(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||Xt in t?3===r&&$&&(1===$.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=$}}else(0,o.mf)(t)?(t={default:t,_ctx:$},n=32):(t=String(t),64&r?(n=16,t=[on(t)]):n=8);e.children=t,e.shapeFlag|=n}function an(...e){const t={};for(let n=0;nvn||$,gn=e=>{vn=e,e.scope.on()},yn=()=>{vn&&vn.scope.off(),vn=null};function bn(e){return 4&e.vnode.shapeFlag}let _n,wn,xn=!1;function kn(e,t=!1){xn=t;const{props:n,children:r}=e.vnode,o=bn(e);ct(e,n,o,t),wt(e,r);const i=o?Sn(e,t):void 0;return xn=!1,i}function Sn(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=(0,r.Xl)(new Proxy(e.ctx,Ge));const{setup:s}=n;if(s){const n=e.setupContext=s.length>1?Rn(e):null;gn(e),(0,r.Jd)();const u=i(s,e,0,[e.props,n]);if((0,r.lk)(),yn(),(0,o.tI)(u)){if(u.then(yn,yn),t)return u.then((n=>{Cn(e,n,t)})).catch((t=>{c(t,e,0)}));e.asyncDep=u}else Cn(e,u,t)}else On(e,t)}function Cn(e,t,n){(0,o.mf)(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:(0,o.Kn)(t)&&(e.setupState=(0,r.WL)(t)),On(e,n)}function On(e,t,n){const i=e.type;if(!e.render){if(!t&&_n&&!i.render){const t=i.template;if(t){0;const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:c}=i,u=(0,o.l7)((0,o.l7)({isCustomElement:n,delimiters:s},r),c);i.render=_n(t,u)}}e.render=i.render||o.dG,wn&&wn(e)}gn(e),(0,r.Jd)(),Ke(e),(0,r.lk)(),yn()}function En(e){return new Proxy(e.attrs,{get(t,n){return(0,r.j)(e,"get","$attrs"),t[n]}})}function Rn(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=En(e))},slots:e.slots,emit:e.emit,expose:t}}function jn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(e.exposed)),{get(t,n){return n in t?t[n]:n in We?We[n](e):void 0}}))}function Pn(e,t=!0){return(0,o.mf)(e)?e.displayName||e.name:e.name||t&&e.__name}function Tn(e){return(0,o.mf)(e)&&"__vccOpts"in e}const An=(e,t)=>(0,r.Fl)(e,t,xn);function Fn(e,t,n){const r=arguments.length;return 2===r?(0,o.Kn)(t)&&!(0,o.kJ)(t)?Kt(t)?en(e,null,[t]):en(e,t):en(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Kt(n)&&(n=[n]),en(e,t,n))}Symbol("");const In="3.2.37"},9242:function(e,t,n){"use strict";n.d(t,{ri:function(){return ne}});n(6699);var r=n(7139),o=n(3396);n(4870);const i="http://www.w3.org/2000/svg",s="undefined"!==typeof document?document:null,c=s&&s.createElement("template"),u={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t?s.createElementNS(i,e):s.createElement(e,n?{is:n}:void 0);return"select"===e&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:e=>s.createTextNode(e),createComment:e=>s.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>s.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,r,o,i){const s=n?n.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling)){while(1)if(t.insertBefore(o.cloneNode(!0),n),o===i||!(o=o.nextSibling))break}else{c.innerHTML=r?`${e}`:e;const o=c.content;if(r){const e=o.firstChild;while(e.firstChild)o.appendChild(e.firstChild);o.removeChild(e)}t.insertBefore(o,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function l(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function a(e,t,n){const o=e.style,i=(0,r.HD)(n);if(n&&!i){for(const e in n)p(o,e,n[e]);if(t&&!(0,r.HD)(t))for(const e in t)null==n[e]&&p(o,e,"")}else{const r=o.display;i?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=r)}}const f=/\s*!important$/;function p(e,t,n){if((0,r.kJ)(n))n.forEach((n=>p(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=v(e,t);f.test(n)?e.setProperty((0,r.rs)(o),n.replace(f,""),"important"):e[o]=n}}const d=["Webkit","Moz","ms"],h={};function v(e,t){const n=h[t];if(n)return n;let o=(0,r._A)(t);if("filter"!==o&&o in e)return h[t]=o;o=(0,r.kC)(o);for(let r=0;r{let e=Date.now,t=!1;if("undefined"!==typeof window){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let w=0;const x=Promise.resolve(),k=()=>{w=0},S=()=>w||(x.then(k),w=b());function C(e,t,n,r){e.addEventListener(t,n,r)}function O(e,t,n,r){e.removeEventListener(t,n,r)}function E(e,t,n,r,o=null){const i=e._vei||(e._vei={}),s=i[t];if(r&&s)s.value=r;else{const[n,c]=j(t);if(r){const s=i[t]=P(r,o);C(e,n,s,c)}else s&&(O(e,n,s,c),i[t]=void 0)}}const R=/(?:Once|Passive|Capture)$/;function j(e){let t;if(R.test(e)){let n;t={};while(n=e.match(R))e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[(0,r.rs)(e.slice(2)),t]}function P(e,t){const n=e=>{const r=e.timeStamp||b();(_||r>=n.attached-1)&&(0,o.$d)(T(e,n.value),t,5,[e])};return n.value=e,n.attached=S(),n}function T(e,t){if((0,r.kJ)(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}const A=/^on[a-z]/,F=(e,t,n,o,i=!1,s,c,u,f)=>{"class"===t?l(e,o,i):"style"===t?a(e,n,o):(0,r.F7)(t)?(0,r.tR)(t)||E(e,t,n,o,c):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):I(e,t,o,i))?y(e,t,o,s,c,u,f):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),g(e,t,o,i))};function I(e,t,n,o){return o?"innerHTML"===t||"textContent"===t||!!(t in e&&A.test(t)&&(0,r.mf)(n)):"spellcheck"!==t&&"draggable"!==t&&"translate"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!A.test(t)||!(0,r.HD)(n))&&t in e))))}"undefined"!==typeof HTMLElement&&HTMLElement;const M="transition",L="animation",$=(e,{slots:t})=>(0,o.h)(o.P$,D(e),t);$.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},N=($.props=(0,r.l7)({},o.P$.props,U),(e,t=[])=>{(0,r.kJ)(e)?e.forEach((e=>e(...t))):e&&e(...t)}),J=e=>!!e&&((0,r.kJ)(e)?e.some((e=>e.length>1)):e.length>1);function D(e){const t={};for(const r in e)r in U||(t[r]=e[r]);if(!1===e.css)return t;const{name:n="v",type:o,duration:i,enterFromClass:s=`${n}-enter-from`,enterActiveClass:c=`${n}-enter-active`,enterToClass:u=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:a=c,appearToClass:f=u,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,v=B(i),m=v&&v[0],g=v&&v[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:_,onLeave:w,onLeaveCancelled:x,onBeforeAppear:k=y,onAppear:S=b,onAppearCancelled:C=_}=t,O=(e,t,n)=>{W(e,t?f:u),W(e,t?a:c),n&&n()},E=(e,t)=>{e._isLeaving=!1,W(e,p),W(e,h),W(e,d),t&&t()},R=e=>(t,n)=>{const r=e?S:b,i=()=>O(t,e,n);N(r,[t,i]),G((()=>{W(t,e?l:s),V(t,e?f:u),J(r)||K(t,o,m,i)}))};return(0,r.l7)(t,{onBeforeEnter(e){N(y,[e]),V(e,s),V(e,c)},onBeforeAppear(e){N(k,[e]),V(e,l),V(e,a)},onEnter:R(!1),onAppear:R(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>E(e,t);V(e,p),Y(),V(e,d),G((()=>{e._isLeaving&&(W(e,p),V(e,h),J(w)||K(e,o,g,n))})),N(w,[e,n])},onEnterCancelled(e){O(e,!1),N(_,[e])},onAppearCancelled(e){O(e,!0),N(C,[e])},onLeaveCancelled(e){E(e),N(x,[e])}})}function B(e){if(null==e)return null;if((0,r.Kn)(e))return[q(e.enter),q(e.leave)];{const t=q(e);return[t,t]}}function q(e){const t=(0,r.He)(e);return t}function V(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function W(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function G(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let H=0;function K(e,t,n,r){const o=e._endId=++H,i=()=>{o===e._endId&&r()};if(n)return setTimeout(i,n);const{type:s,timeout:c,propCount:u}=z(e,t);if(!s)return r();const l=s+"end";let a=0;const f=()=>{e.removeEventListener(l,p),i()},p=t=>{t.target===e&&++a>=u&&f()};setTimeout((()=>{a(n[e]||"").split(", "),o=r(M+"Delay"),i=r(M+"Duration"),s=X(o,i),c=r(L+"Delay"),u=r(L+"Duration"),l=X(c,u);let a=null,f=0,p=0;t===M?s>0&&(a=M,f=s,p=i.length):t===L?l>0&&(a=L,f=l,p=u.length):(f=Math.max(s,l),a=f>0?s>l?M:L:null,p=a?a===M?i.length:u.length:0);const d=a===M&&/\b(transform|all)(,|$)/.test(n[M+"Property"]);return{type:a,timeout:f,propCount:p,hasTransform:d}}function X(e,t){while(e.lengthZ(t)+Z(e[n]))))}function Z(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Y(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=(0,r.l7)({patchProp:F},u);let ee;function te(){return ee||(ee=(0,o.Us)(Q))}const ne=(...e)=>{const t=te().createApp(...e);const{mount:n}=t;return t.mount=e=>{const o=re(e);if(!o)return;const i=t._component;(0,r.mf)(i)||i.render||i.template||(i.template=o.innerHTML),o.innerHTML="";const s=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},t};function re(e){if((0,r.HD)(e)){const t=document.querySelector(e);return t}return e}},7139:function(e,t,n){"use strict";function r(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[e.toLowerCase()]:e=>!!n[e]}n.d(t,{C_:function(){return d},DM:function(){return A},E9:function(){return re},F7:function(){return S},Gg:function(){return V},HD:function(){return M},He:function(){return te},Kn:function(){return $},NO:function(){return x},Nj:function(){return ee},Od:function(){return E},PO:function(){return B},Pq:function(){return c},RI:function(){return j},S0:function(){return q},W7:function(){return D},WV:function(){return v},Z6:function(){return _},_A:function(){return H},_N:function(){return T},aU:function(){return Y},dG:function(){return w},e1:function(){return i},fY:function(){return r},hR:function(){return Z},hq:function(){return m},ir:function(){return Q},j5:function(){return l},kC:function(){return X},kJ:function(){return P},kT:function(){return b},l7:function(){return O},mf:function(){return I},rs:function(){return z},tI:function(){return U},tR:function(){return C},yA:function(){return u},yk:function(){return L},zw:function(){return g}});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 s="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",c=r(s);function u(e){return!!e||""===e}function l(e){if(P(e)){const t={};for(let n=0;n{if(e){const n=e.split(f);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function d(e){let t="";if(M(e))t=e;else if(P(e))for(let n=0;nv(e,t)))}const g=e=>M(e)?e:null==e?"":P(e)||$(e)&&(e.toString===N||!I(e.toString))?JSON.stringify(e,y,2):String(e),y=(e,t)=>t&&t.__v_isRef?y(e,t.value):T(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:A(t)?{[`Set(${t.size})`]:[...t.values()]}:!$(t)||P(t)||B(t)?t:String(t),b={},_=[],w=()=>{},x=()=>!1,k=/^on[^a-z]/,S=e=>k.test(e),C=e=>e.startsWith("onUpdate:"),O=Object.assign,E=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},R=Object.prototype.hasOwnProperty,j=(e,t)=>R.call(e,t),P=Array.isArray,T=e=>"[object Map]"===J(e),A=e=>"[object Set]"===J(e),F=e=>"[object Date]"===J(e),I=e=>"function"===typeof e,M=e=>"string"===typeof e,L=e=>"symbol"===typeof e,$=e=>null!==e&&"object"===typeof e,U=e=>$(e)&&I(e.then)&&I(e.catch),N=Object.prototype.toString,J=e=>N.call(e),D=e=>J(e).slice(8,-1),B=e=>"[object Object]"===J(e),q=e=>M(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,V=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),W=e=>{const t=Object.create(null);return n=>{const r=t[n];return r||(t[n]=e(n))}},G=/-(\w)/g,H=W((e=>e.replace(G,((e,t)=>t?t.toUpperCase():"")))),K=/\B([A-Z])/g,z=W((e=>e.replace(K,"-$1").toLowerCase())),X=W((e=>e.charAt(0).toUpperCase()+e.slice(1))),Z=W((e=>e?`on${X(e)}`:"")),Y=(e,t)=>!Object.is(e,t),Q=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},te=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ne;const re=()=>ne||(ne="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},89:function(e,t){"use strict";t.Z=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n}},2482:function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{Z:function(){return r}})},2483:function(e,t,n){"use strict";n.d(t,{PO:function(){return N},p7:function(){return tt}});n(6699),n(1703);var r=n(3396),o=n(4870); -/*! - * vue-router v4.1.2 - * (c) 2022 Eduardo San Martin Morote - * @license MIT - */ -const i="undefined"!==typeof window;function s(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const c=Object.assign;function u(e,t){const n={};for(const r in t){const o=t[r];n[r]=a(o)?o.map(e):e(o)}return n}const l=()=>{},a=Array.isArray;const f=/\/$/,p=e=>e.replace(f,"");function d(e,t,n="/"){let r,o={},i="",s="";const c=t.indexOf("#");let u=t.indexOf("?");return c=0&&(u=-1),u>-1&&(r=t.slice(0,u),i=t.slice(u+1,c>-1?c:t.length),o=e(i)),c>-1&&(r=r||t.slice(0,c),s=t.slice(c,t.length)),r=w(null!=r?r:t,n),{fullPath:r+(i&&"?")+i+s,path:r,query:o,hash:s}}function h(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function v(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function m(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&g(t.matched[r],n.matched[o])&&y(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function g(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function y(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!b(e[n],t[n]))return!1;return!0}function b(e,t){return a(e)?_(e,t):a(t)?_(t,e):e===t}function _(e,t){return a(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}function w(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let o,i,s=n.length-1;for(o=0;o1&&s--}return n.slice(0,s).join("/")+"/"+r.slice(o-(o===r.length?1:0)).join("/")}var x,k;(function(e){e["pop"]="pop",e["push"]="push"})(x||(x={})),function(e){e["back"]="back",e["forward"]="forward",e["unknown"]=""}(k||(k={}));function S(e){if(!e)if(i){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),p(e)}const C=/^[^#]+#/;function O(e,t){return e.replace(C,"#")+t}function E(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const R=()=>({left:window.pageXOffset,top:window.pageYOffset});function j(e){let t;if("el"in e){const n=e.el,r="string"===typeof n&&n.startsWith("#");0;const o="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=E(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.pageXOffset,null!=t.top?t.top:window.pageYOffset)}function P(e,t){const n=history.state?history.state.position-t:-1;return n+e}const T=new Map;function A(e,t){T.set(e,t)}function F(e){const t=T.get(e);return T.delete(e),t}let I=()=>location.protocol+"//"+location.host;function M(e,t){const{pathname:n,search:r,hash:o}=t,i=e.indexOf("#");if(i>-1){let t=o.includes(e.slice(i))?e.slice(i).length:1,n=o.slice(t);return"/"!==n[0]&&(n="/"+n),v(n,"")}const s=v(n,e);return s+r+o}function L(e,t,n,r){let o=[],i=[],s=null;const u=({state:i})=>{const c=M(e,location),u=n.value,l=t.value;let a=0;if(i){if(n.value=c,t.value=i,s&&s===u)return void(s=null);a=l?i.position-l.position:0}else r(c);o.forEach((e=>{e(n.value,u,{delta:a,type:x.pop,direction:a?a>0?k.forward:k.back:k.unknown})}))};function l(){s=n.value}function a(e){o.push(e);const t=()=>{const t=o.indexOf(e);t>-1&&o.splice(t,1)};return i.push(t),t}function f(){const{history:e}=window;e.state&&e.replaceState(c({},e.state,{scroll:R()}),"")}function p(){for(const e of i)e();i=[],window.removeEventListener("popstate",u),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",u),window.addEventListener("beforeunload",f),{pauseListeners:l,listen:a,destroy:p}}function $(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?R():null}}function U(e){const{history:t,location:n}=window,r={value:M(e,n)},o={value:t.state};function i(r,i,s){const c=e.indexOf("#"),u=c>-1?(n.host&&document.querySelector("base")?e:e.slice(c))+r:I()+e+r;try{t[s?"replaceState":"pushState"](i,"",u),o.value=i}catch(l){console.error(l),n[s?"replace":"assign"](u)}}function s(e,n){const s=c({},t.state,$(o.value.back,e,o.value.forward,!0),n,{position:o.value.position});i(e,s,!0),r.value=e}function u(e,n){const s=c({},o.value,t.state,{forward:e,scroll:R()});i(s.current,s,!0);const u=c({},$(r.value,e,null),{position:s.position+1},n);i(e,u,!1),r.value=e}return o.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:r,state:o,push:u,replace:s}}function N(e){e=S(e);const t=U(e),n=L(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}const o=c({location:"",base:e,go:r,createHref:O.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function J(e){return"string"===typeof e||e&&"object"===typeof e}function D(e){return"string"===typeof e||"symbol"===typeof e}const B={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},q=Symbol("");var V;(function(e){e[e["aborted"]=4]="aborted",e[e["cancelled"]=8]="cancelled",e[e["duplicated"]=16]="duplicated"})(V||(V={}));function W(e,t){return c(new Error,{type:e,[q]:!0},t)}function G(e,t){return e instanceof Error&&q in e&&(null==t||!!(e.type&t))}const H="[^/]+?",K={sensitive:!1,strict:!1,start:!0,end:!0},z=/[.+*?^${}()[\]/\\]/g;function X(e,t){const n=c({},K,t),r=[];let o=n.start?"^":"";const i=[];for(const c of e){const e=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let t=0;t1&&(n.endsWith("/")?n=n.slice(0,-1):r=!0)}n+=f}}return n}return{re:s,score:r,keys:i,parse:u,stringify:l}}function Z(e,t){let n=0;while(nt.length?1===t.length&&80===t[0]?1:-1:0}function Y(e,t){let n=0;const r=e.score,o=t.score;while(n0&&t[t.length-1]<0}const ee={type:0,value:""},te=/[a-zA-Z0-9_]/;function ne(e){if(!e)return[[]];if("/"===e)return[[ee]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(e){throw new Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n;const o=[];let i;function s(){i&&o.push(i),i=[]}let c,u=0,l="",a="";function f(){l&&(0===n?i.push({type:0,value:l}):1===n||2===n||3===n?(i.length>1&&("*"===c||"+"===c)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:l,regexp:a,repeatable:"*"===c||"+"===c,optional:"*"===c||"?"===c})):t("Invalid state to consume buffer"),l="")}function p(){l+=c}while(u{s(h)}:l}function s(e){if(D(e)){const t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(s),t.alias.forEach(s))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(s),e.alias.forEach(s))}}function u(){return n}function a(e){let t=0;while(t=0&&(e.record.path!==n[t].record.path||!fe(e,n[t])))t++;n.splice(t,0,e),e.record.name&&!ue(e)&&r.set(e.record.name,e)}function f(e,t){let o,i,s,u={};if("name"in e&&e.name){if(o=r.get(e.name),!o)throw W(1,{location:e});s=o.record.name,u=c(ie(t.params,o.keys.filter((e=>!e.optional)).map((e=>e.name))),e.params),i=o.stringify(u)}else if("path"in e)i=e.path,o=n.find((e=>e.re.test(i))),o&&(u=o.parse(i),s=o.record.name);else{if(o=t.name?r.get(t.name):n.find((e=>e.re.test(t.path))),!o)throw W(1,{location:e,currentLocation:t});s=o.record.name,u=c({},t.params,e.params),i=o.stringify(u)}const l=[];let a=o;while(a)l.unshift(a.record),a=a.parent;return{name:s,path:i,params:u,matched:l,meta:le(l)}}return t=ae({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>i(e))),{addRoute:i,resolve:f,removeRoute:s,getRoutes:u,getRecordMatcher:o}}function ie(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function se(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:ce(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function ce(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]="boolean"===typeof n?n:n[r];return t}function ue(e){while(e){if(e.record.aliasOf)return!0;e=e.parent}return!1}function le(e){return e.reduce(((e,t)=>c(e,t.meta)),{})}function ae(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function fe(e,t){return t.children.some((t=>t===e||fe(e,t)))}const pe=/#/g,de=/&/g,he=/\//g,ve=/=/g,me=/\?/g,ge=/\+/g,ye=/%5B/g,be=/%5D/g,_e=/%5E/g,we=/%60/g,xe=/%7B/g,ke=/%7C/g,Se=/%7D/g,Ce=/%20/g;function Oe(e){return encodeURI(""+e).replace(ke,"|").replace(ye,"[").replace(be,"]")}function Ee(e){return Oe(e).replace(xe,"{").replace(Se,"}").replace(_e,"^")}function Re(e){return Oe(e).replace(ge,"%2B").replace(Ce,"+").replace(pe,"%23").replace(de,"%26").replace(we,"`").replace(xe,"{").replace(Se,"}").replace(_e,"^")}function je(e){return Re(e).replace(ve,"%3D")}function Pe(e){return Oe(e).replace(pe,"%23").replace(me,"%3F")}function Te(e){return null==e?"":Pe(e).replace(he,"%2F")}function Ae(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}function Fe(e){const t={};if(""===e||"?"===e)return t;const n="?"===e[0],r=(n?e.slice(1):e).split("&");for(let o=0;oe&&Re(e))):[r&&Re(r)];o.forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function Me(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=a(r)?r.map((e=>null==e?null:""+e)):null==r?r:""+r)}return t}const Le=Symbol(""),$e=Symbol(""),Ue=Symbol(""),Ne=Symbol(""),Je=Symbol("");function De(){let e=[];function t(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function Be(e,t,n,r,o){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise(((s,c)=>{const u=e=>{!1===e?c(W(4,{from:n,to:t})):e instanceof Error?c(e):J(e)?c(W(2,{from:t,to:e})):(i&&r.enterCallbacks[o]===i&&"function"===typeof e&&i.push(e),s())},l=e.call(r&&r.instances[o],t,n,u);let a=Promise.resolve(l);e.length<3&&(a=a.then(u)),a.catch((e=>c(e)))}))}function qe(e,t,n,r){const o=[];for(const i of e){0;for(const e in i.components){let c=i.components[e];if("beforeRouteEnter"===t||i.instances[e])if(Ve(c)){const s=c.__vccOpts||c,u=s[t];u&&o.push(Be(u,n,r,i,e))}else{let u=c();0,o.push((()=>u.then((o=>{if(!o)return Promise.reject(new Error(`Couldn't resolve component "${e}" at "${i.path}"`));const c=s(o)?o.default:o;i.components[e]=c;const u=c.__vccOpts||c,l=u[t];return l&&Be(l,n,r,i,e)()}))))}}}return o}function Ve(e){return"object"===typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}function We(e){const t=(0,r.f3)(Ue),n=(0,r.f3)(Ne),i=(0,r.Fl)((()=>t.resolve((0,o.SU)(e.to)))),s=(0,r.Fl)((()=>{const{matched:e}=i.value,{length:t}=e,r=e[t-1],o=n.matched;if(!r||!o.length)return-1;const s=o.findIndex(g.bind(null,r));if(s>-1)return s;const c=Xe(e[t-2]);return t>1&&Xe(r)===c&&o[o.length-1].path!==c?o.findIndex(g.bind(null,e[t-2])):s})),c=(0,r.Fl)((()=>s.value>-1&&ze(n.params,i.value.params))),u=(0,r.Fl)((()=>s.value>-1&&s.value===n.matched.length-1&&y(n.params,i.value.params)));function a(n={}){return Ke(n)?t[(0,o.SU)(e.replace)?"replace":"push"]((0,o.SU)(e.to)).catch(l):Promise.resolve()}return{route:i,href:(0,r.Fl)((()=>i.value.href)),isActive:c,isExactActive:u,navigate:a}}const Ge=(0,r.aZ)({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:We,setup(e,{slots:t}){const n=(0,o.qj)(We(e)),{options:i}=(0,r.f3)(Ue),s=(0,r.Fl)((()=>({[Ze(e.activeClass,i.linkActiveClass,"router-link-active")]:n.isActive,[Ze(e.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=t.default&&t.default(n);return e.custom?o:(0,r.h)("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),He=Ge;function Ke(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(void 0===e.button||0===e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ze(e,t){for(const n in t){const r=t[n],o=e[n];if("string"===typeof r){if(r!==o)return!1}else if(!a(o)||o.length!==r.length||r.some(((e,t)=>e!==o[t])))return!1}return!0}function Xe(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ze=(e,t,n)=>null!=e?e:null!=t?t:n,Ye=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const i=(0,r.f3)(Je),s=(0,r.Fl)((()=>e.route||i.value)),u=(0,r.f3)($e,0),l=(0,r.Fl)((()=>{let e=(0,o.SU)(u);const{matched:t}=s.value;let n;while((n=t[e])&&!n.components)e++;return e})),a=(0,r.Fl)((()=>s.value.matched[l.value]));(0,r.JJ)($e,(0,r.Fl)((()=>l.value+1))),(0,r.JJ)(Le,a),(0,r.JJ)(Je,s);const f=(0,o.iH)();return(0,r.YP)((()=>[f.value,a.value,e.name]),(([e,t,n],[r,o,i])=>{t&&(t.instances[n]=e,o&&o!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=o.leaveGuards),t.updateGuards.size||(t.updateGuards=o.updateGuards))),!e||!t||o&&g(t,o)&&r||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=s.value,i=a.value,u=i&&i.components[e.name],l=e.name;if(!u)return Qe(n.default,{Component:u,route:o});const p=i.props[e.name],d=p?!0===p?o.params:"function"===typeof p?p(o):p:null,h=e=>{e.component.isUnmounted&&(i.instances[l]=null)},v=(0,r.h)(u,c({},d,t,{onVnodeUnmounted:h,ref:f}));return Qe(n.default,{Component:v,route:o})||v}}});function Qe(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const et=Ye;function tt(e){const t=oe(e.routes,e),n=e.parseQuery||Fe,s=e.stringifyQuery||Ie,f=e.history;const p=De(),v=De(),g=De(),y=(0,o.XI)(B);let b=B;i&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const _=u.bind(null,(e=>""+e)),w=u.bind(null,Te),k=u.bind(null,Ae);function S(e,n){let r,o;return D(e)?(r=t.getRecordMatcher(e),o=n):o=e,t.addRoute(o,r)}function C(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function O(){return t.getRoutes().map((e=>e.record))}function E(e){return!!t.getRecordMatcher(e)}function T(e,r){if(r=c({},r||y.value),"string"===typeof e){const o=d(n,e,r.path),i=t.resolve({path:o.path},r),s=f.createHref(o.fullPath);return c(o,i,{params:k(i.params),hash:Ae(o.hash),redirectedFrom:void 0,href:s})}let o;if("path"in e)o=c({},e,{path:d(n,e.path,r.path).path});else{const t=c({},e.params);for(const e in t)null==t[e]&&delete t[e];o=c({},e,{params:w(e.params)}),r.params=w(r.params)}const i=t.resolve(o,r),u=e.hash||"";i.params=_(k(i.params));const l=h(s,c({},e,{hash:Ee(u),path:i.path})),a=f.createHref(l);return c({fullPath:l,hash:u,query:s===Ie?Me(e.query):e.query||{}},i,{redirectedFrom:void 0,href:a})}function I(e){return"string"===typeof e?d(n,e,y.value.path):c({},e)}function M(e,t){if(b!==e)return W(8,{from:t,to:e})}function L(e){return N(e)}function $(e){return L(c(I(e),{replace:!0}))}function U(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let r="function"===typeof n?n(e):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=I(r):{path:r},r.params={}),c({query:e.query,hash:e.hash,params:"path"in r?{}:e.params},r)}}function N(e,t){const n=b=T(e),r=y.value,o=e.state,i=e.force,u=!0===e.replace,l=U(n);if(l)return N(c(I(l),{state:o,force:i,replace:u}),t||n);const a=n;let f;return a.redirectedFrom=t,!i&&m(s,r,n)&&(f=W(16,{to:a,from:r}),ne(r,r,!0,!1)),(f?Promise.resolve(f):q(a,r)).catch((e=>G(e)?G(e,2)?e:te(e):Q(e,a,r))).then((e=>{if(e){if(G(e,2))return N(c(I(e.to),{state:o,force:i,replace:u}),t||a)}else e=H(a,r,!0,u,o);return V(a,r,e),e}))}function J(e,t){const n=M(e,t);return n?Promise.reject(n):Promise.resolve()}function q(e,t){let n;const[r,o,i]=rt(e,t);n=qe(r.reverse(),"beforeRouteLeave",e,t);for(const c of r)c.leaveGuards.forEach((r=>{n.push(Be(r,e,t))}));const s=J.bind(null,e,t);return n.push(s),nt(n).then((()=>{n=[];for(const r of p.list())n.push(Be(r,e,t));return n.push(s),nt(n)})).then((()=>{n=qe(o,"beforeRouteUpdate",e,t);for(const r of o)r.updateGuards.forEach((r=>{n.push(Be(r,e,t))}));return n.push(s),nt(n)})).then((()=>{n=[];for(const r of e.matched)if(r.beforeEnter&&!t.matched.includes(r))if(a(r.beforeEnter))for(const o of r.beforeEnter)n.push(Be(o,e,t));else n.push(Be(r.beforeEnter,e,t));return n.push(s),nt(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=qe(i,"beforeRouteEnter",e,t),n.push(s),nt(n)))).then((()=>{n=[];for(const r of v.list())n.push(Be(r,e,t));return n.push(s),nt(n)})).catch((e=>G(e,8)?e:Promise.reject(e)))}function V(e,t,n){for(const r of g.list())r(e,t,n)}function H(e,t,n,r,o){const s=M(e,t);if(s)return s;const u=t===B,l=i?history.state:{};n&&(r||u?f.replace(e.fullPath,c({scroll:u&&l&&l.scroll},o)):f.push(e.fullPath,o)),y.value=e,ne(e,t,n,u),te()}let K;function z(){K||(K=f.listen(((e,t,n)=>{if(!ce.listening)return;const r=T(e),o=U(r);if(o)return void N(c(o,{replace:!0}),r).catch(l);b=r;const s=y.value;i&&A(P(s.fullPath,n.delta),R()),q(r,s).catch((e=>G(e,12)?e:G(e,2)?(N(e.to,r).then((e=>{G(e,20)&&!n.delta&&n.type===x.pop&&f.go(-1,!1)})).catch(l),Promise.reject()):(n.delta&&f.go(-n.delta,!1),Q(e,r,s)))).then((e=>{e=e||H(r,s,!1),e&&(n.delta?f.go(-n.delta,!1):n.type===x.pop&&G(e,20)&&f.go(-1,!1)),V(r,s,e)})).catch(l)})))}let X,Z=De(),Y=De();function Q(e,t,n){te(e);const r=Y.list();return r.length?r.forEach((r=>r(e,t,n))):console.error(e),Promise.reject(e)}function ee(){return X&&y.value!==B?Promise.resolve():new Promise(((e,t)=>{Z.add([e,t])}))}function te(e){return X||(X=!e,z(),Z.list().forEach((([t,n])=>e?n(e):t())),Z.reset()),e}function ne(t,n,o,s){const{scrollBehavior:c}=e;if(!i||!c)return Promise.resolve();const u=!o&&F(P(t.fullPath,0))||(s||!o)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>c(t,n,u))).then((e=>e&&j(e))).catch((e=>Q(e,t,n)))}const re=e=>f.go(e);let ie;const se=new Set,ce={currentRoute:y,listening:!0,addRoute:S,removeRoute:C,hasRoute:E,getRoutes:O,resolve:T,options:e,push:L,replace:$,go:re,back:()=>re(-1),forward:()=>re(1),beforeEach:p.add,beforeResolve:v.add,afterEach:g.add,onError:Y.add,isReady:ee,install(e){const t=this;e.component("RouterLink",He),e.component("RouterView",et),e.config.globalProperties.$router=t,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,o.SU)(y)}),i&&!ie&&y.value===B&&(ie=!0,L(f.location).catch((e=>{0})));const n={};for(const o in B)n[o]=(0,r.Fl)((()=>y.value[o]));e.provide(Ue,t),e.provide(Ne,(0,o.qj)(n)),e.provide(Je,y);const s=e.unmount;se.add(e),e.unmount=function(){se.delete(e),se.size<1&&(b=B,K&&K(),K=null,y.value=B,ie=!1,X=!1),s()}}};return ce}function nt(e){return e.reduce(((e,t)=>e.then((()=>t()))),Promise.resolve())}function rt(e,t){const n=[],r=[],o=[],i=Math.max(t.matched.length,e.matched.length);for(let s=0;sg(e,i)))?r.push(i):n.push(i));const c=e.matched[s];c&&(t.matched.find((e=>g(e,c)))||o.push(c))}return[n,r,o]}}}]); -//# sourceMappingURL=chunk-vendors.43d24a0a.js.map \ No newline at end of file diff --git a/docs/js/chunk-vendors.43d24a0a.js.map b/docs/js/chunk-vendors.43d24a0a.js.map deleted file mode 100644 index 72ee587..0000000 --- a/docs/js/chunk-vendors.43d24a0a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/chunk-vendors.43d24a0a.js","mappings":"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","sources":["webpack://wavelovers/./node_modules/core-js/internals/a-callable.js","webpack://wavelovers/./node_modules/core-js/internals/a-possible-prototype.js","webpack://wavelovers/./node_modules/core-js/internals/add-to-unscopables.js","webpack://wavelovers/./node_modules/core-js/internals/an-object.js","webpack://wavelovers/./node_modules/core-js/internals/array-includes.js","webpack://wavelovers/./node_modules/core-js/internals/classof-raw.js","webpack://wavelovers/./node_modules/core-js/internals/classof.js","webpack://wavelovers/./node_modules/core-js/internals/clear-error-stack.js","webpack://wavelovers/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://wavelovers/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://wavelovers/./node_modules/core-js/internals/create-property-descriptor.js","webpack://wavelovers/./node_modules/core-js/internals/define-built-in.js","webpack://wavelovers/./node_modules/core-js/internals/define-global-property.js","webpack://wavelovers/./node_modules/core-js/internals/descriptors.js","webpack://wavelovers/./node_modules/core-js/internals/document-create-element.js","webpack://wavelovers/./node_modules/core-js/internals/engine-user-agent.js","webpack://wavelovers/./node_modules/core-js/internals/engine-v8-version.js","webpack://wavelovers/./node_modules/core-js/internals/enum-bug-keys.js","webpack://wavelovers/./node_modules/core-js/internals/error-stack-installable.js","webpack://wavelovers/./node_modules/core-js/internals/export.js","webpack://wavelovers/./node_modules/core-js/internals/fails.js","webpack://wavelovers/./node_modules/core-js/internals/function-apply.js","webpack://wavelovers/./node_modules/core-js/internals/function-bind-native.js","webpack://wavelovers/./node_modules/core-js/internals/function-call.js","webpack://wavelovers/./node_modules/core-js/internals/function-name.js","webpack://wavelovers/./node_modules/core-js/internals/function-uncurry-this.js","webpack://wavelovers/./node_modules/core-js/internals/get-built-in.js","webpack://wavelovers/./node_modules/core-js/internals/get-method.js","webpack://wavelovers/./node_modules/core-js/internals/global.js","webpack://wavelovers/./node_modules/core-js/internals/has-own-property.js","webpack://wavelovers/./node_modules/core-js/internals/hidden-keys.js","webpack://wavelovers/./node_modules/core-js/internals/html.js","webpack://wavelovers/./node_modules/core-js/internals/ie8-dom-define.js","webpack://wavelovers/./node_modules/core-js/internals/indexed-object.js","webpack://wavelovers/./node_modules/core-js/internals/inherit-if-required.js","webpack://wavelovers/./node_modules/core-js/internals/inspect-source.js","webpack://wavelovers/./node_modules/core-js/internals/install-error-cause.js","webpack://wavelovers/./node_modules/core-js/internals/internal-state.js","webpack://wavelovers/./node_modules/core-js/internals/is-callable.js","webpack://wavelovers/./node_modules/core-js/internals/is-forced.js","webpack://wavelovers/./node_modules/core-js/internals/is-object.js","webpack://wavelovers/./node_modules/core-js/internals/is-pure.js","webpack://wavelovers/./node_modules/core-js/internals/is-symbol.js","webpack://wavelovers/./node_modules/core-js/internals/length-of-array-like.js","webpack://wavelovers/./node_modules/core-js/internals/make-built-in.js","webpack://wavelovers/./node_modules/core-js/internals/math-trunc.js","webpack://wavelovers/./node_modules/core-js/internals/native-symbol.js","webpack://wavelovers/./node_modules/core-js/internals/native-weak-map.js","webpack://wavelovers/./node_modules/core-js/internals/normalize-string-argument.js","webpack://wavelovers/./node_modules/core-js/internals/object-create.js","webpack://wavelovers/./node_modules/core-js/internals/object-define-properties.js","webpack://wavelovers/./node_modules/core-js/internals/object-define-property.js","webpack://wavelovers/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://wavelovers/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://wavelovers/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://wavelovers/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://wavelovers/./node_modules/core-js/internals/object-keys-internal.js","webpack://wavelovers/./node_modules/core-js/internals/object-keys.js","webpack://wavelovers/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://wavelovers/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://wavelovers/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://wavelovers/./node_modules/core-js/internals/own-keys.js","webpack://wavelovers/./node_modules/core-js/internals/proxy-accessor.js","webpack://wavelovers/./node_modules/core-js/internals/require-object-coercible.js","webpack://wavelovers/./node_modules/core-js/internals/shared-key.js","webpack://wavelovers/./node_modules/core-js/internals/shared-store.js","webpack://wavelovers/./node_modules/core-js/internals/shared.js","webpack://wavelovers/./node_modules/core-js/internals/to-absolute-index.js","webpack://wavelovers/./node_modules/core-js/internals/to-indexed-object.js","webpack://wavelovers/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://wavelovers/./node_modules/core-js/internals/to-length.js","webpack://wavelovers/./node_modules/core-js/internals/to-object.js","webpack://wavelovers/./node_modules/core-js/internals/to-primitive.js","webpack://wavelovers/./node_modules/core-js/internals/to-property-key.js","webpack://wavelovers/./node_modules/core-js/internals/to-string-tag-support.js","webpack://wavelovers/./node_modules/core-js/internals/to-string.js","webpack://wavelovers/./node_modules/core-js/internals/try-to-string.js","webpack://wavelovers/./node_modules/core-js/internals/uid.js","webpack://wavelovers/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://wavelovers/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://wavelovers/./node_modules/core-js/internals/well-known-symbol.js","webpack://wavelovers/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://wavelovers/./node_modules/core-js/modules/es.array.includes.js","webpack://wavelovers/./node_modules/core-js/modules/es.error.cause.js","webpack://wavelovers/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://wavelovers/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://wavelovers/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://wavelovers/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://wavelovers/./node_modules/vue-loader/dist/exportHelper.js","webpack://wavelovers/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wavelovers/./node_modules/vue-router/dist/vue-router.mjs"],"sourcesContent":["var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\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 defineProperty(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 isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\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","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\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 defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\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] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\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 defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.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(it, '') : $Object(it);\n} : $Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","var $TypeError = TypeError;\n\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 shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.23.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.23.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://github.com/tc39/proposal-error-cause\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n if (this.deferStop) {\r\n this.stop();\r\n }\r\n }\r\n }\r\n stop() {\r\n // stopped while running itself - defer the cleanup\r\n if (activeEffect === this) {\r\n this.deferStop = true;\r\n }\r\n else if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n const effects = isArray(dep) ? dep : [...dep];\r\n for (const effect of effects) {\r\n if (effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n for (const effect of effects) {\r\n if (!effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n}\r\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n/*#__PURE__*/\r\nObject.getOwnPropertyNames(Symbol)\r\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\r\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\r\n // function\r\n .filter(key => key !== 'arguments' && key !== 'caller')\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - skip unwrap for Array + integer key.\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n track(rawTarget, \"get\" /* GET */, rawKey);\r\n }\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n track(rawTarget, \"has\" /* HAS */, rawKey);\r\n }\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only specific value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = /*#__PURE__*/ Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, 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 [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\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/core'\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 = /*#__PURE__*/ 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(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (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 if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, 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 > flushIndex) {\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 continue;\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 // flush any pre cbs queued during the flush (e.g. pre watchers)\r\n flushPreFlushCbs();\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 continue;\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 // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\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 ||\r\n pendingPreFlushCbs.length ||\r\n 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 const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\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 return true;\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 getGlobalThis().__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, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).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 newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else 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 // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\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 // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\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\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n 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 emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\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 !(false )) {\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 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 let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\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 handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\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 = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\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 const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\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 cache.set(comp, null);\r\n return 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 cache.set(comp, normalized);\r\n return 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\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\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 disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\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, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\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 }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\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 [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 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 // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\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 setCurrentRenderingInstance(prev);\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 */ | 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 name: 'Suspense',\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, slotScopeIds, 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, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, 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, slotScopeIds, 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, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\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, slotScopeIds);\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, slotScopeIds, optimized, { 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, slotScopeIds, optimized);\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, slotScopeIds, optimized);\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, slotScopeIds, optimized);\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, slotScopeIds, optimized);\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, slotScopeIds, optimized);\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, slotScopeIds, optimized);\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, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\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, slotScopeIds, optimized);\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, slotScopeIds, 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 triggerEvent(vnode, 'onResolve');\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 triggerEvent(vnode, 'onFallback');\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, slotScopeIds, optimized);\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 suspense.isInFallback = true;\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 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, false);\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, slotScopeIds, 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, slotScopeIds, 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, slotScopeIds, 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 const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\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 s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return 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\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\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) {\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 const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\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 isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\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 }\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 }\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 callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\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 let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\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 onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\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; // the scheduler function gets called directly\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 = () => queuePreFlushCb(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (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 if (isPlainObject(value)) {\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 let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\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') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\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' && innerChild.type !== Comment) {\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 callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\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 callAsyncHook(hook, [el, done]);\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 callAsyncHook(onLeave, [el, done]);\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, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of