diff --git a/404.html b/404.html new file mode 100644 index 0000000000..ca9cb9a012 --- /dev/null +++ b/404.html @@ -0,0 +1,37 @@ + + + + + + + + + Dreammall.earth Documentation + + + + + +

404

There's nothing here.
Take me home
+ + + diff --git a/CHANGELOG.html b/CHANGELOG.html new file mode 100644 index 0000000000..605c72653d --- /dev/null +++ b/CHANGELOG.html @@ -0,0 +1,37 @@ + + + + + + + + + Dreammall.earth Documentation + + + + + +

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by auto-changelogopen in new window.

1.2.1open in new window

1.2.0open in new window

23 February 2024

1.1.0open in new window

25 January 2024

1.0.1open in new window

22 December 2023

1.0.0open in new window

21 December 2023

0.9.3open in new window

19 December 2023

v0.9.2open in new window

19 December 2023

0.9.1open in new window

19 December 2023

v0.9.1open in new window

19 December 2023

0.9.0

19 December 2023

Last Updated:
Contributors: Hannes Heine
+ + + diff --git a/LICENSE.html b/LICENSE.html new file mode 100644 index 0000000000..04c952387f --- /dev/null +++ b/LICENSE.html @@ -0,0 +1,37 @@ + + + + + + + + + Dreammall.earth Documentation + + + + + +

404

There's nothing here.
Take me home
+ + + diff --git a/assets/404.html-YsGROxc3.js b/assets/404.html-YsGROxc3.js new file mode 100644 index 0000000000..a74fd3e01e --- /dev/null +++ b/assets/404.html-YsGROxc3.js @@ -0,0 +1 @@ +import{_ as t,o as e,c as o,a}from"./app-DvhWSl6p.js";const n={},c=a("p",null,"404 Not Found",-1),l=[c];function s(_,r){return e(),o("div",null,l)}const d=t(n,[["render",s],["__file","404.html.vue"]]),h=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{d as comp,h as data}; diff --git a/assets/CHANGELOG.html-9qH5sj2N.js b/assets/CHANGELOG.html-9qH5sj2N.js new file mode 100644 index 0000000000..5e61b8728e --- /dev/null +++ b/assets/CHANGELOG.html-9qH5sj2N.js @@ -0,0 +1 @@ +import{_ as o,r as a,o as n,c as h,a as e,b as r,d as l}from"./app-DvhWSl6p.js";const s={},d=e("h3",{id:"changelog",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#changelog"},[e("span",null,"Changelog")])],-1),c=e("p",null,"All notable changes to this project will be documented in this file. Dates are displayed in UTC.",-1),m={href:"https://github.com/CookPete/auto-changelog",target:"_blank",rel:"noopener noreferrer"},i=e("code",null,"auto-changelog",-1),_={id:"_1-2-1",tabindex:"-1"},u={class:"header-anchor",href:"#_1-2-1"},p={href:"https://github.com/dreammall-earth/dreammall.earth/compare/1.2.0...1.2.1",target:"_blank",rel:"noopener noreferrer"},f={href:"https://github.com/dreammall-earth/dreammall.earth/pull/331",target:"_blank",rel:"noopener noreferrer"},b=e("code",null,"#331",-1),g={href:"https://github.com/dreammall-earth/dreammall.earth/pull/326",target:"_blank",rel:"noopener noreferrer"},k=e("code",null,"#326",-1),x={href:"https://github.com/dreammall-earth/dreammall.earth/pull/325",target:"_blank",rel:"noopener noreferrer"},v=e("code",null,"#325",-1),w={href:"https://github.com/dreammall-earth/dreammall.earth/pull/310",target:"_blank",rel:"noopener noreferrer"},y=e("code",null,"#310",-1),B={href:"https://github.com/dreammall-earth/dreammall.earth/pull/322",target:"_blank",rel:"noopener noreferrer"},q=e("code",null,"#322",-1),C={href:"https://github.com/dreammall-earth/dreammall.earth/pull/106",target:"_blank",rel:"noopener noreferrer"},G=e("code",null,"#106",-1),D={href:"https://github.com/dreammall-earth/dreammall.earth/pull/108",target:"_blank",rel:"noopener noreferrer"},E=e("code",null,"#108",-1),N={href:"https://github.com/dreammall-earth/dreammall.earth/pull/324",target:"_blank",rel:"noopener noreferrer"},L=e("code",null,"#324",-1),S={href:"https://github.com/dreammall-earth/dreammall.earth/pull/309",target:"_blank",rel:"noopener noreferrer"},H=e("code",null,"#309",-1),O={href:"https://github.com/dreammall-earth/dreammall.earth/pull/78",target:"_blank",rel:"noopener noreferrer"},j=e("code",null,"#78",-1),z={href:"https://github.com/dreammall-earth/dreammall.earth/pull/296",target:"_blank",rel:"noopener noreferrer"},A=e("code",null,"#296",-1),I={href:"https://github.com/dreammall-earth/dreammall.earth/pull/308",target:"_blank",rel:"noopener noreferrer"},T=e("code",null,"#308",-1),P={href:"https://github.com/dreammall-earth/dreammall.earth/pull/305",target:"_blank",rel:"noopener noreferrer"},V=e("code",null,"#305",-1),J={href:"https://github.com/dreammall-earth/dreammall.earth/pull/307",target:"_blank",rel:"noopener noreferrer"},U=e("code",null,"#307",-1),F={href:"https://github.com/dreammall-earth/dreammall.earth/pull/306",target:"_blank",rel:"noopener noreferrer"},R=e("code",null,"#306",-1),K={href:"https://github.com/dreammall-earth/dreammall.earth/pull/96",target:"_blank",rel:"noopener noreferrer"},M=e("code",null,"#96",-1),Q={href:"https://github.com/dreammall-earth/dreammall.earth/pull/99",target:"_blank",rel:"noopener noreferrer"},W=e("code",null,"#99",-1),X={href:"https://github.com/dreammall-earth/dreammall.earth/pull/23",target:"_blank",rel:"noopener noreferrer"},Y=e("code",null,"#23",-1),Z={href:"https://github.com/dreammall-earth/dreammall.earth/pull/24",target:"_blank",rel:"noopener noreferrer"},$=e("code",null,"#24",-1),ee={href:"https://github.com/dreammall-earth/dreammall.earth/pull/25",target:"_blank",rel:"noopener noreferrer"},re=e("code",null,"#25",-1),te={href:"https://github.com/dreammall-earth/dreammall.earth/pull/22",target:"_blank",rel:"noopener noreferrer"},le=e("code",null,"#22",-1),oe={href:"https://github.com/dreammall-earth/dreammall.earth/pull/287",target:"_blank",rel:"noopener noreferrer"},ae=e("code",null,"#287",-1),ne={href:"https://github.com/dreammall-earth/dreammall.earth/pull/286",target:"_blank",rel:"noopener noreferrer"},he=e("code",null,"#286",-1),se={href:"https://github.com/dreammall-earth/dreammall.earth/pull/285",target:"_blank",rel:"noopener noreferrer"},de=e("code",null,"#285",-1),ce={href:"https://github.com/dreammall-earth/dreammall.earth/pull/21",target:"_blank",rel:"noopener noreferrer"},me=e("code",null,"#21",-1),ie={href:"https://github.com/dreammall-earth/dreammall.earth/pull/93",target:"_blank",rel:"noopener noreferrer"},_e=e("code",null,"#93",-1),ue={href:"https://github.com/dreammall-earth/dreammall.earth/pull/275",target:"_blank",rel:"noopener noreferrer"},pe=e("code",null,"#275",-1),fe={href:"https://github.com/dreammall-earth/dreammall.earth/pull/92",target:"_blank",rel:"noopener noreferrer"},be=e("code",null,"#92",-1),ge={href:"https://github.com/dreammall-earth/dreammall.earth/pull/265",target:"_blank",rel:"noopener noreferrer"},ke=e("code",null,"#265",-1),xe={href:"https://github.com/dreammall-earth/dreammall.earth/pull/264",target:"_blank",rel:"noopener noreferrer"},ve=e("code",null,"#264",-1),we={href:"https://github.com/dreammall-earth/dreammall.earth/pull/135",target:"_blank",rel:"noopener noreferrer"},ye=e("code",null,"#135",-1),Be={href:"https://github.com/dreammall-earth/dreammall.earth/pull/247",target:"_blank",rel:"noopener noreferrer"},qe=e("code",null,"#247",-1),Ce={href:"https://github.com/dreammall-earth/dreammall.earth/pull/274",target:"_blank",rel:"noopener noreferrer"},Ge=e("code",null,"#274",-1),De={href:"https://github.com/dreammall-earth/dreammall.earth/pull/273",target:"_blank",rel:"noopener noreferrer"},Ee=e("code",null,"#273",-1),Ne={href:"https://github.com/dreammall-earth/dreammall.earth/pull/20",target:"_blank",rel:"noopener noreferrer"},Le=e("code",null,"#20",-1),Se={href:"https://github.com/dreammall-earth/dreammall.earth/pull/91",target:"_blank",rel:"noopener noreferrer"},He=e("code",null,"#91",-1),Oe={href:"https://github.com/dreammall-earth/dreammall.earth/pull/82",target:"_blank",rel:"noopener noreferrer"},je=e("code",null,"#82",-1),ze={href:"https://github.com/dreammall-earth/dreammall.earth/pull/90",target:"_blank",rel:"noopener noreferrer"},Ae=e("code",null,"#90",-1),Ie={id:"_1-2-0",tabindex:"-1"},Te={class:"header-anchor",href:"#_1-2-0"},Pe={href:"https://github.com/dreammall-earth/dreammall.earth/compare/1.1.0...1.2.0",target:"_blank",rel:"noopener noreferrer"},Ve=e("blockquote",null,[e("p",null,"23 February 2024")],-1),Je={href:"https://github.com/dreammall-earth/dreammall.earth/pull/267",target:"_blank",rel:"noopener noreferrer"},Ue=e("code",null,"#267",-1),Fe={href:"https://github.com/dreammall-earth/dreammall.earth/pull/266",target:"_blank",rel:"noopener noreferrer"},Re=e("code",null,"#266",-1),Ke={href:"https://github.com/dreammall-earth/dreammall.earth/pull/256",target:"_blank",rel:"noopener noreferrer"},Me=e("code",null,"#256",-1),Qe={href:"https://github.com/dreammall-earth/dreammall.earth/pull/257",target:"_blank",rel:"noopener noreferrer"},We=e("code",null,"#257",-1),Xe={href:"https://github.com/dreammall-earth/dreammall.earth/pull/255",target:"_blank",rel:"noopener noreferrer"},Ye=e("code",null,"#255",-1),Ze={href:"https://github.com/dreammall-earth/dreammall.earth/pull/15",target:"_blank",rel:"noopener noreferrer"},$e=e("code",null,"#15",-1),er={href:"https://github.com/dreammall-earth/dreammall.earth/pull/14",target:"_blank",rel:"noopener noreferrer"},rr=e("code",null,"#14",-1),tr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/13",target:"_blank",rel:"noopener noreferrer"},lr=e("code",null,"#13",-1),or={href:"https://github.com/dreammall-earth/dreammall.earth/pull/12",target:"_blank",rel:"noopener noreferrer"},ar=e("code",null,"#12",-1),nr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/11",target:"_blank",rel:"noopener noreferrer"},hr=e("code",null,"#11",-1),sr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/10",target:"_blank",rel:"noopener noreferrer"},dr=e("code",null,"#10",-1),cr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/254",target:"_blank",rel:"noopener noreferrer"},mr=e("code",null,"#254",-1),ir={href:"https://github.com/dreammall-earth/dreammall.earth/pull/128",target:"_blank",rel:"noopener noreferrer"},_r=e("code",null,"#128",-1),ur={href:"https://github.com/dreammall-earth/dreammall.earth/pull/244",target:"_blank",rel:"noopener noreferrer"},pr=e("code",null,"#244",-1),fr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/252",target:"_blank",rel:"noopener noreferrer"},br=e("code",null,"#252",-1),gr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/9",target:"_blank",rel:"noopener noreferrer"},kr=e("code",null,"#9",-1),xr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/86",target:"_blank",rel:"noopener noreferrer"},vr=e("code",null,"#86",-1),wr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/239",target:"_blank",rel:"noopener noreferrer"},yr=e("code",null,"#239",-1),Br={href:"https://github.com/dreammall-earth/dreammall.earth/pull/149",target:"_blank",rel:"noopener noreferrer"},qr=e("code",null,"#149",-1),Cr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/75",target:"_blank",rel:"noopener noreferrer"},Gr=e("code",null,"#75",-1),Dr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/221",target:"_blank",rel:"noopener noreferrer"},Er=e("code",null,"#221",-1),Nr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/238",target:"_blank",rel:"noopener noreferrer"},Lr=e("code",null,"#238",-1),Sr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/236",target:"_blank",rel:"noopener noreferrer"},Hr=e("code",null,"#236",-1),Or={href:"https://github.com/dreammall-earth/dreammall.earth/pull/235",target:"_blank",rel:"noopener noreferrer"},jr=e("code",null,"#235",-1),zr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/234",target:"_blank",rel:"noopener noreferrer"},Ar=e("code",null,"#234",-1),Ir={href:"https://github.com/dreammall-earth/dreammall.earth/pull/227",target:"_blank",rel:"noopener noreferrer"},Tr=e("code",null,"#227",-1),Pr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/228",target:"_blank",rel:"noopener noreferrer"},Vr=e("code",null,"#228",-1),Jr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/226",target:"_blank",rel:"noopener noreferrer"},Ur=e("code",null,"#226",-1),Fr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/225",target:"_blank",rel:"noopener noreferrer"},Rr=e("code",null,"#225",-1),Kr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/69",target:"_blank",rel:"noopener noreferrer"},Mr=e("code",null,"#69",-1),Qr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/62",target:"_blank",rel:"noopener noreferrer"},Wr=e("code",null,"#62",-1),Xr={href:"https://github.com/dreammall-earth/dreammall.earth/pull/68",target:"_blank",rel:"noopener noreferrer"},Yr=e("code",null,"#68",-1),Zr={id:"_1-1-0",tabindex:"-1"},$r={class:"header-anchor",href:"#_1-1-0"},et={href:"https://github.com/dreammall-earth/dreammall.earth/compare/1.0.1...1.1.0",target:"_blank",rel:"noopener noreferrer"},rt=e("blockquote",null,[e("p",null,"25 January 2024")],-1),tt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/211",target:"_blank",rel:"noopener noreferrer"},lt=e("code",null,"#211",-1),ot={href:"https://github.com/dreammall-earth/dreammall.earth/pull/214",target:"_blank",rel:"noopener noreferrer"},at=e("code",null,"#214",-1),nt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/212",target:"_blank",rel:"noopener noreferrer"},ht=e("code",null,"#212",-1),st={href:"https://github.com/dreammall-earth/dreammall.earth/pull/207",target:"_blank",rel:"noopener noreferrer"},dt=e("code",null,"#207",-1),ct={href:"https://github.com/dreammall-earth/dreammall.earth/pull/206",target:"_blank",rel:"noopener noreferrer"},mt=e("code",null,"#206",-1),it={href:"https://github.com/dreammall-earth/dreammall.earth/pull/204",target:"_blank",rel:"noopener noreferrer"},_t=e("code",null,"#204",-1),ut={href:"https://github.com/dreammall-earth/dreammall.earth/pull/180",target:"_blank",rel:"noopener noreferrer"},pt=e("code",null,"#180",-1),ft={href:"https://github.com/dreammall-earth/dreammall.earth/pull/205",target:"_blank",rel:"noopener noreferrer"},bt=e("code",null,"#205",-1),gt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/197",target:"_blank",rel:"noopener noreferrer"},kt=e("code",null,"#197",-1),xt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/203",target:"_blank",rel:"noopener noreferrer"},vt=e("code",null,"#203",-1),wt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/188",target:"_blank",rel:"noopener noreferrer"},yt=e("code",null,"#188",-1),Bt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/198",target:"_blank",rel:"noopener noreferrer"},qt=e("code",null,"#198",-1),Ct={href:"https://github.com/dreammall-earth/dreammall.earth/pull/61",target:"_blank",rel:"noopener noreferrer"},Gt=e("code",null,"#61",-1),Dt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/186",target:"_blank",rel:"noopener noreferrer"},Et=e("code",null,"#186",-1),Nt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/178",target:"_blank",rel:"noopener noreferrer"},Lt=e("code",null,"#178",-1),St={href:"https://github.com/dreammall-earth/dreammall.earth/pull/179",target:"_blank",rel:"noopener noreferrer"},Ht=e("code",null,"#179",-1),Ot={href:"https://github.com/dreammall-earth/dreammall.earth/pull/181",target:"_blank",rel:"noopener noreferrer"},jt=e("code",null,"#181",-1),zt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/168",target:"_blank",rel:"noopener noreferrer"},At=e("code",null,"#168",-1),It={href:"https://github.com/dreammall-earth/dreammall.earth/pull/176",target:"_blank",rel:"noopener noreferrer"},Tt=e("code",null,"#176",-1),Pt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/169",target:"_blank",rel:"noopener noreferrer"},Vt=e("code",null,"#169",-1),Jt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/55",target:"_blank",rel:"noopener noreferrer"},Ut=e("code",null,"#55",-1),Ft={href:"https://github.com/dreammall-earth/dreammall.earth/pull/54",target:"_blank",rel:"noopener noreferrer"},Rt=e("code",null,"#54",-1),Kt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/53",target:"_blank",rel:"noopener noreferrer"},Mt=e("code",null,"#53",-1),Qt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/167",target:"_blank",rel:"noopener noreferrer"},Wt=e("code",null,"#167",-1),Xt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/166",target:"_blank",rel:"noopener noreferrer"},Yt=e("code",null,"#166",-1),Zt={href:"https://github.com/dreammall-earth/dreammall.earth/pull/165",target:"_blank",rel:"noopener noreferrer"},$t=e("code",null,"#165",-1),el={href:"https://github.com/dreammall-earth/dreammall.earth/pull/47",target:"_blank",rel:"noopener noreferrer"},rl=e("code",null,"#47",-1),tl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/46",target:"_blank",rel:"noopener noreferrer"},ll=e("code",null,"#46",-1),ol={href:"https://github.com/dreammall-earth/dreammall.earth/pull/45",target:"_blank",rel:"noopener noreferrer"},al=e("code",null,"#45",-1),nl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/44",target:"_blank",rel:"noopener noreferrer"},hl=e("code",null,"#44",-1),sl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/161",target:"_blank",rel:"noopener noreferrer"},dl=e("code",null,"#161",-1),cl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/160",target:"_blank",rel:"noopener noreferrer"},ml=e("code",null,"#160",-1),il={href:"https://github.com/dreammall-earth/dreammall.earth/pull/43",target:"_blank",rel:"noopener noreferrer"},_l=e("code",null,"#43",-1),ul={href:"https://github.com/dreammall-earth/dreammall.earth/pull/125",target:"_blank",rel:"noopener noreferrer"},pl=e("code",null,"#125",-1),fl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/134",target:"_blank",rel:"noopener noreferrer"},bl=e("code",null,"#134",-1),gl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/35",target:"_blank",rel:"noopener noreferrer"},kl=e("code",null,"#35",-1),xl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/33",target:"_blank",rel:"noopener noreferrer"},vl=e("code",null,"#33",-1),wl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/32",target:"_blank",rel:"noopener noreferrer"},yl=e("code",null,"#32",-1),Bl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/31",target:"_blank",rel:"noopener noreferrer"},ql=e("code",null,"#31",-1),Cl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/30",target:"_blank",rel:"noopener noreferrer"},Gl=e("code",null,"#30",-1),Dl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/29",target:"_blank",rel:"noopener noreferrer"},El=e("code",null,"#29",-1),Nl={id:"_1-0-1",tabindex:"-1"},Ll={class:"header-anchor",href:"#_1-0-1"},Sl={href:"https://github.com/dreammall-earth/dreammall.earth/compare/1.0.0...1.0.1",target:"_blank",rel:"noopener noreferrer"},Hl=e("blockquote",null,[e("p",null,"22 December 2023")],-1),Ol={href:"https://github.com/dreammall-earth/dreammall.earth/pull/133",target:"_blank",rel:"noopener noreferrer"},jl=e("code",null,"#133",-1),zl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/132",target:"_blank",rel:"noopener noreferrer"},Al=e("code",null,"#132",-1),Il={id:"_1-0-0",tabindex:"-1"},Tl={class:"header-anchor",href:"#_1-0-0"},Pl={href:"https://github.com/dreammall-earth/dreammall.earth/compare/0.9.3...1.0.0",target:"_blank",rel:"noopener noreferrer"},Vl=e("blockquote",null,[e("p",null,"21 December 2023")],-1),Jl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/131",target:"_blank",rel:"noopener noreferrer"},Ul=e("code",null,"#131",-1),Fl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/130",target:"_blank",rel:"noopener noreferrer"},Rl=e("code",null,"#130",-1),Kl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/123",target:"_blank",rel:"noopener noreferrer"},Ml=e("code",null,"#123",-1),Ql={href:"https://github.com/dreammall-earth/dreammall.earth/pull/111",target:"_blank",rel:"noopener noreferrer"},Wl=e("code",null,"#111",-1),Xl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/124",target:"_blank",rel:"noopener noreferrer"},Yl=e("code",null,"#124",-1),Zl={href:"https://github.com/dreammall-earth/dreammall.earth/pull/122",target:"_blank",rel:"noopener noreferrer"},$l=e("code",null,"#122",-1),eo={href:"https://github.com/dreammall-earth/dreammall.earth/pull/98",target:"_blank",rel:"noopener noreferrer"},ro=e("code",null,"#98",-1),to={href:"https://github.com/dreammall-earth/dreammall.earth/pull/118",target:"_blank",rel:"noopener noreferrer"},lo=e("code",null,"#118",-1),oo={href:"https://github.com/dreammall-earth/dreammall.earth/pull/121",target:"_blank",rel:"noopener noreferrer"},ao=e("code",null,"#121",-1),no={href:"https://github.com/dreammall-earth/dreammall.earth/pull/116",target:"_blank",rel:"noopener noreferrer"},ho=e("code",null,"#116",-1),so={href:"https://github.com/dreammall-earth/dreammall.earth/pull/114",target:"_blank",rel:"noopener noreferrer"},co=e("code",null,"#114",-1),mo={href:"https://github.com/dreammall-earth/dreammall.earth/pull/110",target:"_blank",rel:"noopener noreferrer"},io=e("code",null,"#110",-1),_o={id:"_0-9-3",tabindex:"-1"},uo={class:"header-anchor",href:"#_0-9-3"},po={href:"https://github.com/dreammall-earth/dreammall.earth/compare/v0.9.2...0.9.3",target:"_blank",rel:"noopener noreferrer"},fo=e("blockquote",null,[e("p",null,"19 December 2023")],-1),bo={href:"https://github.com/dreammall-earth/dreammall.earth/pull/113",target:"_blank",rel:"noopener noreferrer"},go=e("code",null,"#113",-1),ko={id:"v0-9-2",tabindex:"-1"},xo={class:"header-anchor",href:"#v0-9-2"},vo={href:"https://github.com/dreammall-earth/dreammall.earth/compare/0.9.1...v0.9.2",target:"_blank",rel:"noopener noreferrer"},wo=e("blockquote",null,[e("p",null,"19 December 2023")],-1),yo={href:"https://github.com/dreammall-earth/dreammall.earth/commit/ae7cce9438eca356e85ab4d8744e68040f98e979",target:"_blank",rel:"noopener noreferrer"},Bo=e("code",null,"ae7cce9",-1),qo={id:"_0-9-1",tabindex:"-1"},Co={class:"header-anchor",href:"#_0-9-1"},Go={href:"https://github.com/dreammall-earth/dreammall.earth/compare/v0.9.1...0.9.1",target:"_blank",rel:"noopener noreferrer"},Do=e("blockquote",null,[e("p",null,"19 December 2023")],-1),Eo={href:"https://github.com/dreammall-earth/dreammall.earth/commit/7a86247e93dd3fac1ca3d2cf7d7fc13dee47c79b",target:"_blank",rel:"noopener noreferrer"},No=e("code",null,"7a86247",-1),Lo={id:"v0-9-1",tabindex:"-1"},So={class:"header-anchor",href:"#v0-9-1"},Ho={href:"https://github.com/dreammall-earth/dreammall.earth/compare/0.9.0...v0.9.1",target:"_blank",rel:"noopener noreferrer"},Oo=e("blockquote",null,[e("p",null,"19 December 2023")],-1),jo={href:"https://github.com/dreammall-earth/dreammall.earth/commit/a4906b105dff432b1583ff655fb3b0f54eba6066",target:"_blank",rel:"noopener noreferrer"},zo=e("code",null,"a4906b1",-1),Ao=e("h4",{id:"_0-9-0",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_0-9-0"},[e("span",null,"0.9.0")])],-1),Io=e("blockquote",null,[e("p",null,"19 December 2023")],-1),To={href:"https://github.com/dreammall-earth/dreammall.earth/pull/96",target:"_blank",rel:"noopener noreferrer"},Po=e("code",null,"#96",-1),Vo={href:"https://github.com/dreammall-earth/dreammall.earth/pull/94",target:"_blank",rel:"noopener noreferrer"},Jo=e("code",null,"#94",-1),Uo={href:"https://github.com/dreammall-earth/dreammall.earth/pull/93",target:"_blank",rel:"noopener noreferrer"},Fo=e("code",null,"#93",-1),Ro={href:"https://github.com/dreammall-earth/dreammall.earth/pull/86",target:"_blank",rel:"noopener noreferrer"},Ko=e("code",null,"#86",-1),Mo={href:"https://github.com/dreammall-earth/dreammall.earth/pull/89",target:"_blank",rel:"noopener noreferrer"},Qo=e("code",null,"#89",-1),Wo={href:"https://github.com/dreammall-earth/dreammall.earth/pull/88",target:"_blank",rel:"noopener noreferrer"},Xo=e("code",null,"#88",-1),Yo={href:"https://github.com/dreammall-earth/dreammall.earth/pull/87",target:"_blank",rel:"noopener noreferrer"},Zo=e("code",null,"#87",-1),$o={href:"https://github.com/dreammall-earth/dreammall.earth/pull/82",target:"_blank",rel:"noopener noreferrer"},ea=e("code",null,"#82",-1),ra={href:"https://github.com/dreammall-earth/dreammall.earth/pull/71",target:"_blank",rel:"noopener noreferrer"},ta=e("code",null,"#71",-1),la={href:"https://github.com/dreammall-earth/dreammall.earth/pull/85",target:"_blank",rel:"noopener noreferrer"},oa=e("code",null,"#85",-1),aa={href:"https://github.com/dreammall-earth/dreammall.earth/pull/83",target:"_blank",rel:"noopener noreferrer"},na=e("code",null,"#83",-1),ha={href:"https://github.com/dreammall-earth/dreammall.earth/pull/80",target:"_blank",rel:"noopener noreferrer"},sa=e("code",null,"#80",-1),da={href:"https://github.com/dreammall-earth/dreammall.earth/pull/81",target:"_blank",rel:"noopener noreferrer"},ca=e("code",null,"#81",-1),ma={href:"https://github.com/dreammall-earth/dreammall.earth/pull/76",target:"_blank",rel:"noopener noreferrer"},ia=e("code",null,"#76",-1),_a={href:"https://github.com/dreammall-earth/dreammall.earth/pull/79",target:"_blank",rel:"noopener noreferrer"},ua=e("code",null,"#79",-1),pa={href:"https://github.com/dreammall-earth/dreammall.earth/pull/77",target:"_blank",rel:"noopener noreferrer"},fa=e("code",null,"#77",-1),ba={href:"https://github.com/dreammall-earth/dreammall.earth/pull/74",target:"_blank",rel:"noopener noreferrer"},ga=e("code",null,"#74",-1),ka={href:"https://github.com/dreammall-earth/dreammall.earth/pull/70",target:"_blank",rel:"noopener noreferrer"},xa=e("code",null,"#70",-1),va={href:"https://github.com/dreammall-earth/dreammall.earth/pull/75",target:"_blank",rel:"noopener noreferrer"},wa=e("code",null,"#75",-1),ya={href:"https://github.com/dreammall-earth/dreammall.earth/pull/72",target:"_blank",rel:"noopener noreferrer"},Ba=e("code",null,"#72",-1),qa={href:"https://github.com/dreammall-earth/dreammall.earth/pull/28",target:"_blank",rel:"noopener noreferrer"},Ca=e("code",null,"#28",-1),Ga={href:"https://github.com/dreammall-earth/dreammall.earth/pull/27",target:"_blank",rel:"noopener noreferrer"},Da=e("code",null,"#27",-1),Ea={href:"https://github.com/dreammall-earth/dreammall.earth/pull/64",target:"_blank",rel:"noopener noreferrer"},Na=e("code",null,"#64",-1),La={href:"https://github.com/dreammall-earth/dreammall.earth/pull/62",target:"_blank",rel:"noopener noreferrer"},Sa=e("code",null,"#62",-1),Ha={href:"https://github.com/dreammall-earth/dreammall.earth/pull/63",target:"_blank",rel:"noopener noreferrer"},Oa=e("code",null,"#63",-1),ja={href:"https://github.com/dreammall-earth/dreammall.earth/pull/61",target:"_blank",rel:"noopener noreferrer"},za=e("code",null,"#61",-1),Aa={href:"https://github.com/dreammall-earth/dreammall.earth/pull/57",target:"_blank",rel:"noopener noreferrer"},Ia=e("code",null,"#57",-1),Ta={href:"https://github.com/dreammall-earth/dreammall.earth/pull/59",target:"_blank",rel:"noopener noreferrer"},Pa=e("code",null,"#59",-1),Va={href:"https://github.com/dreammall-earth/dreammall.earth/pull/60",target:"_blank",rel:"noopener noreferrer"},Ja=e("code",null,"#60",-1),Ua={href:"https://github.com/dreammall-earth/dreammall.earth/pull/58",target:"_blank",rel:"noopener noreferrer"},Fa=e("code",null,"#58",-1),Ra={href:"https://github.com/dreammall-earth/dreammall.earth/pull/8",target:"_blank",rel:"noopener noreferrer"},Ka=e("code",null,"#8",-1),Ma={href:"https://github.com/dreammall-earth/dreammall.earth/pull/7",target:"_blank",rel:"noopener noreferrer"},Qa=e("code",null,"#7",-1),Wa={href:"https://github.com/dreammall-earth/dreammall.earth/pull/54",target:"_blank",rel:"noopener noreferrer"},Xa=e("code",null,"#54",-1),Ya={href:"https://github.com/dreammall-earth/dreammall.earth/pull/53",target:"_blank",rel:"noopener noreferrer"},Za=e("code",null,"#53",-1),$a={href:"https://github.com/dreammall-earth/dreammall.earth/pull/49",target:"_blank",rel:"noopener noreferrer"},en=e("code",null,"#49",-1),rn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/48",target:"_blank",rel:"noopener noreferrer"},tn=e("code",null,"#48",-1),ln={href:"https://github.com/dreammall-earth/dreammall.earth/pull/6",target:"_blank",rel:"noopener noreferrer"},on=e("code",null,"#6",-1),an={href:"https://github.com/dreammall-earth/dreammall.earth/pull/26",target:"_blank",rel:"noopener noreferrer"},nn=e("code",null,"#26",-1),hn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/47",target:"_blank",rel:"noopener noreferrer"},sn=e("code",null,"#47",-1),dn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/5",target:"_blank",rel:"noopener noreferrer"},cn=e("code",null,"#5",-1),mn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/25",target:"_blank",rel:"noopener noreferrer"},_n=e("code",null,"#25",-1),un={href:"https://github.com/dreammall-earth/dreammall.earth/pull/46",target:"_blank",rel:"noopener noreferrer"},pn=e("code",null,"#46",-1),fn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/24",target:"_blank",rel:"noopener noreferrer"},bn=e("code",null,"#24",-1),gn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/4",target:"_blank",rel:"noopener noreferrer"},kn=e("code",null,"#4",-1),xn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/36",target:"_blank",rel:"noopener noreferrer"},vn=e("code",null,"#36",-1),wn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/23",target:"_blank",rel:"noopener noreferrer"},yn=e("code",null,"#23",-1),Bn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/41",target:"_blank",rel:"noopener noreferrer"},qn=e("code",null,"#41",-1),Cn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/3",target:"_blank",rel:"noopener noreferrer"},Gn=e("code",null,"#3",-1),Dn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/2",target:"_blank",rel:"noopener noreferrer"},En=e("code",null,"#2",-1),Nn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/38",target:"_blank",rel:"noopener noreferrer"},Ln=e("code",null,"#38",-1),Sn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/40",target:"_blank",rel:"noopener noreferrer"},Hn=e("code",null,"#40",-1),On={href:"https://github.com/dreammall-earth/dreammall.earth/pull/1",target:"_blank",rel:"noopener noreferrer"},jn=e("code",null,"#1",-1),zn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/37",target:"_blank",rel:"noopener noreferrer"},An=e("code",null,"#37",-1),In={href:"https://github.com/dreammall-earth/dreammall.earth/pull/34",target:"_blank",rel:"noopener noreferrer"},Tn=e("code",null,"#34",-1),Pn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/26",target:"_blank",rel:"noopener noreferrer"},Vn=e("code",null,"#26",-1),Jn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/18",target:"_blank",rel:"noopener noreferrer"},Un=e("code",null,"#18",-1),Fn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/20",target:"_blank",rel:"noopener noreferrer"},Rn=e("code",null,"#20",-1),Kn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/22",target:"_blank",rel:"noopener noreferrer"},Mn=e("code",null,"#22",-1),Qn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/21",target:"_blank",rel:"noopener noreferrer"},Wn=e("code",null,"#21",-1),Xn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/19",target:"_blank",rel:"noopener noreferrer"},Yn=e("code",null,"#19",-1),Zn={href:"https://github.com/dreammall-earth/dreammall.earth/pull/17",target:"_blank",rel:"noopener noreferrer"},$n=e("code",null,"#17",-1),eh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/20",target:"_blank",rel:"noopener noreferrer"},rh=e("code",null,"#20",-1),th={href:"https://github.com/dreammall-earth/dreammall.earth/pull/16",target:"_blank",rel:"noopener noreferrer"},lh=e("code",null,"#16",-1),oh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/15",target:"_blank",rel:"noopener noreferrer"},ah=e("code",null,"#15",-1),nh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/14",target:"_blank",rel:"noopener noreferrer"},hh=e("code",null,"#14",-1),sh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/13",target:"_blank",rel:"noopener noreferrer"},dh=e("code",null,"#13",-1),ch={href:"https://github.com/dreammall-earth/dreammall.earth/pull/19",target:"_blank",rel:"noopener noreferrer"},mh=e("code",null,"#19",-1),ih={href:"https://github.com/dreammall-earth/dreammall.earth/pull/18",target:"_blank",rel:"noopener noreferrer"},_h=e("code",null,"#18",-1),uh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/17",target:"_blank",rel:"noopener noreferrer"},ph=e("code",null,"#17",-1),fh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/16",target:"_blank",rel:"noopener noreferrer"},bh=e("code",null,"#16",-1),gh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/15",target:"_blank",rel:"noopener noreferrer"},kh=e("code",null,"#15",-1),xh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/14",target:"_blank",rel:"noopener noreferrer"},vh=e("code",null,"#14",-1),wh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/13",target:"_blank",rel:"noopener noreferrer"},yh=e("code",null,"#13",-1),Bh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/11",target:"_blank",rel:"noopener noreferrer"},qh=e("code",null,"#11",-1),Ch={href:"https://github.com/dreammall-earth/dreammall.earth/pull/10",target:"_blank",rel:"noopener noreferrer"},Gh=e("code",null,"#10",-1),Dh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/9",target:"_blank",rel:"noopener noreferrer"},Eh=e("code",null,"#9",-1),Nh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/8",target:"_blank",rel:"noopener noreferrer"},Lh=e("code",null,"#8",-1),Sh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/7",target:"_blank",rel:"noopener noreferrer"},Hh=e("code",null,"#7",-1),Oh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/6",target:"_blank",rel:"noopener noreferrer"},jh=e("code",null,"#6",-1),zh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/5",target:"_blank",rel:"noopener noreferrer"},Ah=e("code",null,"#5",-1),Ih={href:"https://github.com/dreammall-earth/dreammall.earth/pull/4",target:"_blank",rel:"noopener noreferrer"},Th=e("code",null,"#4",-1),Ph={href:"https://github.com/dreammall-earth/dreammall.earth/pull/3",target:"_blank",rel:"noopener noreferrer"},Vh=e("code",null,"#3",-1),Jh={href:"https://github.com/dreammall-earth/dreammall.earth/pull/2",target:"_blank",rel:"noopener noreferrer"},Uh=e("code",null,"#2",-1);function Fh(Rh,Kh){const t=a("ExternalLinkIcon");return n(),h("div",null,[d,c,e("p",null,[r("Generated by "),e("a",m,[i,l(t)]),r(".")]),e("h4",_,[e("a",u,[e("span",null,[e("a",p,[r("1.2.1"),l(t)])])])]),e("ul",null,[e("li",null,[r("fix(other): fix workflow file (syntax) "),e("a",f,[b,l(t)])]),e("li",null,[r("fix(presenter): disable early hints "),e("a",g,[k,l(t)])]),e("li",null,[r("chore(presenter): update boilerplate presenter 11 03 "),e("a",x,[v,l(t)])]),e("li",null,[r("fix(other): backend startscript "),e("a",w,[y,l(t)])]),e("li",null,[r("chore(backend): update packages backend 09 04 "),e("a",B,[q,l(t)])]),e("li",null,[r("Bump dorny/paths-filter from 3.0.1 to 3.0.2 "),e("a",C,[G,l(t)])]),e("li",null,[r("chore(frontend): update packages 11 03 "),e("a",D,[E,l(t)])]),e("li",null,[r("ci(workflow): set node version in workflows "),e("a",N,[L,l(t)])]),e("li",null,[r("fix(other): deployment fixes "),e("a",S,[H,l(t)])]),e("li",null,[r("feat(docker): docker-compose on top level integrated for all services "),e("a",O,[j,l(t)])]),e("li",null,[r("Bump @vuepress/theme-default from 2.0.0-rc.17 to 2.0.0-rc.18 "),e("a",z,[A,l(t)])]),e("li",null,[r("chore(presenter): update packages presenter 03 04 "),e("a",I,[T,l(t)])]),e("li",null,[r("chore(presenter): update boilerplate frontend 03 04 "),e("a",P,[V,l(t)])]),e("li",null,[r("chore(backend): update packages backend 03 04 "),e("a",J,[U,l(t)])]),e("li",null,[r("chore(backend): update boilerplate backend 03 04 "),e("a",F,[R,l(t)])]),e("li",null,[r("Bump @vuepress/theme-default from 2.0.0-rc.17 to 2.0.0-rc.18 "),e("a",K,[M,l(t)])]),e("li",null,[r("chore(frontend): update packages 04 03 "),e("a",Q,[W,l(t)])]),e("li",null,[r("Bump @vuepress/theme-default from 2.0.0-rc.17 to 2.0.0-rc.18 "),e("a",X,[Y,l(t)])]),e("li",null,[r("Bump @typescript-eslint/eslint-plugin from 7.0.2 to 7.1.0 "),e("a",Z,[$,l(t)])]),e("li",null,[r("Bump @typescript-eslint/parser from 7.0.2 to 7.1.0 "),e("a",ee,[re,l(t)])]),e("li",null,[r("Bump @types/node from 20.11.20 to 20.11.24 "),e("a",te,[le,l(t)])]),e("li",null,[r("chore(docu): update vuepress "),e("a",oe,[ae,l(t)])]),e("li",null,[r("chore(presenter): update boilerplate presenter 27 02 "),e("a",ne,[he,l(t)])]),e("li",null,[r("chore(backend): update boilerplate backend 27 02 "),e("a",se,[de,l(t)])]),e("li",null,[r("fix(backend): docker fixes "),e("a",ce,[me,l(t)])]),e("li",null,[r("fix(frontend): docker fixes "),e("a",ie,[_e,l(t)])]),e("li",null,[r("feat(other): dependabot for npm on root "),e("a",ue,[pe,l(t)])]),e("li",null,[r("fix(docker): docker rework "),e("a",fe,[be,l(t)])]),e("li",null,[r("Bump class-validator from 0.14.0 to 0.14.1 in /backend "),e("a",ge,[ke,l(t)])]),e("li",null,[r("Bump dotenv from 16.3.1 to 16.4.5 in /backend "),e("a",xe,[ve,l(t)])]),e("li",null,[r("Bump actions/checkout from 2 to 4 "),e("a",we,[ye,l(t)])]),e("li",null,[r("Bump dorny/paths-filter from 2.11.1 to 3.0.1 "),e("a",Be,[qe,l(t)])]),e("li",null,[r("chore(presenter): update boilerplate frontend 24 02 "),e("a",Ce,[Ge,l(t)])]),e("li",null,[r("chore(backend): update boilerplate backend 24 02 "),e("a",De,[Ee,l(t)])]),e("li",null,[r("chore(backend): update packages 24.02 "),e("a",Ne,[Le,l(t)])]),e("li",null,[r("chore(docu): update vuepress "),e("a",Se,[He,l(t)])]),e("li",null,[r("Bump dorny/paths-filter from 3.0.0 to 3.0.1 "),e("a",Oe,[je,l(t)])]),e("li",null,[r("chore(frontend): update packages 04.02 "),e("a",ze,[Ae,l(t)])])]),e("h4",Ie,[e("a",Te,[e("span",null,[e("a",Pe,[r("1.2.0"),l(t)])])])]),Ve,e("ul",null,[e("li",null,[r("chore(release): v1.2.0 "),e("a",Je,[Ue,l(t)])]),e("li",null,[r("fix(presenter): use light mode icons "),e("a",Fe,[Re,l(t)])]),e("li",null,[r("feat(backend): logging framework "),e("a",Ke,[Me,l(t)])]),e("li",null,[r("chore(backend): update boilerplate backend 22 02 "),e("a",Qe,[We,l(t)])]),e("li",null,[r("feat(backend): logging apollo queries to console "),e("a",Xe,[Ye,l(t)])]),e("li",null,[r("fix(docu): fix vuepress "),e("a",Ze,[$e,l(t)])]),e("li",null,[r("Bump type-graphql from 2.0.0-beta.3 to 2.0.0-beta.6 "),e("a",er,[rr,l(t)])]),e("li",null,[r("Bump vuepress from 2.0.0-rc.0 to 2.0.0-rc.8 "),e("a",tr,[lr,l(t)])]),e("li",null,[r("Bump dorny/paths-filter from 2.11.1 to 3.0.1 "),e("a",or,[ar,l(t)])]),e("li",null,[r("Bump actions/checkout from 3 to 4 "),e("a",nr,[hr,l(t)])]),e("li",null,[r("chore(backend): update packages & fix some bugs "),e("a",sr,[dr,l(t)])]),e("li",null,[r("feat(backend): prisma logging to console "),e("a",cr,[mr,l(t)])]),e("li",null,[r("chore(other): adjust for apple and its silicon architecture "),e("a",ir,[_r,l(t)])]),e("li",null,[r("feat(backend): logging events "),e("a",ur,[pr,l(t)])]),e("li",null,[r("chore(presenter): update boilerplate presenter 19.02 "),e("a",fr,[br,l(t)])]),e("li",null,[r("feat(other): add dependabot "),e("a",gr,[kr,l(t)])]),e("li",null,[r("chore(frontend): update packages 19.02 "),e("a",xr,[vr,l(t)])]),e("li",null,[r("feat(other): logrotate for nginx logs "),e("a",wr,[yr,l(t)])]),e("li",null,[r("feat(presenter): ensure proper internal and external links via local linting rule "),e("a",Br,[qr,l(t)])]),e("li",null,[r("chore(other): update packages 08.02 "),e("a",Cr,[Gr,l(t)])]),e("li",null,[r("Bump pkgdeps/git-tag-action from 2 to 3 "),e("a",Dr,[Er,l(t)])]),e("li",null,[r("feat(other): logging for pm2 "),e("a",Nr,[Lr,l(t)])]),e("li",null,[r("feat(other): logging for nginx "),e("a",Sr,[Hr,l(t)])]),e("li",null,[r("feat(other): logging on deploy "),e("a",Or,[jr,l(t)])]),e("li",null,[r("feat(presenter): ust-id in impressum "),e("a",zr,[Ar,l(t)])]),e("li",null,[r("fix(presenter): include jochens english translation "),e("a",Ir,[Tr,l(t)])]),e("li",null,[r("chore(presenter): update boilerplate presenter 02 02 "),e("a",Pr,[Vr,l(t)])]),e("li",null,[r("feat(presenter): multilang support "),e("a",Jr,[Ur,l(t)])]),e("li",null,[r('style(presenter): replace German "du" by "Sie" '),e("a",Fr,[Rr,l(t)])]),e("li",null,[r("feat(frontend): per page title "),e("a",Kr,[Mr,l(t)])]),e("li",null,[r("Bump dorny/paths-filter from 2.11.1 to 3.0.0 "),e("a",Qr,[Wr,l(t)])]),e("li",null,[r("chore(frontend): update packages 28.01 "),e("a",Xr,[Yr,l(t)])])]),e("h4",Zr,[e("a",$r,[e("span",null,[e("a",et,[r("1.1.0"),l(t)])])])]),rt,e("ul",null,[e("li",null,[r("chore(release): 1.1.0 "),e("a",tt,[lt,l(t)])]),e("li",null,[r("refactor(presenter): rename products to produkte "),e("a",ot,[at,l(t)])]),e("li",null,[r("fix(presenter): proper social preview "),e("a",nt,[ht,l(t)])]),e("li",null,[r("feat(presenter): vike per-page title "),e("a",st,[dt,l(t)])]),e("li",null,[r("feat(presenter): design pages "),e("a",ct,[mt,l(t)])]),e("li",null,[r("feat(presenter): scss refactor "),e("a",it,[_t,l(t)])]),e("li",null,[r("refactor(presenter): make input fields and checkbox reusable components "),e("a",ut,[pt,l(t)])]),e("li",null,[r("feat(presenter): automatic slider "),e("a",ft,[bt,l(t)])]),e("li",null,[r("refactor(presenter): improve naming conventions and folder structures "),e("a",gt,[kt,l(t)])]),e("li",null,[r("fix(backend): brevo response call fixes "),e("a",xt,[vt,l(t)])]),e("li",null,[r("feat(presenter): double opt in "),e("a",wt,[yt,l(t)])]),e("li",null,[r("chore(presenter): update boilerplate presenter 22.01.24 "),e("a",Bt,[qt,l(t)])]),e("li",null,[r("chore(frontend): update packages 20 01 2024 "),e("a",Ct,[Gt,l(t)])]),e("li",null,[r("feat(presenter): improved social preview "),e("a",Dt,[Et,l(t)])]),e("li",null,[r("fix(presenter): design fixes "),e("a",Nt,[Lt,l(t)])]),e("li",null,[r("feat(presenter): improve stories "),e("a",St,[Ht,l(t)])]),e("li",null,[r("docs(other): include browserstack reference as required by that service "),e("a",Ot,[jt,l(t)])]),e("li",null,[r("feat(backend): double opt in "),e("a",zt,[At,l(t)])]),e("li",null,[r("chore(presenter): update presenter from boilerplate "),e("a",It,[Tt,l(t)])]),e("li",null,[r("feat(presenter): increase coverage presenter "),e("a",Pt,[Vt,l(t)])]),e("li",null,[r("docs(frontend): fix readme "),e("a",Jt,[Ut,l(t)])]),e("li",null,[r("feat(frontend): stories "),e("a",Ft,[Rt,l(t)])]),e("li",null,[r("chore(frontend): update packages 13 01 2024 "),e("a",Kt,[Mt,l(t)])]),e("li",null,[r("feat(presenter): test response messages "),e("a",Qt,[Wt,l(t)])]),e("li",null,[r("feat(backend): database for newsletter double opt in "),e("a",Xt,[Yt,l(t)])]),e("li",null,[r("feat(presenter): snapshot testing "),e("a",Zt,[$t,l(t)])]),e("li",null,[r("feat(frontend): snapshot tests "),e("a",el,[rl,l(t)])]),e("li",null,[r("feat(frontend): test vike button "),e("a",tl,[ll,l(t)])]),e("li",null,[r("feat(frontend): build server "),e("a",ol,[al,l(t)])]),e("li",null,[r("feat(frontend): utilize vike-navigate "),e("a",nl,[hl,l(t)])]),e("li",null,[r("fix(presenter): fix unit tests "),e("a",sl,[dl,l(t)])]),e("li",null,[r("chore(presenter): update packages "),e("a",cl,[ml,l(t)])]),e("li",null,[r("chore(frontend): update packages "),e("a",il,[_l,l(t)])]),e("li",null,[r("refactor(presenter): utilize vike's client-side navigation "),e("a",ul,[pl,l(t)])]),e("li",null,[r("chore(presenter): update boilerplate presenter "),e("a",fl,[bl,l(t)])]),e("li",null,[r("fix(frontend): deleted unused debug handlers "),e("a",gl,[kl,l(t)])]),e("li",null,[r("Bump actions/checkout from 3 to 4 "),e("a",xl,[vl,l(t)])]),e("li",null,[r("chore(workflow): dependabot support "),e("a",wl,[yl,l(t)])]),e("li",null,[r("chore(frontend): apply vike fix "),e("a",Bl,[ql,l(t)])]),e("li",null,[r("chore(frontend): package updates "),e("a",Cl,[Gl,l(t)])]),e("li",null,[r("fix(frontend): optimization "),e("a",Dl,[El,l(t)])])]),e("h4",Nl,[e("a",Ll,[e("span",null,[e("a",Sl,[r("1.0.1"),l(t)])])])]),Hl,e("ul",null,[e("li",null,[r("chore(release): 1.0.1 "),e("a",Ol,[jl,l(t)])]),e("li",null,[r("fix(presenter): fix invisible hamburger menu on Safari iOS "),e("a",zl,[Al,l(t)])])]),e("h3",Il,[e("a",Tl,[e("span",null,[e("a",Pl,[r("1.0.0"),l(t)])])])]),Vl,e("ul",null,[e("li",null,[r("chore(release): 1.0.0 "),e("a",Jl,[Ul,l(t)])]),e("li",null,[r("feat(presenter): final adjustments "),e("a",Fl,[Rl,l(t)])]),e("li",null,[r("refactor(backend): email api "),e("a",Kl,[Ml,l(t)])]),e("li",null,[r("fix(presenter): impressum update "),e("a",Ql,[Wl,l(t)])]),e("li",null,[r("feat(presenter): optimize and fixes "),e("a",Xl,[Yl,l(t)])]),e("li",null,[r("refactor(backend): refactor config "),e("a",Zl,[$l,l(t)])]),e("li",null,[r("feat(backend): send newsletter contact from backend to brevo "),e("a",eo,[ro,l(t)])]),e("li",null,[r("feat(presenter): form feedback and design update "),e("a",to,[lo,l(t)])]),e("li",null,[r("fix(presenter): fix buttons "),e("a",oo,[ao,l(t)])]),e("li",null,[r("feat(presenter): form validation "),e("a",no,[ho,l(t)])]),e("li",null,[r("feat(backend): validation rules for inputs of contact form and newsletter "),e("a",so,[co,l(t)])]),e("li",null,[r("feat(backend): unit tests brevo api "),e("a",mo,[io,l(t)])])]),e("h4",_o,[e("a",uo,[e("span",null,[e("a",po,[r("0.9.3"),l(t)])])])]),fo,e("ul",null,[e("li",null,[r("feat(other): release mechanic, release 0.9.0 "),e("a",bo,[go,l(t)])])]),e("h4",ko,[e("a",xo,[e("span",null,[e("a",vo,[r("v0.9.2"),l(t)])])])]),wo,e("ul",null,[e("li",null,[r("release only on master "),e("a",yo,[Bo,l(t)])])]),e("h4",qo,[e("a",Co,[e("span",null,[e("a",Go,[r("0.9.1"),l(t)])])])]),Do,e("ul",null,[e("li",null,[r("fix release script "),e("a",Eo,[No,l(t)])])]),e("h4",Lo,[e("a",So,[e("span",null,[e("a",Ho,[r("v0.9.1"),l(t)])])])]),Oo,e("ul",null,[e("li",null,[r("permissions for contents not all "),e("a",jo,[zo,l(t)])])]),Ao,Io,e("ul",null,[e("li",null,[r("feat(backend): more fields on newsletter subscription "),e("a",To,[Po,l(t)])]),e("li",null,[r("feat(presenter): import vuetify components on demand "),e("a",Vo,[Jo,l(t)])]),e("li",null,[r("feat(presenter): compression "),e("a",Uo,[Fo,l(t)])]),e("li",null,[r("feat(presenter): fix apollo client testing "),e("a",Ro,[Ko,l(t)])]),e("li",null,[r("feat(presenter): impressum "),e("a",Mo,[Qo,l(t)])]),e("li",null,[r("fix(other): nginx buffer size increase "),e("a",Wo,[Xo,l(t)])]),e("li",null,[r("fix(presenter): performance by prerender "),e("a",Yo,[Zo,l(t)])]),e("li",null,[r("feat(presenter): design update "),e("a",$o,[ea,l(t)])]),e("li",null,[r("feat(presenter): connect contact form to backend "),e("a",ra,[ta,l(t)])]),e("li",null,[r("feat(presenter): connect newsletter to backend "),e("a",la,[oa,l(t)])]),e("li",null,[r("feat(backend): subscribe to newsletter "),e("a",aa,[na,l(t)])]),e("li",null,[r("feat(presenter): section2 animation "),e("a",ha,[sa,l(t)])]),e("li",null,[r("fix(presenter): improve performance "),e("a",da,[ca,l(t)])]),e("li",null,[r("feat(presenter): data protection page "),e("a",ma,[ia,l(t)])]),e("li",null,[r("fix(backend): rename test.ts to spec.ts "),e("a",_a,[ua,l(t)])]),e("li",null,[r("chore(presenter): update from boilerplate "),e("a",pa,[fa,l(t)])]),e("li",null,[r("feat(backend): deployment for backend "),e("a",ba,[ga,l(t)])]),e("li",null,[r("feat(presenter): fourth section "),e("a",ka,[xa,l(t)])]),e("li",null,[r("feat(presenter): impress section "),e("a",va,[wa,l(t)])]),e("li",null,[r("fix(presenter): fix vike warning @ "),e("a",ya,[Ba,l(t)])]),e("li",null,[r("refactor(frontend): import order + sbcomp + some types "),e("a",qa,[Ca,l(t)])]),e("li",null,[r("feat(frontend): typechecks & type cleanups "),e("a",Ga,[Da,l(t)])]),e("li",null,[r("feat(presenter): newsletter section "),e("a",Ea,[Na,l(t)])]),e("li",null,[r("feat(presenter): typecheck in vite "),e("a",La,[Sa,l(t)])]),e("li",null,[r("chore(presenter): remove storybook examples "),e("a",Ha,[Oa,l(t)])]),e("li",null,[r("feat(presenter): update footer "),e("a",ja,[za,l(t)])]),e("li",null,[r("docs(backend): database connection "),e("a",Aa,[Ia,l(t)])]),e("li",null,[r("feat(backend): save contact form "),e("a",Ta,[Pa,l(t)])]),e("li",null,[r("chore(backend): update backend from boilerplate "),e("a",Va,[Ja,l(t)])]),e("li",null,[r("feat(presenter): apollo client "),e("a",Ua,[Fa,l(t)])]),e("li",null,[r("feat(backend): eslint n + type-graphql "),e("a",Ra,[Ka,l(t)])]),e("li",null,[r("fix(docu): typo in readme "),e("a",Ma,[Qa,l(t)])]),e("li",null,[r("feat(docker): setup database "),e("a",Wa,[Xa,l(t)])]),e("li",null,[r("feat(workflow): backend CI "),e("a",Ya,[Za,l(t)])]),e("li",null,[r("chore(presenter): update presenter boilerplate "),e("a",$a,[en,l(t)])]),e("li",null,[r("chore(backend): update backend boilerplate "),e("a",rn,[tn,l(t)])]),e("li",null,[r("fix(backend): eslint relative parsing "),e("a",ln,[on,l(t)])]),e("li",null,[r("fix(frontend): eslint relativ eparsing "),e("a",an,[nn,l(t)])]),e("li",null,[r("feat(other): backend "),e("a",hn,[sn,l(t)])]),e("li",null,[r("fix(backend): eslint typescript strict "),e("a",dn,[cn,l(t)])]),e("li",null,[r("fix(other): eslint typescript strict "),e("a",mn,[_n,l(t)])]),e("li",null,[r("fix(presenter): update presenter from boilerplate "),e("a",un,[pn,l(t)])]),e("li",null,[r("fix(frontend): tests from dreammall "),e("a",fn,[bn,l(t)])]),e("li",null,[r("fix(workflow): unit tests working withdatabase sqlite "),e("a",gn,[kn,l(t)])]),e("li",null,[r("feat(presenter): improve unit tests "),e("a",xn,[vn,l(t)])]),e("li",null,[r("feat(frontend): test store "),e("a",wn,[yn,l(t)])]),e("li",null,[r("feat(presenter): fifth section with content "),e("a",Bn,[qn,l(t)])]),e("li",null,[r("fix(backend): eslint jest instead of vitest "),e("a",Cn,[Gn,l(t)])]),e("li",null,[r("fix(docker): fix docker production build "),e("a",Dn,[En,l(t)])]),e("li",null,[r("feat(presenter): added second section with content "),e("a",Nn,[Ln,l(t)])]),e("li",null,[r("feat(presenter): update first section "),e("a",Sn,[Hn,l(t)])]),e("li",null,[r("feat(docu): vuepress for docs "),e("a",On,[jn,l(t)])]),e("li",null,[r("feat(presenter): sixth section with content "),e("a",zn,[An,l(t)])]),e("li",null,[r("feat(presenter): third section content "),e("a",In,[Tn,l(t)])]),e("li",null,[r("feat(presenter): german translation "),e("a",Pn,[Vn,l(t)])]),e("li",null,[r("feat(presenter): new presenter layout and design "),e("a",Jn,[Un,l(t)])]),e("li",null,[r("fix(presenter): update presenter boilerplate "),e("a",Fn,[Rn,l(t)])]),e("li",null,[r("fix(docu): include LICENSE file in docu build "),e("a",Kn,[Mn,l(t)])]),e("li",null,[r("fix(docu): fix type error vuepress base "),e("a",Qn,[Wn,l(t)])]),e("li",null,[r("refactor(docu): docu & deploy fixes "),e("a",Xn,[Yn,l(t)])]),e("li",null,[r("fix(workflow): vuepress base "),e("a",Zn,[$n,l(t)])]),e("li",null,[r("fix(workflow): docs base configurable "),e("a",eh,[rh,l(t)])]),e("li",null,[r("feat(other): deploy stage via script "),e("a",th,[lh,l(t)])]),e("li",null,[r("feat(workflow): docs deploy "),e("a",oh,[ah,l(t)])]),e("li",null,[r("fix(workflow): deploy docs "),e("a",nh,[hh,l(t)])]),e("li",null,[r("fix(workflow): move files presenter/.github/* to .github/* and rename frontend to presenter "),e("a",sh,[dh,l(t)])]),e("li",null,[r("fix(docu): added docu for commit after subtree pull "),e("a",ch,[mh,l(t)])]),e("li",null,[r("fix(docu): document how to update the subtree "),e("a",ih,[_h,l(t)])]),e("li",null,[r("feat(other): document how to use as git subtree "),e("a",uh,[ph,l(t)])]),e("li",null,[r("fix(frontend): cleanup "),e("a",fh,[bh,l(t)])]),e("li",null,[r("feat(frontend): switch TopBar from DefaultLayout to PageShell "),e("a",gh,[kh,l(t)])]),e("li",null,[r("feat(frontend): package updates "),e("a",xh,[vh,l(t)])]),e("li",null,[r("feat(frontend): boilerplate function & layout "),e("a",wh,[yh,l(t)])]),e("li",null,[r("docs(frontend): chromatic readme "),e("a",Bh,[qh,l(t)])]),e("li",null,[r("feat(frontend): chromatic + workflow "),e("a",Ch,[Gh,l(t)])]),e("li",null,[r("refactor(frontend): clean structure & introduce aliases "),e("a",Dh,[Eh,l(t)])]),e("li",null,[r("fix(workflow): lint & docu fixes "),e("a",Nh,[Lh,l(t)])]),e("li",null,[r("feat(frontend): lint locales "),e("a",Sh,[Hh,l(t)])]),e("li",null,[r("feat(frontend): stylelint & workflow build storybook "),e("a",Oh,[jh,l(t)])]),e("li",null,[r("feat(workflow): deploy docs to github - workflow "),e("a",zh,[Ah,l(t)])]),e("li",null,[r("feat(workflow): build test workflow "),e("a",Ih,[Th,l(t)])]),e("li",null,[r("feat(workflow): test:unit workflow "),e("a",Ph,[Vh,l(t)])]),e("li",null,[r("feat(workflow): test:lint code - workflow "),e("a",Jh,[Uh,l(t)])])])])}const Qh=o(s,[["render",Fh],["__file","CHANGELOG.html.vue"]]),Wh=JSON.parse('{"path":"/CHANGELOG.html","title":"","lang":"en-US","frontmatter":{},"headers":[{"level":3,"title":"Changelog","slug":"changelog","link":"#changelog","children":[]},{"level":3,"title":"1.0.0","slug":"_1-0-0","link":"#_1-0-0","children":[]}],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"CHANGELOG.md"}');export{Qh as comp,Wh as data}; diff --git a/assets/LICENSE.html-Bp2aYuCk.js b/assets/LICENSE.html-Bp2aYuCk.js new file mode 100644 index 0000000000..49bb6565ac --- /dev/null +++ b/assets/LICENSE.html-Bp2aYuCk.js @@ -0,0 +1,13 @@ +import{_ as e,o as t,c as o,e as i}from"./app-DvhWSl6p.js";const n={},r=i(`
                             Apache License
+                       Version 2.0, January 2004
+                    http://www.apache.org/licenses/
+

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

  1. Definitions.

    "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

    "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

    "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

    "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

    "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

    "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

    "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

    "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

    "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

    "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

  2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

  3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

  4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

    (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

    (b) You must cause any modified files to carry prominent notices stating that You changed the files; and

    (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

    (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

    You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

  5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

  6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

  7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

  8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

  9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

  To apply the Apache License to your work, attach the following
+  boilerplate notice, with the fields enclosed by brackets "[]"
+  replaced with your own identifying information. (Don't include
+  the brackets!)  The text should be enclosed in the appropriate
+  comment syntax for the file format. We also recommend that a
+  file or class name and description of purpose be included on the
+  same "printed page" as the copyright notice for easier
+  identification within third-party archives.
+

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0
+

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

`,10),a=[r];function s(c,h){return t(),o("div",null,a)}const l=e(n,[["render",s],["__file","LICENSE.html.vue"]]),u=JSON.parse('{"path":"/backend/LICENSE","title":"","lang":"en-US","frontmatter":{},"headers":[],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"backend/LICENSE"}');export{l as comp,u as data}; diff --git a/assets/LICENSE.html-EW2LWnYJ.js b/assets/LICENSE.html-EW2LWnYJ.js new file mode 100644 index 0000000000..e4e40a9739 --- /dev/null +++ b/assets/LICENSE.html-EW2LWnYJ.js @@ -0,0 +1,13 @@ +import{_ as e,o as t,c as o,e as i}from"./app-DvhWSl6p.js";const n={},r=i(`
                             Apache License
+                       Version 2.0, January 2004
+                    http://www.apache.org/licenses/
+

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

  1. Definitions.

    "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

    "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

    "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

    "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

    "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

    "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

    "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

    "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

    "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

    "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

  2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

  3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

  4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

    (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

    (b) You must cause any modified files to carry prominent notices stating that You changed the files; and

    (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

    (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

    You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

  5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

  6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

  7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

  8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

  9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

  To apply the Apache License to your work, attach the following
+  boilerplate notice, with the fields enclosed by brackets "[]"
+  replaced with your own identifying information. (Don't include
+  the brackets!)  The text should be enclosed in the appropriate
+  comment syntax for the file format. We also recommend that a
+  file or class name and description of purpose be included on the
+  same "printed page" as the copyright notice for easier
+  identification within third-party archives.
+

Copyright 2023 Ulf Gebhardt

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0
+

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

`,10),a=[r];function s(c,h){return t(),o("div",null,a)}const l=e(n,[["render",s],["__file","LICENSE.html.vue"]]),u=JSON.parse('{"path":"/presenter/LICENSE","title":"","lang":"en-US","frontmatter":{},"headers":[],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"presenter/LICENSE"}');export{l as comp,u as data}; diff --git a/assets/LICENSE.html-KOGEG-Bt.js b/assets/LICENSE.html-KOGEG-Bt.js new file mode 100644 index 0000000000..96ff171b40 --- /dev/null +++ b/assets/LICENSE.html-KOGEG-Bt.js @@ -0,0 +1,13 @@ +import{_ as e,o as t,c as o,e as i}from"./app-DvhWSl6p.js";const n={},r=i(`
                             Apache License
+                       Version 2.0, January 2004
+                    http://www.apache.org/licenses/
+

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

  1. Definitions.

    "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

    "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

    "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

    "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

    "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

    "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

    "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

    "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

    "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

    "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

  2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

  3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

  4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

    (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

    (b) You must cause any modified files to carry prominent notices stating that You changed the files; and

    (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

    (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

    You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

  5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

  6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

  7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

  8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

  9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

  To apply the Apache License to your work, attach the following
+  boilerplate notice, with the fields enclosed by brackets "[]"
+  replaced with your own identifying information. (Don't include
+  the brackets!)  The text should be enclosed in the appropriate
+  comment syntax for the file format. We also recommend that a
+  file or class name and description of purpose be included on the
+  same "printed page" as the copyright notice for easier
+  identification within third-party archives.
+

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0
+

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

`,10),a=[r];function s(c,h){return t(),o("div",null,a)}const l=e(n,[["render",s],["__file","LICENSE.html.vue"]]),u=JSON.parse('{"path":"/LICENSE","title":"","lang":"en-US","frontmatter":{},"headers":[],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"LICENSE"}');export{l as comp,u as data}; diff --git a/assets/LICENSE.html-O-VNIRUB.js b/assets/LICENSE.html-O-VNIRUB.js new file mode 100644 index 0000000000..49b7c54667 --- /dev/null +++ b/assets/LICENSE.html-O-VNIRUB.js @@ -0,0 +1,13 @@ +import{_ as e,o as t,c as o,e as i}from"./app-DvhWSl6p.js";const n={},r=i(`
                             Apache License
+                       Version 2.0, January 2004
+                    http://www.apache.org/licenses/
+

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

  1. Definitions.

    "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

    "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

    "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

    "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

    "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

    "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

    "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

    "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

    "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

    "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

  2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

  3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

  4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

    (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

    (b) You must cause any modified files to carry prominent notices stating that You changed the files; and

    (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

    (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

    You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

  5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

  6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

  7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

  8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

  9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

  To apply the Apache License to your work, attach the following
+  boilerplate notice, with the fields enclosed by brackets "[]"
+  replaced with your own identifying information. (Don't include
+  the brackets!)  The text should be enclosed in the appropriate
+  comment syntax for the file format. We also recommend that a
+  file or class name and description of purpose be included on the
+  same "printed page" as the copyright notice for easier
+  identification within third-party archives.
+

Copyright 2023 Ulf Gebhardt

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0
+

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

`,10),a=[r];function s(c,h){return t(),o("div",null,a)}const l=e(n,[["render",s],["__file","LICENSE.html.vue"]]),u=JSON.parse('{"path":"/frontend/LICENSE","title":"","lang":"en-US","frontmatter":{},"headers":[],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"frontend/LICENSE"}');export{l as comp,u as data}; diff --git a/assets/app-DvhWSl6p.js b/assets/app-DvhWSl6p.js new file mode 100644 index 0000000000..5895c11345 --- /dev/null +++ b/assets/app-DvhWSl6p.js @@ -0,0 +1,32 @@ +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/index.html-DL_tfTeg.js","assets/dreammall-logo-BlW2bKby.js","assets/index.html-BtvXRzQl.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} +/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Po(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const ye={},ln=[],et=()=>{},ia=()=>!1,Kn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Oo=e=>e.startsWith("onUpdate:"),Re=Object.assign,Io=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},la=Object.prototype.hasOwnProperty,ue=(e,t)=>la.call(e,t),ee=Array.isArray,an=e=>Ir(e)==="[object Map]",wi=e=>Ir(e)==="[object Set]",ie=e=>typeof e=="function",Ae=e=>typeof e=="string",_n=e=>typeof e=="symbol",Ee=e=>e!==null&&typeof e=="object",Ci=e=>(Ee(e)||ie(e))&&ie(e.then)&&ie(e.catch),Si=Object.prototype.toString,Ir=e=>Si.call(e),aa=e=>Ir(e).slice(8,-1),Li=e=>Ir(e)==="[object Object]",$o=e=>Ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,cn=Po(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$r=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ca=/-(\w)/g,nt=$r(e=>e.replace(ca,(t,n)=>n?n.toUpperCase():"")),ua=/\B([A-Z])/g,en=$r(e=>e.replace(ua,"-$1").toLowerCase()),qn=$r(e=>e.charAt(0).toUpperCase()+e.slice(1)),Yr=$r(e=>e?`on${qn(e)}`:""),Nt=(e,t)=>!Object.is(e,t),Jr=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},fa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},da=e=>{const t=Ae(e)?Number(e):NaN;return isNaN(t)?e:t};let fs;const xi=()=>fs||(fs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Gn(e){if(ee(e)){const t={};for(let n=0;n{if(n){const r=n.split(pa);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function We(e){let t="";if(Ae(e))t=e;else if(ee(e))for(let n=0;nAe(e)?e:e==null?"":ee(e)||Ee(e)&&(e.toString===Si||!ie(e.toString))?JSON.stringify(e,Ai,2):String(e),Ai=(e,t)=>t&&t.__v_isRef?Ai(e,t.value):an(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[Xr(r,s)+" =>"]=o,n),{})}:wi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Xr(n))}:_n(t)?Xr(t):Ee(t)&&!ee(t)&&!Li(t)?String(t):t,Xr=(e,t="")=>{var n;return _n(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ye;class ba{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ye,!t&&Ye&&(this.index=(Ye.scopes||(Ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ye;try{return Ye=this,t()}finally{Ye=n}}}on(){Ye=this}off(){Ye=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),nn()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=It,n=Jt;try{return It=!0,Jt=this,this._runnings++,ds(this),this.fn()}finally{hs(this),this._runnings--,Jt=n,It=t}}stop(){var t;this.active&&(ds(this),hs(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function wa(e){return e.value}function ds(e){e._trackId++,e._depsLength=0}function hs(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},wr=new WeakMap,Xt=Symbol(""),go=Symbol("");function Ke(e,t,n){if(It&&Jt){let r=wr.get(e);r||wr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=$i(()=>r.delete(n))),Oi(Jt,o)}}function bt(e,t,n,r,o,s){const i=wr.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&ee(e)){const a=Number(r);i.forEach((c,u)=>{(u==="length"||!_n(u)&&u>=a)&&l.push(c)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":ee(e)?$o(n)&&l.push(i.get("length")):(l.push(i.get(Xt)),an(e)&&l.push(i.get(go)));break;case"delete":ee(e)||(l.push(i.get(Xt)),an(e)&&l.push(i.get(go)));break;case"set":an(e)&&l.push(i.get(Xt));break}Mo();for(const a of l)a&&Ii(a,4);Ho()}function Ca(e,t){var n;return(n=wr.get(e))==null?void 0:n.get(t)}const Sa=Po("__proto__,__v_isRef,__isVue"),Ni=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(_n)),ps=La();function La(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=fe(this);for(let s=0,i=this.length;s{e[t]=function(...n){tn(),Mo();const r=fe(this)[t].apply(this,n);return Ho(),nn(),r}}),e}function xa(e){const t=fe(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class Mi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?Da:Bi:s?Di:Fi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=ee(t);if(!o){if(i&&ue(ps,n))return Reflect.get(ps,n,r);if(n==="hasOwnProperty")return xa}const l=Reflect.get(t,n,r);return(_n(n)?Ni.has(n):Sa(n))||(o||Ke(t,"get",n),s)?l:Be(l)?i&&$o(n)?l:l.value:Ee(l)?o?Mr(l):Yn(l):l}}class Hi extends Mi{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const a=pn(s);if(!Cr(r)&&!pn(r)&&(s=fe(s),r=fe(r)),!ee(t)&&Be(s)&&!Be(r))return a?!1:(s.value=r,!0)}const i=ee(t)&&$o(n)?Number(n)e,Nr=e=>Reflect.getPrototypeOf(e);function or(e,t,n=!1,r=!1){e=e.__v_raw;const o=fe(e),s=fe(t);n||(Nt(t,s)&&Ke(o,"get",t),Ke(o,"get",s));const{has:i}=Nr(o),l=r?Fo:n?zo:Mn;if(i.call(o,t))return l(e.get(t));if(i.call(o,s))return l(e.get(s));e!==o&&e.get(t)}function sr(e,t=!1){const n=this.__v_raw,r=fe(n),o=fe(e);return t||(Nt(e,o)&&Ke(r,"has",e),Ke(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function ir(e,t=!1){return e=e.__v_raw,!t&&Ke(fe(e),"iterate",Xt),Reflect.get(e,"size",e)}function ms(e){e=fe(e);const t=fe(this);return Nr(t).has.call(t,e)||(t.add(e),bt(t,"add",e,e)),this}function gs(e,t){t=fe(t);const n=fe(this),{has:r,get:o}=Nr(n);let s=r.call(n,e);s||(e=fe(e),s=r.call(n,e));const i=o.call(n,e);return n.set(e,t),s?Nt(t,i)&&bt(n,"set",e,t):bt(n,"add",e,t),this}function vs(e){const t=fe(this),{has:n,get:r}=Nr(t);let o=n.call(t,e);o||(e=fe(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&bt(t,"delete",e,void 0),s}function _s(){const e=fe(this),t=e.size!==0,n=e.clear();return t&&bt(e,"clear",void 0,void 0),n}function lr(e,t){return function(r,o){const s=this,i=s.__v_raw,l=fe(i),a=t?Fo:e?zo:Mn;return!e&&Ke(l,"iterate",Xt),i.forEach((c,u)=>r.call(o,a(c),a(u),s))}}function ar(e,t,n){return function(...r){const o=this.__v_raw,s=fe(o),i=an(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,c=o[e](...r),u=n?Fo:t?zo:Mn;return!t&&Ke(s,"iterate",a?go:Xt),{next(){const{value:f,done:d}=c.next();return d?{value:f,done:d}:{value:l?[u(f[0]),u(f[1])]:u(f),done:d}},[Symbol.iterator](){return this}}}}function St(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pa(){const e={get(s){return or(this,s)},get size(){return ir(this)},has:sr,add:ms,set:gs,delete:vs,clear:_s,forEach:lr(!1,!1)},t={get(s){return or(this,s,!1,!0)},get size(){return ir(this)},has:sr,add:ms,set:gs,delete:vs,clear:_s,forEach:lr(!1,!0)},n={get(s){return or(this,s,!0)},get size(){return ir(this,!0)},has(s){return sr.call(this,s,!0)},add:St("add"),set:St("set"),delete:St("delete"),clear:St("clear"),forEach:lr(!0,!1)},r={get(s){return or(this,s,!0,!0)},get size(){return ir(this,!0)},has(s){return sr.call(this,s,!0)},add:St("add"),set:St("set"),delete:St("delete"),clear:St("clear"),forEach:lr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=ar(s,!1,!1),n[s]=ar(s,!0,!1),t[s]=ar(s,!1,!0),r[s]=ar(s,!0,!0)}),[e,n,t,r]}const[Oa,Ia,$a,Na]=Pa();function Do(e,t){const n=t?e?Na:$a:e?Ia:Oa;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ue(n,o)&&o in r?n:r,o,s)}const Ma={get:Do(!1,!1)},Ha={get:Do(!1,!0)},Fa={get:Do(!0,!1)},Fi=new WeakMap,Di=new WeakMap,Bi=new WeakMap,Da=new WeakMap;function Ba(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function za(e){return e.__v_skip||!Object.isExtensible(e)?0:Ba(aa(e))}function Yn(e){return pn(e)?e:Bo(e,!1,Aa,Ma,Fi)}function zi(e){return Bo(e,!1,Ra,Ha,Di)}function Mr(e){return Bo(e,!0,ka,Fa,Bi)}function Bo(e,t,n,r,o){if(!Ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=za(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return o.set(e,l),l}function un(e){return pn(e)?un(e.__v_raw):!!(e&&e.__v_isReactive)}function pn(e){return!!(e&&e.__v_isReadonly)}function Cr(e){return!!(e&&e.__v_isShallow)}function ji(e){return un(e)||pn(e)}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Ui(e){return Object.isExtensible(e)&&Er(e,"__v_skip",!0),e}const Mn=e=>Ee(e)?Yn(e):e,zo=e=>Ee(e)?Mr(e):e;class Vi{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new No(()=>t(this._value),()=>kn(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=fe(this);return(!t._cacheable||t.effect.dirty)&&Nt(t._value,t._value=t.effect.run())&&kn(t,4),jo(t),t.effect._dirtyLevel>=2&&kn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function ja(e,t,n=!1){let r,o;const s=ie(e);return s?(r=e,o=et):(r=e.get,o=e.set),new Vi(r,o,s||!o,n)}function jo(e){var t;It&&Jt&&(e=fe(e),Oi(Jt,(t=e.dep)!=null?t:e.dep=$i(()=>e.dep=void 0,e instanceof Vi?e:void 0)))}function kn(e,t=4,n){e=fe(e);const r=e.dep;r&&Ii(r,t)}function Be(e){return!!(e&&e.__v_isRef===!0)}function de(e){return Wi(e,!1)}function bn(e){return Wi(e,!0)}function Wi(e,t){return Be(e)?e:new Ua(e,t)}class Ua{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:fe(t),this._value=n?t:Mn(t)}get value(){return jo(this),this._value}set value(t){const n=this.__v_isShallow||Cr(t)||pn(t);t=n?t:fe(t),Nt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Mn(t),kn(this,4))}}function X(e){return Be(e)?e.value:e}const Va={get:(e,t,n)=>X(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Be(o)&&!Be(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Ki(e){return un(e)?e:new Proxy(e,Va)}class Wa{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>jo(this),()=>kn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function Ka(e){return new Wa(e)}function Uo(e){const t=ee(e)?new Array(e.length):{};for(const n in e)t[n]=Ga(e,n);return t}class qa{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ca(fe(this._object),this._key)}}function Ga(e,t,n){const r=e[t];return Be(r)?r:new qa(e,t,n)}/** +* @vue/runtime-core v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function $t(e,t,n,r){try{return r?e(...r):e()}catch(o){Jn(o,t,n)}}function tt(e,t,n,r){if(ie(e)){const s=$t(e,t,n,r);return s&&Ci(s)&&s.catch(i=>{Jn(i,t,n)}),s}const o=[];for(let s=0;s>>1,o=De[r],s=Fn(o);sft&&De.splice(t,1)}function Qa(e){ee(e)?fn.push(...e):(!At||!At.includes(e,e.allowRecurse?Kt+1:Kt))&&fn.push(e),Gi()}function bs(e,t,n=Hn?ft+1:0){for(;nFn(n)-Fn(r));if(fn.length=0,At){At.push(...t);return}for(At=t,Kt=0;Kte.id==null?1/0:e.id,Za=(e,t)=>{const n=Fn(e)-Fn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Yi(e){vo=!1,Hn=!0,De.sort(Za);try{for(ft=0;ftAe(m)?m.trim():m)),f&&(o=n.map(fa))}let l,a=r[l=Yr(t)]||r[l=Yr(nt(t))];!a&&s&&(a=r[l=Yr(en(t))]),a&&tt(a,e,6,o);const c=r[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,tt(c,e,6,o)}}function Ji(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},l=!1;if(!ie(e)){const a=c=>{const u=Ji(c,t,!0);u&&(l=!0,Re(i,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(Ee(e)&&r.set(e,null),null):(ee(s)?s.forEach(a=>i[a]=null):Re(i,s),Ee(e)&&r.set(e,i),i)}function Fr(e,t){return!e||!Kn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ue(e,t[0].toLowerCase()+t.slice(1))||ue(e,en(t))||ue(e,t))}let ke=null,Xi=null;function Lr(e){const t=ke;return ke=e,Xi=e&&e.type.__scopeId||null,t}function xe(e,t=ke,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&Ps(-1);const s=Lr(t);let i;try{i=e(...o)}finally{Lr(s),r._d&&Ps(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Qr(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[i],slots:l,attrs:a,emit:c,render:u,renderCache:f,data:d,setupState:m,ctx:g,inheritAttrs:y}=e;let w,A;const k=Lr(e);try{if(n.shapeFlag&4){const S=o||r,D=S;w=ot(u.call(D,S,f,s,m,d,g)),A=a}else{const S=t;w=ot(S.length>1?S(s,{attrs:a,slots:l,emit:c}):S(s,null)),A=t.props?a:tc(a)}}catch(S){In.length=0,Jn(S,e,1),w=oe(Je)}let v=w;if(A&&y!==!1){const S=Object.keys(A),{shapeFlag:D}=v;S.length&&D&7&&(i&&S.some(Oo)&&(A=nc(A,i)),v=Ht(v,A))}return n.dirs&&(v=Ht(v),v.dirs=v.dirs?v.dirs.concat(n.dirs):n.dirs),n.transition&&(v.transition=n.transition),w=v,Lr(k),w}const tc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Kn(n))&&((t||(t={}))[n]=e[n]);return t},nc=(e,t)=>{const n={};for(const r in e)(!Oo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function rc(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:a}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?ys(r,i,c):!!i;if(a&8){const u=t.dynamicProps;for(let f=0;fe.__isSuspense;function Zi(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):Qa(e)}const ac=Symbol.for("v-scx"),cc=()=>je(ac);function uc(e,t){return Wo(e,null,t)}const cr={};function He(e,t,n){return Wo(e,t,n)}function Wo(e,t,{immediate:n,deep:r,flush:o,once:s,onTrack:i,onTrigger:l}=ye){if(t&&s){const I=t;t=(...H)=>{I(...H),D()}}const a=$e,c=I=>r===!0?I:Gt(I,r===!1?1:void 0);let u,f=!1,d=!1;if(Be(e)?(u=()=>e.value,f=Cr(e)):un(e)?(u=()=>c(e),f=!0):ee(e)?(d=!0,f=e.some(I=>un(I)||Cr(I)),u=()=>e.map(I=>{if(Be(I))return I.value;if(un(I))return c(I);if(ie(I))return $t(I,a,2)})):ie(e)?t?u=()=>$t(e,a,2):u=()=>(m&&m(),tt(e,a,3,[g])):u=et,t&&r){const I=u;u=()=>Gt(I())}let m,g=I=>{m=v.onStop=()=>{$t(I,a,4),m=v.onStop=void 0}},y;if(Zn)if(g=et,t?n&&tt(t,a,3,[u(),d?[]:void 0,g]):u(),o==="sync"){const I=cc();y=I.__watcherHandles||(I.__watcherHandles=[])}else return et;let w=d?new Array(e.length).fill(cr):cr;const A=()=>{if(!(!v.active||!v.dirty))if(t){const I=v.run();(r||f||(d?I.some((H,_)=>Nt(H,w[_])):Nt(I,w)))&&(m&&m(),tt(t,a,3,[I,w===cr?void 0:d&&w[0]===cr?[]:w,g]),w=I)}else v.run()};A.allowRecurse=!!t;let k;o==="sync"?k=A:o==="post"?k=()=>Ve(A,a&&a.suspense):(A.pre=!0,a&&(A.id=a.uid),k=()=>Hr(A));const v=new No(u,et,k),S=ki(),D=()=>{v.stop(),S&&Io(S.effects,v)};return t?n?A():w=v.run():o==="post"?Ve(v.run.bind(v),a&&a.suspense):v.run(),y&&y.push(D),D}function fc(e,t,n){const r=this.proxy,o=Ae(e)?e.includes(".")?el(r,e):()=>r[e]:e.bind(r,r);let s;ie(t)?s=t:(s=t.handler,n=t);const i=Qn(this),l=Wo(o,s.bind(r),n);return i(),l}function el(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),Be(e))Gt(e.value,t,n,r);else if(ee(e))for(let o=0;o{Gt(o,t,n,r)});else if(Li(e))for(const o in e)Gt(e[o],t,n,r);return e}function xr(e,t){if(ke===null)return e;const n=Ur(ke)||ke.proxy,r=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Ko(()=>{e.isUnmounting=!0}),e}const Xe=[Function,Array],tl={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Xe,onEnter:Xe,onAfterEnter:Xe,onEnterCancelled:Xe,onBeforeLeave:Xe,onLeave:Xe,onAfterLeave:Xe,onLeaveCancelled:Xe,onBeforeAppear:Xe,onAppear:Xe,onAfterAppear:Xe,onAppearCancelled:Xe},hc={name:"BaseTransition",props:tl,setup(e,{slots:t}){const n=jr(),r=dc();return()=>{const o=t.default&&rl(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const d of o)if(d.type!==Je){s=d;break}}const i=fe(e),{mode:l}=i;if(r.isLeaving)return Zr(s);const a=ws(s);if(!a)return Zr(s);const c=_o(a,i,r,n);bo(a,c);const u=n.subTree,f=u&&ws(u);if(f&&f.type!==Je&&!qt(a,f)){const d=_o(f,i,r,n);if(bo(f,d),l==="out-in")return r.isLeaving=!0,d.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Zr(s);l==="in-out"&&a.type!==Je&&(d.delayLeave=(m,g,y)=>{const w=nl(r,f);w[String(f.key)]=f,m[kt]=()=>{g(),m[kt]=void 0,delete c.delayedLeave},c.delayedLeave=y})}return s}}},pc=hc;function nl(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 _o(e,t,n,r){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:f,onLeave:d,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:y,onAppear:w,onAfterAppear:A,onAppearCancelled:k}=t,v=String(e.key),S=nl(n,e),D=(_,G)=>{_&&tt(_,r,9,G)},I=(_,G)=>{const x=G[1];D(_,G),ee(_)?_.every(V=>V.length<=1)&&x():_.length<=1&&x()},H={mode:s,persisted:i,beforeEnter(_){let G=l;if(!n.isMounted)if(o)G=y||l;else return;_[kt]&&_[kt](!0);const x=S[v];x&&qt(e,x)&&x.el[kt]&&x.el[kt](),D(G,[_])},enter(_){let G=a,x=c,V=u;if(!n.isMounted)if(o)G=w||a,x=A||c,V=k||u;else return;let E=!1;const N=_[ur]=te=>{E||(E=!0,te?D(V,[_]):D(x,[_]),H.delayedLeave&&H.delayedLeave(),_[ur]=void 0)};G?I(G,[_,N]):N()},leave(_,G){const x=String(e.key);if(_[ur]&&_[ur](!0),n.isUnmounting)return G();D(f,[_]);let V=!1;const E=_[kt]=N=>{V||(V=!0,G(),N?D(g,[_]):D(m,[_]),_[kt]=void 0,S[x]===e&&delete S[x])};S[x]=e,d?I(d,[_,E]):E()},clone(_){return _o(_,t,n,r)}};return H}function Zr(e){if(Xn(e))return e=Ht(e),e.children=null,e}function ws(e){return Xn(e)?e.children?e.children[0]:void 0:e}function bo(e,t){e.shapeFlag&6&&e.component?bo(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function rl(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function mc(e){ie(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:i=!0,onError:l}=e;let a=null,c,u=0;const f=()=>(u++,a=null,d()),d=()=>{let m;return a||(m=a=t().catch(g=>{if(g=g instanceof Error?g:new Error(String(g)),l)return new Promise((y,w)=>{l(g,()=>y(f()),()=>w(g),u+1)});throw g}).then(g=>m!==a&&a?a:(g&&(g.__esModule||g[Symbol.toStringTag]==="Module")&&(g=g.default),c=g,g)))};return he({name:"AsyncComponentWrapper",__asyncLoader:d,get __asyncResolved(){return c},setup(){const m=$e;if(c)return()=>eo(c,m);const g=k=>{a=null,Jn(k,m,13,!r)};if(i&&m.suspense||Zn)return d().then(k=>()=>eo(k,m)).catch(k=>(g(k),()=>r?oe(r,{error:k}):null));const y=de(!1),w=de(),A=de(!!o);return o&&setTimeout(()=>{A.value=!1},o),s!=null&&setTimeout(()=>{if(!y.value&&!w.value){const k=new Error(`Async component timed out after ${s}ms.`);g(k),w.value=k}},s),d().then(()=>{y.value=!0,m.parent&&Xn(m.parent.vnode)&&(m.parent.effect.dirty=!0,Hr(m.parent.update))}).catch(k=>{g(k),w.value=k}),()=>{if(y.value&&c)return eo(c,m);if(w.value&&r)return oe(r,{error:w.value});if(n&&!A.value)return oe(n)}}})}function eo(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=oe(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Xn=e=>e.type.__isKeepAlive;function gc(e,t){ol(e,"a",t)}function vc(e,t){ol(e,"da",t)}function ol(e,t,n=$e){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Dr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)Xn(o.parent.vnode)&&_c(r,t,n,o),o=o.parent}}function _c(e,t,n,r){const o=Dr(t,e,r,!0);Br(()=>{Io(r[t],o)},n)}function Dr(e,t,n=$e,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;tn();const l=Qn(n),a=tt(t,n,e,i);return l(),nn(),a});return r?o.unshift(s):o.push(s),s}}const Et=e=>(t,n=$e)=>(!Zn||e==="sp")&&Dr(e,(...r)=>t(...r),n),bc=Et("bm"),qe=Et("m"),yc=Et("bu"),Ec=Et("u"),Ko=Et("bum"),Br=Et("um"),wc=Et("sp"),Cc=Et("rtg"),Sc=Et("rtc");function Lc(e,t=$e){Dr("ec",e,t)}function Mt(e,t,n,r){let o;const s=n&&n[r];if(ee(e)||Ae(e)){o=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,s&&s[l]));else{const i=Object.keys(e);o=new Array(i.length);for(let l=0,a=i.length;lkr(t)?!(t.type===Je||t.type===be&&!sl(t.children)):!0)?e:null}const yo=e=>e?_l(e)?Ur(e)||e.proxy:yo(e.parent):null,Rn=Re(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=>yo(e.parent),$root:e=>yo(e.root),$emit:e=>e.emit,$options:e=>qo(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Hr(e.update)}),$nextTick:e=>e.n||(e.n=yn.bind(e.proxy)),$watch:e=>fc.bind(e)}),to=(e,t)=>e!==ye&&!e.__isScriptSetup&&ue(e,t),xc={get({_:e},t){const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:l,appContext:a}=e;let c;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(to(r,t))return i[t]=1,r[t];if(o!==ye&&ue(o,t))return i[t]=2,o[t];if((c=e.propsOptions[0])&&ue(c,t))return i[t]=3,s[t];if(n!==ye&&ue(n,t))return i[t]=4,n[t];Eo&&(i[t]=0)}}const u=Rn[t];let f,d;if(u)return t==="$attrs"&&Ke(e,"get",t),u(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==ye&&ue(n,t))return i[t]=4,n[t];if(d=a.config.globalProperties,ue(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return to(o,t)?(o[t]=n,!0):r!==ye&&ue(r,t)?(r[t]=n,!0):ue(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let l;return!!n[i]||e!==ye&&ue(e,i)||to(t,i)||(l=s[0])&&ue(l,i)||ue(r,i)||ue(Rn,i)||ue(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ue(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Cs(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Eo=!0;function Tc(e){const t=qo(e),n=e.proxy,r=e.ctx;Eo=!1,t.beforeCreate&&Ss(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:l,provide:a,inject:c,created:u,beforeMount:f,mounted:d,beforeUpdate:m,updated:g,activated:y,deactivated:w,beforeDestroy:A,beforeUnmount:k,destroyed:v,unmounted:S,render:D,renderTracked:I,renderTriggered:H,errorCaptured:_,serverPrefetch:G,expose:x,inheritAttrs:V,components:E,directives:N,filters:te}=t;if(c&&Ac(c,r,null),i)for(const Y in i){const W=i[Y];ie(W)&&(r[Y]=W.bind(n))}if(o){const Y=o.call(n,n);Ee(Y)&&(e.data=Yn(Y))}if(Eo=!0,s)for(const Y in s){const W=s[Y],Pe=ie(W)?W.bind(n,n):ie(W.get)?W.get.bind(n,n):et,Me=!ie(W)&&ie(W.set)?W.set.bind(n):et,Ue=M({get:Pe,set:Me});Object.defineProperty(r,Y,{enumerable:!0,configurable:!0,get:()=>Ue.value,set:Fe=>Ue.value=Fe})}if(l)for(const Y in l)il(l[Y],r,n,Y);if(a){const Y=ie(a)?a.call(n):a;Reflect.ownKeys(Y).forEach(W=>{Qt(W,Y[W])})}u&&Ss(u,e,"c");function P(Y,W){ee(W)?W.forEach(Pe=>Y(Pe.bind(n))):W&&Y(W.bind(n))}if(P(bc,f),P(qe,d),P(yc,m),P(Ec,g),P(gc,y),P(vc,w),P(Lc,_),P(Sc,I),P(Cc,H),P(Ko,k),P(Br,S),P(wc,G),ee(x))if(x.length){const Y=e.exposed||(e.exposed={});x.forEach(W=>{Object.defineProperty(Y,W,{get:()=>n[W],set:Pe=>n[W]=Pe})})}else e.exposed||(e.exposed={});D&&e.render===et&&(e.render=D),V!=null&&(e.inheritAttrs=V),E&&(e.components=E),N&&(e.directives=N)}function Ac(e,t,n=et){ee(e)&&(e=wo(e));for(const r in e){const o=e[r];let s;Ee(o)?"default"in o?s=je(o.from||r,o.default,!0):s=je(o.from||r):s=je(o),Be(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Ss(e,t,n){tt(ee(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function il(e,t,n,r){const o=r.includes(".")?el(n,r):()=>n[r];if(Ae(e)){const s=t[e];ie(s)&&He(o,s)}else if(ie(e))He(o,e.bind(n));else if(Ee(e))if(ee(e))e.forEach(s=>il(s,t,n,r));else{const s=ie(e.handler)?e.handler.bind(n):t[e.handler];ie(s)&&He(o,s,e)}}function qo(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=t:(a={},o.length&&o.forEach(c=>Tr(a,c,i,!0)),Tr(a,t,i)),Ee(t)&&s.set(t,a),a}function Tr(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Tr(e,s,n,!0),o&&o.forEach(i=>Tr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=kc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const kc={data:Ls,props:xs,emits:xs,methods:Tn,computed:Tn,beforeCreate:ze,created:ze,beforeMount:ze,mounted:ze,beforeUpdate:ze,updated:ze,beforeDestroy:ze,beforeUnmount:ze,destroyed:ze,unmounted:ze,activated:ze,deactivated:ze,errorCaptured:ze,serverPrefetch:ze,components:Tn,directives:Tn,watch:Pc,provide:Ls,inject:Rc};function Ls(e,t){return t?e?function(){return Re(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function Rc(e,t){return Tn(wo(e),wo(t))}function wo(e){if(ee(e)){const t={};for(let n=0;n1)return n&&ie(t)?t.call(r&&r.proxy):t}}function $c(e,t,n,r=!1){const o={},s={};Er(s,zr,1),e.propsDefaults=Object.create(null),al(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:zi(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Nc(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,l=fe(o),[a]=e.propsOptions;let c=!1;if((r||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[d,m]=cl(f,t,!0);Re(i,d),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!a)return Ee(e)&&r.set(e,ln),ln;if(ee(s))for(let u=0;u-1,m[1]=y<0||g-1||ue(m,"default"))&&l.push(f)}}}const c=[i,l];return Ee(e)&&r.set(e,c),c}function Ts(e){return e[0]!=="$"&&!cn(e)}function As(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function ks(e,t){return As(e)===As(t)}function Rs(e,t){return ee(t)?t.findIndex(n=>ks(n,e)):ie(t)&&ks(t,e)?0:-1}const ul=e=>e[0]==="_"||e==="$stable",Go=e=>ee(e)?e.map(ot):[ot(e)],Mc=(e,t,n)=>{if(t._n)return t;const r=xe((...o)=>Go(t(...o)),n);return r._c=!1,r},fl=(e,t,n)=>{const r=e._ctx;for(const o in e){if(ul(o))continue;const s=e[o];if(ie(s))t[o]=Mc(o,s,r);else if(s!=null){const i=Go(s);t[o]=()=>i}}},dl=(e,t)=>{const n=Go(t);e.slots.default=()=>n},Hc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=fe(t),Er(t,"_",n)):fl(t,e.slots={})}else e.slots={},t&&dl(e,t);Er(e.slots,zr,1)},Fc=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=ye;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:(Re(o,t),!n&&l===1&&delete o._):(s=!t.$stable,fl(t,o)),i=t}else t&&(dl(e,t),i={default:1});if(s)for(const l in o)!ul(l)&&i[l]==null&&delete o[l]};function Ar(e,t,n,r,o=!1){if(ee(e)){e.forEach((d,m)=>Ar(d,t&&(ee(t)?t[m]:t),n,r,o));return}if(dn(r)&&!o)return;const s=r.shapeFlag&4?Ur(r.component)||r.component.proxy:r.el,i=o?null:s,{i:l,r:a}=e,c=t&&t.r,u=l.refs===ye?l.refs={}:l.refs,f=l.setupState;if(c!=null&&c!==a&&(Ae(c)?(u[c]=null,ue(f,c)&&(f[c]=null)):Be(c)&&(c.value=null)),ie(a))$t(a,l,12,[i,u]);else{const d=Ae(a),m=Be(a);if(d||m){const g=()=>{if(e.f){const y=d?ue(f,a)?f[a]:u[a]:a.value;o?ee(y)&&Io(y,s):ee(y)?y.includes(s)||y.push(s):d?(u[a]=[s],ue(f,a)&&(f[a]=u[a])):(a.value=[s],e.k&&(u[e.k]=a.value))}else d?(u[a]=i,ue(f,a)&&(f[a]=i)):m&&(a.value=i,e.k&&(u[e.k]=i))};i?(g.id=-1,Ve(g,n)):g()}}}let Lt=!1;const Dc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Bc=e=>e.namespaceURI.includes("MathML"),fr=e=>{if(Dc(e))return"svg";if(Bc(e))return"mathml"},dr=e=>e.nodeType===8;function zc(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:c}}=e,u=(v,S)=>{if(!S.hasChildNodes()){n(null,v,S),Sr(),S._vnode=v;return}Lt=!1,f(S.firstChild,v,null,null,null),Sr(),S._vnode=v,Lt&&console.error("Hydration completed but contains mismatches.")},f=(v,S,D,I,H,_=!1)=>{const G=dr(v)&&v.data==="[",x=()=>y(v,S,D,I,H,G),{type:V,ref:E,shapeFlag:N,patchFlag:te}=S;let se=v.nodeType;S.el=v,te===-2&&(_=!1,S.dynamicChildren=null);let P=null;switch(V){case mn:se!==3?S.children===""?(a(S.el=o(""),i(v),v),P=v):P=x():(v.data!==S.children&&(Lt=!0,v.data=S.children),P=s(v));break;case Je:k(v)?(P=s(v),A(S.el=v.content.firstChild,v,D)):se!==8||G?P=x():P=s(v);break;case On:if(G&&(v=s(v),se=v.nodeType),se===1||se===3){P=v;const Y=!S.children.length;for(let W=0;W{_=_||!!S.dynamicChildren;const{type:G,props:x,patchFlag:V,shapeFlag:E,dirs:N,transition:te}=S,se=G==="input"||G==="option";if(se||V!==-1){N&&ut(S,null,D,"created");let P=!1;if(k(v)){P=hl(I,te)&&D&&D.vnode.props&&D.vnode.props.appear;const W=v.content.firstChild;P&&te.beforeEnter(W),A(W,v,D),S.el=v=W}if(E&16&&!(x&&(x.innerHTML||x.textContent))){let W=m(v.firstChild,S,v,D,I,H,_);for(;W;){Lt=!0;const Pe=W;W=W.nextSibling,l(Pe)}}else E&8&&v.textContent!==S.children&&(Lt=!0,v.textContent=S.children);if(x)if(se||!_||V&48)for(const W in x)(se&&(W.endsWith("value")||W==="indeterminate")||Kn(W)&&!cn(W)||W[0]===".")&&r(v,W,null,x[W],void 0,void 0,D);else x.onClick&&r(v,"onClick",null,x.onClick,void 0,void 0,D);let Y;(Y=x&&x.onVnodeBeforeMount)&&Ze(Y,D,S),N&&ut(S,null,D,"beforeMount"),((Y=x&&x.onVnodeMounted)||N||P)&&Zi(()=>{Y&&Ze(Y,D,S),P&&te.enter(v),N&&ut(S,null,D,"mounted")},I)}return v.nextSibling},m=(v,S,D,I,H,_,G)=>{G=G||!!S.dynamicChildren;const x=S.children,V=x.length;for(let E=0;E{const{slotScopeIds:G}=S;G&&(H=H?H.concat(G):G);const x=i(v),V=m(s(v),S,x,D,I,H,_);return V&&dr(V)&&V.data==="]"?s(S.anchor=V):(Lt=!0,a(S.anchor=c("]"),x,V),V)},y=(v,S,D,I,H,_)=>{if(Lt=!0,S.el=null,_){const V=w(v);for(;;){const E=s(v);if(E&&E!==V)l(E);else break}}const G=s(v),x=i(v);return l(v),n(null,S,x,G,D,I,fr(x),H),G},w=(v,S="[",D="]")=>{let I=0;for(;v;)if(v=s(v),v&&dr(v)&&(v.data===S&&I++,v.data===D)){if(I===0)return s(v);I--}return v},A=(v,S,D)=>{const I=S.parentNode;I&&I.replaceChild(v,S);let H=D;for(;H;)H.vnode.el===S&&(H.vnode.el=H.subTree.el=v),H=H.parent},k=v=>v.nodeType===1&&v.tagName.toLowerCase()==="template";return[u,f]}const Ve=Zi;function jc(e){return Uc(e,zc)}function Uc(e,t){const n=xi();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:l,createComment:a,setText:c,setElementText:u,parentNode:f,nextSibling:d,setScopeId:m=et,insertStaticContent:g}=e,y=(h,p,b,T=null,C=null,O=null,z=void 0,$=null,F=!!p.dynamicChildren)=>{if(h===p)return;h&&!qt(h,p)&&(T=L(h),Fe(h,C,O,!0),h=null),p.patchFlag===-2&&(F=!1,p.dynamicChildren=null);const{type:R,ref:K,shapeFlag:Q}=p;switch(R){case mn:w(h,p,b,T);break;case Je:A(h,p,b,T);break;case On:h==null&&k(p,b,T,z);break;case be:E(h,p,b,T,C,O,z,$,F);break;default:Q&1?D(h,p,b,T,C,O,z,$,F):Q&6?N(h,p,b,T,C,O,z,$,F):(Q&64||Q&128)&&R.process(h,p,b,T,C,O,z,$,F,q)}K!=null&&C&&Ar(K,h&&h.ref,O,p||h,!p)},w=(h,p,b,T)=>{if(h==null)r(p.el=l(p.children),b,T);else{const C=p.el=h.el;p.children!==h.children&&c(C,p.children)}},A=(h,p,b,T)=>{h==null?r(p.el=a(p.children||""),b,T):p.el=h.el},k=(h,p,b,T)=>{[h.el,h.anchor]=g(h.children,p,b,T,h.el,h.anchor)},v=({el:h,anchor:p},b,T)=>{let C;for(;h&&h!==p;)C=d(h),r(h,b,T),h=C;r(p,b,T)},S=({el:h,anchor:p})=>{let b;for(;h&&h!==p;)b=d(h),o(h),h=b;o(p)},D=(h,p,b,T,C,O,z,$,F)=>{p.type==="svg"?z="svg":p.type==="math"&&(z="mathml"),h==null?I(p,b,T,C,O,z,$,F):G(h,p,C,O,z,$,F)},I=(h,p,b,T,C,O,z,$)=>{let F,R;const{props:K,shapeFlag:Q,transition:J,dirs:re}=h;if(F=h.el=i(h.type,O,K&&K.is,K),Q&8?u(F,h.children):Q&16&&_(h.children,F,null,T,C,no(h,O),z,$),re&&ut(h,null,T,"created"),H(F,h,h.scopeId,z,T),K){for(const ge in K)ge!=="value"&&!cn(ge)&&s(F,ge,null,K[ge],O,h.children,T,C,Oe);"value"in K&&s(F,"value",null,K.value,O),(R=K.onVnodeBeforeMount)&&Ze(R,T,h)}re&&ut(h,null,T,"beforeMount");const le=hl(C,J);le&&J.beforeEnter(F),r(F,p,b),((R=K&&K.onVnodeMounted)||le||re)&&Ve(()=>{R&&Ze(R,T,h),le&&J.enter(F),re&&ut(h,null,T,"mounted")},C)},H=(h,p,b,T,C)=>{if(b&&m(h,b),T)for(let O=0;O{for(let R=F;R{const $=p.el=h.el;let{patchFlag:F,dynamicChildren:R,dirs:K}=p;F|=h.patchFlag&16;const Q=h.props||ye,J=p.props||ye;let re;if(b&&zt(b,!1),(re=J.onVnodeBeforeUpdate)&&Ze(re,b,p,h),K&&ut(p,h,b,"beforeUpdate"),b&&zt(b,!0),R?x(h.dynamicChildren,R,$,b,T,no(p,C),O):z||W(h,p,$,null,b,T,no(p,C),O,!1),F>0){if(F&16)V($,p,Q,J,b,T,C);else if(F&2&&Q.class!==J.class&&s($,"class",null,J.class,C),F&4&&s($,"style",Q.style,J.style,C),F&8){const le=p.dynamicProps;for(let ge=0;ge{re&&Ze(re,b,p,h),K&&ut(p,h,b,"updated")},T)},x=(h,p,b,T,C,O,z)=>{for(let $=0;${if(b!==T){if(b!==ye)for(const $ in b)!cn($)&&!($ in T)&&s(h,$,b[$],null,z,p.children,C,O,Oe);for(const $ in T){if(cn($))continue;const F=T[$],R=b[$];F!==R&&$!=="value"&&s(h,$,R,F,z,p.children,C,O,Oe)}"value"in T&&s(h,"value",b.value,T.value,z)}},E=(h,p,b,T,C,O,z,$,F)=>{const R=p.el=h?h.el:l(""),K=p.anchor=h?h.anchor:l("");let{patchFlag:Q,dynamicChildren:J,slotScopeIds:re}=p;re&&($=$?$.concat(re):re),h==null?(r(R,b,T),r(K,b,T),_(p.children||[],b,K,C,O,z,$,F)):Q>0&&Q&64&&J&&h.dynamicChildren?(x(h.dynamicChildren,J,b,C,O,z,$),(p.key!=null||C&&p===C.subTree)&&pl(h,p,!0)):W(h,p,b,K,C,O,z,$,F)},N=(h,p,b,T,C,O,z,$,F)=>{p.slotScopeIds=$,h==null?p.shapeFlag&512?C.ctx.activate(p,b,T,z,F):te(p,b,T,C,O,z,F):se(h,p,F)},te=(h,p,b,T,C,O,z)=>{const $=h.component=Qc(h,T,C);if(Xn(h)&&($.ctx.renderer=q),Zc($),$.asyncDep){if(C&&C.registerDep($,P),!h.el){const F=$.subTree=oe(Je);A(null,F,p,b)}}else P($,h,p,b,C,O,z)},se=(h,p,b)=>{const T=p.component=h.component;if(rc(h,p,b))if(T.asyncDep&&!T.asyncResolved){Y(T,p,b);return}else T.next=p,Xa(T.update),T.effect.dirty=!0,T.update();else p.el=h.el,T.vnode=p},P=(h,p,b,T,C,O,z)=>{const $=()=>{if(h.isMounted){let{next:K,bu:Q,u:J,parent:re,vnode:le}=h;{const rn=ml(h);if(rn){K&&(K.el=le.el,Y(h,K,z)),rn.asyncDep.then(()=>{h.isUnmounted||$()});return}}let ge=K,we;zt(h,!1),K?(K.el=le.el,Y(h,K,z)):K=le,Q&&Jr(Q),(we=K.props&&K.props.onVnodeBeforeUpdate)&&Ze(we,re,K,le),zt(h,!0);const Ie=Qr(h),rt=h.subTree;h.subTree=Ie,y(rt,Ie,f(rt.el),L(rt),h,C,O),K.el=Ie.el,ge===null&&oc(h,Ie.el),J&&Ve(J,C),(we=K.props&&K.props.onVnodeUpdated)&&Ve(()=>Ze(we,re,K,le),C)}else{let K;const{el:Q,props:J}=p,{bm:re,m:le,parent:ge}=h,we=dn(p);if(zt(h,!1),re&&Jr(re),!we&&(K=J&&J.onVnodeBeforeMount)&&Ze(K,ge,p),zt(h,!0),Q&&me){const Ie=()=>{h.subTree=Qr(h),me(Q,h.subTree,h,C,null)};we?p.type.__asyncLoader().then(()=>!h.isUnmounted&&Ie()):Ie()}else{const Ie=h.subTree=Qr(h);y(null,Ie,b,T,h,C,O),p.el=Ie.el}if(le&&Ve(le,C),!we&&(K=J&&J.onVnodeMounted)){const Ie=p;Ve(()=>Ze(K,ge,Ie),C)}(p.shapeFlag&256||ge&&dn(ge.vnode)&&ge.vnode.shapeFlag&256)&&h.a&&Ve(h.a,C),h.isMounted=!0,p=b=T=null}},F=h.effect=new No($,et,()=>Hr(R),h.scope),R=h.update=()=>{F.dirty&&F.run()};R.id=h.uid,zt(h,!0),R()},Y=(h,p,b)=>{p.component=h;const T=h.vnode.props;h.vnode=p,h.next=null,Nc(h,p.props,T,b),Fc(h,p.children,b),tn(),bs(h),nn()},W=(h,p,b,T,C,O,z,$,F=!1)=>{const R=h&&h.children,K=h?h.shapeFlag:0,Q=p.children,{patchFlag:J,shapeFlag:re}=p;if(J>0){if(J&128){Me(R,Q,b,T,C,O,z,$,F);return}else if(J&256){Pe(R,Q,b,T,C,O,z,$,F);return}}re&8?(K&16&&Oe(R,C,O),Q!==R&&u(b,Q)):K&16?re&16?Me(R,Q,b,T,C,O,z,$,F):Oe(R,C,O,!0):(K&8&&u(b,""),re&16&&_(Q,b,T,C,O,z,$,F))},Pe=(h,p,b,T,C,O,z,$,F)=>{h=h||ln,p=p||ln;const R=h.length,K=p.length,Q=Math.min(R,K);let J;for(J=0;JK?Oe(h,C,O,!0,!1,Q):_(p,b,T,C,O,z,$,F,Q)},Me=(h,p,b,T,C,O,z,$,F)=>{let R=0;const K=p.length;let Q=h.length-1,J=K-1;for(;R<=Q&&R<=J;){const re=h[R],le=p[R]=F?Rt(p[R]):ot(p[R]);if(qt(re,le))y(re,le,b,null,C,O,z,$,F);else break;R++}for(;R<=Q&&R<=J;){const re=h[Q],le=p[J]=F?Rt(p[J]):ot(p[J]);if(qt(re,le))y(re,le,b,null,C,O,z,$,F);else break;Q--,J--}if(R>Q){if(R<=J){const re=J+1,le=reJ)for(;R<=Q;)Fe(h[R],C,O,!0),R++;else{const re=R,le=R,ge=new Map;for(R=le;R<=J;R++){const Ge=p[R]=F?Rt(p[R]):ot(p[R]);Ge.key!=null&&ge.set(Ge.key,R)}let we,Ie=0;const rt=J-le+1;let rn=!1,as=0;const wn=new Array(rt);for(R=0;R=rt){Fe(Ge,C,O,!0);continue}let ct;if(Ge.key!=null)ct=ge.get(Ge.key);else for(we=le;we<=J;we++)if(wn[we-le]===0&&qt(Ge,p[we])){ct=we;break}ct===void 0?Fe(Ge,C,O,!0):(wn[ct-le]=R+1,ct>=as?as=ct:rn=!0,y(Ge,p[ct],b,null,C,O,z,$,F),Ie++)}const cs=rn?Vc(wn):ln;for(we=cs.length-1,R=rt-1;R>=0;R--){const Ge=le+R,ct=p[Ge],us=Ge+1{const{el:O,type:z,transition:$,children:F,shapeFlag:R}=h;if(R&6){Ue(h.component.subTree,p,b,T);return}if(R&128){h.suspense.move(p,b,T);return}if(R&64){z.move(h,p,b,q);return}if(z===be){r(O,p,b);for(let Q=0;Q$.enter(O),C);else{const{leave:Q,delayLeave:J,afterLeave:re}=$,le=()=>r(O,p,b),ge=()=>{Q(O,()=>{le(),re&&re()})};J?J(O,le,ge):ge()}else r(O,p,b)},Fe=(h,p,b,T=!1,C=!1)=>{const{type:O,props:z,ref:$,children:F,dynamicChildren:R,shapeFlag:K,patchFlag:Q,dirs:J}=h;if($!=null&&Ar($,null,b,h,!0),K&256){p.ctx.deactivate(h);return}const re=K&1&&J,le=!dn(h);let ge;if(le&&(ge=z&&z.onVnodeBeforeUnmount)&&Ze(ge,p,h),K&6)at(h.component,b,T);else{if(K&128){h.suspense.unmount(b,T);return}re&&ut(h,null,p,"beforeUnmount"),K&64?h.type.remove(h,p,b,C,q,T):R&&(O!==be||Q>0&&Q&64)?Oe(R,p,b,!1,!0):(O===be&&Q&384||!C&&K&16)&&Oe(F,p,b),T&&wt(h)}(le&&(ge=z&&z.onVnodeUnmounted)||re)&&Ve(()=>{ge&&Ze(ge,p,h),re&&ut(h,null,p,"unmounted")},b)},wt=h=>{const{type:p,el:b,anchor:T,transition:C}=h;if(p===be){Ct(b,T);return}if(p===On){S(h);return}const O=()=>{o(b),C&&!C.persisted&&C.afterLeave&&C.afterLeave()};if(h.shapeFlag&1&&C&&!C.persisted){const{leave:z,delayLeave:$}=C,F=()=>z(b,O);$?$(h.el,O,F):F()}else O()},Ct=(h,p)=>{let b;for(;h!==p;)b=d(h),o(h),h=b;o(p)},at=(h,p,b)=>{const{bum:T,scope:C,update:O,subTree:z,um:$}=h;T&&Jr(T),C.stop(),O&&(O.active=!1,Fe(z,h,p,b)),$&&Ve($,p),Ve(()=>{h.isUnmounted=!0},p),p&&p.pendingBranch&&!p.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===p.pendingId&&(p.deps--,p.deps===0&&p.resolve())},Oe=(h,p,b,T=!1,C=!1,O=0)=>{for(let z=O;zh.shapeFlag&6?L(h.component.subTree):h.shapeFlag&128?h.suspense.next():d(h.anchor||h.el);let U=!1;const B=(h,p,b)=>{h==null?p._vnode&&Fe(p._vnode,null,null,!0):y(p._vnode||null,h,p,null,null,null,b),U||(U=!0,bs(),Sr(),U=!1),p._vnode=h},q={p:y,um:Fe,m:Ue,r:wt,mt:te,mc:_,pc:W,pbc:x,n:L,o:e};let ae,me;return t&&([ae,me]=t(q)),{render:B,hydrate:ae,createApp:Ic(B,ae)}}function no({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function zt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function hl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function pl(e,t,n=!1){const r=e.children,o=t.children;if(ee(r)&&ee(o))for(let s=0;s>1,e[n[l]]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}function ml(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ml(t)}const Wc=e=>e.__isTeleport,be=Symbol.for("v-fgt"),mn=Symbol.for("v-txt"),Je=Symbol.for("v-cmt"),On=Symbol.for("v-stc"),In=[];let st=null;function j(e=!1){In.push(st=e?null:[])}function Kc(){In.pop(),st=In[In.length-1]||null}let Dn=1;function Ps(e){Dn+=e}function gl(e){return e.dynamicChildren=Dn>0?st||ln:null,Kc(),Dn>0&&st&&st.push(e),e}function Z(e,t,n,r,o,s){return gl(ne(e,t,n,r,o,s,!0))}function Le(e,t,n,r,o){return gl(oe(e,t,n,r,o,!0))}function kr(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const zr="__vInternal",vl=({key:e})=>e??null,_r=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||Be(e)||ie(e)?{i:ke,r:e,k:t,f:!!n}:e:null);function ne(e,t=null,n=null,r=0,o=null,s=e===be?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vl(t),ref:t&&_r(t),scopeId:Xi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:ke};return l?(Yo(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=Ae(n)?8:16),Dn>0&&!i&&st&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&st.push(a),a}const oe=qc;function qc(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===sc)&&(e=Je),kr(e)){const l=Ht(e,t,!0);return n&&Yo(l,n),Dn>0&&!s&&st&&(l.shapeFlag&6?st[st.indexOf(e)]=l:st.push(l)),l.patchFlag|=-2,l}if(ou(e)&&(e=e.__vccOpts),t){t=Gc(t);let{class:l,style:a}=t;l&&!Ae(l)&&(t.class=We(l)),Ee(a)&&(ji(a)&&!ee(a)&&(a=Re({},a)),t.style=Gn(a))}const i=Ae(e)?1:lc(e)?128:Wc(e)?64:Ee(e)?4:ie(e)?2:0;return ne(e,t,n,r,o,i,s,!0)}function Gc(e){return e?ji(e)||zr in e?Re({},e):e:null}function Ht(e,t,n=!1){const{props:r,ref:o,patchFlag:s,children:i}=e,l=t?So(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&vl(l),ref:t&&t.ref?n&&o?ee(o)?o.concat(_r(t)):[o,_r(t)]:_r(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==be?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ht(e.ssContent),ssFallback:e.ssFallback&&Ht(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function pt(e=" ",t=0){return oe(mn,null,e,t)}function Yc(e,t){const n=oe(On,null,e);return n.staticCount=t,n}function Te(e="",t=!1){return t?(j(),Le(Je,null,e)):oe(Je,null,e)}function ot(e){return e==null||typeof e=="boolean"?oe(Je):ee(e)?oe(be,null,e.slice()):typeof e=="object"?Rt(e):oe(mn,null,String(e))}function Rt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ht(e)}function Yo(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Yo(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(zr in t)?t._ctx=ke:o===3&&ke&&(ke.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ie(t)?(t={default:t,_ctx:ke},n=32):(t=String(t),r&64?(n=16,t=[pt(t)]):n=8);e.children=t,e.shapeFlag|=n}function So(...e){const t={};for(let n=0;n$e||ke;let Rr,Lo;{const e=xi(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(i=>i(s)):o[0](s)}};Rr=t("__VUE_INSTANCE_SETTERS__",n=>$e=n),Lo=t("__VUE_SSR_SETTERS__",n=>Zn=n)}const Qn=e=>{const t=$e;return Rr(e),e.scope.on(),()=>{e.scope.off(),Rr(t)}},Os=()=>{$e&&$e.scope.off(),Rr(null)};function _l(e){return e.vnode.shapeFlag&4}let Zn=!1;function Zc(e,t=!1){t&&Lo(t);const{props:n,children:r}=e.vnode,o=_l(e);$c(e,n,o,t),Hc(e,r);const s=o?eu(e,t):void 0;return t&&Lo(!1),s}function eu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Ui(new Proxy(e.ctx,xc));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?nu(e):null,s=Qn(e);tn();const i=$t(r,e,0,[e.props,o]);if(nn(),s(),Ci(i)){if(i.then(Os,Os),t)return i.then(l=>{Is(e,l,t)}).catch(l=>{Jn(l,e,0)});e.asyncDep=i}else Is(e,i,t)}else bl(e,t)}function Is(e,t,n){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ee(t)&&(e.setupState=Ki(t)),bl(e,n)}let $s;function bl(e,t,n){const r=e.type;if(!e.render){if(!t&&$s&&!r.render){const o=r.template||qo(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,c=Re(Re({isCustomElement:s,delimiters:l},i),a);r.render=$s(o,c)}}e.render=r.render||et}{const o=Qn(e);tn();try{Tc(e)}finally{nn(),o()}}}function tu(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Ke(e,"get","$attrs"),t[n]}}))}function nu(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return tu(e)},slots:e.slots,emit:e.emit,expose:t}}function Ur(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Ki(Ui(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Rn)return Rn[n](e)},has(t,n){return n in t||n in Rn}}))}function ru(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function ou(e){return ie(e)&&"__vccOpts"in e}const M=(e,t)=>ja(e,t,Zn);function _e(e,t,n){const r=arguments.length;return r===2?Ee(t)&&!ee(t)?kr(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&kr(n)&&(n=[n]),oe(e,t,n))}const su="3.4.21";/** +* @vue/runtime-dom v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const iu="http://www.w3.org/2000/svg",lu="http://www.w3.org/1998/Math/MathML",Pt=typeof document<"u"?document:null,Ns=Pt&&Pt.createElement("template"),au={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==="svg"?Pt.createElementNS(iu,e):t==="mathml"?Pt.createElementNS(lu,e):Pt.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Pt.createTextNode(e),createComment:e=>Pt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Pt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Ns.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Ns.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},xt="transition",Cn="animation",Bn=Symbol("_vtc"),er=(e,{slots:t})=>_e(pc,cu(e),t);er.displayName="Transition";const yl={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};er.props=Re({},tl,yl);const jt=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ms=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function cu(e){const t={};for(const E in e)E in yl||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:c=i,appearToClass:u=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,g=uu(o),y=g&&g[0],w=g&&g[1],{onBeforeEnter:A,onEnter:k,onEnterCancelled:v,onLeave:S,onLeaveCancelled:D,onBeforeAppear:I=A,onAppear:H=k,onAppearCancelled:_=v}=t,G=(E,N,te)=>{Ut(E,N?u:l),Ut(E,N?c:i),te&&te()},x=(E,N)=>{E._isLeaving=!1,Ut(E,f),Ut(E,m),Ut(E,d),N&&N()},V=E=>(N,te)=>{const se=E?H:k,P=()=>G(N,E,te);jt(se,[N,P]),Hs(()=>{Ut(N,E?a:s),Tt(N,E?u:l),Ms(se)||Fs(N,r,y,P)})};return Re(t,{onBeforeEnter(E){jt(A,[E]),Tt(E,s),Tt(E,i)},onBeforeAppear(E){jt(I,[E]),Tt(E,a),Tt(E,c)},onEnter:V(!1),onAppear:V(!0),onLeave(E,N){E._isLeaving=!0;const te=()=>x(E,N);Tt(E,f),hu(),Tt(E,d),Hs(()=>{E._isLeaving&&(Ut(E,f),Tt(E,m),Ms(S)||Fs(E,r,w,te))}),jt(S,[E,te])},onEnterCancelled(E){G(E,!1),jt(v,[E])},onAppearCancelled(E){G(E,!0),jt(_,[E])},onLeaveCancelled(E){x(E),jt(D,[E])}})}function uu(e){if(e==null)return null;if(Ee(e))return[ro(e.enter),ro(e.leave)];{const t=ro(e);return[t,t]}}function ro(e){return da(e)}function Tt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Bn]||(e[Bn]=new Set)).add(t)}function Ut(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Bn];n&&(n.delete(t),n.size||(e[Bn]=void 0))}function Hs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let fu=0;function Fs(e,t,n,r){const o=e._endId=++fu,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=du(e,t);if(!i)return r();const c=i+"end";let u=0;const f=()=>{e.removeEventListener(c,d),s()},d=m=>{m.target===e&&++u>=a&&f()};setTimeout(()=>{u(n[g]||"").split(", "),o=r(`${xt}Delay`),s=r(`${xt}Duration`),i=Ds(o,s),l=r(`${Cn}Delay`),a=r(`${Cn}Duration`),c=Ds(l,a);let u=null,f=0,d=0;t===xt?i>0&&(u=xt,f=i,d=s.length):t===Cn?c>0&&(u=Cn,f=c,d=a.length):(f=Math.max(i,c),u=f>0?i>c?xt:Cn:null,d=u?u===xt?s.length:a.length:0);const m=u===xt&&/\b(transform|all)(,|$)/.test(r(`${xt}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:m}}function Ds(e,t){for(;e.lengthBs(n)+Bs(e[r])))}function Bs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function hu(){return document.body.offsetHeight}function pu(e,t,n){const r=e[Bn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Pr=Symbol("_vod"),El=Symbol("_vsh"),Or={beforeMount(e,{value:t},{transition:n}){e[Pr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Sn(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),Sn(e,!0),r.enter(e)):r.leave(e,()=>{Sn(e,!1)}):Sn(e,t))},beforeUnmount(e,{value:t}){Sn(e,t)}};function Sn(e,t){e.style.display=t?e[Pr]:"none",e[El]=!t}const mu=Symbol(""),gu=/(^|;)\s*display\s*:/;function vu(e,t,n){const r=e.style,o=Ae(n);let s=!1;if(n&&!o){if(t)if(Ae(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&br(r,l,"")}else for(const i in t)n[i]==null&&br(r,i,"");for(const i in n)i==="display"&&(s=!0),br(r,i,n[i])}else if(o){if(t!==n){const i=r[mu];i&&(n+=";"+i),r.cssText=n,s=gu.test(n)}}else t&&e.removeAttribute("style");Pr in e&&(e[Pr]=s?r.display:"",e[El]&&(r.display="none"))}const zs=/\s*!important$/;function br(e,t,n){if(ee(n))n.forEach(r=>br(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=_u(e,t);zs.test(n)?e.setProperty(en(r),n.replace(zs,""),"important"):e[r]=n}}const js=["Webkit","Moz","ms"],oo={};function _u(e,t){const n=oo[t];if(n)return n;let r=nt(t);if(r!=="filter"&&r in e)return oo[t]=r;r=qn(r);for(let o=0;oso||(Lu.then(()=>so=0),so=Date.now());function Tu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;tt(Au(r,n.value),t,5,[r])};return n.value=e,n.attached=xu(),n}function Au(e,t){if(ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Ks=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ku=(e,t,n,r,o,s,i,l,a)=>{const c=o==="svg";t==="class"?pu(e,r,c):t==="style"?vu(e,n,r):Kn(t)?Oo(t)||Cu(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ru(e,t,r,c))?yu(e,t,r,s,i,l,a):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),bu(e,t,r,c))};function Ru(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ks(t)&&ie(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Ks(t)&&Ae(n)?!1:t in e}const Pu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Ou=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=en(o.key);if(t.some(i=>i===s||Pu[i]===s))return e(o)})},Iu=Re({patchProp:ku},au);let io,qs=!1;function $u(){return io=qs?io:jc(Iu),qs=!0,io}const Nu=(...e)=>{const t=$u().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Hu(r);if(o)return n(o,!0,Mu(o))},t};function Mu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Hu(e){return Ae(e)?document.querySelector(e):e}var Fu=["link","meta","script","style","noscript","template"],Du=["title","base"],Bu=([e,t,n])=>Du.includes(e)?e:Fu.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,zu=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=Bu(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},tr=e=>/^(https?:)?\/\//.test(e),wl=e=>/^[a-z][a-z0-9+.-]*:/.test(e),Jo=e=>Object.prototype.toString.call(e)==="[object Object]",ju=e=>{const[t,...n]=e.split(/(\?|#)/);if(!t||t.endsWith("/"))return e;let r=t.replace(/(^|\/)README.md$/i,"$1index.html");return r.endsWith(".md")?r=r.substring(0,r.length-3)+".html":r.endsWith(".html")||(r=r+".html"),r.endsWith("/index.html")&&(r=r.substring(0,r.length-10)),r+n.join("")},Cl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Sl=e=>e[0]==="/"?e.slice(1):e,Ll=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},dt=e=>typeof e=="string";const Uu="modulepreload",Vu=function(e){return"/dreammall.earth/"+e},Gs={},Qe=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.all(n.map(a=>{if(a=Vu(a),a in Gs)return;Gs[a]=!0;const c=a.endsWith(".css"),u=c?'[rel="stylesheet"]':"";if(!!r)for(let m=s.length-1;m>=0;m--){const g=s[m];if(g.href===a&&(!c||g.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${u}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":Uu,c||(d.as="script",d.crossOrigin=""),d.href=a,l&&d.setAttribute("nonce",l),document.head.appendChild(d),c)return new Promise((m,g)=>{d.addEventListener("load",m),d.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${a}`)))})}))}return o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},Wu=JSON.parse('{"/LICENSE":"/LICENSE","/backend/LICENSE":"/backend/LICENSE","/frontend/LICENSE":"/frontend/LICENSE","/presenter/LICENSE":"/presenter/LICENSE"}'),Ku=Object.fromEntries([["/CHANGELOG.html",{loader:()=>Qe(()=>import("./CHANGELOG.html-9qH5sj2N.js"),[]),meta:{title:""}}],["/LICENSE",{loader:()=>Qe(()=>import("./LICENSE.html-KOGEG-Bt.js"),[]),meta:{title:""}}],["/",{loader:()=>Qe(()=>import("./index.html-DL_tfTeg.js"),__vite__mapDeps([0,1])),meta:{title:"Dreammall.earth"}}],["/authentik/",{loader:()=>Qe(()=>import("./index.html-B15mh8Q5.js"),[]),meta:{title:"Authentik"}}],["/backend/LICENSE",{loader:()=>Qe(()=>import("./LICENSE.html-Bp2aYuCk.js"),[]),meta:{title:""}}],["/backend/",{loader:()=>Qe(()=>import("./index.html-BNm9d0N9.js"),[]),meta:{title:"Dreammall Backend"}}],["/deployment/",{loader:()=>Qe(()=>import("./index.html-YDzExJ6O.js"),[]),meta:{title:"Deployment"}}],["/frontend/LICENSE",{loader:()=>Qe(()=>import("./LICENSE.html-O-VNIRUB.js"),[]),meta:{title:""}}],["/frontend/",{loader:()=>Qe(()=>import("./index.html-BGnEJQJY.js"),[]),meta:{title:"Dreammall Frontend"}}],["/presenter/LICENSE",{loader:()=>Qe(()=>import("./LICENSE.html-EW2LWnYJ.js"),[]),meta:{title:""}}],["/presenter/",{loader:()=>Qe(()=>import("./index.html-BtvXRzQl.js"),__vite__mapDeps([2,1])),meta:{title:"Dreammall Presenter"}}],["/404.html",{loader:()=>Qe(()=>import("./404.html-YsGROxc3.js"),[]),meta:{title:""}}]]);/*! + * vue-router v4.3.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const sn=typeof document<"u";function qu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const pe=Object.assign;function lo(e,t){const n={};for(const r in t){const o=t[r];n[r]=it(o)?o.map(e):e(o)}return n}const $n=()=>{},it=Array.isArray,xl=/#/g,Gu=/&/g,Yu=/\//g,Ju=/=/g,Xu=/\?/g,Tl=/\+/g,Qu=/%5B/g,Zu=/%5D/g,Al=/%5E/g,ef=/%60/g,kl=/%7B/g,tf=/%7C/g,Rl=/%7D/g,nf=/%20/g;function Xo(e){return encodeURI(""+e).replace(tf,"|").replace(Qu,"[").replace(Zu,"]")}function rf(e){return Xo(e).replace(kl,"{").replace(Rl,"}").replace(Al,"^")}function xo(e){return Xo(e).replace(Tl,"%2B").replace(nf,"+").replace(xl,"%23").replace(Gu,"%26").replace(ef,"`").replace(kl,"{").replace(Rl,"}").replace(Al,"^")}function of(e){return xo(e).replace(Ju,"%3D")}function sf(e){return Xo(e).replace(xl,"%23").replace(Xu,"%3F")}function lf(e){return e==null?"":sf(e).replace(Yu,"%2F")}function zn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const af=/\/$/,cf=e=>e.replace(af,"");function ao(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),o=e(s)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=hf(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:zn(i)}}function uf(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ys(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function ff(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&gn(t.matched[r],n.matched[o])&&Pl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function gn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Pl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!df(e[n],t[n]))return!1;return!0}function df(e,t){return it(e)?Js(e,t):it(t)?Js(t,e):e===t}function Js(e,t){return it(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function hf(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,l;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}var jn;(function(e){e.pop="pop",e.push="push"})(jn||(jn={}));var Nn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Nn||(Nn={}));function pf(e){if(!e)if(sn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),cf(e)}const mf=/^[^#]+#/;function gf(e,t){return e.replace(mf,"#")+t}function vf(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Vr=()=>({left:window.scrollX,top:window.scrollY});function _f(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=vf(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Xs(e,t){return(history.state?history.state.position-t:-1)+e}const To=new Map;function bf(e,t){To.set(e,t)}function yf(e){const t=To.get(e);return To.delete(e),t}let Ef=()=>location.protocol+"//"+location.host;function Ol(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let l=o.includes(e.slice(s))?e.slice(s).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),Ys(a,"")}return Ys(n,e)+r+o}function wf(e,t,n,r){let o=[],s=[],i=null;const l=({state:d})=>{const m=Ol(e,location),g=n.value,y=t.value;let w=0;if(d){if(n.value=m,t.value=d,i&&i===g){i=null;return}w=y?d.position-y.position:0}else r(m);o.forEach(A=>{A(n.value,g,{delta:w,type:jn.pop,direction:w?w>0?Nn.forward:Nn.back:Nn.unknown})})};function a(){i=n.value}function c(d){o.push(d);const m=()=>{const g=o.indexOf(d);g>-1&&o.splice(g,1)};return s.push(m),m}function u(){const{history:d}=window;d.state&&d.replaceState(pe({},d.state,{scroll:Vr()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:a,listen:c,destroy:f}}function Qs(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Vr():null}}function Cf(e){const{history:t,location:n}=window,r={value:Ol(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:Ef()+e+a;try{t[u?"replaceState":"pushState"](c,"",d),o.value=c}catch(m){console.error(m),n[u?"replace":"assign"](d)}}function i(a,c){const u=pe({},t.state,Qs(o.value.back,a,o.value.forward,!0),c,{position:o.value.position});s(a,u,!0),r.value=a}function l(a,c){const u=pe({},o.value,t.state,{forward:a,scroll:Vr()});s(u.current,u,!0);const f=pe({},Qs(r.value,a,null),{position:u.position+1},c);s(a,f,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function Sf(e){e=pf(e);const t=Cf(e),n=wf(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=pe({location:"",base:e,go:r,createHref:gf.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Lf(e){return typeof e=="string"||e&&typeof e=="object"}function Il(e){return typeof e=="string"||typeof e=="symbol"}const _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},$l=Symbol("");var Zs;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Zs||(Zs={}));function vn(e,t){return pe(new Error,{type:e,[$l]:!0},t)}function vt(e,t){return e instanceof Error&&$l in e&&(t==null||!!(e.type&t))}const ei="[^/]+?",xf={sensitive:!1,strict:!1,start:!0,end:!0},Tf=/[.+*?^${}()[\]/\\]/g;function Af(e,t){const n=pe({},xf,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function Rf(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Pf={type:0,value:""},Of=/[a-zA-Z0-9_]/;function If(e){if(!e)return[[]];if(e==="/")return[[Pf]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,c="",u="";function f(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:u,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=a}for(;l{i(k)}:$n}function i(u){if(Il(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function l(){return n}function a(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!Nl(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!ri(u)&&r.set(u.record.name,u)}function c(u,f){let d,m={},g,y;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw vn(1,{location:u});y=d.record.name,m=pe(ni(f.params,d.keys.filter(k=>!k.optional).concat(d.parent?d.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),u.params&&ni(u.params,d.keys.map(k=>k.name))),g=d.stringify(m)}else if(u.path!=null)g=u.path,d=n.find(k=>k.re.test(g)),d&&(m=d.parse(g),y=d.record.name);else{if(d=f.name?r.get(f.name):n.find(k=>k.re.test(f.path)),!d)throw vn(1,{location:u,currentLocation:f});y=d.record.name,m=pe({},f.params,u.params),g=d.stringify(m)}const w=[];let A=d;for(;A;)w.unshift(A.record),A=A.parent;return{name:y,path:g,params:m,matched:w,meta:Ff(w)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:c,removeRoute:i,getRoutes:l,getRecordMatcher:o}}function ni(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Mf(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Hf(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Hf(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ri(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ff(e){return e.reduce((t,n)=>pe(t,n.meta),{})}function oi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Nl(e,t){return t.children.some(n=>n===e||Nl(e,n))}function Df(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&xo(s)):[r&&xo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Bf(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=it(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const zf=Symbol(""),ii=Symbol(""),Wr=Symbol(""),Qo=Symbol(""),Ao=Symbol("");function Ln(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ot(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const c=d=>{d===!1?a(vn(4,{from:n,to:t})):d instanceof Error?a(d):Lf(d)?a(vn(2,{from:t,to:d})):(i&&r.enterCallbacks[o]===i&&typeof d=="function"&&i.push(d),l())},u=s(()=>e.call(r&&r.instances[o],t,n,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(d=>a(d))})}function co(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(jf(a)){const u=(a.__vccOpts||a)[t];u&&s.push(Ot(u,n,r,i,l,o))}else{let c=a();s.push(()=>c.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${i.path}"`));const f=qu(u)?u.default:u;i.components[l]=f;const m=(f.__vccOpts||f)[t];return m&&Ot(m,n,r,i,l,o)()}))}}return s}function jf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function li(e){const t=je(Wr),n=je(Qo),r=M(()=>t.resolve(X(e.to))),o=M(()=>{const{matched:a}=r.value,{length:c}=a,u=a[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(gn.bind(null,u));if(d>-1)return d;const m=ai(a[c-2]);return c>1&&ai(u)===m&&f[f.length-1].path!==m?f.findIndex(gn.bind(null,a[c-2])):d}),s=M(()=>o.value>-1&&Kf(n.params,r.value.params)),i=M(()=>o.value>-1&&o.value===n.matched.length-1&&Pl(n.params,r.value.params));function l(a={}){return Wf(a)?t[X(e.replace)?"replace":"push"](X(e.to)).catch($n):Promise.resolve()}return{route:r,href:M(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const Uf=he({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:li,setup(e,{slots:t}){const n=Yn(li(e)),{options:r}=je(Wr),o=M(()=>({[ci(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ci(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:_e("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Vf=Uf;function Wf(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Kf(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!it(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function ai(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ci=(e,t,n)=>e??t??n,qf=he({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=je(Ao),o=M(()=>e.route||r.value),s=je(ii,0),i=M(()=>{let c=X(s);const{matched:u}=o.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),l=M(()=>o.value.matched[i.value]);Qt(ii,M(()=>i.value+1)),Qt(zf,l),Qt(Ao,o);const a=de();return He(()=>[a.value,l.value,e.name],([c,u,f],[d,m,g])=>{u&&(u.instances[f]=c,m&&m!==u&&c&&c===d&&(u.leaveGuards.size||(u.leaveGuards=m.leaveGuards),u.updateGuards.size||(u.updateGuards=m.updateGuards))),c&&u&&(!m||!gn(u,m)||!d)&&(u.enterCallbacks[f]||[]).forEach(y=>y(c))},{flush:"post"}),()=>{const c=o.value,u=e.name,f=l.value,d=f&&f.components[u];if(!d)return ui(n.default,{Component:d,route:c});const m=f.props[u],g=m?m===!0?c.params:typeof m=="function"?m(c):m:null,w=_e(d,pe({},g,t,{onVnodeUnmounted:A=>{A.component.isUnmounted&&(f.instances[u]=null)},ref:a}));return ui(n.default,{Component:w,route:c})||w}}});function ui(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Gf=qf;function Yf(e){const t=Nf(e.routes,e),n=e.parseQuery||Df,r=e.stringifyQuery||si,o=e.history,s=Ln(),i=Ln(),l=Ln(),a=bn(_t);let c=_t;sn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=lo.bind(null,L=>""+L),f=lo.bind(null,lf),d=lo.bind(null,zn);function m(L,U){let B,q;return Il(L)?(B=t.getRecordMatcher(L),q=U):q=L,t.addRoute(q,B)}function g(L){const U=t.getRecordMatcher(L);U&&t.removeRoute(U)}function y(){return t.getRoutes().map(L=>L.record)}function w(L){return!!t.getRecordMatcher(L)}function A(L,U){if(U=pe({},U||a.value),typeof L=="string"){const p=ao(n,L,U.path),b=t.resolve({path:p.path},U),T=o.createHref(p.fullPath);return pe(p,b,{params:d(b.params),hash:zn(p.hash),redirectedFrom:void 0,href:T})}let B;if(L.path!=null)B=pe({},L,{path:ao(n,L.path,U.path).path});else{const p=pe({},L.params);for(const b in p)p[b]==null&&delete p[b];B=pe({},L,{params:f(p)}),U.params=f(U.params)}const q=t.resolve(B,U),ae=L.hash||"";q.params=u(d(q.params));const me=uf(r,pe({},L,{hash:rf(ae),path:q.path})),h=o.createHref(me);return pe({fullPath:me,hash:ae,query:r===si?Bf(L.query):L.query||{}},q,{redirectedFrom:void 0,href:h})}function k(L){return typeof L=="string"?ao(n,L,a.value.path):pe({},L)}function v(L,U){if(c!==L)return vn(8,{from:U,to:L})}function S(L){return H(L)}function D(L){return S(pe(k(L),{replace:!0}))}function I(L){const U=L.matched[L.matched.length-1];if(U&&U.redirect){const{redirect:B}=U;let q=typeof B=="function"?B(L):B;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=k(q):{path:q},q.params={}),pe({query:L.query,hash:L.hash,params:q.path!=null?{}:L.params},q)}}function H(L,U){const B=c=A(L),q=a.value,ae=L.state,me=L.force,h=L.replace===!0,p=I(B);if(p)return H(pe(k(p),{state:typeof p=="object"?pe({},ae,p.state):ae,force:me,replace:h}),U||B);const b=B;b.redirectedFrom=U;let T;return!me&&ff(r,q,B)&&(T=vn(16,{to:b,from:q}),Ue(q,q,!0,!1)),(T?Promise.resolve(T):x(b,q)).catch(C=>vt(C)?vt(C,2)?C:Me(C):W(C,b,q)).then(C=>{if(C){if(vt(C,2))return H(pe({replace:h},k(C.to),{state:typeof C.to=="object"?pe({},ae,C.to.state):ae,force:me}),U||b)}else C=E(b,q,!0,h,ae);return V(b,q,C),C})}function _(L,U){const B=v(L,U);return B?Promise.reject(B):Promise.resolve()}function G(L){const U=Ct.values().next().value;return U&&typeof U.runWithContext=="function"?U.runWithContext(L):L()}function x(L,U){let B;const[q,ae,me]=Jf(L,U);B=co(q.reverse(),"beforeRouteLeave",L,U);for(const p of q)p.leaveGuards.forEach(b=>{B.push(Ot(b,L,U))});const h=_.bind(null,L,U);return B.push(h),Oe(B).then(()=>{B=[];for(const p of s.list())B.push(Ot(p,L,U));return B.push(h),Oe(B)}).then(()=>{B=co(ae,"beforeRouteUpdate",L,U);for(const p of ae)p.updateGuards.forEach(b=>{B.push(Ot(b,L,U))});return B.push(h),Oe(B)}).then(()=>{B=[];for(const p of me)if(p.beforeEnter)if(it(p.beforeEnter))for(const b of p.beforeEnter)B.push(Ot(b,L,U));else B.push(Ot(p.beforeEnter,L,U));return B.push(h),Oe(B)}).then(()=>(L.matched.forEach(p=>p.enterCallbacks={}),B=co(me,"beforeRouteEnter",L,U,G),B.push(h),Oe(B))).then(()=>{B=[];for(const p of i.list())B.push(Ot(p,L,U));return B.push(h),Oe(B)}).catch(p=>vt(p,8)?p:Promise.reject(p))}function V(L,U,B){l.list().forEach(q=>G(()=>q(L,U,B)))}function E(L,U,B,q,ae){const me=v(L,U);if(me)return me;const h=U===_t,p=sn?history.state:{};B&&(q||h?o.replace(L.fullPath,pe({scroll:h&&p&&p.scroll},ae)):o.push(L.fullPath,ae)),a.value=L,Ue(L,U,B,h),Me()}let N;function te(){N||(N=o.listen((L,U,B)=>{if(!at.listening)return;const q=A(L),ae=I(q);if(ae){H(pe(ae,{replace:!0}),q).catch($n);return}c=q;const me=a.value;sn&&bf(Xs(me.fullPath,B.delta),Vr()),x(q,me).catch(h=>vt(h,12)?h:vt(h,2)?(H(h.to,q).then(p=>{vt(p,20)&&!B.delta&&B.type===jn.pop&&o.go(-1,!1)}).catch($n),Promise.reject()):(B.delta&&o.go(-B.delta,!1),W(h,q,me))).then(h=>{h=h||E(q,me,!1),h&&(B.delta&&!vt(h,8)?o.go(-B.delta,!1):B.type===jn.pop&&vt(h,20)&&o.go(-1,!1)),V(q,me,h)}).catch($n)}))}let se=Ln(),P=Ln(),Y;function W(L,U,B){Me(L);const q=P.list();return q.length?q.forEach(ae=>ae(L,U,B)):console.error(L),Promise.reject(L)}function Pe(){return Y&&a.value!==_t?Promise.resolve():new Promise((L,U)=>{se.add([L,U])})}function Me(L){return Y||(Y=!L,te(),se.list().forEach(([U,B])=>L?B(L):U()),se.reset()),L}function Ue(L,U,B,q){const{scrollBehavior:ae}=e;if(!sn||!ae)return Promise.resolve();const me=!B&&yf(Xs(L.fullPath,0))||(q||!B)&&history.state&&history.state.scroll||null;return yn().then(()=>ae(L,U,me)).then(h=>h&&_f(h)).catch(h=>W(h,L,U))}const Fe=L=>o.go(L);let wt;const Ct=new Set,at={currentRoute:a,listening:!0,addRoute:m,removeRoute:g,hasRoute:w,getRoutes:y,resolve:A,options:e,push:S,replace:D,go:Fe,back:()=>Fe(-1),forward:()=>Fe(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:P.add,isReady:Pe,install(L){const U=this;L.component("RouterLink",Vf),L.component("RouterView",Gf),L.config.globalProperties.$router=U,Object.defineProperty(L.config.globalProperties,"$route",{enumerable:!0,get:()=>X(a)}),sn&&!wt&&a.value===_t&&(wt=!0,S(o.location).catch(ae=>{}));const B={};for(const ae in _t)Object.defineProperty(B,ae,{get:()=>a.value[ae],enumerable:!0});L.provide(Wr,U),L.provide(Qo,zi(B)),L.provide(Ao,a);const q=L.unmount;Ct.add(L),L.unmount=function(){Ct.delete(L),Ct.size<1&&(c=_t,N&&N(),N=null,a.value=_t,wt=!1,Y=!1),q()}}};function Oe(L){return L.reduce((U,B)=>U.then(()=>G(B)),Promise.resolve())}return at}function Jf(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;ign(c,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(c=>gn(c,a))||o.push(a))}return[n,r,o]}function En(){return je(Wr)}function Dt(){return je(Qo)}var Zo=Symbol(""),gt=()=>{const e=je(Zo);if(!e)throw new Error("useClientData() is called without provider.");return e},Xf=()=>gt().pageComponent,hn=()=>gt().pageData,ht=()=>gt().pageFrontmatter,Qf=()=>gt().pageHead,Zf=()=>gt().pageLang,ed=()=>gt().pageLayout,nr=()=>gt().routeLocale,td=()=>gt().routes,Ml=()=>gt().siteData,es=()=>gt().siteLocaleData,nd=Symbol(""),ko=bn(Wu),Un=bn(Ku),Hl=e=>{const t=ju(e);if(Un.value[t])return t;const n=encodeURI(t);return Un.value[n]?n:ko.value[t]||ko.value[n]||t},Vn=e=>{const t=Hl(e),n=Un.value[t]??{...Un.value["/404.html"],notFound:!0};return{path:t,notFound:!1,...n}},ts=he({name:"ClientOnly",setup(e,t){const n=de(!1);return qe(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),rd=he({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Xf(),n=M(()=>{if(!e.path)return t.value;const r=Vn(e.path);return mc(()=>r.loader().then(({comp:o})=>o))});return()=>_e(n.value)}}),Bt=(e={})=>e,Kr=e=>tr(e)?e:`/dreammall.earth/${Sl(e)}`,od=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},rr=({active:e=!1,activeClass:t="route-link-active",to:n,...r},{slots:o})=>{var a;const s=En(),i=Hl(n),l=i.startsWith("#")||i.startsWith("?")?i:Kr(i);return _e("a",{...r,class:["route-link",{[t]:e}],href:l,onClick:(c={})=>{od(c)?s.push(n).catch():Promise.resolve()}},(a=o.default)==null?void 0:a.call(o))};rr.displayName="RouteLink";rr.props={active:Boolean,activeClass:String,to:String};var sd="Layout",id="en-US",Vt=Yn({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=dt(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return zu(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||id,resolvePageLayout:(e,t)=>{const n=dt(e.frontmatter.layout)?e.frontmatter.layout:sd;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>Ll(e,t),resolveSiteLocaleData:(e,t)=>{var n;return{...e,...e.locales[t],head:[...((n=e.locales[t])==null?void 0:n.head)??[],...e.head??[]]}}});function qr(e){return ki()?(Ea(e),!0):!1}function mt(e){return typeof e=="function"?e():X(e)}const ns=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ld=Object.prototype.toString,ad=e=>ld.call(e)==="[object Object]",Ro=()=>{};function Fl(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const Dl=e=>e();function cd(e,t={}){let n,r,o=Ro;const s=l=>{clearTimeout(l),o(),o=Ro};return l=>{const a=mt(e),c=mt(t.maxWait);return n&&s(n),a<=0||c!==void 0&&c<=0?(r&&(s(r),r=null),Promise.resolve(l())):new Promise((u,f)=>{o=t.rejectOnCancel?f:u,c&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,u(l())},c)),n=setTimeout(()=>{r&&s(r),r=null,u(l())},a)})}}function ud(e=Dl){const t=de(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:Mr(t),pause:n,resume:r,eventFilter:o}}function fd(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function dd(e){return e||jr()}function hd(e,t=200,n={}){return Fl(cd(t,n),e)}function pd(e,t,n={}){const{eventFilter:r=Dl,...o}=n;return He(e,Fl(r,t),o)}function md(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=ud(r);return{stop:pd(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function rs(e,t=!0,n){dd()?qe(e,n):t?e():yn(e)}function gd(e,t,n={}){const{immediate:r=!0}=n,o=de(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function l(){o.value=!1,i()}function a(...c){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...c)},mt(t))}return r&&(o.value=!0,ns&&a()),qr(l),{isPending:Mr(o),start:a,stop:l}}function vd(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Be(e),s=de(e);function i(l){if(arguments.length)return s.value=l,s.value;{const a=mt(n);return s.value=s.value===a?mt(r):a,s.value}}return o?i:[s,i]}function Yt(e){var t;const n=mt(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Ft=ns?window:void 0,Bl=ns?window.navigator:void 0;function lt(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Ft):[t,n,r,o]=e,!t)return Ro;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(u=>u()),s.length=0},l=(u,f,d,m)=>(u.addEventListener(f,d,m),()=>u.removeEventListener(f,d,m)),a=He(()=>[Yt(t),mt(o)],([u,f])=>{if(i(),!u)return;const d=ad(f)?{...f}:f;s.push(...n.flatMap(m=>r.map(g=>l(u,m,g,d))))},{immediate:!0,flush:"post"}),c=()=>{a(),i()};return qr(c),c}function _d(){const e=de(!1),t=jr();return t&&qe(()=>{e.value=!0},t),e}function Gr(e){const t=_d();return M(()=>(t.value,!!e()))}function zl(e,t={}){const{window:n=Ft}=t,r=Gr(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=de(!1),i=c=>{s.value=c.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},a=uc(()=>{r.value&&(l(),o=n.matchMedia(mt(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return qr(()=>{a(),l(),o=void 0}),s}function fi(e,t={}){const{controls:n=!1,navigator:r=Bl}=t,o=Gr(()=>r&&"permissions"in r);let s;const i=typeof e=="string"?{name:e}:e,l=de(),a=()=>{s&&(l.value=s.state)},c=fd(async()=>{if(o.value){if(!s)try{s=await r.permissions.query(i),lt(s,"change",a),a()}catch{l.value="prompt"}return s}});return c(),n?{state:l,isSupported:o,query:c}:l}function bd(e={}){const{navigator:t=Bl,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=Gr(()=>t&&"clipboard"in t),l=fi("clipboard-read"),a=fi("clipboard-write"),c=M(()=>i.value||s),u=de(""),f=de(!1),d=gd(()=>f.value=!1,o);function m(){i.value&&A(l.value)?t.clipboard.readText().then(k=>{u.value=k}):u.value=w()}c.value&&n&<(["copy","cut"],m);async function g(k=mt(r)){c.value&&k!=null&&(i.value&&A(a.value)?await t.clipboard.writeText(k):y(k),u.value=k,f.value=!0,d.start())}function y(k){const v=document.createElement("textarea");v.value=k??"",v.style.position="absolute",v.style.opacity="0",document.body.appendChild(v),v.select(),document.execCommand("copy"),v.remove()}function w(){var k,v,S;return(S=(v=(k=document==null?void 0:document.getSelection)==null?void 0:k.call(document))==null?void 0:v.toString())!=null?S:""}function A(k){return k==="granted"||k==="prompt"}return{isSupported:c,text:u,copied:f,copy:g}}const hr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},pr="__vueuse_ssr_handlers__",yd=Ed();function Ed(){return pr in hr||(hr[pr]=hr[pr]||{}),hr[pr]}function wd(e,t){return yd[e]||t}function Cd(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Sd={boolean:{read:e=>e==="true",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))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},di="vueuse-storage";function jl(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:c=!1,shallow:u,window:f=Ft,eventFilter:d,onError:m=x=>{console.error(x)},initOnMounted:g}=r,y=(u?bn:de)(typeof t=="function"?t():t);if(!n)try{n=wd("getDefaultStorage",()=>{var x;return(x=Ft)==null?void 0:x.localStorage})()}catch(x){m(x)}if(!n)return y;const w=mt(t),A=Cd(w),k=(o=r.serializer)!=null?o:Sd[A],{pause:v,resume:S}=md(y,()=>I(y.value),{flush:s,deep:i,eventFilter:d});f&&l&&rs(()=>{lt(f,"storage",_),lt(f,di,G),g&&_()}),g||_();function D(x,V){f&&f.dispatchEvent(new CustomEvent(di,{detail:{key:e,oldValue:x,newValue:V,storageArea:n}}))}function I(x){try{const V=n.getItem(e);if(x==null)D(V,null),n.removeItem(e);else{const E=k.write(x);V!==E&&(n.setItem(e,E),D(V,E))}}catch(V){m(V)}}function H(x){const V=x?x.newValue:n.getItem(e);if(V==null)return a&&w!=null&&n.setItem(e,k.write(w)),w;if(!x&&c){const E=k.read(V);return typeof c=="function"?c(E,w):A==="object"&&!Array.isArray(E)?{...w,...E}:E}else return typeof V!="string"?V:k.read(V)}function _(x){if(!(x&&x.storageArea!==n)){if(x&&x.key==null){y.value=w;return}if(!(x&&x.key!==e)){v();try{(x==null?void 0:x.newValue)!==k.write(y.value)&&(y.value=H(x))}catch(V){m(V)}finally{x?yn(S):S()}}}}function G(x){_(x.detail)}return y}function Ld(e){return zl("(prefers-color-scheme: dark)",e)}function xd(e,t,n={}){const{window:r=Ft,...o}=n;let s;const i=Gr(()=>r&&"ResizeObserver"in r),l=()=>{s&&(s.disconnect(),s=void 0)},a=M(()=>Array.isArray(e)?e.map(f=>Yt(f)):[Yt(e)]),c=He(a,f=>{if(l(),i.value&&r){s=new ResizeObserver(t);for(const d of f)d&&s.observe(d,o)}},{immediate:!0,flush:"post"}),u=()=>{l(),c()};return qr(u),{isSupported:i,stop:u}}function Td(e,t={width:0,height:0},n={}){const{window:r=Ft,box:o="content-box"}=n,s=M(()=>{var f,d;return(d=(f=Yt(e))==null?void 0:f.namespaceURI)==null?void 0:d.includes("svg")}),i=de(t.width),l=de(t.height),{stop:a}=xd(e,([f])=>{const d=o==="border-box"?f.borderBoxSize:o==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(r&&s.value){const m=Yt(e);if(m){const g=r.getComputedStyle(m);i.value=Number.parseFloat(g.width),l.value=Number.parseFloat(g.height)}}else if(d){const m=Array.isArray(d)?d:[d];i.value=m.reduce((g,{inlineSize:y})=>g+y,0),l.value=m.reduce((g,{blockSize:y})=>g+y,0)}else i.value=f.contentRect.width,l.value=f.contentRect.height},n);rs(()=>{const f=Yt(e);f&&(i.value="offsetWidth"in f?f.offsetWidth:t.width,l.value="offsetHeight"in f?f.offsetHeight:t.height)});const c=He(()=>Yt(e),f=>{i.value=f?t.width:0,l.value=f?t.height:0});function u(){a(),c()}return{width:i,height:l,stop:u}}function Ad(e={}){const{window:t=Ft,behavior:n="auto"}=e;if(!t)return{x:de(0),y:de(0)};const r=de(t.scrollX),o=de(t.scrollY),s=M({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=M({get(){return o.value},set(l){scrollTo({top:l,behavior:n})}});return lt(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:i}}function kd(e={}){const{window:t=Ft,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0}=e,i=de(n),l=de(r),a=()=>{t&&(s?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(a(),rs(a),lt("resize",a,{passive:!0}),o){const c=zl("(orientation: portrait)");He(c,()=>a())}return{width:i,height:l}}const hi=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},Rd=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=En();lt("scroll",hd(()=>{var g,y;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)f.some(A=>A.hash===w.hash));for(let w=0;w=(((g=A.parentElement)==null?void 0:g.offsetTop)??0)-r,S=!k||i<(((y=k.parentElement)==null?void 0:y.offsetTop)??0)-r;if(!(v&&S))continue;const I=decodeURIComponent(o.currentRoute.value.hash),H=decodeURIComponent(A.hash);if(I===H)return;if(u){for(let _=w+1;_{const t=nr();return M(()=>e[t.value]??{})},Md=()=>{const e=td();return M(()=>Object.keys(e.value))},uo=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||jr())==null?void 0:r.appContext.components;return n?e in n||nt(e)in n||qn(nt(e))in n:!1},Hd=(e,t)=>dt(e)&&e.startsWith(t),Vl=e=>Hd(e,"/"),Fd="http://.",pi=(e,t)=>{if(Vl(e)||typeof t!="string")return Vn(e);const n=t.slice(0,t.lastIndexOf("/"));return Vn(new URL(`${n}/${encodeURI(e)}`,Fd).pathname)},Wl=e=>new Promise(t=>setTimeout(t,e));var Dd={"/":{backToTop:"Back to top"}};const Bd=he({name:"BackToTop",setup(){const e=ht(),t=Ul(Dd),n=bn(),{height:r}=Td(n),{height:o}=kd(),{y:s}=Ad(),i=M(()=>e.value.backToTop!==!1&&s.value>100),l=M(()=>s.value/(r.value-o.value)*100);return qe(()=>{n.value=document.body}),()=>_e(er,{name:"back-to-top"},()=>i.value?_e("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[_e("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":l.value},_e("svg",_e("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*l.value*.48} ${Math.PI*(100-l.value)*.48}`}))),_e("div",{class:"back-to-top-icon"})]):null)}}),zd=Bt({rootComponents:[Bd]}),jd=/\b(?:Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i,Ud=()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator&&jd.test(navigator.userAgent),Vd=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o})=>{const{copy:s,copied:i}=bd({legacy:!0,copiedDuring:t}),l=Ul(n),a=hn(),c=d=>{if(!d.hasAttribute("copy-code-registered")){const m=document.createElement("button");m.type="button",m.classList.add("vp-copy-code-button"),m.innerHTML='
',m.setAttribute("aria-label",l.value.copy),m.setAttribute("data-copied",l.value.copied),d.parentElement&&d.parentElement.insertBefore(m,d),d.setAttribute("copy-code-registered","")}},u=()=>{yn().then(()=>Wl(e)).then(()=>{r.forEach(d=>{document.querySelectorAll(d).forEach(c)})})},f=(d,m,g)=>{let{innerText:y=""}=m;/language-(shellscript|shell|bash|sh|zsh)/.test(d.classList.toString())&&(y=y.replace(/^ *(\$|>) /gm,"")),s(y).then(()=>{g.classList.add("copied"),He(i,()=>{g.classList.remove("copied"),g.blur()},{once:!0})})};qe(()=>{const d=!Ud()||o;d&&u(),lt("click",m=>{const g=m.target;if(g.matches('div[class*="language-"] > button.copy')){const y=g.parentElement,w=g.nextElementSibling;w&&f(y,w,g)}else if(g.matches('div[class*="language-"] div.vp-copy-icon')){const y=g.parentElement,w=y.parentElement,A=y.nextElementSibling;A&&f(w,A,y)}}),He(()=>a.value.path,()=>{d&&u()})})};var Wd={"/":{copy:"Copy code",copied:"Copied"}},Kd=['.theme-default-content div[class*="language-"] pre'];const qd=500,Gd=2e3,Yd=Wd,Jd=Kd,Xd=!1,Qd=Bt({setup:()=>{Vd({selector:Jd,locales:Yd,duration:Gd,delay:qd,showInMobile:Xd})}}),Zd=_e("svg",{class:"external-link-icon",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"},[_e("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"}),_e("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"})]),eh=he({name:"ExternalLinkIcon",props:{locales:{type:Object,default:()=>({})}},setup(e){const t=nr(),n=M(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>_e("span",[Zd,_e("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}});var th={"/":{openInNewWindow:"open in new window"}};const nh=th,rh=Bt({enhance({app:e}){e.component("ExternalLinkIcon",_e(eh,{locales:nh}))}});/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var Wt=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},r=window.Promise||function(E){function N(){}E(N,N)},o=function(E){var N=E.target;if(N===G){g();return}v.indexOf(N)!==-1&&y({target:N})},s=function(){if(!(D||!_.original)){var E=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(I-E)>H.scrollOffset&&setTimeout(g,150)}},i=function(E){var N=E.key||E.keyCode;(N==="Escape"||N==="Esc"||N===27)&&g()},l=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},N=E;if(E.background&&(G.style.background=E.background),E.container&&E.container instanceof Object&&(N.container=Wt({},H.container,E.container)),E.template){var te=yr(E.template)?E.template:document.querySelector(E.template);N.template=te}return H=Wt({},H,N),v.forEach(function(se){se.dispatchEvent(on("medium-zoom:update",{detail:{zoom:x}}))}),x},a=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e(Wt({},H,E))},c=function(){for(var E=arguments.length,N=Array(E),te=0;te0?N.reduce(function(P,Y){return[].concat(P,gi(Y))},[]):v;return se.forEach(function(P){P.classList.remove("medium-zoom-image"),P.dispatchEvent(on("medium-zoom:detach",{detail:{zoom:x}}))}),v=v.filter(function(P){return se.indexOf(P)===-1}),x},f=function(E,N){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return v.forEach(function(se){se.addEventListener("medium-zoom:"+E,N,te)}),S.push({type:"medium-zoom:"+E,listener:N,options:te}),x},d=function(E,N){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return v.forEach(function(se){se.removeEventListener("medium-zoom:"+E,N,te)}),S=S.filter(function(se){return!(se.type==="medium-zoom:"+E&&se.listener.toString()===N.toString())}),x},m=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},N=E.target,te=function(){var P={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},Y=void 0,W=void 0;if(H.container)if(H.container instanceof Object)P=Wt({},P,H.container),Y=P.width-P.left-P.right-H.margin*2,W=P.height-P.top-P.bottom-H.margin*2;else{var Pe=yr(H.container)?H.container:document.querySelector(H.container),Me=Pe.getBoundingClientRect(),Ue=Me.width,Fe=Me.height,wt=Me.left,Ct=Me.top;P=Wt({},P,{width:Ue,height:Fe,left:wt,top:Ct})}Y=Y||P.width-H.margin*2,W=W||P.height-H.margin*2;var at=_.zoomedHd||_.original,Oe=mi(at)?Y:at.naturalWidth||Y,L=mi(at)?W:at.naturalHeight||W,U=at.getBoundingClientRect(),B=U.top,q=U.left,ae=U.width,me=U.height,h=Math.min(Math.max(ae,Oe),Y)/ae,p=Math.min(Math.max(me,L),W)/me,b=Math.min(h,p),T=(-q+(Y-ae)/2+H.margin+P.left)/b,C=(-B+(W-me)/2+H.margin+P.top)/b,O="scale("+b+") translate3d("+T+"px, "+C+"px, 0)";_.zoomed.style.transform=O,_.zoomedHd&&(_.zoomedHd.style.transform=O)};return new r(function(se){if(N&&v.indexOf(N)===-1){se(x);return}var P=function Ue(){D=!1,_.zoomed.removeEventListener("transitionend",Ue),_.original.dispatchEvent(on("medium-zoom:opened",{detail:{zoom:x}})),se(x)};if(_.zoomed){se(x);return}if(N)_.original=N;else if(v.length>0){var Y=v;_.original=Y[0]}else{se(x);return}if(_.original.dispatchEvent(on("medium-zoom:open",{detail:{zoom:x}})),I=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,D=!0,_.zoomed=ih(_.original),document.body.appendChild(G),H.template){var W=yr(H.template)?H.template:document.querySelector(H.template);_.template=document.createElement("div"),_.template.appendChild(W.content.cloneNode(!0)),document.body.appendChild(_.template)}if(_.original.parentElement&&_.original.parentElement.tagName==="PICTURE"&&_.original.currentSrc&&(_.zoomed.src=_.original.currentSrc),document.body.appendChild(_.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),_.original.classList.add("medium-zoom-image--hidden"),_.zoomed.classList.add("medium-zoom-image--opened"),_.zoomed.addEventListener("click",g),_.zoomed.addEventListener("transitionend",P),_.original.getAttribute("data-zoom-src")){_.zoomedHd=_.zoomed.cloneNode(),_.zoomedHd.removeAttribute("srcset"),_.zoomedHd.removeAttribute("sizes"),_.zoomedHd.removeAttribute("loading"),_.zoomedHd.src=_.zoomed.getAttribute("data-zoom-src"),_.zoomedHd.onerror=function(){clearInterval(Pe),console.warn("Unable to reach the zoom image target "+_.zoomedHd.src),_.zoomedHd=null,te()};var Pe=setInterval(function(){_.zoomedHd.complete&&(clearInterval(Pe),_.zoomedHd.classList.add("medium-zoom-image--opened"),_.zoomedHd.addEventListener("click",g),document.body.appendChild(_.zoomedHd),te())},10)}else if(_.original.hasAttribute("srcset")){_.zoomedHd=_.zoomed.cloneNode(),_.zoomedHd.removeAttribute("sizes"),_.zoomedHd.removeAttribute("loading");var Me=_.zoomedHd.addEventListener("load",function(){_.zoomedHd.removeEventListener("load",Me),_.zoomedHd.classList.add("medium-zoom-image--opened"),_.zoomedHd.addEventListener("click",g),document.body.appendChild(_.zoomedHd),te()})}else te()})},g=function(){return new r(function(E){if(D||!_.original){E(x);return}var N=function te(){_.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(_.zoomed),_.zoomedHd&&document.body.removeChild(_.zoomedHd),document.body.removeChild(G),_.zoomed.classList.remove("medium-zoom-image--opened"),_.template&&document.body.removeChild(_.template),D=!1,_.zoomed.removeEventListener("transitionend",te),_.original.dispatchEvent(on("medium-zoom:closed",{detail:{zoom:x}})),_.original=null,_.zoomed=null,_.zoomedHd=null,_.template=null,E(x)};D=!0,document.body.classList.remove("medium-zoom--opened"),_.zoomed.style.transform="",_.zoomedHd&&(_.zoomedHd.style.transform=""),_.template&&(_.template.style.transition="opacity 150ms",_.template.style.opacity=0),_.original.dispatchEvent(on("medium-zoom:close",{detail:{zoom:x}})),_.zoomed.addEventListener("transitionend",N)})},y=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},N=E.target;return _.original?g():m({target:N})},w=function(){return H},A=function(){return v},k=function(){return _.original},v=[],S=[],D=!1,I=0,H=n,_={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(t)==="[object Object]"?H=t:(t||typeof t=="string")&&c(t),H=Wt({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},H);var G=sh(H.background);document.addEventListener("click",o),document.addEventListener("keyup",i),document.addEventListener("scroll",s),window.addEventListener("resize",g);var x={open:m,close:g,toggle:y,update:l,clone:a,attach:c,detach:u,on:f,off:d,getOptions:w,getImages:A,getZoomedImage:k};return x};function ah(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(!e||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",n==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var ch=".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}";ah(ch);const uh=Symbol("mediumZoom");var fh={};const dh=".theme-default-content > img, .theme-default-content :not(a) > img",hh=fh,ph=300,mh=Bt({enhance({app:e,router:t}){const n=lh(hh);n.refresh=(r=dh)=>{n.detach(),n.attach(r)},e.provide(uh,n),t.afterEach(()=>{Wl(ph).then(()=>n.refresh())})}});/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const ce={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=ce.isStarted();e=fo(e,ce.settings.minimum,1),ce.status=e===1?null:e;const n=ce.render(!t),r=n.querySelector(ce.settings.barSelector),o=ce.settings.speed,s=ce.settings.easing;return n.offsetWidth,gh(i=>{gr(r,{transform:"translate3d("+vi(e)+"%,0,0)",transition:"all "+o+"ms "+s}),e===1?(gr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){gr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){ce.remove(),i()},o)},o)):setTimeout(()=>i(),o)}),ce},isStarted:()=>typeof ce.status=="number",start:()=>{ce.status||ce.set(0);const e=()=>{setTimeout(()=>{ce.status&&(ce.trickle(),e())},ce.settings.trickleSpeed)};return ce.settings.trickle&&e(),ce},done:e=>!e&&!ce.status?ce:ce.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ce.status;return t?(typeof e!="number"&&(e=(1-t)*fo(Math.random()*t,.1,.95)),t=fo(t+e,0,.994),ce.set(t)):ce.start()},trickle:()=>ce.inc(Math.random()*ce.settings.trickleRate),render:e=>{if(ce.isRendered())return document.getElementById("nprogress");_i(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ce.settings.template;const n=t.querySelector(ce.settings.barSelector),r=e?"-100":vi(ce.status||0),o=document.querySelector(ce.settings.parent);return gr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&_i(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{bi(document.documentElement,"nprogress-busy"),bi(document.querySelector(ce.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&vh(e)},isRendered:()=>!!document.getElementById("nprogress")},fo=(e,t,n)=>en?n:e,vi=e=>(-1+e)*100,gh=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),gr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(i){return i.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(l,a){return a.toUpperCase()})}function r(i){const l=document.body.style;if(i in l)return i;let a=e.length;const c=i.charAt(0).toUpperCase()+i.slice(1);let u;for(;a--;)if(u=e[a]+c,u in l)return u;return i}function o(i){return i=n(i),t[i]??(t[i]=r(i))}function s(i,l,a){l=o(l),i.style[l]=a}return function(i,l){for(const a in l){const c=l[a];c!==void 0&&Object.prototype.hasOwnProperty.call(l,a)&&s(i,a,c)}}}(),Kl=(e,t)=>(typeof e=="string"?e:os(e)).indexOf(" "+t+" ")>=0,_i=(e,t)=>{const n=os(e),r=n+t;Kl(n,t)||(e.className=r.substring(1))},bi=(e,t)=>{const n=os(e);if(!Kl(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},os=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),vh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},_h=()=>{qe(()=>{const e=En(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ce.start()}),e.afterEach(n=>{t.add(n.path),ce.done()})})},bh=Bt({setup(){_h()}}),yh=JSON.parse(`{"locales":{"/":{"selectLanguageName":"English"}},"colorMode":"auto","colorModeSwitch":true,"navbar":[],"logo":null,"repo":null,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","sidebar":"auto","sidebarDepth":2,"editLink":true,"editLinkText":"Edit this page","lastUpdated":true,"lastUpdatedText":"Last Updated","contributors":true,"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","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),Eh=de(yh),ql=()=>Eh,Gl=Symbol(""),wh=()=>{const e=je(Gl);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Ch=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Sh=Bt({enhance({app:e}){const t=ql(),n=e._context.provides[Zo],r=M(()=>Ch(t.value,n.routeLocale.value));e.provide(Gl,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Lh=he({__name:"Badge",props:{type:{type:String,required:!1,default:"tip"},text:{type:String,required:!1,default:""},vertical:{type:String,required:!1,default:void 0}},setup(e){return(t,n)=>(j(),Z("span",{class:We(["badge",e.type]),style:Gn({verticalAlign:e.vertical})},[ve(t.$slots,"default",{},()=>[pt(Ce(e.text),1)])],6))}}),Se=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},xh=Se(Lh,[["__file","Badge.vue"]]),Th=he({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=de([]),r=de(-1),o=jl("vuepress-code-group",{}),s=M(()=>n.value.map(c=>c.innerText).join(","));qe(()=>{He(()=>o.value[s.value],(c=-1)=>{r.value!==c&&(r.value=c)},{immediate:!0}),He(r,c=>{o.value[s.value]!==c&&(o.value[s.value]=c)})});const i=(c=r.value)=>{c{c>0?r.value=c-1:r.value=n.value.length-1,n.value[r.value].focus()},a=(c,u)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),r.value=u):c.key==="ArrowRight"?(c.preventDefault(),i(u)):c.key==="ArrowLeft"&&(c.preventDefault(),l(u))};return()=>{var u;const c=(((u=t.default)==null?void 0:u.call(t))||[]).filter(f=>f.type.name==="CodeGroupItem").map(f=>(f.props===null&&(f.props={}),f));return c.length===0?null:(r.value<0||r.value>c.length-1?(r.value=c.findIndex(f=>f.props.active===""||f.props.active===!0),r.value===-1&&(r.value=0)):c.forEach((f,d)=>{f.props.active=d===r.value}),_e("div",{class:"code-group"},[_e("div",{class:"code-group__nav",role:"tablist"},c.map((f,d)=>{const m=d===r.value;return _e("button",{ref:g=>{g&&(n.value[d]=g)},class:{"code-group__nav-tab":!0,"code-group__nav-tab-active":m},role:"tab",ariaSelected:m,onClick:()=>r.value=d,onKeydown:g=>a(g,d)},f.props.title)})),c]))}}}),Ah=he({name:"CodeGroupItem",__name:"CodeGroupItem",props:{title:{type:String,required:!0},active:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>(j(),Z("div",{class:We(["code-group-item",{"code-group-item__active":e.active}]),role:"tabpanel"},[ve(t.$slots,"default")],2))}}),kh=Se(Ah,[["__file","CodeGroupItem.vue"]]),Rh=()=>ql(),Ne=()=>wh(),Yl=Symbol(""),ss=()=>{const e=je(Yl);if(!e)throw new Error("useDarkMode() is called without provider.");return e},Ph=()=>{const e=Ne(),t=Ld(),n=jl("vuepress-color-scheme",e.value.colorMode),r=M({get(){return e.value.colorModeSwitch?n.value==="auto"?t.value:n.value==="dark":e.value.colorMode==="dark"},set(o){o===t.value?n.value="auto":n.value=o?"dark":"light"}});Qt(Yl,r),Oh(r)},Oh=e=>{const t=(n=e.value)=>{const r=window==null?void 0:window.document.querySelector("html");r==null||r.classList.toggle("dark",n)};qe(()=>{He(e,t,{immediate:!0})}),Br(()=>t())},Ih="http://.",$h=()=>{const e=En(),t=Dt();return n=>{if(n)if(Vl(n))t.path!==n&&e.push(n);else if(wl(n))window&&window.open(n);else{const r=t.path.slice(0,t.path.lastIndexOf("/"));e.push(new URL(`${r}/${encodeURI(n)}`,Ih).pathname)}}};let ho=null,xn=null;const Nh={wait:()=>ho,pending:()=>{ho=new Promise(e=>xn=e)},resolve:()=>{xn==null||xn(),ho=null,xn=null}},Jl=()=>Nh,Xl=e=>{const{notFound:t,meta:n,path:r}=Vn(e);return t?{text:r,link:r}:{text:n.title||r,link:r}},yi=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),Mh=(e,t)=>{if(t.hash===e)return!0;const n=yi(t.path),r=yi(e);return n===r},Ql=(e,t)=>e.link&&Mh(e.link,t)?!0:e.children?e.children.some(n=>Ql(n,t)):!1,Zl=e=>!tr(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,Hh={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Fh=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=Zl(e);return n!==null?Hh[n]:null},Dh=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Fh({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,tr(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Sl(`${Cl(n)}/${r}`)):null},ea=Symbol("sidebarItems"),is=()=>{const e=je(ea);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},Bh=()=>{const e=Ne(),t=ht(),n=hn(),r=Dt(),o=M(()=>zh(t.value,e.value,n.value,r.path));Qt(ea,o)},zh=(e,t,n,r)=>{const o=e.sidebar??t.sidebar??"auto",s=e.sidebarDepth??t.sidebarDepth??2;return e.home||o===!1?[]:o==="auto"?ta(n,s):Array.isArray(o)?na(n,r,o,s):Jo(o)?Uh(n,r,o,s):[]},jh=(e,t)=>({text:e.title,link:e.link,children:ls(e.children,t)}),ls=(e,t)=>t>0?e.map(n=>jh(n,t-1)):[],ta=(e,t)=>[{text:e.title,children:ls(e.headers,t)}],na=(e,t,n,r)=>{const o=s=>{var l;let i;if(dt(s)?i=Xl(s):i=s,i.children)return{...i,children:i.children.map(a=>o(a))};if(i.link===t){const a=((l=e.headers[0])==null?void 0:l.level)===1?e.headers[0].children:e.headers;return{...i,children:ls(a,r)}}return i};return n.map(s=>o(s))},Uh=(e,t,n,r)=>{const o=Ll(n,t),s=n[o]??[];return s==="heading"?ta(e,r):na(e,t,s,r)},Vh="719px",Wh={mobile:Vh};var Wn;(function(e){e.MOBILE="mobile"})(Wn||(Wn={}));var Ei;const Kh={[Wn.MOBILE]:Number.parseInt((Ei=Wh.mobile)==null?void 0:Ei.replace("px",""),10)},ra=(e,t)=>{const n=Kh[e];Number.isInteger(n)&&(lt("orientationchange",()=>t(n),!1),lt("resize",()=>t(n),!1),qe(()=>{t(n)}))},qh={},Gh={class:"theme-default-content"};function Yh(e,t){const n=Zt("Content");return j(),Z("div",Gh,[oe(n)])}const Jh=Se(qh,[["render",Yh],["__file","HomeContent.vue"]]),Xh={key:0,class:"features"},Qh=he({__name:"HomeFeatures",setup(e){const t=ht(),n=M(()=>Array.isArray(t.value.features)?t.value.features:[]);return(r,o)=>n.value.length?(j(),Z("div",Xh,[(j(!0),Z(be,null,Mt(n.value,s=>(j(),Z("div",{key:s.title,class:"feature"},[ne("h2",null,Ce(s.title),1),ne("p",null,Ce(s.details),1)]))),128))])):Te("",!0)}}),Zh=Se(Qh,[["__file","HomeFeatures.vue"]]),ep=["innerHTML"],tp=["textContent"],np=he({__name:"HomeFooter",setup(e){const t=ht(),n=M(()=>t.value.footer),r=M(()=>t.value.footerHtml);return(o,s)=>n.value?(j(),Z(be,{key:0},[r.value?(j(),Z("div",{key:0,class:"footer",innerHTML:n.value},null,8,ep)):(j(),Z("div",{key:1,class:"footer",textContent:Ce(n.value)},null,8,tp))],64)):Te("",!0)}}),rp=Se(np,[["__file","HomeFooter.vue"]]),op=["href","rel","target","aria-label"],sp=he({inheritAttrs:!1,__name:"AutoLink",props:{item:{type:Object,required:!0}},setup(e){const t=e,n=Dt(),r=Ml(),{item:o}=Uo(t),s=M(()=>tr(o.value.link)),i=M(()=>!s.value&&wl(o.value.link)),l=M(()=>{if(!i.value){if(o.value.target)return o.value.target;if(s.value)return"_blank"}}),a=M(()=>l.value==="_blank"),c=M(()=>!s.value&&!i.value&&!a.value),u=M(()=>{if(!i.value){if(o.value.rel)return o.value.rel;if(a.value)return"noopener noreferrer"}}),f=M(()=>o.value.ariaLabel||o.value.text),d=M(()=>{const g=Object.keys(r.value.locales);return g.length?!g.some(y=>y===o.value.link):o.value.link!=="/"}),m=M(()=>c.value?o.value.activeMatch?new RegExp(o.value.activeMatch).test(n.path):d.value?n.path.startsWith(o.value.link):!1:!1);return(g,y)=>{const w=Zt("RouteLink"),A=Zt("AutoLinkExternalIcon");return c.value?(j(),Le(w,So({key:0,active:m.value,to:X(o).link,"aria-label":f.value},g.$attrs),{default:xe(()=>[ve(g.$slots,"default",{},()=>[ve(g.$slots,"before"),pt(" "+Ce(X(o).text)+" ",1),ve(g.$slots,"after")])]),_:3},16,["active","to","aria-label"])):(j(),Z("a",So({key:1,class:"external-link",href:X(o).link,rel:u.value,target:l.value,"aria-label":f.value},g.$attrs),[ve(g.$slots,"default",{},()=>[ve(g.$slots,"before"),pt(" "+Ce(X(o).text)+" ",1),a.value?(j(),Le(A,{key:0})):Te("",!0),ve(g.$slots,"after")])],16,op))}}}),yt=Se(sp,[["__file","AutoLink.vue"]]),ip={class:"hero"},lp={key:0,id:"main-title"},ap={key:1,class:"description"},cp={key:2,class:"actions"},up=he({__name:"HomeHero",setup(e){const t=ht(),n=es(),r=ss(),o=M(()=>r.value&&t.value.heroImageDark!==void 0?t.value.heroImageDark:t.value.heroImage),s=M(()=>t.value.heroAlt||l.value||"hero"),i=M(()=>t.value.heroHeight||280),l=M(()=>t.value.heroText===null?null:t.value.heroText||n.value.title||"Hello"),a=M(()=>t.value.tagline===null?null:t.value.tagline||n.value.description||"Welcome to your VuePress site"),c=M(()=>Array.isArray(t.value.actions)?t.value.actions.map(({text:f,link:d,type:m="primary"})=>({text:f,link:d,type:m})):[]),u=()=>{if(!o.value)return null;const f=_e("img",{src:Kr(o.value),alt:s.value,height:i.value});return t.value.heroImageDark===void 0?f:_e(ts,()=>f)};return(f,d)=>(j(),Z("header",ip,[oe(u),l.value?(j(),Z("h1",lp,Ce(l.value),1)):Te("",!0),a.value?(j(),Z("p",ap,Ce(a.value),1)):Te("",!0),c.value.length?(j(),Z("p",cp,[(j(!0),Z(be,null,Mt(c.value,m=>(j(),Le(yt,{key:m.text,class:We(["action-button",[m.type]]),item:m},null,8,["class","item"]))),128))])):Te("",!0)]))}}),fp=Se(up,[["__file","HomeHero.vue"]]),dp={class:"home"},hp=he({__name:"Home",setup(e){return(t,n)=>(j(),Z("main",dp,[oe(fp),oe(Zh),oe(Jh),oe(rp)]))}}),pp=Se(hp,[["__file","Home.vue"]]),mp=["aria-hidden"],gp=he({__name:"NavbarBrand",setup(e){const t=nr(),n=es(),r=Ne(),o=ss(),s=M(()=>r.value.home||t.value),i=M(()=>n.value.title),l=M(()=>o.value&&r.value.logoDark!==void 0?r.value.logoDark:r.value.logo),a=M(()=>r.value.logoAlt??i.value),c=M(()=>i.value.toLocaleUpperCase().trim()===a.value.toLocaleUpperCase().trim()),u=()=>{if(!l.value)return null;const f=_e("img",{class:"logo",src:Kr(l.value),alt:a.value});return r.value.logoDark===void 0?f:_e(ts,()=>f)};return(f,d)=>(j(),Le(X(rr),{to:s.value},{default:xe(()=>[oe(u),i.value?(j(),Z("span",{key:0,class:We(["site-name",{"can-hide":l.value}]),"aria-hidden":c.value},Ce(i.value),11,mp)):Te("",!0)]),_:1},8,["to"]))}}),vp=Se(gp,[["__file","NavbarBrand.vue"]]),_p=he({__name:"DropdownTransition",setup(e){const t=r=>{r.style.height=r.scrollHeight+"px"},n=r=>{r.style.height=""};return(r,o)=>(j(),Le(er,{name:"dropdown",onEnter:t,onAfterEnter:n,onBeforeLeave:t},{default:xe(()=>[ve(r.$slots,"default")]),_:3}))}}),oa=Se(_p,[["__file","DropdownTransition.vue"]]),bp=["aria-label"],yp={class:"title"},Ep=ne("span",{class:"arrow down"},null,-1),wp=["aria-label"],Cp={class:"title"},Sp={class:"navbar-dropdown"},Lp={class:"navbar-dropdown-subtitle"},xp={key:1},Tp={class:"navbar-dropdown-subitem-wrapper"},Ap=he({__name:"NavbarDropdown",props:{item:{type:Object,required:!0}},setup(e){const t=e,{item:n}=Uo(t),r=M(()=>n.value.ariaLabel||n.value.text),o=de(!1),s=Dt();He(()=>s.path,()=>{o.value=!1});const i=a=>{a.detail===0?o.value=!o.value:o.value=!1},l=(a,c)=>c[c.length-1]===a;return(a,c)=>(j(),Z("div",{class:We(["navbar-dropdown-wrapper",{open:o.value}])},[ne("button",{class:"navbar-dropdown-title",type:"button","aria-label":r.value,onClick:i},[ne("span",yp,Ce(X(n).text),1),Ep],8,bp),ne("button",{class:"navbar-dropdown-title-mobile",type:"button","aria-label":r.value,onClick:c[0]||(c[0]=u=>o.value=!o.value)},[ne("span",Cp,Ce(X(n).text),1),ne("span",{class:We(["arrow",o.value?"down":"right"])},null,2)],8,wp),oe(oa,null,{default:xe(()=>[xr(ne("ul",Sp,[(j(!0),Z(be,null,Mt(X(n).children,u=>(j(),Z("li",{key:u.text,class:"navbar-dropdown-item"},[u.children?(j(),Z(be,{key:0},[ne("h4",Lp,[u.link?(j(),Le(yt,{key:0,item:u,onFocusout:f=>l(u,X(n).children)&&u.children.length===0&&(o.value=!1)},null,8,["item","onFocusout"])):(j(),Z("span",xp,Ce(u.text),1))]),ne("ul",Tp,[(j(!0),Z(be,null,Mt(u.children,f=>(j(),Z("li",{key:f.link,class:"navbar-dropdown-subitem"},[oe(yt,{item:f,onFocusout:d=>l(f,u.children)&&l(u,X(n).children)&&(o.value=!1)},null,8,["item","onFocusout"])]))),128))])],64)):(j(),Le(yt,{key:1,item:u,onFocusout:f=>l(u,X(n).children)&&(o.value=!1)},null,8,["item","onFocusout"]))]))),128))],512),[[Or,o.value]])]),_:1})],2))}}),kp=Se(Ap,[["__file","NavbarDropdown.vue"]]),Rp=["aria-label"],Pp=he({__name:"NavbarItems",setup(e){const t=()=>{const f=Dt(),d=Md(),m=nr(),g=Ml(),y=es(),w=Rh(),A=Ne();return M(()=>{const k=Object.keys(g.value.locales);if(k.length<2)return[];const v=f.path,S=f.fullPath;return[{text:`${A.value.selectLanguageText}`,ariaLabel:`${A.value.selectLanguageAriaLabel??A.value.selectLanguageText}`,children:k.map(I=>{var E,N;const H=((E=g.value.locales)==null?void 0:E[I])??{},_=((N=w.value.locales)==null?void 0:N[I])??{},G=`${H.lang}`,x=_.selectLanguageName??G;if(G===y.value.lang)return{text:x,activeMatch:/./,link:f.hash??"#"};const V=v.replace(m.value,I);return{text:x,link:d.value.some(te=>te===V)?S.replace(v,V):_.home??I}})}]})},n=()=>{const f=Ne(),d=M(()=>f.value.repo),m=M(()=>d.value?Zl(d.value):null),g=M(()=>d.value&&!tr(d.value)?`https://github.com/${d.value}`:d.value),y=M(()=>g.value?f.value.repoLabel?f.value.repoLabel:m.value===null?"Source":m.value:null);return M(()=>!g.value||!y.value?[]:[{text:y.value,link:g.value}])},r=f=>dt(f)?Xl(f):f.children?{...f,children:f.children.map(d=>r(d))}:f,o=()=>{const f=Ne();return M(()=>(f.value.navbar||[]).map(d=>r(d)))},s=de(!1),i=o(),l=t(),a=n(),c=M(()=>[...i.value,...l.value,...a.value]);ra(Wn.MOBILE,f=>{window.innerWidthNe().value.navbarLabel??"site navigation");return(f,d)=>c.value.length?(j(),Z("nav",{key:0,class:"navbar-items","aria-label":u.value},[(j(!0),Z(be,null,Mt(c.value,m=>(j(),Z("div",{key:m.text,class:"navbar-item"},["children"in m?(j(),Le(kp,{key:0,item:m,class:We(s.value?"mobile":"")},null,8,["item","class"])):(j(),Le(yt,{key:1,item:m},null,8,["item"]))]))),128))],8,Rp)):Te("",!0)}}),sa=Se(Pp,[["__file","NavbarItems.vue"]]),Op=["title"],Ip={class:"icon",focusable:"false",viewBox:"0 0 32 32"},$p=Yc('',9),Np=[$p],Mp={class:"icon",focusable:"false",viewBox:"0 0 32 32"},Hp=ne("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1),Fp=[Hp],Dp=he({__name:"ToggleColorModeButton",setup(e){const t=Ne(),n=ss(),r=()=>{n.value=!n.value};return(o,s)=>(j(),Z("button",{class:"toggle-color-mode-button",title:X(t).toggleColorMode,onClick:r},[xr((j(),Z("svg",Ip,Np,512)),[[Or,!X(n)]]),xr((j(),Z("svg",Mp,Fp,512)),[[Or,X(n)]])],8,Op))}}),Bp=Se(Dp,[["__file","ToggleColorModeButton.vue"]]),zp=["title"],jp=ne("div",{class:"icon","aria-hidden":"true"},[ne("span"),ne("span"),ne("span")],-1),Up=[jp],Vp=he({__name:"ToggleSidebarButton",emits:["toggle"],setup(e){const t=Ne();return(n,r)=>(j(),Z("div",{class:"toggle-sidebar-button",title:X(t).toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:r[0]||(r[0]=o=>n.$emit("toggle"))},Up,8,zp))}}),Wp=Se(Vp,[["__file","ToggleSidebarButton.vue"]]),Kp=he({__name:"Navbar",emits:["toggle-sidebar"],setup(e){const t=Ne(),n=de(null),r=de(null),o=de(0),s=M(()=>o.value?{maxWidth:o.value+"px"}:{}),i=(l,a)=>{var f,d,m;const c=(m=(d=(f=l==null?void 0:l.ownerDocument)==null?void 0:f.defaultView)==null?void 0:d.getComputedStyle(l,null))==null?void 0:m[a],u=Number.parseInt(c,10);return Number.isNaN(u)?0:u};return ra(Wn.MOBILE,l=>{var c;const a=i(n.value,"paddingLeft")+i(n.value,"paddingRight");window.innerWidth{const c=Zt("NavbarSearch");return j(),Z("header",{ref_key:"navbar",ref:n,class:"navbar"},[oe(Wp,{onToggle:a[0]||(a[0]=u=>l.$emit("toggle-sidebar"))}),ne("span",{ref_key:"navbarBrand",ref:r},[oe(vp)],512),ne("div",{class:"navbar-items-wrapper",style:Gn(s.value)},[ve(l.$slots,"before"),oe(sa,{class:"can-hide"}),ve(l.$slots,"after"),X(t).colorModeSwitch?(j(),Le(Bp,{key:0})):Te("",!0),oe(c)],4)],512)}}}),qp=Se(Kp,[["__file","Navbar.vue"]]),Gp={class:"vp-page-meta"},Yp={key:0,class:"vp-meta-item edit-link"},Jp=ne("svg",{class:"icon",viewBox:"0 0 1024 1024"},[ne("g",{fill:"currentColor"},[ne("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),ne("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})])],-1),Xp={class:"vp-meta-item git-info"},Qp={key:0,class:"vp-meta-item last-updated"},Zp={class:"meta-item-label"},em={class:"meta-item-info"},tm={key:1,class:"vp-meta-item contributors"},nm={class:"meta-item-label"},rm={class:"meta-item-info"},om=["title"],sm=he({__name:"PageMeta",setup(e){const t=()=>{const a=Ne(),c=hn(),u=ht();return M(()=>{if(!(u.value.editLink??a.value.editLink??!0))return null;const{repo:d,docsRepo:m=d,docsBranch:g="main",docsDir:y="",editLinkText:w}=a.value;if(!m)return null;const A=Dh({docsRepo:m,docsBranch:g,docsDir:y,filePathRelative:c.value.filePathRelative,editLinkPattern:u.value.editLinkPattern??a.value.editLinkPattern});return A?{text:w??"Edit this page",link:A}:null})},n=()=>{const a=Ne(),c=hn(),u=ht();return M(()=>{var m,g;return!(u.value.lastUpdated??a.value.lastUpdated??!0)||!((m=c.value.git)!=null&&m.updatedTime)?null:new Date((g=c.value.git)==null?void 0:g.updatedTime).toLocaleString()})},r=()=>{const a=Ne(),c=hn(),u=ht();return M(()=>{var d;return u.value.contributors??a.value.contributors??!0?((d=c.value.git)==null?void 0:d.contributors)??null:null})},o=Ne(),s=t(),i=n(),l=r();return(a,c)=>{const u=Zt("ClientOnly");return j(),Z("footer",Gp,[X(s)?(j(),Z("div",Yp,[oe(yt,{class:"label",item:X(s)},{before:xe(()=>[Jp]),_:1},8,["item"])])):Te("",!0),ne("div",Xp,[X(i)?(j(),Z("div",Qp,[ne("span",Zp,Ce(X(o).lastUpdatedText)+": ",1),oe(u,null,{default:xe(()=>[ne("span",em,Ce(X(i)),1)]),_:1})])):Te("",!0),X(l)&&X(l).length?(j(),Z("div",tm,[ne("span",nm,Ce(X(o).contributorsText)+": ",1),ne("span",rm,[(j(!0),Z(be,null,Mt(X(l),(f,d)=>(j(),Z(be,{key:d},[ne("span",{class:"contributor",title:`email: ${f.email}`},Ce(f.name),9,om),d!==X(l).length-1?(j(),Z(be,{key:0},[pt(", ")],64)):Te("",!0)],64))),128))])])):Te("",!0)])])}}}),im=Se(sm,[["__file","PageMeta.vue"]]),lm=["aria-label"],am={class:"hint"},cm=ne("span",{class:"arrow left"},null,-1),um={class:"link"},fm={class:"hint"},dm=ne("span",{class:"arrow right"},null,-1),hm={class:"link"},pm=he({__name:"PageNav",setup(e){const t=(f,d)=>{if(f===!1)return null;if(dt(f)){const{notFound:m,meta:g,path:y}=pi(f,d);return m?{text:y,link:y}:{text:g.title||y,link:y}}return Jo(f)?{...f,link:pi(f.link,d).path}:!1},n=(f,d,m)=>{const g=f.findIndex(y=>y.link===d);if(g!==-1){const y=f[g+m];return y!=null&&y.link?y:null}for(const y of f)if(y.children){const w=n(y.children,d,m);if(w)return w}return null},r=ht(),o=is(),s=Ne(),i=Dt(),l=$h(),a=M(()=>{const f=t(r.value.prev,i.path);return f!==!1?f:n(o.value,i.path,-1)}),c=M(()=>{const f=t(r.value.next,i.path);return f!==!1?f:n(o.value,i.path,1)}),u=M(()=>Ne().value.pageNavbarLabel??"page navigation");return lt("keydown",f=>{f.altKey&&(f.key==="ArrowRight"?c.value&&(l(c.value.link),f.preventDefault()):f.key==="ArrowLeft"&&a.value&&(l(a.value.link),f.preventDefault()))}),(f,d)=>a.value||c.value?(j(),Z("nav",{key:0,class:"vp-page-nav","aria-label":u.value},[a.value?(j(),Le(yt,{key:0,class:"prev",item:a.value},{default:xe(()=>[ne("div",am,[cm,pt(" "+Ce(X(s).prev??"Prev"),1)]),ne("div",um,[ne("span",null,Ce(a.value.text),1)])]),_:1},8,["item"])):Te("",!0),c.value?(j(),Le(yt,{key:1,class:"next",item:c.value},{default:xe(()=>[ne("div",fm,[pt(Ce(X(s).next??"Next")+" ",1),dm]),ne("div",hm,[ne("span",null,Ce(c.value.text),1)])]),_:1},8,["item"])):Te("",!0)],8,lm)):Te("",!0)}}),mm=Se(pm,[["__file","PageNav.vue"]]),gm={class:"page"},vm={class:"theme-default-content"},_m=he({__name:"Page",setup(e){return(t,n)=>{const r=Zt("Content");return j(),Z("main",gm,[ve(t.$slots,"top"),ne("div",vm,[ve(t.$slots,"content-top"),oe(r),ve(t.$slots,"content-bottom")]),oe(im),oe(mm),ve(t.$slots,"bottom")])}}}),bm=Se(_m,[["__file","Page.vue"]]),ym={class:"sidebar-item-children"},Em=he({__name:"SidebarItem",props:{item:{type:Object,required:!0},depth:{type:Number,required:!1,default:0}},setup(e){const t=e,{item:n,depth:r}=Uo(t),o=Dt(),s=En(),i=M(()=>Ql(n.value,o)),l=M(()=>({"sidebar-item":!0,"sidebar-heading":r.value===0,active:i.value,collapsible:n.value.collapsible})),a=M(()=>n.value.collapsible?i.value:!0),[c,u]=vd(a.value),f=m=>{n.value.collapsible&&(m.preventDefault(),u())},d=s.afterEach(m=>{yn(()=>{c.value=a.value})});return Ko(()=>{d()}),(m,g)=>{var w;const y=Zt("SidebarItem",!0);return j(),Z("li",null,[X(n).link?(j(),Le(yt,{key:0,class:We(l.value),item:X(n)},null,8,["class","item"])):(j(),Z("p",{key:1,tabindex:"0",class:We(l.value),onClick:f,onKeydown:Ou(f,["enter"])},[pt(Ce(X(n).text)+" ",1),X(n).collapsible?(j(),Z("span",{key:0,class:We(["arrow",X(c)?"down":"right"])},null,2)):Te("",!0)],34)),(w=X(n).children)!=null&&w.length?(j(),Le(oa,{key:2},{default:xe(()=>[xr(ne("ul",ym,[(j(!0),Z(be,null,Mt(X(n).children,A=>(j(),Le(y,{key:`${X(r)}${A.text}${A.link}`,item:A,depth:X(r)+1},null,8,["item","depth"]))),128))],512),[[Or,X(c)]])]),_:1})):Te("",!0)])}}}),wm=Se(Em,[["__file","SidebarItem.vue"]]),Cm={key:0,class:"sidebar-items"},Sm=he({__name:"SidebarItems",setup(e){const t=Dt(),n=is();return qe(()=>{He(()=>t.hash,r=>{const o=document.querySelector(".sidebar");if(!o)return;const s=document.querySelector(`.sidebar a.sidebar-item[href="${t.path}${r}"]`);if(!s)return;const{top:i,height:l}=o.getBoundingClientRect(),{top:a,height:c}=s.getBoundingClientRect();ai+l&&s.scrollIntoView(!1)})}),(r,o)=>X(n).length?(j(),Z("ul",Cm,[(j(!0),Z(be,null,Mt(X(n),s=>(j(),Le(wm,{key:`${s.text}${s.link}`,item:s},null,8,["item"]))),128))])):Te("",!0)}}),Lm=Se(Sm,[["__file","SidebarItems.vue"]]),xm={class:"sidebar"},Tm=he({__name:"Sidebar",setup(e){return(t,n)=>(j(),Z("aside",xm,[oe(sa),ve(t.$slots,"top"),oe(Lm),ve(t.$slots,"bottom")]))}}),Am=Se(Tm,[["__file","Sidebar.vue"]]),km=he({__name:"Layout",setup(e){const t=hn(),n=ht(),r=Ne(),o=M(()=>n.value.navbar!==!1&&r.value.navbar!==!1),s=is(),i=de(!1),l=w=>{i.value=typeof w=="boolean"?w:!i.value},a={x:0,y:0},c=w=>{a.x=w.changedTouches[0].clientX,a.y=w.changedTouches[0].clientY},u=w=>{const A=w.changedTouches[0].clientX-a.x,k=w.changedTouches[0].clientY-a.y;Math.abs(A)>Math.abs(k)&&Math.abs(A)>40&&(A>0&&a.x<=80?l(!0):l(!1))},f=M(()=>[{"no-navbar":!o.value,"no-sidebar":!s.value.length,"sidebar-open":i.value},n.value.pageClass]);let d;qe(()=>{d=En().afterEach(()=>{l(!1)})}),Br(()=>{d()});const m=Jl(),g=m.resolve,y=m.pending;return(w,A)=>(j(),Z("div",{class:We(["theme-container",f.value]),onTouchstart:c,onTouchend:u},[ve(w.$slots,"navbar",{},()=>[o.value?(j(),Le(qp,{key:0,onToggleSidebar:l},{before:xe(()=>[ve(w.$slots,"navbar-before")]),after:xe(()=>[ve(w.$slots,"navbar-after")]),_:3})):Te("",!0)]),ne("div",{class:"sidebar-mask",onClick:A[0]||(A[0]=k=>l(!1))}),ve(w.$slots,"sidebar",{},()=>[oe(Am,null,{top:xe(()=>[ve(w.$slots,"sidebar-top")]),bottom:xe(()=>[ve(w.$slots,"sidebar-bottom")]),_:3})]),ve(w.$slots,"page",{},()=>[X(n).home?(j(),Le(pp,{key:0})):(j(),Le(er,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:X(g),onBeforeLeave:X(y)},{default:xe(()=>[(j(),Le(bm,{key:X(t).path},{top:xe(()=>[ve(w.$slots,"page-top")]),"content-top":xe(()=>[ve(w.$slots,"page-content-top")]),"content-bottom":xe(()=>[ve(w.$slots,"page-content-bottom")]),bottom:xe(()=>[ve(w.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34))}}),Rm=Se(km,[["__file","Layout.vue"]]),Pm={class:"theme-container"},Om={class:"page"},Im={class:"theme-default-content"},$m=ne("h1",null,"404",-1),Nm=he({__name:"NotFound",setup(e){const t=nr(),n=Ne(),r=n.value.notFound??["Not Found"],o=()=>r[Math.floor(Math.random()*r.length)],s=n.value.home??t.value,i=n.value.backToHome??"Back to home";return(l,a)=>(j(),Z("div",Pm,[ne("main",Om,[ne("div",Im,[$m,ne("blockquote",null,Ce(o()),1),oe(X(rr),{to:X(s)},{default:xe(()=>[pt(Ce(X(i)),1)]),_:1},8,["to"])])])]))}}),Mm=Se(Nm,[["__file","NotFound.vue"]]),Hm=Bt({enhance({app:e,router:t}){uo("Badge")||e.component("Badge",xh),uo("CodeGroup")||e.component("CodeGroup",Th),uo("CodeGroupItem")||e.component("CodeGroupItem",kh),e.component("AutoLinkExternalIcon",()=>{const r=e.component("ExternalLinkIcon");return r?_e(r):null}),e.component("NavbarSearch",()=>{const r=e.component("Docsearch")||e.component("SearchBox");return r?_e(r):null});const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await Jl().wait(),n(...r))},setup(){Ph(),Bh()},layouts:{Layout:Rm,NotFound:Mm}}),vr=[Nd,zd,Qd,rh,mh,bh,Sh,Hm],Fm=JSON.parse('{"base":"/dreammall.earth/","lang":"en-US","title":"Dreammall.earth Documentation","description":"Dreammall.earth Documentation","head":[],"locales":{}}');var An=bn(Fm),Dm=Sf,Bm=()=>{const e=Yf({history:Dm(Cl("/dreammall.earth/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===_t){const r=Vn(t.path);if(r.path!==t.path)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},zm=e=>{e.component("ClientOnly",ts),e.component("Content",rd),e.component("RouteLink",rr)},jm=(e,t,n)=>{const r=M(()=>t.currentRoute.value.path),o=Ka((w,A)=>({get(){return w(),t.currentRoute.value.meta._pageChunk},set(k){t.currentRoute.value.meta._pageChunk=k,A()}})),s=M(()=>Vt.resolveLayouts(n)),i=M(()=>Vt.resolveRouteLocale(An.value.locales,r.value)),l=M(()=>Vt.resolveSiteLocaleData(An.value,i.value)),a=M(()=>o.value.comp),c=M(()=>o.value.data),u=M(()=>c.value.frontmatter),f=M(()=>Vt.resolvePageHeadTitle(c.value,l.value)),d=M(()=>Vt.resolvePageHead(f.value,u.value,l.value)),m=M(()=>Vt.resolvePageLang(c.value,l.value)),g=M(()=>Vt.resolvePageLayout(c.value,s.value)),y={layouts:s,pageData:c,pageComponent:a,pageFrontmatter:u,pageHead:d,pageHeadTitle:f,pageLang:m,pageLayout:g,redirects:ko,routeLocale:i,routePath:r,routes:Un,siteData:An,siteLocaleData:l};return e.provide(Zo,y),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>u.value},$head:{get:()=>d.value},$headTitle:{get:()=>f.value},$lang:{get:()=>m.value},$page:{get:()=>c.value},$routeLocale:{get:()=>i.value},$site:{get:()=>An.value},$siteLocale:{get:()=>l.value},$withBase:{get:()=>Kr}}),y},Um=()=>{const e=Qf(),t=Zf();let n=[];const r=()=>{e.value.forEach(i=>{const l=Vm(i);l&&n.push(l)})},o=()=>{const i=[];return e.value.forEach(l=>{const a=Wm(l);a&&i.push(a)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((l,a)=>{const c=i.findIndex(u=>l.isEqualNode(u));c===-1?(l.remove(),delete n[a]):i.splice(c,1)}),i.forEach(l=>document.head.appendChild(l)),n=[...n.filter(l=>!!l),...i]};Qt(nd,s),qe(()=>{r(),He(e,s,{immediate:!1})})},Vm=([e,t,n=""])=>{const r=Object.entries(t).map(([l,a])=>dt(a)?`[${l}=${JSON.stringify(a)}]`:a===!0?`[${l}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(l=>l.innerText===n)||null},Wm=([e,t,n])=>{if(!dt(e))return null;const r=document.createElement(e);return Jo(t)&&Object.entries(t).forEach(([o,s])=>{dt(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),dt(n)&&r.appendChild(document.createTextNode(n)),r},Km=Nu,qm=async()=>{var n;const e=Km({name:"Vuepress",setup(){var s;Um();for(const i of vr)(s=i.setup)==null||s.call(i);const r=vr.flatMap(({rootComponents:i=[]})=>i.map(l=>_e(l))),o=ed();return()=>[_e(o.value),r]}}),t=Bm();zm(e),jm(e,t,vr);for(const r of vr)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:An}));return e.use(t),{app:e,router:t}};qm().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Se as _,ne as a,pt as b,Z as c,qm as createVueApp,oe as d,Yc as e,j as o,Zt as r,xe as w}; diff --git a/assets/dreammall-logo-BDPGqpR2.svg b/assets/dreammall-logo-BDPGqpR2.svg new file mode 100644 index 0000000000..0be57a8477 --- /dev/null +++ b/assets/dreammall-logo-BDPGqpR2.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/dreammall-logo-BlW2bKby.js b/assets/dreammall-logo-BlW2bKby.js new file mode 100644 index 0000000000..c5cb432940 --- /dev/null +++ b/assets/dreammall-logo-BlW2bKby.js @@ -0,0 +1 @@ +const a="/dreammall.earth/assets/dreammall-logo-BDPGqpR2.svg";export{a as _}; diff --git a/assets/index.html-B15mh8Q5.js b/assets/index.html-B15mh8Q5.js new file mode 100644 index 0000000000..d535c66a81 --- /dev/null +++ b/assets/index.html-B15mh8Q5.js @@ -0,0 +1,4 @@ +import{_ as i,r,o,c as d,a,b as e,d as n,e as t}from"./app-DvhWSl6p.js";const h={},l=t(`

Authentik

This is an Authentik setup for development in order to make local testing for production behaviour as easy as possible including the authentication mechanisms.

Preperation

This package comes with an preconfigured authentic - which has its data mainly residing in a postgress database. The contents of this database is available in packed form.

To extract the database use:

./database.unpack.sh
+

(Note: make sure the database is not running before executing this command)

`,7),c={href:"https://goauthentik.io/docs/installation/docker-compose#preparation",target:"_blank",rel:"noopener noreferrer"},p=t(`

Start Docker

To start the authentik server and its services run:

docker compose up
+

(Note: make sure to run this command in the authentik folder, since there is another docker-compose setup in the main folder)

User Credentials

`,5),u={href:"http://localhost:9000",target:"_blank",rel:"noopener noreferrer"},m=t(`

To login you can use the superadmins credentials:

descriptionvalue
usernameakadmin
emailadmin@dreammall.earth
passworddreammall

Publish changes

If you want to publish changes to the database you can use the following command to pack the database:

./database.pack.sh
+

(Note: this assumes you are not root and sets the permissions of the database files via sudo) (Note: make sure to shut down the database first before you run the script)

`,6);function b(g,k){const s=r("ExternalLinkIcon");return o(),d("div",null,[l,a("p",null,[e("Alternatively you can not extract the database, which will start the service with an empty database. Use the "),a("a",c,[e("Docker Guide"),n(s)]),e(" from Authentik to get you going then.")]),p,a("p",null,[e("You can navigate to the now running authentik by opening "),a("a",u,[e("http://localhost:9000"),n(s)]),e(".")]),m])}const f=i(h,[["render",b],["__file","index.html.vue"]]),_=JSON.parse('{"path":"/authentik/","title":"Authentik","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Preperation","slug":"preperation","link":"#preperation","children":[]},{"level":2,"title":"Start Docker","slug":"start-docker","link":"#start-docker","children":[]},{"level":2,"title":"User Credentials","slug":"user-credentials","link":"#user-credentials","children":[]},{"level":2,"title":"Publish changes","slug":"publish-changes","link":"#publish-changes","children":[]}],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"authentik/README.md"}');export{f as comp,_ as data}; diff --git a/assets/index.html-BGnEJQJY.js b/assets/index.html-BGnEJQJY.js new file mode 100644 index 0000000000..0bcfd88034 --- /dev/null +++ b/assets/index.html-BGnEJQJY.js @@ -0,0 +1,15 @@ +import{_ as r,r as a,o as d,c as l,a as e,d as n,b as o,e as s}from"./app-DvhWSl6p.js";const i="/dreammall.earth/assets/dreammall-logo-BDPGqpR2.svg",c={},p=e("h1",{id:"dreammall-frontend",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#dreammall-frontend"},[e("span",null,"Dreammall Frontend")])],-1),h={href:"https://nodejs.org/",target:"_blank",rel:"noopener noreferrer"},u=e("img",{src:"https://img.shields.io/badge/nodejs->%3D20.5.0-blue",alt:"nodejs"},null,-1),m={href:"https://www.npmjs.com/package/npm",target:"_blank",rel:"noopener noreferrer"},g=e("img",{src:"https://img.shields.io/badge/npm-latest-blue",alt:"npm"},null,-1),b={href:"https://www.docker.com/",target:"_blank",rel:"noopener noreferrer"},v=e("img",{src:"https://img.shields.io/badge/docker-latest-blue",alt:"docker"},null,-1),f={href:"https://jqlang.github.io/jq/",target:"_blank",rel:"noopener noreferrer"},_=e("img",{src:"https://img.shields.io/badge/jq-latest-blue",alt:"jq"},null,-1),k={href:"https://vuejs.org/",target:"_blank",rel:"noopener noreferrer"},y=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=dependencies.vue&label=vue&color=green",alt:"vue"},null,-1),F={href:"https://vike.dev/",target:"_blank",rel:"noopener noreferrer"},w=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=dependencies.vike&label=vike&color=green",alt:"vike"},null,-1),x={href:"https://vuetifyjs.com/",target:"_blank",rel:"noopener noreferrer"},j=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=dependencies.vuetify&label=vuetify&color=green",alt:"vuetify"},null,-1),T={href:"https://pinia.vuejs.org/",target:"_blank",rel:"noopener noreferrer"},C=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=dependencies.pinia&label=pinia&color=green",alt:"pinia"},null,-1),q={href:"https://vue-i18n.intlify.dev/",target:"_blank",rel:"noopener noreferrer"},R=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=dependencies['vue-i18n']&label=vue-i18n&color=green",alt:"vue-i18n"},null,-1),D={href:"https://eslint.org/",target:"_blank",rel:"noopener noreferrer"},I=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=devDependencies.eslint&label=eslint&color=yellow",alt:"eslint"},null,-1),A={href:"https://remark.js.org/",target:"_blank",rel:"noopener noreferrer"},E=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=devDependencies['remark-cli']&label=remark-cli&color=yellow",alt:"remark-cli"},null,-1),S={href:"https://stylelint.io/",target:"_blank",rel:"noopener noreferrer"},B=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=devDependencies.stylelint&label=stylelint&color=yellow",alt:"stylelint"},null,-1),N={href:"https://vitest.dev/",target:"_blank",rel:"noopener noreferrer"},P=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=devDependencies.vitest&label=vitest&color=yellow",alt:"vitest"},null,-1),O={href:"https://storybook.js.org/",target:"_blank",rel:"noopener noreferrer"},H=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=devDependencies.storybook&label=storybook&color=orange",alt:"storybook"},null,-1),L={href:"https://vuepress.vuejs.org/",target:"_blank",rel:"noopener noreferrer"},z=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=devDependencies.vuepress&label=vuepress&color=orange",alt:"vuepress"},null,-1),K={href:"https://www.chromatic.com/",target:"_blank",rel:"noopener noreferrer"},M=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-frontend%2Fmaster%2Fpackage.json&query=devDependencies.chromatic&label=chromatic&color=orange",alt:"chromatic"},null,-1),U=s('

The Dreammall frontend.

Requirements & Technology

To be able to build this project you need nodejs, npm and optional docker and jq.

The project uses vite as builder, vike to do the SSR. The design framework is vuetify which requires the frontend framework vue3. For localization vue-i18n is used; Session storage is handled with pinia.

Testing is done with vitest and code style is enforced with eslint, remark-cli and stylelint.

This projects utilizes storybook and chromatic to develop, document & test frontend components and vuepress for static documentation generation.

Commands

The following commands are available:

CommandDescription
npm installProject setup
npm run buildCompiles and minifies for production
npm run server:prodRuns productions server
Develop
npm run devCompiles and hot-reloads for development
npm run server:devRun development server
npm run server:prod:tsRun production server without build (ts-node)
npm run server:buildBuild Server into an executable cjs file
Test
npm run test:lintRun all linters
npm run test:lint:eslintRun linter eslint
npm run test:lint:localesRun linter locales
npm run test:lint:remarkRun linter remark
npm run test:lint:styleRun linter stylelint
npm run test:unitRun all unit tests and generate coverage report
npm run test:unit:updateRun unit tests, coverage and update snapshots
npm run test:unit:devRun all unit tests in watch mode
npm testRun all tests & linters
Storybook
npm run storybookRun Storybook
npm run storybook:buildBuild static storybook
npm run storybook:testRun tests against all storybook stories
Documentation
npm run docs:devRun Documentation in development mode
npm run docs:buildBuild static documentation
Chromatic
npm run chromaticRun Chromatic. See Chromatic section for details
Maintenance
npm run updateCheck for updates

Docker

Docker can be run in development mode utilizing docker-compose.overwrite.yml:

docker compose up
+

Docker can be run in production mode:

docker compose -f docker-compose.yml up
+

Chromatic

In order to use the chromatic workflow you need to provide a CHROMATIC_PROJECT_TOKEN in the repository secrets.

If you want to run chromatic from the command line you either have to provide this variable as well

export CHROMATIC_PROJECT_TOKEN=...
+npm run chromatic
+

or you have to append it via parameter:

npm run chromatic -- --project-token=...
+

Update

You can get a list of packes to update by running npm run update.

Appending -u will also update the packages in the package.json. You have to run npm install again after.

npm run update -- -u
+npm install
+

Endpoints

The following endpoints are provided given the right command is executed or all three if docker compose is used:

`,27),V=e("thead",null,[e("tr",null,[e("th",null,"Endpoint"),e("th",null,"Description")])],-1),J={href:"http://localhost:3000",target:"_blank",rel:"noopener noreferrer"},Y=e("td",null,"Web",-1),W={href:"http://localhost:6006",target:"_blank",rel:"noopener noreferrer"},G=e("td",null,"Storybook",-1),Q={href:"http://localhost:8080",target:"_blank",rel:"noopener noreferrer"},X=e("td",null,"Documentation",-1),Z=s(`

How to use as part of a project

If you want to use this as part of a larger project, e.g. in conjunction with a backend also utilizing a boilerplate you cannot use the template mechanic provided by github for this repository.

You can use the following commands to include the whole git history of the boilerplate and be able to update according to changes to this repo using another remote.

git remote add xxx_boilerplate_frontend git@github.com:IT4Change/boilerplate-frontend.git
+git fetch xxx_boilerplate_frontend
+git merge -s ours --no-commit --allow-unrelated-histories xxx_boilerplate_frontend/master
+git read-tree --prefix=xxx/ -u xxx_boilerplate_frontend/master
+git commit -m "Imported boilerplate_frontend as a subtree under xxx/."
+

To update the subtree you can use

git subtree pull -P xxx/ xxx_boilerplate_frontend master
+git commit -m "Updated boilerplate_frontend in subtree under xxx/."
+

Where xxx refers to the folder and product part you want to use the boilerplate in. This assumes that you might need several copies of the frontend boilerplate for you product.

`,7),$={href:"https://stackoverflow.com/questions/1683531/how-to-import-existing-git-repository-into-another/8396318#8396318",target:"_blank",rel:"noopener noreferrer"},ee=e("h2",{id:"known-problems",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#known-problems"},[e("span",null,"Known Problems")])],-1),te={href:"https://github.com/vuetifyjs/vuetify/issues/18772",target:"_blank",rel:"noopener noreferrer"},ne={href:"https://github.com/vuetifyjs/vuetify/issues/18773",target:"_blank",rel:"noopener noreferrer"},oe=e("h2",{id:"license",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#license"},[e("span",null,"License")])],-1),se=e("p",null,[e("a",{href:"./LICENSE"},"Apache 2.0")],-1);function re(ae,de){const t=a("ExternalLinkIcon");return d(),l("div",null,[p,e("p",null,[e("a",h,[u,n(t)]),e("a",m,[g,n(t)]),e("a",b,[v,n(t)]),e("a",f,[_,n(t)]),e("a",k,[y,n(t)]),e("a",F,[w,n(t)]),e("a",x,[j,n(t)]),e("a",T,[C,n(t)]),e("a",q,[R,n(t)]),e("a",D,[I,n(t)]),e("a",A,[E,n(t)]),e("a",S,[B,n(t)]),e("a",N,[P,n(t)]),e("a",O,[H,n(t)]),e("a",L,[z,n(t)]),e("a",K,[M,n(t)])]),U,e("table",null,[V,e("tbody",null,[e("tr",null,[e("td",null,[e("a",J,[o("http://localhost:3000"),n(t)])]),Y]),e("tr",null,[e("td",null,[e("a",W,[o("http://localhost:6006"),n(t)])]),G]),e("tr",null,[e("td",null,[e("a",Q,[o("http://localhost:8080"),n(t)])]),X])])]),Z,e("p",null,[o("This mechanic was taken from this "),e("a",$,[o("source"),n(t)])]),ee,e("ul",null,[e("li",null,[o("[ ] "),e("a",te,[o("Image flicker"),n(t)])]),e("li",null,[o("[ ] "),e("a",ne,[o("Black Buttons"),n(t)])])]),oe,se])}const ie=r(c,[["render",re],["__file","index.html.vue"]]),ce=JSON.parse('{"path":"/frontend/","title":"Dreammall Frontend","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Requirements & Technology","slug":"requirements-technology","link":"#requirements-technology","children":[]},{"level":2,"title":"Commands","slug":"commands","link":"#commands","children":[{"level":3,"title":"Docker","slug":"docker","link":"#docker","children":[]},{"level":3,"title":"Chromatic","slug":"chromatic","link":"#chromatic","children":[]},{"level":3,"title":"Update","slug":"update","link":"#update","children":[]}]},{"level":2,"title":"Endpoints","slug":"endpoints","link":"#endpoints","children":[]},{"level":2,"title":"How to use as part of a project","slug":"how-to-use-as-part-of-a-project","link":"#how-to-use-as-part-of-a-project","children":[]},{"level":2,"title":"Known Problems","slug":"known-problems","link":"#known-problems","children":[]},{"level":2,"title":"License","slug":"license","link":"#license","children":[]}],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"frontend/README.md"}');export{ie as comp,ce as data}; diff --git a/assets/index.html-BNm9d0N9.js b/assets/index.html-BNm9d0N9.js new file mode 100644 index 0000000000..bce08d9cf7 --- /dev/null +++ b/assets/index.html-BNm9d0N9.js @@ -0,0 +1,14 @@ +import{_ as r,r as o,o as d,c as l,a as e,d as a,b as n,e as s}from"./app-DvhWSl6p.js";const i="/dreammall.earth/assets/dreammall-logo-BDPGqpR2.svg",c={},p=e("h1",{id:"dreammall-backend",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#dreammall-backend"},[e("span",null,"Dreammall Backend")])],-1),h={href:"https://nodejs.org/",target:"_blank",rel:"noopener noreferrer"},u=e("img",{src:"https://img.shields.io/badge/nodejs->%3D20.5.0-blue",alt:"nodejs"},null,-1),m={href:"https://www.npmjs.com/package/npm",target:"_blank",rel:"noopener noreferrer"},g=e("img",{src:"https://img.shields.io/badge/npm-latest-blue",alt:"npm"},null,-1),b={href:"https://www.docker.com/",target:"_blank",rel:"noopener noreferrer"},k=e("img",{src:"https://img.shields.io/badge/docker-latest-blue",alt:"docker"},null,-1),v={href:"https://apollographql.com",target:"_blank",rel:"noopener noreferrer"},_=e("img",{src:'https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fbackend%2Fpackage.json&query=dependencies["%40apollo%2Fserver"]&label=apollo-server&color=green',alt:"apollo-server"},null,-1),f={href:"https://graphql.org/",target:"_blank",rel:"noopener noreferrer"},x=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fbackend%2Fpackage.json&query=dependencies.graphql&label=graphql&color=green",alt:"graphql"},null,-1),F={href:"https://typegraphql.com/",target:"_blank",rel:"noopener noreferrer"},y=e("img",{src:'https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fbackend%2Fpackage.json&query=dependencies["type-graphql"]&label=type-graphql&color=green',alt:"type-graphql"},null,-1),j={href:"https://prisma.io/",target:"_blank",rel:"noopener noreferrer"},w=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fbackend%2Fpackage.json&query=dependencies.prisma&label=prisma&color=green",alt:"prisma"},null,-1),q={href:"https://eslint.org/",target:"_blank",rel:"noopener noreferrer"},D=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fbackend%2Fpackage.json&query=devDependencies.eslint&label=eslint&color=yellow",alt:"eslint"},null,-1),T={href:"https://remark.js.org/",target:"_blank",rel:"noopener noreferrer"},R=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fbackend%2Fpackage.json&query=devDependencies['remark-cli']&label=remark-cli&color=yellow",alt:"remark-cli"},null,-1),A={href:"https://jestjs.io/",target:"_blank",rel:"noopener noreferrer"},C=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fbackend%2Fpackage.json&query=devDependencies.jest&label=jest&color=yellow",alt:"jest"},null,-1),E={href:"https://vuepress.vuejs.org/",target:"_blank",rel:"noopener noreferrer"},I=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fbackend%2Fpackage.json&query=devDependencies.vuepress&label=vuepress&color=orange",alt:"vuepress"},null,-1),B=s('

The Dreammall backend.

Requirements & Technology

To be able to build this project you need nodejs, npm and optional docker.

The project sets up an apollo server. It uses type-graphql.

Commands

The following commands are available:

CommandDescription
npm installProject setup
npm run buildCompiles and minifies for production
npm run startRuns productions server
Develop
npm run devCompiles and hot-reloads for development
Database
npm run db:migrateCreates and executes migrations needed
npm run db:resetDrops Schema, run all migrations and seeds
npm run db:seedRun the seeds
Test
npm run test:lintRun all linters
npm run test:lint:eslintRun linter eslint
npm run test:lint:remarkRun linter remark
npm run test:unitRun all unit tests and generate coverage report
npm testRun all tests & linters
Documentation
npm run docs:devRun Documentation in development mode
npm run docs:buildBuild static documentation
Maintenance
npm run updateCheck for updates

Docker

Docker can be run in development mode utilizing docker-compose.overwrite.yml:

docker compose up
+

Docker can be run in production mode:

docker compose -f docker-compose.yml up
+

Update

You can get a list of packes to update by running npm run update.

Appending -u will also update the packages in the package.json. You have to run npm install again after.

npm run update -- -u
+npm install
+

Endpoints

The following endpoints are provided given the right command is executed or all three if docker compose is used:

`,19),L=e("thead",null,[e("tr",null,[e("th",null,"Endpoint"),e("th",null,"Description")])],-1),N={href:"http://localhost:4000/graphql",target:"_blank",rel:"noopener noreferrer"},P=e("td",null,"GraphQL API",-1),S={href:"http://localhost:4000/playground",target:"_blank",rel:"noopener noreferrer"},U=e("td",null,"GraphQL Playground",-1),H=s(`

How to use as part of a project

If you want to use this as part of a larger project, e.g. in conjunction with a frontend also utilizing a boilerplate you cannot use the template mechanic provided by github for this repository.

You can use the following commands to include the whole git history of the boilerplate and be able to update according to changes to this repo using another remote.

git remote add xxx_boilerplate_backend git@github.com:IT4Change/boilerplate-backend.git
+git fetch xxx_boilerplate_backend
+git merge -s ours --no-commit --allow-unrelated-histories xxx_boilerplate_backend/master
+git read-tree --prefix=xxx/ -u xxx_boilerplate_backend/master
+git commit -m "Imported boilerplate_backend as a subtree under xxx/."
+

To update the subtree you can use

git subtree pull -P xxx/ xxx_boilerplate_backend master
+git commit -m "Updated boilerplate_backend in subtree under xxx/."
+

Where xxx refers to the folder and product part you want to use the boilerplate in. This assumes that you might need several copies of the frontend boilerplate for you product.

`,7),V={href:"https://stackoverflow.com/questions/1683531/how-to-import-existing-git-repository-into-another/8396318#8396318",target:"_blank",rel:"noopener noreferrer"},Y=s(`

Database setup

The project is set up for a mysql database. Use

docker-compose up database
+

in the main folder to run the database inside docker. You need to copy the .env.dist file to .env. Run npm run db:migrate to generate the database. It might be required to delete the migration folder beforehand.

Token validation

If you use the authentik database from the zip file, link the src/auth/public.pem to the main folder:

ln -s src/auth/public.pem public.pem
+

Otherwise place the according certificate in the main folder with the name public.pem

License

Apache 2.0

`,10);function z(G,M){const t=o("ExternalLinkIcon");return d(),l("div",null,[p,e("p",null,[e("a",h,[u,a(t)]),e("a",m,[g,a(t)]),e("a",b,[k,a(t)]),e("a",v,[_,a(t)]),e("a",f,[x,a(t)]),e("a",F,[y,a(t)]),e("a",j,[w,a(t)]),e("a",q,[D,a(t)]),e("a",T,[R,a(t)]),e("a",A,[C,a(t)]),e("a",E,[I,a(t)])]),B,e("table",null,[L,e("tbody",null,[e("tr",null,[e("td",null,[e("a",N,[n("http://localhost:4000/graphql"),a(t)])]),P]),e("tr",null,[e("td",null,[e("a",S,[n("http://localhost:4000/playground"),a(t)])]),U])])]),H,e("p",null,[n("This mechanic was taken from this "),e("a",V,[n("source"),a(t)])]),Y])}const Q=r(c,[["render",z],["__file","index.html.vue"]]),J=JSON.parse('{"path":"/backend/","title":"Dreammall Backend","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Requirements & Technology","slug":"requirements-technology","link":"#requirements-technology","children":[]},{"level":2,"title":"Commands","slug":"commands","link":"#commands","children":[{"level":3,"title":"Docker","slug":"docker","link":"#docker","children":[]},{"level":3,"title":"Update","slug":"update","link":"#update","children":[]}]},{"level":2,"title":"Endpoints","slug":"endpoints","link":"#endpoints","children":[]},{"level":2,"title":"How to use as part of a project","slug":"how-to-use-as-part-of-a-project","link":"#how-to-use-as-part-of-a-project","children":[]},{"level":2,"title":"Database setup","slug":"database-setup","link":"#database-setup","children":[]},{"level":2,"title":"Token validation","slug":"token-validation","link":"#token-validation","children":[]},{"level":2,"title":"License","slug":"license","link":"#license","children":[]}],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"backend/README.md"}');export{Q as comp,J as data}; diff --git a/assets/index.html-BtvXRzQl.js b/assets/index.html-BtvXRzQl.js new file mode 100644 index 0000000000..782ab76dd0 --- /dev/null +++ b/assets/index.html-BtvXRzQl.js @@ -0,0 +1,15 @@ +import{_ as a}from"./dreammall-logo-BlW2bKby.js";import{_ as s,r as d,o as l,c as i,a as e,d as n,b as r,e as o}from"./app-DvhWSl6p.js";const c={},p=e("h1",{id:"dreammall-presenter",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#dreammall-presenter"},[e("span",null,"Dreammall Presenter")])],-1),h={href:"https://nodejs.org/",target:"_blank",rel:"noopener noreferrer"},u=e("img",{src:"https://img.shields.io/badge/nodejs->%3D20.5.0-blue",alt:"nodejs"},null,-1),m={href:"https://www.npmjs.com/package/npm",target:"_blank",rel:"noopener noreferrer"},g=e("img",{src:"https://img.shields.io/badge/npm-latest-blue",alt:"npm"},null,-1),b={href:"https://www.docker.com/",target:"_blank",rel:"noopener noreferrer"},v=e("img",{src:"https://img.shields.io/badge/docker-latest-blue",alt:"docker"},null,-1),_={href:"https://jqlang.github.io/jq/",target:"_blank",rel:"noopener noreferrer"},f=e("img",{src:"https://img.shields.io/badge/jq-latest-blue",alt:"jq"},null,-1),k={href:"https://vuejs.org/",target:"_blank",rel:"noopener noreferrer"},y=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=dependencies.vue&label=vue&color=green",alt:"vue"},null,-1),F={href:"https://vike.dev/",target:"_blank",rel:"noopener noreferrer"},w=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=dependencies.vike&label=vike&color=green",alt:"vike"},null,-1),x={href:"https://vuetifyjs.com/",target:"_blank",rel:"noopener noreferrer"},j=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=dependencies.vuetify&label=vuetify&color=green",alt:"vuetify"},null,-1),q={href:"https://pinia.vuejs.org/",target:"_blank",rel:"noopener noreferrer"},R=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=dependencies.pinia&label=pinia&color=green",alt:"pinia"},null,-1),T={href:"https://vue-i18n.intlify.dev/",target:"_blank",rel:"noopener noreferrer"},D=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=dependencies['vue-i18n']&label=vue-i18n&color=green",alt:"vue-i18n"},null,-1),C={href:"https://eslint.org/",target:"_blank",rel:"noopener noreferrer"},A=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=devDependencies.eslint&label=eslint&color=yellow",alt:"eslint"},null,-1),E={href:"https://remark.js.org/",target:"_blank",rel:"noopener noreferrer"},S=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=devDependencies['remark-cli']&label=remark-cli&color=yellow",alt:"remark-cli"},null,-1),I={href:"https://stylelint.io/",target:"_blank",rel:"noopener noreferrer"},P=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=devDependencies.stylelint&label=stylelint&color=yellow",alt:"stylelint"},null,-1),B={href:"https://vitest.dev/",target:"_blank",rel:"noopener noreferrer"},N=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=devDependencies.vitest&label=vitest&color=yellow",alt:"vitest"},null,-1),O={href:"https://storybook.js.org/",target:"_blank",rel:"noopener noreferrer"},H=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=devDependencies.storybook&label=storybook&color=orange",alt:"storybook"},null,-1),L={href:"https://vuepress.vuejs.org/",target:"_blank",rel:"noopener noreferrer"},z=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=devDependencies.vuepress&label=vuepress&color=orange",alt:"vuepress"},null,-1),K={href:"https://www.chromatic.com/",target:"_blank",rel:"noopener noreferrer"},M=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpresenter%2Fpackage.json&query=devDependencies.chromatic&label=chromatic&color=orange",alt:"chromatic"},null,-1),U=o('

The Dreammall presenter.

Requirements & Technology

To be able to build this project you need nodejs, npm and optional docker and jq.

The project uses vite as builder, vike to do the SSR. The design framework is vuetify which requires the frontend framework vue3. For localization vue-i18n is used; Session storage is handled with pinia.

Testing is done with vitest and code style is enforced with eslint, remark-cli and stylelint.

This projects utilizes storybook and chromatic to develop, document & test frontend components and vuepress for static documentation generation.

Commands

The following commands are available:

CommandDescription
npm installProject setup
npm run buildCompiles and minifies for production
npm run server:prodRuns productions server (node, cjs file)
Develop
npm run devCompiles and hot-reloads for development
npm run server:devRun development server
npm run server:prod:tsRun production server without build (ts-node)
npm run server:buildBuild Server into an executable cjs file
Test
npm run test:lintRun all linters
npm run test:lint:eslintRun linter eslint
npm run test:lint:localesRun linter locales
npm run test:lint:remarkRun linter remark
npm run test:lint:styleRun linter stylelint
npm run test:unitRun all unit tests and generate coverage report
npm run test:unit:updateRun unit tests, coverage and update snapshots
npm run test:unit:devRun all unit tests in watch mode
npm testRun all tests & linters
Storybook
npm run storybookRun Storybook
npm run storybook:buildBuild static storybook
npm run storybook:testRun tests against all storybook stories
Documentation
npm run docs:devRun Documentation in development mode
npm run docs:buildBuild static documentation
Chromatic
npm run chromaticRun Chromatic. See Chromatic section for details
Maintenance
npm run updateCheck for updates

Docker

Docker can be run in development mode utilizing docker-compose.overwrite.yml:

docker compose up
+

Docker can be run in production mode:

docker compose -f docker-compose.yml up
+

Chromatic

In order to use the chromatic workflow you need to provide a CHROMATIC_PROJECT_TOKEN in the repository secrets.

If you want to run chromatic from the command line you either have to provide this variable as well

export CHROMATIC_PROJECT_TOKEN=...
+npm run chromatic
+

or you have to append it via parameter:

npm run chromatic -- --project-token=...
+

Update

You can get a list of packes to update by running npm run update.

Appending -u will also update the packages in the package.json. You have to run npm install again after.

npm run update -- -u
+npm install
+

Endpoints

The following endpoints are provided given the right command is executed or all three if docker compose is used:

`,27),V=e("thead",null,[e("tr",null,[e("th",null,"Endpoint"),e("th",null,"Description")])],-1),J={href:"http://localhost:3000",target:"_blank",rel:"noopener noreferrer"},Y=e("td",null,"Web",-1),W={href:"http://localhost:6006",target:"_blank",rel:"noopener noreferrer"},G=e("td",null,"Storybook",-1),Q={href:"http://localhost:8080",target:"_blank",rel:"noopener noreferrer"},X=e("td",null,"Documentation",-1),Z=o(`

How to use as part of a project

If you want to use this as part of a larger project, e.g. in conjunction with a backend also utilizing a boilerplate you cannot use the template mechanic provided by github for this repository.

You can use the following commands to include the whole git history of the boilerplate and be able to update according to changes to this repo using another remote.

git remote add xxx_boilerplate_frontend git@github.com:IT4Change/boilerplate-frontend.git
+git fetch xxx_boilerplate_frontend
+git merge -s ours --no-commit --allow-unrelated-histories xxx_boilerplate_frontend/master
+git read-tree --prefix=xxx/ -u xxx_boilerplate_frontend/master
+git commit -m "Imported boilerplate_frontend as a subtree under xxx/."
+

To update the subtree you can use

git subtree pull -P xxx/ xxx_boilerplate_frontend master
+git commit -m "Updated boilerplate_frontend in subtree under xxx/."
+

Where xxx refers to the folder and product part you want to use the boilerplate in. This assumes that you might need several copies of the frontend boilerplate for you product.

`,7),$={href:"https://stackoverflow.com/questions/1683531/how-to-import-existing-git-repository-into-another/8396318#8396318",target:"_blank",rel:"noopener noreferrer"},ee=e("h2",{id:"known-problems",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#known-problems"},[e("span",null,"Known Problems")])],-1),te={href:"https://github.com/vuetifyjs/vuetify/issues/18772",target:"_blank",rel:"noopener noreferrer"},ne={href:"https://github.com/vuetifyjs/vuetify/issues/18773",target:"_blank",rel:"noopener noreferrer"},re=e("h2",{id:"license",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#license"},[e("span",null,"License")])],-1),oe=e("p",null,[e("a",{href:"./LICENSE"},"Apache 2.0")],-1);function ae(se,de){const t=d("ExternalLinkIcon");return l(),i("div",null,[p,e("p",null,[e("a",h,[u,n(t)]),e("a",m,[g,n(t)]),e("a",b,[v,n(t)]),e("a",_,[f,n(t)]),e("a",k,[y,n(t)]),e("a",F,[w,n(t)]),e("a",x,[j,n(t)]),e("a",q,[R,n(t)]),e("a",T,[D,n(t)]),e("a",C,[A,n(t)]),e("a",E,[S,n(t)]),e("a",I,[P,n(t)]),e("a",B,[N,n(t)]),e("a",O,[H,n(t)]),e("a",L,[z,n(t)]),e("a",K,[M,n(t)])]),U,e("table",null,[V,e("tbody",null,[e("tr",null,[e("td",null,[e("a",J,[r("http://localhost:3000"),n(t)])]),Y]),e("tr",null,[e("td",null,[e("a",W,[r("http://localhost:6006"),n(t)])]),G]),e("tr",null,[e("td",null,[e("a",Q,[r("http://localhost:8080"),n(t)])]),X])])]),Z,e("p",null,[r("This mechanic was taken from this "),e("a",$,[r("source"),n(t)])]),ee,e("ul",null,[e("li",null,[r("[ ] "),e("a",te,[r("Image flicker"),n(t)])]),e("li",null,[r("[ ] "),e("a",ne,[r("Black Buttons"),n(t)])])]),re,oe])}const ce=s(c,[["render",ae],["__file","index.html.vue"]]),pe=JSON.parse('{"path":"/presenter/","title":"Dreammall Presenter","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Requirements & Technology","slug":"requirements-technology","link":"#requirements-technology","children":[]},{"level":2,"title":"Commands","slug":"commands","link":"#commands","children":[{"level":3,"title":"Docker","slug":"docker","link":"#docker","children":[]},{"level":3,"title":"Chromatic","slug":"chromatic","link":"#chromatic","children":[]},{"level":3,"title":"Update","slug":"update","link":"#update","children":[]}]},{"level":2,"title":"Endpoints","slug":"endpoints","link":"#endpoints","children":[]},{"level":2,"title":"How to use as part of a project","slug":"how-to-use-as-part-of-a-project","link":"#how-to-use-as-part-of-a-project","children":[]},{"level":2,"title":"Known Problems","slug":"known-problems","link":"#known-problems","children":[]},{"level":2,"title":"License","slug":"license","link":"#license","children":[]}],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"presenter/README.md"}');export{ce as comp,pe as data}; diff --git a/assets/index.html-DL_tfTeg.js b/assets/index.html-DL_tfTeg.js new file mode 100644 index 0000000000..a1273fa1c3 --- /dev/null +++ b/assets/index.html-DL_tfTeg.js @@ -0,0 +1,3 @@ +import{_ as d}from"./dreammall-logo-BlW2bKby.js";import{_ as c,r as a,o as h,c as i,a as e,d as t,w as r,b as o,e as s}from"./app-DvhWSl6p.js";const p={},u=e("h1",{id:"dreammall-earth",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#dreammall-earth"},[e("span",null,"Dreammall.earth")])],-1),m={href:"https://nodejs.org/",target:"_blank",rel:"noopener noreferrer"},_=e("img",{src:"https://img.shields.io/badge/nodejs->%3D20.5.0-blue",alt:"nodejs"},null,-1),g={href:"https://www.npmjs.com/package/npm",target:"_blank",rel:"noopener noreferrer"},f=e("img",{src:"https://img.shields.io/badge/npm-latest-blue",alt:"npm"},null,-1),k={href:"https://remark.js.org/",target:"_blank",rel:"noopener noreferrer"},b=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpackage.json&query=devDependencies['remark-cli']&label=remark-cli&color=yellow",alt:"remark-cli"},null,-1),v={href:"https://vuepress.vuejs.org/",target:"_blank",rel:"noopener noreferrer"},x=e("img",{src:"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdreammall-earth%2Fdreammall.earth%2Fmaster%2Fpackage.json&query=devDependencies.vuepress&label=vuepress&color=orange",alt:"vuepress"},null,-1),y=e("p",null,"Dreammall.earth websites & services",-1),w=e("p",null,[e("img",{src:d,alt:""})],-1),D=e("h2",{id:"modules",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#modules"},[e("span",null,"Modules")])],-1),F=e("h2",{id:"deploy",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#deploy"},[e("span",null,"Deploy")])],-1),j=s('

Commands

The following commands are available:

CommandDescription
npm installProject setup
Test
npm run test:lintRun all linters
npm run test:lint:remarkRun linter remark
npm testRun all tests & linters
Documentation
npm run docs:devRun Documentation in development mode
npm run docs:buildBuild static documentation
Release
npm run releasePropagate release version & generate changelog
Maintenance
npm run updateCheck for updates

Docker

The following endpoints are provided if docker compose is used:

',5),E=e("thead",null,[e("tr",null,[e("th",null,"Endpoint"),e("th",null,"Description")])],-1),L={href:"http://localhost:3306",target:"_blank",rel:"noopener noreferrer"},B=e("td",null,"MySQL Database",-1),P={href:"http://localhost:3000",target:"_blank",rel:"noopener noreferrer"},R=e("td",null,"Presenter",-1),T={href:"http://localhost:8081",target:"_blank",rel:"noopener noreferrer"},C=e("td",null,"Presenter Documentation",-1),S={href:"http://localhost:6006",target:"_blank",rel:"noopener noreferrer"},A=e("td",null,"Presenter Storybook",-1),N={href:"http://localhost:3001",target:"_blank",rel:"noopener noreferrer"},M=e("td",null,"Frontend",-1),q={href:"http://localhost:8082",target:"_blank",rel:"noopener noreferrer"},H=e("td",null,"Frontend Documentation",-1),I={href:"http://localhost:6007",target:"_blank",rel:"noopener noreferrer"},V=e("td",null,"Frontend Storybook",-1),G={href:"http://localhost:4000/graphql",target:"_blank",rel:"noopener noreferrer"},Q=e("td",null,"Backend GraphQL API",-1),U={href:"http://localhost:4000/playground",target:"_blank",rel:"noopener noreferrer"},Y=e("td",null,"Backend GraphQL Playground",-1),J={href:"http://localhost:8083",target:"_blank",rel:"noopener noreferrer"},O=e("td",null,"Backend Documentation",-1),z={href:"http://localhost:8080",target:"_blank",rel:"noopener noreferrer"},K=e("td",null,"Documentation",-1),W=s(`

How to release

Generate a new version using npm version --git-tag-version=false patch|minor|major. Then run npm run release to propagate the new version and generate the changelog

Update

You can get a list of packages to update by running npm run update.

Appending -u will also update the packages in the package.json. You have to run npm install again after.

npm run update -- -u
+npm install
+

External Tools

This project is tested with Browserstack.

License

Apache 2.0

`,10);function X(Z,$){const n=a("ExternalLinkIcon"),l=a("RouteLink");return h(),i("div",null,[u,e("p",null,[e("a",m,[_,t(n)]),e("a",g,[f,t(n)]),e("a",k,[b,t(n)]),e("a",v,[x,t(n)])]),y,w,D,e("ul",null,[e("li",null,[t(l,{to:"/presenter/"},{default:r(()=>[o("Presenter")]),_:1})]),e("li",null,[t(l,{to:"/backend/"},{default:r(()=>[o("Backend")]),_:1})])]),F,e("p",null,[o("Deploy instructions can be found in "),t(l,{to:"/deplyoment/"},{default:r(()=>[o("deployment/")]),_:1})]),j,e("table",null,[E,e("tbody",null,[e("tr",null,[e("td",null,[e("a",L,[o("http://localhost:3306"),t(n)])]),B]),e("tr",null,[e("td",null,[e("a",P,[o("http://localhost:3000"),t(n)])]),R]),e("tr",null,[e("td",null,[e("a",T,[o("http://localhost:8081"),t(n)])]),C]),e("tr",null,[e("td",null,[e("a",S,[o("http://localhost:6006"),t(n)])]),A]),e("tr",null,[e("td",null,[e("a",N,[o("http://localhost:3001"),t(n)])]),M]),e("tr",null,[e("td",null,[e("a",q,[o("http://localhost:8082"),t(n)])]),H]),e("tr",null,[e("td",null,[e("a",I,[o("http://localhost:6007"),t(n)])]),V]),e("tr",null,[e("td",null,[e("a",G,[o("http://localhost:4000/graphql"),t(n)])]),Q]),e("tr",null,[e("td",null,[e("a",U,[o("http://localhost:4000/playground"),t(n)])]),Y]),e("tr",null,[e("td",null,[e("a",J,[o("http://localhost:8083"),t(n)])]),O]),e("tr",null,[e("td",null,[e("a",z,[o("http://localhost:8080"),t(n)])]),K])])]),W])}const ne=c(p,[["render",X],["__file","index.html.vue"]]),oe=JSON.parse('{"path":"/","title":"Dreammall.earth","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Modules","slug":"modules","link":"#modules","children":[]},{"level":2,"title":"Deploy","slug":"deploy","link":"#deploy","children":[]},{"level":2,"title":"Commands","slug":"commands","link":"#commands","children":[]},{"level":2,"title":"Docker","slug":"docker","link":"#docker","children":[]},{"level":2,"title":"How to release","slug":"how-to-release","link":"#how-to-release","children":[]},{"level":2,"title":"Update","slug":"update","link":"#update","children":[]},{"level":2,"title":"External Tools","slug":"external-tools","link":"#external-tools","children":[]},{"level":2,"title":"License","slug":"license","link":"#license","children":[]}],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"README.md"}');export{ne as comp,oe as data}; diff --git a/assets/index.html-YDzExJ6O.js b/assets/index.html-YDzExJ6O.js new file mode 100644 index 0000000000..59ba3097e8 --- /dev/null +++ b/assets/index.html-YDzExJ6O.js @@ -0,0 +1,66 @@ +import{_ as l,r as i,o,c as d,a as n,b as s,d as a,e as t}from"./app-DvhWSl6p.js";const c={},r=t(`

Deployment

This document describes how to prepare a host to deploy from a specific branch and optionally to update when a push happens to that branch.

All instructions are for an Alpine 3.18 and require adjustment if a different system is used.

Update the system

apk update
+apk upgrade
+

Install Software

Install nginx:

apk add nginx
+rc-update add nginx boot
+service nginx start
+

Install node & npm:

apk add nodejs npm
+

Install pm2:

npm install pm2 -g
+pm2 startup
+rc-update add pm2 boot
+

Install git:

apk add git
+

Install mariadb:

apk add mysql mysql-client
+service mariadb setup
+rc-update add mariadb boot
+# allow access from network
+vi /etc/my.cnf.d/mariadb-server.cnf
+# comment out \`skip-networking\`
+# add \`bind-address = localhost\`
+service mariadb start
+

Install the project

Clone the repository:

cd /var/www/localhost/htdocs/
+git clone https://github.com/dreammall-earth/dreammall.earth.git
+cd dreammall.earth
+

Configure nginx:

# replace nginx config
+cp -f deployment/nginx/default.conf /etc/nginx/http.d/default.conf
+# adjust the nginx config accordingly
+vi /etc/nginx/http.d/default.conf
+# frontend nginx config
+cp deployment/nginx/frontend.conf /etc/nginx/http.d/frontend.conf
+# adjust the frontend nginx config accordingly
+vi /etc/nginx/http.d/frontend.conf
+# note: replace log paths according to your installation directory
+service nginx restart
+

Create Database User:

mysql
+
CREATE USER 'dreammall'@'localhost' IDENTIFIED BY 'SECRET';
+GRANT ALL PRIVILEGES ON * . * TO 'dreammall'@'localhost';
+FLUSH PRIVILEGES;
+exit
+

Configure database connection:

cp backend/.env.dist backend/.env
+# adjust the .env config as needed
+vi backend/.env
+# DATABASE_URL="mysql://dreammall:SECRET@localhost:3306/dreammall.earth"
+

Configure backend connection:

cp presenter/.env.dist presenter/.env
+# adjust the .env config as needed
+vi presenter/.env
+# PUBLIC_ENV__ENDPOINTS__GRAPHQL_URI=http://localhost/api
+
+## Deploy the project
+
+To deploy the project run
+\`\`\`bash
+deployment/deploy.sh
+

This will build all projects parts and start a pm2 instance to serve the corresponding services currently defined in the nginx config found in deployment/nginx/default.conf.

Those services are:

`,30),p=n("thead",null,[n("tr",null,[n("th",null,"Service"),n("th",null,"URL")])],-1),u=n("td",null,"presenter",-1),h={href:"https://host/",target:"_blank",rel:"noopener noreferrer"},m=n("td",null,"backend",-1),v={href:"https://host/api",target:"_blank",rel:"noopener noreferrer"},b=n("td",null,"docs",-1),k={href:"https://host/docs",target:"_blank",rel:"noopener noreferrer"},g=n("td",null,"webhooks (optional)",-1),f={href:"https://host/hooks/",target:"_blank",rel:"noopener noreferrer"},_=t(`

(Optional) Webhook to auto update

To enable autoupdate from a github branch do the following:

Install webhook:

apk add webhook
+

Configure webhook:

cp deployment/webhooks/hooks.json.template deployment/webhooks/hooks.json
+vi deployment/webhooks/hooks.json
+# adjust content of .github/webhooks/hooks.json
+# replace all variables accordingly
+
+# copy webhook service file
+cp deployment/init.d/webhook.template /etc/init.d/webhook
+vi /etc/init.d/webhook
+# adjust content of /etc/init.d/webhook
+chmod +x /etc/init.d/webhook
+
+# start the webhook service
+rc-update add webhook boot
+service webhook start
+

In github configure a webhook pointing to the correct url with the following setting:

`,7),y=n("thead",null,[n("tr",null,[n("th",null,"Field"),n("th",null,"Value")])],-1),w=n("td",null,"Payload URL",-1),x={href:"https://host/hooks/github",target:"_blank",rel:"noopener noreferrer"},E=n("tr",null,[n("td",null,"Content type"),n("td",null,"application/json")],-1),j=n("tr",null,[n("td",null,"Secret"),n("td",null,"A SECRET")],-1),I=n("tr",null,[n("td",null,"SSL verification"),n("td",null,"Enable SSL verification")],-1),S=n("tr",null,[n("td",null,"Which events would you like to trigger this webhook?"),n("td",null,"Send me everything.")],-1),R=n("tr",null,[n("td",null,"Active"),n("td",null,"[x]")],-1),T=n("p",null,"Remark: Be aware that you need to restart webhook if you change the configuration in hooks.json e.g. when changing the branch to listen to.",-1);function L(C,A){const e=i("ExternalLinkIcon");return o(),d("div",null,[r,n("table",null,[p,n("tbody",null,[n("tr",null,[u,n("td",null,[n("a",h,[s("https://host/"),a(e)])])]),n("tr",null,[m,n("td",null,[n("a",v,[s("https://host/api"),a(e)])])]),n("tr",null,[b,n("td",null,[n("a",k,[s("https://host/docs"),a(e)])])]),n("tr",null,[g,n("td",null,[n("a",f,[s("https://host/hooks/"),a(e)])])])])]),_,n("table",null,[y,n("tbody",null,[n("tr",null,[w,n("td",null,[n("a",x,[s("https://host/hooks/github"),a(e)])])]),E,j,I,S,R])]),T])}const N=l(c,[["render",L],["__file","index.html.vue"]]),U=JSON.parse('{"path":"/deployment/","title":"Deployment","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Update the system","slug":"update-the-system","link":"#update-the-system","children":[]},{"level":2,"title":"Install Software","slug":"install-software","link":"#install-software","children":[]},{"level":2,"title":"Install the project","slug":"install-the-project","link":"#install-the-project","children":[]},{"level":2,"title":"(Optional) Webhook to auto update","slug":"optional-webhook-to-auto-update","link":"#optional-webhook-to-auto-update","children":[]}],"git":{"updatedTime":1713376945000,"contributors":[{"name":"Hannes Heine","email":"heine.hannes@gmail.com","commits":1}]},"filePathRelative":"deployment/README.md"}');export{N as comp,U as data}; diff --git a/assets/style-C3ozQjM4.css b/assets/style-C3ozQjM4.css new file mode 100644 index 0000000000..5ee0f6b4f3 --- /dev/null +++ b/assets/style-C3ozQjM4.css @@ -0,0 +1 @@ +.vp-back-to-top-button{position:fixed!important;bottom:4rem;inset-inline-end:1rem;z-index:100;width:48px;height:48px;padding:8px;border-width:0;border-radius:50%;background:var(--back-to-top-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;height:100%;background:currentcolor;border-radius:50%;-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M512%20843.2c-36.2%200-66.4-13.6-85.8-21.8-10.8-4.6-22.6%203.6-21.8%2015.2l7%20102c.4%206.2%207.6%209.4%2012.6%205.6l29-22c3.6-2.8%209-1.8%2011.4%202l41%2064.2c3%204.8%2010.2%204.8%2013.2%200l41-64.2c2.4-3.8%207.8-4.8%2011.4-2l29%2022c5%203.8%2012.2.6%2012.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6%208.2-49.6%2021.8-85.8%2021.8'/%3e%3cpath%20d='m795.4%20586.2-96-98.2C699.4%20172%20513%2032%20513%2032S324.8%20172%20324.8%20488l-96%2098.2c-3.6%203.6-5.2%209-4.4%2014.2L261.2%20824c1.8%2011.4%2014.2%2017%2023.6%2010.8L419%20744s41.4%2040%2094.2%2040%2092.2-40%2092.2-40l134.2%2090.8c9.2%206.2%2021.6.6%2023.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14M513%20384c-34%200-61.4-28.6-61.4-64s27.6-64%2061.4-64c34%200%2061.4%2028.6%2061.4%2064S547%20384%20513%20384'/%3e%3c/svg%3e");--back-to-top-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover .vp-copy-code-button{opacity:1}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-hover)}.vp-copy-code-button.copied .vp-copy-icon{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.vp-copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-color);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202'%20/%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202m-6%209%202%202%204-4'%20/%3e%3c/svg%3e");--copy-code-color: #9e9e9e;--copy-code-hover: rgb(0 0 0 / 50%)}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--medium-zoom-z-index: 100;--medium-zoom-bg-color: #ffffff;--medium-zoom-opacity: 1}.medium-zoom-overlay{background-color:var(--medium-zoom-bg-color)!important;z-index:var(--medium-zoom-z-index)}.medium-zoom-overlay~img{z-index:calc(var(--medium-zoom-z-index) + 1)}.medium-zoom--opened .medium-zoom-overlay{opacity:var(--medium-zoom-opacity)}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}.vp-page-meta{max-width:var(--content-width);margin:0 auto;padding:.75rem 2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto}@media (max-width: 959px){.vp-page-meta{padding:2rem}}@media (max-width: 419px){.vp-page-meta{padding:1.5rem}}@media print{.vp-page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--c-text-lighter)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--c-text-quote);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.vp-page-meta .last-updated,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .last-updated,.vp-page-meta .contributors{font-size:13px;text-align:start}}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-inline:auto;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--c-border);transition:border-top var(--t-color);padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-nav{padding-inline:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .route-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--c-border);border-radius:.25rem}.vp-page-nav .route-link:hover{background:var(--c-bg-light)}.vp-page-nav .route-link .hint{color:var(--c-text-quote);font-size:.875rem;line-height:2}.vp-page-nav .prev{text-align:start}.vp-page-nav .next{text-align:end}:root{--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--c-bg: #ffffff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eeeeee;--c-bg-dark: #ebebec;--c-bg-darker: #e6e6e6;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #cccccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #42b983;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #ffc310;--c-warning-bg: #fffae3;--c-warning-bg-light: #fff3ba;--c-warning-bg-lighter: #fff0b0;--c-warning-border-dark: #f7dc91;--c-warning-details-bg: #fff5ca;--c-warning-title: #f1b300;--c-warning-text: #746000;--c-warning-text-accent: #edb100;--c-warning-text-light: #c1971c;--c-warning-text-quote: #ccab49;--c-danger: #f11e37;--c-danger-bg: #ffe0e0;--c-danger-bg-light: #ffcfde;--c-danger-bg-lighter: #ffc9c9;--c-danger-border-dark: #f1abab;--c-danger-details-bg: #ffd4d4;--c-danger-title: #ed1e2c;--c-danger-text: #660000;--c-danger-text-accent: #bd1a1a;--c-danger-text-light: #b5474d;--c-danger-text-quote: #c15b5b;--c-details-bg: #eeeeee;--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--c-bg);--c-code-group-tab-title: rgba(255, 255, 255, .9);--c-code-group-tab-bg: var(--code-bg-color);--c-code-group-tab-outline: var(var(--c-code-group-tab-title));--c-code-group-tab-active-border: var(--c-brand);--t-color: .3s ease;--t-transform: .3s ease;--code-bg-color: #282c34;--code-hl-bg-color: rgba(0, 0, 0, .66);--code-ln-color: #9e9e9e;--code-ln-wrapper-width: 3.5rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-code: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 740px;--homepage-width: 960px}.vp-back-to-top-button{--back-to-top-color: var(--c-brand);--back-to-top-color-hover: var(--c-brand-light);--back-to-top-bg-color: var(--c-bg)}.vp-catalog-wrapper{--catalog-bg-color: var(--c-bg);--catalog-bg-secondary-color: var(--c-bg-dark);--catalog-border-color: var(--c-border);--catalog-active-color: var(--c-brand);--catalog-hover-color: var(--c-brand-light)}.waline-wrapper{--waline-bg-color: var(--c-bg);--waline-bg-color-light: var(--c-bg-light);--waline-text-color: var(--c-color);--waline-border: 1px solid var(--c-border);--waline-border-color: var(--c-border);--waline-theme-color: var(--c-brand);--waline-active-color: var(--c-brand-light)}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-text-color: var(--c-text);--docsearch-highlight-color: var(--c-brand);--docsearch-muted-color: var(--c-text-quote);--docsearch-container-background: rgba(9, 10, 17, .8);--docsearch-modal-background: var(--c-bg-light);--docsearch-searchbox-background: var(--c-bg-lighter);--docsearch-searchbox-focus-background: var(--c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--c-brand);--docsearch-hit-color: var(--c-text-light);--docsearch-hit-active-color: var(--c-bg);--docsearch-hit-background: var(--c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--c-border-dark);--docsearch-footer-background: var(--c-bg)}.external-link-icon{--external-link-icon-color: var(--c-text-quote)}.medium-zoom-overlay{--medium-zoom-bg-color: var(--c-bg)}#nprogress{--nprogress-color: var(--c-brand)}body{--photo-swipe-bullet: var(--c-bg);--photo-swipe-bullet-active: var(--c-brand)}body{--pwa-text-color: var(--c-text);--pwa-bg-color: var(--c-bg);--pwa-border-color: var(--c-brand);--pwa-btn-text-color: var(--c-bg);--pwa-btn-bg-color: var(--c-brand);--pwa-btn-hover-bg-color: var(--c-brand-light)}.language-modal-mask{--redirect-bg-color: var(--c-bg);--redirect-bg-color-light: var(--c-bg-light);--redirect-bg-color-lighter: var(--c-bg-lighter);--redirect-text-color: var(--c-text);--redirect-primary-color: var(--c-brand);--redirect-primary-hover-color: var(--c-brand-light);--redirect-primary-text-color: var(--c-bg)}.search-box{--search-bg-color: var(--c-bg);--search-accent-color: var(--c-brand);--search-text-color: var(--c-text);--search-border-color: var(--c-border);--search-item-text-color: var(--c-text-lighter);--search-item-focus-bg-color: var(--c-bg-light)}html.dark{--c-brand: #3aa675;--c-brand-light: #349469;--c-bg: #22272e;--c-bg-light: #2b313a;--c-bg-lighter: #262c34;--c-bg-dark: #343b44;--c-bg-darker: #37404c;--c-text: #adbac7;--c-text-light: #96a7b7;--c-text-lighter: #8b9eb0;--c-text-lightest: #8094a8;--c-border: #3e4c5a;--c-border-dark: #34404c;--c-tip: #318a62;--c-warning: #e0ad15;--c-warning-bg: #2d2f2d;--c-warning-bg-light: #423e2a;--c-warning-bg-lighter: #44442f;--c-warning-border-dark: #957c35;--c-warning-details-bg: #39392d;--c-warning-title: #fdca31;--c-warning-text: #d8d96d;--c-warning-text-accent: #ffbf00;--c-warning-text-light: #ddb84b;--c-warning-text-quote: #ccab49;--c-danger: #fc1e38;--c-danger-bg: #39232c;--c-danger-bg-light: #4b2b35;--c-danger-bg-lighter: #553040;--c-danger-border-dark: #a25151;--c-danger-details-bg: #482936;--c-danger-title: #fc2d3b;--c-danger-text: #ea9ca0;--c-danger-text-accent: #fd3636;--c-danger-text-light: #d9777c;--c-danger-text-quote: #d56b6b;--c-details-bg: #323843;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416;--code-hl-bg-color: #363b46}html.dark .DocSearch{--docsearch-logo-color: var(--c-text);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgba(3, 4, 9, .3);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgba(73, 76, 106, .5), 0 -4px 8px 0 rgba(0, 0, 0, .2)}html.dark body{--pwa-shadow-color: rgb(0 0 0 / 30%);--pwa-content-color: #ccc;--pwa-content-light-color: #999}html,body{padding:0;margin:0;background-color:var(--c-bg);transition:background-color var(--t-color)}html.dark{color-scheme:dark}html{font-size:16px}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;color:var(--c-text)}a{font-weight:500;color:var(--c-text-accent);text-decoration:none;overflow-wrap:break-word}p a code{font-weight:400;color:var(--c-text-accent)}kbd{font-family:var(--font-family-code);color:var(--c-text);background:var(--c-bg-lighter);border:solid .15rem var(--c-border-dark);border-bottom:solid .25rem var(--c-border-dark);border-radius:.15rem;padding:0 .15em}code{font-family:var(--font-family-code);color:var(--c-text-lighter);padding:.25rem .5rem;margin:0;font-size:.85em;background-color:var(--c-bg-light);border-radius:3px;overflow-wrap:break-word;transition:background-color var(--t-color)}blockquote{font-size:1rem;color:var(--c-text-quote);border-left:.2rem solid var(--c-border-dark);margin:1rem 0;padding:.25rem 0 .25rem 1rem;overflow-wrap:break-word}blockquote>p{margin:0}ul,ol{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1 .header-anchor,h2 .header-anchor,h3 .header-anchor,h4 .header-anchor,h5 .header-anchor,h6 .header-anchor{color:inherit;text-decoration:none;position:relative}h1 .header-anchor:hover:before,h2 .header-anchor:hover:before,h3 .header-anchor:hover:before,h4 .header-anchor:hover:before,h5 .header-anchor:hover:before,h6 .header-anchor:hover:before{font-size:.8em;content:"¶";position:absolute;left:-.75em;color:var(--c-brand)}h1 .header-anchor:focus-visible,h2 .header-anchor:focus-visible,h3 .header-anchor:focus-visible,h4 .header-anchor:focus-visible,h5 .header-anchor:focus-visible,h6 .header-anchor:focus-visible{outline:none}h1 .header-anchor:focus-visible:before,h2 .header-anchor:focus-visible:before,h3 .header-anchor:focus-visible:before,h4 .header-anchor:focus-visible:before,h5 .header-anchor:focus-visible:before,h6 .header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);outline:auto}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid var(--c-border);transition:border-color var(--t-color)}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}@media print{a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}}p,ul,ol{line-height:1.7;overflow-wrap:break-word}hr{border:0;border-top:1px solid var(--c-border)}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto;transition:border-color var(--t-color)}tr{border-top:1px solid var(--c-border-dark);transition:border-color var(--t-color)}tr:nth-child(2n){background-color:var(--c-bg-light);transition:background-color var(--t-color)}tr:nth-child(2n) code{background-color:var(--c-bg-dark)}th,td{padding:.6em 1em;border:1px solid var(--c-border-dark);transition:border-color var(--t-color)}.arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html.dark .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.arrow.down{transform:rotate(180deg)}.arrow.right{transform:rotate(90deg)}.arrow.left{transform:rotate(-90deg)}.badge{display:inline-block;font-size:14px;font-weight:600;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:var(--c-bg);vertical-align:top;transition:color var(--t-color),background-color var(--t-color)}.badge.tip{background-color:var(--c-badge-tip)}.badge.warning{background-color:var(--c-badge-warning);color:var(--c-badge-warning-text)}.badge.danger{background-color:var(--c-badge-danger);color:var(--c-badge-danger-text)}.badge+.badge{margin-left:5px}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:var(--font-family-code);font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#ec5975}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.375;padding:1.3rem 1.5rem;margin:.85rem 0;border-radius:6px;overflow:auto}.theme-default-content pre code,.theme-default-content pre[class*=language-] code{color:#fff;padding:0;background-color:transparent!important;border-radius:0;overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.theme-default-content .line-number{font-family:var(--font-family-code)}div[class*=language-]{position:relative;background-color:var(--code-bg-color);border-radius:6px}div[class*=language-]:before{content:attr(data-title);position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:var(--code-ln-color)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent!important;position:relative;z-index:1}div[class*=language-] .highlight-lines{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.375}div[class*=language-] .highlight-lines .highlight-line{background-color:var(--code-hl-bg-color)}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line:before{content:" ";position:absolute;z-index:2;left:0;top:0;display:block;width:var(--code-ln-wrapper-width);height:100%}div[class*=language-].line-numbers-mode pre{margin-left:var(--code-ln-wrapper-width);padding-left:1rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;width:var(--code-ln-wrapper-width);text-align:center;color:var(--code-ln-color);padding-top:1.25rem;line-height:1.375;counter-reset:line-number}div[class*=language-].line-numbers-mode .line-numbers .line-number{position:relative;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none;height:1.375em}div[class*=language-].line-numbers-mode .line-numbers .line-number:before{counter-increment:line-number;content:counter(line-number);font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-ln-wrapper-width);height:100%;border-radius:6px 0 0 6px;border-right:1px solid var(--code-hl-bg-color)}@media (max-width: 419px){.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.code-group__nav{margin-top:.85rem;margin-bottom:calc(-1.7rem - 6px);padding-bottom:calc(1.7rem - 6px);padding-left:10px;padding-top:10px;border-top-left-radius:6px;border-top-right-radius:6px;background-color:var(--c-code-group-tab-bg)}.code-group__nav-tab{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:var(--c-code-group-tab-title);font-weight:600}.code-group__nav-tab:focus{outline:none}.code-group__nav-tab:focus-visible{outline:1px solid var(--c-code-group-tab-outline)}.code-group__nav-tab-active{border-bottom:var(--c-code-group-tab-active-border) 1px solid}@media (max-width: 419px){.code-group__nav{margin-left:-1.5rem;margin-right:-1.5rem;border-radius:0}}.code-group-item{display:none}.code-group-item__active{display:block}.code-group-item>pre{background-color:orange}.custom-container{transition:color var(--t-color),border-color var(--t-color),background-color var(--t-color)}.custom-container .custom-container-title{font-weight:600}.custom-container .custom-container-title:not(:only-child){margin-bottom:-.4rem}.custom-container.tip,.custom-container.warning,.custom-container.danger{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-container.tip{border-color:var(--c-tip);background-color:var(--c-tip-bg);color:var(--c-tip-text)}.custom-container.tip .custom-container-title{color:var(--c-tip-title)}.custom-container.tip a{color:var(--c-tip-text-accent)}.custom-container.tip code{background-color:var(--c-bg-dark)}.custom-container.warning{border-color:var(--c-warning);background-color:var(--c-warning-bg);color:var(--c-warning-text)}.custom-container.warning .custom-container-title{color:var(--c-warning-title)}.custom-container.warning a{color:var(--c-warning-text-accent)}.custom-container.warning blockquote{border-left-color:var(--c-warning-border-dark);color:var(--c-warning-text-quote)}.custom-container.warning code{color:var(--c-warning-text-light);background-color:var(--c-warning-bg-light)}.custom-container.warning details{background-color:var(--c-warning-details-bg)}.custom-container.warning details code{background-color:var(--c-warning-bg-lighter)}.custom-container.warning .external-link-icon{--external-link-icon-color: var(--c-warning-text-quote)}.custom-container.danger{border-color:var(--c-danger);background-color:var(--c-danger-bg);color:var(--c-danger-text)}.custom-container.danger .custom-container-title{color:var(--c-danger-title)}.custom-container.danger a{color:var(--c-danger-text-accent)}.custom-container.danger blockquote{border-left-color:var(--c-danger-border-dark);color:var(--c-danger-text-quote)}.custom-container.danger code{color:var(--c-danger-text-light);background-color:var(--c-danger-bg-light)}.custom-container.danger details{background-color:var(--c-danger-details-bg)}.custom-container.danger details code{background-color:var(--c-danger-bg-lighter)}.custom-container.danger .external-link-icon{--external-link-icon-color: var(--c-danger-text-quote)}.custom-container.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:var(--c-details-bg)}.custom-container.details code{background-color:var(--c-bg-darker)}.custom-container.details h4{margin-top:0}.custom-container.details figure:last-child,.custom-container.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-container.details summary{outline:none;cursor:pointer}.home{padding:var(--navbar-height) 2rem 0;max-width:var(--homepage-width);margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.8rem auto}.home .hero .actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:var(--c-text-lightest)}.home .hero .action-button{display:inline-block;font-size:1.2rem;padding:.8rem 1.6rem;border-width:2px;border-style:solid;border-radius:4px;transition:background-color var(--t-color);box-sizing:border-box}.home .hero .action-button.primary{color:var(--c-bg);background-color:var(--c-brand);border-color:var(--c-brand)}.home .hero .action-button.primary:hover{background-color:var(--c-brand-light)}.home .hero .action-button.secondary{color:var(--c-brand);background-color:var(--c-bg);border-color:var(--c-brand)}.home .hero .action-button.secondary:hover{color:var(--c-bg);background-color:var(--c-brand-light)}.home .features{border-top:1px solid var(--c-border);transition:border-color var(--t-color);padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:var(--c-text-light)}.home .feature p{color:var(--c-text-lighter)}.home .theme-default-content{padding:0;margin:0}.home .footer{padding:2.5rem;border-top:1px solid var(--c-border);text-align:center;color:var(--c-text-lighter);transition:border-color var(--t-color)}@media (max-width: 719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width: 419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.page{padding-top:var(--navbar-height);padding-left:var(--sidebar-width)}.navbar{position:fixed;z-index:20;top:0;left:0;right:0;height:var(--navbar-height);box-sizing:border-box;border-bottom:1px solid var(--c-border);background-color:var(--c-bg-navbar);transition:background-color var(--t-color),border-color var(--t-color)}.sidebar{font-size:16px;width:var(--sidebar-width);position:fixed;z-index:10;margin:0;top:var(--navbar-height);left:0;bottom:0;box-sizing:border-box;border-right:1px solid var(--c-border);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-brand) var(--c-border);background-color:var(--c-bg-sidebar);transition:transform var(--t-transform),background-color var(--t-color),border-color var(--t-color)}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background-color:var(--c-border)}.sidebar::-webkit-scrollbar-thumb{background-color:var(--c-brand)}.sidebar-mask{position:fixed;z-index:9;top:0;left:0;width:100vw;height:100vh;display:none}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(5.5px,5.5px,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(6px,-6px,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1),.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.theme-container.no-navbar .theme-default-content h1,.theme-container.no-navbar .theme-default-content h2,.theme-container.no-navbar .theme-default-content h3,.theme-container.no-navbar .theme-default-content h4,.theme-container.no-navbar .theme-default-content h5,.theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .page{padding-top:0}.theme-container.no-navbar .sidebar{top:0}.theme-container.no-sidebar .sidebar{display:none}@media (max-width: 719px){.theme-container.no-sidebar .sidebar{display:block}}.theme-container.no-sidebar .page{padding-left:0}.theme-default-content a:not(.header-anchor):hover{text-decoration:underline}.theme-default-content img{max-width:100%}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{margin-top:calc(.5rem - var(--navbar-height));padding-top:calc(1rem + var(--navbar-height));margin-bottom:0}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 959px){.sidebar{font-size:15px;width:var(--sidebar-width-mobile)}.page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translate(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width: 419px){h1{font-size:1.9rem}}#vp-comment{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){#vp-comment{padding:2rem}}@media (max-width: 419px){#vp-comment{padding:1.5rem}}.navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );padding:var(--navbar-padding-v) var(--navbar-padding-h);line-height:var(--navbar-line-height)}.navbar .logo{height:var(--navbar-line-height);margin-right:var(--navbar-padding-v);vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:var(--c-text);position:relative}.navbar .navbar-items-wrapper{display:flex;position:absolute;box-sizing:border-box;top:var(--navbar-padding-v);right:var(--navbar-padding-h);height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);white-space:nowrap;font-size:.9rem}.navbar .navbar-items-wrapper .search-box{flex:0 0 auto;vertical-align:top}@media screen and (max-width: 719px){.navbar{padding-left:4rem}.navbar .site-name{display:block;width:calc(100vw - 11rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.navbar .can-hide{display:none}}.navbar-items{display:inline-block}@media print{.navbar-items{display:none}}.navbar-items a{display:inline-block;line-height:1.4rem;color:inherit}.navbar-items a:hover,.navbar-items a.route-link-active{color:var(--c-text)}.navbar-items .navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}.navbar-items .navbar-item:first-child{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.route-link-active{margin-bottom:-2px;border-bottom:2px solid var(--c-text-accent)}@media (max-width: 719px){.navbar-items .navbar-item{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.route-link-active{margin-bottom:0;border-bottom:none}.navbar-items a:hover,.navbar-items a.route-link-active{color:var(--c-text-accent)}}.toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}.toggle-sidebar-button .icon{display:flex;flex-direction:column;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;cursor:inherit}.toggle-sidebar-button .icon span{display:inline-block;width:100%;height:2px;border-radius:2px;background-color:var(--c-text);transition:transform var(--t-transform)}.toggle-sidebar-button .icon span:nth-child(2){margin:6px 0}@media screen and (max-width: 719px){.toggle-sidebar-button{display:block}}.toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--c-text);opacity:.8;cursor:pointer}@media print{.toggle-color-mode-button{display:none}}.toggle-color-mode-button:hover{opacity:1}.toggle-color-mode-button .icon{width:1.25rem;height:1.25rem}.DocSearch{transition:background-color var(--t-color)}.navbar-dropdown-wrapper{cursor:pointer}.navbar-dropdown-wrapper .navbar-dropdown-title,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:var(--c-text)}.navbar-dropdown-wrapper .navbar-dropdown-title:hover,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{border-color:transparent}.navbar-dropdown-wrapper .navbar-dropdown-title .arrow,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:none;font-weight:600;font-size:inherit}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item{color:inherit;line-height:1.7rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{margin:.45rem 0 0;border-top:1px solid var(--c-border);padding:1rem 0 .45rem;font-size:.9rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a{font-weight:inherit}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a.route-link-active:after{display:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper .navbar-dropdown-subitem{font-size:.9em}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a:hover,.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.route-link-active{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.route-link-active:after{content:"";width:0;height:0;border-left:5px solid var(--c-text-accent);border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item:first-child .navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title-mobile{margin-bottom:.5rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:none}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:block}.navbar-dropdown-wrapper.mobile .navbar-dropdown{transition:height .1s ease-out;overflow:hidden}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{border-top:0;margin-top:0;padding-top:0;padding-bottom:0}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle,.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item>a{font-size:15px;line-height:2rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem{font-size:14px;padding-left:1rem}.navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.navbar-dropdown-wrapper:not(.mobile):hover .navbar-dropdown,.navbar-dropdown-wrapper:not(.mobile).open .navbar-dropdown{display:block!important}.navbar-dropdown-wrapper:not(.mobile).open:blur{display:none}.navbar-dropdown-wrapper:not(.mobile) .navbar-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:var(--c-bg-navbar);padding:.6rem 0;border:1px solid var(--c-border);border-bottom-color:var(--c-border-dark);text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}.page{padding-bottom:2rem;display:block}.page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.page .theme-default-content{padding:2rem}}@media (max-width: 419px){.page .theme-default-content{padding:1.5rem}}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .navbar-items{display:none;border-bottom:1px solid var(--c-border);transition:border-color var(--t-color);padding:.5rem 0 .75rem}.sidebar .navbar-items a{font-weight:600}.sidebar .navbar-items .navbar-item{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar .sidebar-items{padding:1.5rem 0}@media (max-width: 719px){.sidebar .navbar-items{display:block}.sidebar .navbar-items .navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.route-link-active:after{top:calc(1rem - 2px)}.sidebar .sidebar-items{padding:1rem 0}}.sidebar-item{cursor:default;border-left:.25rem solid transparent;color:var(--c-text)}.sidebar-item:focus-visible{outline-width:1px;outline-offset:-1px}.sidebar-item.active:not(p.sidebar-heading){font-weight:600;color:var(--c-text-accent);border-left-color:var(--c-text-accent)}.sidebar-item.sidebar-heading{transition:color .15s ease;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0}.sidebar-item.sidebar-heading+.sidebar-item-children{transition:height .1s ease-out;overflow:hidden;margin-bottom:.75rem}.sidebar-item.collapsible{cursor:pointer}.sidebar-item.collapsible .arrow{position:relative;top:-.12em;left:.5em}.sidebar-item:not(.sidebar-heading){font-size:1em;font-weight:400;display:inline-block;margin:0;padding:.35rem 1rem .35rem 2rem;line-height:1.4;width:100%;box-sizing:border-box}.sidebar-item:not(.sidebar-heading)+.sidebar-item-children{padding-left:1rem;font-size:.95em}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading).active{font-weight:500;border-left-color:transparent}a.sidebar-heading+.sidebar-item-children .sidebar-item:not(.sidebar-heading).active{border-left-color:transparent}a.sidebar-item{cursor:pointer}a.sidebar-item:hover{color:var(--c-text-accent)}.table-of-contents .badge{vertical-align:middle}.dropdown-enter-from,.dropdown-leave-to{height:0!important}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{transform:translateY(10px);opacity:0} diff --git a/authentik/index.html b/authentik/index.html new file mode 100644 index 0000000000..80271f5d7c --- /dev/null +++ b/authentik/index.html @@ -0,0 +1,40 @@ + + + + + + + + + Authentik | Dreammall.earth Documentation + + + + + +

Authentik

This is an Authentik setup for development in order to make local testing for production behaviour as easy as possible including the authentication mechanisms.

Preperation

This package comes with an preconfigured authentic - which has its data mainly residing in a postgress database. The contents of this database is available in packed form.

To extract the database use:

./database.unpack.sh
+

(Note: make sure the database is not running before executing this command)

Alternatively you can not extract the database, which will start the service with an empty database. Use the Docker Guideopen in new window from Authentik to get you going then.

Start Docker

To start the authentik server and its services run:

docker compose up
+

(Note: make sure to run this command in the authentik folder, since there is another docker-compose setup in the main folder)

User Credentials

You can navigate to the now running authentik by opening http://localhost:9000open in new window.

To login you can use the superadmins credentials:

descriptionvalue
usernameakadmin
emailadmin@dreammall.earth
passworddreammall

Publish changes

If you want to publish changes to the database you can use the following command to pack the database:

./database.pack.sh
+

(Note: this assumes you are not root and sets the permissions of the database files via sudo) (Note: make sure to shut down the database first before you run the script)

Last Updated:
Contributors: Hannes Heine
+ + + diff --git a/backend/LICENSE.html b/backend/LICENSE.html new file mode 100644 index 0000000000..0a8c2a82fd --- /dev/null +++ b/backend/LICENSE.html @@ -0,0 +1,37 @@ + + + + + + + + + Dreammall.earth Documentation + + + + + +

404

Looks like we've got some broken links.
Take me home
+ + + diff --git a/backend/index.html b/backend/index.html new file mode 100644 index 0000000000..5af6b1cbe0 --- /dev/null +++ b/backend/index.html @@ -0,0 +1,50 @@ + + + + + + + + + Dreammall Backend | Dreammall.earth Documentation + + + + + +

Dreammall Backend

nodejsopen in new windownpmopen in new windowdockeropen in new windowapollo-serveropen in new windowgraphqlopen in new windowtype-graphqlopen in new windowprismaopen in new windoweslintopen in new windowremark-cliopen in new windowjestopen in new windowvuepressopen in new window

The Dreammall backend.

Requirements & Technology

To be able to build this project you need nodejs, npm and optional docker.

The project sets up an apollo server. It uses type-graphql.

Commands

The following commands are available:

CommandDescription
npm installProject setup
npm run buildCompiles and minifies for production
npm run startRuns productions server
Develop
npm run devCompiles and hot-reloads for development
Database
npm run db:migrateCreates and executes migrations needed
npm run db:resetDrops Schema, run all migrations and seeds
npm run db:seedRun the seeds
Test
npm run test:lintRun all linters
npm run test:lint:eslintRun linter eslint
npm run test:lint:remarkRun linter remark
npm run test:unitRun all unit tests and generate coverage report
npm testRun all tests & linters
Documentation
npm run docs:devRun Documentation in development mode
npm run docs:buildBuild static documentation
Maintenance
npm run updateCheck for updates

Docker

Docker can be run in development mode utilizing docker-compose.overwrite.yml:

docker compose up
+

Docker can be run in production mode:

docker compose -f docker-compose.yml up
+

Update

You can get a list of packes to update by running npm run update.

Appending -u will also update the packages in the package.json. You have to run npm install again after.

npm run update -- -u
+npm install
+

Endpoints

The following endpoints are provided given the right command is executed or all three if docker compose is used:

EndpointDescription
http://localhost:4000/graphqlopen in new windowGraphQL API
http://localhost:4000/playgroundopen in new windowGraphQL Playground

How to use as part of a project

If you want to use this as part of a larger project, e.g. in conjunction with a frontend also utilizing a boilerplate you cannot use the template mechanic provided by github for this repository.

You can use the following commands to include the whole git history of the boilerplate and be able to update according to changes to this repo using another remote.

git remote add xxx_boilerplate_backend git@github.com:IT4Change/boilerplate-backend.git
+git fetch xxx_boilerplate_backend
+git merge -s ours --no-commit --allow-unrelated-histories xxx_boilerplate_backend/master
+git read-tree --prefix=xxx/ -u xxx_boilerplate_backend/master
+git commit -m "Imported boilerplate_backend as a subtree under xxx/."
+

To update the subtree you can use

git subtree pull -P xxx/ xxx_boilerplate_backend master
+git commit -m "Updated boilerplate_backend in subtree under xxx/."
+

Where xxx refers to the folder and product part you want to use the boilerplate in. This assumes that you might need several copies of the frontend boilerplate for you product.

This mechanic was taken from this sourceopen in new window

Database setup

The project is set up for a mysql database. Use

docker-compose up database
+

in the main folder to run the database inside docker. You need to copy the .env.dist file to .env. Run npm run db:migrate to generate the database. It might be required to delete the migration folder beforehand.

Token validation

If you use the authentik database from the zip file, link the src/auth/public.pem to the main folder:

ln -s src/auth/public.pem public.pem
+

Otherwise place the according certificate in the main folder with the name public.pem

License

Apache 2.0

Last Updated:
Contributors: Hannes Heine
+ + + diff --git a/deployment/index.html b/deployment/index.html new file mode 100644 index 0000000000..0a69c36e81 --- /dev/null +++ b/deployment/index.html @@ -0,0 +1,102 @@ + + + + + + + + + Deployment | Dreammall.earth Documentation + + + + + +

Deployment

This document describes how to prepare a host to deploy from a specific branch and optionally to update when a push happens to that branch.

All instructions are for an Alpine 3.18 and require adjustment if a different system is used.

Update the system

apk update
+apk upgrade
+

Install Software

Install nginx:

apk add nginx
+rc-update add nginx boot
+service nginx start
+

Install node & npm:

apk add nodejs npm
+

Install pm2:

npm install pm2 -g
+pm2 startup
+rc-update add pm2 boot
+

Install git:

apk add git
+

Install mariadb:

apk add mysql mysql-client
+service mariadb setup
+rc-update add mariadb boot
+# allow access from network
+vi /etc/my.cnf.d/mariadb-server.cnf
+# comment out `skip-networking`
+# add `bind-address = localhost`
+service mariadb start
+

Install the project

Clone the repository:

cd /var/www/localhost/htdocs/
+git clone https://github.com/dreammall-earth/dreammall.earth.git
+cd dreammall.earth
+

Configure nginx:

# replace nginx config
+cp -f deployment/nginx/default.conf /etc/nginx/http.d/default.conf
+# adjust the nginx config accordingly
+vi /etc/nginx/http.d/default.conf
+# frontend nginx config
+cp deployment/nginx/frontend.conf /etc/nginx/http.d/frontend.conf
+# adjust the frontend nginx config accordingly
+vi /etc/nginx/http.d/frontend.conf
+# note: replace log paths according to your installation directory
+service nginx restart
+

Create Database User:

mysql
+
CREATE USER 'dreammall'@'localhost' IDENTIFIED BY 'SECRET';
+GRANT ALL PRIVILEGES ON * . * TO 'dreammall'@'localhost';
+FLUSH PRIVILEGES;
+exit
+

Configure database connection:

cp backend/.env.dist backend/.env
+# adjust the .env config as needed
+vi backend/.env
+# DATABASE_URL="mysql://dreammall:SECRET@localhost:3306/dreammall.earth"
+

Configure backend connection:

cp presenter/.env.dist presenter/.env
+# adjust the .env config as needed
+vi presenter/.env
+# PUBLIC_ENV__ENDPOINTS__GRAPHQL_URI=http://localhost/api
+
+## Deploy the project
+
+To deploy the project run
+```bash
+deployment/deploy.sh
+

This will build all projects parts and start a pm2 instance to serve the corresponding services currently defined in the nginx config found in deployment/nginx/default.conf.

Those services are:

ServiceURL
presenterhttps://host/open in new window
backendhttps://host/apiopen in new window
docshttps://host/docsopen in new window
webhooks (optional)https://host/hooks/open in new window

(Optional) Webhook to auto update

To enable autoupdate from a github branch do the following:

Install webhook:

apk add webhook
+

Configure webhook:

cp deployment/webhooks/hooks.json.template deployment/webhooks/hooks.json
+vi deployment/webhooks/hooks.json
+# adjust content of .github/webhooks/hooks.json
+# replace all variables accordingly
+
+# copy webhook service file
+cp deployment/init.d/webhook.template /etc/init.d/webhook
+vi /etc/init.d/webhook
+# adjust content of /etc/init.d/webhook
+chmod +x /etc/init.d/webhook
+
+# start the webhook service
+rc-update add webhook boot
+service webhook start
+

In github configure a webhook pointing to the correct url with the following setting:

FieldValue
Payload URLhttps://host/hooks/githubopen in new window
Content typeapplication/json
SecretA SECRET
SSL verificationEnable SSL verification
Which events would you like to trigger this webhook?Send me everything.
Active[x]

Remark: Be aware that you need to restart webhook if you change the configuration in hooks.json e.g. when changing the branch to listen to.

Last Updated:
Contributors: Hannes Heine
+ + + diff --git a/frontend/LICENSE.html b/frontend/LICENSE.html new file mode 100644 index 0000000000..c4fb320dd6 --- /dev/null +++ b/frontend/LICENSE.html @@ -0,0 +1,37 @@ + + + + + + + + + Dreammall.earth Documentation + + + + + +

404

There's nothing here.
Take me home
+ + + diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000000..9ffea44ab0 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,51 @@ + + + + + + + + + Dreammall Frontend | Dreammall.earth Documentation + + + + + +

Dreammall Frontend

nodejsopen in new windownpmopen in new windowdockeropen in new windowjqopen in new windowvueopen in new windowvikeopen in new windowvuetifyopen in new windowpiniaopen in new windowvue-i18nopen in new windoweslintopen in new windowremark-cliopen in new windowstylelintopen in new windowvitestopen in new windowstorybookopen in new windowvuepressopen in new windowchromaticopen in new window

The Dreammall frontend.

Requirements & Technology

To be able to build this project you need nodejs, npm and optional docker and jq.

The project uses vite as builder, vike to do the SSR. The design framework is vuetify which requires the frontend framework vue3. For localization vue-i18n is used; Session storage is handled with pinia.

Testing is done with vitest and code style is enforced with eslint, remark-cli and stylelint.

This projects utilizes storybook and chromatic to develop, document & test frontend components and vuepress for static documentation generation.

Commands

The following commands are available:

CommandDescription
npm installProject setup
npm run buildCompiles and minifies for production
npm run server:prodRuns productions server
Develop
npm run devCompiles and hot-reloads for development
npm run server:devRun development server
npm run server:prod:tsRun production server without build (ts-node)
npm run server:buildBuild Server into an executable cjs file
Test
npm run test:lintRun all linters
npm run test:lint:eslintRun linter eslint
npm run test:lint:localesRun linter locales
npm run test:lint:remarkRun linter remark
npm run test:lint:styleRun linter stylelint
npm run test:unitRun all unit tests and generate coverage report
npm run test:unit:updateRun unit tests, coverage and update snapshots
npm run test:unit:devRun all unit tests in watch mode
npm testRun all tests & linters
Storybook
npm run storybookRun Storybook
npm run storybook:buildBuild static storybook
npm run storybook:testRun tests against all storybook stories
Documentation
npm run docs:devRun Documentation in development mode
npm run docs:buildBuild static documentation
Chromatic
npm run chromaticRun Chromatic. See Chromatic section for details
Maintenance
npm run updateCheck for updates

Docker

Docker can be run in development mode utilizing docker-compose.overwrite.yml:

docker compose up
+

Docker can be run in production mode:

docker compose -f docker-compose.yml up
+

Chromatic

In order to use the chromatic workflow you need to provide a CHROMATIC_PROJECT_TOKEN in the repository secrets.

If you want to run chromatic from the command line you either have to provide this variable as well

export CHROMATIC_PROJECT_TOKEN=...
+npm run chromatic
+

or you have to append it via parameter:

npm run chromatic -- --project-token=...
+

Update

You can get a list of packes to update by running npm run update.

Appending -u will also update the packages in the package.json. You have to run npm install again after.

npm run update -- -u
+npm install
+

Endpoints

The following endpoints are provided given the right command is executed or all three if docker compose is used:

EndpointDescription
http://localhost:3000open in new windowWeb
http://localhost:6006open in new windowStorybook
http://localhost:8080open in new windowDocumentation

How to use as part of a project

If you want to use this as part of a larger project, e.g. in conjunction with a backend also utilizing a boilerplate you cannot use the template mechanic provided by github for this repository.

You can use the following commands to include the whole git history of the boilerplate and be able to update according to changes to this repo using another remote.

git remote add xxx_boilerplate_frontend git@github.com:IT4Change/boilerplate-frontend.git
+git fetch xxx_boilerplate_frontend
+git merge -s ours --no-commit --allow-unrelated-histories xxx_boilerplate_frontend/master
+git read-tree --prefix=xxx/ -u xxx_boilerplate_frontend/master
+git commit -m "Imported boilerplate_frontend as a subtree under xxx/."
+

To update the subtree you can use

git subtree pull -P xxx/ xxx_boilerplate_frontend master
+git commit -m "Updated boilerplate_frontend in subtree under xxx/."
+

Where xxx refers to the folder and product part you want to use the boilerplate in. This assumes that you might need several copies of the frontend boilerplate for you product.

This mechanic was taken from this sourceopen in new window

Known Problems

License

Apache 2.0

Last Updated:
Contributors: Hannes Heine
+ + + diff --git a/index.html b/index.html new file mode 100644 index 0000000000..4feb3e6a73 --- /dev/null +++ b/index.html @@ -0,0 +1,39 @@ + + + + + + + + + Dreammall.earth | Dreammall.earth Documentation + + + + + +

Dreammall.earth

nodejsopen in new windownpmopen in new windowremark-cliopen in new windowvuepressopen in new window

Dreammall.earth websites & services

Modules

Deploy

Deploy instructions can be found in deployment/

Commands

The following commands are available:

CommandDescription
npm installProject setup
Test
npm run test:lintRun all linters
npm run test:lint:remarkRun linter remark
npm testRun all tests & linters
Documentation
npm run docs:devRun Documentation in development mode
npm run docs:buildBuild static documentation
Release
npm run releasePropagate release version & generate changelog
Maintenance
npm run updateCheck for updates

Docker

The following endpoints are provided if docker compose is used:

EndpointDescription
http://localhost:3306open in new windowMySQL Database
http://localhost:3000open in new windowPresenter
http://localhost:8081open in new windowPresenter Documentation
http://localhost:6006open in new windowPresenter Storybook
http://localhost:3001open in new windowFrontend
http://localhost:8082open in new windowFrontend Documentation
http://localhost:6007open in new windowFrontend Storybook
http://localhost:4000/graphqlopen in new windowBackend GraphQL API
http://localhost:4000/playgroundopen in new windowBackend GraphQL Playground
http://localhost:8083open in new windowBackend Documentation
http://localhost:8080open in new windowDocumentation

How to release

Generate a new version using npm version --git-tag-version=false patch|minor|major. Then run npm run release to propagate the new version and generate the changelog

Update

You can get a list of packages to update by running npm run update.

Appending -u will also update the packages in the package.json. You have to run npm install again after.

npm run update -- -u
+npm install
+

External Tools

This project is tested with Browserstack.

License

Apache 2.0

Last Updated:
Contributors: Hannes Heine
+ + + diff --git a/presenter/LICENSE.html b/presenter/LICENSE.html new file mode 100644 index 0000000000..a51235beb4 --- /dev/null +++ b/presenter/LICENSE.html @@ -0,0 +1,37 @@ + + + + + + + + + Dreammall.earth Documentation + + + + + +

404

There's nothing here.
Take me home
+ + + diff --git a/presenter/index.html b/presenter/index.html new file mode 100644 index 0000000000..bb9b056319 --- /dev/null +++ b/presenter/index.html @@ -0,0 +1,51 @@ + + + + + + + + + Dreammall Presenter | Dreammall.earth Documentation + + + + + +

Dreammall Presenter

nodejsopen in new windownpmopen in new windowdockeropen in new windowjqopen in new windowvueopen in new windowvikeopen in new windowvuetifyopen in new windowpiniaopen in new windowvue-i18nopen in new windoweslintopen in new windowremark-cliopen in new windowstylelintopen in new windowvitestopen in new windowstorybookopen in new windowvuepressopen in new windowchromaticopen in new window

The Dreammall presenter.

Requirements & Technology

To be able to build this project you need nodejs, npm and optional docker and jq.

The project uses vite as builder, vike to do the SSR. The design framework is vuetify which requires the frontend framework vue3. For localization vue-i18n is used; Session storage is handled with pinia.

Testing is done with vitest and code style is enforced with eslint, remark-cli and stylelint.

This projects utilizes storybook and chromatic to develop, document & test frontend components and vuepress for static documentation generation.

Commands

The following commands are available:

CommandDescription
npm installProject setup
npm run buildCompiles and minifies for production
npm run server:prodRuns productions server (node, cjs file)
Develop
npm run devCompiles and hot-reloads for development
npm run server:devRun development server
npm run server:prod:tsRun production server without build (ts-node)
npm run server:buildBuild Server into an executable cjs file
Test
npm run test:lintRun all linters
npm run test:lint:eslintRun linter eslint
npm run test:lint:localesRun linter locales
npm run test:lint:remarkRun linter remark
npm run test:lint:styleRun linter stylelint
npm run test:unitRun all unit tests and generate coverage report
npm run test:unit:updateRun unit tests, coverage and update snapshots
npm run test:unit:devRun all unit tests in watch mode
npm testRun all tests & linters
Storybook
npm run storybookRun Storybook
npm run storybook:buildBuild static storybook
npm run storybook:testRun tests against all storybook stories
Documentation
npm run docs:devRun Documentation in development mode
npm run docs:buildBuild static documentation
Chromatic
npm run chromaticRun Chromatic. See Chromatic section for details
Maintenance
npm run updateCheck for updates

Docker

Docker can be run in development mode utilizing docker-compose.overwrite.yml:

docker compose up
+

Docker can be run in production mode:

docker compose -f docker-compose.yml up
+

Chromatic

In order to use the chromatic workflow you need to provide a CHROMATIC_PROJECT_TOKEN in the repository secrets.

If you want to run chromatic from the command line you either have to provide this variable as well

export CHROMATIC_PROJECT_TOKEN=...
+npm run chromatic
+

or you have to append it via parameter:

npm run chromatic -- --project-token=...
+

Update

You can get a list of packes to update by running npm run update.

Appending -u will also update the packages in the package.json. You have to run npm install again after.

npm run update -- -u
+npm install
+

Endpoints

The following endpoints are provided given the right command is executed or all three if docker compose is used:

EndpointDescription
http://localhost:3000open in new windowWeb
http://localhost:6006open in new windowStorybook
http://localhost:8080open in new windowDocumentation

How to use as part of a project

If you want to use this as part of a larger project, e.g. in conjunction with a backend also utilizing a boilerplate you cannot use the template mechanic provided by github for this repository.

You can use the following commands to include the whole git history of the boilerplate and be able to update according to changes to this repo using another remote.

git remote add xxx_boilerplate_frontend git@github.com:IT4Change/boilerplate-frontend.git
+git fetch xxx_boilerplate_frontend
+git merge -s ours --no-commit --allow-unrelated-histories xxx_boilerplate_frontend/master
+git read-tree --prefix=xxx/ -u xxx_boilerplate_frontend/master
+git commit -m "Imported boilerplate_frontend as a subtree under xxx/."
+

To update the subtree you can use

git subtree pull -P xxx/ xxx_boilerplate_frontend master
+git commit -m "Updated boilerplate_frontend in subtree under xxx/."
+

Where xxx refers to the folder and product part you want to use the boilerplate in. This assumes that you might need several copies of the frontend boilerplate for you product.

This mechanic was taken from this sourceopen in new window

Known Problems

License

Apache 2.0

Last Updated:
Contributors: Hannes Heine
+ + +