node-red-contrib-power-saver 2.0.5 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/.github/FUNDING.yml +12 -0
  2. package/CHANGELOG.md +1 -37
  3. package/README.md +3 -191
  4. package/docs/.vuepress/config.js +67 -0
  5. package/docs/.vuepress/dist/404.html +15 -0
  6. package/docs/.vuepress/dist/assets/css/styles.e835bef6.css +8 -0
  7. package/docs/.vuepress/dist/assets/img/back-to-top.8b37f773.svg +1 -0
  8. package/docs/.vuepress/dist/assets/img/elvia-config-no-config.b4bb972c.png +0 -0
  9. package/docs/.vuepress/dist/assets/img/elvia-config-no-tariff.3f89aba8.png +0 -0
  10. package/docs/.vuepress/dist/assets/img/elvia-config-select-tariff.0f73fd56.png +0 -0
  11. package/docs/.vuepress/dist/assets/img/elvia-config-subscription-key.8be8ab8a.png +0 -0
  12. package/docs/.vuepress/dist/assets/img/elvia-flow.bae2a4d5.png +0 -0
  13. package/docs/.vuepress/dist/assets/img/example-flow-1.3ff3e23f.png +0 -0
  14. package/docs/.vuepress/dist/assets/img/example-flow-2.b653b58d.png +0 -0
  15. package/docs/.vuepress/dist/assets/img/migrate-best-save.f73420f6.png +0 -0
  16. package/docs/.vuepress/dist/assets/img/migrate-power-saver.aae13f9d.png +0 -0
  17. package/docs/.vuepress/dist/assets/img/node-power-saver.51ff2e5d.png +0 -0
  18. package/docs/.vuepress/dist/assets/img/node-ps-elvia-add-tariff.94ea2b09.png +0 -0
  19. package/docs/.vuepress/dist/assets/img/node-ps-receive-price.76eaa418.png +0 -0
  20. package/docs/.vuepress/dist/assets/img/node-ps-strategy-best-save.392292d5.png +0 -0
  21. package/docs/.vuepress/dist/assets/img/node-ps-strategy-lowest-price.3a4ad347.png +0 -0
  22. package/docs/.vuepress/dist/assets/img/power-saver-nordpool-current-state.bf14afde.png +0 -0
  23. package/docs/.vuepress/dist/assets/img/power-saver-nordpool-events-state.8c392507.png +0 -0
  24. package/docs/.vuepress/dist/assets/img/power-saver-tibber-mqtt.16891dd2.png +0 -0
  25. package/docs/.vuepress/dist/assets/js/293.5e967839.js +1 -0
  26. package/docs/.vuepress/dist/assets/js/491.c183eba3.js +1 -0
  27. package/docs/.vuepress/dist/assets/js/812.79dad458.js +2 -0
  28. package/docs/.vuepress/dist/assets/js/812.79dad458.js.LICENSE.txt +8 -0
  29. package/docs/.vuepress/dist/assets/js/app.4ee3384b.js +1 -0
  30. package/docs/.vuepress/dist/assets/js/runtime~app.cafd6537.js +1 -0
  31. package/docs/.vuepress/dist/assets/js/v-08683c60.07fe8291.js +1 -0
  32. package/docs/.vuepress/dist/assets/js/v-0aca7ba6.aec5ba75.js +1 -0
  33. package/docs/.vuepress/dist/assets/js/v-0b5e3c8c.d008d8bc.js +1 -0
  34. package/docs/.vuepress/dist/assets/js/v-1ad821fa.85407071.js +1 -0
  35. package/docs/.vuepress/dist/assets/js/v-30acb564.73b8e29f.js +1 -0
  36. package/docs/.vuepress/dist/assets/js/v-3706649a.d7f73384.js +1 -0
  37. package/docs/.vuepress/dist/assets/js/v-4637f9e4.22ab9413.js +1 -0
  38. package/docs/.vuepress/dist/assets/js/v-510ed0d4.204a09ec.js +1 -0
  39. package/docs/.vuepress/dist/assets/js/v-5954bcb2.be07962c.js +1 -0
  40. package/docs/.vuepress/dist/assets/js/v-5db8da3a.ac192f35.js +1 -0
  41. package/docs/.vuepress/dist/assets/js/v-61f728ca.802ab15e.js +1 -0
  42. package/docs/.vuepress/dist/assets/js/v-677dfaed.9bbbd037.js +1 -0
  43. package/docs/.vuepress/dist/assets/js/v-7c87f26e.457a1a60.js +1 -0
  44. package/docs/.vuepress/dist/assets/js/v-8daa1a0e.db8b59c6.js +1 -0
  45. package/docs/.vuepress/dist/assets/js/v-b4a42144.6e0c5aa0.js +1 -0
  46. package/docs/.vuepress/dist/assets/js/v-e8c55052.5f85b6cd.js +1 -0
  47. package/docs/.vuepress/dist/assets/js/v-fffb8e28.e815e852.js +1 -0
  48. package/docs/.vuepress/dist/changelog/index.html +15 -0
  49. package/docs/.vuepress/dist/contribute/index.html +15 -0
  50. package/docs/.vuepress/dist/euro.png +0 -0
  51. package/docs/.vuepress/dist/examples/example-nordpool-current-state.html +169 -0
  52. package/docs/.vuepress/dist/examples/example-nordpool-events-state.html +173 -0
  53. package/docs/.vuepress/dist/examples/example-tibber-mqtt.html +182 -0
  54. package/docs/.vuepress/dist/examples/index.html +15 -0
  55. package/docs/.vuepress/dist/guide/index.html +52 -0
  56. package/docs/.vuepress/dist/index.html +15 -0
  57. package/docs/.vuepress/dist/logo.png +0 -0
  58. package/docs/.vuepress/dist/nodes/index.html +15 -0
  59. package/docs/.vuepress/dist/nodes/old-power-saver-doc.html +97 -0
  60. package/docs/.vuepress/dist/nodes/power-saver.html +15 -0
  61. package/docs/.vuepress/dist/nodes/ps-elvia-add-tariff.html +15 -0
  62. package/docs/.vuepress/dist/nodes/ps-receive-price.html +80 -0
  63. package/docs/.vuepress/dist/nodes/ps-strategy-best-save.html +65 -0
  64. package/docs/.vuepress/dist/nodes/ps-strategy-lowest-price.html +89 -0
  65. package/docs/.vuepress/dist/nodes/strategy-input.html +40 -0
  66. package/docs/.vuepress/public/euro.png +0 -0
  67. package/docs/.vuepress/public/logo.png +0 -0
  68. package/docs/README.md +32 -0
  69. package/docs/changelog/README.md +65 -0
  70. package/docs/contribute/README.md +39 -0
  71. package/docs/examples/README.md +5 -0
  72. package/docs/examples/example-nordpool-current-state.md +166 -0
  73. package/docs/examples/example-nordpool-events-state.md +170 -0
  74. package/docs/examples/example-tibber-mqtt.md +179 -0
  75. package/docs/guide/README.md +202 -0
  76. package/docs/images/all-nodes.png +0 -0
  77. package/docs/images/best-save-config.png +0 -0
  78. package/docs/images/elvia-add-tariff-node-used.png +0 -0
  79. package/docs/images/elvia-config-no-config.png +0 -0
  80. package/docs/images/elvia-config-no-tariff.png +0 -0
  81. package/docs/images/elvia-config-select-tariff.png +0 -0
  82. package/docs/images/elvia-config-subscription-key.png +0 -0
  83. package/docs/images/elvia-flow.png +0 -0
  84. package/docs/images/elvia-tariff-config.png +0 -0
  85. package/docs/images/euro.png +0 -0
  86. package/docs/images/example-flow-1.png +0 -0
  87. package/docs/images/example-flow-2.png +0 -0
  88. package/docs/images/logo.png +0 -0
  89. package/docs/images/lowest-price-config.png +0 -0
  90. package/docs/images/migrate-best-save.png +0 -0
  91. package/docs/images/migrate-power-saver.png +0 -0
  92. package/docs/images/node-power-saver.png +0 -0
  93. package/docs/images/node-ps-elvia-add-tariff.png +0 -0
  94. package/docs/images/node-ps-elvia-tariff-types.png +0 -0
  95. package/docs/images/node-ps-elvia-tariff.png +0 -0
  96. package/docs/images/node-ps-receive-price.png +0 -0
  97. package/docs/images/node-ps-strategy-best-save.png +0 -0
  98. package/docs/images/node-ps-strategy-lowest-price.png +0 -0
  99. package/{doc → docs/images}/node-red-contrib-power-saver-flow.png +0 -0
  100. package/docs/images/power-saver-nordpool-current-state.png +0 -0
  101. package/docs/images/power-saver-nordpool-events-state.png +0 -0
  102. package/docs/images/power-saver-tibber-mqtt.png +0 -0
  103. package/docs/nodes/README.md +53 -0
  104. package/docs/nodes/old-power-saver-doc.md +231 -0
  105. package/docs/nodes/power-saver.md +23 -0
  106. package/docs/nodes/ps-elvia-add-tariff.md +52 -0
  107. package/docs/nodes/ps-receive-price.md +153 -0
  108. package/docs/nodes/ps-strategy-best-save.md +142 -0
  109. package/docs/nodes/ps-strategy-lowest-price.md +165 -0
  110. package/docs/nodes/strategy-input.md +39 -0
  111. package/package.json +19 -4
  112. package/src/elvia/elvia-add-tariff.html +70 -0
  113. package/src/elvia/elvia-add-tariff.js +47 -0
  114. package/src/elvia/elvia-api.js +61 -0
  115. package/src/elvia/elvia-config.html +46 -0
  116. package/src/elvia/elvia-config.js +19 -0
  117. package/src/elvia/elvia-tariff-types.html +34 -0
  118. package/src/elvia/elvia-tariff-types.js +25 -0
  119. package/src/elvia/elvia-tariff.html +89 -0
  120. package/src/elvia/elvia-tariff.js +22 -0
  121. package/src/elvia/icons/elvia_hvite.svg +4 -0
  122. package/src/elvia/icons/elvia_positive_4 copy.svg +4 -0
  123. package/src/handle-input.js +162 -0
  124. package/src/power-saver.html +116 -0
  125. package/{power-saver.js → src/power-saver.js} +90 -72
  126. package/src/receive-price-functions.js +99 -0
  127. package/src/receive-price.html +30 -0
  128. package/src/receive-price.js +21 -0
  129. package/src/strategy-best-save-functions.js +110 -0
  130. package/src/strategy-best-save.html +116 -0
  131. package/src/strategy-best-save.js +95 -0
  132. package/src/strategy-lowest-price-functions.js +35 -0
  133. package/src/strategy-lowest-price.html +168 -0
  134. package/src/strategy-lowest-price.js +125 -0
  135. package/{utils.js → src/utils.js} +59 -104
  136. package/test/data/adjustedResult.js +302 -0
  137. package/test/data/adjustedResult_old.js +154 -0
  138. package/test/data/best-save-result.json +357 -0
  139. package/test/data/converted-prices.json +196 -0
  140. package/test/data/elvia-input-grid-tariff.json +760 -0
  141. package/test/data/elvia-input-power-prices.json +194 -0
  142. package/test/data/elvia-output-add-tariff.json +290 -0
  143. package/test/data/lowest-price-result-cont.json +18 -0
  144. package/test/data/lowest-price-result-split-allday.json +21 -0
  145. package/test/data/lowest-price-result-split-allday10.json +20 -0
  146. package/test/data/lowest-price-result-split.json +20 -0
  147. package/test/data/nordpool-current-state-prices.json +283 -0
  148. package/test/data/nordpool-event-prices.json +574 -0
  149. package/test/data/reconfigResult.js +315 -0
  150. package/test/data/reconfigResult_old.js +141 -0
  151. package/test/data/result.js +1 -0
  152. package/test/data/tibber-prices-single-home.json +64 -0
  153. package/test/data/tibber-prices.json +124 -0
  154. package/test/data/{tibber_result.json → tibber-result.json} +2 -1
  155. package/test/elvia.test.js +26 -0
  156. package/test/mostSavedStrategy.test.js +22 -55
  157. package/test/power-saver.test.js +4 -38
  158. package/test/receive-price-functions.test.js +153 -0
  159. package/test/receive-price.test.js +122 -0
  160. package/test/send-config-input.test.js +121 -0
  161. package/test/strategy-best-save-test-utils.js +32 -0
  162. package/test/strategy-best-save.test.js +103 -0
  163. package/test/strategy-lowest-price-functions.test.js +40 -0
  164. package/test/strategy-lowest-price.test.js +472 -0
  165. package/test/test-utils.js +106 -0
  166. package/test/utils.test.js +53 -163
  167. package/doc/example-nordpool-current-state.md +0 -166
  168. package/doc/example-nordpool-events-state.md +0 -153
  169. package/doc/example-tibber-mqtt.md +0 -189
  170. package/doc/power-saver-nordpool-current-state.png +0 -0
  171. package/doc/power-saver-nordpool-events-state.png +0 -0
  172. package/doc/power-saver-tibber-mqtt.png +0 -0
  173. package/mostSavedStrategy.js +0 -84
  174. package/mostSavedStrategy_v2.js +0 -68
  175. package/power-saver.html +0 -259
  176. package/test/data/tibber_data.json +0 -412
  177. package/test/data/tibber_prices.json +0 -412
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 812.79dad458.js.LICENSE.txt */
2
+ (self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[812],{2262:(e,t,n)=>{"use strict";n.d(t,{Bj:()=>i,qq:()=>b,Fl:()=>Ne,nZ:()=>l,X3:()=>Oe,PG:()=>be,dq:()=>Pe,Xl:()=>Ee,EB:()=>a,Jd:()=>E,WL:()=>Fe,qj:()=>me,OT:()=>ge,iH:()=>xe,lk:()=>S,Um:()=>ve,XI:()=>Ie,IU:()=>_e,BK:()=>ze,j:()=>k,X$:()=>P,SU:()=>Te});var r=n(3577);let o;const s=[];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)try{return this.on(),e()}finally{this.off()}}on(){this.active&&(s.push(this),o=this)}off(){this.active&&(s.pop(),o=s[s.length-1])}stop(e){if(this.active){if(this.effects.forEach((e=>e.stop())),this.cleanups.forEach((e=>e())),this.scopes&&this.scopes.forEach((e=>e.stop(!0))),this.parent&&!e){const e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.active=!1}}}function l(){return o}function a(e){o&&o.cleanups.push(e)}const c=e=>{const t=new Set(e);return t.w=0,t.n=0,t},u=e=>(e.w&h)>0,p=e=>(e.n&h)>0,d=new WeakMap;let f=0,h=1;const m=[];let v;const g=Symbol(""),y=Symbol("");class b{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],function(e,t){(t=t||o)&&t.active&&t.effects.push(e)}(this,n)}run(){if(!this.active)return this.fn();if(!m.includes(this))try{return m.push(v=this),_.push(O),O=!0,h=1<<++f,f<=30?(({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=h})(this):w(this),this.fn()}finally{f<=30&&(e=>{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r<t.length;r++){const o=t[r];u(o)&&!p(o)?o.delete(e):t[n++]=o,o.w&=~h,o.n&=~h}t.length=n}})(this),h=1<<--f,S(),m.pop();const e=m.length;v=e>0?m[e-1]:void 0}}stop(){this.active&&(w(this),this.onStop&&this.onStop(),this.active=!1)}}function w(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let O=!0;const _=[];function E(){_.push(O),O=!1}function S(){const e=_.pop();O=void 0===e||e}function k(e,t,n){if(!C())return;let r=d.get(e);r||d.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=c()),j(o)}function C(){return O&&void 0!==v}function j(e,t){let n=!1;f<=30?p(e)||(e.n|=h,n=!u(e)):n=!e.has(v),n&&(e.add(v),v.deps.push(e))}function P(e,t,n,o,s,i){const l=d.get(e);if(!l)return;let a=[];if("clear"===t)a=[...l.values()];else if("length"===n&&(0,r.kJ)(e))l.forEach(((e,t)=>{("length"===t||t>=o)&&a.push(e)}));else switch(void 0!==n&&a.push(l.get(n)),t){case"add":(0,r.kJ)(e)?(0,r.S0)(n)&&a.push(l.get("length")):(a.push(l.get(g)),(0,r._N)(e)&&a.push(l.get(y)));break;case"delete":(0,r.kJ)(e)||(a.push(l.get(g)),(0,r._N)(e)&&a.push(l.get(y)));break;case"set":(0,r._N)(e)&&a.push(l.get(g))}if(1===a.length)a[0]&&x(a[0]);else{const e=[];for(const t of a)t&&e.push(...t);x(c(e))}}function x(e,t){for(const t of(0,r.kJ)(e)?e:[...e])(t!==v||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const I=(0,r.fY)("__proto__,__v_isRef,__isVue"),A=new Set(Object.getOwnPropertyNames(Symbol).map((e=>Symbol[e])).filter(r.yk)),R=H(),T=H(!1,!0),L=H(!0),F=z();function z(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=_e(this);for(let e=0,t=this.length;e<t;e++)k(n,0,e+"");const r=n[t](...e);return-1===r||!1===r?n[t](...e.map(_e)):r}})),["push","pop","shift","unshift","splice"].forEach((t=>{e[t]=function(...e){E();const n=_e(this)[t].apply(this,e);return S(),n}})),e}function H(e=!1,t=!1){return function(n,o,s){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_raw"===o&&s===(e?t?he:fe:t?de:pe).get(n))return n;const i=(0,r.kJ)(n);if(!e&&i&&(0,r.RI)(F,o))return Reflect.get(F,o,s);const l=Reflect.get(n,o,s);return((0,r.yk)(o)?A.has(o):I(o))?l:(e||k(n,0,o),t?l:Pe(l)?i&&(0,r.S0)(o)?l:l.value:(0,r.Kn)(l)?e?ge(l):me(l):l)}}const M=N(),$=N(!0);function N(e=!1){return function(t,n,o,s){let i=t[n];if(!e&&!we(o)&&(o=_e(o),i=_e(i),!(0,r.kJ)(t)&&Pe(i)&&!Pe(o)))return i.value=o,!0;const l=(0,r.kJ)(t)&&(0,r.S0)(n)?Number(n)<t.length:(0,r.RI)(t,n),a=Reflect.set(t,n,o,s);return t===_e(s)&&(l?(0,r.aU)(o,i)&&P(t,"set",n,o):P(t,"add",n,o)),a}}const U={get:R,set:M,deleteProperty:function(e,t){const n=(0,r.RI)(e,t),o=(e[t],Reflect.deleteProperty(e,t));return o&&n&&P(e,"delete",t,void 0),o},has:function(e,t){const n=Reflect.has(e,t);return(0,r.yk)(t)&&A.has(t)||k(e,0,t),n},ownKeys:function(e){return k(e,0,(0,r.kJ)(e)?"length":g),Reflect.ownKeys(e)}},D={get:L,set:(e,t)=>!0,deleteProperty:(e,t)=>!0},J=(0,r.l7)({},U,{get:T,set:$}),B=e=>e,q=e=>Reflect.getPrototypeOf(e);function V(e,t,n=!1,r=!1){const o=_e(e=e.__v_raw),s=_e(t);t!==s&&!n&&k(o,0,t),!n&&k(o,0,s);const{has:i}=q(o),l=r?B:n?ke:Se;return i.call(o,t)?l(e.get(t)):i.call(o,s)?l(e.get(s)):void(e!==o&&e.get(t))}function W(e,t=!1){const n=this.__v_raw,r=_e(n),o=_e(e);return e!==o&&!t&&k(r,0,e),!t&&k(r,0,o),e===o?n.has(e):n.has(e)||n.has(o)}function G(e,t=!1){return e=e.__v_raw,!t&&k(_e(e),0,g),Reflect.get(e,"size",e)}function Z(e){e=_e(e);const t=_e(this);return q(t).has.call(t,e)||(t.add(e),P(t,"add",e,e)),this}function K(e,t){t=_e(t);const n=_e(this),{has:o,get:s}=q(n);let i=o.call(n,e);i||(e=_e(e),i=o.call(n,e));const l=s.call(n,e);return n.set(e,t),i?(0,r.aU)(t,l)&&P(n,"set",e,t):P(n,"add",e,t),this}function X(e){const t=_e(this),{has:n,get:r}=q(t);let o=n.call(t,e);o||(e=_e(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&P(t,"delete",e,void 0),s}function Y(){const e=_e(this),t=0!==e.size,n=e.clear();return t&&P(e,"clear",void 0,void 0),n}function Q(e,t){return function(n,r){const o=this,s=o.__v_raw,i=_e(s),l=t?B:e?ke:Se;return!e&&k(i,0,g),s.forEach(((e,t)=>n.call(r,l(e),l(t),o)))}}function ee(e,t,n){return function(...o){const s=this.__v_raw,i=_e(s),l=(0,r._N)(i),a="entries"===e||e===Symbol.iterator&&l,c="keys"===e&&l,u=s[e](...o),p=n?B:t?ke:Se;return!t&&k(i,0,c?y:g),{next(){const{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:a?[p(e[0]),p(e[1])]:p(e),done:t}},[Symbol.iterator](){return this}}}}function te(e){return function(...t){return"delete"!==e&&this}}function ne(){const e={get(e){return V(this,e)},get size(){return G(this)},has:W,add:Z,set:K,delete:X,clear:Y,forEach:Q(!1,!1)},t={get(e){return V(this,e,!1,!0)},get size(){return G(this)},has:W,add:Z,set:K,delete:X,clear:Y,forEach:Q(!1,!0)},n={get(e){return V(this,e,!0)},get size(){return G(this,!0)},has(e){return W.call(this,e,!0)},add:te("add"),set:te("set"),delete:te("delete"),clear:te("clear"),forEach:Q(!0,!1)},r={get(e){return V(this,e,!0,!0)},get size(){return G(this,!0)},has(e){return W.call(this,e,!0)},add:te("add"),set:te("set"),delete:te("delete"),clear:te("clear"),forEach:Q(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((o=>{e[o]=ee(o,!1,!1),n[o]=ee(o,!0,!1),t[o]=ee(o,!1,!0),r[o]=ee(o,!0,!0)})),[e,n,t,r]}const[re,oe,se,ie]=ne();function le(e,t){const n=t?e?ie:se:e?oe:re;return(t,o,s)=>"__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,s)}const ae={get:le(!1,!1)},ce={get:le(!1,!0)},ue={get:le(!0,!1)},pe=new WeakMap,de=new WeakMap,fe=new WeakMap,he=new WeakMap;function me(e){return e&&e.__v_isReadonly?e:ye(e,!1,U,ae,pe)}function ve(e){return ye(e,!1,J,ce,de)}function ge(e){return ye(e,!0,D,ue,fe)}function ye(e,t,n,o,s){if(!(0,r.Kn)(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const i=s.get(e);if(i)return i;const l=(a=e).__v_skip||!Object.isExtensible(a)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((0,r.W7)(a));var a;if(0===l)return e;const c=new Proxy(e,2===l?o:n);return s.set(e,c),c}function be(e){return we(e)?be(e.__v_raw):!(!e||!e.__v_isReactive)}function we(e){return!(!e||!e.__v_isReadonly)}function Oe(e){return be(e)||we(e)}function _e(e){const t=e&&e.__v_raw;return t?_e(t):e}function Ee(e){return(0,r.Nj)(e,"__v_skip",!0),e}const Se=e=>(0,r.Kn)(e)?me(e):e,ke=e=>(0,r.Kn)(e)?ge(e):e;function Ce(e){C()&&((e=_e(e)).dep||(e.dep=c()),j(e.dep))}function je(e,t){(e=_e(e)).dep&&x(e.dep)}function Pe(e){return Boolean(e&&!0===e.__v_isRef)}function xe(e){return Ae(e,!1)}function Ie(e){return Ae(e,!0)}function Ae(e,t){return Pe(e)?e:new Re(e,t)}class Re{constructor(e,t){this._shallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:_e(e),this._value=t?e:Se(e)}get value(){return Ce(this),this._value}set value(e){e=this._shallow?e:_e(e),(0,r.aU)(e,this._rawValue)&&(this._rawValue=e,this._value=this._shallow?e:Se(e),je(this))}}function Te(e){return Pe(e)?e.value:e}const Le={get:(e,t,n)=>Te(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Pe(o)&&!Pe(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Fe(e){return be(e)?e:new Proxy(e,Le)}function ze(e){const t=(0,r.kJ)(e)?new Array(e.length):{};for(const n in e)t[n]=Me(e,n);return t}class He{constructor(e,t){this._object=e,this._key=t,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(e){this._object[this._key]=e}}function Me(e,t){const n=e[t];return Pe(n)?n:new He(e,t)}class $e{constructor(e,t,n){this._setter=t,this.dep=void 0,this._dirty=!0,this.__v_isRef=!0,this.effect=new b(e,(()=>{this._dirty||(this._dirty=!0,je(this))})),this.__v_isReadonly=n}get value(){const e=_e(this);return Ce(e),e._dirty&&(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function Ne(e,t){let n,o;const s=(0,r.mf)(e);return s?(n=e,o=r.dG):(n=e.get,o=e.set),new $e(n,o,s||!o)}Promise.resolve()},6252:(e,t,n)=>{"use strict";n.d(t,{nZ:()=>r.nZ,EB:()=>r.EB,iH:()=>r.iH,XI:()=>r.XI,SU:()=>r.SU,P$:()=>O,HY:()=>Fe,$d:()=>Ct,j4:()=>Ve,kq:()=>rt,iD:()=>qe,_:()=>Ye,Eo:()=>je,uE:()=>nt,Uk:()=>tt,Wm:()=>Qe,RC:()=>I,aZ:()=>P,FN:()=>gt,Q6:()=>j,h:()=>tn,f3:()=>y,dG:()=>lt,Y3:()=>Ut,Jd:()=>J,bv:()=>N,Ah:()=>B,ic:()=>D,wg:()=>Ue,JJ:()=>g,Ko:()=>at,WI:()=>ct,up:()=>Re,U2:()=>E,nK:()=>C,Y8:()=>b,YP:()=>Kt,w5:()=>p,wy:()=>ge});var r=n(2262),o=n(3577);function s(e,t,...n){const r=e.vnode.props||o.kT;let s=n;const i=t.startsWith("update:"),l=i&&t.slice(7);if(l&&l in r){const e=`${"modelValue"===l?"model":l}Modifiers`,{number:t,trim:i}=r[e]||o.kT;i?s=n.map((e=>e.trim())):t&&(s=n.map(o.He))}let a,c=r[a=(0,o.hR)(t)]||r[a=(0,o.hR)((0,o._A)(t))];!c&&i&&(c=r[a=(0,o.hR)((0,o.rs)(t))]),c&&Ct(c,e,6,s);const u=r[a+"Once"];if(u){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,Ct(u,e,6,s)}}function i(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(void 0!==s)return s;const l=e.emits;let a={},c=!1;if(!(0,o.mf)(e)){const r=e=>{const n=i(e,t,!0);n&&(c=!0,(0,o.l7)(a,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return l||c?((0,o.kJ)(l)?l.forEach((e=>a[e]=null)):(0,o.l7)(a,l),r.set(e,a),a):(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))}new Set,new Map;let a=null,c=null;function u(e){const t=a;return a=e,c=e&&e.type.__scopeId||null,t}function p(e,t=a,n){if(!t)return e;if(e._n)return e;const r=(...n)=>{r._d&&Je(-1);const o=u(t),s=e(...n);return u(o),r._d&&Je(1),s};return r._n=!0,r._c=!0,r._d=!0,r}function d(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:i,propsOptions:[l],slots:a,attrs:c,emit:p,render:d,renderCache:m,data:v,setupState:g,ctx:y,inheritAttrs:b}=e;let w,O;const _=u(e);try{if(4&n.shapeFlag){const e=s||r;w=ot(d.call(e,e,m,i,g,v,y)),O=c}else{const e=t;w=ot(e.length>1?e(i,{attrs:c,slots:a,emit:p}):e(i,null)),O=t.props?c:f(c)}}catch(t){$e.length=0,jt(t,e,1),w=Qe(He)}let E=w;if(O&&!1!==b){const e=Object.keys(O),{shapeFlag:t}=E;e.length&&7&t&&(l&&e.some(o.tR)&&(O=h(O,l)),E=et(E,O))}return n.dirs&&(E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&(E.transition=n.transition),w=E,u(_),w}const f=e=>{let t;for(const n in e)("class"===n||"style"===n||(0,o.F7)(n))&&((t||(t={}))[n]=e[n]);return t},h=(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 m(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let o=0;o<r.length;o++){const s=r[o];if(t[s]!==e[s]&&!l(n,s))return!0}return!1}function v(e,t){t&&t.pendingBranch?(0,o.kJ)(e)?t.effects.push(...e):t.effects.push(e):Bt(e,zt,Ft,Ht)}function g(e,t){if(vt){let n=vt.provides;const r=vt.parent&&vt.parent.provides;r===n&&(n=vt.provides=Object.create(r)),n[e]=t}}function y(e,t,n=!1){const r=vt||a;if(r){const s=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(s&&e in s)return s[e];if(arguments.length>1)return n&&(0,o.mf)(t)?t.call(r.proxy):t}}function b(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return N((()=>{e.isMounted=!0})),J((()=>{e.isUnmounting=!0})),e}const w=[Function,Array],O={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:w,onEnter:w,onAfterEnter:w,onEnterCancelled:w,onBeforeLeave:w,onLeave:w,onAfterLeave:w,onLeaveCancelled:w,onBeforeAppear:w,onAppear:w,onAfterAppear:w,onAppearCancelled:w},setup(e,{slots:t}){const n=gt(),o=b();let s;return()=>{const i=t.default&&j(t.default(),!0);if(!i||!i.length)return;const l=(0,r.IU)(e),{mode:a}=l,c=i[0];if(o.isLeaving)return S(c);const u=k(c);if(!u)return S(c);const p=E(u,l,o,n);C(u,p);const d=n.subTree,f=d&&k(d);let h=!1;const{getTransitionKey:m}=u.type;if(m){const e=m();void 0===s?s=e:e!==s&&(s=e,h=!0)}if(f&&f.type!==He&&(!Ge(u,f)||h)){const e=E(f,l,o,n);if(C(f,e),"out-in"===a)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,n.update()},S(c);"in-out"===a&&u.type!==He&&(e.delayLeave=(e,t,n)=>{_(o,f)[String(f.key)]=f,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete p.delayedLeave},p.delayedLeave=n})}return c}}};function _(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 E(e,t,n,r){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:p,onLeave:d,onAfterLeave:f,onLeaveCancelled:h,onBeforeAppear:m,onAppear:v,onAfterAppear:g,onAppearCancelled:y}=t,b=String(e.key),w=_(n,e),O=(e,t)=>{e&&Ct(e,r,9,t)},S={mode:s,persisted:i,beforeEnter(t){let r=l;if(!n.isMounted){if(!o)return;r=m||l}t._leaveCb&&t._leaveCb(!0);const s=w[b];s&&Ge(e,s)&&s.el._leaveCb&&s.el._leaveCb(),O(r,[t])},enter(e){let t=a,r=c,s=u;if(!n.isMounted){if(!o)return;t=v||a,r=g||c,s=y||u}let i=!1;const l=e._enterCb=t=>{i||(i=!0,O(t?s:r,[e]),S.delayedLeave&&S.delayedLeave(),e._enterCb=void 0)};t?(t(e,l),t.length<=1&&l()):l()},leave(t,r){const o=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return r();O(p,[t]);let s=!1;const i=t._leaveCb=n=>{s||(s=!0,r(),O(n?h:f,[t]),t._leaveCb=void 0,w[o]===e&&delete w[o])};w[o]=e,d?(d(t,i),d.length<=1&&i()):i()},clone:e=>E(e,t,n,r)};return S}function S(e){if(R(e))return(e=et(e)).children=null,e}function k(e){return R(e)?e.children?e.children[0]:void 0:e}function C(e,t){6&e.shapeFlag&&e.component?C(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 j(e,t=!1){let n=[],r=0;for(let o=0;o<e.length;o++){const s=e[o];s.type===Fe?(128&s.patchFlag&&r++,n=n.concat(j(s.children,t))):(t||s.type!==He)&&n.push(s)}if(r>1)for(let e=0;e<n.length;e++)n[e].patchFlag=-2;return n}function P(e){return(0,o.mf)(e)?{setup:e,name:e.name}:e}const x=e=>!!e.type.__asyncLoader;function I(e){(0,o.mf)(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:i=200,timeout:l,suspensible:a=!0,onError:c}=e;let u,p=null,d=0;const f=()=>{let e;return p||(e=p=t().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),c)return new Promise(((t,n)=>{c(e,(()=>t((d++,p=null,f()))),(()=>n(e)),d+1)}));throw e})).then((t=>e!==p&&p?p:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),u=t,t))))};return P({name:"AsyncComponentWrapper",__asyncLoader:f,get __asyncResolved(){return u},setup(){const e=vt;if(u)return()=>A(u,e);const t=t=>{p=null,jt(t,e,13,!s)};if(a&&e.suspense||Ot)return f().then((t=>()=>A(t,e))).catch((e=>(t(e),()=>s?Qe(s,{error:e}):null)));const o=(0,r.iH)(!1),c=(0,r.iH)(),d=(0,r.iH)(!!i);return i&&setTimeout((()=>{d.value=!1}),i),null!=l&&setTimeout((()=>{if(!o.value&&!c.value){const e=new Error(`Async component timed out after ${l}ms.`);t(e),c.value=e}}),l),f().then((()=>{o.value=!0,e.parent&&R(e.parent.vnode)&&Dt(e.parent.update)})).catch((e=>{t(e),c.value=e})),()=>o.value&&u?A(u,e):c.value&&s?Qe(s,{error:c.value}):n&&!d.value?Qe(n):void 0}})}function A(e,{vnode:{ref:t,props:n,children:r}}){const o=Qe(e,n,r);return o.ref=t,o}const R=e=>e.type.__isKeepAlive;function T(e,t){F(e,"a",t)}function L(e,t){F(e,"da",t)}function F(e,t,n=vt){const r=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(H(t,r,n),n){let e=n.parent;for(;e&&e.parent;)R(e.parent.vnode)&&z(r,t,n,e),e=e.parent}}function z(e,t,n,r){const s=H(t,e,r,!0);B((()=>{(0,o.Od)(r[t],s)}),n)}function H(e,t,n=vt,o=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;(0,r.Jd)(),yt(n);const s=Ct(t,n,e,o);return bt(),(0,r.lk)(),s});return o?s.unshift(i):s.push(i),i}}RegExp,RegExp;const M=e=>(t,n=vt)=>(!Ot||"sp"===e)&&H(e,t,n),$=M("bm"),N=M("m"),U=M("bu"),D=M("u"),J=M("bum"),B=M("um"),q=M("sp"),V=M("rtg"),W=M("rtc");function G(e,t=vt){H("ec",e,t)}let Z=!0;function K(e,t,n){Ct((0,o.kJ)(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function X(e,t,n,r){const s=r.includes(".")?Qt(n,r):()=>n[r];if((0,o.HD)(e)){const n=t[e];(0,o.mf)(n)&&Kt(s,n)}else if((0,o.mf)(e))Kt(s,e.bind(n));else if((0,o.Kn)(e))if((0,o.kJ)(e))e.forEach((e=>X(e,t,n,r)));else{const r=(0,o.mf)(e.handler)?e.handler.bind(n):t[e.handler];(0,o.mf)(r)&&Kt(s,r,e)}}function Y(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let a;return l?a=l:o.length||n||r?(a={},o.length&&o.forEach((e=>Q(a,e,i,!0))),Q(a,t,i)):a=t,s.set(t,a),a}function Q(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Q(e,s,n,!0),o&&o.forEach((t=>Q(e,t,n,!0)));for(const o in t)if(r&&"expose"===o);else{const r=ee[o]||n&&n[o];e[o]=r?r(e[o],t[o]):t[o]}return e}const ee={data:te,props:oe,emits:oe,methods:oe,computed:oe,beforeCreate:re,created:re,beforeMount:re,mounted:re,beforeUpdate:re,updated:re,beforeDestroy:re,beforeUnmount:re,destroyed:re,unmounted:re,activated:re,deactivated:re,errorCaptured:re,serverPrefetch:re,components:oe,directives:oe,watch:function(e,t){if(!e)return t;if(!t)return e;const n=(0,o.l7)(Object.create(null),e);for(const r in t)n[r]=re(e[r],t[r]);return n},provide:te,inject:function(e,t){return oe(ne(e),ne(t))}};function te(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 ne(e){if((0,o.kJ)(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function re(e,t){return e?[...new Set([].concat(e,t))]:t}function oe(e,t){return e?(0,o.l7)((0,o.l7)(Object.create(null),e),t):t}function se(e,t,n,s){const[i,a]=e.propsOptions;let c,u=!1;if(t)for(let r in t){if((0,o.Gg)(r))continue;const p=t[r];let d;i&&(0,o.RI)(i,d=(0,o._A)(r))?a&&a.includes(d)?(c||(c={}))[d]=p:n[d]=p:l(e.emitsOptions,r)||p!==s[r]&&(s[r]=p,u=!0)}if(a){const t=(0,r.IU)(n),s=c||o.kT;for(let r=0;r<a.length;r++){const l=a[r];n[l]=ie(i,t,l,s[l],e,!(0,o.RI)(s,l))}}return u}function ie(e,t,n,r,s,i){const l=e[n];if(null!=l){const e=(0,o.RI)(l,"default");if(e&&void 0===r){const e=l.default;if(l.type!==Function&&(0,o.mf)(e)){const{propsDefaults:o}=s;n in o?r=o[n]:(yt(s),r=o[n]=e.call(null,t),bt())}else r=e}l[0]&&(i&&!e?r=!1:!l[1]||""!==r&&r!==(0,o.rs)(n)||(r=!0))}return r}function le(e,t,n=!1){const r=t.propsCache,s=r.get(e);if(s)return s;const i=e.props,l={},a=[];let c=!1;if(!(0,o.mf)(e)){const r=e=>{c=!0;const[n,r]=le(e,t,!0);(0,o.l7)(l,n),r&&a.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!i&&!c)return r.set(e,o.Z6),o.Z6;if((0,o.kJ)(i))for(let e=0;e<i.length;e++){const t=(0,o._A)(i[e]);ae(t)&&(l[t]=o.kT)}else if(i)for(const e in i){const t=(0,o._A)(e);if(ae(t)){const n=i[e],r=l[t]=(0,o.kJ)(n)||(0,o.mf)(n)?{type:n}:n;if(r){const e=pe(Boolean,r.type),n=pe(String,r.type);r[0]=e>-1,r[1]=n<0||e<n,(e>-1||(0,o.RI)(r,"default"))&&a.push(t)}}}const u=[l,a];return r.set(e,u),u}function ae(e){return"$"!==e[0]}function ce(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:null===e?"null":""}function ue(e,t){return ce(e)===ce(t)}function pe(e,t){return(0,o.kJ)(t)?t.findIndex((t=>ue(t,e))):(0,o.mf)(t)&&ue(t,e)?0:-1}const de=e=>"_"===e[0]||"$stable"===e,fe=e=>(0,o.kJ)(e)?e.map(ot):[ot(e)],he=(e,t,n)=>{const r=p(((...e)=>fe(t(...e))),n);return r._c=!1,r},me=(e,t,n)=>{const r=e._ctx;for(const n in e){if(de(n))continue;const s=e[n];if((0,o.mf)(s))t[n]=he(0,s,r);else if(null!=s){const e=fe(s);t[n]=()=>e}}},ve=(e,t)=>{const n=fe(t);e.slots.default=()=>n};function ge(e,t){if(null===a)return e;const n=a.proxy,r=e.dirs||(e.dirs=[]);for(let e=0;e<t.length;e++){let[s,i,l,a=o.kT]=t[e];(0,o.mf)(s)&&(s={mounted:s,updated:s}),s.deep&&en(i),r.push({dir:s,instance:n,value:i,oldValue:void 0,arg:l,modifiers:a})}return e}function ye(e,t,n,o){const s=e.dirs,i=t&&t.dirs;for(let l=0;l<s.length;l++){const a=s[l];i&&(a.oldValue=i[l].value);let c=a.dir[o];c&&((0,r.Jd)(),Ct(c,n,8,[e.el,a,e,t]),(0,r.lk)())}}function be(){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 we=0;function Oe(e,t){return function(n,r=null){null==r||(0,o.Kn)(r)||(r=null);const s=be(),i=new Set;let l=!1;const a=s.app={_uid:we++,_component:n,_props:r,_container:null,_context:s,_instance:null,version:nn,get config(){return s.config},set config(e){},use:(e,...t)=>(i.has(e)||(e&&(0,o.mf)(e.install)?(i.add(e),e.install(a,...t)):(0,o.mf)(e)&&(i.add(e),e(a,...t))),a),mixin:e=>(s.mixins.includes(e)||s.mixins.push(e),a),component:(e,t)=>t?(s.components[e]=t,a):s.components[e],directive:(e,t)=>t?(s.directives[e]=t,a):s.directives[e],mount(o,i,c){if(!l){const u=Qe(n,r);return u.appContext=s,i&&t?t(u,o):e(u,o,c),l=!0,a._container=o,o.__vue_app__=a,St(u.component)||u.component.proxy}},unmount(){l&&(e(null,a._container),delete a._container.__vue_app__)},provide:(e,t)=>(s.provides[e]=t,a)};return a}}let _e=!1;const Ee=e=>/svg/.test(e.namespaceURI)&&"foreignObject"!==e.tagName,Se=e=>8===e.nodeType;function ke(e){const{mt:t,p:n,o:{patchProp:r,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:c}}=e,u=(n,r,o,l,a,c=!1)=>{const v=Se(n)&&"["===n.data,g=()=>h(n,r,o,l,a,v),{type:y,ref:b,shapeFlag:w}=r,O=n.nodeType;r.el=n;let _=null;switch(y){case ze:3!==O?_=g():(n.data!==r.children&&(_e=!0,n.data=r.children),_=s(n));break;case He:_=8!==O||v?g():s(n);break;case Me:if(1===O){_=n;const e=!r.children.length;for(let t=0;t<r.staticCount;t++)e&&(r.children+=_.outerHTML),t===r.staticCount-1&&(r.anchor=_),_=s(_);return _}_=g();break;case Fe:_=v?f(n,r,o,l,a,c):g();break;default:if(1&w)_=1!==O||r.type.toLowerCase()!==n.tagName.toLowerCase()?g():p(n,r,o,l,a,c);else if(6&w){r.slotScopeIds=a;const e=i(n);if(t(r,e,null,o,l,Ee(e),c),_=v?m(n):s(n),x(r)){let t;v?(t=Qe(Fe),t.anchor=_?_.previousSibling:e.lastChild):t=3===n.nodeType?tt(""):Qe("div"),t.el=n,r.component.subTree=t}}else 64&w?_=8!==O?g():r.type.hydrate(n,r,o,l,a,c,e,d):128&w&&(_=r.type.hydrate(n,r,o,l,Ee(i(n)),a,c,e,u))}return null!=b&&Pe(b,null,l,r),_},p=(e,t,n,s,i,a)=>{a=a||!!t.dynamicChildren;const{type:c,props:u,patchFlag:p,shapeFlag:f,dirs:h}=t,m="input"===c&&h||"option"===c;if(m||-1!==p){if(h&&ye(t,null,n,"created"),u)if(m||!a||48&p)for(const t in u)(m&&t.endsWith("value")||(0,o.F7)(t)&&!(0,o.Gg)(t))&&r(e,t,null,u[t],!1,void 0,n);else u.onClick&&r(e,"onClick",null,u.onClick,!1,void 0,n);let c;if((c=u&&u.onVnodeBeforeMount)&&xe(c,n,t),h&&ye(t,null,n,"beforeMount"),((c=u&&u.onVnodeMounted)||h)&&v((()=>{c&&xe(c,n,t),h&&ye(t,null,n,"mounted")}),s),16&f&&(!u||!u.innerHTML&&!u.textContent)){let r=d(e.firstChild,t,e,n,s,i,a);for(;r;){_e=!0;const e=r;r=r.nextSibling,l(e)}}else 8&f&&e.textContent!==t.children&&(_e=!0,e.textContent=t.children)}return e.nextSibling},d=(e,t,r,o,s,i,l)=>{l=l||!!t.dynamicChildren;const a=t.children,c=a.length;for(let t=0;t<c;t++){const c=l?a[t]:a[t]=ot(a[t]);if(e)e=u(e,c,o,s,i,l);else{if(c.type===ze&&!c.children)continue;_e=!0,n(null,c,r,null,o,s,Ee(r),i)}}return e},f=(e,t,n,r,o,l)=>{const{slotScopeIds:u}=t;u&&(o=o?o.concat(u):u);const p=i(e),f=d(s(e),t,p,n,r,o,l);return f&&Se(f)&&"]"===f.data?s(t.anchor=f):(_e=!0,a(t.anchor=c("]"),p,f),f)},h=(e,t,r,o,a,c)=>{if(_e=!0,t.el=null,c){const t=m(e);for(;;){const n=s(e);if(!n||n===t)break;l(n)}}const u=s(e),p=i(e);return l(e),n(null,t,p,u,r,o,Ee(p),a),u},m=e=>{let t=0;for(;e;)if((e=s(e))&&Se(e)&&("["===e.data&&t++,"]"===e.data)){if(0===t)return s(e);t--}return e};return[(e,t)=>{if(!t.hasChildNodes())return n(null,e,t),void Vt();_e=!1,u(t.firstChild,e,null,null,null),Vt(),_e&&console.error("Hydration completed but contains mismatches.")},u]}const Ce=v;function je(e){return function(e,t){(0,o.E9)().__VUE__=!0;const{insert:n,remove:a,patchProp:c,createElement:u,createText:p,createComment:f,setText:h,setElementText:v,parentNode:g,nextSibling:y,setScopeId:b=o.dG,cloneNode:w,insertStaticContent:O}=e,_=(e,t,n,r=null,o=null,s=null,i=!1,l=null,a=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ge(e,t)&&(r=X(e),V(e,o,s,!0),e=null),-2===t.patchFlag&&(a=!1,t.dynamicChildren=null);const{type:c,ref:u,shapeFlag:p}=t;switch(c){case ze:E(e,t,n,r);break;case He:S(e,t,n,r);break;case Me:null==e&&k(t,n,r,i);break;case Fe:z(e,t,n,r,o,s,i,l,a);break;default:1&p?j(e,t,n,r,o,s,i,l,a):6&p?H(e,t,n,r,o,s,i,l,a):(64&p||128&p)&&c.process(e,t,n,r,o,s,i,l,a,Q)}null!=u&&o&&Pe(u,e&&e.ref,s,t||e,!t)},E=(e,t,r,o)=>{if(null==e)n(t.el=p(t.children),r,o);else{const n=t.el=e.el;t.children!==e.children&&h(n,t.children)}},S=(e,t,r,o)=>{null==e?n(t.el=f(t.children||""),r,o):t.el=e.el},k=(e,t,n,r)=>{[e.el,e.anchor]=O(e.children,t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=y(e),a(e),e=n;a(t)},j=(e,t,n,r,o,s,i,l,a)=>{i=i||"svg"===t.type,null==e?P(t,n,r,o,s,i,l,a):T(e,t,o,s,i,l,a)},P=(e,t,r,s,i,l,a,p)=>{let d,f;const{type:h,props:m,shapeFlag:g,transition:y,patchFlag:b,dirs:O}=e;if(e.el&&void 0!==w&&-1===b)d=e.el=w(e.el);else{if(d=e.el=u(e.type,l,m&&m.is,m),8&g?v(d,e.children):16&g&&A(e.children,d,null,s,i,l&&"foreignObject"!==h,a,p),O&&ye(e,null,s,"created"),m){for(const t in m)"value"===t||(0,o.Gg)(t)||c(d,t,null,m[t],l,e.children,s,i,K);"value"in m&&c(d,"value",null,m.value),(f=m.onVnodeBeforeMount)&&xe(f,s,e)}I(d,e,e.scopeId,a,s)}O&&ye(e,null,s,"beforeMount");const _=(!i||i&&!i.pendingBranch)&&y&&!y.persisted;_&&y.beforeEnter(d),n(d,t,r),((f=m&&m.onVnodeMounted)||_||O)&&Ce((()=>{f&&xe(f,s,e),_&&y.enter(d),O&&ye(e,null,s,"mounted")}),i)},I=(e,t,n,r,o)=>{if(n&&b(e,n),r)for(let t=0;t<r.length;t++)b(e,r[t]);if(o&&t===o.subTree){const t=o.vnode;I(e,t,t.scopeId,t.slotScopeIds,o.parent)}},A=(e,t,n,r,o,s,i,l,a=0)=>{for(let c=a;c<e.length;c++){const a=e[c]=l?st(e[c]):ot(e[c]);_(null,a,t,n,r,o,s,i,l)}},T=(e,t,n,r,s,i,l)=>{const a=t.el=e.el;let{patchFlag:u,dynamicChildren:p,dirs:d}=t;u|=16&e.patchFlag;const f=e.props||o.kT,h=t.props||o.kT;let m;(m=h.onVnodeBeforeUpdate)&&xe(m,n,t,e),d&&ye(t,e,n,"beforeUpdate");const g=s&&"foreignObject"!==t.type;if(p?L(e.dynamicChildren,p,a,n,r,g,i):l||D(e,t,a,null,n,r,g,i,!1),u>0){if(16&u)F(a,t,f,h,n,r,s);else if(2&u&&f.class!==h.class&&c(a,"class",null,h.class,s),4&u&&c(a,"style",f.style,h.style,s),8&u){const o=t.dynamicProps;for(let t=0;t<o.length;t++){const i=o[t],l=f[i],u=h[i];u===l&&"value"!==i||c(a,i,l,u,s,e.children,n,r,K)}}1&u&&e.children!==t.children&&v(a,t.children)}else l||null!=p||F(a,t,f,h,n,r,s);((m=h.onVnodeUpdated)||d)&&Ce((()=>{m&&xe(m,n,t,e),d&&ye(t,e,n,"updated")}),r)},L=(e,t,n,r,o,s,i)=>{for(let l=0;l<t.length;l++){const a=e[l],c=t[l],u=a.el&&(a.type===Fe||!Ge(a,c)||70&a.shapeFlag)?g(a.el):n;_(a,c,u,null,r,o,s,i,!0)}},F=(e,t,n,r,s,i,l)=>{if(n!==r){for(const a in r){if((0,o.Gg)(a))continue;const u=r[a],p=n[a];u!==p&&"value"!==a&&c(e,a,p,u,l,t.children,s,i,K)}if(n!==o.kT)for(const a in n)(0,o.Gg)(a)||a in r||c(e,a,n[a],null,l,t.children,s,i,K);"value"in r&&c(e,"value",n.value,r.value)}},z=(e,t,r,o,s,i,l,a,c)=>{const u=t.el=e?e.el:p(""),d=t.anchor=e?e.anchor:p("");let{patchFlag:f,dynamicChildren:h,slotScopeIds:m}=t;m&&(a=a?a.concat(m):m),null==e?(n(u,r,o),n(d,r,o),A(t.children,r,d,s,i,l,a,c)):f>0&&64&f&&h&&e.dynamicChildren?(L(e.dynamicChildren,h,r,s,i,l,a),(null!=t.key||s&&t===s.subTree)&&Ie(e,t,!0)):D(e,t,r,d,s,i,l,a,c)},H=(e,t,n,r,o,s,i,l,a)=>{t.slotScopeIds=l,null==e?512&t.shapeFlag?o.ctx.activate(t,n,r,i,a):M(t,n,r,o,s,i,a):$(e,t,a)},M=(e,t,n,l,a,c,u)=>{const p=e.component=function(e,t,n){const l=e.type,a=(t?t.appContext:e.appContext)||ht,c={uid:mt++,vnode:e,type:l,parent:t,appContext:a,root:null,next:null,subTree:null,update:null,scope:new r.Bj(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:le(l,a),emitsOptions:i(l,a),emit:null,emitted:null,propsDefaults:o.kT,inheritAttrs:l.inheritAttrs,ctx:o.kT,data:o.kT,props:o.kT,attrs:o.kT,slots:o.kT,refs:o.kT,setupState:o.kT,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return c.ctx={_:c},c.root=t?t.root:c,c.emit=s.bind(null,c),e.ce&&e.ce(c),c}(e,l,a);if(R(e)&&(p.ctx.renderer=Q),function(e,t=!1){Ot=t;const{props:n,children:s}=e.vnode,i=wt(e);!function(e,t,n,s=!1){const i={},l={};(0,o.Nj)(l,Ze,1),e.propsDefaults=Object.create(null),se(e,t,i,l);for(const t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=s?i:(0,r.Um)(i):e.type.props?e.props=i:e.props=l,e.attrs=l}(e,n,i,t),((e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=(0,r.IU)(t),(0,o.Nj)(t,"_",n)):me(t,e.slots={})}else e.slots={},t&&ve(e,t);(0,o.Nj)(e.slots,Ze,1)})(e,s);const l=i?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=(0,r.Xl)(new Proxy(e.ctx,ft));const{setup:s}=n;if(s){const n=e.setupContext=s.length>1?function(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=function(e){return new Proxy(e.attrs,{get:(t,n)=>((0,r.j)(e,"get","$attrs"),t[n])})}(e))},slots:e.slots,emit:e.emit,expose:t}}(e):null;yt(e),(0,r.Jd)();const i=kt(s,e,0,[e.props,n]);if((0,r.lk)(),bt(),(0,o.tI)(i)){if(i.then(bt,bt),t)return i.then((n=>{_t(e,n,t)})).catch((t=>{jt(t,e,0)}));e.asyncDep=i}else _t(e,i,t)}else Et(e,t)}(e,t):void 0;Ot=!1}(p),p.asyncDep){if(a&&a.registerDep(p,N),!e.el){const e=p.subTree=Qe(He);S(null,e,t,n)}}else N(p,e,t,n,a,c,u)},$=(e,t,n)=>{const r=t.component=e.component;if(function(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:a,patchFlag:c}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&c>=0))return!(!o&&!a||a&&a.$stable)||r!==i&&(r?!i||m(r,i,u):!!i);if(1024&c)return!0;if(16&c)return r?m(r,i,u):!!i;if(8&c){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const n=e[t];if(i[n]!==r[n]&&!l(u,n))return!0}}return!1}(e,t,n)){if(r.asyncDep&&!r.asyncResolved)return void U(r,t,n);r.next=t,function(e){const t=It.indexOf(e);t>At&&It.splice(t,1)}(r.update),r.update()}else t.component=e.component,t.el=e.el,r.vnode=t},N=(e,t,n,s,i,l,a)=>{const c=new r.qq((()=>{if(e.isMounted){let t,{next:n,bu:r,u:s,parent:u,vnode:p}=e,f=n;c.allowRecurse=!1,n?(n.el=p.el,U(e,n,a)):n=p,r&&(0,o.ir)(r),(t=n.props&&n.props.onVnodeBeforeUpdate)&&xe(t,u,n,p),c.allowRecurse=!0;const h=d(e),m=e.subTree;e.subTree=h,_(m,h,g(m.el),X(m),e,i,l),n.el=h.el,null===f&&function({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}(e,h.el),s&&Ce(s,i),(t=n.props&&n.props.onVnodeUpdated)&&Ce((()=>xe(t,u,n,p)),i)}else{let r;const{el:a,props:u}=t,{bm:p,m:f,parent:h}=e,m=x(t);if(c.allowRecurse=!1,p&&(0,o.ir)(p),!m&&(r=u&&u.onVnodeBeforeMount)&&xe(r,h,t),c.allowRecurse=!0,a&&te){const n=()=>{e.subTree=d(e),te(a,e.subTree,e,i,null)};m?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const r=e.subTree=d(e);_(null,r,n,s,e,i,l),t.el=r.el}if(f&&Ce(f,i),!m&&(r=u&&u.onVnodeMounted)){const e=t;Ce((()=>xe(r,h,e)),i)}256&t.shapeFlag&&e.a&&Ce(e.a,i),e.isMounted=!0,t=n=s=null}}),(()=>Dt(e.update)),e.scope),u=e.update=c.run.bind(c);u.id=e.uid,c.allowRecurse=u.allowRecurse=!0,u()},U=(e,t,n)=>{t.component=e;const s=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,s){const{props:i,attrs:l,vnode:{patchFlag:a}}=e,c=(0,r.IU)(i),[u]=e.propsOptions;let p=!1;if(!(s||a>0)||16&a){let r;se(e,t,i,l)&&(p=!0);for(const s in c)t&&((0,o.RI)(t,s)||(r=(0,o.rs)(s))!==s&&(0,o.RI)(t,r))||(u?!n||void 0===n[s]&&void 0===n[r]||(i[s]=ie(u,c,s,void 0,e,!0)):delete i[s]);if(l!==c)for(const e in l)t&&(0,o.RI)(t,e)||(delete l[e],p=!0)}else if(8&a){const n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let s=n[r];const a=t[s];if(u)if((0,o.RI)(l,s))a!==l[s]&&(l[s]=a,p=!0);else{const t=(0,o._A)(s);i[t]=ie(u,c,t,a,e,!1)}else a!==l[s]&&(l[s]=a,p=!0)}}p&&(0,r.X$)(e,"set","$attrs")}(e,t.props,s,n),((e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,l=o.kT;if(32&r.shapeFlag){const e=t._;e?n&&1===e?i=!1:((0,o.l7)(s,t),n||1!==e||delete s._):(i=!t.$stable,me(t,s)),l=t}else t&&(ve(e,t),l={default:1});if(i)for(const e in s)de(e)||e in l||delete s[e]})(e,t.children,n),(0,r.Jd)(),qt(void 0,e.update),(0,r.lk)()},D=(e,t,n,r,o,s,i,l,a=!1)=>{const c=e&&e.children,u=e?e.shapeFlag:0,p=t.children,{patchFlag:d,shapeFlag:f}=t;if(d>0){if(128&d)return void B(c,p,n,r,o,s,i,l,a);if(256&d)return void J(c,p,n,r,o,s,i,l,a)}8&f?(16&u&&K(c,o,s),p!==c&&v(n,p)):16&u?16&f?B(c,p,n,r,o,s,i,l,a):K(c,o,s,!0):(8&u&&v(n,""),16&f&&A(p,n,r,o,s,i,l,a))},J=(e,t,n,r,s,i,l,a,c)=>{e=e||o.Z6,t=t||o.Z6;const u=e.length,p=t.length,d=Math.min(u,p);let f;for(f=0;f<d;f++){const r=t[f]=c?st(t[f]):ot(t[f]);_(e[f],r,n,null,s,i,l,a,c)}u>p?K(e,s,i,!0,!1,d):A(t,n,r,s,i,l,a,c,d)},B=(e,t,n,r,s,i,l,a,c)=>{let u=0;const p=t.length;let d=e.length-1,f=p-1;for(;u<=d&&u<=f;){const r=e[u],o=t[u]=c?st(t[u]):ot(t[u]);if(!Ge(r,o))break;_(r,o,n,null,s,i,l,a,c),u++}for(;u<=d&&u<=f;){const r=e[d],o=t[f]=c?st(t[f]):ot(t[f]);if(!Ge(r,o))break;_(r,o,n,null,s,i,l,a,c),d--,f--}if(u>d){if(u<=f){const e=f+1,o=e<p?t[e].el:r;for(;u<=f;)_(null,t[u]=c?st(t[u]):ot(t[u]),n,o,s,i,l,a,c),u++}}else if(u>f)for(;u<=d;)V(e[u],s,i,!0),u++;else{const h=u,m=u,v=new Map;for(u=m;u<=f;u++){const e=t[u]=c?st(t[u]):ot(t[u]);null!=e.key&&v.set(e.key,u)}let g,y=0;const b=f-m+1;let w=!1,O=0;const E=new Array(b);for(u=0;u<b;u++)E[u]=0;for(u=h;u<=d;u++){const r=e[u];if(y>=b){V(r,s,i,!0);continue}let o;if(null!=r.key)o=v.get(r.key);else for(g=m;g<=f;g++)if(0===E[g-m]&&Ge(r,t[g])){o=g;break}void 0===o?V(r,s,i,!0):(E[o-m]=u+1,o>=O?O=o:w=!0,_(r,t[o],n,null,s,i,l,a,c),y++)}const S=w?function(e){const t=e.slice(),n=[0];let r,o,s,i,l;const a=e.length;for(r=0;r<a;r++){const a=e[r];if(0!==a){if(o=n[n.length-1],e[o]<a){t[r]=o,n.push(r);continue}for(s=0,i=n.length-1;s<i;)l=s+i>>1,e[n[l]]<a?s=l+1:i=l;a<e[n[s]]&&(s>0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}(E):o.Z6;for(g=S.length-1,u=b-1;u>=0;u--){const e=m+u,o=t[e],d=e+1<p?t[e+1].el:r;0===E[u]?_(null,o,n,d,s,i,l,a,c):w&&(g<0||u!==S[g]?q(o,n,d,2):g--)}}},q=(e,t,r,o,s=null)=>{const{el:i,type:l,transition:a,children:c,shapeFlag:u}=e;if(6&u)q(e.component.subTree,t,r,o);else if(128&u)e.suspense.move(t,r,o);else if(64&u)l.move(e,t,r,Q);else if(l!==Fe)if(l!==Me)if(2!==o&&1&u&&a)if(0===o)a.beforeEnter(i),n(i,t,r),Ce((()=>a.enter(i)),s);else{const{leave:e,delayLeave:o,afterLeave:s}=a,l=()=>n(i,t,r),c=()=>{e(i,(()=>{l(),s&&s()}))};o?o(i,l,c):c()}else n(i,t,r);else(({el:e,anchor:t},r,o)=>{let s;for(;e&&e!==t;)s=y(e),n(e,r,o),e=s;n(t,r,o)})(e,t,r);else{n(i,t,r);for(let e=0;e<c.length;e++)q(c[e],t,r,o);n(e.anchor,t,r)}},V=(e,t,n,r=!1,o=!1)=>{const{type:s,props:i,ref:l,children:a,dynamicChildren:c,shapeFlag:u,patchFlag:p,dirs:d}=e;if(null!=l&&Pe(l,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const f=1&u&&d,h=!x(e);let m;if(h&&(m=i&&i.onVnodeBeforeUnmount)&&xe(m,t,e),6&u)Z(e.component,n,r);else{if(128&u)return void e.suspense.unmount(n,r);f&&ye(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,o,Q,r):c&&(s!==Fe||p>0&&64&p)?K(c,t,n,!1,!0):(s===Fe&&384&p||!o&&16&u)&&K(a,t,n),r&&W(e)}(h&&(m=i&&i.onVnodeUnmounted)||f)&&Ce((()=>{m&&xe(m,t,e),f&&ye(e,null,t,"unmounted")}),n)},W=e=>{const{type:t,el:n,anchor:r,transition:o}=e;if(t===Fe)return void G(n,r);if(t===Me)return void C(e);const s=()=>{a(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,i=()=>t(n,s);r?r(e.el,s,i):i()}else s()},G=(e,t)=>{let n;for(;e!==t;)n=y(e),a(e),e=n;a(t)},Z=(e,t,n)=>{const{bum:r,scope:s,update:i,subTree:l,um:a}=e;r&&(0,o.ir)(r),s.stop(),i&&(i.active=!1,V(l,e,t,n)),a&&Ce(a,t),Ce((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},K=(e,t,n,r=!1,o=!1,s=0)=>{for(let i=s;i<e.length;i++)V(e[i],t,n,r,o)},X=e=>6&e.shapeFlag?X(e.component.subTree):128&e.shapeFlag?e.suspense.next():y(e.anchor||e.el),Y=(e,t,n)=>{null==e?t._vnode&&V(t._vnode,null,null,!0):_(t._vnode||null,e,t,null,null,null,n),Vt(),t._vnode=e},Q={p:_,um:V,m:q,r:W,mt:M,mc:A,pc:D,pbc:L,n:X,o:e};let ee,te;return t&&([ee,te]=t(Q)),{render:Y,hydrate:ee,createApp:Oe(Y,ee)}}(e,ke)}function Pe(e,t,n,s,i=!1){if((0,o.kJ)(e))return void e.forEach(((e,r)=>Pe(e,t&&((0,o.kJ)(t)?t[r]:t),n,s,i)));if(x(s)&&!i)return;const l=4&s.shapeFlag?St(s.component)||s.component.proxy:s.el,a=i?null:l,{i:c,r:u}=e,p=t&&t.r,d=c.refs===o.kT?c.refs={}:c.refs,f=c.setupState;if(null!=p&&p!==u&&((0,o.HD)(p)?(d[p]=null,(0,o.RI)(f,p)&&(f[p]=null)):(0,r.dq)(p)&&(p.value=null)),(0,o.HD)(u)){const e=()=>{d[u]=a,(0,o.RI)(f,u)&&(f[u]=a)};a?(e.id=-1,Ce(e,n)):e()}else if((0,r.dq)(u)){const e=()=>{u.value=a};a?(e.id=-1,Ce(e,n)):e()}else(0,o.mf)(u)&&kt(u,c,12,[a,d])}function xe(e,t,n,r=null){Ct(e,t,7,[n,r])}function Ie(e,t,n=!1){const r=e.children,s=t.children;if((0,o.kJ)(r)&&(0,o.kJ)(s))for(let e=0;e<r.length;e++){const t=r[e];let o=s[e];1&o.shapeFlag&&!o.dynamicChildren&&((o.patchFlag<=0||32===o.patchFlag)&&(o=s[e]=st(s[e]),o.el=t.el),n||Ie(t,o))}}const Ae="components";function Re(e,t){return function(e,t,n=!0,r=!1){const s=a||vt;if(s){const n=s.type;if(e===Ae){const e=function(e){return(0,o.mf)(e)&&e.displayName||e.name}(n);if(e&&(e===t||e===(0,o._A)(t)||e===(0,o.kC)((0,o._A)(t))))return n}const i=Le(s[e]||n[e],t)||Le(s.appContext[e],t);return!i&&r?n:i}}(Ae,e,!0,t)||e}const Te=Symbol();function Le(e,t){return e&&(e[t]||e[(0,o._A)(t)]||e[(0,o.kC)((0,o._A)(t))])}const Fe=Symbol(void 0),ze=Symbol(void 0),He=Symbol(void 0),Me=Symbol(void 0),$e=[];let Ne=null;function Ue(e=!1){$e.push(Ne=e?null:[])}let De=1;function Je(e){De+=e}function Be(e){return e.dynamicChildren=De>0?Ne||o.Z6:null,$e.pop(),Ne=$e[$e.length-1]||null,De>0&&Ne&&Ne.push(e),e}function qe(e,t,n,r,o,s){return Be(Ye(e,t,n,r,o,s,!0))}function Ve(e,t,n,r,o){return Be(Qe(e,t,n,r,o,!0))}function We(e){return!!e&&!0===e.__v_isVNode}function Ge(e,t){return e.type===t.type&&e.key===t.key}const Ze="__vInternal",Ke=({key:e})=>null!=e?e:null,Xe=({ref:e})=>null!=e?(0,o.HD)(e)||(0,r.dq)(e)||(0,o.mf)(e)?{i:a,r:e}:e:null;function Ye(e,t=null,n=null,r=0,s=null,i=(e===Fe?0:1),l=!1,a=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ke(t),ref:t&&Xe(t),scopeId:c,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:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null};return a?(it(u,n),128&i&&e.normalize(u)):n&&(u.shapeFlag|=(0,o.HD)(n)?8:16),De>0&&!l&&Ne&&(u.patchFlag>0||6&i)&&32!==u.patchFlag&&Ne.push(u),u}const Qe=function(e,t=null,n=null,s=0,i=null,l=!1){if(e&&e!==Te||(e=He),We(e)){const r=et(e,t,!0);return n&&it(r,n),r}if(a=e,(0,o.mf)(a)&&"__vccOpts"in a&&(e=e.__vccOpts),t){t=function(e){return e?(0,r.X3)(e)||Ze in e?(0,o.l7)({},e):e:null}(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))}var a;return Ye(e,t,n,s,i,(0,o.HD)(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:(0,o.Kn)(e)?4:(0,o.mf)(e)?2:0,l,!0)};function et(e,t,n=!1){const{props:r,ref:s,patchFlag:i,children:l}=e,a=t?lt(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Ke(a),ref:t&&t.ref?n&&s?(0,o.kJ)(s)?s.concat(Xe(t)):[s,Xe(t)]:Xe(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Fe?-1===i?16:16|i:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor}}function tt(e=" ",t=0){return Qe(ze,null,e,t)}function nt(e,t){const n=Qe(Me,null,e);return n.staticCount=t,n}function rt(e="",t=!1){return t?(Ue(),Ve(He,null,e)):Qe(He,null,e)}function ot(e){return null==e||"boolean"==typeof e?Qe(He):(0,o.kJ)(e)?Qe(Fe,null,e.slice()):"object"==typeof e?st(e):Qe(ze,null,String(e))}function st(e){return null===e.el||e.memo?e:et(e)}function it(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),it(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||Ze in t?3===r&&a&&(1===a.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=a}}else(0,o.mf)(t)?(t={default:t,_ctx:a},n=32):(t=String(t),64&r?(n=16,t=[tt(t)]):n=8);e.children=t,e.shapeFlag|=n}function lt(...e){const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const e in r)if("class"===e)t.class!==r.class&&(t.class=(0,o.C_)([t.class,r.class]));else if("style"===e)t.style=(0,o.j5)([t.style,r.style]);else if((0,o.F7)(e)){const n=t[e],s=r[e];n===s||(0,o.kJ)(n)&&n.includes(s)||(t[e]=n?[].concat(n,s):s)}else""!==e&&(t[e]=r[e])}return t}function at(e,t,n,r){let s;const i=n&&n[r];if((0,o.kJ)(e)||(0,o.HD)(e)){s=new Array(e.length);for(let n=0,r=e.length;n<r;n++)s[n]=t(e[n],n,void 0,i&&i[n])}else if("number"==typeof e){s=new Array(e);for(let n=0;n<e;n++)s[n]=t(n+1,n,void 0,i&&i[n])}else if((0,o.Kn)(e))if(e[Symbol.iterator])s=Array.from(e,((e,n)=>t(e,n,void 0,i&&i[n])));else{const n=Object.keys(e);s=new Array(n.length);for(let r=0,o=n.length;r<o;r++){const o=n[r];s[r]=t(e[o],o,r,i&&i[r])}}else s=[];return n&&(n[r]=s),s}function ct(e,t,n={},r,o){if(a.isCE)return Qe("slot","default"===t?null:{name:t},r&&r());let s=e[t];s&&s._c&&(s._d=!1),Ue();const i=s&&ut(s(n)),l=Ve(Fe,{key:n.key||`_${t}`},i||(r?r():[]),i&&1===e._?64:-2);return!o&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l}function ut(e){return e.some((e=>!We(e)||e.type!==He&&!(e.type===Fe&&!ut(e.children))))?e:null}const pt=e=>e?wt(e)?St(e)||e.proxy:pt(e.parent):null,dt=(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=>pt(e.parent),$root:e=>pt(e.root),$emit:e=>e.emit,$options:e=>Y(e),$forceUpdate:e=>()=>Dt(e.update),$nextTick:e=>Ut.bind(e.proxy),$watch:e=>Yt.bind(e)}),ft={get({_:e},t){const{ctx:n,setupState:s,data:i,props:l,accessCache:a,type:c,appContext:u}=e;let p;if("$"!==t[0]){const r=a[t];if(void 0!==r)switch(r){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return l[t]}else{if(s!==o.kT&&(0,o.RI)(s,t))return a[t]=1,s[t];if(i!==o.kT&&(0,o.RI)(i,t))return a[t]=2,i[t];if((p=e.propsOptions[0])&&(0,o.RI)(p,t))return a[t]=3,l[t];if(n!==o.kT&&(0,o.RI)(n,t))return a[t]=4,n[t];Z&&(a[t]=0)}}const d=dt[t];let f,h;return d?("$attrs"===t&&(0,r.j)(e,"get",t),d(e)):(f=c.__cssModules)&&(f=f[t])?f:n!==o.kT&&(0,o.RI)(n,t)?(a[t]=4,n[t]):(h=u.config.globalProperties,(0,o.RI)(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;if(s!==o.kT&&(0,o.RI)(s,t))s[t]=n;else if(r!==o.kT&&(0,o.RI)(r,t))r[t]=n;else if((0,o.RI)(e.props,t))return!1;return!("$"===t[0]&&t.slice(1)in e||(i[t]=n,0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:i}},l){let a;return!!n[l]||e!==o.kT&&(0,o.RI)(e,l)||t!==o.kT&&(0,o.RI)(t,l)||(a=i[0])&&(0,o.RI)(a,l)||(0,o.RI)(r,l)||(0,o.RI)(dt,l)||(0,o.RI)(s.config.globalProperties,l)}},ht=be();let mt=0;let vt=null;const gt=()=>vt||a,yt=e=>{vt=e,e.scope.on()},bt=()=>{vt&&vt.scope.off(),vt=null};function wt(e){return 4&e.vnode.shapeFlag}let Ot=!1;function _t(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)),Et(e,n)}function Et(e,t,n){const s=e.type;e.render||(e.render=s.render||o.dG),yt(e),(0,r.Jd)(),function(e){const t=Y(e),n=e.proxy,s=e.ctx;Z=!1,t.beforeCreate&&K(t.beforeCreate,e,"bc");const{data:i,computed:l,methods:a,watch:c,provide:u,inject:p,created:d,beforeMount:f,mounted:h,beforeUpdate:m,updated:v,activated:b,deactivated:w,beforeDestroy:O,beforeUnmount:_,destroyed:E,unmounted:S,render:k,renderTracked:C,renderTriggered:j,errorCaptured:P,serverPrefetch:x,expose:I,inheritAttrs:A,components:R,directives:F,filters:z}=t;if(p&&function(e,t,n=o.dG,s=!1){(0,o.kJ)(e)&&(e=ne(e));for(const n in e){const i=e[n];let l;l=(0,o.Kn)(i)?"default"in i?y(i.from||n,i.default,!0):y(i.from||n):y(i),(0,r.dq)(l)&&s?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>l.value,set:e=>l.value=e}):t[n]=l}}(p,s,null,e.appContext.config.unwrapInjectedRef),a)for(const e in a){const t=a[e];(0,o.mf)(t)&&(s[e]=t.bind(n))}if(i){const t=i.call(n,n);(0,o.Kn)(t)&&(e.data=(0,r.qj)(t))}if(Z=!0,l)for(const e in l){const t=l[e],i=(0,o.mf)(t)?t.bind(n,n):(0,o.mf)(t.get)?t.get.bind(n,n):o.dG,a=!(0,o.mf)(t)&&(0,o.mf)(t.set)?t.set.bind(n):o.dG,c=(0,r.Fl)({get:i,set:a});Object.defineProperty(s,e,{enumerable:!0,configurable:!0,get:()=>c.value,set:e=>c.value=e})}if(c)for(const e in c)X(c[e],s,n,e);if(u){const e=(0,o.mf)(u)?u.call(n):u;Reflect.ownKeys(e).forEach((t=>{g(t,e[t])}))}function H(e,t){(0,o.kJ)(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(d&&K(d,e,"c"),H($,f),H(N,h),H(U,m),H(D,v),H(T,b),H(L,w),H(G,P),H(W,C),H(V,j),H(J,_),H(B,S),H(q,x),(0,o.kJ)(I))if(I.length){const t=e.exposed||(e.exposed={});I.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!=A&&(e.inheritAttrs=A),R&&(e.components=R),F&&(e.directives=F)}(e),(0,r.lk)(),bt()}function St(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(e.exposed)),{get:(t,n)=>n in t?t[n]:n in dt?dt[n](e):void 0}))}function kt(e,t,n,r){let o;try{o=r?e(...r):e()}catch(e){jt(e,t,n)}return o}function Ct(e,t,n,r){if((0,o.mf)(e)){const s=kt(e,t,n,r);return s&&(0,o.tI)(s)&&s.catch((e=>{jt(e,t,n)})),s}const s=[];for(let o=0;o<e.length;o++)s.push(Ct(e[o],t,n,r));return s}function jt(e,t,n,r=!0){if(t&&t.vnode,t){let r=t.parent;const o=t.proxy,s=n;for(;r;){const t=r.ec;if(t)for(let n=0;n<t.length;n++)if(!1===t[n](e,o,s))return;r=r.parent}const i=t.appContext.config.errorHandler;if(i)return void kt(i,null,10,[e,o,s])}!function(e,t,n,r=!0){console.error(e)}(e,0,0,r)}let Pt=!1,xt=!1;const It=[];let At=0;const Rt=[];let Tt=null,Lt=0;const Ft=[];let zt=null,Ht=0;const Mt=Promise.resolve();let $t=null,Nt=null;function Ut(e){const t=$t||Mt;return e?t.then(this?e.bind(this):e):t}function Dt(e){It.length&&It.includes(e,Pt&&e.allowRecurse?At+1:At)||e===Nt||(null==e.id?It.push(e):It.splice(function(e){let t=At+1,n=It.length;for(;t<n;){const r=t+n>>>1;Wt(It[r])<e?t=r+1:n=r}return t}(e.id),0,e),Jt())}function Jt(){Pt||xt||(xt=!0,$t=Mt.then(Gt))}function Bt(e,t,n,r){(0,o.kJ)(e)?n.push(...e):t&&t.includes(e,e.allowRecurse?r+1:r)||n.push(e),Jt()}function qt(e,t=null){if(Rt.length){for(Nt=t,Tt=[...new Set(Rt)],Rt.length=0,Lt=0;Lt<Tt.length;Lt++)Tt[Lt]();Tt=null,Lt=0,Nt=null,qt(e,t)}}function Vt(e){if(Ft.length){const e=[...new Set(Ft)];if(Ft.length=0,zt)return void zt.push(...e);for(zt=e,zt.sort(((e,t)=>Wt(e)-Wt(t))),Ht=0;Ht<zt.length;Ht++)zt[Ht]();zt=null,Ht=0}}const Wt=e=>null==e.id?1/0:e.id;function Gt(e){xt=!1,Pt=!0,qt(e),It.sort(((e,t)=>Wt(e)-Wt(t))),o.dG;try{for(At=0;At<It.length;At++){const e=It[At];e&&!1!==e.active&&kt(e,null,14)}}finally{At=0,It.length=0,Vt(),Pt=!1,$t=null,(It.length||Rt.length||Ft.length)&&Gt(e)}}const Zt={};function Kt(e,t,n){return Xt(e,t,n)}function Xt(e,t,{immediate:n,deep:s,flush:i,onTrack:l,onTrigger:a}=o.kT){const c=vt;let u,p,d=!1,f=!1;if((0,r.dq)(e)?(u=()=>e.value,d=!!e._shallow):(0,r.PG)(e)?(u=()=>e,s=!0):(0,o.kJ)(e)?(f=!0,d=e.some(r.PG),u=()=>e.map((e=>(0,r.dq)(e)?e.value:(0,r.PG)(e)?en(e):(0,o.mf)(e)?kt(e,c,2):void 0))):u=(0,o.mf)(e)?t?()=>kt(e,c,2):()=>{if(!c||!c.isUnmounted)return p&&p(),Ct(e,c,3,[h])}:o.dG,t&&s){const e=u;u=()=>en(e())}let h=e=>{p=y.onStop=()=>{kt(e,c,4)}};if(Ot)return h=o.dG,t?n&&Ct(t,c,3,[u(),f?[]:void 0,h]):u(),o.dG;let m=f?[]:Zt;const v=()=>{if(y.active)if(t){const e=y.run();(s||d||(f?e.some(((e,t)=>(0,o.aU)(e,m[t]))):(0,o.aU)(e,m)))&&(p&&p(),Ct(t,c,3,[e,m===Zt?void 0:m,h]),m=e)}else y.run()};let g;v.allowRecurse=!!t,g="sync"===i?v:"post"===i?()=>Ce(v,c&&c.suspense):()=>{!c||c.isMounted?function(e){Bt(e,Tt,Rt,Lt)}(v):v()};const y=new r.qq(u,g);return t?n?v():m=y.run():"post"===i?Ce(y.run.bind(y),c&&c.suspense):y.run(),()=>{y.stop(),c&&c.scope&&(0,o.Od)(c.scope.effects,y)}}function Yt(e,t,n){const r=this.proxy,s=(0,o.HD)(e)?e.includes(".")?Qt(r,e):()=>r[e]:e.bind(r,r);let i;(0,o.mf)(t)?i=t:(i=t.handler,n=t);const l=vt;yt(this);const a=Xt(s,i.bind(r),n);return l?yt(l):bt(),a}function Qt(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}function en(e,t){if(!(0,o.Kn)(e)||e.__v_skip)return e;if((t=t||new Set).has(e))return e;if(t.add(e),(0,r.dq)(e))en(e.value,t);else if((0,o.kJ)(e))for(let n=0;n<e.length;n++)en(e[n],t);else if((0,o.DM)(e)||(0,o._N)(e))e.forEach((e=>{en(e,t)}));else if((0,o.PO)(e))for(const n in e)en(e[n],t);return e}function tn(e,t,n){const r=arguments.length;return 2===r?(0,o.Kn)(t)&&!(0,o.kJ)(t)?We(t)?Qe(e,null,[t]):Qe(e,t):Qe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&We(n)&&(n=[n]),Qe(e,t,n))}Symbol("");const nn="3.2.23"},9963:(e,t,n)=>{"use strict";n.d(t,{nZ:()=>o.nZ,EB:()=>o.EB,iH:()=>o.iH,XI:()=>o.XI,SU:()=>o.SU,YP:()=>o.YP,uT:()=>_,vr:()=>$,F8:()=>L});var r=n(3577),o=n(6252);n(2262);const s="undefined"!=typeof document?document:null,i=new Map,l={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("http://www.w3.org/2000/svg",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){const o=n?n.previousSibling:t.lastChild;let l=i.get(e);if(!l){const t=s.createElement("template");if(t.innerHTML=r?`<svg>${e}</svg>`:e,l=t.content,r){const e=l.firstChild;for(;e.firstChild;)l.appendChild(e.firstChild);l.removeChild(e)}i.set(e,l)}return t.insertBefore(l.cloneNode(!0),n),[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},a=/\s*!important$/;function c(e,t,n){if((0,r.kJ)(n))n.forEach((n=>c(e,t,n)));else if(t.startsWith("--"))e.setProperty(t,n);else{const o=function(e,t){const n=p[t];if(n)return n;let o=(0,r._A)(t);if("filter"!==o&&o in e)return p[t]=o;o=(0,r.kC)(o);for(let n=0;n<u.length;n++){const r=u[n]+o;if(r in e)return p[t]=r}return t}(e,t);a.test(n)?e.setProperty((0,r.rs)(o),n.replace(a,""),"important"):e[o]=n}}const u=["Webkit","Moz","ms"],p={},d="http://www.w3.org/1999/xlink";let f=Date.now,h=!1;if("undefined"!=typeof window){f()>document.createEvent("Event").timeStamp&&(f=()=>performance.now());const e=navigator.userAgent.match(/firefox\/(\d+)/i);h=!!(e&&Number(e[1])<=53)}let m=0;const v=Promise.resolve(),g=()=>{m=0};const y=/(?:Once|Passive|Capture)$/,b=/^on[a-z]/;"undefined"!=typeof HTMLElement&&HTMLElement;const w="transition",O="animation",_=(e,{slots:t})=>(0,o.h)(o.P$,function(e){const t={};for(const n in e)n in E||(t[n]=e[n]);if(!1===e.css)return t;const{name:n="v",type:o,duration:s,enterFromClass:i=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=l,appearToClass:p=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,m=function(e){if(null==e)return null;if((0,r.Kn)(e))return[C(e.enter),C(e.leave)];{const t=C(e);return[t,t]}}(s),v=m&&m[0],g=m&&m[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:w,onLeave:O,onLeaveCancelled:_,onBeforeAppear:I=y,onAppear:R=b,onAppearCancelled:T=w}=t,L=(e,t,n)=>{P(e,t?p:a),P(e,t?u:l),n&&n()},F=(e,t)=>{P(e,h),P(e,f),t&&t()},z=e=>(t,n)=>{const r=e?R:b,s=()=>L(t,e,n);S(r,[t,s]),x((()=>{P(t,e?c:i),j(t,e?p:a),k(r)||A(t,o,v,s)}))};return(0,r.l7)(t,{onBeforeEnter(e){S(y,[e]),j(e,i),j(e,l)},onBeforeAppear(e){S(I,[e]),j(e,c),j(e,u)},onEnter:z(!1),onAppear:z(!0),onLeave(e,t){const n=()=>F(e,t);j(e,d),document.body.offsetHeight,j(e,f),x((()=>{P(e,d),j(e,h),k(O)||A(e,o,g,n)})),S(O,[e,n])},onEnterCancelled(e){L(e,!1),S(w,[e])},onAppearCancelled(e){L(e,!0),S(T,[e])},onLeaveCancelled(e){F(e),S(_,[e])}})}(e),t);_.displayName="Transition";const E={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},S=(_.props=(0,r.l7)({},o.P$.props,E),(e,t=[])=>{(0,r.kJ)(e)?e.forEach((e=>e(...t))):e&&e(...t)}),k=e=>!!e&&((0,r.kJ)(e)?e.some((e=>e.length>1)):e.length>1);function C(e){return(0,r.He)(e)}function j(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function P(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 x(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let I=0;function A(e,t,n,r){const o=e._endId=++I,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=function(e,t){const n=window.getComputedStyle(e),r=e=>(n[e]||"").split(", "),o=r("transitionDelay"),s=r("transitionDuration"),i=R(o,s),l=r("animationDelay"),a=r("animationDuration"),c=R(l,a);let u=null,p=0,d=0;return t===w?i>0&&(u=w,p=i,d=s.length):t===O?c>0&&(u=O,p=c,d=a.length):(p=Math.max(i,c),u=p>0?i>c?w:O:null,d=u?u===w?s.length:a.length:0),{type:u,timeout:p,propCount:d,hasTransform:u===w&&/\b(transform|all)(,|$)/.test(n.transitionProperty)}}(e,t);if(!i)return r();const c=i+"end";let u=0;const p=()=>{e.removeEventListener(c,d),s()},d=t=>{t.target===e&&++u>=a&&p()};setTimeout((()=>{u<a&&p()}),l+1),e.addEventListener(c,d)}function R(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map(((t,n)=>T(t)+T(e[n]))))}function T(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}new WeakMap,new WeakMap;const L={beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):F(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),F(e,!0),r.enter(e)):r.leave(e,(()=>{F(e,!1)})):F(e,t))},beforeUnmount(e,{value:t}){F(e,t)}};function F(e,t){e.style.display=t?e._vod:"none"}const z=(0,r.l7)({patchProp:(e,t,n,s,i=!1,l,a,u,p)=>{"class"===t?function(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}(e,s,i):"style"===t?function(e,t,n){const o=e.style,s=(0,r.HD)(n);if(n&&!s){for(const e in n)c(o,e,n[e]);if(t&&!(0,r.HD)(t))for(const e in t)null==n[e]&&c(o,e,"")}else{const r=o.display;s?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=r)}}(e,n,s):(0,r.F7)(t)?(0,r.tR)(t)||function(e,t,n,s,i=null){const l=e._vei||(e._vei={}),a=l[t];if(s&&a)a.value=s;else{const[n,c]=function(e){let t;if(y.test(e)){let n;for(t={};n=e.match(y);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[(0,r.rs)(e.slice(2)),t]}(t);if(s){const a=l[t]=function(e,t){const n=e=>{const s=e.timeStamp||f();(h||s>=n.attached-1)&&(0,o.$d)(function(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(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=m||(v.then(g),m=f()),n}(s,i);!function(e,t,n,r){e.addEventListener(t,n,r)}(e,n,a,c)}else a&&(function(e,t,n,r){e.removeEventListener(t,n,r)}(e,n,a,c),l[t]=void 0)}}(e,t,0,s,a):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,o){return o?"innerHTML"===t||"textContent"===t||!!(t in e&&b.test(t)&&(0,r.mf)(n)):"spellcheck"!==t&&"draggable"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!b.test(t)||!(0,r.HD)(n))&&t in e))))}(e,t,s,i))?function(e,t,n,o,s,i,l){if("innerHTML"===t||"textContent"===t)return o&&l(o,s,i),void(e[t]=null==n?"":n);if("value"===t&&"PROGRESS"!==e.tagName&&!e.tagName.includes("-")){e._value=n;const r=null==n?"":n;return e.value===r&&"OPTION"!==e.tagName||(e.value=r),void(null==n&&e.removeAttribute(t))}if(""===n||null==n){const o=typeof e[t];if("boolean"===o)return void(e[t]=(0,r.yA)(n));if(null==n&&"string"===o)return e[t]="",void e.removeAttribute(t);if("number"===o){try{e[t]=0}catch(e){}return void e.removeAttribute(t)}}try{e[t]=n}catch(e){}}(e,t,s,l,a,u,p):("true-value"===t?e._trueValue=s:"false-value"===t&&(e._falseValue=s),function(e,t,n,o,s){if(o&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(d,t.slice(6,t.length)):e.setAttributeNS(d,t,n);else{const o=(0,r.Pq)(t);null==n||o&&!(0,r.yA)(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}(e,t,s,i))}},l);let H,M=!1;const $=(...e)=>{const t=(H=M?H:(0,o.Eo)(z),M=!0,H).createApp(...e),{mount:n}=t;return t.mount=e=>{const t=function(e){if((0,r.HD)(e))return document.querySelector(e);return e}(e);if(t)return n(t,!0,t instanceof SVGElement)},t}},3577:(e,t,n)=>{"use strict";function r(e,t){const n=Object.create(null),r=e.split(",");for(let e=0;e<r.length;e++)n[r[e]]=!0;return t?e=>!!n[e.toLowerCase()]:e=>!!n[e]}n.d(t,{Z6:()=>g,kT:()=>v,NO:()=>b,dG:()=>y,_A:()=>B,kC:()=>W,Nj:()=>X,l7:()=>E,E9:()=>ee,aU:()=>Z,RI:()=>C,rs:()=>V,yA:()=>i,ir:()=>K,kJ:()=>j,mf:()=>A,e1:()=>o,S0:()=>N,_N:()=>P,tR:()=>_,Kn:()=>L,F7:()=>O,PO:()=>$,tI:()=>F,Gg:()=>U,DM:()=>x,Pq:()=>s,HD:()=>R,yk:()=>T,WV:()=>d,hq:()=>f,fY:()=>r,C_:()=>p,j5:()=>l,Od:()=>S,zw:()=>h,hR:()=>G,He:()=>Y,W7:()=>M});const o=r("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt"),s=r("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function i(e){return!!e||""===e}function l(e){if(j(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],o=R(r)?u(r):l(r);if(o)for(const e in o)t[e]=o[e]}return t}return R(e)||L(e)?e:void 0}const a=/;(?![^(]*\))/g,c=/:(.+)/;function u(e){const t={};return e.split(a).forEach((e=>{if(e){const n=e.split(c);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function p(e){let t="";if(R(e))t=e;else if(j(e))for(let n=0;n<e.length;n++){const r=p(e[n]);r&&(t+=r+" ")}else if(L(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function d(e,t){if(e===t)return!0;let n=I(e),r=I(t);if(n||r)return!(!n||!r)&&e.getTime()===t.getTime();if(n=j(e),r=j(t),n||r)return!(!n||!r)&&function(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=d(e[r],t[r]);return n}(e,t);if(n=L(e),r=L(t),n||r){if(!n||!r)return!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e){const r=e.hasOwnProperty(n),o=t.hasOwnProperty(n);if(r&&!o||!r&&o||!d(e[n],t[n]))return!1}}return String(e)===String(t)}function f(e,t){return e.findIndex((e=>d(e,t)))}const h=e=>null==e?"":j(e)||L(e)&&(e.toString===z||!A(e.toString))?JSON.stringify(e,m,2):String(e),m=(e,t)=>t&&t.__v_isRef?m(e,t.value):P(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:x(t)?{[`Set(${t.size})`]:[...t.values()]}:!L(t)||j(t)||$(t)?t:String(t),v={},g=[],y=()=>{},b=()=>!1,w=/^on[^a-z]/,O=e=>w.test(e),_=e=>e.startsWith("onUpdate:"),E=Object.assign,S=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},k=Object.prototype.hasOwnProperty,C=(e,t)=>k.call(e,t),j=Array.isArray,P=e=>"[object Map]"===H(e),x=e=>"[object Set]"===H(e),I=e=>e instanceof Date,A=e=>"function"==typeof e,R=e=>"string"==typeof e,T=e=>"symbol"==typeof e,L=e=>null!==e&&"object"==typeof e,F=e=>L(e)&&A(e.then)&&A(e.catch),z=Object.prototype.toString,H=e=>z.call(e),M=e=>H(e).slice(8,-1),$=e=>"[object Object]"===H(e),N=e=>R(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,U=r(",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),D=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},J=/-(\w)/g,B=D((e=>e.replace(J,((e,t)=>t?t.toUpperCase():"")))),q=/\B([A-Z])/g,V=D((e=>e.replace(q,"-$1").toLowerCase())),W=D((e=>e.charAt(0).toUpperCase()+e.slice(1))),G=D((e=>e?`on${W(e)}`:"")),Z=(e,t)=>!Object.is(e,t),K=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},X=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Y=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Q;const ee=()=>Q||(Q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{})},5698:(e,t,n)=>{"use strict";var r=n(3131),o=n(9947),s=n(4611),i=n(6056),l=n(4634),a=n(480),c=n(9963),u=n(6252),p=n(2119),d=n(4546),f=n(2262),h=n(3447),m=n(704);const v=c.vr,g=p.PO;(async()=>{const e=v({name:"VuepressApp",setup(){(0,d.BK)();for(const e of s.l)e();return()=>[(0,u.h)(p.MA),...o.p.map((e=>(0,u.h)(e)))]}}),t=(0,p.p7)({history:g((0,a.U1)(d.HM.value.base)),routes:l.g,scrollBehavior:(e,t,n)=>n||(e.hash?{el:e.hash}:{top:0})});t.beforeResolve((async(e,t)=>{var n;e.path===t.path&&t!==p.AJ||([d.Xp.value]=await Promise.all([(0,d.C4)(e.name),null===(n=i.b[e.name])||void 0===n?void 0:n.__asyncLoader()]))})),((e,t)=>{const n=(0,f.Fl)((()=>(0,d.S)(d.HM.value.locales,t.currentRoute.value.path))),r=(0,f.Fl)((()=>(0,d.kY)(d.HM.value,n.value))),o=(0,f.Fl)((()=>(0,d.hN)(d.Xp.value))),s=(0,f.Fl)((()=>(0,d.lp)(d.Xp.value,r.value))),i=(0,f.Fl)((()=>(0,d.nl)(s.value,o.value,r.value))),l=(0,f.Fl)((()=>(0,d.Vo)(d.Xp.value)));e.provide(d.C3,n),e.provide(d.AE,r),e.provide(d.PY,o),e.provide(d.et,s),e.provide(d.VV,i),e.provide(d.b5,l),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>o.value},$headTitle:{get:()=>s.value},$lang:{get:()=>l.value},$page:{get:()=>d.Xp.value},$routeLocale:{get:()=>n.value},$site:{get:()=>d.HM.value},$siteLocale:{get:()=>r.value},$withBase:{get:()=>h.pJ}})})(e,t),(e=>{e.component("ClientOnly",m.qx),e.component("Content",m.VY),e.component("OutboundLink",m.MS)})(e);for(const n of r.g)await n({app:e,router:t,siteData:d.HM});return e.use(t),{app:e,router:t}})().then((({app:e,router:t})=>{t.isReady().then((()=>{e.mount("#app")}))}))},4802:(e,t,n)=>{"use strict";n.d(t,{Y:()=>a});var r=n(4150),o=n(480),s=n(6252),i=n(2262),l=n(4546);const a=(0,s.aZ)({name:"Vuepress",setup(){const e=(0,l.Vi)(),t=(0,i.Fl)((()=>{let t;if(e.value.path){const n=e.value.frontmatter.layout;t=(0,o.HD)(n)?n:"Layout"}else t="404";return r.Z[t]||(0,s.up)(t,!1)}));return()=>(0,s.h)(t.value)}})},704:(e,t,n)=>{"use strict";n.d(t,{qx:()=>s,VY:()=>a,MS:()=>u});var r=n(6252),o=n(2262);const s=(0,r.aZ)({setup(e,t){const n=(0,o.iH)(!1);return(0,r.bv)((()=>{n.value=!0})),()=>{var e,r;return n.value?null===(r=(e=t.slots).default)||void 0===r?void 0:r.call(e):null}}});var i=n(6056),l=n(4546);const a=e=>{let t;t=e.pageKey?e.pageKey:(0,l.Vi)().value.key;const n=i.b[t];return n?(0,r.h)(n):(0,r.h)("div","404 Not Found")};a.displayName="Content",a.props={pageKey:{type:String,required:!1}};const c=(0,r.h)("svg",{class:"icon outbound",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[(0,r.h)("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),(0,r.h)("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),u=(e,{slots:t})=>{var n;return(0,r.h)("span",[c,null===(n=t.default)||void 0===n?void 0:n.call(t)])};u.displayName="OutboundLink",n(4802)},4546:(e,t,n)=>{"use strict";n.d(t,{Xp:()=>l,PY:()=>p,VV:()=>m,et:()=>g,b5:()=>b,C4:()=>c,hN:()=>f,nl:()=>v,lp:()=>y,Vo:()=>w,S:()=>E,kY:()=>x,C3:()=>O,BK:()=>R,HM:()=>k,AE:()=>j,Vi:()=>a,I2:()=>d,I:()=>_,WF:()=>C,I5:()=>P});var r=n(2262),o=n(9706);const s=(0,r.iH)(o.T),i=(0,r.OT)({key:"",path:"",title:"",lang:"",frontmatter:{},excerpt:"",headers:[]}),l=(0,r.iH)(i),a=()=>l,c=async e=>{const t=s.value[e];if(!t)return i;const n=await t();return null!=n?n:i};var u=n(6252);const p=Symbol(""),d=()=>{const e=(0,u.f3)(p);if(!e)throw new Error("usePageFrontmatter() is called without provider.");return e},f=e=>e.frontmatter;var h=n(480);const m=Symbol(""),v=(e,t,n)=>{const r=(0,h.HD)(t.description)?t.description:n.description,o=[...(0,h.kJ)(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return(0,h.H7)(o)},g=Symbol(""),y=(e,t)=>`${e.title?`${e.title} | `:""}${t.title}`,b=Symbol(""),w=e=>e.lang||"en",O=Symbol(""),_=()=>{const e=(0,u.f3)(O);if(!e)throw new Error("useRouteLocale() is called without provider.");return e},E=(e,t)=>(0,h.gb)(e,t);var S=n(5220);const k=(0,r.iH)(S.H),C=()=>k,j=Symbol(""),P=()=>{const e=(0,u.f3)(j);if(!e)throw new Error("useSiteLocaleData() is called without provider.");return e},x=(e,t)=>({...e,...e.locales[t]});var I=n(2119);const A=Symbol(""),R=()=>{const e=(0,I.yj)(),t=(()=>{const e=(0,u.f3)(m);if(!e)throw new Error("usePageHead() is called without provider.");return e})(),n=(()=>{const e=(0,u.f3)(b);if(!e)throw new Error("usePageLang() is called without provider.");return e})(),o=(0,r.iH)([]),s=()=>{document.documentElement.lang=n.value,o.value.forEach((e=>{e.parentNode===document.head&&document.head.removeChild(e)})),o.value.splice(0,o.value.length),t.value.forEach((e=>{const t=L(e);null!==t&&(document.head.appendChild(t),o.value.push(t))}))};(0,u.JJ)(A,s),(0,u.bv)((()=>{t.value.forEach((e=>{const t=T(e);t&&o.value.push(t)})),s(),(0,u.YP)((()=>e.path),(()=>s()))}))},T=([e,t,n=""])=>{const r=`head > ${e}${Object.entries(t).map((([e,t])=>(0,h.HD)(t)?`[${e}="${t}"]`:!0===t?`[${e}]`:"")).join("")}`;return Array.from(document.querySelectorAll(r)).find((e=>e.innerText===n))||null},L=([e,t,n])=>{if(!(0,h.HD)(e))return null;const r=document.createElement(e);return(0,h.PO)(t)&&Object.entries(t).forEach((([e,t])=>{(0,h.HD)(t)?r.setAttribute(e,t):!0===t&&r.setAttribute(e,"")})),(0,h.HD)(n)&&r.appendChild(document.createTextNode(n)),r}},7621:(e,t,n)=>{"use strict";n.d(t,{MS:()=>r.MS,C3:()=>o.C3,Vi:()=>o.Vi,I2:()=>o.I2,I:()=>o.I,WF:()=>o.WF,I5:()=>o.I5,vW:()=>s.vW,F2:()=>s.F2,pJ:()=>s.pJ}),n(5698);var r=n(704),o=n(4546),s=n(3447)},3447:(e,t,n)=>{"use strict";n.d(t,{vW:()=>r,F2:()=>o,pJ:()=>l});const r=e=>e,o=e=>e;var s=n(480),i=n(4546);const l=e=>(0,s.ak)(e)?e:`${(0,i.WF)().value.base}${(0,s.FY)(e)}`},1263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7621),o=n(2938),s=n(6252),i=n(2119);const l=async(e,...t)=>{const{scrollBehavior:n}=e.options;e.options.scrollBehavior=void 0,await e.replace(...t).finally((()=>e.options.scrollBehavior=n))},a=(0,r.F2)((()=>{(({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:a=5})=>{const c=(0,i.tv)(),u=(0,r.Vi)(),p=(0,o.D)((()=>(()=>{var n,r,o,s;const i=Array.from(document.querySelectorAll(e)),u=Array.from(document.querySelectorAll(t)).filter((e=>i.some((t=>t.hash===e.hash)))),p=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),d=window.innerHeight+p,f=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),h=Math.abs(f-d)<a;for(let e=0;e<u.length;e++){const t=u[e],i=u[e+1],d=0===e&&0===p,f=p>=(null!==(r=null===(n=t.parentElement)||void 0===n?void 0:n.offsetTop)&&void 0!==r?r:0)-a,m=!i||p<(null!==(s=null===(o=i.parentElement)||void 0===o?void 0:o.offsetTop)&&void 0!==s?s:0)-a;if(!(d||f&&m))continue;const v=decodeURIComponent(c.currentRoute.value.hash),g=decodeURIComponent(t.hash);if(v===g)return;if(h)for(let t=e+1;t<u.length;t++)if(v===decodeURIComponent(u[t].hash))return;return void l(c,{hash:g,force:!0})}})()),n);(0,s.bv)((()=>{p(),window.addEventListener("scroll",p)})),(0,s.Jd)((()=>{window.removeEventListener("scroll",p)})),(0,s.YP)((()=>u.value.path),p)})({headerLinkSelector:"a.sidebar-item",headerAnchorSelector:".header-anchor",delay:200,offset:5})}))},3051:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(2938),o=n(6252),s=n(2262),i=n(9963);const l=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,a=()=>window.scrollTo({top:0,behavior:"smooth"}),c=(0,o.aZ)({name:"BackToTop",setup(){const e=(0,s.iH)(0),t=(0,s.Fl)((()=>e.value>300));(0,o.bv)((()=>{e.value=l(),window.addEventListener("scroll",(0,r.D)((()=>{e.value=l()}),100))}));const n=(0,o.h)("div",{class:"back-to-top",onClick:a});return()=>(0,o.h)(i.uT,{name:"back-to-top"},{default:()=>t.value?n:null})}})},6971:(e,t,n)=>{"use strict";n.d(t,{Z:()=>m});var r=n(7621),o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(e){return"IMG"===e.tagName},i=function(e){return e&&1===e.nodeType},l=function(e){return".svg"===(e.currentSrc||e.src).substr(-4).toLowerCase()},a=function(e){try{return Array.isArray(e)?e.filter(s):function(e){return NodeList.prototype.isPrototypeOf(e)}(e)?[].slice.call(e).filter(s):i(e)?[e].filter(s):"string"==typeof e?[].slice.call(document.querySelectorAll(e)).filter(s):[]}catch(e){throw new TypeError("The provided selector is invalid.\nExpects a CSS selector, a Node element, a NodeList or an array.\nSee: https://github.com/francoischalifour/medium-zoom")}},c=function(e){var t=document.createElement("div");return t.classList.add("medium-zoom-overlay"),t.style.background=e,t},u=function(e){var t=e.getBoundingClientRect(),n=t.top,r=t.left,o=t.width,s=t.height,i=e.cloneNode(),l=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,a=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return i.removeAttribute("id"),i.style.position="absolute",i.style.top=n+l+"px",i.style.left=r+a+"px",i.style.width=o+"px",i.style.height=s+"px",i.style.transform="",i},p=function(e,t){var n=o({bubbles:!1,cancelable:!1,detail:void 0},t);if("function"==typeof window.CustomEvent)return new CustomEvent(e,n);var r=document.createEvent("CustomEvent");return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),r};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}");const d=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=window.Promise||function(e){function t(){}e(t,t)},s=function(e){var t=e.target;t!==R?-1!==C.indexOf(t)&&_({target:t}):O()},d=function(){if(!P&&A.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(x-e)>I.scrollOffset&&setTimeout(O,150)}},f=function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||O()},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e;if(e.background&&(R.style.background=e.background),e.container&&e.container instanceof Object&&(t.container=o({},I.container,e.container)),e.template){var n=i(e.template)?e.template:document.querySelector(e.template);t.template=n}return I=o({},I,t),C.forEach((function(e){e.dispatchEvent(p("medium-zoom:update",{detail:{zoom:T}}))})),T},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e(o({},I,t))},v=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.reduce((function(e,t){return[].concat(e,a(t))}),[]);return r.filter((function(e){return-1===C.indexOf(e)})).forEach((function(e){C.push(e),e.classList.add("medium-zoom-image")})),j.forEach((function(e){var t=e.type,n=e.listener,o=e.options;r.forEach((function(e){e.addEventListener(t,n,o)}))})),T},g=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];A.zoomed&&O();var r=t.length>0?t.reduce((function(e,t){return[].concat(e,a(t))}),[]):C;return r.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(p("medium-zoom:detach",{detail:{zoom:T}}))})),C=C.filter((function(e){return-1===r.indexOf(e)})),T},y=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return C.forEach((function(r){r.addEventListener("medium-zoom:"+e,t,n)})),j.push({type:"medium-zoom:"+e,listener:t,options:n}),T},b=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return C.forEach((function(r){r.removeEventListener("medium-zoom:"+e,t,n)})),j=j.filter((function(n){return!(n.type==="medium-zoom:"+e&&n.listener.toString()===t.toString())})),T},w=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(I.container)if(I.container instanceof Object)t=(e=o({},e,I.container)).width-e.left-e.right-2*I.margin,n=e.height-e.top-e.bottom-2*I.margin;else{var r=(i(I.container)?I.container:document.querySelector(I.container)).getBoundingClientRect(),s=r.width,a=r.height,c=r.left,u=r.top;e=o({},e,{width:s,height:a,left:c,top:u})}t=t||e.width-2*I.margin,n=n||e.height-2*I.margin;var p=A.zoomedHd||A.original,d=l(p)?t:p.naturalWidth||t,f=l(p)?n:p.naturalHeight||n,h=p.getBoundingClientRect(),m=h.top,v=h.left,g=h.width,y=h.height,b=Math.min(d,t)/g,w=Math.min(f,n)/y,O=Math.min(b,w),_="scale("+O+") translate3d("+((t-g)/2-v+I.margin+e.left)/O+"px, "+((n-y)/2-m+I.margin+e.top)/O+"px, 0)";A.zoomed.style.transform=_,A.zoomedHd&&(A.zoomedHd.style.transform=_)};return new r((function(e){if(t&&-1===C.indexOf(t))e(T);else if(A.zoomed)e(T);else{if(t)A.original=t;else{if(!(C.length>0))return void e(T);var r=C;A.original=r[0]}if(A.original.dispatchEvent(p("medium-zoom:open",{detail:{zoom:T}})),x=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,P=!0,A.zoomed=u(A.original),document.body.appendChild(R),I.template){var o=i(I.template)?I.template:document.querySelector(I.template);A.template=document.createElement("div"),A.template.appendChild(o.content.cloneNode(!0)),document.body.appendChild(A.template)}if(document.body.appendChild(A.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),A.original.classList.add("medium-zoom-image--hidden"),A.zoomed.classList.add("medium-zoom-image--opened"),A.zoomed.addEventListener("click",O),A.zoomed.addEventListener("transitionend",(function t(){P=!1,A.zoomed.removeEventListener("transitionend",t),A.original.dispatchEvent(p("medium-zoom:opened",{detail:{zoom:T}})),e(T)})),A.original.getAttribute("data-zoom-src")){A.zoomedHd=A.zoomed.cloneNode(),A.zoomedHd.removeAttribute("srcset"),A.zoomedHd.removeAttribute("sizes"),A.zoomedHd.src=A.zoomed.getAttribute("data-zoom-src"),A.zoomedHd.onerror=function(){clearInterval(s),console.warn("Unable to reach the zoom image target "+A.zoomedHd.src),A.zoomedHd=null,n()};var s=setInterval((function(){A.zoomedHd.complete&&(clearInterval(s),A.zoomedHd.classList.add("medium-zoom-image--opened"),A.zoomedHd.addEventListener("click",O),document.body.appendChild(A.zoomedHd),n())}),10)}else if(A.original.hasAttribute("srcset")){A.zoomedHd=A.zoomed.cloneNode(),A.zoomedHd.removeAttribute("sizes"),A.zoomedHd.removeAttribute("loading");var l=A.zoomedHd.addEventListener("load",(function(){A.zoomedHd.removeEventListener("load",l),A.zoomedHd.classList.add("medium-zoom-image--opened"),A.zoomedHd.addEventListener("click",O),document.body.appendChild(A.zoomedHd),n()}))}else n()}}))},O=function(){return new r((function(e){!P&&A.original?(P=!0,document.body.classList.remove("medium-zoom--opened"),A.zoomed.style.transform="",A.zoomedHd&&(A.zoomedHd.style.transform=""),A.template&&(A.template.style.transition="opacity 150ms",A.template.style.opacity=0),A.original.dispatchEvent(p("medium-zoom:close",{detail:{zoom:T}})),A.zoomed.addEventListener("transitionend",(function t(){A.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(A.zoomed),A.zoomedHd&&document.body.removeChild(A.zoomedHd),document.body.removeChild(R),A.zoomed.classList.remove("medium-zoom-image--opened"),A.template&&document.body.removeChild(A.template),P=!1,A.zoomed.removeEventListener("transitionend",t),A.original.dispatchEvent(p("medium-zoom:closed",{detail:{zoom:T}})),A.original=null,A.zoomed=null,A.zoomedHd=null,A.template=null,e(T)}))):e(T)}))},_=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target;return A.original?O():w({target:t})},E=function(){return I},S=function(){return C},k=function(){return A.original},C=[],j=[],P=!1,x=0,I=n,A={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?I=t:(t||"string"==typeof t)&&v(t),I=o({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},I);var R=c(I.background);document.addEventListener("click",s),document.addEventListener("keyup",f),document.addEventListener("scroll",d),window.addEventListener("resize",O);var T={open:w,close:O,toggle:_,update:h,clone:m,attach:v,detach:g,on:y,off:b,getOptions:E,getImages:S,getZoomedImage:k};return T},f=Symbol("mediumZoom"),h={},m=(0,r.vW)((({app:e,router:t})=>{const n=d(h);n.refresh=(e=".theme-default-content > img, .theme-default-content :not(a) > img")=>{n.detach(),n.attach(e)},e.provide(f,n),t.afterEach((()=>{setTimeout((()=>n.refresh()),400)}))}))},6243:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var r=n(7621),o=n(4865),s=n(6252),i=n(2119);const l=(0,r.F2)((()=>{(0,s.bv)((()=>{const e=(0,i.tv)(),t=new Set;t.add(e.currentRoute.value.path),o.configure({showSpinner:!1}),e.beforeEach((e=>{t.has(e.path)||o.start()})),e.afterEach((e=>{t.add(e.path),o.done()}))}))}))},1598:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7621),o=n(2262),s=n(3197);const i=(0,r.vW)((({app:e})=>{const t=(0,s.BV)(),n=e._context.provides[r.C3],i=(0,o.Fl)((()=>(0,s.g$)(t.value,n.value)));e.provide(s.ZS,i),Object.defineProperties(e.config.globalProperties,{$theme:{get:()=>t.value},$themeLocale:{get:()=>i.value}})}))},3197:(e,t,n)=>{"use strict";n.d(t,{g$:()=>c,ZS:()=>l,BV:()=>s,X6:()=>a});var r=n(2232);const o=(0,n(2262).iH)(r.f),s=()=>o;var i=n(6252);const l=Symbol(""),a=()=>{const e=(0,i.f3)(l);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},c=(e,t)=>{var n;return{...e,...null===(n=e.locales)||void 0===n?void 0:n[t]}}},480:(e,t,n)=>{"use strict";n.d(t,{H7:()=>o,kJ:()=>r.kJ,mf:()=>r.mf,ak:()=>s,B2:()=>i,R5:()=>l,PO:()=>a,HD:()=>r.HD,U1:()=>c,FY:()=>u,gb:()=>p});var r=n(3577);const o=e=>{const t=new Set,n=[];return e.forEach((e=>{const r=(([e,t,n])=>"meta"===e&&t.name?`${e}.${t.name}`:["title","base"].includes(e)?e:"template"===e&&t.id?`${e}.${t.id}`:JSON.stringify([e,t,n]))(e);t.has(r)||(t.add(r),n.push(e))})),n},s=e=>/^(https?:)?\/\//.test(e),i=e=>/^mailto:/.test(e),l=e=>/^tel:/.test(e),a=e=>"[object Object]"===Object.prototype.toString.call(e),c=e=>e.replace(/\/$/,""),u=e=>e.replace(/^\//,""),p=(e,t)=>{const n=Object.keys(e).sort(((e,t)=>{const n=t.split("/").length-e.split("/").length;return 0!==n?n:t.length-e.length}));for(const e of n)if(t.startsWith(e))return e;return"/"}},2009:(e,t,n)=>{"use strict";n.d(t,{Z:()=>m});var r=n(7621),o=n(6252),s=n(3577);const i=(0,o.aZ)({props:{type:{type:String,required:!1,default:"tip"},text:{type:String,required:!1,default:""},vertical:{type:String,required:!1,default:void 0}},setup:e=>(t,n)=>((0,o.wg)(),(0,o.iD)("span",{class:(0,s.C_)(["badge",e.type]),style:(0,s.j5)({verticalAlign:e.vertical})},[(0,o.WI)(t.$slots,"default",{},(()=>[(0,o.Uk)((0,s.zw)(e.text),1)]))],6))});var l=n(2262);const a=(0,o.aZ)({name:"CodeGroup",setup(e,{slots:t}){const n=(0,l.iH)(-1),r=(0,l.iH)([]);return()=>{var e;const s=((null===(e=t.default)||void 0===e?void 0:e.call(t))||[]).filter((e=>"CodeGroupItem"===e.type.name)).map((e=>(null===e.props&&(e.props={}),e)));return 0===s.length?null:(n.value<0||n.value>s.length-1?(n.value=s.findIndex((e=>""===e.props.active||!0===e.props.active)),-1===n.value&&(n.value=0)):s.forEach(((e,t)=>{e.props.active=t===n.value})),(0,o.h)("div",{class:"code-group"},[(0,o.h)("div",{class:"code-group__nav"},(0,o.h)("ul",{class:"code-group__ul"},s.map(((e,t)=>{const s=t===n.value;return(0,o.h)("li",{class:"code-group__li"},(0,o.h)("button",{ref:e=>{e&&(r.value[t]=e)},class:{"code-group__nav-tab":!0,"code-group__nav-tab-active":s},ariaPressed:s,ariaExpanded:s,onClick:()=>n.value=t,onKeydown:e=>((e,t)=>{" "===e.key||"Enter"===e.key?(e.preventDefault(),n.value=t):"ArrowRight"===e.key?(e.preventDefault(),((e=n.value)=>{e<r.value.length-1?n.value=e+1:n.value=0,r.value[n.value].focus()})(t)):"ArrowLeft"===e.key&&(e.preventDefault(),((e=n.value)=>{n.value=e>0?e-1:r.value.length-1,r.value[n.value].focus()})(t))})(e,t)},e.props.title))})))),s]))}}}),c=["aria-selected"],u=(0,o.aZ)({name:"CodeGroupItem"}),p=(0,o.aZ)({...u,props:{title:{type:String,required:!0},active:{type:Boolean,required:!1,default:!1}},setup:function(e){return(t,n)=>((0,o.wg)(),(0,o.iD)("div",{class:(0,s.C_)(["code-group-item",{"code-group-item__active":e.active}]),"aria-selected":e.active},[(0,o.WI)(t.$slots,"default")],10,c))}});var d=n(2791);const f={class:"sr-only"},h=(0,o.aZ)({setup(e){const t=(0,d.X6)();return(e,n)=>((0,o.wg)(),(0,o.j4)((0,l.SU)(r.MS),null,{default:(0,o.w5)((()=>[(0,o._)("span",f,(0,s.zw)((0,l.SU)(t).openInNewWindow),1)])),_:1}))}}),m=(0,r.vW)((({app:e,router:t})=>{e.component("Badge",i),e.component("CodeGroup",a),e.component("CodeGroupItem",p),delete e._context.components.OutboundLink,e.component("OutboundLink",h),e.component("NavbarSearch",(()=>{const t=e.component("Docsearch")||e.component("SearchBox");return t?(0,o.h)(t):null}));const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...e)=>(await(0,d.P$)().wait(),n(...e))}))},8866:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7621),o=n(2791);const s=(0,r.F2)((()=>{(0,o.OX)(),(0,o.fR)()}))},2791:(e,t,n)=>{"use strict";n.d(t,{OX:()=>O,fR:()=>L,vs:()=>w,sC:()=>C,P$:()=>I,VU:()=>T,X6:()=>U});var r=n(9963);function o(e){return!!(0,r.nZ)()&&((0,r.EB)(e),!0)}const s="undefined"!=typeof window,i=(Object.prototype.toString,()=>{});const l=e=>e();var a=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const p=s?window:void 0;s&&window.document,s&&window.navigator,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const d={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))}};function f(e,t,n=(e=>null==(e=p)?void 0:e.localStorage)(),s={}){var f;const{flush:h="pre",deep:m=!0,listenToStorageChanges:v=!0,writeDefaults:g=!0,shallow:y,window:b=p,eventFilter:w,onError:O=(e=>{console.error(e)})}=s,_=(0,r.SU)(t),E=null==_?"any":_ instanceof Set?"set":_ instanceof Map?"map":"boolean"==typeof _?"boolean":"string"==typeof _?"string":"object"==typeof _||Array.isArray(_)?"object":Number.isNaN(_)?"any":"number",S=(y?r.XI:r.iH)(t),k=null!=(f=s.serializer)?f:d[E];function C(t){if(n&&(!t||t.key===e))try{const r=t?t.newValue:n.getItem(e);null==r?(S.value=_,g&&null!==_&&n.setItem(e,k.write(_))):S.value=k.read(r)}catch(e){O(e)}}return C(),b&&v&&function(...e){let t,n,s,l;if("string"==typeof e[0]?([n,s,l]=e,t=p):[t,n,s,l]=e,!t)return i;let a=i;const c=(0,r.YP)((()=>(0,r.SU)(t)),(e=>{a(),e&&(e.addEventListener(n,s,l),a=()=>{e.removeEventListener(n,s,l),a=i})}),{immediate:!0,flush:"post"}),u=()=>{c(),a()};o(u)}(b,"storage",(e=>setTimeout((()=>C(e)),0))),n&&function(e,t,n={}){const o=n,{eventFilter:s=l}=o,i=((e,t)=>{var n={};for(var r in e)c.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&a)for(var r of a(e))t.indexOf(r)<0&&u.call(e,r)&&(n[r]=e[r]);return n})(o,["eventFilter"]);return(0,r.YP)(e,(p=s,d=t,function(...e){p((()=>d.apply(this,e)),{fn:d,thisArg:this,args:e})}),i);var p,d}(S,(()=>{try{null==S.value?n.removeItem(e):n.setItem(e,k.write(S.value))}catch(e){O(e)}}),{flush:h,deep:m,eventFilter:w}),S}function h(e){return function(e,t={}){const{window:n=p}=t;if(!n)return(0,r.iH)(!1);const s=n.matchMedia(e),i=(0,r.iH)(s.matches),l=e=>{i.value=e.matches};return"addEventListener"in s?s.addEventListener("change",l):s.addListener(l),o((()=>{"removeEventListener"in s?s.removeEventListener("change",l):s.removeListener(l)})),i}("(prefers-color-scheme: dark)",e)}var m,v;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,new Map,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,(v=m||(m={})).UP="UP",v.RIGHT="RIGHT",v.DOWN="DOWN",v.LEFT="LEFT",v.NONE="NONE",Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var g=n(6252),y=n(2262);const b=Symbol(""),w=()=>{const e=(0,g.f3)(b);if(!e)throw new Error("useDarkMode() is called without provider.");return e},O=()=>{const e=U(),t=h(),n=f("vuepress-color-scheme","auto"),r=(0,y.Fl)({get:()=>!!e.value.darkMode&&("auto"===n.value?t.value:"dark"===n.value),set(e){e===t.value?n.value="auto":n.value=e?"dark":"light"}});(0,g.JJ)(b,r),_(r)},_=e=>{const t=(t=e.value)=>{const n=null===window||void 0===window?void 0:window.document.querySelector("html");null==n||n.classList.toggle("dark",t)};(0,g.bv)((()=>{(0,g.YP)(e,t,{immediate:!0})})),(0,g.Ah)((()=>t()))};var E=n(480),S=n(2119);const k=(...e)=>{const t=(0,S.tv)().resolve(...e),n=t.matched[t.matched.length-1];if(!(null==n?void 0:n.redirect))return t;const{redirect:r}=n,o=(0,E.mf)(r)?r(t):r,s=(0,E.HD)(o)?{path:o}:o;return k({hash:t.hash,query:t.query,params:t.params,...s})},C=e=>{const t=k(e);return{text:t.meta.title||e,link:"404"===t.name?e:t.fullPath}};let j=null,P=null;const x={wait:()=>j,pending:()=>{j=new Promise((e=>P=e))},resolve:()=>{null==P||P(),j=null,P=null}},I=()=>x;var A=n(7621);const R=Symbol("sidebarItems"),T=()=>{const e=(0,g.f3)(R);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},L=()=>{const e=U(),t=(0,A.I2)(),n=(0,y.Fl)((()=>F(t.value,e.value)));(0,g.JJ)(R,n)},F=(e,t)=>{var n,r,o,s;const i=null!==(r=null!==(n=e.sidebar)&&void 0!==n?n:t.sidebar)&&void 0!==r?r:"auto",l=null!==(s=null!==(o=e.sidebarDepth)&&void 0!==o?o:t.sidebarDepth)&&void 0!==s?s:2;return e.home||!1===i?[]:"auto"===i?H(l):(0,E.kJ)(i)?M(i,l):(0,E.PO)(i)?$(i,l):[]},z=(e,t)=>t>0?e.map((e=>((e,t)=>({text:e.title,link:`#${e.slug}`,children:z(e.children,t)}))(e,t-1))):[],H=e=>{const t=(0,A.Vi)();return[{text:t.value.title,children:z(t.value.headers,e)}]},M=(e,t)=>{const n=(0,S.yj)(),r=(0,A.Vi)(),o=e=>{var s;let i;if(i=(0,E.HD)(e)?C(e):e,i.children)return{...i,children:i.children.map((e=>o(e)))};if(i.link===n.path){const e=1===(null===(s=r.value.headers[0])||void 0===s?void 0:s.level)?r.value.headers[0].children:r.value.headers;return{...i,children:z(e,t)}}return i};return e.map((e=>o(e)))},$=(e,t)=>{var n;const r=(0,S.yj)(),o=null!==(n=e[(0,E.gb)(e,r.path)])&&void 0!==n?n:[];return M(o,t)};var N=n(3197);const U=()=>(0,N.X6)()},4865:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}function s(e){return 100*(-1+e)}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,p=r.easing;return a.offsetWidth,i((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,function(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+s(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+s(e)+"%,0)"}:{"margin-left":s(e)+"%"}).transition="all "+t+"ms "+n,o}(e,u,p)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),a=e?"-100":s(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+a+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&d(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&d(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var i=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()})),t[n]||(t[n]=function(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,s=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+s)in n)return r;return t}(n))}function r(e,t,r){t=n(t),e.style[t]=r}return function(e,t){var n,o,s=arguments;if(2==s.length)for(n in t)void 0!==(o=t[n])&&t.hasOwnProperty(n)&&r(e,n,o);else r(e,s[1],s[2])}}();function a(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;a(n,t)||(e.className=r.substring(1))}function u(e,t){var n,r=p(e);a(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o=r.call(t,n,t,e))||(e.exports=o)},2938:(e,t,n)=>{"use strict";function r(e,t,n){var r,o,s;void 0===t&&(t=50),void 0===n&&(n={});var i=null!=(r=n.isImmediate)&&r,l=null!=(o=n.callback)&&o,a=n.maxWait,c=Date.now(),u=[];function p(){if(void 0!==a){var e=Date.now()-c;if(e+t>=a)return a-e}return t}var d=function(){var t=[].slice.call(arguments),n=this;return new Promise((function(r,o){var a=i&&void 0===s;if(void 0!==s&&clearTimeout(s),s=setTimeout((function(){if(s=void 0,c=Date.now(),!i){var r=e.apply(n,t);l&&l(r),u.forEach((function(e){return(0,e.resolve)(r)})),u=[]}}),p()),a){var d=e.apply(n,t);return l&&l(d),r(d)}u.push({resolve:r,reject:o})}))};return d.cancel=function(e){void 0!==s&&clearTimeout(s),u.forEach((function(t){return(0,t.reject)(e)})),u=[]},d}n.d(t,{D:()=>r})},2119:(e,t,n)=>{"use strict";n.d(t,{MA:()=>je,AJ:()=>F,p7:()=>Pe,PO:()=>T,yj:()=>Ae,tv:()=>Ie});var r=n(6252),o=n(2262);const s="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,i=e=>s?Symbol(e):"_vr_"+e,l=i("rvlm"),a=i("rvd"),c=i("r"),u=i("rl"),p=i("rvl"),d="undefined"!=typeof window,f=Object.assign;function h(e,t){const n={};for(const r in t){const o=t[r];n[r]=Array.isArray(o)?o.map(e):e(o)}return n}const m=()=>{},v=/\/$/;function g(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("?"),a=t.indexOf("#",l>-1?l:0);return l>-1&&(r=t.slice(0,l),s=t.slice(l+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=function(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let o,s,i=n.length-1;for(o=0;o<r.length;o++)if(s=r[o],1!==i&&"."!==s){if(".."!==s)break;i--}return n.slice(0,i).join("/")+"/"+r.slice(o-(o===r.length?1:0)).join("/")}(null!=r?r:t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function y(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function b(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function w(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!O(e[n],t[n]))return!1;return!0}function O(e,t){return Array.isArray(e)?_(e,t):Array.isArray(t)?_(t,e):e===t}function _(e,t){return Array.isArray(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}var E,S;!function(e){e.pop="pop",e.push="push"}(E||(E={})),function(e){e.back="back",e.forward="forward",e.unknown=""}(S||(S={}));const k=/^[^#]+#/;function C(e,t){return e.replace(k,"#")+t}const j=()=>({left:window.pageXOffset,top:window.pageYOffset});function P(e,t){return(history.state?history.state.position-t:-1)+e}const x=new Map;let I=()=>location.protocol+"//"+location.host;function A(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let t=o.includes(e.slice(s))?e.slice(s).length:1,n=o.slice(t);return"/"!==n[0]&&(n="/"+n),y(n,"")}return y(n,e)+r+o}function R(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?j():null}}function T(e){const t=function(e){const{history:t,location:n}=window,r={value:A(e,n)},o={value:t.state};function s(r,s,i){const l=e.indexOf("#"),a=l>-1?(n.host&&document.querySelector("base")?e:e.slice(l))+r:I()+e+r;try{t[i?"replaceState":"pushState"](s,"",a),o.value=s}catch(e){console.error(e),n[i?"replace":"assign"](a)}}return o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:r,state:o,push:function(e,n){const i=f({},o.value,t.state,{forward:e,scroll:j()});s(i.current,i,!0),s(e,f({},R(r.value,e,null),{position:i.position+1},n),!1),r.value=e},replace:function(e,n){s(e,f({},t.state,R(o.value.back,e,o.value.forward,!0),n,{position:o.value.position}),!0),r.value=e}}}(e=function(e){if(!e)if(d){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),e.replace(v,"")}(e)),n=function(e,t,n,r){let o=[],s=[],i=null;const l=({state:s})=>{const l=A(e,location),a=n.value,c=t.value;let u=0;if(s){if(n.value=l,t.value=s,i&&i===a)return void(i=null);u=c?s.position-c.position:0}else r(l);o.forEach((e=>{e(n.value,a,{delta:u,type:E.pop,direction:u?u>0?S.forward:S.back:S.unknown})}))};function a(){const{history:e}=window;e.state&&e.replaceState(f({},e.state,{scroll:j()}),"")}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",a),{pauseListeners:function(){i=n.value},listen:function(e){o.push(e);const t=()=>{const t=o.indexOf(e);t>-1&&o.splice(t,1)};return s.push(t),t},destroy:function(){for(const e of s)e();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",a)}}}(e,t.state,t.location,t.replace),r=f({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:C.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function L(e){return"string"==typeof e||"symbol"==typeof e}const F={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},z=i("nf");var H;function M(e,t){return f(new Error,{type:e,[z]:!0},t)}function $(e,t){return e instanceof Error&&z in e&&(null==t||!!(e.type&t))}!function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"}(H||(H={}));const N="[^/]+?",U={sensitive:!1,strict:!1,start:!0,end:!0},D=/[.+*?^${}()[\]/\\]/g;function J(e,t){let n=0;for(;n<e.length&&n<t.length;){const r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?1===e.length&&80===e[0]?-1:1:e.length>t.length?1===t.length&&80===t[0]?1:-1:0}function B(e,t){let n=0;const r=e.score,o=t.score;for(;n<r.length&&n<o.length;){const e=J(r[n],o[n]);if(e)return e;n++}return o.length-r.length}const q={type:0,value:""},V=/[a-zA-Z0-9_]/;function W(e,t,n){const r=function(e,t){const n=f({},U,t),r=[];let o=n.start?"^":"";const s=[];for(const t of e){const e=t.length?[]:[90];n.strict&&!t.length&&(o+="/");for(let r=0;r<t.length;r++){const i=t[r];let l=40+(n.sensitive?.25:0);if(0===i.type)r||(o+="/"),o+=i.value.replace(D,"\\$&"),l+=40;else if(1===i.type){const{value:e,repeatable:n,optional:a,regexp:c}=i;s.push({name:e,repeatable:n,optional:a});const u=c||N;if(u!==N){l+=10;try{new RegExp(`(${u})`)}catch(t){throw new Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let p=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(p=a&&t.length<2?`(?:/${p})`:"/"+p),a&&(p+="?"),o+=p,l+=20,a&&(l+=-8),n&&(l+=-20),".*"===u&&(l+=-50)}e.push(l)}r.push(e)}if(n.strict&&n.end){const e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(o+="/?"),n.end?o+="$":n.strict&&(o+="(?:/|$)");const i=new RegExp(o,n.sensitive?"":"i");return{re:i,score:r,keys:s,parse:function(e){const t=e.match(i),n={};if(!t)return null;for(let e=1;e<t.length;e++){const r=t[e]||"",o=s[e-1];n[o.name]=r&&o.repeatable?r.split("/"):r}return n},stringify:function(t){let n="",r=!1;for(const o of e){r&&n.endsWith("/")||(n+="/"),r=!1;for(const e of o)if(0===e.type)n+=e.value;else if(1===e.type){const{value:s,repeatable:i,optional:l}=e,a=s in t?t[s]:"";if(Array.isArray(a)&&!i)throw new Error(`Provided param "${s}" is an array but it is not repeatable (* or + modifiers)`);const c=Array.isArray(a)?a.join("/"):a;if(!c){if(!l)throw new Error(`Missing required param "${s}"`);o.length<2&&(n.endsWith("/")?n=n.slice(0,-1):r=!0)}n+=c}}return n}}}(function(e){if(!e)return[[]];if("/"===e)return[[q]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(e){throw new Error(`ERR (${n})/"${c}": ${e}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l,a=0,c="",u="";function p(){c&&(0===n?s.push({type:0,value:c}):1===n||2===n||3===n?(s.length>1&&("*"===l||"+"===l)&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:u,repeatable:"*"===l||"+"===l,optional:"*"===l||"?"===l})):t("Invalid state to consume buffer"),c="")}function d(){c+=l}for(;a<e.length;)if(l=e[a++],"\\"!==l||2===n)switch(n){case 0:"/"===l?(c&&p(),i()):":"===l?(p(),n=1):d();break;case 4:d(),n=r;break;case 1:"("===l?n=2:V.test(l)?d():(p(),n=0,"*"!==l&&"?"!==l&&"+"!==l&&a--);break;case 2:")"===l?"\\"==u[u.length-1]?u=u.slice(0,-1)+l:n=3:u+=l;break;case 3:p(),n=0,"*"!==l&&"?"!==l&&"+"!==l&&a--,u="";break;default:t("Unknown state")}else r=n,n=4;return 2===n&&t(`Unfinished custom RegExp for param "${c}"`),p(),i(),o}(e.path),n),o=f(r,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function G(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 Z(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function K(e){return e.reduce(((e,t)=>f(e,t.meta)),{})}function X(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Y=/#/g,Q=/&/g,ee=/\//g,te=/=/g,ne=/\?/g,re=/\+/g,oe=/%5B/g,se=/%5D/g,ie=/%5E/g,le=/%60/g,ae=/%7B/g,ce=/%7C/g,ue=/%7D/g,pe=/%20/g;function de(e){return encodeURI(""+e).replace(ce,"|").replace(oe,"[").replace(se,"]")}function fe(e){return de(e).replace(re,"%2B").replace(pe,"+").replace(Y,"%23").replace(Q,"%26").replace(le,"`").replace(ae,"{").replace(ue,"}").replace(ie,"^")}function he(e){return null==e?"":function(e){return de(e).replace(Y,"%23").replace(ne,"%3F")}(e).replace(ee,"%2F")}function me(e){try{return decodeURIComponent(""+e)}catch(e){}return""+e}function ve(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let e=0;e<n.length;++e){const r=n[e].replace(re," "),o=r.indexOf("="),s=me(o<0?r:r.slice(0,o)),i=o<0?null:me(r.slice(o+1));if(s in t){let e=t[s];Array.isArray(e)||(e=t[s]=[e]),e.push(i)}else t[s]=i}return t}function ge(e){let t="";for(let n in e){const r=e[n];(n=fe(n).replace(te,"%3D"),null!=r)?(Array.isArray(r)?r.map((e=>e&&fe(e))):[r&&fe(r)]).forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))})):void 0!==r&&(t+=(t.length?"&":"")+n)}return t}function ye(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=Array.isArray(r)?r.map((e=>null==e?null:""+e)):null==r?r:""+r)}return t}function be(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e,reset:function(){e=[]}}}function we(e,t,n,r,o){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise(((i,l)=>{const a=e=>{var a;!1===e?l(M(4,{from:n,to:t})):e instanceof Error?l(e):"string"==typeof(a=e)||a&&"object"==typeof a?l(M(2,{from:t,to:e})):(s&&r.enterCallbacks[o]===s&&"function"==typeof e&&s.push(e),i())},c=e.call(r&&r.instances[o],t,n,a);let u=Promise.resolve(c);e.length<3&&(u=u.then(a)),u.catch((e=>l(e)))}))}function Oe(e,t,n,r){const o=[];for(const l of e)for(const e in l.components){let a=l.components[e];if("beforeRouteEnter"===t||l.instances[e])if("object"==typeof(i=a)||"displayName"in i||"props"in i||"__vccOpts"in i){const s=(a.__vccOpts||a)[t];s&&o.push(we(s,n,r,l,e))}else{let i=a();o.push((()=>i.then((o=>{if(!o)return Promise.reject(new Error(`Couldn't resolve component "${e}" at "${l.path}"`));const i=(a=o).__esModule||s&&"Module"===a[Symbol.toStringTag]?o.default:o;var a;l.components[e]=i;const c=(i.__vccOpts||i)[t];return c&&we(c,n,r,l,e)()}))))}}var i;return o}function _e(e){const t=(0,r.f3)(c),n=(0,r.f3)(u),s=(0,o.Fl)((()=>t.resolve((0,o.SU)(e.to)))),i=(0,o.Fl)((()=>{const{matched:e}=s.value,{length:t}=e,r=e[t-1],o=n.matched;if(!r||!o.length)return-1;const i=o.findIndex(b.bind(null,r));if(i>-1)return i;const l=Se(e[t-2]);return t>1&&Se(r)===l&&o[o.length-1].path!==l?o.findIndex(b.bind(null,e[t-2])):i})),l=(0,o.Fl)((()=>i.value>-1&&function(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(!Array.isArray(o)||o.length!==r.length||r.some(((e,t)=>e!==o[t])))return!1}return!0}(n.params,s.value.params))),a=(0,o.Fl)((()=>i.value>-1&&i.value===n.matched.length-1&&w(n.params,s.value.params)));return{route:s,href:(0,o.Fl)((()=>s.value.href)),isActive:l,isExactActive:a,navigate:function(n={}){return function(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}}(n)?t[(0,o.SU)(e.replace)?"replace":"push"]((0,o.SU)(e.to)).catch(m):Promise.resolve()}}}const Ee=(0,r.aZ)({name:"RouterLink",props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:_e,setup(e,{slots:t}){const n=(0,o.qj)(_e(e)),{options:s}=(0,r.f3)(c),i=(0,o.Fl)((()=>({[ke(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[ke(e.exactActiveClass,s.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:i.value},o)}}});function Se(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ke=(e,t,n)=>null!=e?e:null!=t?t:n;function Ce(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const je=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},setup(e,{attrs:t,slots:n}){const s=(0,r.f3)(p),i=(0,o.Fl)((()=>e.route||s.value)),c=(0,r.f3)(a,0),u=(0,o.Fl)((()=>i.value.matched[c]));(0,r.JJ)(a,c+1),(0,r.JJ)(l,u),(0,r.JJ)(p,i);const d=(0,o.iH)();return(0,r.YP)((()=>[d.value,u.value,e.name]),(([e,t,n],[r,o,s])=>{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&&b(t,o)&&r||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=i.value,s=u.value,l=s&&s.components[e.name],a=e.name;if(!l)return Ce(n.default,{Component:l,route:o});const c=s.props[e.name],p=c?!0===c?o.params:"function"==typeof c?c(o):c:null,h=(0,r.h)(l,f({},p,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[a]=null)},ref:d}));return Ce(n.default,{Component:h,route:o})||h}}});function Pe(e){const t=function(e,t){const n=[],r=new Map;function o(e,n,r){const l=!r,a=function(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:G(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||{}:{default:e.component}}}(e);a.aliasOf=r&&r.record;const c=X(t,e),u=[a];if("alias"in e){const t="string"==typeof e.alias?[e.alias]:e.alias;for(const e of t)u.push(f({},a,{components:r?r.record.components:a.components,path:e,aliasOf:r?r.record:a}))}let p,d;for(const t of u){const{path:u}=t;if(n&&"/"!==u[0]){const e=n.record.path,r="/"===e[e.length-1]?"":"/";t.path=n.record.path+(u&&r+u)}if(p=W(t,n,c),r?r.alias.push(p):(d=d||p,d!==p&&d.alias.push(p),l&&e.name&&!Z(p)&&s(e.name)),"children"in a){const e=a.children;for(let t=0;t<e.length;t++)o(e[t],p,r&&r.children[t])}r=r||p,i(p)}return d?()=>{s(d)}:m}function s(e){if(L(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 i(e){let t=0;for(;t<n.length&&B(e,n[t])>=0;)t++;n.splice(t,0,e),e.record.name&&!Z(e)&&r.set(e.record.name,e)}return t=X({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>o(e))),{addRoute:o,resolve:function(e,t){let o,s,i,l={};if("name"in e&&e.name){if(o=r.get(e.name),!o)throw M(1,{location:e});i=o.record.name,l=f(function(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}(t.params,o.keys.filter((e=>!e.optional)).map((e=>e.name))),e.params),s=o.stringify(l)}else if("path"in e)s=e.path,o=n.find((e=>e.re.test(s))),o&&(l=o.parse(s),i=o.record.name);else{if(o=t.name?r.get(t.name):n.find((e=>e.re.test(t.path))),!o)throw M(1,{location:e,currentLocation:t});i=o.record.name,l=f({},t.params,e.params),s=o.stringify(l)}const a=[];let c=o;for(;c;)a.unshift(c.record),c=c.parent;return{name:i,path:s,params:l,matched:a,meta:K(a)}},removeRoute:s,getRoutes:function(){return n},getRecordMatcher:function(e){return r.get(e)}}}(e.routes,e),n=e.parseQuery||ve,s=e.stringifyQuery||ge,i=e.history,l=be(),a=be(),v=be(),y=(0,o.XI)(F);let O=F;d&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const _=h.bind(null,(e=>""+e)),S=h.bind(null,he),k=h.bind(null,me);function C(e,r){if(r=f({},r||y.value),"string"==typeof e){const o=g(n,e,r.path),s=t.resolve({path:o.path},r),l=i.createHref(o.fullPath);return f(o,s,{params:k(s.params),hash:me(o.hash),redirectedFrom:void 0,href:l})}let o;if("path"in e)o=f({},e,{path:g(n,e.path,r.path).path});else{const t=f({},e.params);for(const e in t)null==t[e]&&delete t[e];o=f({},e,{params:S(e.params)}),r.params=S(r.params)}const l=t.resolve(o,r),a=e.hash||"";l.params=_(k(l.params));const c=function(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}(s,f({},e,{hash:(u=a,de(u).replace(ae,"{").replace(ue,"}").replace(ie,"^")),path:l.path}));var u;const p=i.createHref(c);return f({fullPath:c,hash:a,query:s===ge?ye(e.query):e.query||{}},l,{redirectedFrom:void 0,href:p})}function I(e){return"string"==typeof e?g(n,e,y.value.path):f({},e)}function A(e,t){if(O!==e)return M(8,{from:t,to:e})}function R(e){return z(e)}function T(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={}),f({query:e.query,hash:e.hash,params:e.params},r)}}function z(e,t){const n=O=C(e),r=y.value,o=e.state,i=e.force,l=!0===e.replace,a=T(n);if(a)return z(f(I(a),{state:o,force:i,replace:l}),t||n);const c=n;let u;return c.redirectedFrom=t,!i&&function(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&b(t.matched[r],n.matched[o])&&w(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}(s,r,n)&&(u=M(16,{to:c,from:r}),te(r,r,!0,!1)),(u?Promise.resolve(u):N(c,r)).catch((e=>$(e)?e:Q(e,c,r))).then((e=>{if(e){if($(e,2))return z(f(I(e.to),{state:o,force:i,replace:l}),t||c)}else e=D(c,r,!0,l,o);return U(c,r,e),e}))}function H(e,t){const n=A(e,t);return n?Promise.reject(n):Promise.resolve()}function N(e,t){let n;const[r,o,s]=function(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;i<s;i++){const s=t.matched[i];s&&(e.matched.find((e=>b(e,s)))?r.push(s):n.push(s));const l=e.matched[i];l&&(t.matched.find((e=>b(e,l)))||o.push(l))}return[n,r,o]}(e,t);n=Oe(r.reverse(),"beforeRouteLeave",e,t);for(const o of r)o.leaveGuards.forEach((r=>{n.push(we(r,e,t))}));const i=H.bind(null,e,t);return n.push(i),xe(n).then((()=>{n=[];for(const r of l.list())n.push(we(r,e,t));return n.push(i),xe(n)})).then((()=>{n=Oe(o,"beforeRouteUpdate",e,t);for(const r of o)r.updateGuards.forEach((r=>{n.push(we(r,e,t))}));return n.push(i),xe(n)})).then((()=>{n=[];for(const r of e.matched)if(r.beforeEnter&&!t.matched.includes(r))if(Array.isArray(r.beforeEnter))for(const o of r.beforeEnter)n.push(we(o,e,t));else n.push(we(r.beforeEnter,e,t));return n.push(i),xe(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=Oe(s,"beforeRouteEnter",e,t),n.push(i),xe(n)))).then((()=>{n=[];for(const r of a.list())n.push(we(r,e,t));return n.push(i),xe(n)})).catch((e=>$(e,8)?e:Promise.reject(e)))}function U(e,t,n){for(const r of v.list())r(e,t,n)}function D(e,t,n,r,o){const s=A(e,t);if(s)return s;const l=t===F,a=d?history.state:{};n&&(r||l?i.replace(e.fullPath,f({scroll:l&&a&&a.scroll},o)):i.push(e.fullPath,o)),y.value=e,te(e,t,n,l),ee()}let J;let q,V=be(),Y=be();function Q(e,t,n){ee(e);const r=Y.list();return r.length?r.forEach((r=>r(e,t,n))):console.error(e),Promise.reject(e)}function ee(e){q||(q=!0,J=i.listen(((e,t,n)=>{const r=C(e),o=T(r);if(o)return void z(f(o,{replace:!0}),r).catch(m);O=r;const s=y.value;var l,a;d&&(l=P(s.fullPath,n.delta),a=j(),x.set(l,a)),N(r,s).catch((e=>$(e,12)?e:$(e,2)?(z(e.to,r).then((e=>{$(e,20)&&!n.delta&&n.type===E.pop&&i.go(-1,!1)})).catch(m),Promise.reject()):(n.delta&&i.go(-n.delta,!1),Q(e,r,s)))).then((e=>{(e=e||D(r,s,!1))&&(n.delta?i.go(-n.delta,!1):n.type===E.pop&&$(e,20)&&i.go(-1,!1)),U(r,s,e)})).catch(m)})),V.list().forEach((([t,n])=>e?n(e):t())),V.reset())}function te(t,n,o,s){const{scrollBehavior:i}=e;if(!d||!i)return Promise.resolve();const l=!o&&function(e){const t=x.get(e);return x.delete(e),t}(P(t.fullPath,0))||(s||!o)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>i(t,n,l))).then((e=>e&&function(e){let t;if("el"in e){const n=e.el,r="string"==typeof n&&n.startsWith("#"),o="string"==typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=function(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)}}(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)}(e))).catch((e=>Q(e,t,n)))}const ne=e=>i.go(e);let re;const oe=new Set,se={currentRoute:y,addRoute:function(e,n){let r,o;return L(e)?(r=t.getRecordMatcher(e),o=n):o=e,t.addRoute(o,r)},removeRoute:function(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)},hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map((e=>e.record))},resolve:C,options:e,push:R,replace:function(e){return R(f(I(e),{replace:!0}))},go:ne,back:()=>ne(-1),forward:()=>ne(1),beforeEach:l.add,beforeResolve:a.add,afterEach:v.add,onError:Y.add,isReady:function(){return q&&y.value!==F?Promise.resolve():new Promise(((e,t)=>{V.add([e,t])}))},install(e){e.component("RouterLink",Ee),e.component("RouterView",je),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,o.SU)(y)}),d&&!re&&y.value===F&&(re=!0,R(i.location).catch((e=>{})));const t={};for(const e in F)t[e]=(0,o.Fl)((()=>y.value[e]));e.provide(c,this),e.provide(u,(0,o.qj)(t)),e.provide(p,y);const n=e.unmount;oe.add(e),e.unmount=function(){oe.delete(e),oe.size<1&&(O=F,J&&J(),y.value=F,re=!1,q=!1),n()}}};return se}function xe(e){return e.reduce(((e,t)=>e.then((()=>t()))),Promise.resolve())}function Ie(){return(0,r.f3)(c)}function Ae(){return(0,r.f3)(u)}}}]);
@@ -0,0 +1,8 @@
1
+ /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
2
+ * @license MIT */
3
+
4
+ /*!
5
+ * vue-router v4.0.12
6
+ * (c) 2021 Eduardo San Martin Morote
7
+ * @license MIT
8
+ */
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[143],{3131:(e,t,n)=>{n.d(t,{g:()=>s});var a=n(2009),d=n(6971),o=n(1598);const s=[a.Z,d.Z,o.Z]},9947:(e,t,n)=>{n.d(t,{p:()=>a});const a=[n(3051).Z]},4611:(e,t,n)=>{n.d(t,{l:()=>s});var a=n(8866),d=n(1263),o=n(6243);const s=[a.Z,d.Z,o.Z]},4150:(e,t,n)=>{n.d(t,{Z:()=>d});var a=n(6252);const d={404:(0,a.RC)((()=>n.e(491).then(n.bind(n,8491)))),Layout:(0,a.RC)((()=>n.e(293).then(n.bind(n,3293))))}},6056:(e,t,n)=>{n.d(t,{b:()=>d});var a=n(6252);const d={"v-8daa1a0e":(0,a.RC)((()=>n.e(509).then(n.bind(n,1829)))),"v-7c87f26e":(0,a.RC)((()=>n.e(889).then(n.bind(n,1787)))),"v-510ed0d4":(0,a.RC)((()=>n.e(495).then(n.bind(n,5066)))),"v-fffb8e28":(0,a.RC)((()=>n.e(807).then(n.bind(n,4595)))),"v-0aca7ba6":(0,a.RC)((()=>n.e(27).then(n.bind(n,1701)))),"v-61f728ca":(0,a.RC)((()=>n.e(283).then(n.bind(n,8156)))),"v-30acb564":(0,a.RC)((()=>n.e(901).then(n.bind(n,2870)))),"v-5db8da3a":(0,a.RC)((()=>n.e(625).then(n.bind(n,3350)))),"v-e8c55052":(0,a.RC)((()=>n.e(651).then(n.bind(n,4493)))),"v-b4a42144":(0,a.RC)((()=>n.e(407).then(n.bind(n,3838)))),"v-1ad821fa":(0,a.RC)((()=>n.e(22).then(n.bind(n,8718)))),"v-08683c60":(0,a.RC)((()=>n.e(332).then(n.bind(n,6250)))),"v-677dfaed":(0,a.RC)((()=>n.e(745).then(n.bind(n,1253)))),"v-0b5e3c8c":(0,a.RC)((()=>n.e(363).then(n.bind(n,6112)))),"v-4637f9e4":(0,a.RC)((()=>n.e(418).then(n.bind(n,1255)))),"v-5954bcb2":(0,a.RC)((()=>n.e(317).then(n.bind(n,8638)))),"v-3706649a":(0,a.RC)((()=>n.e(88).then(n.bind(n,8109))))}},9706:(e,t,n)=>{n.d(t,{T:()=>a});const a={"v-8daa1a0e":()=>n.e(509).then(n.bind(n,6464)).then((({data:e})=>e)),"v-7c87f26e":()=>n.e(889).then(n.bind(n,9459)).then((({data:e})=>e)),"v-510ed0d4":()=>n.e(495).then(n.bind(n,3707)).then((({data:e})=>e)),"v-fffb8e28":()=>n.e(807).then(n.bind(n,9570)).then((({data:e})=>e)),"v-0aca7ba6":()=>n.e(27).then(n.bind(n,7726)).then((({data:e})=>e)),"v-61f728ca":()=>n.e(283).then(n.bind(n,4773)).then((({data:e})=>e)),"v-30acb564":()=>n.e(901).then(n.bind(n,8835)).then((({data:e})=>e)),"v-5db8da3a":()=>n.e(625).then(n.bind(n,8682)).then((({data:e})=>e)),"v-e8c55052":()=>n.e(651).then(n.bind(n,3029)).then((({data:e})=>e)),"v-b4a42144":()=>n.e(407).then(n.bind(n,7952)).then((({data:e})=>e)),"v-1ad821fa":()=>n.e(22).then(n.bind(n,2336)).then((({data:e})=>e)),"v-08683c60":()=>n.e(332).then(n.bind(n,5845)).then((({data:e})=>e)),"v-677dfaed":()=>n.e(745).then(n.bind(n,7951)).then((({data:e})=>e)),"v-0b5e3c8c":()=>n.e(363).then(n.bind(n,3594)).then((({data:e})=>e)),"v-4637f9e4":()=>n.e(418).then(n.bind(n,3959)).then((({data:e})=>e)),"v-5954bcb2":()=>n.e(317).then(n.bind(n,1535)).then((({data:e})=>e)),"v-3706649a":()=>n.e(88).then(n.bind(n,1801)).then((({data:e})=>e))}},4634:(e,t,n)=>{n.d(t,{g:()=>d});var a=n(4802);const d=[["v-8daa1a0e","/","",["/index.html","/README.md"]],["v-7c87f26e","/contribute/","Contribute",["/contribute/index.html","/contribute/README.md"]],["v-510ed0d4","/changelog/","Change Log",["/changelog/index.html","/changelog/README.md"]],["v-fffb8e28","/guide/","Guide",["/guide/index.html","/guide/README.md"]],["v-0aca7ba6","/examples/","Examples",["/examples/index.html","/examples/README.md"]],["v-61f728ca","/examples/example-nordpool-current-state.html","Nord Pool and current state node",["/examples/example-nordpool-current-state","/examples/example-nordpool-current-state.md"]],["v-30acb564","/examples/example-nordpool-events-state.html","Nord Pool and events: state node",["/examples/example-nordpool-events-state","/examples/example-nordpool-events-state.md"]],["v-5db8da3a","/examples/example-tibber-mqtt.html","Tibber, a switch and MQTT",["/examples/example-tibber-mqtt","/examples/example-tibber-mqtt.md"]],["v-e8c55052","/nodes/","Nodes",["/nodes/index.html","/nodes/README.md"]],["v-b4a42144","/nodes/old-power-saver-doc.html","node-red-contrib-power-saver v2 (deprecated)",["/nodes/old-power-saver-doc","/nodes/old-power-saver-doc.md"]],["v-1ad821fa","/nodes/power-saver.html","power-saver",["/nodes/power-saver","/nodes/power-saver.md"]],["v-08683c60","/nodes/ps-elvia-add-tariff.html","ps-elvia-add-tariff",["/nodes/ps-elvia-add-tariff","/nodes/ps-elvia-add-tariff.md"]],["v-677dfaed","/nodes/ps-receive-price.html","ps-receive-price",["/nodes/ps-receive-price","/nodes/ps-receive-price.md"]],["v-0b5e3c8c","/nodes/ps-strategy-best-save.html","ps-strategy-best-save",["/nodes/ps-strategy-best-save","/nodes/ps-strategy-best-save.md"]],["v-4637f9e4","/nodes/ps-strategy-lowest-price.html","ps-strategy-lowest-price",["/nodes/ps-strategy-lowest-price","/nodes/ps-strategy-lowest-price.md"]],["v-5954bcb2","/nodes/strategy-input.html","Strategy input format",["/nodes/strategy-input","/nodes/strategy-input.md"]],["v-3706649a","/404.html","",["/404"]]].reduce(((e,[t,n,d,o])=>(e.push({name:t,path:n,component:a.Y,meta:{title:d}},...o.map((e=>({path:e,redirect:n})))),e)),[{name:"404",path:"/:catchAll(.*)",component:a.Y}])},5220:(e,t,n)=>{n.d(t,{H:()=>a});const a={base:"/node-red-contrib-power-saver/",lang:"en-US",title:"Power Saver",description:"A Node-RED note to save money on hourly changing power prices",head:[["script",{src:"https://c6.patreon.com/becomePatronButton.bundle.js"}],["link",{rel:"icon",href:"/euro.png"}]],locales:{}}},2232:(e,t,n)=>{n.d(t,{f:()=>a});const a={navbar:[{text:"Guide",link:"/guide/"},{text:"Nodes",link:"/nodes/"},{text:"Examples",link:"/examples/"},{text:"Contribute",link:"/contribute/"},{text:"Changes",link:"/changelog/"}],sidebar:{"/guide/":[{text:"Guide",children:["/guide/README.md"]}],"/nodes/":[{text:"Nodes",children:[{text:"Power Saver",link:"/nodes/power-saver.md"},{text:"Strategy nodes",children:["/nodes/ps-strategy-best-save.md","/nodes/ps-strategy-lowest-price.md"]},{text:"Utility nodes",children:["/nodes/ps-receive-price.md"]},{text:"Grid tariff nodes",children:["/nodes/ps-elvia-add-tariff.md"]}]},{text:"Data format",children:["/nodes/strategy-input.md"]}],"/examples/":[{text:"Examples",children:["/examples/example-nordpool-current-state.md","/examples/example-nordpool-events-state.md","/examples/example-tibber-mqtt.md"]}],"/contribute/":"auto","/changelog/":"auto"},locales:{"/":{selectLanguageName:"English"}},logo:null,darkMode:!0,repo:null,selectLanguageText:"Languages",selectLanguageAriaLabel:"Select language",sidebarDepth:2,editLink:!0,editLinkText:"Edit this page",lastUpdated:!0,lastUpdatedText:"Last Updated",contributors:!0,contributorsText:"Contributors",notFound:["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],backToHome:"Take me home",openInNewWindow:"open in new window",toggleDarkMode:"toggle dark mode",toggleSidebar:"toggle sidebar"}}},e=>{e.O(0,[460,812],(()=>(5698,e(e.s=5698)))),e.O()}]);
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e,r,a,t={},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var a=o[e]={exports:{}};return t[e].call(a.exports,a,a.exports,n),a.exports}n.m=t,e=[],n.O=(r,a,t,o)=>{if(!a){var d=1/0;for(v=0;v<e.length;v++){for(var[a,t,o]=e[v],i=!0,c=0;c<a.length;c++)(!1&o||d>=o)&&Object.keys(n.O).every((e=>n.O[e](a[c])))?a.splice(c--,1):(i=!1,o<d&&(d=o));if(i){e.splice(v--,1);var s=t();void 0!==s&&(r=s)}}return r}o=o||0;for(var v=e.length;v>0&&e[v-1][2]>o;v--)e[v]=e[v-1];e[v]=[a,t,o]},n.d=(e,r)=>{for(var a in r)n.o(r,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,a)=>(n.f[a](e,r),r)),[])),n.u=e=>"assets/js/"+({22:"v-1ad821fa",27:"v-0aca7ba6",88:"v-3706649a",283:"v-61f728ca",317:"v-5954bcb2",332:"v-08683c60",363:"v-0b5e3c8c",407:"v-b4a42144",418:"v-4637f9e4",495:"v-510ed0d4",509:"v-8daa1a0e",625:"v-5db8da3a",651:"v-e8c55052",745:"v-677dfaed",807:"v-fffb8e28",889:"v-7c87f26e",901:"v-30acb564"}[e]||e)+"."+{22:"85407071",27:"aec5ba75",88:"d7f73384",283:"802ab15e",293:"5e967839",317:"be07962c",332:"07fe8291",363:"d008d8bc",407:"6e0c5aa0",418:"22ab9413",491:"c183eba3",495:"204a09ec",509:"db8b59c6",625:"ac192f35",651:"5f85b6cd",745:"9bbbd037",807:"e815e852",889:"457a1a60",901:"73b8e29f"}[e]+".js",n.miniCssF=e=>{},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},a="node-red-contrib-power-saver:",n.l=(e,t,o,d)=>{if(r[e])r[e].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName("script"),v=0;v<s.length;v++){var l=s[v];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==a+o){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,n.nc&&i.setAttribute("nonce",n.nc),i.setAttribute("data-webpack",a+o),i.src=e),r[e]=[t];var b=(a,t)=>{i.onerror=i.onload=null,clearTimeout(f);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(t))),a)return a(t)},f=setTimeout(b.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=b.bind(null,i.onerror),i.onload=b.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/node-red-contrib-power-saver/",(()=>{var e={523:0,460:0};n.f.j=(r,a)=>{var t=n.o(e,r)?e[r]:void 0;if(0!==t)if(t)a.push(t[2]);else if(/^(460|523)$/.test(r))e[r]=0;else{var o=new Promise(((a,o)=>t=e[r]=[a,o]));a.push(t[2]=o);var d=n.p+n.u(r),i=new Error;n.l(d,(a=>{if(n.o(e,r)&&(0!==(t=e[r])&&(e[r]=void 0),t)){var o=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+d+")",i.name="ChunkLoadError",i.type=o,i.request=d,t[1](i)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,a)=>{var t,o,[d,i,c]=a,s=0;if(d.some((r=>0!==e[r]))){for(t in i)n.o(i,t)&&(n.m[t]=i[t]);if(c)var v=c(n)}for(r&&r(a);s<d.length;s++)o=d[s],n.o(e,o)&&e[o]&&e[o][0](),e[d[s]]=0;return n.O(v)},a=self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[];a.forEach(r.bind(null,0)),a.push=r.bind(null,a.push.bind(a))})()})();
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[332],{5845:(e,t,i)=>{i.r(t),i.d(t,{data:()=>a});const a={key:"v-08683c60",path:"/nodes/ps-elvia-add-tariff.html",title:"ps-elvia-add-tariff",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"Description",slug:"description",children:[]},{level:2,title:"Configuration",slug:"configuration",children:[]},{level:2,title:"Input",slug:"input",children:[]},{level:2,title:"Output",slug:"output",children:[]}],filePathRelative:"nodes/ps-elvia-add-tariff.md",git:{updatedTime:1639315027e3,contributors:[{name:"Otto Paulsen",email:"ottpau@gmail.com",commits:1}]}}},6250:(e,t,i)=>{i.r(t),i.d(t,{default:()=>H});var a=i(6252),n=i(5824),o=i(2101),r=i(223),s=i(9858),l=i(6473),u=i(5307);const d=(0,a._)("h1",{id:"ps-elvia-add-tariff",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#ps-elvia-add-tariff","aria-hidden":"true"},"#"),(0,a.Uk)(" ps-elvia-add-tariff")],-1),p=(0,a._)("p",null,[(0,a._)("img",{src:n,alt:"ps-elvia-add-tariff"})],-1),c=(0,a._)("p",null,"Node to add grid tariff from Elvia.",-1),f=(0,a._)("div",{class:"custom-container warning"},[(0,a._)("p",{class:"custom-container-title"},"Elvia API"),(0,a._)("p",null,[(0,a.Uk)("You need an Elvia API subscription key to use this node. See "),(0,a._)("a",{href:"#elvia-configuration"},"configuration"),(0,a.Uk)(".")])],-1),h=(0,a._)("h2",{id:"description",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#description","aria-hidden":"true"},"#"),(0,a.Uk)(" Description")],-1),g=(0,a._)("p",null,[(0,a.Uk)("When grid tariff changes from hour to hour, this should normally also be considered when finding the most favorable hours to use power. This node retrieves prices from Elvia, so if you are an elvia customer, you can put this node between the "),(0,a._)("code",null,"ps-receive-price"),(0,a.Uk)(" node and the strategy nodes. When configured, it will add Elvia tariff to the power prices before doing the calculation:")],-1),_=(0,a._)("p",null,[(0,a._)("img",{src:o,alt:"Elvia flow"})],-1),v=(0,a._)("h2",{id:"configuration",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#configuration","aria-hidden":"true"},"#"),(0,a.Uk)(" Configuration")],-1),m={class:"custom-container warning"},b=(0,a._)("p",{class:"custom-container-title"},"Elvia API subscription key",-1),k=(0,a.Uk)("This node uses the Elvia API, and you must get your own Elvia API subscription key in order to use it. Go to the "),y={href:"https://elvia.portal.azure-api.net/",target:"_blank",rel:"noopener noreferrer"},U=(0,a.Uk)("Elvia Developer Portal"),w=(0,a.Uk)(" to sign up, and then request for a subscription to the GridTariffAPI. When your subscription is approved, you will find your subscription key in the "),E={href:"https://elvia.portal.azure-api.net/developer",target:"_blank",rel:"noopener noreferrer"},x=(0,a.Uk)("developer portal"),P=(0,a.Uk)(" under Your subscriptions."),I=(0,a._)("p",null,[(0,a.Uk)("The first time you use this node, you must create a "),(0,a._)("code",null,"ps-elvia-config"),(0,a.Uk)(" entry. Click on the edit button to the right of Elvia Config:")],-1),T=(0,a._)("p",null,[(0,a._)("img",{src:r,alt:"Elvia configuration"})],-1),A=(0,a._)("p",null,"Then enter the Elvia API subscription key:",-1),W=(0,a._)("p",null,[(0,a._)("img",{src:s,alt:"Elvia configuration"})],-1),C=(0,a._)("p",null,"After entering the Elvia API subscription key the first time, it is not possible to select tariff.",-1),O=(0,a._)("p",null,[(0,a._)("img",{src:l,alt:"Elvia configuration"})],-1),D=(0,a._)("p",null,"To fix that, save the config, deploy, and then open the node again. Now you should be able to select the right tariff:",-1),Y=(0,a._)("p",null,[(0,a._)("img",{src:u,alt:"Elvia configuration"})],-1),z=(0,a._)("p",null,"The next time you use this node, you can select the same config as you created the first time, and then you can also select tariff immediately.",-1),G=(0,a._)("h2",{id:"input",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#input","aria-hidden":"true"},"#"),(0,a.Uk)(" Input")],-1),L=(0,a.Uk)("The input is the "),N=(0,a.Uk)("common strategy input format"),R=(0,a._)("h2",{id:"output",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#output","aria-hidden":"true"},"#"),(0,a.Uk)(" Output")],-1),S=(0,a.Uk)("The input is the "),Z=(0,a.Uk)("common strategy input format"),q={},H=(0,i(3744).Z)(q,[["render",function(e,t){const i=(0,a.up)("OutboundLink"),n=(0,a.up)("RouterLink");return(0,a.wg)(),(0,a.iD)(a.HY,null,[d,p,c,f,h,g,_,v,(0,a._)("div",m,[b,(0,a._)("p",null,[k,(0,a._)("a",y,[U,(0,a.Wm)(i)]),w,(0,a._)("a",E,[x,(0,a.Wm)(i)]),P])]),I,T,A,W,C,O,D,Y,z,G,(0,a._)("p",null,[L,(0,a.Wm)(n,{to:"/nodes/strategy-input.html"},{default:(0,a.w5)((()=>[N])),_:1})]),R,(0,a._)("p",null,[S,(0,a.Wm)(n,{to:"/nodes/strategy-input.html"},{default:(0,a.w5)((()=>[Z])),_:1})])],64)}]])},3744:(e,t)=>{t.Z=(e,t)=>{const i=e.__vccOpts||e;for(const[e,a]of t)i[e]=a;return i}},223:(e,t,i)=>{e.exports=i.p+"assets/img/elvia-config-no-config.b4bb972c.png"},6473:(e,t,i)=>{e.exports=i.p+"assets/img/elvia-config-no-tariff.3f89aba8.png"},5307:(e,t,i)=>{e.exports=i.p+"assets/img/elvia-config-select-tariff.0f73fd56.png"},9858:(e,t,i)=>{e.exports=i.p+"assets/img/elvia-config-subscription-key.8be8ab8a.png"},2101:(e,t,i)=>{e.exports=i.p+"assets/img/elvia-flow.bae2a4d5.png"},5824:(e,t,i)=>{e.exports=i.p+"assets/img/node-ps-elvia-add-tariff.94ea2b09.png"}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[27],{7726:(e,a,t)=>{t.r(a),t.d(a,{data:()=>r});const r={key:"v-0aca7ba6",path:"/examples/",title:"Examples",lang:"en-US",frontmatter:{},excerpt:"",headers:[],filePathRelative:"examples/README.md",git:{updatedTime:1639315027e3,contributors:[{name:"Otto Paulsen",email:"ottpau@gmail.com",commits:1}]}}},1701:(e,a,t)=>{t.r(a),t.d(a,{default:()=>n});const r=(0,t(6252).uE)('<h1 id="examples" tabindex="-1"><a class="header-anchor" href="#examples" aria-hidden="true">#</a> Examples</h1><p><a href="./example-nordpool-current-state">Nord Pool and <code>current state</code> node in HA</a><br><a href="./example-nordpool-events-state">Nord Pool and <code>events: state</code> node in HA</a><br><a href="./example-tibber-mqtt">Tibber and mqtt</a></p>',2),o={},n=(0,t(3744).Z)(o,[["render",function(e,a){return r}]])},3744:(e,a)=>{a.Z=(e,a)=>{const t=e.__vccOpts||e;for(const[e,r]of a)t[e]=r;return t}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[363],{3594:(e,n,s)=>{s.r(n),s.d(n,{data:()=>a});const a={key:"v-0b5e3c8c",path:"/nodes/ps-strategy-best-save.html",title:"ps-strategy-best-save",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"Description",slug:"description",children:[]},{level:2,title:"Configuration",slug:"configuration",children:[{level:3,title:"Dynamic config",slug:"dynamic-config",children:[]}]},{level:2,title:"Input",slug:"input",children:[]},{level:2,title:"Output",slug:"output",children:[{level:3,title:"Output 1",slug:"output-1",children:[]},{level:3,title:"Output 2",slug:"output-2",children:[]},{level:3,title:"Output 3",slug:"output-3",children:[]}]},{level:2,title:"Algorithm",slug:"algorithm",children:[]},{level:2,title:"Integration with MagicMirror",slug:"integration-with-magicmirror",children:[]}],filePathRelative:"nodes/ps-strategy-best-save.md",git:{updatedTime:1639315027e3,contributors:[{name:"Otto Paulsen",email:"ottpau@gmail.com",commits:1}]}}},6112:(e,n,s)=>{s.r(n),s.d(n,{default:()=>ae});var a=s(6252),t=s(7188);const o=(0,a._)("h1",{id:"ps-strategy-best-save",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#ps-strategy-best-save","aria-hidden":"true"},"#"),(0,a.Uk)(" ps-strategy-best-save")],-1),r=(0,a._)("p",null,[(0,a._)("img",{src:t,alt:"ps-strategy-best-save"})],-1),l=(0,a._)("p",null,"Strategy node to postpone power consumption until the price is lower.",-1),i=(0,a._)("h2",{id:"description",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#description","aria-hidden":"true"},"#"),(0,a.Uk)(" Description")],-1),u=(0,a._)("p",null,"This strategy turns off the hours where the price difference is largest compared to the next hour that is on. The idea is that the power you are not using when the switch is turned off, will be used immediately when the switch is turned on. This would fit well for turning off a water heater or another thermostat controlled heater.",-1),p=(0,a._)("p",null,[(0,a.Uk)("The picture at the bottom of the page, under "),(0,a._)("a",{href:"#integration-with-magicmirror"},"Integration with MagicMirror"),(0,a.Uk)(", illustrates this by the purple strokes, taking the price from the top of the price curve to the level of the first hour after the save-period.")],-1),c=(0,a._)("h2",{id:"configuration",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#configuration","aria-hidden":"true"},"#"),(0,a.Uk)(" Configuration")],-1),_=(0,a._)("p",null,[(0,a._)("img",{src:"/best-save-config.png",alt:"Best Save Config"})],-1),h=(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",null,"Value"),(0,a._)("th",null,"Description")])]),(0,a._)("tbody",null,[(0,a._)("tr",null,[(0,a._)("td",null,"Max per sequence"),(0,a._)("td",null,"Maximum number of hours to turn off in a sequence.")]),(0,a._)("tr",null,[(0,a._)("td",null,"Min recover"),(0,a._)("td",null,"Minimum hours to turn on immediately after a period when turned off the maximum number of hours that is allowed to be turned off")]),(0,a._)("tr",null,[(0,a._)("td",null,"Min saving"),(0,a._)("td",null,"Minimum amount to save per kWh in order to bother turning it off. It is recommended to have some amount here, e.g. 2 cents / 2 øre. No point in saving 0.001, is it?")]),(0,a._)("tr",null,[(0,a._)("td",null,"Schedule for"),(0,a._)("td",null,"Select to schedule for the whole data set or only from the current hour.")]),(0,a._)("tr",null,[(0,a._)("td",null,"Send when rescheduling"),(0,a._)("td",null,"Check this to make sure on or off output is sent immediately after rescheduling")]),(0,a._)("tr",null,[(0,a._)("td",null,"If no schedule, send"),(0,a._)("td",null,"What to do if there is no valid schedule any more (turn on or off).")])])],-1),k=(0,a._)("div",{class:"custom-container warning"},[(0,a._)("p",{class:"custom-container-title"},"Min recover"),(0,a._)("p",null,[(0,a.Uk)("NB! The "),(0,a._)("code",null,"Min recover"),(0,a.Uk)(" only has effect if the previous save-period is of length "),(0,a._)("code",null,"Max per sequence"),(0,a.Uk)(". If the save-period is shorter, the following on-period may be as short as one hour.")])],-1),d=(0,a._)("h3",{id:"dynamic-config",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#dynamic-config","aria-hidden":"true"},"#"),(0,a.Uk)(" Dynamic config")],-1),b=(0,a._)("p",null,"It is possible to change config dynamically by sending a config message to the node. The config messages has a payload with a config object like this example:",-1),m=(0,a._)("div",{class:"language-json ext-json line-numbers-mode"},[(0,a._)("pre",{class:"language-json"},[(0,a._)("code",null,[(0,a._)("span",{class:"token property"},'"payload"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token punctuation"},"{"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"config"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token punctuation"},"{"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"maxHoursToSaveInSequence"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token number"},"4"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"minHoursOnAfterMaxSequenceSaved"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token number"},"2"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"minSaving"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token number"},"0.02"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"sendCurrentValueWhenRescheduling"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"true"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"outputIfNoSchedule"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"true"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"scheduleOnlyFromCurrentTime"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"false"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"}"),(0,a.Uk)("\n"),(0,a._)("span",{class:"token punctuation"},"}"),(0,a.Uk)("\n")])]),(0,a._)("div",{class:"line-numbers"},[(0,a._)("span",{class:"line-number"},"1"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"2"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"3"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"4"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"5"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"6"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"7"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"8"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"9"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"10"),(0,a._)("br")])],-1),g=(0,a._)("p",null,"All the variables in the config object are optional. You can send only those you want to change.",-1),f=(0,a._)("p",null,"The config sent like this will be valid until a new config is sent the same way, or until the flow is restarted. On a restart, the original config set up in the node will be used.",-1),U=(0,a._)("p",null,"When a config is sent like this, the schedule will be replanned based on the last previously received price data. If no price data has been received, no scheduling is done.",-1),y=(0,a._)("h2",{id:"input",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#input","aria-hidden":"true"},"#"),(0,a.Uk)(" Input")],-1),v=(0,a.Uk)("The input is the "),w=(0,a.Uk)("common strategy input format"),M=(0,a._)("h2",{id:"output",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#output","aria-hidden":"true"},"#"),(0,a.Uk)(" Output")],-1),x=(0,a._)("p",null,"There are three outputs. You use only those you need for your purpose.",-1),T=(0,a._)("h3",{id:"output-1",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#output-1","aria-hidden":"true"},"#"),(0,a.Uk)(" Output 1")],-1),q=(0,a._)("p",null,[(0,a.Uk)("A payload with the word "),(0,a._)("code",null,"true"),(0,a.Uk)(" is sent to output 1 whenever the power / switch shall be turned on.")],-1),I=(0,a._)("h3",{id:"output-2",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#output-2","aria-hidden":"true"},"#"),(0,a.Uk)(" Output 2")],-1),S=(0,a._)("p",null,[(0,a.Uk)("A payload with the word "),(0,a._)("code",null,"false"),(0,a.Uk)(" is sent to output 2 whenever the power / switch shall be turned off.")],-1),O=(0,a._)("h3",{id:"output-3",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#output-3","aria-hidden":"true"},"#"),(0,a.Uk)(" Output 3")],-1),W=(0,a._)("p",null,"When a valid input is received, and the schedule is recalculated, the resulting schedule, as well as some other information, is sent to output 3. You can use this to see the plan and verify that it meets your expectations. You can also use it to display the schedule in any way you like.",-1),A=(0,a._)("p",null,"Example of output:",-1),C=(0,a._)("div",{class:"language-json ext-json line-numbers-mode"},[(0,a._)("pre",{class:"language-json"},[(0,a._)("code",null,[(0,a._)("span",{class:"token punctuation"},"{"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"schedule"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token punctuation"},"["),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"{"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"time"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token string"},'"2021-09-30T00:00:00.000+02:00"'),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"value"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"false"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"}"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"{"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"time"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token string"},'"2021-09-30T01:00:00.000+02:00"'),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"value"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"true"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"}"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"]"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"hours"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token punctuation"},"["),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"{"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"price"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token number"},"1.2584"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"onOff"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"false"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"start"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token string"},'"2021-09-30T00:00:00.000+02:00"'),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"saving"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token number"},"0.2034"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"}"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"{"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"price"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token number"},"1.055"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"onOff"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"true"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"start"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token string"},'"2021-09-30T01:00:00.000+02:00"'),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"saving"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token null keyword"},"null"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"}"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"{"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"price"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token number"},"1.2054"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"onOff"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"true"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"start"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token string"},'"2021-09-30T02:00:00.000+02:00"'),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"saving"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token null keyword"},"null"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"}"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"]"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"source"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token string"},'"Nord Pool"'),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"config"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token punctuation"},"{"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"maxHoursToSaveInSequence"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token number"},"3"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"minHoursOnAfterMaxSequenceSaved"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token string"},'"1"'),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"minSaving"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token number"},"0.001"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"sendCurrentValueWhenRescheduling"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"true"),(0,a._)("span",{class:"token punctuation"},","),(0,a.Uk)("\n "),(0,a._)("span",{class:"token property"},'"outputIfNoSchedule"'),(0,a._)("span",{class:"token operator"},":"),(0,a.Uk)(),(0,a._)("span",{class:"token boolean"},"false"),(0,a.Uk)("\n "),(0,a._)("span",{class:"token punctuation"},"}"),(0,a.Uk)("\n"),(0,a._)("span",{class:"token punctuation"},"}"),(0,a.Uk)("\n")])]),(0,a._)("div",{class:"line-numbers"},[(0,a._)("span",{class:"line-number"},"1"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"2"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"3"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"4"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"5"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"6"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"7"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"8"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"9"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"10"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"11"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"12"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"13"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"14"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"15"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"16"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"17"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"18"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"19"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"20"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"21"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"22"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"23"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"24"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"25"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"26"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"27"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"28"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"29"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"30"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"31"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"32"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"33"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"34"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"35"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"36"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"37"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"38"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"39"),(0,a._)("br"),(0,a._)("span",{class:"line-number"},"40"),(0,a._)("br")])],-1),j=(0,a._)("p",null,[(0,a.Uk)("The "),(0,a._)("code",null,"schedule"),(0,a.Uk)(" array shows every time the switch is turned on or off. The "),(0,a._)("code",null,"hours"),(0,a.Uk)(" array shows values per hour containing the price (received as input), whether that hour is on or off, the start time of the hour and the amount per kWh that is saved on hours that are turned off, compared to the next hour that is on.")],-1),D=(0,a._)("h2",{id:"algorithm",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#algorithm","aria-hidden":"true"},"#"),(0,a.Uk)(" Algorithm")],-1),N=(0,a._)("p",null,"The calculation that decides what hours to turn off works as follows:",-1),H=(0,a._)("ol",null,[(0,a._)("li",null,"A matrix (x * y) is created where x is the number of hours we have price information for, and y is the configured maximum number of hours to turn off in a sequence."),(0,a._)("li",null,"The matrix is filled with how much you save by turning off hour x for y hours."),(0,a._)("li",null,"The matrix is processed calculating all possibilities for turning off a number of hours in a sequence and by that saving money. In this process all non-saving sequences are discarded. Also, if the average saving per hour is less than what you have configured as minimum amount to save per kWh, the sequence is discarded."),(0,a._)("li",null,"The remaining sequences are sorted by how much that is saved, in descending order."),(0,a._)("li",null,'Next, a table with one value per hour is created, with all hours in state "on".'),(0,a._)("li",null,"Then the saving sequences is applied one by one, turning off the hours in each sequence, discarding sequences that lead to any violation of the rules set by the config."),(0,a._)("li",null,"When all sequences are processed, the resulting table shows a pretty good savings plan, that in most cases would be the optimal plan.")],-1),R=(0,a._)("p",null,'I say "in most cases", because there is a chance that a group of two or more sequences combined can give a better plan than a single sequence preceeding those two, but where the selection of the one sequence causes the group to be discarded. If anyone encounters this situation, I would be happy to receive the price data set, and try to improve the algorithm even further.',-1),Y=(0,a._)("h2",{id:"integration-with-magicmirror",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#integration-with-magicmirror","aria-hidden":"true"},"#"),(0,a.Uk)(" Integration with MagicMirror")],-1),P=(0,a.Uk)("Are you using "),V={href:"https://magicmirror.builders/",target:"_blank",rel:"noopener noreferrer"},B=(0,a.Uk)("MagicMirror"),L=(0,a.Uk)("? Are you also using "),Z={href:"https://tibber.com/",target:"_blank",rel:"noopener noreferrer"},E=(0,a.Uk)("Tibber"),F=(0,a.Uk)("? If so, there is a module for MM called "),z={href:"https://github.com/ottopaulsen/MMM-Tibber",target:"_blank",rel:"noopener noreferrer"},G=(0,a.Uk)("MMM-Tibber"),J=(0,a.Uk)(", that easily can be used to show savings from this node."),K=(0,a._)("p",null,[(0,a._)("img",{src:"https://github.com/ottopaulsen/MMM-Tibber/blob/master/doc/MMM-Tibber-screenshot-savings-graph.png?raw=true",alt:"Show savings in MMM-Tibber"})],-1),Q=(0,a._)("p",null,"The purple lines show savings per kWh.",-1),X=(0,a.Uk)("Read more about this in the "),$={href:"https://github.com/ottopaulsen/MMM-Tibber#show-savings",target:"_blank",rel:"noopener noreferrer"},ee=(0,a.Uk)("MMM-Tibber documentation"),ne=(0,a.Uk)("."),se={},ae=(0,s(3744).Z)(se,[["render",function(e,n){const s=(0,a.up)("RouterLink"),t=(0,a.up)("OutboundLink");return(0,a.wg)(),(0,a.iD)(a.HY,null,[o,r,l,i,u,p,c,_,h,k,d,b,m,g,f,U,y,(0,a._)("p",null,[v,(0,a.Wm)(s,{to:"/nodes/strategy-input.html"},{default:(0,a.w5)((()=>[w])),_:1})]),M,x,T,q,I,S,O,W,A,C,j,D,N,H,R,Y,(0,a._)("p",null,[P,(0,a._)("a",V,[B,(0,a.Wm)(t)]),L,(0,a._)("a",Z,[E,(0,a.Wm)(t)]),F,(0,a._)("a",z,[G,(0,a.Wm)(t)]),J]),K,Q,(0,a._)("p",null,[X,(0,a._)("a",$,[ee,(0,a.Wm)(t)]),ne])],64)}]])},3744:(e,n)=>{n.Z=(e,n)=>{const s=e.__vccOpts||e;for(const[e,a]of n)s[e]=a;return s}},7188:(e,n,s)=>{e.exports=s.p+"assets/img/node-ps-strategy-best-save.392292d5.png"}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[22],{2336:(e,r,t)=>{t.r(r),t.d(r,{data:()=>o});const o={key:"v-1ad821fa",path:"/nodes/power-saver.html",title:"power-saver",lang:"en-US",frontmatter:{next:"./ps-strategy-best-save.md"},excerpt:"",headers:[],filePathRelative:"nodes/power-saver.md",git:{updatedTime:1639315027e3,contributors:[{name:"Otto Paulsen",email:"ottpau@gmail.com",commits:1}]}}},8718:(e,r,t)=>{t.r(r),t.d(r,{default:()=>k});var o=t(6252),a=t(7656),s=t(2913),n=t(1758);const i={id:"power-saver",tabindex:"-1"},d=(0,o._)("a",{class:"header-anchor",href:"#power-saver","aria-hidden":"true"},"#",-1),l=(0,o.Uk)(" power-saver "),p=(0,o._)("p",null,[(0,o._)("img",{src:a,alt:"Power Saver node"})],-1),c=(0,o._)("p",null,"This is the node from version 2. It is still working, but should be replaced.",-1),u=(0,o._)("p",null,"To migrate, just replace the Power Saver node by a combination of the ps-receive-price and the ps-best-save nodes:",-1),v=(0,o._)("p",null,[(0,o.Uk)("Replace the "),(0,o._)("code",null,"Power Saver"),(0,o.Uk)(" node from version 2:")],-1),h=(0,o._)("p",null,[(0,o._)("img",{src:s,alt:"Power Saver node"})],-1),m=(0,o._)("p",null,[(0,o.Uk)("with this combination of "),(0,o._)("code",null,"ps-receive-price"),(0,o.Uk)(" and "),(0,o._)("code",null,"ps-strategy-best-save"),(0,o.Uk)(" from version 3:")],-1),_=(0,o._)("p",null,[(0,o._)("img",{src:n,alt:"Migrate Power Saver"})],-1),f=(0,o._)("p",null,[(0,o.Uk)("The configuration is done in the "),(0,o._)("code",null,"ps-strategy-best-save"),(0,o.Uk)(" node, and is the same as in the old "),(0,o._)("code",null,"Power Saver"),(0,o.Uk)(" node.")],-1),g=(0,o._)("p",null,[(0,o.Uk)("Should you need it, here is the "),(0,o._)("a",{href:"./old-power-saver-doc"},"old documentation"),(0,o.Uk)(" for the PowerSaver node from version 2.")],-1),w={},k=(0,t(3744).Z)(w,[["render",function(e,r){const t=(0,o.up)("Badge");return(0,o.wg)(),(0,o.iD)(o.HY,null,[(0,o._)("h1",i,[d,l,(0,o.Wm)(t,{type:"warning",text:"deprecated",vertical:"middle"})]),p,c,u,v,h,m,_,f,g],64)}]])},3744:(e,r)=>{r.Z=(e,r)=>{const t=e.__vccOpts||e;for(const[e,o]of r)t[e]=o;return t}},1758:(e,r,t)=>{e.exports=t.p+"assets/img/migrate-best-save.f73420f6.png"},2913:(e,r,t)=>{e.exports=t.p+"assets/img/migrate-power-saver.aae13f9d.png"},7656:(e,r,t)=>{e.exports=t.p+"assets/img/node-power-saver.51ff2e5d.png"}}]);