diff --git a/_app/immutable/chunks/paths.1ec87d31.js b/_app/immutable/chunks/paths.1ec87d31.js deleted file mode 100644 index c250c65..0000000 --- a/_app/immutable/chunks/paths.1ec87d31.js +++ /dev/null @@ -1 +0,0 @@ -var s;const e=((s=globalThis.__sveltekit_1n8gqm0)==null?void 0:s.base)??"";var a;const t=((a=globalThis.__sveltekit_1n8gqm0)==null?void 0:a.assets)??e;export{t as a,e as b}; diff --git a/_app/immutable/chunks/paths.94df1700.js b/_app/immutable/chunks/paths.94df1700.js new file mode 100644 index 0000000..b30d268 --- /dev/null +++ b/_app/immutable/chunks/paths.94df1700.js @@ -0,0 +1 @@ +var s;const e=((s=globalThis.__sveltekit_odds7x)==null?void 0:s.base)??"";var a;const t=((a=globalThis.__sveltekit_odds7x)==null?void 0:a.assets)??e;export{t as a,e as b}; diff --git a/_app/immutable/chunks/singletons.da05df94.js b/_app/immutable/chunks/singletons.4bc7c4c6.js similarity index 95% rename from _app/immutable/chunks/singletons.da05df94.js rename to _app/immutable/chunks/singletons.4bc7c4c6.js index 1a7774c..6753c35 100644 --- a/_app/immutable/chunks/singletons.da05df94.js +++ b/_app/immutable/chunks/singletons.4bc7c4c6.js @@ -1 +1 @@ -import{n as d,s as m}from"./scheduler.e108d1fd.js";import{a as k}from"./paths.1ec87d31.js";const u=[];function p(e,t=d){let n;const o=new Set;function r(s){if(m(e,s)&&(e=s,n)){const c=!u.length;for(const i of o)i[1](),u.push(i,e);if(c){for(let i=0;i{o.delete(i),o.size===0&&n&&(n(),n=null)}}return{set:r,update:l,subscribe:a}}const E="1693806491376",S="sveltekit:snapshot",y="sveltekit:scroll",I="sveltekit:index",_={tap:1,hover:2,viewport:3,eager:4,off:-1};function T(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function x(){return{x:pageXOffset,y:pageYOffset}}function f(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const b={..._,"":_.hover};function h(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function O(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=h(e)}}function U(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||w(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),l=(n==null?void 0:n.origin)===location.origin&&e.hasAttribute("download");return{url:n,external:r,target:o,download:l}}function L(e){let t=null,n=null,o=null,r=null,l=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=f(s,"preload-code")),r===null&&(r=f(s,"preload-data")),t===null&&(t=f(s,"keepfocus")),n===null&&(n=f(s,"noscroll")),l===null&&(l=f(s,"reload")),a===null&&(a=f(s,"replacestate")),s=h(s);function c(i){switch(i){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:b[o??"off"],preload_data:b[r??"off"],keep_focus:c(t),noscroll:c(n),reload:c(l),replace_state:c(a)}}function g(e){const t=p(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function l(a){let s;return t.subscribe(c=>{(s===void 0||n&&c!==s)&&a(s=c)})}return{notify:o,set:r,subscribe:l}}function v(){const{set:e,subscribe:t}=p(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${k}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==E;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function w(e,t){return e.origin!==location.origin||!e.pathname.startsWith(t)}function N(e){e.client}const P={url:g({}),page:g({}),navigating:p(null),updated:v()};export{I,_ as P,y as S,S as a,U as b,L as c,P as d,N as e,O as f,T as g,w as i,x as s}; +import{n as d,s as m}from"./scheduler.e108d1fd.js";import{a as k}from"./paths.94df1700.js";const u=[];function p(e,t=d){let n;const o=new Set;function r(s){if(m(e,s)&&(e=s,n)){const c=!u.length;for(const i of o)i[1](),u.push(i,e);if(c){for(let i=0;i{o.delete(i),o.size===0&&n&&(n(),n=null)}}return{set:r,update:l,subscribe:a}}const E="1705509493458",S="sveltekit:snapshot",y="sveltekit:scroll",I="sveltekit:index",_={tap:1,hover:2,viewport:3,eager:4,off:-1};function T(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function x(){return{x:pageXOffset,y:pageYOffset}}function f(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const b={..._,"":_.hover};function h(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function O(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=h(e)}}function U(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||w(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),l=(n==null?void 0:n.origin)===location.origin&&e.hasAttribute("download");return{url:n,external:r,target:o,download:l}}function L(e){let t=null,n=null,o=null,r=null,l=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=f(s,"preload-code")),r===null&&(r=f(s,"preload-data")),t===null&&(t=f(s,"keepfocus")),n===null&&(n=f(s,"noscroll")),l===null&&(l=f(s,"reload")),a===null&&(a=f(s,"replacestate")),s=h(s);function c(i){switch(i){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:b[o??"off"],preload_data:b[r??"off"],keep_focus:c(t),noscroll:c(n),reload:c(l),replace_state:c(a)}}function g(e){const t=p(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function l(a){let s;return t.subscribe(c=>{(s===void 0||n&&c!==s)&&a(s=c)})}return{notify:o,set:r,subscribe:l}}function v(){const{set:e,subscribe:t}=p(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${k}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==E;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function w(e,t){return e.origin!==location.origin||!e.pathname.startsWith(t)}function N(e){e.client}const P={url:g({}),page:g({}),navigating:p(null),updated:v()};export{I,_ as P,y as S,S as a,U as b,L as c,P as d,N as e,O as f,T as g,w as i,x as s}; diff --git a/_app/immutable/entry/app.abf056e8.js b/_app/immutable/entry/app.2bed6779.js similarity index 92% rename from _app/immutable/entry/app.abf056e8.js rename to _app/immutable/entry/app.2bed6779.js index 5fbb842..06af0b9 100644 --- a/_app/immutable/entry/app.abf056e8.js +++ b/_app/immutable/entry/app.2bed6779.js @@ -1 +1 @@ -import{s as q,a as B,o as U,t as j,b as N}from"../chunks/scheduler.e108d1fd.js";import{S as W,i as z,s as F,e as h,c as G,a as g,t as d,b as L,d as p,f as w,g as H,h as J,j as K,k as S,l as m,m as M,n as Q,o as X,p as P,q as k,r as v,u as D,v as E,w as y}from"../chunks/index.aaba837c.js";const Y="modulepreload",Z=function(o,e){return new URL(o,e).href},I={},R=function(e,n,i){if(!n||n.length===0)return e();const s=document.getElementsByTagName("link");return Promise.all(n.map(f=>{if(f=Z(f,i),f in I)return;I[f]=!0;const t=f.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(!!i)for(let a=s.length-1;a>=0;a--){const _=s[a];if(_.href===f&&(!t||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${r}`))return;const c=document.createElement("link");if(c.rel=t?"stylesheet":Y,t||(c.as="script",c.crossOrigin=""),c.href=f,document.head.appendChild(c),t)return new Promise((a,_)=>{c.addEventListener("load",a),c.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${f}`)))})})).then(()=>e()).catch(f=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=f,window.dispatchEvent(t),!t.defaultPrevented)throw f})},re={};function $(o){let e,n,i;var s=o[1][0];function f(t,r){return{props:{data:t[3],form:t[2]}}}return s&&(e=k(s,f(o)),o[12](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),g(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){P();const l=e;d(l.$$.fragment,1,0,()=>{y(l,1)}),L()}s?(e=k(s,f(t)),t[12](e),v(e.$$.fragment),p(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&8&&(l.data=t[3]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){i||(e&&p(e.$$.fragment,t),i=!0)},o(t){e&&d(e.$$.fragment,t),i=!1},d(t){t&&w(n),o[12](null),e&&y(e,t)}}}function x(o){let e,n,i;var s=o[1][0];function f(t,r){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return s&&(e=k(s,f(o)),o[11](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),g(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){P();const l=e;d(l.$$.fragment,1,0,()=>{y(l,1)}),L()}s?(e=k(s,f(t)),t[11](e),v(e.$$.fragment),p(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&8&&(l.data=t[3]),r&8215&&(l.$$scope={dirty:r,ctx:t}),e.$set(l)}},i(t){i||(e&&p(e.$$.fragment,t),i=!0)},o(t){e&&d(e.$$.fragment,t),i=!1},d(t){t&&w(n),o[11](null),e&&y(e,t)}}}function ee(o){let e,n,i;var s=o[1][1];function f(t,r){return{props:{data:t[4],form:t[2]}}}return s&&(e=k(s,f(o)),o[10](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),g(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][1])){if(e){P();const l=e;d(l.$$.fragment,1,0,()=>{y(l,1)}),L()}s?(e=k(s,f(t)),t[10](e),v(e.$$.fragment),p(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&16&&(l.data=t[4]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){i||(e&&p(e.$$.fragment,t),i=!0)},o(t){e&&d(e.$$.fragment,t),i=!1},d(t){t&&w(n),o[10](null),e&&y(e,t)}}}function O(o){let e,n=o[6]&&T(o);return{c(){e=H("div"),n&&n.c(),this.h()},l(i){e=J(i,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var s=K(e);n&&n.l(s),s.forEach(w),this.h()},h(){S(e,"id","svelte-announcer"),S(e,"aria-live","assertive"),S(e,"aria-atomic","true"),m(e,"position","absolute"),m(e,"left","0"),m(e,"top","0"),m(e,"clip","rect(0 0 0 0)"),m(e,"clip-path","inset(50%)"),m(e,"overflow","hidden"),m(e,"white-space","nowrap"),m(e,"width","1px"),m(e,"height","1px")},m(i,s){g(i,e,s),n&&n.m(e,null)},p(i,s){i[6]?n?n.p(i,s):(n=T(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(i){i&&w(e),n&&n.d()}}}function T(o){let e;return{c(){e=M(o[7])},l(n){e=Q(n,o[7])},m(n,i){g(n,e,i)},p(n,i){i&128&&X(e,n[7])},d(n){n&&w(e)}}}function te(o){let e,n,i,s,f;const t=[x,$],r=[];function l(a,_){return a[1][1]?0:1}e=l(o),n=r[e]=t[e](o);let c=o[5]&&O(o);return{c(){n.c(),i=F(),c&&c.c(),s=h()},l(a){n.l(a),i=G(a),c&&c.l(a),s=h()},m(a,_){r[e].m(a,_),g(a,i,_),c&&c.m(a,_),g(a,s,_),f=!0},p(a,[_]){let b=e;e=l(a),e===b?r[e].p(a,_):(P(),d(r[b],1,1,()=>{r[b]=null}),L(),n=r[e],n?n.p(a,_):(n=r[e]=t[e](a),n.c()),p(n,1),n.m(i.parentNode,i)),a[5]?c?c.p(a,_):(c=O(a),c.c(),c.m(s.parentNode,s)):c&&(c.d(1),c=null)},i(a){f||(p(n),f=!0)},o(a){d(n),f=!1},d(a){a&&(w(i),w(s)),r[e].d(a),c&&c.d(a)}}}function ne(o,e,n){let{stores:i}=e,{page:s}=e,{constructors:f}=e,{components:t=[]}=e,{form:r}=e,{data_0:l=null}=e,{data_1:c=null}=e;B(i.page.notify);let a=!1,_=!1,b=null;U(()=>{const u=i.page.subscribe(()=>{a&&(n(6,_=!0),j().then(()=>{n(7,b=document.title||"untitled page")}))});return n(5,a=!0),u});function V(u){N[u?"unshift":"push"](()=>{t[1]=u,n(0,t)})}function A(u){N[u?"unshift":"push"](()=>{t[0]=u,n(0,t)})}function C(u){N[u?"unshift":"push"](()=>{t[0]=u,n(0,t)})}return o.$$set=u=>{"stores"in u&&n(8,i=u.stores),"page"in u&&n(9,s=u.page),"constructors"in u&&n(1,f=u.constructors),"components"in u&&n(0,t=u.components),"form"in u&&n(2,r=u.form),"data_0"in u&&n(3,l=u.data_0),"data_1"in u&&n(4,c=u.data_1)},o.$$.update=()=>{o.$$.dirty&768&&i.page.set(s)},[t,f,r,l,c,a,_,b,i,s,V,A,C]}class oe extends W{constructor(e){super(),z(this,e,ne,te,q,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const ae=[()=>R(()=>import("../nodes/0.e76648ea.js"),["../nodes/0.e76648ea.js","../chunks/scheduler.e108d1fd.js","../chunks/index.aaba837c.js","../chunks/paths.1ec87d31.js","../assets/0.66971938.css"],import.meta.url),()=>R(()=>import("../nodes/1.6f32dff4.js"),["../nodes/1.6f32dff4.js","../chunks/scheduler.e108d1fd.js","../chunks/index.aaba837c.js","../chunks/singletons.da05df94.js","../chunks/paths.1ec87d31.js"],import.meta.url),()=>R(()=>import("../nodes/2.852d482a.js"),["../nodes/2.852d482a.js","../chunks/scheduler.e108d1fd.js","../chunks/index.aaba837c.js"],import.meta.url),()=>R(()=>import("../nodes/3.11c0aa39.js"),["../nodes/3.11c0aa39.js","../chunks/scheduler.e108d1fd.js","../chunks/index.aaba837c.js"],import.meta.url)],le=[],fe={"/":[2],"/projects":[3]},ce={handleError:({error:o})=>{console.error(o)}};export{fe as dictionary,ce as hooks,re as matchers,ae as nodes,oe as root,le as server_loads}; +import{s as q,a as B,o as U,t as j,b as N}from"../chunks/scheduler.e108d1fd.js";import{S as W,i as z,s as F,e as h,c as G,a as g,t as d,b as L,d as p,f as w,g as H,h as J,j as K,k as S,l as m,m as M,n as Q,o as X,p as P,q as k,r as v,u as D,v as E,w as y}from"../chunks/index.aaba837c.js";const Y="modulepreload",Z=function(o,e){return new URL(o,e).href},I={},R=function(e,n,i){if(!n||n.length===0)return e();const s=document.getElementsByTagName("link");return Promise.all(n.map(f=>{if(f=Z(f,i),f in I)return;I[f]=!0;const t=f.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(!!i)for(let a=s.length-1;a>=0;a--){const _=s[a];if(_.href===f&&(!t||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${r}`))return;const c=document.createElement("link");if(c.rel=t?"stylesheet":Y,t||(c.as="script",c.crossOrigin=""),c.href=f,document.head.appendChild(c),t)return new Promise((a,_)=>{c.addEventListener("load",a),c.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${f}`)))})})).then(()=>e()).catch(f=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=f,window.dispatchEvent(t),!t.defaultPrevented)throw f})},re={};function $(o){let e,n,i;var s=o[1][0];function f(t,r){return{props:{data:t[3],form:t[2]}}}return s&&(e=k(s,f(o)),o[12](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),g(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){P();const l=e;d(l.$$.fragment,1,0,()=>{y(l,1)}),L()}s?(e=k(s,f(t)),t[12](e),v(e.$$.fragment),p(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&8&&(l.data=t[3]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){i||(e&&p(e.$$.fragment,t),i=!0)},o(t){e&&d(e.$$.fragment,t),i=!1},d(t){t&&w(n),o[12](null),e&&y(e,t)}}}function x(o){let e,n,i;var s=o[1][0];function f(t,r){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return s&&(e=k(s,f(o)),o[11](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),g(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){P();const l=e;d(l.$$.fragment,1,0,()=>{y(l,1)}),L()}s?(e=k(s,f(t)),t[11](e),v(e.$$.fragment),p(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&8&&(l.data=t[3]),r&8215&&(l.$$scope={dirty:r,ctx:t}),e.$set(l)}},i(t){i||(e&&p(e.$$.fragment,t),i=!0)},o(t){e&&d(e.$$.fragment,t),i=!1},d(t){t&&w(n),o[11](null),e&&y(e,t)}}}function ee(o){let e,n,i;var s=o[1][1];function f(t,r){return{props:{data:t[4],form:t[2]}}}return s&&(e=k(s,f(o)),o[10](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),g(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][1])){if(e){P();const l=e;d(l.$$.fragment,1,0,()=>{y(l,1)}),L()}s?(e=k(s,f(t)),t[10](e),v(e.$$.fragment),p(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&16&&(l.data=t[4]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){i||(e&&p(e.$$.fragment,t),i=!0)},o(t){e&&d(e.$$.fragment,t),i=!1},d(t){t&&w(n),o[10](null),e&&y(e,t)}}}function O(o){let e,n=o[6]&&T(o);return{c(){e=H("div"),n&&n.c(),this.h()},l(i){e=J(i,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var s=K(e);n&&n.l(s),s.forEach(w),this.h()},h(){S(e,"id","svelte-announcer"),S(e,"aria-live","assertive"),S(e,"aria-atomic","true"),m(e,"position","absolute"),m(e,"left","0"),m(e,"top","0"),m(e,"clip","rect(0 0 0 0)"),m(e,"clip-path","inset(50%)"),m(e,"overflow","hidden"),m(e,"white-space","nowrap"),m(e,"width","1px"),m(e,"height","1px")},m(i,s){g(i,e,s),n&&n.m(e,null)},p(i,s){i[6]?n?n.p(i,s):(n=T(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(i){i&&w(e),n&&n.d()}}}function T(o){let e;return{c(){e=M(o[7])},l(n){e=Q(n,o[7])},m(n,i){g(n,e,i)},p(n,i){i&128&&X(e,n[7])},d(n){n&&w(e)}}}function te(o){let e,n,i,s,f;const t=[x,$],r=[];function l(a,_){return a[1][1]?0:1}e=l(o),n=r[e]=t[e](o);let c=o[5]&&O(o);return{c(){n.c(),i=F(),c&&c.c(),s=h()},l(a){n.l(a),i=G(a),c&&c.l(a),s=h()},m(a,_){r[e].m(a,_),g(a,i,_),c&&c.m(a,_),g(a,s,_),f=!0},p(a,[_]){let b=e;e=l(a),e===b?r[e].p(a,_):(P(),d(r[b],1,1,()=>{r[b]=null}),L(),n=r[e],n?n.p(a,_):(n=r[e]=t[e](a),n.c()),p(n,1),n.m(i.parentNode,i)),a[5]?c?c.p(a,_):(c=O(a),c.c(),c.m(s.parentNode,s)):c&&(c.d(1),c=null)},i(a){f||(p(n),f=!0)},o(a){d(n),f=!1},d(a){a&&(w(i),w(s)),r[e].d(a),c&&c.d(a)}}}function ne(o,e,n){let{stores:i}=e,{page:s}=e,{constructors:f}=e,{components:t=[]}=e,{form:r}=e,{data_0:l=null}=e,{data_1:c=null}=e;B(i.page.notify);let a=!1,_=!1,b=null;U(()=>{const u=i.page.subscribe(()=>{a&&(n(6,_=!0),j().then(()=>{n(7,b=document.title||"untitled page")}))});return n(5,a=!0),u});function V(u){N[u?"unshift":"push"](()=>{t[1]=u,n(0,t)})}function A(u){N[u?"unshift":"push"](()=>{t[0]=u,n(0,t)})}function C(u){N[u?"unshift":"push"](()=>{t[0]=u,n(0,t)})}return o.$$set=u=>{"stores"in u&&n(8,i=u.stores),"page"in u&&n(9,s=u.page),"constructors"in u&&n(1,f=u.constructors),"components"in u&&n(0,t=u.components),"form"in u&&n(2,r=u.form),"data_0"in u&&n(3,l=u.data_0),"data_1"in u&&n(4,c=u.data_1)},o.$$.update=()=>{o.$$.dirty&768&&i.page.set(s)},[t,f,r,l,c,a,_,b,i,s,V,A,C]}class oe extends W{constructor(e){super(),z(this,e,ne,te,q,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const ae=[()=>R(()=>import("../nodes/0.d0c5836f.js"),["../nodes/0.d0c5836f.js","../chunks/scheduler.e108d1fd.js","../chunks/index.aaba837c.js","../chunks/paths.94df1700.js","../assets/0.66971938.css"],import.meta.url),()=>R(()=>import("../nodes/1.4e5e0f0d.js"),["../nodes/1.4e5e0f0d.js","../chunks/scheduler.e108d1fd.js","../chunks/index.aaba837c.js","../chunks/singletons.4bc7c4c6.js","../chunks/paths.94df1700.js"],import.meta.url),()=>R(()=>import("../nodes/2.58ec354b.js"),["../nodes/2.58ec354b.js","../chunks/scheduler.e108d1fd.js","../chunks/index.aaba837c.js"],import.meta.url),()=>R(()=>import("../nodes/3.11c0aa39.js"),["../nodes/3.11c0aa39.js","../chunks/scheduler.e108d1fd.js","../chunks/index.aaba837c.js"],import.meta.url)],le=[],fe={"/":[2],"/projects":[3]},ce={handleError:({error:o})=>{console.error(o)}};export{fe as dictionary,ce as hooks,re as matchers,ae as nodes,oe as root,le as server_loads}; diff --git a/_app/immutable/entry/start.fddc0acf.js b/_app/immutable/entry/start.68ca6ab9.js similarity index 99% rename from _app/immutable/entry/start.fddc0acf.js rename to _app/immutable/entry/start.68ca6ab9.js index e8cd436..b8305ac 100644 --- a/_app/immutable/entry/start.fddc0acf.js +++ b/_app/immutable/entry/start.68ca6ab9.js @@ -1,3 +1,3 @@ -import{o as De,t as ye}from"../chunks/scheduler.e108d1fd.js";import{S as Be,a as Ge,I as M,g as Ce,f as Me,b as we,c as le,s as ee,i as _e,d as F,P as Ve,e as Ye}from"../chunks/singletons.da05df94.js";import{b as J}from"../chunks/paths.1ec87d31.js";function Xe(n,o){return n==="/"||o==="ignore"?n:o==="never"?n.endsWith("/")?n.slice(0,-1):n:o==="always"&&!n.endsWith("/")?n+"/":n}function Ze(n){return n.split("%25").map(decodeURI).join("%25")}function Qe(n){for(const o in n)n[o]=decodeURIComponent(n[o]);return n}const et=["href","pathname","search","searchParams","toString","toJSON"];function tt(n,o){const u=new URL(n);for(const s of et)Object.defineProperty(u,s,{get(){return o(),n[s]},enumerable:!0,configurable:!0});return nt(u),u}function nt(n){Object.defineProperty(n,"hash",{get(){throw new Error("Cannot access event.url.hash. Consider using `$page.url.hash` inside a component instead")}})}const at="/__data.json";function rt(n){return n.replace(/\/$/,"")+at}function ot(...n){let o=5381;for(const u of n)if(typeof u=="string"){let s=u.length;for(;s;)o=o*33^u.charCodeAt(--s)}else if(ArrayBuffer.isView(u)){const s=new Uint8Array(u.buffer,u.byteOffset,u.byteLength);let d=s.length;for(;d;)o=o*33^s[--d]}else throw new TypeError("value must be a string or TypedArray");return(o>>>0).toString(36)}const fe=window.fetch;window.fetch=(n,o)=>((n instanceof Request?n.method:(o==null?void 0:o.method)||"GET")!=="GET"&&ne.delete(Se(n)),fe(n,o));const ne=new Map;function it(n,o){const u=Se(n,o),s=document.querySelector(u);if(s!=null&&s.textContent){const{body:d,...f}=JSON.parse(s.textContent),S=s.getAttribute("data-ttl");return S&&ne.set(u,{body:d,init:f,ttl:1e3*Number(S)}),Promise.resolve(new Response(d,f))}return fe(n,o)}function st(n,o,u){if(ne.size>0){const s=Se(n,u),d=ne.get(s);if(d){if(performance.now(){const d=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(s);if(d)return o.push({name:d[1],matcher:d[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const f=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(s);if(f)return o.push({name:f[1],matcher:f[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!s)return;const S=s.split(/\[(.+?)\](?!\])/);return"/"+S.map((y,w)=>{if(w%2){if(y.startsWith("x+"))return be(String.fromCharCode(parseInt(y.slice(2),16)));if(y.startsWith("u+"))return be(String.fromCharCode(...y.slice(2).split("-").map(P=>parseInt(P,16))));const h=ct.exec(y);if(!h)throw new Error(`Invalid param: ${y}. Params and matcher names can only have underscores and alphanumeric characters.`);const[,D,x,k,N]=h;return o.push({name:k,matcher:N,optional:!!D,rest:!!x,chained:x?w===1&&S[0]==="":!1}),x?"(.*?)":D?"([^/]*)?":"([^/]+?)"}return be(y)}).join("")}).join("")}/?$`),params:o}}function ft(n){return!/^\([^)]+\)$/.test(n)}function ut(n){return n.slice(1).split("/").filter(ft)}function dt(n,o,u){const s={},d=n.slice(1);let f=0;for(let S=0;Sw).join("/"),f=0),y===void 0){l.rest&&(s[l.name]="");continue}if(!l.matcher||u[l.matcher](y)){s[l.name]=y;const w=o[S+1],h=d[S+1];w&&!w.rest&&w.optional&&h&&l.chained&&(f=0);continue}if(l.optional&&l.chained){f++;continue}return}if(!f)return s}function be(n){return n.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function pt({nodes:n,server_loads:o,dictionary:u,matchers:s}){const d=new Set(o);return Object.entries(u).map(([l,[y,w,h]])=>{const{pattern:D,params:x}=lt(l),k={id:l,exec:N=>{const P=D.exec(N);if(P)return dt(P,x,s)},errors:[1,...h||[]].map(N=>n[N]),layouts:[0,...w||[]].map(S),leaf:f(y)};return k.errors.length=k.layouts.length=Math.max(k.errors.length,k.layouts.length),k});function f(l){const y=l<0;return y&&(l=~l),[y,n[l]]}function S(l){return l===void 0?l:[d.has(l),n[l]]}}function Je(n){try{return JSON.parse(sessionStorage[n])}catch{}}function qe(n,o){const u=JSON.stringify(o);try{sessionStorage[n]=u}catch{}}const ht=-1,gt=-2,mt=-3,yt=-4,wt=-5,_t=-6;function bt(n,o){if(typeof n=="number")return d(n,!0);if(!Array.isArray(n)||n.length===0)throw new Error("Invalid input");const u=n,s=Array(u.length);function d(f,S=!1){if(f===ht)return;if(f===mt)return NaN;if(f===yt)return 1/0;if(f===wt)return-1/0;if(f===_t)return-0;if(S)throw new Error("Invalid input");if(f in s)return s[f];const l=u[f];if(!l||typeof l!="object")s[f]=l;else if(Array.isArray(l))if(typeof l[0]=="string"){const y=l[0],w=o==null?void 0:o[y];if(w)return s[f]=w(d(l[1]));switch(y){case"Date":s[f]=new Date(l[1]);break;case"Set":const h=new Set;s[f]=h;for(let k=1;ko!=null)}const Ke=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Ke];const Et=new Set([...Ke]);[...Et];async function St(n){var o;for(const u in n)if(typeof((o=n[u])==null?void 0:o.then)=="function")return Object.fromEntries(await Promise.all(Object.entries(n).map(async([s,d])=>[s,await d])));return n}class te{constructor(o,u){this.status=o,typeof u=="string"?this.body={message:u}:u?this.body=u:this.body={message:`Error: ${o}`}}toString(){return JSON.stringify(this.body)}}class Fe{constructor(o,u){this.status=o,this.location=u}}const kt="x-sveltekit-invalidated",Rt="x-sveltekit-trailing-slash",K=Je(Be)??{},Q=Je(Ge)??{};function ve(n){K[n]=ee()}function At(n,o){var $e;const u=pt(n),s=n.nodes[0],d=n.nodes[1];s(),d();const f=document.documentElement,S=[],l=[];let y=null;const w={before_navigate:[],after_navigate:[]};let h={branch:[],error:null,url:null},D=!1,x=!1,k=!0,N=!1,P=!1,H=!1,B=!1,V,T=($e=history.state)==null?void 0:$e[M];T||(T=Date.now(),history.replaceState({...history.state,[M]:T},"",location.href));const ue=K[T];ue&&(history.scrollRestoration="manual",scrollTo(ue.x,ue.y));let q,ae,W;async function ke(){if(W=W||Promise.resolve(),await W,!W)return;W=null;const e=new URL(location.href),i=X(e,!0);y=null;const t=ae={},r=i&&await he(i);if(t===ae&&r){if(r.type==="redirect")return re(new URL(r.location,e).href,{},[e.pathname],t);r.props.page!==void 0&&(q=r.props.page),V.$set(r.props)}}function Re(e){l.some(i=>i==null?void 0:i.snapshot)&&(Q[e]=l.map(i=>{var t;return(t=i==null?void 0:i.snapshot)==null?void 0:t.capture()}))}function Ae(e){var i;(i=Q[e])==null||i.forEach((t,r)=>{var a,c;(c=(a=l[r])==null?void 0:a.snapshot)==null||c.restore(t)})}function Ie(){ve(T),qe(Be,K),Re(T),qe(Ge,Q)}async function re(e,{noScroll:i=!1,replaceState:t=!1,keepFocus:r=!1,state:a={},invalidateAll:c=!1},p,v){return typeof e=="string"&&(e=new URL(e,Ce(document))),ce({url:e,scroll:i?ee():null,keepfocus:r,redirect_chain:p,details:{state:a,replaceState:t},nav_token:v,accepted:()=>{c&&(B=!0)},blocked:()=>{},type:"goto"})}async function Le(e){return y={id:e.id,promise:he(e).then(i=>(i.type==="loaded"&&i.state.error&&(y=null),i))},y.promise}async function oe(...e){const t=u.filter(r=>e.some(a=>r.exec(a))).map(r=>Promise.all([...r.layouts,r.leaf].map(a=>a==null?void 0:a[1]())));await Promise.all(t)}function Oe(e){var r;h=e.state;const i=document.querySelector("style[data-sveltekit]");i&&i.remove(),q=e.props.page,V=new n.root({target:o,props:{...e.props,stores:F,components:l},hydrate:!0}),Ae(T);const t={from:null,to:{params:h.params,route:{id:((r=h.route)==null?void 0:r.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter"};w.after_navigate.forEach(a=>a(t)),x=!0}async function Y({url:e,params:i,branch:t,status:r,error:a,route:c,form:p}){let v="never";for(const g of t)(g==null?void 0:g.slash)!==void 0&&(v=g.slash);e.pathname=Xe(e.pathname,v),e.search=e.search;const b={type:"loaded",state:{url:e,params:i,branch:t,error:a,route:c},props:{constructors:vt(t).map(g=>g.node.component)}};p!==void 0&&(b.props.form=p);let _={},R=!q,A=0;for(let g=0;g(v.params.add(U),m[U])}),data:(c==null?void 0:c.data)??null,url:tt(t,()=>{v.url=!0}),async fetch(m,U){let $;m instanceof Request?($=m.url,U={body:m.method==="GET"||m.method==="HEAD"?void 0:await m.blob(),cache:m.cache,credentials:m.credentials,headers:m.headers,integrity:m.integrity,keepalive:m.keepalive,method:m.method,mode:m.mode,redirect:m.redirect,referrer:m.referrer,referrerPolicy:m.referrerPolicy,signal:m.signal,...U}):$=m;const C=new URL($,t);return I(C.href),C.origin===t.origin&&($=C.href.slice(t.origin.length)),x?st($,C.href,U):it($,U)},setHeaders:()=>{},depends:I,parent(){return v.parent=!0,i()}};p=await b.universal.load.call(null,g)??null,p=p?await St(p):null}return{node:b,loader:e,server:c,universal:(R=b.universal)!=null&&R.load?{type:"data",data:p,uses:v}:null,data:p??(c==null?void 0:c.data)??null,slash:((A=b.universal)==null?void 0:A.trailingSlash)??(c==null?void 0:c.slash)}}function Pe(e,i,t,r,a){if(B)return!0;if(!r)return!1;if(r.parent&&e||r.route&&i||r.url&&t)return!0;for(const c of r.params)if(a[c]!==h.params[c])return!0;for(const c of r.dependencies)if(S.some(p=>p(new URL(c))))return!0;return!1}function pe(e,i){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?i??null:null}async function he({id:e,invalidating:i,url:t,params:r,route:a}){if((y==null?void 0:y.id)===e)return y.promise;const{errors:c,layouts:p,leaf:v}=a,b=[...p,v];c.forEach(E=>E==null?void 0:E().catch(()=>{})),b.forEach(E=>E==null?void 0:E[1]().catch(()=>{}));let _=null;const R=h.url?e!==h.url.pathname+h.url.search:!1,A=h.route?a.id!==h.route.id:!1;let I=!1;const g=b.map((E,O)=>{var G;const L=h.branch[O],j=!!(E!=null&&E[0])&&((L==null?void 0:L.loader)!==E[1]||Pe(I,A,R,(G=L.server)==null?void 0:G.uses,r));return j&&(I=!0),j});if(g.some(Boolean)){try{_=await He(t,g)}catch(E){return ie({status:E instanceof te?E.status:500,error:await Z(E,{url:t,params:r,route:{id:a.id}}),url:t,route:a})}if(_.type==="redirect")return _}const m=_==null?void 0:_.nodes;let U=!1;const $=b.map(async(E,O)=>{var ge;if(!E)return;const L=h.branch[O],j=m==null?void 0:m[O];if((!j||j.type==="skip")&&E[1]===(L==null?void 0:L.loader)&&!Pe(U,A,R,(ge=L.universal)==null?void 0:ge.uses,r))return L;if(U=!0,(j==null?void 0:j.type)==="error")throw j;return de({loader:E[1],url:t,params:r,route:a,parent:async()=>{var je;const Te={};for(let me=0;me{});const C=[];for(let E=0;EPromise.resolve({}),server_data_node:pe(c)}),b={node:await d(),loader:d,universal:null,server:null,data:null};return await Y({url:t,params:a,branch:[v,b],status:e,error:i,route:null})}function X(e,i){if(_e(e,J))return;const t=se(e);for(const r of u){const a=r.exec(t);if(a)return{id:e.pathname+e.search,invalidating:i,route:r,params:Qe(a),url:e}}}function se(e){return Ze(e.pathname.slice(J.length)||"/")}function xe({url:e,type:i,intent:t,delta:r}){var v,b;let a=!1;const c={from:{params:h.params,route:{id:((v=h.route)==null?void 0:v.id)??null},url:h.url},to:{params:(t==null?void 0:t.params)??null,route:{id:((b=t==null?void 0:t.route)==null?void 0:b.id)??null},url:e},willUnload:!t,type:i};r!==void 0&&(c.delta=r);const p={...c,cancel:()=>{a=!0}};return P||w.before_navigate.forEach(_=>_(p)),a?null:c}async function ce({url:e,scroll:i,keepfocus:t,redirect_chain:r,details:a,type:c,delta:p,nav_token:v={},accepted:b,blocked:_}){var $,C,E;const R=X(e,!1),A=xe({url:e,type:c,delta:p,intent:R});if(!A){_();return}const I=T;b(),P=!0,x&&F.navigating.set(A),ae=v;let g=R&&await he(R);if(!g){if(_e(e,J))return await z(e);g=await Ne(e,{id:null},await Z(new Error(`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404)}if(e=(R==null?void 0:R.url)||e,ae!==v)return!1;if(g.type==="redirect")if(r.length>10||r.includes(e.pathname))g=await ie({status:500,error:await Z(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}});else return re(new URL(g.location,e).href,{},[...r,e.pathname],v),!1;else(($=g.props.page)==null?void 0:$.status)>=400&&await F.updated.check()&&await z(e);if(S.length=0,B=!1,N=!0,ve(I),Re(I),(C=g.props.page)!=null&&C.url&&g.props.page.url.pathname!==e.pathname&&(e.pathname=(E=g.props.page)==null?void 0:E.url.pathname),a){const O=a.replaceState?0:1;if(a.state[M]=T+=O,history[a.replaceState?"replaceState":"pushState"](a.state,"",e),!a.replaceState){let L=T+1;for(;Q[L]||K[L];)delete Q[L],delete K[L],L+=1}}y=null,x?(h=g.state,g.props.page&&(g.props.page.url=e),V.$set(g.props)):Oe(g);const{activeElement:m}=document;if(await ye(),k){const O=e.hash&&document.getElementById(decodeURIComponent(e.hash.slice(1)));i?scrollTo(i.x,i.y):O?O.scrollIntoView():scrollTo(0,0)}const U=document.activeElement!==m&&document.activeElement!==document.body;!t&&!U&&Ee(),k=!0,g.props.page&&(q=g.props.page),P=!1,c==="popstate"&&Ae(T),w.after_navigate.forEach(O=>O(A)),F.navigating.set(null),N=!1}async function Ne(e,i,t,r){return e.origin===location.origin&&e.pathname===location.pathname&&!D?await ie({status:r,error:t,url:e,route:i}):await z(e)}function z(e){return location.href=e.href,new Promise(()=>{})}function We(){let e;f.addEventListener("mousemove",c=>{const p=c.target;clearTimeout(e),e=setTimeout(()=>{r(p,2)},20)});function i(c){r(c.composedPath()[0],1)}f.addEventListener("mousedown",i),f.addEventListener("touchstart",i,{passive:!0});const t=new IntersectionObserver(c=>{for(const p of c)p.isIntersecting&&(oe(se(new URL(p.target.href))),t.unobserve(p.target))},{threshold:0});function r(c,p){const v=Me(c,f);if(!v)return;const{url:b,external:_,download:R}=we(v,J);if(_||R)return;const A=le(v);if(!A.reload)if(p<=A.preload_data){const I=X(b,!1);I&&Le(I)}else p<=A.preload_code&&oe(se(b))}function a(){t.disconnect();for(const c of f.querySelectorAll("a")){const{url:p,external:v,download:b}=we(c,J);if(v||b)continue;const _=le(c);_.reload||(_.preload_code===Ve.viewport&&t.observe(c),_.preload_code===Ve.eager&&oe(se(p)))}}w.after_navigate.push(a),a()}function Z(e,i){return e instanceof te?e.body:n.hooks.handleError({error:e,event:i})??{message:i.route.id!=null?"Internal Error":"Not Found"}}return{after_navigate:e=>{De(()=>(w.after_navigate.push(e),()=>{const i=w.after_navigate.indexOf(e);w.after_navigate.splice(i,1)}))},before_navigate:e=>{De(()=>(w.before_navigate.push(e),()=>{const i=w.before_navigate.indexOf(e);w.before_navigate.splice(i,1)}))},disable_scroll_handling:()=>{(N||!x)&&(k=!1)},goto:(e,i={})=>re(e,i,[]),invalidate:e=>{if(typeof e=="function")S.push(e);else{const{href:i}=new URL(e,location.href);S.push(t=>t.href===i)}return ke()},invalidate_all:()=>(B=!0,ke()),preload_data:async e=>{const i=new URL(e,Ce(document)),t=X(i,!1);if(!t)throw new Error(`Attempted to preload a URL that does not belong to this app: ${i}`);await Le(t)},preload_code:oe,apply_action:async e=>{if(e.type==="error"){const i=new URL(location.href),{branch:t,route:r}=h;if(!r)return;const a=await Ue(h.branch.length,t,r.errors);if(a){const c=await Y({url:i,params:h.params,branch:t.slice(0,a.idx).concat(a.node),status:e.status??500,error:e.error,route:r});h=c.state,V.$set(c.props),ye().then(Ee)}}else e.type==="redirect"?re(e.location,{invalidateAll:!0},[]):(V.$set({form:null,page:{...q,form:e.data,status:e.status}}),await ye(),V.$set({form:e.data}),e.type==="success"&&Ee())},_start_router:()=>{var i;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{var a;let r=!1;if(Ie(),!P){const c={from:{params:h.params,route:{id:((a=h.route)==null?void 0:a.id)??null},url:h.url},to:null,willUnload:!0,type:"leave",cancel:()=>r=!0};w.before_navigate.forEach(p=>p(c))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ie()}),(i=navigator.connection)!=null&&i.saveData||We(),f.addEventListener("click",t=>{var I;if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=Me(t.composedPath()[0],f);if(!r)return;const{url:a,external:c,target:p,download:v}=we(r,J);if(!a)return;if(p==="_parent"||p==="_top"){if(window.parent!==window)return}else if(p&&p!=="_self")return;const b=le(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||v)return;if(c||b.reload){xe({url:a,type:"link"})?P=!0:t.preventDefault();return}const[R,A]=a.href.split("#");if(A!==void 0&&R===location.href.split("#")[0]){if(h.url.hash===a.hash){t.preventDefault(),(I=r.ownerDocument.getElementById(A))==null||I.scrollIntoView();return}if(H=!0,ve(T),e(a),!b.replace_state)return;H=!1,t.preventDefault()}ce({url:a,scroll:b.noscroll?ee():null,keepfocus:b.keep_focus??!1,redirect_chain:[],details:{state:{},replaceState:b.replace_state??a.href===location.href},accepted:()=>t.preventDefault(),blocked:()=>t.preventDefault(),type:"link"})}),f.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formMethod)||r.method)!=="get")return;const p=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(_e(p,J))return;const v=t.target,{keep_focus:b,noscroll:_,reload:R,replace_state:A}=le(v);if(R)return;t.preventDefault(),t.stopPropagation();const I=new FormData(v),g=a==null?void 0:a.getAttribute("name");g&&I.append(g,(a==null?void 0:a.getAttribute("value"))??""),p.search=new URLSearchParams(I).toString(),ce({url:p,scroll:_?ee():null,keepfocus:b??!1,redirect_chain:[],details:{state:{},replaceState:A??p.href===location.href},nav_token:{},accepted:()=>{},blocked:()=>{},type:"form"})}),addEventListener("popstate",async t=>{var r;if((r=t.state)!=null&&r[M]){if(t.state[M]===T)return;const a=K[t.state[M]];if(h.url.href.split("#")[0]===location.href.split("#")[0]){K[T]=ee(),T=t.state[M],scrollTo(a.x,a.y);return}const c=t.state[M]-T;await ce({url:new URL(location.href),scroll:a,keepfocus:!1,redirect_chain:[],details:null,accepted:()=>{T=t.state[M]},blocked:()=>{history.go(-c)},type:"popstate",delta:c})}else if(!H){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{H&&(H=!1,history.replaceState({...history.state,[M]:++T},"",location.href))});for(const t of document.querySelectorAll("link"))t.rel==="icon"&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&F.navigating.set(null)});function e(t){h.url=t,F.page.set({...q,url:t}),F.page.notify()}},_hydrate:async({status:e=200,error:i,node_ids:t,params:r,route:a,data:c,form:p})=>{D=!0;const v=new URL(location.href);({params:r={},route:a={id:null}}=X(v,!1)||{});let b;try{const _=t.map(async(I,g)=>{const m=c[g];return m!=null&&m.uses&&(m.uses=ze(m.uses)),de({loader:n.nodes[I],url:v,params:r,route:a,parent:async()=>{const U={};for(let $=0;$I===a.id);if(A){const I=A.layouts;for(let g=0;gd?"1":"0").join(""));const s=await fe(u.href);if(!s.ok)throw new te(s.status,await s.json());return new Promise(async d=>{var h;const f=new Map,S=s.body.getReader(),l=new TextDecoder;function y(D){return bt(D,{Promise:x=>new Promise((k,N)=>{f.set(x,{fulfil:k,reject:N})})})}let w="";for(;;){const{done:D,value:x}=await S.read();if(D&&!w)break;for(w+=!x&&w?` +import{o as De,t as ye}from"../chunks/scheduler.e108d1fd.js";import{S as Be,a as Ge,I as M,g as Ce,f as Me,b as we,c as le,s as ee,i as _e,d as F,P as Ve,e as Ye}from"../chunks/singletons.4bc7c4c6.js";import{b as J}from"../chunks/paths.94df1700.js";function Xe(n,o){return n==="/"||o==="ignore"?n:o==="never"?n.endsWith("/")?n.slice(0,-1):n:o==="always"&&!n.endsWith("/")?n+"/":n}function Ze(n){return n.split("%25").map(decodeURI).join("%25")}function Qe(n){for(const o in n)n[o]=decodeURIComponent(n[o]);return n}const et=["href","pathname","search","searchParams","toString","toJSON"];function tt(n,o){const u=new URL(n);for(const s of et)Object.defineProperty(u,s,{get(){return o(),n[s]},enumerable:!0,configurable:!0});return nt(u),u}function nt(n){Object.defineProperty(n,"hash",{get(){throw new Error("Cannot access event.url.hash. Consider using `$page.url.hash` inside a component instead")}})}const at="/__data.json";function rt(n){return n.replace(/\/$/,"")+at}function ot(...n){let o=5381;for(const u of n)if(typeof u=="string"){let s=u.length;for(;s;)o=o*33^u.charCodeAt(--s)}else if(ArrayBuffer.isView(u)){const s=new Uint8Array(u.buffer,u.byteOffset,u.byteLength);let d=s.length;for(;d;)o=o*33^s[--d]}else throw new TypeError("value must be a string or TypedArray");return(o>>>0).toString(36)}const fe=window.fetch;window.fetch=(n,o)=>((n instanceof Request?n.method:(o==null?void 0:o.method)||"GET")!=="GET"&&ne.delete(Se(n)),fe(n,o));const ne=new Map;function it(n,o){const u=Se(n,o),s=document.querySelector(u);if(s!=null&&s.textContent){const{body:d,...f}=JSON.parse(s.textContent),S=s.getAttribute("data-ttl");return S&&ne.set(u,{body:d,init:f,ttl:1e3*Number(S)}),Promise.resolve(new Response(d,f))}return fe(n,o)}function st(n,o,u){if(ne.size>0){const s=Se(n,u),d=ne.get(s);if(d){if(performance.now(){const d=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(s);if(d)return o.push({name:d[1],matcher:d[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const f=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(s);if(f)return o.push({name:f[1],matcher:f[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!s)return;const S=s.split(/\[(.+?)\](?!\])/);return"/"+S.map((y,w)=>{if(w%2){if(y.startsWith("x+"))return be(String.fromCharCode(parseInt(y.slice(2),16)));if(y.startsWith("u+"))return be(String.fromCharCode(...y.slice(2).split("-").map(P=>parseInt(P,16))));const h=ct.exec(y);if(!h)throw new Error(`Invalid param: ${y}. Params and matcher names can only have underscores and alphanumeric characters.`);const[,D,x,k,N]=h;return o.push({name:k,matcher:N,optional:!!D,rest:!!x,chained:x?w===1&&S[0]==="":!1}),x?"(.*?)":D?"([^/]*)?":"([^/]+?)"}return be(y)}).join("")}).join("")}/?$`),params:o}}function ft(n){return!/^\([^)]+\)$/.test(n)}function ut(n){return n.slice(1).split("/").filter(ft)}function dt(n,o,u){const s={},d=n.slice(1);let f=0;for(let S=0;Sw).join("/"),f=0),y===void 0){l.rest&&(s[l.name]="");continue}if(!l.matcher||u[l.matcher](y)){s[l.name]=y;const w=o[S+1],h=d[S+1];w&&!w.rest&&w.optional&&h&&l.chained&&(f=0);continue}if(l.optional&&l.chained){f++;continue}return}if(!f)return s}function be(n){return n.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function pt({nodes:n,server_loads:o,dictionary:u,matchers:s}){const d=new Set(o);return Object.entries(u).map(([l,[y,w,h]])=>{const{pattern:D,params:x}=lt(l),k={id:l,exec:N=>{const P=D.exec(N);if(P)return dt(P,x,s)},errors:[1,...h||[]].map(N=>n[N]),layouts:[0,...w||[]].map(S),leaf:f(y)};return k.errors.length=k.layouts.length=Math.max(k.errors.length,k.layouts.length),k});function f(l){const y=l<0;return y&&(l=~l),[y,n[l]]}function S(l){return l===void 0?l:[d.has(l),n[l]]}}function Je(n){try{return JSON.parse(sessionStorage[n])}catch{}}function qe(n,o){const u=JSON.stringify(o);try{sessionStorage[n]=u}catch{}}const ht=-1,gt=-2,mt=-3,yt=-4,wt=-5,_t=-6;function bt(n,o){if(typeof n=="number")return d(n,!0);if(!Array.isArray(n)||n.length===0)throw new Error("Invalid input");const u=n,s=Array(u.length);function d(f,S=!1){if(f===ht)return;if(f===mt)return NaN;if(f===yt)return 1/0;if(f===wt)return-1/0;if(f===_t)return-0;if(S)throw new Error("Invalid input");if(f in s)return s[f];const l=u[f];if(!l||typeof l!="object")s[f]=l;else if(Array.isArray(l))if(typeof l[0]=="string"){const y=l[0],w=o==null?void 0:o[y];if(w)return s[f]=w(d(l[1]));switch(y){case"Date":s[f]=new Date(l[1]);break;case"Set":const h=new Set;s[f]=h;for(let k=1;ko!=null)}const Ke=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Ke];const Et=new Set([...Ke]);[...Et];async function St(n){var o;for(const u in n)if(typeof((o=n[u])==null?void 0:o.then)=="function")return Object.fromEntries(await Promise.all(Object.entries(n).map(async([s,d])=>[s,await d])));return n}class te{constructor(o,u){this.status=o,typeof u=="string"?this.body={message:u}:u?this.body=u:this.body={message:`Error: ${o}`}}toString(){return JSON.stringify(this.body)}}class Fe{constructor(o,u){this.status=o,this.location=u}}const kt="x-sveltekit-invalidated",Rt="x-sveltekit-trailing-slash",K=Je(Be)??{},Q=Je(Ge)??{};function ve(n){K[n]=ee()}function At(n,o){var $e;const u=pt(n),s=n.nodes[0],d=n.nodes[1];s(),d();const f=document.documentElement,S=[],l=[];let y=null;const w={before_navigate:[],after_navigate:[]};let h={branch:[],error:null,url:null},D=!1,x=!1,k=!0,N=!1,P=!1,H=!1,B=!1,V,T=($e=history.state)==null?void 0:$e[M];T||(T=Date.now(),history.replaceState({...history.state,[M]:T},"",location.href));const ue=K[T];ue&&(history.scrollRestoration="manual",scrollTo(ue.x,ue.y));let q,ae,W;async function ke(){if(W=W||Promise.resolve(),await W,!W)return;W=null;const e=new URL(location.href),i=X(e,!0);y=null;const t=ae={},r=i&&await he(i);if(t===ae&&r){if(r.type==="redirect")return re(new URL(r.location,e).href,{},[e.pathname],t);r.props.page!==void 0&&(q=r.props.page),V.$set(r.props)}}function Re(e){l.some(i=>i==null?void 0:i.snapshot)&&(Q[e]=l.map(i=>{var t;return(t=i==null?void 0:i.snapshot)==null?void 0:t.capture()}))}function Ae(e){var i;(i=Q[e])==null||i.forEach((t,r)=>{var a,c;(c=(a=l[r])==null?void 0:a.snapshot)==null||c.restore(t)})}function Ie(){ve(T),qe(Be,K),Re(T),qe(Ge,Q)}async function re(e,{noScroll:i=!1,replaceState:t=!1,keepFocus:r=!1,state:a={},invalidateAll:c=!1},p,v){return typeof e=="string"&&(e=new URL(e,Ce(document))),ce({url:e,scroll:i?ee():null,keepfocus:r,redirect_chain:p,details:{state:a,replaceState:t},nav_token:v,accepted:()=>{c&&(B=!0)},blocked:()=>{},type:"goto"})}async function Le(e){return y={id:e.id,promise:he(e).then(i=>(i.type==="loaded"&&i.state.error&&(y=null),i))},y.promise}async function oe(...e){const t=u.filter(r=>e.some(a=>r.exec(a))).map(r=>Promise.all([...r.layouts,r.leaf].map(a=>a==null?void 0:a[1]())));await Promise.all(t)}function Oe(e){var r;h=e.state;const i=document.querySelector("style[data-sveltekit]");i&&i.remove(),q=e.props.page,V=new n.root({target:o,props:{...e.props,stores:F,components:l},hydrate:!0}),Ae(T);const t={from:null,to:{params:h.params,route:{id:((r=h.route)==null?void 0:r.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter"};w.after_navigate.forEach(a=>a(t)),x=!0}async function Y({url:e,params:i,branch:t,status:r,error:a,route:c,form:p}){let v="never";for(const g of t)(g==null?void 0:g.slash)!==void 0&&(v=g.slash);e.pathname=Xe(e.pathname,v),e.search=e.search;const b={type:"loaded",state:{url:e,params:i,branch:t,error:a,route:c},props:{constructors:vt(t).map(g=>g.node.component)}};p!==void 0&&(b.props.form=p);let _={},R=!q,A=0;for(let g=0;g(v.params.add(U),m[U])}),data:(c==null?void 0:c.data)??null,url:tt(t,()=>{v.url=!0}),async fetch(m,U){let $;m instanceof Request?($=m.url,U={body:m.method==="GET"||m.method==="HEAD"?void 0:await m.blob(),cache:m.cache,credentials:m.credentials,headers:m.headers,integrity:m.integrity,keepalive:m.keepalive,method:m.method,mode:m.mode,redirect:m.redirect,referrer:m.referrer,referrerPolicy:m.referrerPolicy,signal:m.signal,...U}):$=m;const C=new URL($,t);return I(C.href),C.origin===t.origin&&($=C.href.slice(t.origin.length)),x?st($,C.href,U):it($,U)},setHeaders:()=>{},depends:I,parent(){return v.parent=!0,i()}};p=await b.universal.load.call(null,g)??null,p=p?await St(p):null}return{node:b,loader:e,server:c,universal:(R=b.universal)!=null&&R.load?{type:"data",data:p,uses:v}:null,data:p??(c==null?void 0:c.data)??null,slash:((A=b.universal)==null?void 0:A.trailingSlash)??(c==null?void 0:c.slash)}}function Pe(e,i,t,r,a){if(B)return!0;if(!r)return!1;if(r.parent&&e||r.route&&i||r.url&&t)return!0;for(const c of r.params)if(a[c]!==h.params[c])return!0;for(const c of r.dependencies)if(S.some(p=>p(new URL(c))))return!0;return!1}function pe(e,i){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?i??null:null}async function he({id:e,invalidating:i,url:t,params:r,route:a}){if((y==null?void 0:y.id)===e)return y.promise;const{errors:c,layouts:p,leaf:v}=a,b=[...p,v];c.forEach(E=>E==null?void 0:E().catch(()=>{})),b.forEach(E=>E==null?void 0:E[1]().catch(()=>{}));let _=null;const R=h.url?e!==h.url.pathname+h.url.search:!1,A=h.route?a.id!==h.route.id:!1;let I=!1;const g=b.map((E,O)=>{var G;const L=h.branch[O],j=!!(E!=null&&E[0])&&((L==null?void 0:L.loader)!==E[1]||Pe(I,A,R,(G=L.server)==null?void 0:G.uses,r));return j&&(I=!0),j});if(g.some(Boolean)){try{_=await He(t,g)}catch(E){return ie({status:E instanceof te?E.status:500,error:await Z(E,{url:t,params:r,route:{id:a.id}}),url:t,route:a})}if(_.type==="redirect")return _}const m=_==null?void 0:_.nodes;let U=!1;const $=b.map(async(E,O)=>{var ge;if(!E)return;const L=h.branch[O],j=m==null?void 0:m[O];if((!j||j.type==="skip")&&E[1]===(L==null?void 0:L.loader)&&!Pe(U,A,R,(ge=L.universal)==null?void 0:ge.uses,r))return L;if(U=!0,(j==null?void 0:j.type)==="error")throw j;return de({loader:E[1],url:t,params:r,route:a,parent:async()=>{var je;const Te={};for(let me=0;me{});const C=[];for(let E=0;EPromise.resolve({}),server_data_node:pe(c)}),b={node:await d(),loader:d,universal:null,server:null,data:null};return await Y({url:t,params:a,branch:[v,b],status:e,error:i,route:null})}function X(e,i){if(_e(e,J))return;const t=se(e);for(const r of u){const a=r.exec(t);if(a)return{id:e.pathname+e.search,invalidating:i,route:r,params:Qe(a),url:e}}}function se(e){return Ze(e.pathname.slice(J.length)||"/")}function xe({url:e,type:i,intent:t,delta:r}){var v,b;let a=!1;const c={from:{params:h.params,route:{id:((v=h.route)==null?void 0:v.id)??null},url:h.url},to:{params:(t==null?void 0:t.params)??null,route:{id:((b=t==null?void 0:t.route)==null?void 0:b.id)??null},url:e},willUnload:!t,type:i};r!==void 0&&(c.delta=r);const p={...c,cancel:()=>{a=!0}};return P||w.before_navigate.forEach(_=>_(p)),a?null:c}async function ce({url:e,scroll:i,keepfocus:t,redirect_chain:r,details:a,type:c,delta:p,nav_token:v={},accepted:b,blocked:_}){var $,C,E;const R=X(e,!1),A=xe({url:e,type:c,delta:p,intent:R});if(!A){_();return}const I=T;b(),P=!0,x&&F.navigating.set(A),ae=v;let g=R&&await he(R);if(!g){if(_e(e,J))return await z(e);g=await Ne(e,{id:null},await Z(new Error(`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404)}if(e=(R==null?void 0:R.url)||e,ae!==v)return!1;if(g.type==="redirect")if(r.length>10||r.includes(e.pathname))g=await ie({status:500,error:await Z(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}});else return re(new URL(g.location,e).href,{},[...r,e.pathname],v),!1;else(($=g.props.page)==null?void 0:$.status)>=400&&await F.updated.check()&&await z(e);if(S.length=0,B=!1,N=!0,ve(I),Re(I),(C=g.props.page)!=null&&C.url&&g.props.page.url.pathname!==e.pathname&&(e.pathname=(E=g.props.page)==null?void 0:E.url.pathname),a){const O=a.replaceState?0:1;if(a.state[M]=T+=O,history[a.replaceState?"replaceState":"pushState"](a.state,"",e),!a.replaceState){let L=T+1;for(;Q[L]||K[L];)delete Q[L],delete K[L],L+=1}}y=null,x?(h=g.state,g.props.page&&(g.props.page.url=e),V.$set(g.props)):Oe(g);const{activeElement:m}=document;if(await ye(),k){const O=e.hash&&document.getElementById(decodeURIComponent(e.hash.slice(1)));i?scrollTo(i.x,i.y):O?O.scrollIntoView():scrollTo(0,0)}const U=document.activeElement!==m&&document.activeElement!==document.body;!t&&!U&&Ee(),k=!0,g.props.page&&(q=g.props.page),P=!1,c==="popstate"&&Ae(T),w.after_navigate.forEach(O=>O(A)),F.navigating.set(null),N=!1}async function Ne(e,i,t,r){return e.origin===location.origin&&e.pathname===location.pathname&&!D?await ie({status:r,error:t,url:e,route:i}):await z(e)}function z(e){return location.href=e.href,new Promise(()=>{})}function We(){let e;f.addEventListener("mousemove",c=>{const p=c.target;clearTimeout(e),e=setTimeout(()=>{r(p,2)},20)});function i(c){r(c.composedPath()[0],1)}f.addEventListener("mousedown",i),f.addEventListener("touchstart",i,{passive:!0});const t=new IntersectionObserver(c=>{for(const p of c)p.isIntersecting&&(oe(se(new URL(p.target.href))),t.unobserve(p.target))},{threshold:0});function r(c,p){const v=Me(c,f);if(!v)return;const{url:b,external:_,download:R}=we(v,J);if(_||R)return;const A=le(v);if(!A.reload)if(p<=A.preload_data){const I=X(b,!1);I&&Le(I)}else p<=A.preload_code&&oe(se(b))}function a(){t.disconnect();for(const c of f.querySelectorAll("a")){const{url:p,external:v,download:b}=we(c,J);if(v||b)continue;const _=le(c);_.reload||(_.preload_code===Ve.viewport&&t.observe(c),_.preload_code===Ve.eager&&oe(se(p)))}}w.after_navigate.push(a),a()}function Z(e,i){return e instanceof te?e.body:n.hooks.handleError({error:e,event:i})??{message:i.route.id!=null?"Internal Error":"Not Found"}}return{after_navigate:e=>{De(()=>(w.after_navigate.push(e),()=>{const i=w.after_navigate.indexOf(e);w.after_navigate.splice(i,1)}))},before_navigate:e=>{De(()=>(w.before_navigate.push(e),()=>{const i=w.before_navigate.indexOf(e);w.before_navigate.splice(i,1)}))},disable_scroll_handling:()=>{(N||!x)&&(k=!1)},goto:(e,i={})=>re(e,i,[]),invalidate:e=>{if(typeof e=="function")S.push(e);else{const{href:i}=new URL(e,location.href);S.push(t=>t.href===i)}return ke()},invalidate_all:()=>(B=!0,ke()),preload_data:async e=>{const i=new URL(e,Ce(document)),t=X(i,!1);if(!t)throw new Error(`Attempted to preload a URL that does not belong to this app: ${i}`);await Le(t)},preload_code:oe,apply_action:async e=>{if(e.type==="error"){const i=new URL(location.href),{branch:t,route:r}=h;if(!r)return;const a=await Ue(h.branch.length,t,r.errors);if(a){const c=await Y({url:i,params:h.params,branch:t.slice(0,a.idx).concat(a.node),status:e.status??500,error:e.error,route:r});h=c.state,V.$set(c.props),ye().then(Ee)}}else e.type==="redirect"?re(e.location,{invalidateAll:!0},[]):(V.$set({form:null,page:{...q,form:e.data,status:e.status}}),await ye(),V.$set({form:e.data}),e.type==="success"&&Ee())},_start_router:()=>{var i;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{var a;let r=!1;if(Ie(),!P){const c={from:{params:h.params,route:{id:((a=h.route)==null?void 0:a.id)??null},url:h.url},to:null,willUnload:!0,type:"leave",cancel:()=>r=!0};w.before_navigate.forEach(p=>p(c))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ie()}),(i=navigator.connection)!=null&&i.saveData||We(),f.addEventListener("click",t=>{var I;if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=Me(t.composedPath()[0],f);if(!r)return;const{url:a,external:c,target:p,download:v}=we(r,J);if(!a)return;if(p==="_parent"||p==="_top"){if(window.parent!==window)return}else if(p&&p!=="_self")return;const b=le(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||v)return;if(c||b.reload){xe({url:a,type:"link"})?P=!0:t.preventDefault();return}const[R,A]=a.href.split("#");if(A!==void 0&&R===location.href.split("#")[0]){if(h.url.hash===a.hash){t.preventDefault(),(I=r.ownerDocument.getElementById(A))==null||I.scrollIntoView();return}if(H=!0,ve(T),e(a),!b.replace_state)return;H=!1,t.preventDefault()}ce({url:a,scroll:b.noscroll?ee():null,keepfocus:b.keep_focus??!1,redirect_chain:[],details:{state:{},replaceState:b.replace_state??a.href===location.href},accepted:()=>t.preventDefault(),blocked:()=>t.preventDefault(),type:"link"})}),f.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formMethod)||r.method)!=="get")return;const p=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(_e(p,J))return;const v=t.target,{keep_focus:b,noscroll:_,reload:R,replace_state:A}=le(v);if(R)return;t.preventDefault(),t.stopPropagation();const I=new FormData(v),g=a==null?void 0:a.getAttribute("name");g&&I.append(g,(a==null?void 0:a.getAttribute("value"))??""),p.search=new URLSearchParams(I).toString(),ce({url:p,scroll:_?ee():null,keepfocus:b??!1,redirect_chain:[],details:{state:{},replaceState:A??p.href===location.href},nav_token:{},accepted:()=>{},blocked:()=>{},type:"form"})}),addEventListener("popstate",async t=>{var r;if((r=t.state)!=null&&r[M]){if(t.state[M]===T)return;const a=K[t.state[M]];if(h.url.href.split("#")[0]===location.href.split("#")[0]){K[T]=ee(),T=t.state[M],scrollTo(a.x,a.y);return}const c=t.state[M]-T;await ce({url:new URL(location.href),scroll:a,keepfocus:!1,redirect_chain:[],details:null,accepted:()=>{T=t.state[M]},blocked:()=>{history.go(-c)},type:"popstate",delta:c})}else if(!H){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{H&&(H=!1,history.replaceState({...history.state,[M]:++T},"",location.href))});for(const t of document.querySelectorAll("link"))t.rel==="icon"&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&F.navigating.set(null)});function e(t){h.url=t,F.page.set({...q,url:t}),F.page.notify()}},_hydrate:async({status:e=200,error:i,node_ids:t,params:r,route:a,data:c,form:p})=>{D=!0;const v=new URL(location.href);({params:r={},route:a={id:null}}=X(v,!1)||{});let b;try{const _=t.map(async(I,g)=>{const m=c[g];return m!=null&&m.uses&&(m.uses=ze(m.uses)),de({loader:n.nodes[I],url:v,params:r,route:a,parent:async()=>{const U={};for(let $=0;$I===a.id);if(A){const I=A.layouts;for(let g=0;gd?"1":"0").join(""));const s=await fe(u.href);if(!s.ok)throw new te(s.status,await s.json());return new Promise(async d=>{var h;const f=new Map,S=s.body.getReader(),l=new TextDecoder;function y(D){return bt(D,{Promise:x=>new Promise((k,N)=>{f.set(x,{fulfil:k,reject:N})})})}let w="";for(;;){const{done:D,value:x}=await S.read();if(D&&!w)break;for(w+=!x&&w?` `:l.decode(x);;){const k=w.indexOf(` `);if(k===-1)break;const N=JSON.parse(w.slice(0,k));if(w=w.slice(k+1),N.type==="redirect")return d(N);if(N.type==="data")(h=N.nodes)==null||h.forEach(P=>{(P==null?void 0:P.type)==="data"&&(P.uses=ze(P.uses),P.data=y(P.data))}),d(N);else if(N.type==="chunk"){const{id:P,data:H,error:B}=N,V=f.get(P);f.delete(P),B?V.reject(y(B)):V.fulfil(y(H))}}}})}function ze(n){return{dependencies:new Set((n==null?void 0:n.dependencies)??[]),params:new Set((n==null?void 0:n.params)??[]),parent:!!(n!=null&&n.parent),route:!!(n!=null&&n.route),url:!!(n!=null&&n.url)}}function Ee(){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const o=document.body,u=o.getAttribute("tabindex");o.tabIndex=-1,o.focus({preventScroll:!0,focusVisible:!1}),u!==null?o.setAttribute("tabindex",u):o.removeAttribute("tabindex");const s=getSelection();if(s&&s.type!=="None"){const d=[];for(let f=0;f{if(s.rangeCount===d.length){for(let f=0;fHome
  • My projects
  • `,r,l;const c=o[1].default,s=h(c,o,o[0],null);return{c(){t=_("div"),a=_("ul"),a.innerHTML=i,r=k(),s&&s.c(),this.h()},l(e){t=u(e,"DIV",{class:!0});var n=q(t);a=u(n,"UL",{class:!0,"data-svelte-h":!0}),L(a)!=="svelte-1cof0v9"&&(a.innerHTML=i),r=M(n),s&&s.l(n),n.forEach(f),this.h()},h(){p(a,"class","svelte-sfbiqk"),p(t,"class","container")},m(e,n){S(e,t,n),d(t,a),d(t,r),s&&s.m(t,null),l=!0},p(e,[n]){s&&s.p&&(!l||n&1)&&y(s,c,e,e[0],l?b(c,e[0],n,null):$(e[0]),null)},i(e){l||(H(s,e),l=!0)},o(e){T(s,e),l=!1},d(e){e&&f(t),s&&s.d(e)}}}function z(o,t,a){let{$$slots:i={},$$scope:r}=t;return o.$$set=l=>{"$$scope"in l&&a(0,r=l.$$scope)},[r,i]}class U extends g{constructor(t){super(),j(this,t,z,O,v,{})}}export{U as component,P as universal}; +import{s as v,c as h,u as y,g as $,d as b}from"../chunks/scheduler.e108d1fd.js";import{S as g,i as j,g as _,s as k,h as u,j as q,x as L,c as M,f,k as p,a as S,y as d,d as H,t as T}from"../chunks/index.aaba837c.js";import{b as m}from"../chunks/paths.94df1700.js";const C=!0,P=Object.freeze(Object.defineProperty({__proto__:null,prerender:C},Symbol.toStringTag,{value:"Module"}));function O(o){let t,a,i=`
  • Home
  • My projects
  • `,r,l;const c=o[1].default,s=h(c,o,o[0],null);return{c(){t=_("div"),a=_("ul"),a.innerHTML=i,r=k(),s&&s.c(),this.h()},l(e){t=u(e,"DIV",{class:!0});var n=q(t);a=u(n,"UL",{class:!0,"data-svelte-h":!0}),L(a)!=="svelte-1cof0v9"&&(a.innerHTML=i),r=M(n),s&&s.l(n),n.forEach(f),this.h()},h(){p(a,"class","svelte-sfbiqk"),p(t,"class","container")},m(e,n){S(e,t,n),d(t,a),d(t,r),s&&s.m(t,null),l=!0},p(e,[n]){s&&s.p&&(!l||n&1)&&y(s,c,e,e[0],l?b(c,e[0],n,null):$(e[0]),null)},i(e){l||(H(s,e),l=!0)},o(e){T(s,e),l=!1},d(e){e&&f(t),s&&s.d(e)}}}function z(o,t,a){let{$$slots:i={},$$scope:r}=t;return o.$$set=l=>{"$$scope"in l&&a(0,r=l.$$scope)},[r,i]}class U extends g{constructor(t){super(),j(this,t,z,O,v,{})}}export{U as component,P as universal}; diff --git a/_app/immutable/nodes/1.6f32dff4.js b/_app/immutable/nodes/1.4e5e0f0d.js similarity index 93% rename from _app/immutable/nodes/1.6f32dff4.js rename to _app/immutable/nodes/1.4e5e0f0d.js index 905cafb..ef8f26b 100644 --- a/_app/immutable/nodes/1.6f32dff4.js +++ b/_app/immutable/nodes/1.4e5e0f0d.js @@ -1 +1 @@ -import{s as S,n as _,e as x}from"../chunks/scheduler.e108d1fd.js";import{S as y,i as j,g as f,m as d,s as q,h as g,j as h,n as v,f as u,c as C,a as m,y as $,o as E}from"../chunks/index.aaba837c.js";import{d as H}from"../chunks/singletons.da05df94.js";const P=()=>{const s=H;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},k={subscribe(s){return P().page.subscribe(s)}};function w(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",l;return{c(){t=f("h1"),o=d(r),n=q(),i=f("p"),l=d(c)},l(e){t=g(e,"H1",{});var a=h(t);o=v(a,r),a.forEach(u),n=C(e),i=g(e,"P",{});var p=h(i);l=v(p,c),p.forEach(u)},m(e,a){m(e,t,a),$(t,o),m(e,n,a),m(e,i,a),$(i,l)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&E(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&E(l,c)},i:_,o:_,d(e){e&&(u(t),u(n),u(i))}}}function z(s,t,r){let o;return x(s,k,n=>r(0,o=n)),[o]}let F=class extends y{constructor(t){super(),j(this,t,z,w,S,{})}};export{F as component}; +import{s as S,n as _,e as x}from"../chunks/scheduler.e108d1fd.js";import{S as y,i as j,g as f,m as d,s as q,h as g,j as h,n as v,f as u,c as C,a as m,y as $,o as E}from"../chunks/index.aaba837c.js";import{d as H}from"../chunks/singletons.4bc7c4c6.js";const P=()=>{const s=H;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},k={subscribe(s){return P().page.subscribe(s)}};function w(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",l;return{c(){t=f("h1"),o=d(r),n=q(),i=f("p"),l=d(c)},l(e){t=g(e,"H1",{});var a=h(t);o=v(a,r),a.forEach(u),n=C(e),i=g(e,"P",{});var p=h(i);l=v(p,c),p.forEach(u)},m(e,a){m(e,t,a),$(t,o),m(e,n,a),m(e,i,a),$(i,l)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&E(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&E(l,c)},i:_,o:_,d(e){e&&(u(t),u(n),u(i))}}}function z(s,t,r){let o;return x(s,k,n=>r(0,o=n)),[o]}let F=class extends y{constructor(t){super(),j(this,t,z,w,S,{})}};export{F as component}; diff --git a/_app/immutable/nodes/2.852d482a.js b/_app/immutable/nodes/2.58ec354b.js similarity index 74% rename from _app/immutable/nodes/2.852d482a.js rename to _app/immutable/nodes/2.58ec354b.js index 2a56307..7269fd8 100644 --- a/_app/immutable/nodes/2.852d482a.js +++ b/_app/immutable/nodes/2.58ec354b.js @@ -1,27 +1,27 @@ -var oe=Object.defineProperty;var ae=(o,t,n)=>t in o?oe(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n;var m=(o,t,n)=>(ae(o,typeof t!="symbol"?t+"":t,n),n),ce=(o,t,n)=>{if(!t.has(o))throw TypeError("Cannot "+n)};var Z=(o,t,n)=>{if(t.has(o))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(o):t.set(o,n)};var I=(o,t,n)=>(ce(o,t,"access private method"),n);import{s as Y,n as C}from"../chunks/scheduler.e108d1fd.js";import{S as ee,i as te,g as he,H as pe,h as ue,j as ge,z as fe,f as W,a as de,r as me,u as ke,v as xe,d as be,t as we,w as ye}from"../chunks/index.aaba837c.js";function U(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!1,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!1,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let S=U();function ne(o){S=o}const ie=/[&<>"']/,_e=new RegExp(ie.source,"g"),se=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,$e=new RegExp(se.source,"g"),ze={"&":"&","<":"<",">":">",'"':""","'":"'"},X=o=>ze[o];function y(o,t){if(t){if(ie.test(o))return o.replace(_e,X)}else if(se.test(o))return o.replace($e,X);return o}const Te=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function re(o){return o.replace(Te,(t,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}const Se=/(^|[^\[])\^/g;function x(o,t){o=typeof o=="string"?o:o.source,t=t||"";const n={replace:(e,i)=>(i=typeof i=="object"&&"source"in i?i.source:i,i=i.replace(Se,"$1"),o=o.replace(e,i),n),getRegex:()=>new RegExp(o,t)};return n}const Re=/[^\w:]/g,ve=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function G(o,t,n){if(o){let e;try{e=decodeURIComponent(re(n)).replace(Re,"").toLowerCase()}catch{return null}if(e.indexOf("javascript:")===0||e.indexOf("vbscript:")===0||e.indexOf("data:")===0)return null}t&&!ve.test(n)&&(n=Ee(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}const A={},Ie=/^[^:]+:\/*[^/]*$/,Ae=/^([^:]+:)[\s\S]*$/,Ce=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Ee(o,t){A[" "+o]||(Ie.test(o)?A[" "+o]=o+"/":A[" "+o]=E(o,"/",!0)),o=A[" "+o];const n=o.indexOf(":")===-1;return t.substring(0,2)==="//"?n?t:o.replace(Ae,"$1")+t:t.charAt(0)==="/"?n?t:o.replace(Ce,"$1")+t:o+t}const P={exec:()=>null};function K(o,t){const n=o.replace(/\|/g,(s,r,l)=>{let a=!1,p=r;for(;--p>=0&&l[p]==="\\";)a=!a;return a?"|":" |"}),e=n.split(/ \|/);let i=0;if(e[0].trim()||e.shift(),e.length>0&&!e[e.length-1].trim()&&e.pop(),t)if(e.length>t)e.splice(t);else for(;e.lengtht in a?ae(a,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[t]=n;var m=(a,t,n)=>(oe(a,typeof t!="symbol"?t+"":t,n),n),ce=(a,t,n)=>{if(!t.has(a))throw TypeError("Cannot "+n)};var U=(a,t,n)=>{if(t.has(a))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(a):t.set(a,n)};var v=(a,t,n)=>(ce(a,t,"access private method"),n);import{s as Y,n as C}from"../chunks/scheduler.e108d1fd.js";import{S as ee,i as te,g as he,H as pe,h as ue,j as ge,z as fe,f as X,a as de,r as me,u as ke,v as xe,d as be,t as we,w as ye}from"../chunks/index.aaba837c.js";function Z(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!1,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!1,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let S=Z();function ne(a){S=a}const ie=/[&<>"']/,_e=new RegExp(ie.source,"g"),se=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,$e=new RegExp(se.source,"g"),ze={"&":"&","<":"<",">":">",'"':""","'":"'"},W=a=>ze[a];function y(a,t){if(t){if(ie.test(a))return a.replace(_e,W)}else if(se.test(a))return a.replace($e,W);return a}const Te=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function re(a){return a.replace(Te,(t,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}const Se=/(^|[^\[])\^/g;function x(a,t){a=typeof a=="string"?a:a.source,t=t||"";const n={replace:(e,i)=>(i=typeof i=="object"&&"source"in i?i.source:i,i=i.replace(Se,"$1"),a=a.replace(e,i),n),getRegex:()=>new RegExp(a,t)};return n}const Re=/[^\w:]/g,Ie=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function G(a,t,n){if(a){let e;try{e=decodeURIComponent(re(n)).replace(Re,"").toLowerCase()}catch{return null}if(e.indexOf("javascript:")===0||e.indexOf("vbscript:")===0||e.indexOf("data:")===0)return null}t&&!Ie.test(n)&&(n=Ee(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}const A={},ve=/^[^:]+:\/*[^/]*$/,Ae=/^([^:]+:)[\s\S]*$/,Ce=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Ee(a,t){A[" "+a]||(ve.test(a)?A[" "+a]=a+"/":A[" "+a]=E(a,"/",!0)),a=A[" "+a];const n=a.indexOf(":")===-1;return t.substring(0,2)==="//"?n?t:a.replace(Ae,"$1")+t:t.charAt(0)==="/"?n?t:a.replace(Ce,"$1")+t:a+t}const D={exec:()=>null};function K(a,t){const n=a.replace(/\|/g,(s,r,l)=>{let o=!1,p=r;for(;--p>=0&&l[p]==="\\";)o=!o;return o?"|":" |"}),e=n.split(/ \|/);let i=0;if(e[0].trim()||e.shift(),e.length>0&&!e[e.length-1].trim()&&e.pop(),t)if(e.length>t)e.splice(t);else for(;e.length{const s=i.match(/^\s+/);if(s===null)return i;const[r]=s;return r.length>=e.length?i.slice(e.length):i}).join(` -`)}class D{constructor(t){m(this,"options");m(this,"rules");m(this,"lexer");this.options=t||S}space(t){const n=this.rules.block.newline.exec(t);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(t){const n=this.rules.block.code.exec(t);if(n){const e=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?e:E(e,` -`)}}}fences(t){const n=this.rules.block.fences.exec(t);if(n){const e=n[0],i=Le(e,n[3]||"");return{type:"code",raw:e,lang:n[2]?n[2].trim().replace(this.rules.inline._escapes,"$1"):n[2],text:i}}}heading(t){const n=this.rules.block.heading.exec(t);if(n){let e=n[2].trim();if(/#$/.test(e)){const i=E(e,"#");(this.options.pedantic||!i||/ $/.test(i))&&(e=i.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(t){const n=this.rules.block.hr.exec(t);if(n)return{type:"hr",raw:n[0]}}blockquote(t){const n=this.rules.block.blockquote.exec(t);if(n){const e=n[0].replace(/^ *>[ \t]?/gm,""),i=this.lexer.state.top;this.lexer.state.top=!0;const s=this.lexer.blockTokens(e);return this.lexer.state.top=i,{type:"blockquote",raw:n[0],tokens:s,text:e}}}list(t){let n=this.rules.block.list.exec(t);if(n){let e=n[1].trim();const i=e.length>1,s={type:"list",raw:"",ordered:i,start:i?+e.slice(0,-1):"",loose:!1,items:[]};e=i?`\\d{1,9}\\${e.slice(-1)}`:`\\${e}`,this.options.pedantic&&(e=i?e:"[*+-]");const r=new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`);let l="",a="",p=!1;for(;t;){let h=!1;if(!(n=r.exec(t))||this.rules.block.hr.test(t))break;l=n[0],t=t.substring(l.length);let f=n[2].split(` -`,1)[0].replace(/^\t+/,q=>" ".repeat(3*q.length)),u=t.split(` -`,1)[0],d=0;this.options.pedantic?(d=2,a=f.trimLeft()):(d=n[2].search(/[^ ]/),d=d>4?1:d,a=f.slice(d),d+=n[1].length);let b=!1;if(!f&&/^ *$/.test(u)&&(l+=u+` -`,t=t.substring(u.length+1),h=!0),!h){const q=new RegExp(`^ {0,${Math.min(3,d-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),H=new RegExp(`^ {0,${Math.min(3,d-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),F=new RegExp(`^ {0,${Math.min(3,d-1)}}(?:\`\`\`|~~~)`),N=new RegExp(`^ {0,${Math.min(3,d-1)}}#`);for(;t;){const B=t.split(` -`,1)[0];if(u=B,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),F.test(u)||N.test(u)||q.test(u)||H.test(t))break;if(u.search(/[^ ]/)>=d||!u.trim())a+=` -`+u.slice(d);else{if(b||f.search(/[^ ]/)>=4||F.test(f)||N.test(f)||H.test(f))break;a+=` -`+u}!b&&!u.trim()&&(b=!0),l+=B+` -`,t=t.substring(B.length+1),f=u.slice(d)}}s.loose||(p?s.loose=!0:/\n *\n *$/.test(l)&&(p=!0));let w=null,_;this.options.gfm&&(w=/^\[[ xX]\] /.exec(a),w&&(_=w[0]!=="[ ] ",a=a.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:l,task:!!w,checked:_,loose:!1,text:a,tokens:[]}),s.raw+=l}s.items[s.items.length-1].raw=l.trimRight(),s.items[s.items.length-1].text=a.trimRight(),s.raw=s.raw.trimRight();for(let h=0;hd.type==="space"),u=f.length>0&&f.some(d=>/\n.*\n/.test(d.raw));s.loose=u}if(s.loose)for(let h=0;h$/,"$1").replace(this.rules.inline._escapes,"$1"):"",s=n[3]?n[3].substring(1,n[3].length-1).replace(this.rules.inline._escapes,"$1"):n[3];return{type:"def",tag:e,raw:n[0],href:i,title:s}}}table(t){const n=this.rules.block.table.exec(t);if(n){const e={type:"table",raw:n[0],header:K(n[1]).map(i=>({text:i,tokens:[]})),align:n[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:n[3]&&n[3].trim()?n[3].replace(/\n[ \t]*$/,"").split(` -`):[]};if(e.header.length===e.align.length){let i=e.align.length,s,r,l,a;for(s=0;s({text:p,tokens:[]}));for(i=e.header.length,r=0;r/i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):y(n[0]):n[0]}}link(t){const n=this.rules.inline.link.exec(t);if(n){const e=n[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const r=E(e.slice(0,-1),"\\");if((e.length-r.length)%2===0)return}else{const r=Pe(n[2],"()");if(r>-1){const a=(n[0].indexOf("!")===0?5:4)+n[1].length+r;n[2]=n[2].substring(0,r),n[0]=n[0].substring(0,a).trim(),n[3]=""}}let i=n[2],s="";if(this.options.pedantic){const r=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);r&&(i=r[1],s=r[3])}else s=n[3]?n[3].slice(1,-1):"";return i=i.trim(),/^$/.test(e)?i=i.slice(1):i=i.slice(1,-1)),V(n,{href:i&&i.replace(this.rules.inline._escapes,"$1"),title:s&&s.replace(this.rules.inline._escapes,"$1")},n[0],this.lexer)}}reflink(t,n){let e;if((e=this.rules.inline.reflink.exec(t))||(e=this.rules.inline.nolink.exec(t))){let i=(e[2]||e[1]).replace(/\s+/g," ");if(i=n[i.toLowerCase()],!i){const s=e[0].charAt(0);return{type:"text",raw:s,text:s}}return V(e,i,e[0],this.lexer)}}emStrong(t,n,e=""){let i=this.rules.inline.emStrong.lDelim.exec(t);if(!i||i[3]&&e.match(/[\p{L}\p{N}]/u))return;if(!(i[1]||i[2]||"")||!e||this.rules.inline.punctuation.exec(e)){const r=[...i[0]].length-1;let l,a,p=r,h=0;const f=i[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(f.lastIndex=0,n=n.slice(-1*t.length+r);(i=f.exec(n))!=null;){if(l=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!l)continue;if(a=[...l].length,i[3]||i[4]){p+=a;continue}else if((i[5]||i[6])&&r%3&&!((r+a)%3)){h+=a;continue}if(p-=a,p>0)continue;a=Math.min(a,a+p+h);const u=[...t].slice(0,r+i.index+a+1).join("");if(Math.min(r,a)%2){const b=u.slice(1,-1);return{type:"em",raw:u,text:b,tokens:this.lexer.inlineTokens(b)}}const d=u.slice(2,-2);return{type:"strong",raw:u,text:d,tokens:this.lexer.inlineTokens(d)}}}}codespan(t){const n=this.rules.inline.code.exec(t);if(n){let e=n[2].replace(/\n/g," ");const i=/[^ ]/.test(e),s=/^ /.test(e)&&/ $/.test(e);return i&&s&&(e=e.substring(1,e.length-1)),e=y(e,!0),{type:"codespan",raw:n[0],text:e}}}br(t){const n=this.rules.inline.br.exec(t);if(n)return{type:"br",raw:n[0]}}del(t){const n=this.rules.inline.del.exec(t);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2])}}autolink(t,n){const e=this.rules.inline.autolink.exec(t);if(e){let i,s;return e[2]==="@"?(i=y(this.options.mangle?n(e[1]):e[1]),s="mailto:"+i):(i=y(e[1]),s=i),{type:"link",raw:e[0],text:i,href:s,tokens:[{type:"text",raw:i,text:i}]}}}url(t,n){let e;if(e=this.rules.inline.url.exec(t)){let i,s;if(e[2]==="@")i=y(this.options.mangle?n(e[0]):e[0]),s="mailto:"+i;else{let r;do r=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])[0];while(r!==e[0]);i=y(e[0]),e[1]==="www."?s="http://"+e[0]:s=e[0]}return{type:"link",raw:e[0],text:i,href:s,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(t,n){const e=this.rules.inline.text.exec(t);if(e){let i;return this.lexer.state.inRawBlock?i=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):y(e[0]):e[0]:i=y(this.options.smartypants?n(e[0]):e[0]),{type:"text",raw:e[0],text:i}}}}const g={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:P,lheading:/^((?:(?!^bull ).|\n(?!\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};g._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/;g._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;g.def=x(g.def).replace("label",g._label).replace("title",g._title).getRegex();g.bullet=/(?:[*+-]|\d{1,9}[.)])/;g.listItemStart=x(/^( *)(bull) */).replace("bull",g.bullet).getRegex();g.list=x(g.list).replace(/bull/g,g.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+g.def.source+")").getRegex();g._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";g._comment=/|$)/;g.html=x(g.html,"i").replace("comment",g._comment).replace("tag",g._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();g.lheading=x(g.lheading).replace(/bull/g,g.bullet).getRegex();g.paragraph=x(g._paragraph).replace("hr",g.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",g._tag).getRegex();g.blockquote=x(g.blockquote).replace("paragraph",g.paragraph).getRegex();g.normal={...g};g.gfm={...g.normal,table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"};g.gfm.table=x(g.gfm.table).replace("hr",g.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",g._tag).getRegex();g.gfm.paragraph=x(g._paragraph).replace("hr",g.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",g.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",g._tag).getRegex();g.pedantic={...g.normal,html:x(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",g._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:P,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:x(g.normal._paragraph).replace("hr",g.hr).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",g.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const c={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:P,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,rDelimAst:/^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:P,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`^|~";c.punctuation=x(c.punctuation,"u").replace(/punctuation/g,c._punctuation).getRegex();c.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g;c.anyPunctuation=/\\[punct]/g;c._escapes=/\\([punct])/g;c._comment=x(g._comment).replace("(?:-->|$)","-->").getRegex();c.emStrong.lDelim=x(c.emStrong.lDelim,"u").replace(/punct/g,c._punctuation).getRegex();c.emStrong.rDelimAst=x(c.emStrong.rDelimAst,"gu").replace(/punct/g,c._punctuation).getRegex();c.emStrong.rDelimUnd=x(c.emStrong.rDelimUnd,"gu").replace(/punct/g,c._punctuation).getRegex();c.anyPunctuation=x(c.anyPunctuation,"gu").replace(/punct/g,c._punctuation).getRegex();c._escapes=x(c._escapes,"gu").replace(/punct/g,c._punctuation).getRegex();c._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;c._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;c.autolink=x(c.autolink).replace("scheme",c._scheme).replace("email",c._email).getRegex();c._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;c.tag=x(c.tag).replace("comment",c._comment).replace("attribute",c._attribute).getRegex();c._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;c._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;c._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;c.link=x(c.link).replace("label",c._label).replace("href",c._href).replace("title",c._title).getRegex();c.reflink=x(c.reflink).replace("label",c._label).replace("ref",g._label).getRegex();c.nolink=x(c.nolink).replace("ref",g._label).getRegex();c.reflinkSearch=x(c.reflinkSearch,"g").replace("reflink",c.reflink).replace("nolink",c.nolink).getRegex();c.normal={...c};c.pedantic={...c.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:x(/^!?\[(label)\]\((.*?)\)/).replace("label",c._label).getRegex(),reflink:x(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",c._label).getRegex()};c.gfm={...c.normal,escape:x(c.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5?"x"+o.charCodeAt(n).toString(16):o.charCodeAt(n).toString();t+="&#"+e+";"}return t}class ${constructor(t){m(this,"tokens");m(this,"options");m(this,"state");m(this,"tokenizer");m(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||S,this.options.tokenizer=this.options.tokenizer||new D,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const n={block:g.normal,inline:c.normal};this.options.pedantic?(n.block=g.pedantic,n.inline=c.pedantic):this.options.gfm&&(n.block=g.gfm,this.options.breaks?n.inline=c.breaks:n.inline=c.gfm),this.tokenizer.rules=n}static get rules(){return{block:g,inline:c}}static lex(t,n){return new $(n).lex(t)}static lexInline(t,n){return new $(n).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,` -`),this.blockTokens(t,this.tokens);let n;for(;n=this.inlineQueue.shift();)this.inlineTokens(n.src,n.tokens);return this.tokens}blockTokens(t,n=[]){this.options.pedantic?t=t.replace(/\t/g," ").replace(/^ +$/gm,""):t=t.replace(/^( *)(\t+)/gm,(l,a,p)=>a+" ".repeat(p.length));let e,i,s,r;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(l=>(e=l.call({lexer:this},t,n))?(t=t.substring(e.raw.length),n.push(e),!0):!1))){if(e=this.tokenizer.space(t)){t=t.substring(e.raw.length),e.raw.length===1&&n.length>0?n[n.length-1].raw+=` +`)}class P{constructor(t){m(this,"options");m(this,"rules");m(this,"lexer");this.options=t||S}space(t){const n=this.rules.block.newline.exec(t);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(t){const n=this.rules.block.code.exec(t);if(n){const e=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?e:E(e,` +`)}}}fences(t){const n=this.rules.block.fences.exec(t);if(n){const e=n[0],i=Le(e,n[3]||"");return{type:"code",raw:e,lang:n[2]?n[2].trim().replace(this.rules.inline._escapes,"$1"):n[2],text:i}}}heading(t){const n=this.rules.block.heading.exec(t);if(n){let e=n[2].trim();if(/#$/.test(e)){const i=E(e,"#");(this.options.pedantic||!i||/ $/.test(i))&&(e=i.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(t){const n=this.rules.block.hr.exec(t);if(n)return{type:"hr",raw:n[0]}}blockquote(t){const n=this.rules.block.blockquote.exec(t);if(n){const e=n[0].replace(/^ *>[ \t]?/gm,""),i=this.lexer.state.top;this.lexer.state.top=!0;const s=this.lexer.blockTokens(e);return this.lexer.state.top=i,{type:"blockquote",raw:n[0],tokens:s,text:e}}}list(t){let n=this.rules.block.list.exec(t);if(n){let e=n[1].trim();const i=e.length>1,s={type:"list",raw:"",ordered:i,start:i?+e.slice(0,-1):"",loose:!1,items:[]};e=i?`\\d{1,9}\\${e.slice(-1)}`:`\\${e}`,this.options.pedantic&&(e=i?e:"[*+-]");const r=new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`);let l="",o="",p=!1;for(;t;){let h=!1;if(!(n=r.exec(t))||this.rules.block.hr.test(t))break;l=n[0],t=t.substring(l.length);let f=n[2].split(` +`,1)[0].replace(/^\t+/,B=>" ".repeat(3*B.length)),u=t.split(` +`,1)[0],d=0;this.options.pedantic?(d=2,o=f.trimLeft()):(d=n[2].search(/[^ ]/),d=d>4?1:d,o=f.slice(d),d+=n[1].length);let b=!1;if(!f&&/^ *$/.test(u)&&(l+=u+` +`,t=t.substring(u.length+1),h=!0),!h){const B=new RegExp(`^ {0,${Math.min(3,d-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),H=new RegExp(`^ {0,${Math.min(3,d-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),N=new RegExp(`^ {0,${Math.min(3,d-1)}}(?:\`\`\`|~~~)`),F=new RegExp(`^ {0,${Math.min(3,d-1)}}#`);for(;t;){const q=t.split(` +`,1)[0];if(u=q,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),N.test(u)||F.test(u)||B.test(u)||H.test(t))break;if(u.search(/[^ ]/)>=d||!u.trim())o+=` +`+u.slice(d);else{if(b||f.search(/[^ ]/)>=4||N.test(f)||F.test(f)||H.test(f))break;o+=` +`+u}!b&&!u.trim()&&(b=!0),l+=q+` +`,t=t.substring(q.length+1),f=u.slice(d)}}s.loose||(p?s.loose=!0:/\n *\n *$/.test(l)&&(p=!0));let w=null,_;this.options.gfm&&(w=/^\[[ xX]\] /.exec(o),w&&(_=w[0]!=="[ ] ",o=o.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:l,task:!!w,checked:_,loose:!1,text:o,tokens:[]}),s.raw+=l}s.items[s.items.length-1].raw=l.trimRight(),s.items[s.items.length-1].text=o.trimRight(),s.raw=s.raw.trimRight();for(let h=0;hd.type==="space"),u=f.length>0&&f.some(d=>/\n.*\n/.test(d.raw));s.loose=u}if(s.loose)for(let h=0;h$/,"$1").replace(this.rules.inline._escapes,"$1"):"",s=n[3]?n[3].substring(1,n[3].length-1).replace(this.rules.inline._escapes,"$1"):n[3];return{type:"def",tag:e,raw:n[0],href:i,title:s}}}table(t){const n=this.rules.block.table.exec(t);if(n){const e={type:"table",raw:n[0],header:K(n[1]).map(i=>({text:i,tokens:[]})),align:n[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:n[3]&&n[3].trim()?n[3].replace(/\n[ \t]*$/,"").split(` +`):[]};if(e.header.length===e.align.length){let i=e.align.length,s,r,l,o;for(s=0;s({text:p,tokens:[]}));for(i=e.header.length,r=0;r/i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):y(n[0]):n[0]}}link(t){const n=this.rules.inline.link.exec(t);if(n){const e=n[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const r=E(e.slice(0,-1),"\\");if((e.length-r.length)%2===0)return}else{const r=De(n[2],"()");if(r>-1){const o=(n[0].indexOf("!")===0?5:4)+n[1].length+r;n[2]=n[2].substring(0,r),n[0]=n[0].substring(0,o).trim(),n[3]=""}}let i=n[2],s="";if(this.options.pedantic){const r=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);r&&(i=r[1],s=r[3])}else s=n[3]?n[3].slice(1,-1):"";return i=i.trim(),/^$/.test(e)?i=i.slice(1):i=i.slice(1,-1)),V(n,{href:i&&i.replace(this.rules.inline._escapes,"$1"),title:s&&s.replace(this.rules.inline._escapes,"$1")},n[0],this.lexer)}}reflink(t,n){let e;if((e=this.rules.inline.reflink.exec(t))||(e=this.rules.inline.nolink.exec(t))){let i=(e[2]||e[1]).replace(/\s+/g," ");if(i=n[i.toLowerCase()],!i){const s=e[0].charAt(0);return{type:"text",raw:s,text:s}}return V(e,i,e[0],this.lexer)}}emStrong(t,n,e=""){let i=this.rules.inline.emStrong.lDelim.exec(t);if(!i||i[3]&&e.match(/[\p{L}\p{N}]/u))return;if(!(i[1]||i[2]||"")||!e||this.rules.inline.punctuation.exec(e)){const r=[...i[0]].length-1;let l,o,p=r,h=0;const f=i[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(f.lastIndex=0,n=n.slice(-1*t.length+r);(i=f.exec(n))!=null;){if(l=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!l)continue;if(o=[...l].length,i[3]||i[4]){p+=o;continue}else if((i[5]||i[6])&&r%3&&!((r+o)%3)){h+=o;continue}if(p-=o,p>0)continue;o=Math.min(o,o+p+h);const u=[...t].slice(0,r+i.index+o+1).join("");if(Math.min(r,o)%2){const b=u.slice(1,-1);return{type:"em",raw:u,text:b,tokens:this.lexer.inlineTokens(b)}}const d=u.slice(2,-2);return{type:"strong",raw:u,text:d,tokens:this.lexer.inlineTokens(d)}}}}codespan(t){const n=this.rules.inline.code.exec(t);if(n){let e=n[2].replace(/\n/g," ");const i=/[^ ]/.test(e),s=/^ /.test(e)&&/ $/.test(e);return i&&s&&(e=e.substring(1,e.length-1)),e=y(e,!0),{type:"codespan",raw:n[0],text:e}}}br(t){const n=this.rules.inline.br.exec(t);if(n)return{type:"br",raw:n[0]}}del(t){const n=this.rules.inline.del.exec(t);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2])}}autolink(t,n){const e=this.rules.inline.autolink.exec(t);if(e){let i,s;return e[2]==="@"?(i=y(this.options.mangle?n(e[1]):e[1]),s="mailto:"+i):(i=y(e[1]),s=i),{type:"link",raw:e[0],text:i,href:s,tokens:[{type:"text",raw:i,text:i}]}}}url(t,n){let e;if(e=this.rules.inline.url.exec(t)){let i,s;if(e[2]==="@")i=y(this.options.mangle?n(e[0]):e[0]),s="mailto:"+i;else{let r;do r=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])[0];while(r!==e[0]);i=y(e[0]),e[1]==="www."?s="http://"+e[0]:s=e[0]}return{type:"link",raw:e[0],text:i,href:s,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(t,n){const e=this.rules.inline.text.exec(t);if(e){let i;return this.lexer.state.inRawBlock?i=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):y(e[0]):e[0]:i=y(this.options.smartypants?n(e[0]):e[0]),{type:"text",raw:e[0],text:i}}}}const g={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:D,lheading:/^((?:(?!^bull ).|\n(?!\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};g._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/;g._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;g.def=x(g.def).replace("label",g._label).replace("title",g._title).getRegex();g.bullet=/(?:[*+-]|\d{1,9}[.)])/;g.listItemStart=x(/^( *)(bull) */).replace("bull",g.bullet).getRegex();g.list=x(g.list).replace(/bull/g,g.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+g.def.source+")").getRegex();g._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";g._comment=/|$)/;g.html=x(g.html,"i").replace("comment",g._comment).replace("tag",g._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();g.lheading=x(g.lheading).replace(/bull/g,g.bullet).getRegex();g.paragraph=x(g._paragraph).replace("hr",g.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",g._tag).getRegex();g.blockquote=x(g.blockquote).replace("paragraph",g.paragraph).getRegex();g.normal={...g};g.gfm={...g.normal,table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"};g.gfm.table=x(g.gfm.table).replace("hr",g.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",g._tag).getRegex();g.gfm.paragraph=x(g._paragraph).replace("hr",g.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",g.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",g._tag).getRegex();g.pedantic={...g.normal,html:x(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",g._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:D,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:x(g.normal._paragraph).replace("hr",g.hr).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",g.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const c={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:D,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,rDelimAst:/^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:D,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`^|~";c.punctuation=x(c.punctuation,"u").replace(/punctuation/g,c._punctuation).getRegex();c.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g;c.anyPunctuation=/\\[punct]/g;c._escapes=/\\([punct])/g;c._comment=x(g._comment).replace("(?:-->|$)","-->").getRegex();c.emStrong.lDelim=x(c.emStrong.lDelim,"u").replace(/punct/g,c._punctuation).getRegex();c.emStrong.rDelimAst=x(c.emStrong.rDelimAst,"gu").replace(/punct/g,c._punctuation).getRegex();c.emStrong.rDelimUnd=x(c.emStrong.rDelimUnd,"gu").replace(/punct/g,c._punctuation).getRegex();c.anyPunctuation=x(c.anyPunctuation,"gu").replace(/punct/g,c._punctuation).getRegex();c._escapes=x(c._escapes,"gu").replace(/punct/g,c._punctuation).getRegex();c._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;c._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;c.autolink=x(c.autolink).replace("scheme",c._scheme).replace("email",c._email).getRegex();c._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;c.tag=x(c.tag).replace("comment",c._comment).replace("attribute",c._attribute).getRegex();c._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;c._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;c._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;c.link=x(c.link).replace("label",c._label).replace("href",c._href).replace("title",c._title).getRegex();c.reflink=x(c.reflink).replace("label",c._label).replace("ref",g._label).getRegex();c.nolink=x(c.nolink).replace("ref",g._label).getRegex();c.reflinkSearch=x(c.reflinkSearch,"g").replace("reflink",c.reflink).replace("nolink",c.nolink).getRegex();c.normal={...c};c.pedantic={...c.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:x(/^!?\[(label)\]\((.*?)\)/).replace("label",c._label).getRegex(),reflink:x(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",c._label).getRegex()};c.gfm={...c.normal,escape:x(c.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5?"x"+a.charCodeAt(n).toString(16):a.charCodeAt(n).toString();t+="&#"+e+";"}return t}class ${constructor(t){m(this,"tokens");m(this,"options");m(this,"state");m(this,"tokenizer");m(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||S,this.options.tokenizer=this.options.tokenizer||new P,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const n={block:g.normal,inline:c.normal};this.options.pedantic?(n.block=g.pedantic,n.inline=c.pedantic):this.options.gfm&&(n.block=g.gfm,this.options.breaks?n.inline=c.breaks:n.inline=c.gfm),this.tokenizer.rules=n}static get rules(){return{block:g,inline:c}}static lex(t,n){return new $(n).lex(t)}static lexInline(t,n){return new $(n).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,` +`),this.blockTokens(t,this.tokens);let n;for(;n=this.inlineQueue.shift();)this.inlineTokens(n.src,n.tokens);return this.tokens}blockTokens(t,n=[]){this.options.pedantic?t=t.replace(/\t/g," ").replace(/^ +$/gm,""):t=t.replace(/^( *)(\t+)/gm,(l,o,p)=>o+" ".repeat(p.length));let e,i,s,r;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(l=>(e=l.call({lexer:this},t,n))?(t=t.substring(e.raw.length),n.push(e),!0):!1))){if(e=this.tokenizer.space(t)){t=t.substring(e.raw.length),e.raw.length===1&&n.length>0?n[n.length-1].raw+=` `:n.push(e);continue}if(e=this.tokenizer.code(t)){t=t.substring(e.raw.length),i=n[n.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` `+e.raw,i.text+=` `+e.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(e);continue}if(e=this.tokenizer.fences(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.heading(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.hr(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.blockquote(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.list(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.html(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.def(t)){t=t.substring(e.raw.length),i=n[n.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` `+e.raw,i.text+=` -`+e.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[e.tag]||(this.tokens.links[e.tag]={href:e.href,title:e.title});continue}if(e=this.tokenizer.table(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.lheading(t)){t=t.substring(e.raw.length),n.push(e);continue}if(s=t,this.options.extensions&&this.options.extensions.startBlock){let l=1/0;const a=t.slice(1);let p;this.options.extensions.startBlock.forEach(h=>{p=h.call({lexer:this},a),typeof p=="number"&&p>=0&&(l=Math.min(l,p))}),l<1/0&&l>=0&&(s=t.substring(0,l+1))}if(this.state.top&&(e=this.tokenizer.paragraph(s))){i=n[n.length-1],r&&i.type==="paragraph"?(i.raw+=` +`+e.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[e.tag]||(this.tokens.links[e.tag]={href:e.href,title:e.title});continue}if(e=this.tokenizer.table(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.lheading(t)){t=t.substring(e.raw.length),n.push(e);continue}if(s=t,this.options.extensions&&this.options.extensions.startBlock){let l=1/0;const o=t.slice(1);let p;this.options.extensions.startBlock.forEach(h=>{p=h.call({lexer:this},o),typeof p=="number"&&p>=0&&(l=Math.min(l,p))}),l<1/0&&l>=0&&(s=t.substring(0,l+1))}if(this.state.top&&(e=this.tokenizer.paragraph(s))){i=n[n.length-1],r&&i.type==="paragraph"?(i.raw+=` `+e.raw,i.text+=` `+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(e),r=s.length!==t.length,t=t.substring(e.raw.length);continue}if(e=this.tokenizer.text(t)){t=t.substring(e.raw.length),i=n[n.length-1],i&&i.type==="text"?(i.raw+=` `+e.raw,i.text+=` -`+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(e);continue}if(t){const l="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){let e,i,s,r=t,l,a,p;if(this.tokens.links){const h=Object.keys(this.tokens.links);if(h.length>0)for(;(l=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)h.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(l=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)r=r.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(l=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,l.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(a||(p=""),a=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(h=>(e=h.call({lexer:this},t,n))?(t=t.substring(e.raw.length),n.push(e),!0):!1))){if(e=this.tokenizer.escape(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.tag(t)){t=t.substring(e.raw.length),i=n[n.length-1],i&&e.type==="text"&&i.type==="text"?(i.raw+=e.raw,i.text+=e.text):n.push(e);continue}if(e=this.tokenizer.link(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(e.raw.length),i=n[n.length-1],i&&e.type==="text"&&i.type==="text"?(i.raw+=e.raw,i.text+=e.text):n.push(e);continue}if(e=this.tokenizer.emStrong(t,r,p)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.codespan(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.br(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.del(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.autolink(t,J)){t=t.substring(e.raw.length),n.push(e);continue}if(!this.state.inLink&&(e=this.tokenizer.url(t,J))){t=t.substring(e.raw.length),n.push(e);continue}if(s=t,this.options.extensions&&this.options.extensions.startInline){let h=1/0;const f=t.slice(1);let u;this.options.extensions.startInline.forEach(d=>{u=d.call({lexer:this},f),typeof u=="number"&&u>=0&&(h=Math.min(h,u))}),h<1/0&&h>=0&&(s=t.substring(0,h+1))}if(e=this.tokenizer.inlineText(s,je)){t=t.substring(e.raw.length),e.raw.slice(-1)!=="_"&&(p=e.raw.slice(-1)),a=!0,i=n[n.length-1],i&&i.type==="text"?(i.raw+=e.raw,i.text+=e.text):n.push(e);continue}if(t){const h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return n}}class L{constructor(t){m(this,"options");this.options=t||S}code(t,n,e){var s;const i=(s=(n||"").match(/^\S*/))==null?void 0:s[0];if(this.options.highlight){const r=this.options.highlight(t,i);r!=null&&r!==t&&(e=!0,t=r)}return t=t.replace(/\n$/,"")+` +`+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(e);continue}if(t){const l="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){let e,i,s,r=t,l,o,p;if(this.tokens.links){const h=Object.keys(this.tokens.links);if(h.length>0)for(;(l=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)h.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(l=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)r=r.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(l=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,l.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(o||(p=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(h=>(e=h.call({lexer:this},t,n))?(t=t.substring(e.raw.length),n.push(e),!0):!1))){if(e=this.tokenizer.escape(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.tag(t)){t=t.substring(e.raw.length),i=n[n.length-1],i&&e.type==="text"&&i.type==="text"?(i.raw+=e.raw,i.text+=e.text):n.push(e);continue}if(e=this.tokenizer.link(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(e.raw.length),i=n[n.length-1],i&&e.type==="text"&&i.type==="text"?(i.raw+=e.raw,i.text+=e.text):n.push(e);continue}if(e=this.tokenizer.emStrong(t,r,p)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.codespan(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.br(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.del(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.autolink(t,J)){t=t.substring(e.raw.length),n.push(e);continue}if(!this.state.inLink&&(e=this.tokenizer.url(t,J))){t=t.substring(e.raw.length),n.push(e);continue}if(s=t,this.options.extensions&&this.options.extensions.startInline){let h=1/0;const f=t.slice(1);let u;this.options.extensions.startInline.forEach(d=>{u=d.call({lexer:this},f),typeof u=="number"&&u>=0&&(h=Math.min(h,u))}),h<1/0&&h>=0&&(s=t.substring(0,h+1))}if(e=this.tokenizer.inlineText(s,je)){t=t.substring(e.raw.length),e.raw.slice(-1)!=="_"&&(p=e.raw.slice(-1)),o=!0,i=n[n.length-1],i&&i.type==="text"?(i.raw+=e.raw,i.text+=e.text):n.push(e);continue}if(t){const h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return n}}class L{constructor(t){m(this,"options");this.options=t||S}code(t,n,e){var s;const i=(s=(n||"").match(/^\S*/))==null?void 0:s[0];if(this.options.highlight){const r=this.options.highlight(t,i);r!=null&&r!==t&&(e=!0,t=r)}return t=t.replace(/\n$/,"")+` `,i?'
    '+(e?t:y(t,!0))+`
    `:"
    "+(e?t:y(t,!0))+`
    `}blockquote(t){return`
    @@ -41,56 +41,67 @@ ${t}
    `}tablerow(t){return` ${t} `}tablecell(t,n){const e=n.header?"th":"td";return(n.align?`<${e} align="${n.align}">`:`<${e}>`)+t+` -`}strong(t){return`${t}`}em(t){return`${t}`}codespan(t){return`${t}`}br(){return this.options.xhtml?"
    ":"
    "}del(t){return`${t}`}link(t,n,e){const i=G(this.options.sanitize,this.options.baseUrl,t);if(i===null)return e;t=i;let s='",s}image(t,n,e){const i=G(this.options.sanitize,this.options.baseUrl,t);if(i===null)return e;t=i;let s=`${e}":">",s}text(t){return t}}class M{strong(t){return t}em(t){return t}codespan(t){return t}del(t){return t}html(t){return t}text(t){return t}link(t,n,e){return""+e}image(t,n,e){return""+e}br(){return""}}class Q{constructor(){m(this,"seen");this.seen={}}serialize(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(t,n){let e=t,i=0;if(this.seen.hasOwnProperty(e)){i=this.seen[t];do i++,e=t+"-"+i;while(this.seen.hasOwnProperty(e))}return n||(this.seen[t]=i,this.seen[e]=0),e}slug(t,n={}){const e=this.serialize(t);return this.getNextSafeSlug(e,n.dryrun)}}class z{constructor(t){m(this,"options");m(this,"renderer");m(this,"textRenderer");m(this,"slugger");this.options=t||S,this.options.renderer=this.options.renderer||new L,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new M,this.slugger=new Q}static parse(t,n){return new z(n).parse(t)}static parseInline(t,n){return new z(n).parseInline(t)}parse(t,n=!0){let e="";for(let i=0;i0&&u.tokens[0].type==="paragraph"?(u.tokens[0].text=_+" "+u.tokens[0].text,u.tokens[0].tokens&&u.tokens[0].tokens.length>0&&u.tokens[0].tokens[0].type==="text"&&(u.tokens[0].tokens[0].text=_+" "+u.tokens[0].tokens[0].text)):u.tokens.unshift({type:"text",text:_}):w+=_}w+=this.parse(u.tokens,p),h+=this.renderer.listitem(w,b,!!d)}e+=this.renderer.list(h,l,a);continue}case"html":{const r=s;e+=this.renderer.html(r.text,r.block);continue}case"paragraph":{const r=s;e+=this.renderer.paragraph(this.parseInline(r.tokens));continue}case"text":{let r=s,l=r.tokens?this.parseInline(r.tokens):r.text;for(;i+1{e=e.concat(this.walkTokens(l[a],n))}):l.tokens&&(e=e.concat(this.walkTokens(l.tokens,n)))}}return e}use(...t){const n=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(e=>{const i={...e};if(i.async=this.defaults.async||i.async||!1,e.extensions&&(e.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){const r=n.renderers[s.name];r?n.renderers[s.name]=function(...l){let a=s.renderer.apply(this,l);return a===!1&&(a=r.apply(this,l)),a}:n.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const r=n[s.level];r?r.unshift(s.tokenizer):n[s.level]=[s.tokenizer],s.start&&(s.level==="block"?n.startBlock?n.startBlock.push(s.start):n.startBlock=[s.start]:s.level==="inline"&&(n.startInline?n.startInline.push(s.start):n.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(n.childTokens[s.name]=s.childTokens)}),i.extensions=n),e.renderer){const s=this.defaults.renderer||new L(this.defaults);for(const r in e.renderer){const l=e.renderer[r],a=r,p=s[a];s[a]=(...h)=>{let f=l.apply(s,h);return f===!1&&(f=p.apply(s,h)),f||""}}i.renderer=s}if(e.tokenizer){const s=this.defaults.tokenizer||new D(this.defaults);for(const r in e.tokenizer){const l=e.tokenizer[r],a=r,p=s[a];s[a]=(...h)=>{let f=l.apply(s,h);return f===!1&&(f=p.apply(s,h)),f}}i.tokenizer=s}if(e.hooks){const s=this.defaults.hooks||new R;for(const r in e.hooks){const l=e.hooks[r],a=r,p=s[a];R.passThroughHooks.has(r)?s[a]=h=>{if(this.defaults.async)return Promise.resolve(l.call(s,h)).then(u=>p.call(s,u));const f=l.call(s,h);return p.call(s,f)}:s[a]=(...h)=>{let f=l.apply(s,h);return f===!1&&(f=p.apply(s,h)),f}}i.hooks=s}if(e.walkTokens){const s=this.defaults.walkTokens,r=e.walkTokens;i.walkTokens=function(l){let a=[];return a.push(r.call(this,l)),s&&(a=a.concat(s.call(this,l))),a}}this.defaults={...this.defaults,...i}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}}v=new WeakSet,O=function(t,n){return(e,i,s)=>{typeof i=="function"&&(s=i,i=null);const r={...i},l={...this.defaults,...r};this.defaults.async===!0&&r.async===!1&&(l.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),l.async=!0);const a=I(this,j,le).call(this,!!l.silent,!!l.async,s);if(typeof e>"u"||e===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(De(l,s),l.hooks&&(l.hooks.options=l),s){const p=s,h=l.highlight;let f;try{l.hooks&&(e=l.hooks.preprocess(e)),f=t(e,l)}catch(b){return a(b)}const u=b=>{let w;if(!b)try{l.walkTokens&&this.walkTokens(f,l.walkTokens),w=n(f,l),l.hooks&&(w=l.hooks.postprocess(w))}catch(_){b=_}return l.highlight=h,b?a(b):p(null,w)};if(!h||h.length<3||(delete l.highlight,!f.length))return u();let d=0;this.walkTokens(f,b=>{b.type==="code"&&(d++,setTimeout(()=>{h(b.text,b.lang,(w,_)=>{if(w)return u(w);_!=null&&_!==b.text&&(b.text=_,b.escaped=!0),d--,d===0&&u()})},0))}),d===0&&u();return}if(l.async)return Promise.resolve(l.hooks?l.hooks.preprocess(e):e).then(p=>t(p,l)).then(p=>l.walkTokens?Promise.all(this.walkTokens(p,l.walkTokens)).then(()=>p):p).then(p=>n(p,l)).then(p=>l.hooks?l.hooks.postprocess(p):p).catch(a);try{l.hooks&&(e=l.hooks.preprocess(e));const p=t(e,l);l.walkTokens&&this.walkTokens(p,l.walkTokens);let h=n(p,l);return l.hooks&&(h=l.hooks.postprocess(h)),h}catch(p){return a(p)}}},j=new WeakSet,le=function(t,n,e){return i=>{if(i.message+=` -Please report this to https://github.com/markedjs/marked.`,t){const s="

    An error occurred:

    "+y(i.message+"",!0)+"
    ";if(n)return Promise.resolve(s);if(e){e(null,s);return}return s}if(n)return Promise.reject(i);if(e){e(i);return}throw i}};const T=new qe;function k(o,t,n){return T.parse(o,t,n)}k.options=k.setOptions=function(o){return T.setOptions(o),k.defaults=T.defaults,ne(k.defaults),k};k.getDefaults=U;k.defaults=S;k.use=function(...o){return T.use(...o),k.defaults=T.defaults,ne(k.defaults),k};k.walkTokens=function(o,t){return T.walkTokens(o,t)};k.parseInline=T.parseInline;k.Parser=z;k.parser=z.parse;k.Renderer=L;k.TextRenderer=M;k.Lexer=$;k.lexer=$.lex;k.Tokenizer=D;k.Slugger=Q;k.Hooks=R;k.parse=k;k.options;k.setOptions;k.use;k.walkTokens;k.parseInline;z.parse;$.lex;const Be=`# Anton Romanova +`}strong(t){return`${t}`}em(t){return`${t}`}codespan(t){return`${t}`}br(){return this.options.xhtml?"
    ":"
    "}del(t){return`${t}`}link(t,n,e){const i=G(this.options.sanitize,this.options.baseUrl,t);if(i===null)return e;t=i;let s='
    ",s}image(t,n,e){const i=G(this.options.sanitize,this.options.baseUrl,t);if(i===null)return e;t=i;let s=`${e}":">",s}text(t){return t}}class O{strong(t){return t}em(t){return t}codespan(t){return t}del(t){return t}html(t){return t}text(t){return t}link(t,n,e){return""+e}image(t,n,e){return""+e}br(){return""}}class Q{constructor(){m(this,"seen");this.seen={}}serialize(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(t,n){let e=t,i=0;if(this.seen.hasOwnProperty(e)){i=this.seen[t];do i++,e=t+"-"+i;while(this.seen.hasOwnProperty(e))}return n||(this.seen[t]=i,this.seen[e]=0),e}slug(t,n={}){const e=this.serialize(t);return this.getNextSafeSlug(e,n.dryrun)}}class z{constructor(t){m(this,"options");m(this,"renderer");m(this,"textRenderer");m(this,"slugger");this.options=t||S,this.options.renderer=this.options.renderer||new L,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new O,this.slugger=new Q}static parse(t,n){return new z(n).parse(t)}static parseInline(t,n){return new z(n).parseInline(t)}parse(t,n=!0){let e="";for(let i=0;i0&&u.tokens[0].type==="paragraph"?(u.tokens[0].text=_+" "+u.tokens[0].text,u.tokens[0].tokens&&u.tokens[0].tokens.length>0&&u.tokens[0].tokens[0].type==="text"&&(u.tokens[0].tokens[0].text=_+" "+u.tokens[0].tokens[0].text)):u.tokens.unshift({type:"text",text:_}):w+=_}w+=this.parse(u.tokens,p),h+=this.renderer.listitem(w,b,!!d)}e+=this.renderer.list(h,l,o);continue}case"html":{const r=s;e+=this.renderer.html(r.text,r.block);continue}case"paragraph":{const r=s;e+=this.renderer.paragraph(this.parseInline(r.tokens));continue}case"text":{let r=s,l=r.tokens?this.parseInline(r.tokens):r.text;for(;i+1{e=e.concat(this.walkTokens(l[o],n))}):l.tokens&&(e=e.concat(this.walkTokens(l.tokens,n)))}}return e}use(...t){const n=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(e=>{const i={...e};if(i.async=this.defaults.async||i.async||!1,e.extensions&&(e.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){const r=n.renderers[s.name];r?n.renderers[s.name]=function(...l){let o=s.renderer.apply(this,l);return o===!1&&(o=r.apply(this,l)),o}:n.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const r=n[s.level];r?r.unshift(s.tokenizer):n[s.level]=[s.tokenizer],s.start&&(s.level==="block"?n.startBlock?n.startBlock.push(s.start):n.startBlock=[s.start]:s.level==="inline"&&(n.startInline?n.startInline.push(s.start):n.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(n.childTokens[s.name]=s.childTokens)}),i.extensions=n),e.renderer){const s=this.defaults.renderer||new L(this.defaults);for(const r in e.renderer){const l=e.renderer[r],o=r,p=s[o];s[o]=(...h)=>{let f=l.apply(s,h);return f===!1&&(f=p.apply(s,h)),f||""}}i.renderer=s}if(e.tokenizer){const s=this.defaults.tokenizer||new P(this.defaults);for(const r in e.tokenizer){const l=e.tokenizer[r],o=r,p=s[o];s[o]=(...h)=>{let f=l.apply(s,h);return f===!1&&(f=p.apply(s,h)),f}}i.tokenizer=s}if(e.hooks){const s=this.defaults.hooks||new R;for(const r in e.hooks){const l=e.hooks[r],o=r,p=s[o];R.passThroughHooks.has(r)?s[o]=h=>{if(this.defaults.async)return Promise.resolve(l.call(s,h)).then(u=>p.call(s,u));const f=l.call(s,h);return p.call(s,f)}:s[o]=(...h)=>{let f=l.apply(s,h);return f===!1&&(f=p.apply(s,h)),f}}i.hooks=s}if(e.walkTokens){const s=this.defaults.walkTokens,r=e.walkTokens;i.walkTokens=function(l){let o=[];return o.push(r.call(this,l)),s&&(o=o.concat(s.call(this,l))),o}}this.defaults={...this.defaults,...i}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}}I=new WeakSet,M=function(t,n){return(e,i,s)=>{typeof i=="function"&&(s=i,i=null);const r={...i},l={...this.defaults,...r};this.defaults.async===!0&&r.async===!1&&(l.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),l.async=!0);const o=v(this,j,le).call(this,!!l.silent,!!l.async,s);if(typeof e>"u"||e===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(Pe(l,s),l.hooks&&(l.hooks.options=l),s){const p=s,h=l.highlight;let f;try{l.hooks&&(e=l.hooks.preprocess(e)),f=t(e,l)}catch(b){return o(b)}const u=b=>{let w;if(!b)try{l.walkTokens&&this.walkTokens(f,l.walkTokens),w=n(f,l),l.hooks&&(w=l.hooks.postprocess(w))}catch(_){b=_}return l.highlight=h,b?o(b):p(null,w)};if(!h||h.length<3||(delete l.highlight,!f.length))return u();let d=0;this.walkTokens(f,b=>{b.type==="code"&&(d++,setTimeout(()=>{h(b.text,b.lang,(w,_)=>{if(w)return u(w);_!=null&&_!==b.text&&(b.text=_,b.escaped=!0),d--,d===0&&u()})},0))}),d===0&&u();return}if(l.async)return Promise.resolve(l.hooks?l.hooks.preprocess(e):e).then(p=>t(p,l)).then(p=>l.walkTokens?Promise.all(this.walkTokens(p,l.walkTokens)).then(()=>p):p).then(p=>n(p,l)).then(p=>l.hooks?l.hooks.postprocess(p):p).catch(o);try{l.hooks&&(e=l.hooks.preprocess(e));const p=t(e,l);l.walkTokens&&this.walkTokens(p,l.walkTokens);let h=n(p,l);return l.hooks&&(h=l.hooks.postprocess(h)),h}catch(p){return o(p)}}},j=new WeakSet,le=function(t,n,e){return i=>{if(i.message+=` +Please report this to https://github.com/markedjs/marked.`,t){const s="

    An error occurred:

    "+y(i.message+"",!0)+"
    ";if(n)return Promise.resolve(s);if(e){e(null,s);return}return s}if(n)return Promise.reject(i);if(e){e(i);return}throw i}};const T=new Be;function k(a,t,n){return T.parse(a,t,n)}k.options=k.setOptions=function(a){return T.setOptions(a),k.defaults=T.defaults,ne(k.defaults),k};k.getDefaults=Z;k.defaults=S;k.use=function(...a){return T.use(...a),k.defaults=T.defaults,ne(k.defaults),k};k.walkTokens=function(a,t){return T.walkTokens(a,t)};k.parseInline=T.parseInline;k.Parser=z;k.parser=z.parse;k.Renderer=L;k.TextRenderer=O;k.Lexer=$;k.lexer=$.lex;k.Tokenizer=P;k.Slugger=Q;k.Hooks=R;k.parse=k;k.options;k.setOptions;k.use;k.walkTokens;k.parseInline;z.parse;$.lex;const qe=`# Anton Romanova ## Skills -- **Programming**: Python, Django -- **DevOps & Cloud**: Linux, Docker, Git, Cloud Computing -- **Data Management**: PostgreSQL -- **Front-end**: Tailwind CSS, Vue.js -- **Spoken Languages**: French, English, Russian +#### Cloud Computing +- **Azure** (Beginner): Experience in managing CI/CD processes using GitHub Actions and Azure. +- **AWS** (Beginner): Practical knowledge gained through personal and academic projects. +- **NixOS** (Interested): Eager to explore and apply NixOS in future endeavors. + +#### Data Management & Databases +- **PostgreSQL** (Intermediate): Competent in optimizing database performance and management. + +#### DevOps +- **Linux Server Administration** (Intermediate): Managed personal servers and provided occasional maintenance for professional projects. +- **Docker** (Intermediate): Proficient in Docker for containerization and deployment tasks. + +#### Programming & Development +- **JavaScript** (Intermediate): Experience with front-end development in professional projects. +- **Python & Django** (Advanced): Advanced proficiency in building and optimizing complex systems, notably Maytree-X. + ## Contact Details -- 📞 **Phone**: +41 77 280 05 35 +- 📞 **Phone**: +32 470 83 49 93 - 📧 **Email**: [contact@antonromanova.com](mailto:contact@antonromanova.com) - 🌐 **GitHub**: [antonrom1](https://github.com/antonrom1) +- 💬 **Spoken Languages**: French, English, Russian ## Summary -Software engineer specializing in backend development, cloud architecture, and data management. -Skilled in building complex systems from scratch and adapting to evolving project needs. +Software engineer with a focus on backend development and data management. Proficient in constructing complex systems and flexible in adapting to changing project requirements ## Professional Experience ### Full Stack Developer, DuckRabbit _2022—Present_ -- Developed and architected Maytree-X, a database for cognitive and developmental science, leveraging it as a recommendation engine. -- Worked in a small, agile team of 10, with direct collaboration with another IT professional. - -[//]: # (- Successfully integrated the platform with Odoo, overcoming challenges related to data synchronization and validity.) -[//]: # (- Orchestrated a versatile e-commerce storefront using Django-Oscar, further enhanced by a custom GraphQL API.) - +- **Led Development of Maytree-X**: Lead the development of Maytree-X, a bespoke product information management system enriched with psychology-oriented data. Focused on transitioning from unstructured data. Integrated features for anomaly detection, workflow optimization, and a product validation workflows. +- **Database Architecture and Programming**: Collaborated on architecting and programming the database model from the ground up, addressing unique data visualization and relationship challenges. +- **ETL Process Development**: Established an ETL process for data integration between MaytreeX, Odoo, and Saleor e-commerce. +- **User Story Implementation**: Translating product owner requirements into functional software features, aligning with stakeholder goals and user needs. ### iOS Developer, Wisdom Treasury _2016—2021_ -- Developed and maintained an iOS app that garnered 5,000 downloads. -- Collaborated closely with UX designer to implement an intuitive user interface. +- **Early Career Milestone**: Independently developed an iOS prayer tracking app at age 16. +- **Collaboration with UI/UX Designer**: Worked in conjunction with a UI/UX designer from Wisdom Treasury to implement a design, enhancing the app's user experience. +- **User Community Impact**: Successfully launched the app, aiding the Buddhist community in tracking prayers and prostrations, achieving over 5,000 downloads. +- **Technical Proficiency**: Employed standard iOS frameworks and MongoDB for backend development. ### Robotics Coach, nooby.tech _2021—2023_ - Mentored students to build competitive robots. +- Enhanced problem-solving and communication skills by adapting complex technical concepts into understandable content for a diverse age group. ## Education - **Bachelor in Computer Science, ULB** - _Completed in 2023_ -## Soft Skills +### Projects and Achievements +- **Finalist in the Data Engineering Challenge Belgium 2023** - Ranked in the top 5 among over 350 participants, demonstrating skills in data engineering and problem-solving. -- **Problem-Solving**: Ability to tackle complex technical challenges in diverse environments. -- **Teamwork**: Proven experience in collaborative roles, particularly in small teams. -`;function Ze(o){let t,n;return{c(){t=he("div"),n=new pe(!1),this.h()},l(e){t=ue(e,"DIV",{});var i=ge(t);n=fe(i,!1),i.forEach(W),this.h()},h(){n.a=null},m(e,i){de(e,t,i),n.m(o[0],t)},p:C,i:C,o:C,d(e){e&&W(t)}}}function Oe(o){return[k(Be)]}class Ue extends ee{constructor(t){super(),te(this,t,Oe,Ze,Y,{})}}function Me(o){let t,n;return t=new Ue({}),{c(){me(t.$$.fragment)},l(e){ke(t.$$.fragment,e)},m(e,i){xe(t,e,i),n=!0},p:C,i(e){n||(be(t.$$.fragment,e),n=!0)},o(e){we(t.$$.fragment,e),n=!1},d(e){ye(t,e)}}}class Ne extends ee{constructor(t){super(),te(this,t,null,Me,Y,{})}}export{Ne as component}; +`;function Ue(a){let t,n;return{c(){t=he("div"),n=new pe(!1),this.h()},l(e){t=ue(e,"DIV",{});var i=ge(t);n=fe(i,!1),i.forEach(X),this.h()},h(){n.a=null},m(e,i){de(e,t,i),n.m(a[0],t)},p:C,i:C,o:C,d(e){e&&X(t)}}}function Me(a){return[k(qe)]}class Ze extends ee{constructor(t){super(),te(this,t,Me,Ue,Y,{})}}function Oe(a){let t,n;return t=new Ze({}),{c(){me(t.$$.fragment)},l(e){ke(t.$$.fragment,e)},m(e,i){xe(t,e,i),n=!0},p:C,i(e){n||(be(t.$$.fragment,e),n=!0)},o(e){we(t.$$.fragment,e),n=!1},d(e){ye(t,e)}}}class Fe extends ee{constructor(t){super(),te(this,t,null,Oe,Y,{})}}export{Fe as component}; diff --git a/_app/version.json b/_app/version.json index 524720b..1cbe82a 100644 --- a/_app/version.json +++ b/_app/version.json @@ -1 +1 @@ -{"version":"1693806491376"} \ No newline at end of file +{"version":"1705509493458"} \ No newline at end of file diff --git a/index.html b/index.html index 8cd31f2..2dcb341 100644 --- a/index.html +++ b/index.html @@ -35,51 +35,69 @@ - + - - - + + + - - + +

    Anton Romanova

    Skills

    +

    Cloud Computing

      -
    • Programming: Python, Django
    • -
    • DevOps & Cloud: Linux, Docker, Git, Cloud Computing
    • -
    • Data Management: PostgreSQL
    • -
    • Front-end: Tailwind CSS, Vue.js
    • -
    • Spoken Languages: French, English, Russian
    • +
    • Azure (Beginner): Experience in managing CI/CD processes using GitHub Actions and Azure.
    • +
    • AWS (Beginner): Practical knowledge gained through personal and academic projects.
    • +
    • NixOS (Interested): Eager to explore and apply NixOS in future endeavors.
    • +
    +

    Data Management & Databases

    +
      +
    • PostgreSQL (Intermediate): Competent in optimizing database performance and management.
    • +
    +

    DevOps

    +
      +
    • Linux Server Administration (Intermediate): Managed personal servers and provided occasional maintenance for professional projects.
    • +
    • Docker (Intermediate): Proficient in Docker for containerization and deployment tasks.
    • +
    +

    Programming & Development

    +
      +
    • JavaScript (Intermediate): Experience with front-end development in professional projects.
    • +
    • Python & Django (Advanced): Advanced proficiency in building and optimizing complex systems, notably Maytree-X.

    Contact Details

      -
    • 📞 Phone: +41 77 280 05 35
    • +
    • 📞 Phone: +32 470 83 49 93
    • 📧 Email: contact@antonromanova.com
    • 🌐 GitHub: antonrom1
    • +
    • 💬 Spoken Languages: French, English, Russian

    Summary

    -

    Software engineer specializing in backend development, cloud architecture, and data management. -Skilled in building complex systems from scratch and adapting to evolving project needs.

    +

    Software engineer with a focus on backend development and data management. Proficient in constructing complex systems and flexible in adapting to changing project requirements

    Professional Experience

    Full Stack Developer, DuckRabbit

    2022—Present

      -
    • Developed and architected Maytree-X, a database for cognitive and developmental science, leveraging it as a recommendation engine.
    • -
    • Worked in a small, agile team of 10, with direct collaboration with another IT professional.
    • +
    • Led Development of Maytree-X: Lead the development of Maytree-X, a bespoke product information management system enriched with psychology-oriented data. Focused on transitioning from unstructured data. Integrated features for anomaly detection, workflow optimization, and a product validation workflows.
    • +
    • Database Architecture and Programming: Collaborated on architecting and programming the database model from the ground up, addressing unique data visualization and relationship challenges.
    • +
    • ETL Process Development: Established an ETL process for data integration between MaytreeX, Odoo, and Saleor e-commerce.
    • +
    • User Story Implementation: Translating product owner requirements into functional software features, aligning with stakeholder goals and user needs.

    iOS Developer, Wisdom Treasury

    2016—2021

      -
    • Developed and maintained an iOS app that garnered 5,000 downloads.
    • -
    • Collaborated closely with UX designer to implement an intuitive user interface.
    • +
    • Early Career Milestone: Independently developed an iOS prayer tracking app at age 16.
    • +
    • Collaboration with UI/UX Designer: Worked in conjunction with a UI/UX designer from Wisdom Treasury to implement a design, enhancing the app's user experience.
    • +
    • User Community Impact: Successfully launched the app, aiding the Buddhist community in tracking prayers and prostrations, achieving over 5,000 downloads.
    • +
    • Technical Proficiency: Employed standard iOS frameworks and MongoDB for backend development.

    Robotics Coach, nooby.tech

    2021—2023

    • Mentored students to build competitive robots.
    • +
    • Enhanced problem-solving and communication skills by adapting complex technical concepts into understandable content for a diverse age group.

    Education

      @@ -88,16 +106,15 @@

      Education

    -

    Soft Skills

    +

    Projects and Achievements

      -
    • Problem-Solving: Ability to tackle complex technical challenges in diverse environments.
    • -
    • Teamwork: Proven experience in collaborative roles, particularly in small teams.
    • +
    • Finalist in the Data Engineering Challenge Belgium 2023 - Ranked in the top 5 among over 350 participants, demonstrating skills in data engineering and problem-solving.