PageSourceSearch

https://igarashi.net/assets/index-BmNZkSIx.js

js igarashi.net collected 2026-10-08 05:19:26 UTC 179,605 bytes, 2 lines download raw bytes

vendor: 5,799 bytes, lines 1-2
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/App-BkulTDww.js","assets/three.module-DTBL6Z43.js","assets/App-CjxSlZQ_.css","assets/TetrisGameShell-axiHOC5C.js","assets/TetrisGameShell-JGOB6vJM.css","assets/index-CtfNE1K9.js","assets/pause-CEabiMf2.js","assets/play-DXrnX8Ur.js","assets/refresh-cw-Bb7UEAxe.js","assets/index-CzOzA7I3.css","assets/Tool-LoASihEY.js","assets/jszip.min-CT9mTaRD.js","assets/_commonjsHelpers-DsqdWQfm.js","assets/ToolFullPageShell-D0WeGNts.js","assets/Tool-COVVBonP.js","assets/upload-Bh0R06dU.js","assets/file-json-fMqKzXeH.js","assets/download-eQgzs4Nn.js","assets/rotate-ccw-DuDY74eM.js","assets/shield-B1t7vle9.js","assets/save-mw7sOkaF.js","assets/wand-sparkles-UzYGn6Ac.js","assets/x-BIicNK4J.js","assets/copy-Bjl2-cxl.js","assets/layers-CEHIsPLq.js","assets/film-Diu2BJa_.js","assets/image-Bzmf6OU9.js","assets/file-text-By2Lx7jp.js","assets/clipboard-CV2932E6.js","assets/PDFButton-dz7zSpvJ.js","assets/Tool-BE_JoAq1.js","assets/pdf-CwGa_85l.js","assets/Tool-Cr1PHVKO.js","assets/rotate-cw-BF8ndfom.js","assets/square-DZ8Qrv9N.js","assets/zoom-out-Bagv0GZY.js","assets/file-plus-2-BpVllBPy.js","assets/eye-C6GwuSnY.js","assets/eye-off-DXBSRo6C.js","assets/lock-CaZl07Vp.js","assets/trash-2-BNKLdcpJ.js","assets/link-Cp8fVoL1.js","assets/grid-3x3-BWFGN4iz.js","assets/plus-BGIOUyGx.js","assets/minus-C2SarQwd.js","assets/star-OFUTdkzf.js","assets/heart-BpSMG4P_.js","assets/list-tree-BV1Y4BQC.js","assets/purify.es-DdwdxIb1.js","assets/full.esm-DoFl4RTa.js","assets/Tool-C3ujcksj.js","assets/Tool-CLn7M9JO.js","assets/check-x_1RMUA1.js","assets/clipboard-3dG2BmRw.js","assets/hashEngine-efhrKE-v.js","assets/sha2-D8R2XVxy.js","assets/constants-BXo9CEKM.js","assets/Tool-n051mltH.js","assets/helpers-Dqzf7JXm.js","assets/color-CCIA8nrw.js","assets/ipv4-BsLSz5jW.js","assets/macUtils-Ceqnvgpy.js","assets/expressionParser-dSFa0v8D.js","assets/otp-D7cy9ax6.js","assets/Tool-BALEaxb6.js","assets/Tool-B9izOY80.js","assets/helpers-ChSt5NuO.js","assets/Tool-CsbyEMxu.js","assets/store-5cX9Gsbm.js","assets/Tool-Bst8HoOo.js","assets/Tool-DM6gdROX.js","assets/index-B5fiB6ig.js","assets/marked.esm-Ds7eXWqI.js","assets/moon-Rd3Uru_7.js","assets/columns-2-BeDT_lHU.js","assets/text-wrap-ROlZ6swX.js","assets/chevron-down-CVsuyYQe.js","assets/calendar-DMmUZJT5.js","assets/code-xml-BP8wVGkk.js","assets/Tool-BOo1OPQr.css","assets/Tool-wLSBiLcS.js","assets/columns-3-vZ5lza6N.js","assets/rows-3-Dn-ZmA-n.js","assets/layout-panel-top-cmh8n42E.js","assets/Tool-FPlPVeoG.js","assets/funnel-07kdLVa3.js","assets/Tool-DeHenQE5.js","assets/circle-alert-B8vMXKbA.js","assets/circle-check-DqHBbRL4.js","assets/papaparse.min-Dq8jAwNg.js","assets/cloud-upload-Belz2b4-.js","assets/folder-open-KTsj53MO.js","assets/arrow-left-BkOwMMu4.js","assets/import-wrapper-prod-CMlwt3Ah.js","assets/Tool-DFZMSCI2.css","assets/Tool-BbrsmcMy.js","assets/triangle-alert-D8mWmUKf.js","assets/terminal-DmzyQlAD.js","assets/Tool-ChJS9YVW.css","assets/Tool-CML6kID_.js","assets/activity-CxjTQYs8.js","assets/chevron-right-OQkqldan.js","assets/circle-CRQOnJag.js","assets/clock-3-DMtlgd0N.js","assets/ellipsis-BwOGw-93.js","assets/file-G1kP90T3.js","assets/files-D8PortZ5.js","assets/folder-plus-D5Ycs2_V.js","assets/menu-C3F8p91W.js","assets/replace-DtUt9Ctv.js","assets/settings-2-CK18ZT4q.js","assets/zap-HIiRM8vE.js","assets/Tool-oZG70RZF.css","assets/Tool-B6qy7GWk.js","assets/circle-question-mark-BKSkit__.js","assets/panel-left-open-B_iwnVCr.js","assets/file-up-DeiiAPjT.js","assets/grip-vertical-DInbF-mE.js","assets/radio-DgXzg8pB.js","assets/index-CZACkmy_.js","assets/Tool-KX-m0E06.css","assets/Tool-BvhTKxIY.js","assets/___vite-browser-external_commonjs-proxy-BhfLbk5L.js","assets/Tool-DQsaEf7k.js","assets/library-BZyIyhcf.js","assets/maximize-2-CxJ_zqOh.js","assets/network-B4LbcpeA.js","assets/Tool-BMkO9X-m.js","assets/Tool-Bu0c-ydV.js","assets/smartphone-tokEZqaF.js","assets/laptop-CNEiq3vo.js","assets/Tool-DAityUi_.js","assets/Tool-DREpJU_g.js","assets/Tool-DlbdJyjk.js","assets/Tool-BsjRhtON.js","assets/loader-circle-BgfOt-ls.js","assets/circle-x-CrLgoFbc.js","assets/Tool-DKjuOBn2.js","assets/crosshair-0ZophpoN.js","assets/Tool-Cu8MFzXG.js","assets/PortalSearchTool-BjzRXca9.js","assets/arrow-up-right-Cay3pz1T.js","assets/ArticleSearchTool-BQ3TKoAI.js","assets/Tool-BVO_gVX9.js","assets/Tool-D9ReaJZm.js","assets/browser-CXdaRMTm.js","assets/Tool-BSAun79p.js","assets/Tool-CdR8v9pB.js","assets/mail-CgSNYipL.js","assets/Tool-DXimTLvv.js","assets/browser-CVA5zIEI.js","assets/Tool-BHIwFPvu.css","assets/Tool-BQtDMxUd.js","assets/Tool-BH8ui5EP.js","assets/Tool-CsRpxYz6.js","assets/gauge-BpkIfl2Z.js","assets/Tool-rCoHO8l8.css","assets/Tool-BzxQiFlH.js","assets/volume-2-DyU2jDX5.js","assets/Tool-DYifaCKO.css","assets/Tool-Cy0uFtxB.js","assets/Tool-D7rVvCwe.css","assets/Tool-ChcwIkEs.js","assets/Tool-Xk1N2Fi6.js","assets/LocalArticlePage-DIIyIJIq.js","assets/PrivacyPolicy-LajR0Qs3.js","assets/components-BF5eakdb.js","assets/Page-okBbWx_Q.js","assets/Page-CPjbNyyz.css"])))=>i.map(i=>d[i]);
2(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();const Ti="modulepreload",Mi=function(e){return"/"+e},Er={}
2,G=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){let l=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(c=>({status:"fulfilled",value:c}),c=>({status:"rejected",reason:c}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),a=s?.nonce||s?.getAttribute("nonce");o=l(n.map(u=>{if(u=Mi(u),u in Er)return;Er[u]=!0;const d=u.endsWith(".css"),c=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${c}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":Ti,d||(m.as="script"),m.crossOrigin="",m.href=u,a&&m.setAttribute("nonce",a),document.head.appendChild(m),d)return new Promise((w,b)=>{m.addEventListener("load",w),m.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(s){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=s,window.dispatchEvent(a),!a.defaultPrevented)throw s}return o.then(s=>{for(const a of s||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})},R={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return Cr(this.context.count)},getNextContextId(){return Cr(this.context.count++)}};function Cr(e){const t=String(e),n=t.length-1;return R.context.id+(n?String.fromCharCode(96+n):"")+t}function Ie(e){R.context=e}const _o=!1,Pi=(e,t)=>e===t,Ut=Symbol("solid-proxy"),So=typeof Proxy=="function",Ii=Symbol("solid-track"),Wt={equals:Pi};let bt=null,$o=Mo;const ke=1,kt=2,Eo={owned:null,cleanups:null,context:null,owner:null},mn={};var K=null;let A=null,Li=null,ee=null,ge=null,he=null,Qt=0;function Be(e,t){const n=ee,r=K,o=e.length===0,i=t===void 0?r:t,s=o?Eo:{owned:null,cleanups:null,context:i?i.context:null,owner:i},a=o?e:()=>e(()=>le(()=>je(s)));K=s,ee=null;try{return be(a,!0)}finally{ee=n,K=r}}function z(e,t){t=t?Object.assign({},Wt,t):Wt;const n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},r=o=>(typeof o=="function"&&(A&&A.running&&A.sources.has(n)?o=o(n.tValue):o=o(n.value)),To(n,o));return[Ao.bind(n),r]}function On(e,t,n){const r=Ct(e,t,!0,ke);lt(r)}function Y(e,t,n){const r=Ct(e,t,!1,ke);lt(r)}function ie(e,t,n){$o=Hi;const r=Ct(e,t,!1,ke),o=Ue&&Oe(Ue);o&&(r.suspense=o),(!n||!n.render)&&(r.user=!0),he?he.push(r):lt(r)}function N(e,t,n){n=n?Object.assign({},Wt,n):Wt;const r=Ct(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,lt(r),Ao.bind(r)}function Oi(e){return e&&typeof e=="object"&&"then"in e}function Ni(e,t,n){let r,o,i;typeof t=="function"?(r=e,o=t,i={}):(r=!0,o=e,i=t||{});let s=null,a=mn,l=null,u=!1,d=!1,c="initialValue"in i,m=typeof r=="function"&&N(r);const w=new Set,[b,f]=(i.storage||z)(i.initialValue),[y,k]=z(void 0),[v,_]=z(void 0,{equals:!1}),[E,L]=z(c?"ready":"unresolved");K&&de(()=>{for(const C of w.keys())C.decrement();w.clear(),A&&s&&A.promises.delete(s),s=null}),R.context&&(l=R.getNextContextId(),i.ssrLoadFrom==="initial"?a=i.initialValue:R.load&&R.has(l)&&(a=R.load(l)));function P(C,W,ne,D){return s===C&&(s=null,D!==void 0&&(c=!0),(C===a||W===a)&&i.onHydrated&&queueMicrotask(()=>i.onHydrated(D,{value:W})),a=mn,A&&C&&u?(A.promises.delete(C),u=!1,be(()=>{A.running=!0,I(W,ne)},!1)):I(W,ne)),W}function I(C,W){be(()=>{W===void 0&&f(()=>C),L(W!==void 0?"errored":c?"ready":"unresolved"),k(W);for(const ne of w.keys())ne.decrement();w.clear()},!1)}function T(){const C=Ue&&Oe(Ue),W=b(),ne=y();if(ne!==void 0&&!s)throw ne;return ee&&!ee.user&&C&&On(()=>{v(),s&&(C.resolved&&A&&u?A.promises.add(s):w.has(C)||(C.increment(),w.add(C)))}),W}function O(C=!0){if(C!==!1&&d)return;d=!1;const W=m?m():r;if(u=A&&A.running,W==null||W===!1){P(s,le(b));return}A&&s&&A.promises.delete(s);let ne;const D=a!==mn?a:le(()=>{try{return o(W,{value:b(),refetching:C})}catch(Q){ne=Q}});if(ne!==void 0){P(s,void 0,Ft(ne),W);return}else if(!Oi(D))return P(s,D,void 0,W),D;return s=D,"v"in D?(D.s===1?P(s,D.v,void 0,W):P(s,void 0,Ft(D.v),W),D):(d=!0,queueMicrotask(()=>d=!1),be(()=>{L(c?"refreshing":"pending"),_()},!1),D.then(Q=>P(D,Q,void 0,W),Q=>P(D,void 0,Ft(Q),W)))}Object.defineProperties(T,{state:{get:()=>E()},error:{get:()=>y()},loading:{get(){const C=E();return C==="pending"||C==="refreshing"}}
2,latest:{get(){if(!c)return T();const C=y();if(C&&!s)throw C;return b()}}});let F=K;return m?On(()=>(F=K,O(!1))):O(!1),[T,{refetch:C=>Zt(F,()=>O(C)),mutate:f}]}function Ge(e){return be(e,!1)}function le(e){if(ee===null)return e();const t=ee;ee=null;try{return e()}finally{ee=t}}function ot(e,t,n){const r=Array.isArray(e);let o,i=n&&n.defer;return s=>{let a;if(r){a=Array(e.length);for(let u=0;u<e.length;u++)a[u]=e[u]()}else a=e();if(i)return i=!1,s;const l=le(()=>t(a,o,s));return o=a,l}}function it(e){ie(()=>le(e))}function de(e){return K===null||(K.cleanups===null?K.cleanups=[e]:K.cleanups.push(e)),e}function Ri(e,t){bt||(bt=Symbol("error")),K=Ct(void 0,void 0,!0),K.context={...K.context,[bt]:[t]},A&&A.running&&A.sources.add(K);try{return e()}catch(n){At(n)}finally{K=K.owner}}function Nh(){return ee}function _t(){return K}function Zt(e,t){const n=K,r=ee;K=e,ee=null;try{return be(t,!0)}catch(o){At(o)}finally{K=n,ee=r}}function Co(e){if(A&&A.running)return e(),A.done;const t=ee,n=K;return Promise.resolve().then(()=>{ee=t,K=n;let r;return Ue&&(r=A||(A={sources:new Set,effects:[],promises:new Set,disposed:new Set,queue:new Set,running:!0}),r.done||(r.done=new Promise(o=>r.resolve=o)),r.running=!0),be(e,!1),ee=K=null,r?r.done:void 0})}const[Di,Ar]=z(!1);function Vi(){return[Di,Co]}function ji(e){he.push.apply(he,e),e.length=0}function Ke(e,t){const n=Symbol("context");return{id:n,Provider:qi(n),defaultValue:e}}function Oe(e){let t;return K&&K.context&&(t=K.context[e.id])!==void 0?t:e.defaultValue}function en(e){const t=N(e),n=N(()=>Nn(t()));return n.toArray=()=>{const r=n();return Array.isArray(r)?r:r!=null?[r]:[]},n}let Ue;function Fi(){return Ue||(Ue=Ke())}function Ao(){const e=A&&A.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===ke)lt(this);else{const t=ge;ge=null,be(()=>Xt(this),!1),ge=t}if(ee){const t=this.observers;if(!t||t[t.length-1]!==ee){const n=t?t.length:0;ee.sources?(ee.sources.push(this),ee.sourceSlots.push(n)):(ee.sources=[this],ee.sourceSlots=[n]),t?(t.push(ee),this.observerSlots.push(ee.sources.length-1)):(this.observers=[ee],this.observerSlots=[ee.sources.length-1])}}return e&&A.sources.has(this)?this.tValue:this.value}function To(e,t,n){let r=A&&A.running&&A.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(A){const o=A.running;(o||!n&&A.sources.has(e))&&(A.sources.add(e),e.tValue=t),o||(e.value=t)}else e.value=t;e.observers&&e.observers.length&&be(()=>{for(let o=0;o<e.observers.length;o+=1){const i=e.observers[o],s=A&&A.running;s&&A.disposed.has(i)||((s?!i.tState:!i.state)&&(i.pure?ge.push(i):he.push(i),i.observers&&Po(i)),s?i.tState=ke:i.state=ke)}if(ge.length>1e6)throw ge=[],new Error},!1)}return t}function lt(e){if(!e.fn)return;je(e);const t=Qt;Tr(e,A&&A.running&&A.sources.has(e)?e.tValue:e.value,t),A&&!A.running&&A.sources.has(e)&&queueMicrotask(()=>{be(()=>{A&&(A.running=!0),ee=K=e,Tr(e,e.tValue,t),ee=K=null},!1)})}function Tr(e,t,n){let r;const o=K,i=ee;ee=K=e;try{r=e.fn(t)}catch(s){return e.pure&&(A&&A.running?(e.tState=ke,e.tOwned&&e.tOwned.forEach(je),e.tOwned=void 0):(e.state=ke,e.owned&&e.owned.forEach(je),e.owned=null)),e.updatedAt=n+1,At(s)}finally{ee=i,K=o}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&"observers"in e?To(e,r,!0):A&&A.running&&e.pure?(A.sources.has(e)||(e.value=r),A.sources.add(e),e.tValue=r):e.value=r,e.updatedAt=n)}function Ct(e,t,n,r=ke,o){const i={fn:e,state:r,updatedAt:null,owned:null,sources:null,
2sourceSlots:null,cleanups:null,value:t,owner:K,context:K?K.context:null,pure:n};return A&&A.running&&(i.state=0,i.tState=r),K===null||K!==Eo&&(A&&A.running&&K.pure?K.tOwned?K.tOwned.push(i):K.tOwned=[i]:K.owned?K.owned.push(i):K.owned=[i]),i}function Kt(e){const t=A&&A.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===kt)return Xt(e);if(e.suspense&&le(e.suspense.inFallback))return e.suspense.effects.push(e);const n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<Qt);){if(t&&A.disposed.has(e))return;(t?e.tState:e.state)&&n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let o=e,i=n[r+1];for(;(o=o.owner)&&o!==i;)if(A.disposed.has(o))return}if((t?e.tState:e.state)===ke)lt(e);else if((t?e.tState:e.state)===kt){const o=ge;ge=null,be(()=>Xt(e,n[0]),!1),ge=o}}}function be(e,t){if(ge)return e();let n=!1;t||(ge=[]),he?n=!0:he=[],Qt++;try{const r=e();return zi(n),r}catch(r){n||(he=null),ge=null,At(r)}}function zi(e){if(ge&&(Mo(ge),ge=null),e)return;let t;if(A){if(!A.promises.size&&!A.queue.size){const r=A.sources,o=A.disposed;he.push.apply(he,A.effects),t=A.resolve;for(const i of he)"tState"in i&&(i.state=i.tState),delete i.tState;A=null,be(()=>{for(const i of o)je(i);for(const i of r){if(i.value=i.tValue,i.owned)for(let s=0,a=i.owned.length;s<a;s++)je(i.owned[s]);i.tOwned&&(i.owned=i.tOwned),delete i.tValue,delete i.tOwned,i.tState=0}Ar(!1)},!1)}else if(A.running){A.running=!1,A.effects.push.apply(A.effects,he),he=null,Ar(!0);return}}const n=he;he=null,n.length&&be(()=>$o(n),!1),t&&t()}function Mo(e){for(let t=0;t<e.length;t++)Kt(e[t])}function Hi(e){let t,n=0;for(t=0;t<e.length;t++){const r=e[t];r.user?e[n++]=r:Kt(r)}if(R.context){if(R.count){R.effects||(R.effects=[]),R.effects.push(...e.slice(0,n));return}Ie()}for(R.effects&&(R.done||!R.count)&&(e=[...R.effects,...e],n+=R.effects.length,delete R.effects),t=0;t<n;t++)Kt(e[t])}function Xt(e,t){const n=A&&A.running;n?e.tState=0:e.state=0;for(let r=0;r<e.sources.length;r+=1){const o=e.sources[r];if(o.sources){const i=n?o.tState:o.state;i===ke?o!==t&&(!o.updatedAt||o.updatedAt<Qt)&&Kt(o):i===kt&&Xt(o,t)}}}function Po(e){const t=A&&A.running;for(let n=0;n<e.observers.length;n+=1){const r=e.observers[n];(t?!r.tState:!r.state)&&(t?r.tState=kt:r.state=kt,r.pure?ge.push(r):he.push(r),r.observers&&Po(r))}}function je(e){let t;if(e.sources)for(;e.sources.length;){const n=e.sources.pop(),r=e.sourceSlots.pop(),o=n.observers;if(o&&o.length){const i=o.pop(),s=n.observerSlots.pop();r<o.length&&(i.sourceSlots[s]=r,o[r]=i,n.observerSlots[r]=s)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)je(e.tOwned[t]);delete e.tOwned}if(A&&A.running&&e.pure)Io(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)je(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}A&&A.running?e.tState=0:e.state=0}function Io(e,t){if(t||(e.tState=0,A.disposed.add(e)),e.owned)for(let n=0;n<e.owned.length;n++)Io(e.owned[n])}function Ft(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"Unknown error",{cause:e})}function Mr(e,t,n){try{for(const r of t)r(e)}catch(r){At(r,n&&n.owner||null)}}function At(e,t=K){const n=bt&&t&&t.context&&t.context[bt],r=Ft(e);if(!n)throw r;he?he.push({fn(){Mr(r,n,t)},state:ke}):Mr(r,n,t)}function Nn(e){if(typeof e=="function"&&!e.length)return Nn(e());if(Array.isArray(e)){const t=[];for(let n=0;n<e.length;n++){const r=Nn(e[n]);if(Array.isArray(r))if(r.length<32768)t.push.apply(t,r);else for(let o=0;o<r.length;o++)t.push(r[o]);else t.push(r)}return t}return e}function qi(e,t){return function(r){let o;return Y(()=>o=le(()=>(K.context={...K.context,[e]:r.value},en(()=>r.children))),void 0),o}}const Bi=Symbol("fallback");function Pr(e){for(let t=0;t<e.length;t++)e[t]()}function Gi(e,t,n={}){let r=[],o=[],i=[],s=0,a=t.length>1?[]:null;return de(()=>Pr(i)),()=>{let l=e()||[],u=l.length,d,c;return l[Ii],le(()=>{let w,b,f,y,k,v,_,E,L;if(u===0)s!==0&&(Pr(i),i=[],r=[],o=[],s=0,a&&(a=[])),n.fallback&&(r=[Bi],o[0]=Be(P=>(i[0]=P,n.fallback())),s=1);else if(s===0){for(o=new Array(u),c=0;c<u;c++)r[c]=l[c],o[c]=Be(m);s=u}else{for(f=new Array(u),y=new Array(u),a&&(k=new Array(u)),v=0,_=Math.min(s,u);v<_&&r[v]===l[v];v++);for(_=s-1,E=u-1;_>=v&&E>=v&&r[_]===l[E];_--,E--)f[E]=o[_],y[E]=i[_],a&&(k[E]=a[_]);for(w=new Map,b=new Array(E+1),c=E;c>=v;c--)L=l[c],d=w.get(L),b[c]=d===void 0?-1:d,w.set(L,c);for(d=v;d<=_;d++)L=r[d],c=w.get(L),c!==void 0&&c!==-1?(f[c]=o[d],y[c]=i[d],a&&(k[c]=a[d]),c=b[c],w.set(L,c)):i[d]();for(c=v;c<u;c++)c in f?(o[c]=f[c],i[c]=y[c],a&&(a[c]=k[c],a[c](c))):o[c]=Be(m);o=o.slice(0,s=u),r=l.slice(0)}return o}
2);function m(w){if(i[c]=w,a){const[b,f]=z(c);return a[c]=f,t(l[c],b)}return t(l[c])}}}function h(e,t){return le(()=>e(t||{}))}function Rt(){return!0}const Rn={get(e,t,n){return t===Ut?n:e.get(t)},has(e,t){return t===Ut?!0:e.has(t)},set:Rt,deleteProperty:Rt,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:Rt,deleteProperty:Rt}},ownKeys(e){return e.keys()}};function gn(e){return(e=typeof e=="function"?e():e)?e:{}}function Ui(){for(let e=0,t=this.length;e<t;++e){const n=this[e]();if(n!==void 0)return n}}function H(...e){let t=!1;for(let s=0;s<e.length;s++){const a=e[s];t=t||!!a&&Ut in a,e[s]=typeof a=="function"?(t=!0,N(a)):a}if(So&&t)return new Proxy({get(s){for(let a=e.length-1;a>=0;a--){const l=gn(e[a])[s];if(l!==void 0)return l}},has(s){for(let a=e.length-1;a>=0;a--)if(s in gn(e[a]))return!0;return!1},keys(){const s=[];for(let a=0;a<e.length;a++)s.push(...Object.keys(gn(e[a])));return[...new Set(s)]}},Rn);const n={},r=Object.create(null);for(let s=e.length-1;s>=0;s--){const a=e[s];if(!a)continue;const l=Object.getOwnPropertyNames(a);for(let u=l.length-1;u>=0;u--){const d=l[u];if(d==="__proto__"||d==="constructor")continue;const c=Object.getOwnPropertyDescriptor(a,d);if(!r[d])r[d]=c.get?{enumerable:!0,configurable:!0,get:Ui.bind(n[d]=[c.get.bind(a)])}:c.value!==void 0?c:void 0;else{const m=n[d];m&&(c.get?m.push(c.get.bind(a)):c.value!==void 0&&m.push(()=>c.value))}}}const o={},i=Object.keys(r);for(let s=i.length-1;s>=0;s--){const a=i[s],l=r[a];l&&l.get?Object.defineProperty(o,a,l):o[a]=l?l.value:void 0}return o}function tn(e,...t){const n=t.length;if(So&&Ut in e){const o=n>1?t.flat():t[0],i=t.map(s=>new Proxy({get(a){return s.includes(a)?e[a]:void 0},has(a){return s.includes(a)&&a in e},keys(){return s.filter(a=>a in e)}},Rn));return i.push(new Proxy({get(s){return o.includes(s)?void 0:e[s]},has(s){return o.includes(s)?!1:s in e},keys(){return Object.keys(e).filter(s=>!o.includes(s))}},Rn)),i}const r=[];for(let o=0;o<=n;o++)r[o]={};for(const o of Object.getOwnPropertyNames(e)){let i=n;for(let l=0;l<t.length;l++)if(t[l].includes(o)){i=l;break}const s=Object.getOwnPropertyDescriptor(e,o);!s.get&&!s.set&&s.enumerable&&s.writable&&s.configurable?r[i][o]=s.value:Object.defineProperty(r[i],o,s)}return r}function U(e){let t,n;const r=o=>{const i=R.context;if(i){const[a,l]=z();R.count||(R.count=0),R.count++,(n||(n=e())).then(u=>{!R.done&&Ie(i),R.count--,l(()=>u.default),Ie()}),t=a}else if(!t){const[a]=Ni(()=>(n||(n=e())).then(l=>l.default));t=a,de(()=>t=void 0)}let s;return N(()=>(s=t?.())?le(()=>{if(!i||R.done)return s(o);const a=R.context;Ie(i);const l=s(o);return Ie(a),l}):"")};return r.preload=()=>n||((n=e()).then(o=>t=()=>o.default),n),r}let Wi=0;function Ki(){return R.context?R.getNextContextId():`cl-${Wi++}`}const Lo=e=>`Stale read from <${e}>.`;function we(e){const t="fallback"in e&&{fallback:()=>e.fallback};return N(Gi(()=>e.each,e.children,t||void 0))}function te(e){const t=e.keyed,n=N(()=>e.when,void 0,void 0),r=t?n:N(n,void 0,{equals:(o,i)=>!o==!i});return N(()=>{const o=r();if(o){const i=e.children;return typeof i=="function"&&i.length>0?le(()=>i(t?o:()=>{if(!le(r))throw Lo("Show");return n()})):i}return e.fallback},void 0,void 0)}function Rh(e){const t=en(()=>e.children),n=N(()=>{const r=t(),o=Array.isArray(r)?r:[r];let i=()=>{};for(let s=0;s<o.length;s++){const a=s,l=o[s],u=i,d=N(()=>u()?void 0:l.when,void 0,void 0),c=l.keyed?d:N(d,void 0,{equals:(m,w)=>!m==!w});i=()=>u()||(c()?[a,d,l]:void 0)}return i});return N(()=>{const r=n()();if(!r)return e.fallback;const[o,i,s]=r,a=s.children;return typeof a=="function"&&a.length>0?le(()=>a(s.keyed?i():()=>{if(le(n)()?.[0]!==o)throw Lo("Match");return i()})):a},void 0,void 0)}function Dh(e){return e}let et;function Xi(){et&&[...et].forEach(e=>e())}function Vh(e){let t;R.context&&R.load&&(t=R.load(R.getContextId()));const[n,r]=z(t,void 0);return et||(et=new Set),et.add(r),de(()=>et.delete(r)),N(()=>{let o;if(o=n()){const i=e.fallback;return typeof i=="function"&&i.length?le(()=>i(o,()=>r())):i}return Ri(()=>e.children,r)},void 0,void 0)}const Yi=Ke();function Ji(e){let t=0,n,r,o,i,s;const[a,l]=z(!1),u=Fi(),d={increment:()=>{++t===1&&l(!0)},decrement:()=>{--t===0&&l(!1)},inFallback:a,effects:[],resolved:!1},c=_t();if(R.context&&R.load){const b=R.getContextId();let f=R.load(b);if(f&&(typeof f!="object"||f.s!==1?o=f:R.gather(b)),o&&o!=="$$f"){const[y,k]=z(void 0,{equals:!1});i=y,o.then(()=>
2{if(R.done)return k();R.gather(b),Ie(r),k(),Ie()},v=>{s=v,k()})}}const m=Oe(Yi);m&&(n=m.register(d.inFallback));let w;return de(()=>w&&w()),h(u.Provider,{value:d,get children(){return N(()=>{if(s)throw s;if(r=R.context,i)return i(),i=void 0;r&&o==="$$f"&&Ie();const b=N(()=>e.children);return N(f=>{const y=d.inFallback(),{showContent:k=!0,showFallback:v=!0}=n?n():{};if((!y||o&&o!=="$$f")&&k)return d.resolved=!0,w&&w(),w=r=o=void 0,ji(d.effects),b();if(v)return w?f:Be(_=>(w=_,r&&(Ie({id:r.id+"F",count:0}),r=void 0),e.fallback),c)})})}})}const Qi=["allowfullscreen","async","alpha","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","adauctionheaders","browsingtopics","credentialless","defaultchecked","defaultmuted","defaultselected","defer","disablepictureinpicture","disableremoteplayback","preservespitch","shadowrootclonable","shadowrootcustomelementregistry","shadowrootdelegatesfocus","shadowrootserializable","sharedstoragewritable"],Zi=new Set(["className","value","readOnly","noValidate","formNoValidate","isMap","noModule","playsInline","adAuctionHeaders","allowFullscreen","browsingTopics","defaultChecked","defaultMuted","defaultSelected","disablePictureInPicture","disableRemotePlayback","preservesPitch","shadowRootClonable","shadowRootCustomElementRegistry","shadowRootDelegatesFocus","shadowRootSerializable","sharedStorageWritable",...Qi]),es=new Set(["innerHTML","textContent","innerText","children"]),ts=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),ns=Object.assign(Object.create(null),{class:"className",novalidate:{$:"noValidate",FORM:1},formnovalidate:{$:"formNoValidate",BUTTON:1,INPUT:1},ismap:{$:"isMap",IMG:1},nomodule:{$:"noModule",SCRIPT:1},playsinline:{$:"playsInline",VIDEO:1},readonly:{$:"readOnly",INPUT:1,TEXTAREA:1},adauctionheaders:{$:"adAuctionHeaders",IFRAME:1},allowfullscreen:{$:"allowFullscreen",IFRAME:1},browsingtopics:{$:"browsingTopics",IMG:1},defaultchecked:{$:"defaultChecked",INPUT:1},defaultmuted:{$:"defaultMuted",AUDIO:1,VIDEO:1},defaultselected:{$:"defaultSelected",OPTION:1},disablepictureinpicture:{$:"disablePictureInPicture",VIDEO:1},disableremoteplayback:{$:"disableRemotePlayback",AUDIO:1,VIDEO:1},preservespitch:{$:"preservesPitch",AUDIO:1,VIDEO:1},shadowrootclonable:{$:"shadowRootClonable",TEMPLATE:1},shadowrootdelegatesfocus:{$:"shadowRootDelegatesFocus",TEMPLATE:1},shadowrootserializable:{$:"shadowRootSerializable",TEMPLATE:1},sharedstoragewritable:{$:"sharedStorageWritable",IFRAME:1,IMG:1}});function rs(e,t){const n=ns[e];return typeof n=="object"?n[t]?n.$:void 0:n}const os=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),is=new Set(["altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tref","tspan","use","view","vkern"]),ss={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},Le=e=>N(()=>e());function as(e,t,n){let r=n.length,o=t.length,i=r,s=0,a=0,l=t[o-1].nextSibling,u=null;for(;s<o||a<i;){if(t[s]===n[a]){s++,a++;continue}for(;t[o-1]===n[i-1];)o--,i--;if(o===s){const d=i<r?a?n[a-1].nextSibling:n[i-a]:l;for(;a<i;)e.insertBefore(n[a++],d)}else if(i===a)for(;s<o;)(!u||!u.has(t[s]))&&t[s].remove(),s++;else if(t[s]===n[i-1]&&n[a]===t[o-1]){const d=t[--o].nextSibling;e.insertBefore(n[a++],t[s++].nextSibling),e.insertBefore(n[--i],d),t[o]=n[i]}else{if(!u){u=new Map;let c=a;for(;c<i;)u.set(n[c],c++)}const d=u.get(t[s]);if(d!=null)if(a<d&&d<i){let c=s,m=1,w;for(;++c<o&&c<i&&!((w=u.get(t[c]))==null||w!==d+m);)m++;if(m>d-a){const b=t[s];for(;a<d;)e.insertBefore(n[a++],b)}else e.replaceChild(n[a++],t[s++])}else s++;else t[s++].remove()}}}const Ir="_$DX_DELEGATE";function ls(e,t,n,r={}){let o;return Be(i=>{o=i,t===document?e():S(t,e(),t.firstChild?null:void 0,n)},r.owner),()=>{o(),t.textContent=""}}function M(e,t,n,r){let o;const i=()=>{const a=r?document.createElementNS("http://www.w3.org/1998/Math/MathML","template"):document.createElement("template");return a.innerHTML=e,n?a.content.firstChild.firstChild:r?a.firstChild:a.content.firstChild},s=t?()=>le(()=>
2document.importNode(o||(o=i()),!0)):()=>(o||(o=i())).cloneNode(!0);return s.cloneNode=s,s}function $e(e,t=window.document){const n=t[Ir]||(t[Ir]=new Set);for(let r=0,o=e.length;r<o;r++){const i=e[r];n.has(i)||(n.add(i),t.addEventListener(i,ms))}}function Se(e,t,n){Xe(e)||(n==null?e.removeAttribute(t):e.setAttribute(t,n))}function cs(e,t,n,r){Xe(e)||(r==null?e.removeAttributeNS(t,n):e.setAttributeNS(t,n,r))}function ds(e,t,n){Xe(e)||(n?e.setAttribute(t,""):e.removeAttribute(t))}function fe(e,t){Xe(e)||(t==null?e.removeAttribute("class"):e.className=t)}function We(e,t,n,r){if(r)Array.isArray(n)?(e[`$$${t}`]=n[0],e[`$$${t}Data`]=n[1]):e[`$$${t}`]=n;else if(Array.isArray(n)){const o=n[0];e.addEventListener(t,n[0]=i=>o.call(e,n[1],i))}else e.addEventListener(t,n,typeof n!="function"&&n)}function tt(e,t,n={}){const r=Object.keys(t||{}),o=Object.keys(n);let i,s;for(i=0,s=o.length;i<s;i++){const a=o[i];!a||a==="undefined"||t[a]||(Lr(e,a,!1),delete n[a])}for(i=0,s=r.length;i<s;i++){const a=r[i],l=!!t[a];!a||a==="undefined"||n[a]===l||!l||(Lr(e,a,!0),n[a]=l)}return n}function Oo(e,t,n){if(!t)return n?Se(e,"style"):t;const r=e.style;if(typeof t=="string")return r.cssText=t;typeof n=="string"&&(r.cssText=n=void 0),n||(n={}),t||(t={});let o,i;for(i in n)t[i]==null&&r.removeProperty(i),delete n[i];for(i in t)o=t[i],o!==n[i]&&(r.setProperty(i,o),n[i]=o);return n}function ae(e,t,n){n!=null?e.style.setProperty(t,n):e.style.removeProperty(t)}function Yt(e,t={},n,r){const o={};return r||Y(()=>o.children=St(e,t.children,o.children)),Y(()=>typeof t.ref=="function"&&Re(t.ref,e)),Y(()=>us(e,t,n,!0,o,!0)),o}function Re(e,t,n){return le(()=>e(t,n))}function S(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!="function")return St(e,t,r,n);Y(o=>St(e,t(),o,n),r)}function us(e,t,n,r,o={},i=!1){t||(t={});for(const s in o)if(!(s in t)){if(s==="children")continue;o[s]=Or(e,s,null,o[s],n,i,t)}for(const s in t){if(s==="children")continue;const a=t[s];o[s]=Or(e,s,a,o[s],n,i,t)}}function fs(e){let t,n;return!Xe()||!(t=R.registry.get(n=gs()))?e():(R.completed&&R.completed.add(t),R.registry.delete(n),t)}function Xe(e){return!!R.context&&!R.done&&(!e||e.isConnected)}function hs(e){return e.toLowerCase().replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Lr(e,t,n){const r=t.trim().split(/\s+/);for(let o=0,i=r.length;o<i;o++)e.classList.toggle(r[o],n)}function Or(e,t,n,r,o,i,s){let a,l,u,d,c;if(t==="style")return Oo(e,n,r);if(t==="classList")return tt(e,n,r);if(n===r)return r;if(t==="ref")i||n(e);else if(t.slice(0,3)==="on:"){const m=t.slice(3);r&&e.removeEventListener(m,r,typeof r!="function"&&r),n&&e.addEventListener(m,n,typeof n!="function"&&n)}else if(t.slice(0,10)==="oncapture:"){const m=t.slice(10);r&&e.removeEventListener(m,r,!0),n&&e.addEventListener(m,n,!0)}else if(t.slice(0,2)==="on"){const m=t.slice(2).toLowerCase(),w=os.has(m);if(!w&&r){const b=Array.isArray(r)?r[0]:r;e.removeEventListener(m,b)}(w||n)&&(We(e,m,n,w),w&&$e([m]))}else if(t.slice(0,5)==="attr:")Se(e,t.slice(5),n);else if(t.slice(0,5)==="bool:")ds(e,t.slice(5),n);else if((c=t.slice(0,5)==="prop:")||(u=es.has(t))||!o&&((d=rs(t,e.tagName))||(l=Zi.has(t)))||(a=e.nodeName.includes("-")||"is"in s)){if(c)t=t.slice(5),l=!0;else if(Xe(e))return n;t==="class"||t==="className"?fe(e,n):a&&!l&&!u?e[hs(t)]=n:e[d||t]=n}else{const m=o&&t.indexOf(":")>-1&&ss[t.split(":")[0]];m?cs(e,m,t,n):Se(e,ts[t]||t,n)}return n}function ms(e){if(R.registry&&R.events&&R.events.find(([l,u])=>u===e))return;let t=e.target;const n=`$$${e.type}`,r=e.target,o=e.currentTarget,i=l=>Object.defineProperty(e,"target",{configurable:!0,value:l}),s=()=>{const l=t[n];if(l&&!t.disabled){const u=t[`${n}Data`];if(u!==void 0?l.call(t,u,e):l.call(t,e),e.cancelBubble)return}return t.host&&typeof t.host!="string"&&!t.host._$host&&t.contains(e.target)&&i(t.host),!0},a=()=>{for(;s()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t||document}}),R.registry&&!R.done&&(R.done=_$HY.done=!0),e.composedPath){const l=e.composedPath();i(l[0]);for(let u=0;u<l.length-2&&(t=l[u],!!s());u++){if(t._$host){t=t._$host,a();break}if(t.parentNode===o)break}}else a();i(r)}function St(e,t,n,r,o){const i=Xe(e);if(i){!n&&(n=[...e.childNodes]);let l=[];for(let u=0;u<n.length;u++){const d=n[u];d.nodeType===8&&d.data.slice(0,2)==="!$"?d.remove():l.push(d)}n=l}for(;typeof n=="function";)n=n();if(t===n)return n;const s=typeof t,a=r!==void 0;
2if(e=a&&n[0]&&n[0].parentNode||e,s==="string"||s==="number"){if(i||s==="number"&&(t=t.toString(),t===n))return n;if(a){let l=n[0];l&&l.nodeType===3?l.data!==t&&(l.data=t):l=document.createTextNode(t),n=Qe(e,n,r,l)}else n!==""&&typeof n=="string"?n=e.firstChild.data=t:n=e.textContent=t}else if(t==null||s==="boolean"){if(i)return n;n=Qe(e,n,r)}else{if(s==="function")return Y(()=>{let l=t();for(;typeof l=="function";)l=l();n=St(e,l,n,r)}),()=>n;if(Array.isArray(t)){const l=[],u=n&&Array.isArray(n);if(Dn(l,t,n,o))return Y(()=>n=St(e,l,n,r,!0)),()=>n;if(i){if(!l.length)return n;if(r===void 0)return n=[...e.childNodes];let d=l[0];if(d.parentNode!==e)return n;const c=[d];for(;(d=d.nextSibling)!==r;)c.push(d);return n=c}if(l.length===0){if(n=Qe(e,n,r),a)return n}else u?n.length===0?Nr(e,l,r):as(e,n,l):(n&&Qe(e),Nr(e,l));n=l}else if(t.nodeType){if(i&&t.parentNode)return n=a?[t]:t;if(Array.isArray(n)){if(a)return n=Qe(e,n,r,t);Qe(e,n,null,t)}else n==null||n===""||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}}return n}function Dn(e,t,n,r){let o=!1;for(let i=0,s=t.length;i<s;i++){let a=t[i],l=n&&n[e.length],u;if(!(a==null||a===!0||a===!1))if((u=typeof a)=="object"&&a.nodeType)e.push(a);else if(Array.isArray(a))o=Dn(e,a,l)||o;else if(u==="function")if(r){for(;typeof a=="function";)a=a();o=Dn(e,Array.isArray(a)?a:[a],Array.isArray(l)?l:[l])||o}else e.push(a),o=!0;else{const d=String(a);l&&l.nodeType===3&&l.data===d?e.push(l):e.push(document.createTextNode(d))}}return o}function Nr(e,t,n=null){for(let r=0,o=t.length;r<o;r++)e.insertBefore(t[r],n)}function Qe(e,t,n,r){if(n===void 0)return e.textContent="";const o=r||document.createTextNode("");if(t.length){let i=!1;for(let s=t.length-1;s>=0;s--){const a=t[s];if(o!==a){const l=a.parentNode===e;!i&&!s?l?e.replaceChild(o,a):e.insertBefore(o,n):l&&a.remove()}else i=!0}}else e.insertBefore(o,n);return[o]}function gs(){return R.getNextContextId()}const ps=!1,ys="http://www.w3.org/2000/svg";function No(e,t=!1,n=void 0){return t?document.createElementNS(ys,e):document.createElement(e,{is:n})}function Ro(e){const{useShadow:t}=e,n=document.createTextNode(""),r=()=>e.mount||document.body,o=_t();let i,s=!!R.context;return ie(()=>{s&&(_t().user=s=!1),i||(i=Zt(o,()=>N(()=>e.children)));const a=r();if(a instanceof HTMLHeadElement){const[l,u]=z(!1),d=()=>u(!0);Be(c=>S(a,()=>l()?c():i(),null)),de(d)}else{const l=No(e.isSVG?"g":"div",e.isSVG),u=t&&l.attachShadow?l.attachShadow({mode:"open"}):l;Object.defineProperty(l,"_$host",{get(){return n.parentNode},configurable:!0}),S(u,i),a.appendChild(l),e.ref&&e.ref(l),de(()=>a.contains(l)&&a.removeChild(l))}},void 0,{render:!s}),n}function ws(e,t){const n=N(e);return N(()=>{const r=n();switch(typeof r){case"function":return le(()=>r(t));case"string":const o=is.has(r),i=R.context?fs():No(r,o,le(()=>t.is));return Yt(i,t,o),i}})}function Yn(e){const[,t]=tn(e,["component"]);return ws(()=>e.component,t)}function Do(){let e=new Set;function t(o){return e.add(o),()=>e.delete(o)}let n=!1;function r(o,i){if(n)return!(n=!1);const s={to:o,options:i,defaultPrevented:!1,preventDefault:()=>s.defaultPrevented=!0};for(const a of e)a.listener({...s,from:a.location,retry:l=>{l&&(n=!0),a.navigate(o,{...i,resolve:!1})}});return!s.defaultPrevented}return{subscribe:t,confirm:r}}let Vn;function Jn(){(!window.history.state||window.history.state._depth==null)&&window.history.replaceState({...window.history.state,_depth:window.history.length-1},""),Vn=window.history.state._depth}Jn();function vs(e){return{...e,_depth:window.history.state&&window.history.state._depth}}function bs(e,t){let n=!1;return()=>{const r=Vn;Jn();const o=r==null?null:Vn-r;if(n){n=!1;return}o&&t(o)?(n=!0,window.history.go(-o)):e()}}const xs=/^(?:[a-z0-9]+:)?\/\//i,ks=/^\/+|(\/)\/+$/g,Vo="http://sr";function xt(e,t=!1){const n=e.replace(ks,"$1");return n?t||/^[?#]/.test(n)?n:"/"+n:""}function zt(e,t,n){if(xs.test(t))return;const r=xt(e),o=n&&xt(n);let i="";return!o||t.startsWith("/")?i=r:o.toLowerCase().indexOf(r.toLowerCase())!==0?i=r+o:i=o,(i||"/")+xt(t,!i)}function _s(e,t){if(e==null)throw new Error(t);return e}function Ss(e,t){return xt(e).replace(/\/*(\*.*)?$/g,"")+xt(t)}function jo(e){const t={};
2return e.searchParams.forEach((n,r)=>{r in t?Array.isArray(t[r])?t[r].push(n):t[r]=[t[r],n]:t[r]=n}),t}function $s(e,t,n){const[r,o]=e.split("/*",2),i=r.split("/").filter(Boolean),s=i.length;return a=>{const l=a.split("/").filter(Boolean),u=l.length-s;if(u<0||u>0&&o===void 0&&!t)return null;const d={path:s?"":"/",params:{}},c=m=>n===void 0?void 0:n[m];for(let m=0;m<s;m++){const w=i[m],b=w[0]===":",f=b?l[m]:l[m].toLowerCase(),y=b?w.slice(1):w.toLowerCase();if(b&&pn(f,c(y)))d.params[y]=f;else if(b||!pn(f,y))return null;d.path+=`/${f}`}if(o){const m=u?l.slice(-u).join("/"):"";if(pn(m,c(o)))d.params[o]=m;else return null}return d}}function pn(e,t){const n=r=>r===e;return t===void 0?!0:typeof t=="string"?n(t):typeof t=="function"?t(e):Array.isArray(t)?t.some(n):t instanceof RegExp?t.test(e):!1}function Es(e){const[t,n]=e.pattern.split("/*",2),r=t.split("/").filter(Boolean);return r.reduce((o,i)=>o+(i.startsWith(":")?2:3),r.length-(n===void 0?0:1))}function Fo(e){const t=new Map,n=_t();return new Proxy({},{get(r,o){return t.has(o)||Zt(n,()=>t.set(o,N(()=>e()[o]))),t.get(o)()},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}},ownKeys(){return Reflect.ownKeys(e())},has(r,o){return o in e()}})}function Cs(e,t){const n=new URLSearchParams(e);Object.entries(t).forEach(([o,i])=>{i==null||i===""||i instanceof Array&&!i.length?n.delete(o):i instanceof Array?(n.delete(o),i.forEach(s=>{n.append(o,String(s))})):n.set(o,String(i))});const r=n.toString();return r?`?${r}`:""}function zo(e){let t=/(\/?\:[^\/]+)\?/.exec(e);if(!t)return[e];let n=e.slice(0,t.index),r=e.slice(t.index+t[0].length);const o=[n,n+=t[1]];for(;t=/^(\/\:[^\/]+)\?/.exec(r);)o.push(n+=t[1]),r=r.slice(t[0].length);return zo(r).reduce((i,s)=>[...i,...o.map(a=>a+s)],[])}const As=100,Ho=Ke(),Qn=Ke(),Tt=()=>_s(Oe(Ho),"<A> and 'use' router primitives can be only used inside a Route."),Ts=()=>Oe(Qn)||Tt().base,jh=e=>{const t=Ts();return N(()=>t.resolvePath(e()))},Fh=e=>{const t=Tt();return N(()=>{const n=e();return n!==void 0?t.renderPath(n):n})},Ms=()=>Tt().navigatorFactory(),Ps=()=>Tt().location,zh=()=>Tt().params,Is=()=>{const e=Ps(),t=Ms(),n=(r,o)=>{const i=le(()=>Cs(e.search,r)+e.hash);t(i,{scroll:!1,resolve:!1,...o})};return[e.query,n]};function Ls(e,t=""){const{component:n,preload:r,load:o,children:i,info:s}=e,a=!i||Array.isArray(i)&&!i.length,l={key:e,component:n,preload:r||o,info:s};return qo(e.path).reduce((u,d)=>{for(const c of zo(d)){const m=Ss(t,c);let w=a?m:m.split("/*",1)[0];w=w.split("/").map(b=>b.startsWith(":")||b.startsWith("*")?b:encodeURIComponent(b)).join("/"),u.push({...l,originalPath:d,pattern:w,matcher:$s(w,!a,e.matchFilters)})}return u},[])}function Os(e,t=0){return{routes:e,score:Es(e[e.length-1])*1e4-t,matcher(n){const r=[];for(let o=e.length-1;o>=0;o--){const i=e[o],s=i.matcher(n);if(!s)return null;r.unshift({...s,route:i})}return r}}}function qo(e){return Array.isArray(e)?e:[e]}function Bo(e,t="",n=[],r=[]){const o=qo(e);for(let i=0,s=o.length;i<s;i++){const a=o[i];if(a&&typeof a=="object"){a.hasOwnProperty("path")||(a.path="");const l=Ls(a,t);for(const u of l){n.push(u);const d=Array.isArray(a.children)&&a.children.length===0;if(a.children&&!d)Bo(a.children,u.pattern,n,r);else{const c=Os([...n],r.length);r.push(c)}n.pop()}}}return n.length?r:r.sort((i,s)=>s.score-i.score)}function yn(e,t){for(let n=0,r=e.length;n<r;n++){const o=e[n].matcher(t);if(o)return o}return[]}function Ns(e,t,n){const r=new URL(Vo),o=N(d=>{const c=e();try{return new URL(c,r)}catch{return console.error(`Invalid path ${c}`),d}},r,{equals:(d,c)=>d.href===c.href}),i=N(()=>o().pathname),s=N(()=>o().search,!0),a=N(()=>o().hash),l=()=>"",u=ot(s,()=>jo(o()));return{get pathname(){return i()},get search(){return s()},get hash(){return a()},get state(){return t()},get key(){return l()},query:n?n(u):Fo(u)}}let qe;function Rs(){return qe}function Ds(e,t,n,r={}){const{signal:[o,i],utils:s={}}=e,a=s.parsePath||(D=>D),l=s.renderPath||(D=>D),u=s.beforeLeave||Do(),d=zt("",r.base||"");if(d===void 0)throw new Error(`${d} is not a valid base path`);d&&!o().value&&i({value:d,replace:!0,scroll:!1});const[c,m]=z(!1);let w;const b=(D,Q)=>{Q.value===f()&&Q.state===k()||(w===void 0&&m(!0),qe=D,w=Q,Co(()=>{w===Q&&(y(w.value),v(w.state),Xi(),L[1](ue=>ue.filter(me=>me.pending)))}).finally(()=>{w===Q&&Ge(()=>{qe=void 0,D==="navigate"&&W(w),m(!1),w=void 0})}))},[f,y]=z(o().value),[k,v]=z(o().state),_=Ns(f,k,s.queryWrapper),E=[],L=z([]),P=N(()=>typeof r.transformUrl=="function"?yn(t(),r.transformUrl(_.pathname)):yn(t(),_.pathname)),I=()=>{const D=P(),Q={};for(let ue=0;ue<D.length;ue++)Object.assign(Q,D[ue].params);return Q},T=s.paramsWrapper?s.paramsWrapper(I,t):Fo(I),O={pattern:d,path:()=>d,outlet:()=>null,resolvePath(D){return zt(d,D)}};return Y(ot(o,D=>b("native",D),{defer:!0})),{base:O,location:_,params:T,isRouting:c,renderPath:l,parsePath:a,navigatorFactory:C,matches:P,beforeLeave:u,preloadRoute:ne,singleFlight:r.singleFlight===void 0?!0:r.singleFlight,submissions:L};function F(D,Q,ue){le(()=>{if(typeof Q=="number"){Q&&(s.go?s.go(Q):console.warn("Router integration does not support relative routing"));return}const me=!Q||Q[0]==="?",{replace:xe,resolve:Ee,scroll:Ce,state:Z}={replace:!1,resolve:!me,scroll:!0,...ue},pe=Ee?D.resolvePath(Q):zt(me&&_.pathname||"",Q);if(pe===void 0)throw new Error(`Path '${Q}' is not a routable path`);if(E.length>=As)throw new Error("Too many redirects");const ct=f();(pe!==ct||Z!==k())&&(ps||u.confirm(pe,ue)&&(E.push({value:ct,replace:xe,scroll:Ce,state:k()}),b("navigate",{value:pe,state:Z})))})}function C(D){return D=D||Oe(Qn)||O,(Q,ue)=>F(D,Q,ue)}function W(D){const Q=E[0];Q&&(i({...D,replace:Q.replace,scroll:Q.scroll}),E.length=0)}function ne(D,Q){const ue=yn(t(),D.pathname),me=qe;qe="preload";for(let xe in ue){const{route:Ee,params:Ce}=ue[xe];Ee.component&&Ee.component.preload&&Ee.component.preload();const{preload:Z}=Ee;Q&&Z&&Zt(n(),()=>Z({params:Ce,location:{pathname:D.pathname,search:D.search,hash:D.hash,query:jo(D),state:null,key:""},intent:"preload"}))}qe=me}}function Vs(e,t,n,r){const{base:o,location:i,params:s}=e,{pattern:a,component:l,preload:u}=r().route,d=N(()=>r().path);l&&l.preload&&l.preload();const c=u?u({params:s,location:i,intent:qe||"initial"}):void 0;return{parent:t,pattern:a,path:d,outlet:()=>l?h(l,{params:s,location:i,data:c,get children(){return n()}}):n(),resolvePath(w){return zt(o.path(),w,d())}}}const js=e=>t=>{const{base:n}=t,r=en(()=>t.children),o=N(()=>Bo(r(),t.base||""));let i;const s=Ds(e,o,()=>i,{base:n,singleFlight:t.singleFlight,transformUrl:t.transformUrl});return e.create&&e.create(s),h(Ho.Provider,{value:s,get children(){return h(Fs,{routerState:s,get root(){return t.root},get preload(){return t.rootPreload||t.rootLoad},get children(){return[Le(()=>(i=_t())&&null),h(zs,{routerState:s,get branches(){return o()}})]}})}})};function Fs(e){const t=e.routerState.location,n=e.routerState.params,r=N(()=>e.preload&&le(()=>{e.preload({params:n,location:t,intent:Rs()||"initial"})}));return h(te,{get when(){return e.root},keyed:!0,get fallback(){return e.children},children:o=>h(o,{params:n,location:t,get data(){return r()},get children(){return e.children}})})}function zs(e){const t=[];let n;const r=N(ot(e.routerState.matches,(o,i,s)=>{let a=i&&o.length===i.length;const l=[];for(let u=0,d=o.length;u<d;u++){const c=i&&i[u],m=o[u];s&&c&&m.route.key===c.route.key?l[u]=s[u]:(a=!1,t[u]&&t[u](),Be(w=>{t[u]=w,l[u]=Vs(e.routerState,l[u-1]||e.routerState.base,Rr(()=>r()[u+1]),()=>{const b=e.routerState.matches();return b[u]??b[0]})}))}
2return t.splice(o.length).forEach(u=>u()),s&&a?s:(n=l[0],l)}));return Rr(()=>r()&&n)()}const Rr=e=>()=>h(te,{get when(){return e()},keyed:!0,children:t=>h(Qn.Provider,{value:t,get children(){return t.outlet()}})}),j=e=>{const t=en(()=>e.children);return H(e,{get children(){return t()}})};function Hs([e,t],n,r){return[e,r?o=>t(r(o)):t]}function qs(e){let t=!1;const n=o=>typeof o=="string"?{value:o}:o,r=Hs(z(n(e.get()),{equals:(o,i)=>o.value===i.value&&o.state===i.state}),void 0,o=>(!t&&e.set(o),R.registry&&!R.done&&(R.done=!0),o));return e.init&&de(e.init((o=e.get())=>{t=!0,r[1](n(o)),t=!1})),js({signal:r,create:e.create,utils:e.utils})}function Bs(e,t,n){return e.addEventListener(t,n),()=>e.removeEventListener(t,n)}function Gs(e,t){const n=e&&document.getElementById(e);n?n.scrollIntoView():t&&window.scrollTo(0,0)}const Us=new Map;function Ws(e=!0,t=!1,n="/_server",r){return o=>{const i=o.base.path(),s=o.navigatorFactory(o.base);let a,l;function u(f){return f.namespaceURI==="http://www.w3.org/2000/svg"}function d(f){if(f.defaultPrevented||f.button!==0||f.metaKey||f.altKey||f.ctrlKey||f.shiftKey)return;const y=f.composedPath().find(P=>P instanceof Node&&P.nodeName.toUpperCase()==="A");if(!y||t&&!y.hasAttribute("link"))return;const k=u(y),v=k?y.href.baseVal:y.href;if((k?y.target.baseVal:y.target)||!v&&!y.hasAttribute("state"))return;const E=(y.getAttribute("rel")||"").split(/\s+/);if(y.hasAttribute("download")||E&&E.includes("external"))return;const L=k?new URL(v,document.baseURI):new URL(v);if(!(L.origin!==window.location.origin||i&&L.pathname&&!L.pathname.toLowerCase().startsWith(i.toLowerCase())))return[y,L]}function c(f){const y=d(f);if(!y)return;const[k,v]=y,_=o.parsePath(v.pathname+v.search+v.hash),E=k.getAttribute("state");f.preventDefault(),s(_,{resolve:!1,replace:k.hasAttribute("replace"),scroll:!k.hasAttribute("noscroll"),state:E?JSON.parse(E):void 0})}function m(f){const y=d(f);if(!y)return;const[k,v]=y;r&&(v.pathname=r(v.pathname)),o.preloadRoute(v,k.getAttribute("preload")!=="false")}function w(f){clearTimeout(a);const y=d(f);if(!y)return l=null;const[k,v]=y;l!==k&&(r&&(v.pathname=r(v.pathname)),a=setTimeout(()=>{o.preloadRoute(v,k.getAttribute("preload")!=="false"),l=k},20))}function b(f){if(f.defaultPrevented)return;let y=f.submitter&&f.submitter.hasAttribute("formaction")?f.submitter.getAttribute("formaction"):f.target.getAttribute("action");if(!y)return;if(!y.startsWith("https://action/")){const v=new URL(y,Vo);if(y=o.parsePath(v.pathname+v.search),!y.startsWith(n))return}if(f.target.method.toUpperCase()!=="POST")throw new Error("Only POST forms are supported for Actions");const k=Us.get(y);if(k){f.preventDefault();const v=new FormData(f.target,f.submitter);k.call({r:o,f:f.target},f.target.enctype==="multipart/form-data"?v:new URLSearchParams(v))}}$e(["click","submit"]),document.addEventListener("click",c),e&&(document.addEventListener("mousemove",w,{passive:!0}),document.addEventListener("focusin",m,{passive:!0}),document.addEventListener("touchstart",m,{passive:!0})),document.addEventListener("submit",b),de(()=>{document.removeEventListener("click",c),e&&(document.removeEventListener("mousemove",w),document.removeEventListener("focusin",m),document.removeEventListener("touchstart",m)),document.removeEventListener("submit",b)})}}function Ks(e){const t=()=>{const r=window.location.pathname.replace(/^\/+/,"/")+window.location.search,o=window.history.state&&window.history.state._depth&&Object.keys(window.history.state).length===1?void 0:window.history.state;return{value:r+window.location.hash,state:o}},n=Do();return qs({get:t,set({value:r,replace:o,scroll:i,state:s}){o?window.history.replaceState(vs(s),"",r):window.history.pushState(s,"",r),Gs(decodeURIComponent(window.location.hash.slice(1)),i),Jn()},init:r=>Bs(window,"popstate",bs(r,o=>{if(o)return!n.confirm(o);{const i=t();return!n.confirm(i.value,{state:i.state})}})),create:Ws(e.preload,e.explicitLinks,e.actionBase,e.transformUrl),utils:{go:r=>window.history.go(r),beforeLeave:n}})(e)}const Go=Ke(),Xs=["title","meta"],Dr=[],Vr=["name","http-equiv","content","charset","media"].concat(["property"]),jr=(e,t)=>
2{const n=Object.fromEntries(Object.entries(e.props).filter(([r])=>t.includes(r)).sort());return(Object.hasOwn(n,"name")||Object.hasOwn(n,"property"))&&(n.name=n.name||n.property,delete n.property),e.tag+JSON.stringify(n)};function Ys(){if(!R.context){const n=document.head.querySelectorAll("[data-sm]");Array.prototype.forEach.call(n,r=>r.parentNode.removeChild(r))}const e=new Map;function t(n){if(n.ref)return n.ref;let r=document.querySelector(`[data-sm="${n.id}"]`);return r?(r.tagName.toLowerCase()!==n.tag&&(r.parentNode&&r.parentNode.removeChild(r),r=document.createElement(n.tag)),r.removeAttribute("data-sm")):r=document.createElement(n.tag),r}return{addTag(n){if(Xs.indexOf(n.tag)!==-1){const i=n.tag==="title"?Dr:Vr,s=jr(n,i);e.has(s)||e.set(s,[]);let a=e.get(s),l=a.length;a=[...a,n],e.set(s,a);let u=t(n);n.ref=u,Yt(u,n.props);let d=null;for(var r=l-1;r>=0;r--)if(a[r]!=null){d=a[r];break}return u.parentNode!=document.head&&document.head.appendChild(u),d&&d.ref&&d.ref.parentNode&&document.head.removeChild(d.ref),l}let o=t(n);return n.ref=o,Yt(o,n.props),o.parentNode!=document.head&&document.head.appendChild(o),-1},removeTag(n,r){const o=n.tag==="title"?Dr:Vr,i=jr(n,o);if(n.ref){const s=e.get(i);if(s){if(n.ref.parentNode){n.ref.parentNode.removeChild(n.ref);for(let a=r-1;a>=0;a--)s[a]!=null&&document.head.appendChild(s[a].ref)}s[r]=null,e.set(i,s)}else n.ref.parentNode&&n.ref.parentNode.removeChild(n.ref)}}}}const Js=e=>{const t=Ys();return h(Go.Provider,{value:t,get children(){return e.children}})},Qs=(e,t,n)=>(Zs({tag:e,props:t,setting:n,id:Ki(),get name(){return t.name||t.property}}),null);function Zs(e){const t=Oe(Go);if(!t)throw new Error("<MetaProvider /> should be in the tree");Y(()=>{const n=t.addTag(e);de(()=>t.removeTag(e,n))})}const Hh=e=>Qs("meta",e),ea=/((?:--)?(?:\w+-?)+)\s*:\s*([^;]*)/g;function Fr(e){const t={};let n;for(;n=ea.exec(e);)t[n[1]]=n[2];return t}function ta(e,t){if(typeof e=="string"){if(typeof t=="string")return`${e};${t}`;e=Fr(e)}else typeof t=="string"&&(t=Fr(t));return{...e,...t}}function Uo(e,t){e.indexOf(t)===-1&&e.push(t)}function na(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const Wo=(e,t,n)=>Math.min(Math.max(n,e),t),_e={duration:.3,delay:0,endDelay:0,repeat:0,easing:"ease"},$t=e=>typeof e=="number",rt=e=>Array.isArray(e)&&!$t(e[0]),ra=(e,t,n)=>{const r=t-e;return((n-e)%r+r)%r+e};function oa(e,t){return rt(e)?e[ra(0,e.length,t)]:e}const Ko=(e,t,n)=>-n*e+n*t+e,Xo=()=>{},De=e=>e,Zn=(e,t,n)=>t-e===0?1:(n-e)/(t-e);function Yo(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const o=Zn(0,t,r);e.push(Ko(n,1,o))}}function ia(e){const t=[0];return Yo(t,e-1),t}function sa(e,t=ia(e.length),n=De){const r=e.length,o=r-t.length;return o>0&&Yo(t,o),i=>{let s=0;for(;s<r-2&&!(i<t[s+1]);s++);let a=Wo(0,1,Zn(t[s],t[s+1],i));return a=oa(n,s)(a),Ko(e[s],e[s+1],a)}}const Jo=e=>Array.isArray(e)&&$t(e[0]),jn=e=>typeof e=="object"&&!!e.createAnimation,Et=e=>typeof e=="function",aa=e=>typeof e=="string",wn={ms:e=>e*1e3,s:e=>e/1e3},Qo=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,la=1e-7,ca=12;function da(e,t,n,r,o){let i,s,a=0;do s=t+(n-t)/2,i=Qo(s,r,o)-e,i>0?n=s:t=s;while(Math.abs(i)>la&&++a<ca);return s}function wt(e,t,n,r){if(e===t&&n===r)return De;const o=i=>da(i,0,1,e,n);return i=>i===0||i===1?i:Qo(o(i),t,r)}const ua=(e,t="end")=>n=>{n=t==="end"?Math.min(n,.999):Math.max(n,.001);const r=n*e,o=t==="end"?Math.floor(r):Math.ceil(r);return Wo(0,1,o/e)},fa={ease:wt(.25,.1,.25,1),"ease-in":wt(.42,0,1,1),"ease-in-out":wt(.42,0,.58,1),"ease-out":wt(0,0,.58,1)},ha=/\((.*?)\)/;function zr(e){if(Et(e))return e;if(Jo(e))return wt(...e);const t=fa[e];if(t)return t;if(e.startsWith("steps")){const n=ha.exec(e);if(n){const r=n[1].split(",");return ua(parseFloat(r[0]),r[1].trim())}}return De}class ma{constructor(t,n=[0,1],{easing:r,duration:o=_e.duration,delay:i=_e.delay,endDelay:s=_e.endDelay,repeat:a=_e.repeat,offset:l,direction:u="normal",autoplay:d=!0}={}){if(this.startTime=null,this.rate=1,this.t=0,this.cancelTimestamp=null,this.easing=De,this.duration=0,this.totalDuration=0,this.repeat=0,this.playState="idle",this.finished=new Promise((m,w)=>{this.resolve=m,this.reject=w}),r=r||_e.easing,jn(r)){const m=r.createAnimation(n);r=m.easing,n=m.keyframes||n,o=m.duration||o}this.repeat=a,this.easing=rt(r)?De:zr(r),this.updateDuration(o);const c=sa(n,l,rt(r)?r.map(zr):De);this.tick=m=>{var w;i=i;let b=0;this.pauseTime!==void 0?b=this.pauseTime:b=(m-this.startTime)*this.rate,this.t=b,b/=1e3,b=Math.max(b-i,0),this.playState==="finished"&&this.pauseTime===void 0&&(b=this.totalDuration);const f=b/this.duration;let y=Math.floor(f),k=f%1;!k&&f>=1&&(k=1),k===1&&y--;const v=y%2;(u==="reverse"||u==="alternate"&&v||u==="alternate-reverse"&&!v)&&(k=1-k);const _=b>=this.totalDuration?1:Math.min(k,1),E=c(this.easing(_));t(E),this.pauseTime===void 0&&(this.playState==="finished"||b>=this.totalDuration+s)?(this.playState="finished",(w=this.resolve)===null||w===void 0||w.call(this,E)):this.playState!=="idle"&&(this.frameRequestId=requestAnimationFrame(this.tick))},d&&this.play()}play(){const t=performance.now();this.playState="running",this.pauseTime!==void 0?this.startTime=t-this.pauseTime:this.startTime||(this.startTime=t),this.cancelTimestamp=this.startTime,this.pauseTime=void 0,this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState="paused",this.pauseTime=this.t}finish(){this.playState="finished",this.tick(0)}stop(){var t;this.playState="idle",this.frameRequestId!==void 0&&cancelAnimationFrame(this.frameRequestId),(t=this.reject)===null||t===void 0||t.call(this,!1)}cancel(){this.stop(),this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(t){this.duration=t,this.totalDuration=t*(this.repeat+1)}get currentTime(){return this.t}set currentTime(t){this.pauseTime!==void 0||this.rate===0?this.pauseTime=t:this.startTime=performance.now()-t/this.rate}get playbackRate(){return this.rate}set playbackRate(t){this.rate=t}}class ga{setAnimation(t){this.animation=t,t?.finished.then(()=>this.clearAnimation()).catch(()=>{})}clearAnimation(){this.animation=this.generator=void 0}}const vn=new WeakMap;function Zo(e){return vn.has(e)||vn.set(e,{transforms:[],values:new Map}),vn.get(e)}function pa(e,t){return e.has(t)||e.set(t,new ga),e.get(t)}const ya=["","X","Y","Z"],wa=["translate","scale","rotate","skew"],st={x:"translateX",y:"translateY",z:"translateZ"},Hr={syntax:"<angle>",initialValue:"0deg",toDefaultUnit:e=>e+"deg"},va={translate:{syntax:"<length-percentage>",initialValue:"0px",toDefaultUnit:e=>e+"px"},rotate:Hr,scale:{syntax:"<number>",initialValue:1,toDefaultUnit:De},skew:Hr},at=new Map,nn=e=>`--motion-${e}`,Jt=["x","y","z"];
vendor: 4,528 bytes, line 2
2wa.forEach(e=>{ya.forEach(t=>{Jt.push(e+t),at.set(nn(e+t),va[e])})});const ba=(e,t)=>Jt.indexOf(e)-Jt.indexOf(t),xa=new Set(Jt),er=e=>xa.has(e),ka=(e,t)=>{st[t]&&(t=st[t]);const{transforms:n}=Zo(e);Uo(n,t),e.style.transform=ei(n)},ei=e=>e.sort(ba).reduce(_a,"").trim(),_a=(e,t)=>`${e} ${t}(var(${nn(t)}))`,Fn=e=>e.startsWith("--"),qr=new Set;function Sa(e){if(!qr.has(e)){qr.add(e);try{const{syntax:t,initialValue:n}=at.has(e)?at.get(e):{};CSS.registerProperty({name:e,inherits:!1,syntax:t,initialValue:n})}catch{}}}const bn=(e,t)=>document.createElement("div").animate(e,t),Br={cssRegisterProperty:()=>typeof CSS<"u"&&Object.hasOwnProperty.call(CSS,"registerProperty"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate"),partialKeyframes:()=>{try{bn({opacity:[1]})}catch{return!1}return!0},finished:()=>!!bn({opacity:[0,1]},{duration:.001}).finished,linearEasing:()=>{try{bn({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0}},xn={},nt={};for(const e in Br)nt[e]=()=>(xn[e]===void 0&&(xn[e]=Br[e]()),xn[e]);const $a=.015,Ea=(e,t)=>{let n="";const r=Math.round(t/$a);for(let o=0;o<r;o++)n+=e(Zn(0,r-1,o))+", ";return n.substring(0,n.length-2)},Gr=(e,t)=>Et(e)?nt.linearEasing()?`linear(${Ea(e,t)})`:_e.easing:Jo(e)?Ca(e):e,Ca=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`;function Aa(e,t){for(let n=0;n<e.length;n++)e[n]===null&&(e[n]=n?e[n-1]:t());return e}const Ta=e=>Array.isArray(e)?e:[e];function zn(e){return st[e]&&(e=st[e]),er(e)?nn(e):e}const vt={get:(e,t)=>{t=zn(t);let n=Fn(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!n&&n!==0){const r=at.get(t);r&&(n=r.initialValue)}return n},set:(e,t,n)=>{t=zn(t),Fn(t)?e.style.setProperty(t,n):e.style[t]=n}};function Ma(e,t=!0){if(!(!e||e.playState==="finished"))try{e.stop?e.stop():(t&&e.commitStyles(),e.cancel())}catch{}}function Pa(e,t){var n;let r=t?.toDefaultUnit||De;const o=e[e.length-1];if(aa(o)){const i=((n=o.match(/(-?[\d.]+)([a-z%]*)/))===null||n===void 0?void 0:n[2])||"";i&&(r=s=>s+i)}return r}function Ia(){return window.__MOTION_DEV_TOOLS_RECORD}function La(e,t,n,r={},o){const i=Ia(),s=r.record!==!1&&i;let a,{duration:l=_e.duration,delay:u=_e.delay,endDelay:d=_e.endDelay,repeat:c=_e.repeat,easing:m=_e.easing,persist:w=!1,direction:b,offset:f,allowWebkitAcceleration:y=!1,autoplay:k=!0}=r;const v=Zo(e),_=er(t);let E=nt.waapi();_&&ka(e,t);const L=zn(t),P=pa(v.values,L),I=at.get(L);return Ma(P.animation,!(jn(m)&&P.generator)&&r.record!==!1),()=>{const T=()=>{var C,W;return(W=(C=vt.get(e,L))!==null&&C!==void 0?C:I?.initialValue)!==null&&W!==void 0?W:0};let O=Aa(Ta(n),T);const F=Pa(O,I);if(jn(m)){const C=m.createAnimation(O,t!=="opacity",T,L,P);m=C.easing,O=C.keyframes||O,l=C.duration||l}if(Fn(L)&&(nt.cssRegisterProperty()?Sa(L):E=!1),_&&!nt.linearEasing()&&(Et(m)||rt(m)&&m.some(Et))&&(E=!1),E){I&&(O=O.map(ne=>$t(ne)?I.toDefaultUnit(ne):ne)),O.length===1&&(!nt.partialKeyframes()||s)&&O.unshift(T());const C={delay:wn.ms(u),duration:wn.ms(l),endDelay:wn.ms(d),easing:rt(m)?void 0:Gr(m,l),direction:b,iterations:c+1,fill:"both"};a=e.animate({[L]:O,offset:f,easing:rt(m)?m.map(ne=>Gr(ne,l)):void 0},C),a.finished||(a.finished=new Promise((ne,D)=>{a.onfinish=ne,a.oncancel=D}));const W=O[O.length-1];a.finished.then(()=>{w||(vt.set(e,L,W),a.cancel())}).catch(Xo),y||(a.playbackRate=1.000001)}else if(o&&_)O=O.map(C=>typeof C=="string"?parseFloat(C):C),O.length===1&&O.unshift(parseFloat(T())),a=new o(C=>{vt.set(e,L,F?F(C):C)},O,Object.assign(Object.assign({},r),{duration:l,easing:m}));else{const C=O[O.length-1];vt.set(e,L,I&&$t(C)?I.toDefaultUnit(C):C)}return s&&i(e,t,O,{duration:l,delay:u,easing:m,repeat:c,offset:f},"motion-one"),P.setAnimation(a),a&&!k&&a.pause(),a}}const Oa=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function Na(e,t){return typeof e=="string"?e=document.querySelectorAll(e):e instanceof Element&&(e=[e]),Array.from(e||[])}function ti(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}const Ra={any:0,all:1};function Da(e,t,{root:n,margin:r,amount:o="any"}={}){if(typeof IntersectionObserver>"u")return()=>{};const i=Na(e),s=new WeakMap,a=u=>{u.forEach(d=>{const c=s.get(d.target);if(d.isIntersecting!==!!c)if(d.isIntersecting){const m=t(d);Et(m)?s.set(d.target,m):l.unobserve(d.target)}
2else c&&(c(d),s.delete(d.target))})},l=new IntersectionObserver(a,{root:n,rootMargin:r,threshold:typeof o=="number"?o:Ra[o]});return i.forEach(u=>l.observe(u)),()=>l.disconnect()}function Va(e,t){return typeof e!=typeof t?!0:Array.isArray(e)&&Array.isArray(t)?!ja(e,t):e!==t}function ja(e,t){const n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}function Fa(e){return typeof e=="object"}function Ur(e,t){if(Fa(e))return e;if(e&&t)return t[e]}let Ve;function za(){if(!Ve)return;const e=Ve.sort(qa).map(Ba);e.forEach(Wr),e.forEach(Wr),Ve=void 0}function kn(e){Ve?Uo(Ve,e):(Ve=[e],requestAnimationFrame(za))}function Ha(e){Ve&&na(Ve,e)}const qa=(e,t)=>e.getDepth()-t.getDepth(),Ba=e=>e.animateUpdates(),Wr=e=>e.next(),Kr=(e,t)=>new CustomEvent(e,{detail:{target:t}});function Hn(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEvent:n}}))}function Xr(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEntry:n}}))}const Ga={isActive:e=>!!e.inView,subscribe:(e,{enable:t,disable:n},{inViewOptions:r={}})=>{const{once:o}=r,i=ti(r,["once"]);return Da(e,s=>{if(t(),Xr(e,"viewenter",s),!o)return a=>{n(),Xr(e,"viewleave",a)}},i)}},Yr=(e,t,n)=>r=>{r.pointerType&&r.pointerType!=="mouse"||(n(),Hn(e,t,r))},Ua={isActive:e=>!!e.hover,subscribe:(e,{enable:t,disable:n})=>{const r=Yr(e,"hoverstart",t),o=Yr(e,"hoverend",n);return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",o),()=>{e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",o)}}},Wa={isActive:e=>!!e.press,subscribe:(e,{enable:t,disable:n})=>{const r=i=>{n(),Hn(e,"pressend",i),window.removeEventListener("pointerup",r)},o=i=>{t(),Hn(e,"pressstart",i),window.addEventListener("pointerup",r)};return e.addEventListener("pointerdown",o),()=>{e.removeEventListener("pointerdown",o),window.removeEventListener("pointerup",r)}}},Ht={inView:Ga,hover:Ua,press:Wa},Jr=["initial","animate",...Object.keys(Ht),"exit"],qn=new WeakMap;function Ka(e={},t){let n,r=t?t.getDepth()+1:0;const o={initial:!0,animate:!0},i={},s={};for(const f of Jr)s[f]=typeof e[f]=="string"?e[f]:t?.getContext()[f];const a=e.initial===!1?"animate":"initial";let l=Ur(e[a]||s[a],e.variants)||{},u=ti(l,["transition"]);const d=Object.assign({},u);function*c(){var f,y;const k=u;u={};const v={};for(const I of Jr){if(!o[I])continue;const T=Ur(e[I]);if(T)for(const O in T)O!=="transition"&&(u[O]=T[O],v[O]=Oa((y=(f=T.transition)!==null&&f!==void 0?f:e.transition)!==null&&y!==void 0?y:{},O))}const _=new Set([...Object.keys(u),...Object.keys(k)]),E=[];_.forEach(I=>{var T;u[I]===void 0&&(u[I]=d[I]),Va(k[I],u[I])&&((T=d[I])!==null&&T!==void 0||(d[I]=vt.get(n,I)),E.push(La(n,I,u[I],v[I],ma)))}),yield;const L=E.map(I=>I()).filter(Boolean);if(!L.length)return;const P=u;n.dispatchEvent(Kr("motionstart",P)),Promise.all(L.map(I=>I.finished)).then(()=>{n.dispatchEvent(Kr("motioncomplete",P))}).catch(Xo)}const m=(f,y)=>()=>{o[f]=y,kn(b)},w=()=>{for(const f in Ht){const y=Ht[f].isActive(e),k=i[f];y&&!k?i[f]=Ht[f].subscribe(n,{enable:m(f,!0),disable:m(f,!1)},e):!y&&k&&(k(),delete i[f])}},b={update:f=>{n&&(e=f,w(),kn(b))},setActive:(f,y)=>{n&&(o[f]=y,kn(b))},animateUpdates:c,getDepth:()=>r,getTarget:()=>u,getOptions:()=>e,getContext:()=>s,mount:f=>(n=f,qn.set(n,b),w(),()=>{qn.delete(n),Ha(b);for(const y in i)i[y]()}),isMounted:()=>!!n};return b}function Xa(e){const t={},n=[];for(let r in e){const o=e[r];er(r)&&(st[r]&&(r=st[r]),n.push(r),r=nn(r));let i=Array.isArray(o)?o[0]:o;const s=at.get(r);s&&(i=$t(o)?s.toDefaultUnit(o):o),t[r]=i}return n.length&&(t.transform=ei(n)),t}const Qr=e=>e instanceof Element;function Bn(e,t){if(t(e))return e;if(typeof e=="function"&&!e.length)return Bn(e(),t);if(Array.isArray(e))for(const n of e){const r=Bn(n,t);if(r)return r}return null}function Ya(e,t=Qr,n=Qr){const r=N(e);return N(()=>Bn(r(),t))}const Ja=()=>{},Zr=(e,t)=>t();function Qa(e,t){const n=le(e),r=n?[n]:[],{onEnter:o=Zr,onExit:i=Zr}=t,[s,a]=z(t.appear?[]:r),[l]=Vi();let u,d=!1;function c(b,f){if(!b)return f&&f();d=!0,i(b,()=>{Ge(()=>{d=!1,a(y=>y.filter(k=>k!==b)),f&&f()})})}function m(b){const f=u;if(!f)return b&&b();u=void 0,a(y=>[f,...y]),o(f,b??Ja)}const w=t.mode==="out-in"?b=>d||c(b,m):t.mode==="in-out"?b=>m(()=>c(b)):b=>{c(b),m()};return On(b=>{const f=e();return le(l)?(l(),b):(f!==b&&(u=f,Ge(()=>le(()=>w(b)))),f)},t.appear?void 0:n),s}var ni=Ke(),_n=e=>{const[t,n]=z(!0),r={initial:e.initial??!0,mount:t},o=h(ni.Provider,{value:r,get children(){return Qa(Ya(()=>e.children),{appear:r.initial,mode:e.exitBeforeEnter?"out-in":"parallel",onExit(i,s){Ge(()=>{n(!1),qn.get(i)?.getOptions()?.exit?i.addEventListener("motioncomplete",s):s()})},onEnter(i,s){Ge(()=>{n(!0),s()})}})}});return r.initial=!0,o};function Za(e,t,n,r){const o=Ka(n?.initial===!1?{...t(),initial:!1}:t(),r);return ie(()=>{if(n&&!n.mount())return;
2const i=e(),s=o.mount(i);ie(()=>o.update(t())),de(()=>{n&&t().exit?(o.setActive("exit",!0),i.addEventListener("motioncomplete",s)):s()})}),[o,Xa(o.getTarget())]}var el=["initial","animate","inView","inViewOptions","hover","press","variants","transition","exit"],tl=["tag"],eo=Ke(),to=e=>{const[t,,n]=tn(e,el,tl),[r,o]=Za(()=>i,()=>({...t}),Oe(ni),Oe(eo));let i;return h(eo.Provider,{value:r,get children(){return h(Yn,H(n,{ref:s=>{i=s,e.ref?.(s)},get component(){return e.tag||"div"},get style(){return ta(e.style,o)}}))}})},Fe=new Proxy(to,{get:(e,t)=>n=>h(to,H(n,{tag:t}))}),nl={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"},Ze=nl,rl=M("<svg>"),no=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ol=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase()),il=e=>{const t=ol(e);return t.charAt(0).toUpperCase()+t.slice(1)},sl=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim(),al=e=>{const[t,n]=tn(e,["color","size","strokeWidth","children","class","name","iconNode","absoluteStrokeWidth"]);return(()=>{var r=rl();return Yt(r,H(Ze,{get width(){return t.size??Ze.width},get height(){return t.size??Ze.height},get stroke(){return t.color??Ze.stroke},get"stroke-width"(){return Le(()=>!!t.absoluteStrokeWidth)()?Number(t.strokeWidth??Ze["stroke-width"])*24/Number(t.size):Number(t.strokeWidth??Ze["stroke-width"])},get class(){return sl("lucide","lucide-icon",...t.name!=null?[`lucide-${no(il(t.name))}`,`lucide-${no(t.name)}`]:[],t.class!=null?t.class:"")}},n),!0,!0),S(r,h(we,{get each(){return t.iconNode},children:([o,i])=>h(Yn,H({component:o},i))})),r})()},J=al,ll=[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]],cl=e=>h(J,H(e,{iconNode:ll,name:"cloud-download"})),ro=cl,dl=[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]],ul=e=>h(J,H(e,{iconNode:dl,name:"file-code"})),Sn=ul,fl=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],hl=e=>h(J,H(e,{iconNode:fl,name:"folder"})),ml=hl,gl=[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]],pl=e=>h(J,H(e,{iconNode:gl,name:"gamepad-2"})),$n=pl,yl=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],wl=e=>h(J,H(e,{iconNode:yl,name:"globe"})),Dt=wl,vl=[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9",key:"1hayfq"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"15ts47"}]],bl=e=>h(J,H(e,{iconNode:vl,name:"hammer"})),xl=bl,kl=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],_l=e=>h(J,H(e,{iconNode:kl,name:"history"})),Sl=_l,$l=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}
2]],El=e=>h(J,H(e,{iconNode:$l,name:"hash"})),Cl=El,Al=[["path",{d:"M16 10h2",key:"8sgtl7"}],["path",{d:"M16 14h2",key:"epxaof"}],["path",{d:"M6.17 15a3 3 0 0 1 5.66 0",key:"n6f512"}],["circle",{cx:"9",cy:"11",r:"2",key:"yxgjnd"}],["rect",{x:"2",y:"5",width:"20",height:"14",rx:"2",key:"qneu4z"}]],Tl=e=>h(J,H(e,{iconNode:Al,name:"id-card"})),En=Tl,Ml=[["path",{d:"m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16",key:"9kzy35"}],["path",{d:"M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2",key:"1t0f0t"}],["circle",{cx:"13",cy:"7",r:"1",fill:"currentColor",key:"1obus6"}],["rect",{x:"8",y:"2",width:"14",height:"14",rx:"2",key:"1gvhby"}]],Pl=e=>h(J,H(e,{iconNode:Ml,name:"images"})),Cn=Pl,Il=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Ll=e=>h(J,H(e,{iconNode:Il,name:"info"})),An=Ll,Ol=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],Nl=e=>h(J,H(e,{iconNode:Ol,name:"key-round"})),Rl=Nl,Dl=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],Vl=e=>h(J,H(e,{iconNode:Dl,name:"palette"})),Tn=Vl,jl=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],Fl=e=>h(J,H(e,{iconNode:jl,name:"pencil"})),oo=Fl,zl=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Hl=e=>h(J,H(e,{iconNode:zl,name:"settings"})),ql=Hl,Bl=[["path",{d:"M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44",key:"1cn552"}]],Gl=e=>h(J,H(e,{iconNode:Bl,name:"shell"})),io=Gl,Ul=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}
2],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Wl=e=>h(J,H(e,{iconNode:Ul,name:"sparkles"})),Kl=Wl,Xl=[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]],Yl=e=>h(J,H(e,{iconNode:Xl,name:"store"})),Jl=Yl,Ql=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],Zl=e=>h(J,H(e,{iconNode:Ql,name:"workflow"})),ec=Zl,tc=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],nc=e=>h(J,H(e,{iconNode:tc,name:"clock"})),Mn=nc,rc=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]],oc=e=>h(J,H(e,{iconNode:rc,name:"file-diff"})),ic=oc,sc=[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]],ac=e=>h(J,H(e,{iconNode:sc,name:"table"})),so=ac,lc=[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]],cc=e=>h(J,H(e,{iconNode:lc,name:"type"})),dc=cc,uc=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],fc=e=>h(J,H(e,{iconNode:uc,name:"braces"})),hc=fc,mc=[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["line",{x1:"8",x2:"16",y1:"6",y2:"6",key:"x4nwl0"}],["line",{x1:"16",x2:"16",y1:"14",y2:"18",key:"wjye3r"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M8 18h.01",key:"lrp35t"}]],gc=e=>h(J,H(e,{iconNode:mc,name:"calculator"})),ao=gc,pc=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],yc=e=>h(J,H(e,{iconNode:pc,name:"search"})),wc=yc,vc=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m16 16-1.9-1.9",key:"1dq9hf"}]],bc=e=>h(J,H(e,{iconNode:vc,name:"scan-search"})),xc=bc,kc=[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"ms7g94"}],["path",{d:"m9 18-1.5-1.5",key:"1j6qii"}],["circle",{cx:"5",cy:"14",r:"3",key:"ufru5t"}]],_c=e=>h(J,H(e,{iconNode:kc,name:"file-search"})),Sc=_c,$c=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Ec=e=>h(J,H(e,{iconNode:$c,name:"shield-check"})),Vt=Ec,Cc=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Ac=e=>h(J,H(e,{iconNode:Cc,name:"database"})),lo=Ac,Tc=[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]],Mc=e=>h(J,H(e,{iconNode:Tc,name:"keyboard"})),co=Mc,Pc=[["path",{d:"M12 20h.01",key:"zekei9"}
2],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],Ic=e=>h(J,H(e,{iconNode:Pc,name:"wifi"})),uo=Ic,Lc=[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]],Oc=e=>h(J,H(e,{iconNode:Lc,name:"qr-code"})),Nc=Oc,Rc=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],Dc=e=>h(J,H(e,{iconNode:Rc,name:"cpu"})),Vc=Dc,jc=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]],Fc=e=>h(J,H(e,{iconNode:jc,name:"smile"})),zc=Fc,Hc=[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"37hlfg"}],["path",{d:"M8 14v2.2l1.6 1",key:"6m4bie"}],["circle",{cx:"8",cy:"16",r:"6",key:"10v15b"}]],qc=e=>h(J,H(e,{iconNode:Hc,name:"file-clock"})),Bc=qc,Gc=[["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2",key:"39pd36"}],["rect",{width:"8",height:"4",x:"10",y:"6",rx:"1",key:"aywv1n"}]],Uc=e=>h(J,H(e,{iconNode:Gc,name:"newspaper"})),Wc=Uc,Kc=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],Xc=e=>h(J,H(e,{iconNode:Kc,name:"share-2"})),Yc=Xc,Jc=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],Qc=e=>h(J,H(e,{iconNode:Jc,name:"send"})),Zc=Qc,ed=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],td=e=>h(J,H(e,{iconNode:ed,name:"book-open"})),nd=td,rd=[["circle",{cx:"8",cy:"18",r:"4",key:"1fc0mg"}],["path",{d:"M12 18V2l7 4",key:"g04rme"}]],od=e=>h(J,H(e,{iconNode:rd,name:"music-2"})),id=od;const sd=new Set,ad=new Set(["aboutme"]),ld=[{id:"settings",label:"Settings",icon:ql,color:"from-sky-400/80 to-cyan-300/60",menu:[{id:"theme",label:"Theme",icon:Tn,action:{type:"panel"},children:[{id:"colors",label:"Colors",sidebar:"settingsThemeColors"},{id:"sounds",label:"Sounds",sidebar:"settingsThemeSounds"}]},{id:"privacy",label:"Privacy",sub:"Cookies and policy",icon:Vt,action:{type:"link",href:"/privacy"}}]},{id:"articles",label:"Articles",icon:Dt,color:"from-blue-400/80 to-indigo-300/60",menu:[{id:"articles-loading",label:"Loading articles...",sub:"Markdown library loads on demand",icon:Wc}]},{id:"search",label:"Search",icon:wc,color:"from-violet-400/80 to-purple-300/60",menu:[{id:"portal-search",label:"Search",sub:"Find anything instantly",icon:xc,action:{type:"link",href:"/tools/search"}},{id:"article-search",label:"Article Search",sub:"Local markdown library",icon:Sc,action:{type:"link",href:"/tools/article-search"}}]},{id:"tools",label:"Tools",icon:xl,color:"from-cyan-400/80 to-emerald-300/60",menu:[{id:"generators",label:"Generators",sub:"Strings · passwords · addresses",icon:ro,action:{type:"panel"}
2,children:[{id:"string-generator",label:"String Generator",icon:ro,desc:"Rust WASM utility",action:{type:"link",href:"/tools/string-generator"}},{id:"password-generator",label:"Password Generator",icon:Rl,desc:"Rust WASM utility",action:{type:"link",href:"/tools/password-generator"}},{id:"mac-generator",label:"MAC Address Generator",icon:Vc,desc:"Bulk vendor-grade addresses",action:{type:"link",href:"/tools/mac-generator"}},{id:"wifi-qr",label:"Wi-Fi QR Code Generator",icon:uo,desc:"Guest-ready credentials",action:{type:"link",href:"/tools/wifi-qr"}},{id:"string-file-qr",label:"String/File QR Generator",icon:Nc,desc:"Text and file payloads",action:{type:"link",href:"/tools/string-file-qr"}}]},{id:"media-files",label:"Media & Files",sub:"Images · metadata · hashes",icon:Cn,action:{type:"panel"},children:[{id:"icon-converter",label:"Icon & Favicon Generator",icon:Cn,desc:"Image to favicon kit",action:{type:"link",href:"/tools/icon-converter"}},{id:"file-metadata-editor",label:"File Date & Metadata Editor",icon:Bc,desc:"EXIF · PDF · Office properties",action:{type:"link",href:"/tools/file-metadata-editor"}},{id:"image-format-converter",label:"Image Format Converter",icon:Cn,desc:"PNG · JPEG · WebP · SVG",action:{type:"link",href:"/tools/image-format-converter"}},{id:"multimedia-player",label:"Multimedia Player Studio",icon:id,desc:"Local playback · live visualizers · EQ",action:{type:"link",href:"/tools/multimedia-player"}},{id:"professional-image-editor",label:"Image Editor",icon:Tn,desc:"Layers · filters · metadata · export",action:{type:"link",href:"/tools/professional-image-editor"}},{id:"file-text-hash-generator",label:"File & Text Hash Generator",icon:Cl,desc:"SHA · HMAC · checksums",action:{type:"link",href:"/tools/hash-generator"}}]},{id:"calculators",label:"Calculators",sub:"Math · graphing · finance",icon:ao,action:{type:"panel"},children:[{id:"professional-calculator-suite",label:"Calculator Suite",icon:ao,desc:"Basic · scientific · graphing · finance",action:{type:"link",href:"/tools/professional-calculator-suite"}}]},{id:"text-data",label:"Text & Data",sub:"Markdown · diff · structured data",icon:Sn,action:{type:"panel"},children:[{id:"mermaid",label:"Mermaid Diagram Studio",icon:ec,desc:"Live editor & exports",action:{type:"link",href:"/tools/mermaid"}},{id:"markdown-architect",label:"Markdown Architect",icon:oo,desc:"Editor & preview",action:{type:"link",href:"/tools/markdown"}},{id:"ebook-reader",label:"Local eBook Reader Studio",icon:nd,desc:"Read · listen · annotate · private",action:{type:"link",href:"/tools/ebook-reader"}},{id:"html-viewer",label:"HTML Viewer Sandbox",icon:Dt,desc:"Live preview & formatter",action:{type:"link",href:"/tools/html-viewer"}},{id:"regex-visualizer",label:"Regex Visualizer & Tester",icon:hc,desc:"Test · explain · build",action:{type:"link",href:"/tools/regex-visualizer"}},{id:"charset-explorer",label:"Charset & Encoding Explorer",icon:dc,desc:"Text ↔ bytes lab",action:{type:"link",href:"/tools/charset-explorer"}},{id:"diff-merge",label:"Diff & Merge Studio",icon:ic,desc:"2-way & 3-way",action:{type:"link",href:"/tools/diff-merge"}},{id:"browser-ide-studio",label:"Browser IDE Studio",icon:Sn,desc:"Monaco · projects · local-first",action:{type:"link",href:"/tools/browser-ide-studio"}},{id:"base64-converter",label:"Base64 Converter",icon:Sn,desc:"Files ↔ data URIs",action:{type:"link",href:"/tools/base64-converter"}},{id:"data-toolkit",label:"JSON / CSV Toolkit",icon:so,desc:"Local-first wrangler",action:{type:"link",href:"/tools/data-toolkit"}},{id:"local-spreadsheet-studio",label:"Local Spreadsheet Studio",icon:so,desc:"Spreadsheet editor · clean · chart · export",action:{type:"link",href:"/tools/local-spreadsheet-studio"}},{id:"sqlite-browser-studio",label:"SQLite Browser Studio",icon:lo,desc:"Local SQLite viewer · query · edit · export",action:{type:"link",href:"/tools/sqlite-browser-studio"}},{id:"structured-data-converter",label:"Structured Data Converter",icon:lo,desc:"JSON · YAML · TOML · XML · CSV",action:{type:"link",href:"/tools/structured-data-converter"}}]},{id:"security-network",label:"Security & Network",sub:"MFA · subnet · peer transfer · OUI",icon:Vt,action:{type:"panel"},children:[{id:"api-client-studio",label:"API Client Studio",icon:Zc,desc:"Requests · collections · tests · local-first",action:{type:"link",href:"/tools/api-cl
2ient-studio"}},{id:"totp",label:"TOTP Generator & Validator",icon:Vt,desc:"MFA diagnostics",action:{type:"link",href:"/tools/totp"}},{id:"directdrop-qr",label:"DirectDrop",icon:Yc,desc:"WebRTC transfer · 6-digit pairing",action:{type:"link",href:"/tools/directdrop-qr"}},{id:"ipv4-calculator",label:"IPv4 Address Calculator",icon:Dt,desc:"Subnets · conversions",action:{type:"link",href:"/tools/ipv4-calculator"}},{id:"speedtest",label:"Network Speed Test",icon:uo,desc:"Download · HTTP latency · jitter",action:{type:"link",href:"/tools/speedtest"}},{id:"dns-whois",label:"DNS Records & WHOIS Lookup",icon:Dt,desc:"Records · subdomains · WHOIS",action:{type:"link",href:"/tools/dns-whois"}},{id:"email-environment",label:"Email Environment Analyzer",icon:Vt,desc:"MX · SPF · DKIM · DMARC · mail flow",action:{type:"link",href:"/tools/email-environment"}},{id:"mac-lookup",label:"MAC Address Lookup",icon:En,desc:"OUI intelligence & exports",action:{type:"link",href:"/tools/mac-lookup"}}]},{id:"inspectors",label:"Inspectors",sub:"Keyboard · emoji · device info",icon:An,action:{type:"panel"},children:[{id:"keycode-inspector",label:"JavaScript Keycode Inspector",icon:co,desc:"Keyboard events, modifiers, history",action:{type:"link",href:"/tools/keycode-inspector"}},{id:"emoji-inspector",label:"Emoji Picker & Unicode Inspector",icon:zc,desc:"Search, copy, and inspect glyphs",action:{type:"link",href:"/tools/emoji-inspector"}},{id:"device-inspector",label:"Device Info Inspector",icon:An,desc:"Live data & UA parser",action:{type:"link",href:"/tools/device-inspector"}}]},{id:"time-color",label:"Time & Color",sub:"World clocks · palettes",icon:Mn,action:{type:"panel"},children:[{id:"time-zone-converter",label:"Time Zone Converter",icon:Mn,desc:"World clocks",action:{type:"link",href:"/tools/timezone-converter"}},{id:"datetime-calculator",label:"Date/Time Calculator",icon:Mn,desc:"DST-aware math",action:{type:"link",href:"/tools/datetime-calculator"}},{id:"color-lab",label:"Color Palette & Contrast Lab",icon:Tn,desc:"Palettes & WCAG",action:{type:"link",href:"/tools/color-lab"}}]}]},{id:"term",label:"Terminal",icon:io,color:"from-indigo-400/80 to-fuchsia-300/60",menu:[{id:"terminal",label:"Command Terminal",sub:"TermX console",icon:io,action:{type:"link",href:"/tools/terminal"}}]},{id:"games",label:"Games",icon:$n,color:"from-fuchsia-400/80 to-pink-300/60",submenu:{component:"mediaPreview",previewDelayMs:3e3},menu:[{id:"library",label:"Library",sub:"4 Total",icon:Sl,action:{type:"panel"},children:[{id:"human-benchmark",label:"Human Benchmark",icon:$n,desc:"Eight short challenges for reaction, memory, attention, coordination, and arithmetic. Play locally and track your personal bests.",action:{type:"link",href:"/human-benchmark"}},{id:"typing-game",label:"Neon Typist",icon:co,image:"/images/typing-thumb.svg",preview:"/images/typing-preview.svg",desc:"Production-ready multi-stage typing arcade with neon gates, falling word defense, cyber waves, code challenges, boss battles, daily runs, achievements, and local progression.",action:{type:"link",href:"/typing-game"}},{id:"tetris",label:"Tetris",icon:$n,image:"/images/tetris-thumb.svg",preview:"/images/tetris-preview.svg",desc:"Production-ready stage-based Tetris with deterministic gameplay, Three.js rendering, daily challenges, achievements, replays, and local progression.",action:{type:"link",href:"/tetris"}},{id:"crane-game",label:"Crane Game DX",image:"/images/crane-thumb.jpg",preview:"/images/crane-preview.jpg",desc:"Arcade-perfect claw machine built with SolidJS + Three.js. Pilot the gantry, time the drop, and deliver capsule toys to the glowing goal zone before the timer drains to zero.",action:{type:"link",href:"/crane-game"}}]}]},{id:"projects",label:"Projects",icon:oo,color:"from-emerald-400/80 to-lime-300/60",menu:[{id:"project_github",label:"Github",icon:Jl,action:{type:"link",href:"https://github.com/edwardigarashi/"}}]},{id:"extras",label:"Extras",icon:Kl,color:"from-rose-400/80 to-orange-300/60",menu:[{id:"aboutme",label:"About Me",sub:"Edward Igarashi",icon:En,action:{type:"fullpage",page:"profile"}},{id:"aboutme-link",label:"About Me",sub:"Edward Igarashi",icon:En,action:{type:"link",href:"https://edwardigarashi.github.io/"}},{id:"about",label:"About",sub:"v0.0.1",icon:An,action:{type:"fullscreenMessage",heading:"Igarashi Portal",message:"This website was designed, inspiried by Sony Playstation's beautiful gaming console UI. This website is built using SolidJs + MotionOne + Tailwind and a little touch of Rust WASM."}}]}],fo=ld.filter(e=>!sd.has(e.id)).map(e=>({...e,menu:e.menu.filter(t=>!ad.has(t.id))}
2)),Gn=ml,Un={default:{hue:205,saturation:85,lightness:55},light:{hue:0,saturation:0,lightness:0,solidColor:"#ffffff",foregroundColor:"#000000",foregroundRgb:"0,0,0"},black:{hue:0,saturation:0,lightness:0,solidColor:"#000000",foregroundColor:"#ffffff",foregroundRgb:"255,255,255"},red:{hue:8,saturation:80,lightness:55},green:{hue:145,saturation:80,lightness:52}},qt="default",cd=e=>typeof e=="string"&&Object.prototype.hasOwnProperty.call(Un,e),dd=e=>e==="dark"?"black":cd(e)?e:null,ud=()=>{if(typeof window>"u")return qt;try{const e=localStorage.getItem("ig.themeKey");return dd(e)??qt}catch{return qt}},fd=e=>Un[e]??Un[qt],Bt=[{key:"default",label:"Default (Blue)"},{key:"light",label:"Light"},{key:"black",label:"Dark"},{key:"red",label:"Red"},{key:"green",label:"Green"}],ve=(e,t,n)=>Math.max(t,Math.min(n,e)),ri={volume:.6},hd={navigate:"/sounds/navigate",cancel:"/sounds/cancel",decide:"/sounds/decide",option:"/sounds/option",systemNg:"/sounds/systemNg",systemOk:"/sounds/systemOk"},md=[{ext:"opus",type:"audio/ogg; codecs=opus"},{ext:"webm",type:"audio/webm; codecs=opus"},{ext:"mp3",type:"audio/mpeg"}];function gd(e){if(typeof window>"u")return null;const t=document.createElement("audio");for(const n of md)if(t.canPlayType(n.type))return{src:`${e}.${n.ext}`,type:n.type};return null}const pd=()=>{let e=!0,t=ri.volume;const n=new Map,r=new Set,o=d=>{d.volume=e?ve(t,0,1):0},i=d=>{r.add(d);const c=()=>r.delete(d);d.addEventListener("ended",c,{once:!0}),d.addEventListener("error",c,{once:!0})},s=d=>{if(typeof window>"u")return null;const c=n.get(d);if(c)return c;const m=hd[d],w=gd(m);if(!w)return null;const b=new Audio;return b.preload="auto",b.src=w.src,b.setAttribute("type",w.type),o(b),n.set(d,b),b};return{play:d=>{if(!e)return;const c=s(d);if(!c)return;const m=c.cloneNode(!0);o(m),i(m),m.play().catch(()=>r.delete(m))},setEnabled:d=>{if(e=d,!e){for(const c of r)c.pause(),c.currentTime=0;r.clear()}for(const c of n.values())o(c);for(const c of r)o(c)},setVolume:d=>{t=ve(d,0,1);for(const c of n.values())o(c);for(const c of r)o(c)},getVolume:()=>t,isEnabled:()=>e}},yd=()=>{const e={enabled:!0,volume:ri.volume};if(typeof window>"u")return e;try{const t=window.localStorage.getItem("ig.sound");if(!t)return e;const n=JSON.parse(t);return{enabled:typeof n.enabled=="boolean"?n.enabled:e.enabled,volume:typeof n.volume=="number"?ve(n.volume,0,1):e.volume}}catch{return e}},wd=e=>{if(!(typeof window>"u"))try{window.localStorage.setItem("ig.sound",JSON.stringify(e))}catch{}};var vd=M('<header><h2></h2><div><button class="rounded px-3 py-1 text-sm hover:bg-white/10">Close'),bd=M('<div class="mb-3 flex items-center justify-between text-xs uppercase tracking-[0.3em] text-white/70"><span>Sidebar</span><button class="rounded-full border border-white/30 px-3 py-1 text-[11px] font-semibold tracking-[0.2em] text-white/80 transition hover:border-white/60">'),xd=M("<nav>"),kd=M("<div><div>"),_d=M('<div class="flex flex-wrap items-center justify-end gap-2">'),Sd=M("<ul>"),$d=M("<li><button>"),Ed=M("<div class=text-white/80>This page is under construction.");const Cd=e=>{let t;const[n,r]=z(),o=N(()=>!!e.isMobile),[i,s]=z(!o());ie(()=>{o()||s(!0)});const a=N(()=>e.activeSectionId?e.activeSectionId:e.initialSectionId?e.initialSectionId:e.sections?.[0]?.id),l=f=>f?(e.sections??[]).some(y=>y.id===f):!1;ie(()=>{const f=a();e.activeSectionId===void 0&&(n()===void 0||!l(n()))&&r(f)}),ie(()=>{e.activeSectionId!==void 0&&r(e.activeSectionId)});const u=N(()=>{const f=e.activeSectionId;if(f!==void 0)return f;const y=n();return y&&l(y)?y:a()}),d=f=>{!f||!l(f)||(e.onSectionChange?.(f),e.activeSectionId===void 0&&r(f))};ie(()=>{const f=y=>{if(y.key==="Escape"||y.key==="ArrowLeft"&&!e.disableLeftArrowClose){e.onClose();return}if(!e.sections||e.sections.length<2)return;const v=e.sections.map(L=>L.id),_=u();if(!_)return;const E=v.indexOf(_);E!==-1&&(y.key==="ArrowUp"?d(v[Math.max(0,E-1)]):y.key==="ArrowDown"&&d(v[Math.min(v.length-1,E+1)]))};window.addEventListener("keydown",f),de(()=>window.removeEventListener("keydown",f))});const c=N(()=>
2{if(!e.sections||!e.sections.length)return;const f=u();return e.sections.find(y=>y.id===f)??e.sections[0]}),m=N(()=>{if(e.children!==void 0)return typeof e.children=="function"?e.children():e.children;const f=c();if(!f)return;const y=f.content;return typeof y=="function"?y():y}),w=N(()=>e.hideSidebar?!1:e.sidebar?!0:!!(e.sections&&e.sections.length>0)),b=N(()=>w()?o()?i():!0:!1);return it(()=>{if(!e.resetScrollOnContentReplacement)return;const f=v=>{let _=v,E=0;for(;_&&_!==t;)_=_.parentNode,E+=1;return _===t?E:Number.POSITIVE_INFINITY},y=v=>Array.from(v).some(_=>_.nodeType===Node.ELEMENT_NODE),k=new MutationObserver(v=>{let _=!1,E=!1;for(const L of v)L.type!=="childList"||f(L.target)>2||(_||=y(L.addedNodes),E||=y(L.removedNodes));!_||!E||t.scrollTop===0||(t.scrollTop=0)});k.observe(t,{childList:!0,subtree:!0}),de(()=>k.disconnect())}),h(Fe.div,{get class(){return`ig-full-page-view fixed inset-0 z-[30000] flex max-h-screen flex-col backdrop-blur-sm ${o()?"bg-black/60 px-4 py-5":"bg-black/20 p-6"} ${e.class??""}`},get classList(){return{"overflow-y-auto":o()}},initial:{opacity:0}
2,animate:{opacity:1},exit:{opacity:0},get children(){return[(()=>{var f=vd(),y=f.firstChild,k=y.nextSibling,v=k.firstChild;return S(y,()=>e.titleContent??e.title),S(k,h(te,{get when(){return e.headerActions},children:_=>(()=>{var E=_d();return S(E,_),E})()}),v),We(v,"click",e.onClose,!0),Y(_=>{var E=`mb-4 border-b border-white/20 pb-3 ${o()?"flex flex-wrap items-center gap-2":"flex items-center gap-4"} ${e.headerClass??""}`,L=`${o()?"text-xl":"text-2xl"} min-w-0 font-semibold drop-shadow`,P=`flex flex-wrap items-center justify-end gap-2 ${o()?"ml-0":"ml-auto"}`;return E!==_.e&&fe(f,_.e=E),L!==_.t&&fe(y,_.t=L),P!==_.a&&fe(k,_.a=P),_},{e:void 0,t:void 0,a:void 0}),f})(),h(te,{get when(){return Le(()=>!!o())()&&w()},get children(){var f=bd(),y=f.firstChild,k=y.nextSibling;return k.$$click=()=>s(v=>!v),S(k,()=>i()?"Hide":"Show"),Y(()=>Se(k,"aria-expanded",i())),f}}),(()=>{var f=kd(),y=f.firstChild;S(f,h(te,{get when(){return b()},get children(){var v=xd();return S(v,h(te,{get when(){return e.sidebar},get fallback(){return(()=>{var _=Sd();return S(_,h(we,{get each(){return e.sections??[]},children:E=>(()=>{var L=$d(),P=L.firstChild;return P.$$click=()=>d(E.id),S(P,()=>E.label),Y(()=>fe(P,`rounded-md px-3 py-2 text-left transition ${u()===E.id?"bg-white/15 ring-1 ring-white/20":""} ${o()?"flex-shrink-0 whitespace-nowrap text-sm":"w-full"}`)),L})()})),Y(()=>fe(_,o()?"flex gap-2 overflow-x-auto pb-1 text-white/90":"space-y-3 text-white/90")),_})()},children:_=>Le(_)})),Y(()=>fe(v,`${o()?"w-full shrink-0 border-b border-white/10 pb-3 max-h-[70vh] overflow-y-auto":"w-64 shrink-0 pr-6"} ${e.sidebarClass??""}`)),v}}),y);var k=t;return typeof k=="function"?Re(k,y):t=y,S(y,h(te,{get when(){return m()},get fallback(){return Ed()},children:v=>Le(v)})),Y(v=>{var _=`flex min-h-0 flex-1 gap-6 ${o()?"flex-col":""} ${e.bodyClass??""}`,E=`min-h-0 flex-1 overflow-auto ${o()?"pr-0 pt-2":"pr-2"} ${e.contentClass??""}`;return _!==v.e&&fe(f,v.e=_),E!==v.t&&fe(y,v.t=E),v},{e:void 0,t:void 0}),f})()]}})};$e(["click"]);var Ad=M('<div class="flex justify-end gap-4 px-6 pt-4 text-xs tracking-wider text-white/80"><time></time><div class="flex items-center gap-2"aria-hidden>'),Td=M('<div class="flex flex-1 flex-col items-center justify-center px-6"><div class="w-full max-w-xl space-y-6 rounded-xl border border-white/30 bg-black/20 px-8 py-7 text-left shadow-[0_18px_40px_-15px_rgba(0,0,0,0.75)]"><div><p class="text-lg font-medium tracking-wide text-white"></p><div class="mt-4 text-sm tracking-wider text-white/70"></div></div><div class="flex flex-wrap gap-3"><button type=button class="flex-1 min-w-[120px] rounded-full border border-white/10 bg-white/80 px-5 py-2 text-sm font-semibold tracking-wide text-slate-800 transition hover:bg-white"></button><button type=button class="flex-1 min-w-[120px] rounded-full border border-white/40 px-5 py-2 text-sm tracking-wide text-white/85 transition hover:bg-white/10">'),Md=M('<span class="inline-flex h-4 w-6 items-center justify-center rounded-full border border-white/60 text-[9px] font-semibold leading-none text-white/80">');const Pd=["W","◎"],Id=e=>{const t=()=>e.indicators??Pd,n=()=>e.timestamp??new Date().toISOString().slice(0,16),r=()=>e.timestampLabel??new Date().toLocaleString("en-US",{month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"});return ie(()=>{const o=i=>{if(i.key==="Enter"){i.preventDefault(),e.onConfirm();return}(i.key==="Escape"||i.key==="ArrowLeft")&&(i.preventDefault(),e.onCancel())};window.addEventListener("keydown",o),de(()=>window.removeEventListener("keydown",o))}),h(Ro,{get children(){return h(Fe.div,{class:"fixed inset-0 z-[30000] flex flex-col bg-gradient-to-br from-[#666a7a]/95 via-[#5a5d6c]/95 to-[#4b4f60]/95 text-white",initial:{opacity:0}
2,animate:{opacity:1},exit:{opacity:0},get children(){return[(()=>{var o=Ad(),i=o.firstChild,s=i.nextSibling;return S(i,r),S(s,()=>t().map(a=>(()=>{var l=Md();return S(l,a),l})())),Y(()=>Se(i,"datetime",n())),o})(),(()=>{var o=Td(),i=o.firstChild,s=i.firstChild,a=s.firstChild,l=a.nextSibling,u=s.nextSibling,d=u.firstChild,c=d.nextSibling;return S(a,()=>e.title),S(l,()=>e.message),We(d,"click",e.onConfirm,!0),S(d,()=>e.confirmLabel??"Yes"),We(c,"click",e.onCancel,!0),S(c,()=>e.cancelLabel??"No"),o})()]}})}})};$e(["click"]);var Ld=M('<div class="flex justify-end gap-4 px-6 pt-4 text-xs tracking-wider text-white/80"><time></time><div class="flex items-center gap-2"aria-hidden>'),Od=M('<p class="mt-4 text-sm tracking-wider text-white/70">'),Nd=M('<p class="mt-3 text-xs uppercase tracking-[0.3em] text-white/40">'),Rd=M('<div class="flex flex-1 flex-col items-center justify-center px-6"><div class="w-full max-w-xl rounded-xl border border-white/30 bg-black/20 px-8 py-7 text-left shadow-[0_18px_40px_-15px_rgba(0,0,0,0.75)]"><p class="text-lg font-medium tracking-wide text-white">'),Dd=M('<div class="flex flex-wrap items-center justify-center gap-3 pb-6"><button type=button class="flex items-center gap-2 rounded-full border border-white/60 px-5 py-2 text-sm tracking-wide text-white/80 transition hover:bg-white/10"><span class="text-lg leading-none text-white">○</span><span>'),Vd=M('<span class="inline-flex h-4 w-6 items-center justify-center rounded-full border border-white/60 text-[9px] font-semibold leading-none text-white/80">'),jd=M('<button type=button class="flex items-center gap-2 rounded-full border border-white/30 bg-white/10 px-5 py-2 text-sm tracking-wide text-white transition hover:bg-white/20"><span>');const Fd=["W","◎"],zd=[],Hd=e=>{const t=()=>e.actions??zd,n=()=>e.indicators??Fd,r=()=>e.timestamp??new Date().toISOString().slice(0,16),o=()=>e.timestampLabel??new Date().toLocaleString("en-US",{month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"});return ie(()=>{const i=s=>{if(s.key==="Enter"){const a=t()[0];if(a){s.preventDefault(),a.onClick();return}e.onDismiss();return}(s.key==="Escape"||s.key==="ArrowLeft")&&(s.preventDefault(),e.onDismiss())};window.addEventListener("keydown",i),de(()=>window.removeEventListener("keydown",i))}),h(Ro,{get children(){return h(Fe.div,{class:"fixed inset-0 z-[30000] flex flex-col bg-gradient-to-br from-[#666a7a]/95 via-[#5a5d6c]/95 to-[#4b4f60]/95 text-white",initial:{opacity:0}
2,animate:{opacity:1},exit:{opacity:0},get children(){return[(()=>{var i=Ld(),s=i.firstChild,a=s.nextSibling;return S(s,o),S(a,h(we,{get each(){return n()},children:l=>(()=>{var u=Vd();return S(u,l),u})()})),Y(()=>Se(s,"datetime",r())),i})(),(()=>{var i=Rd(),s=i.firstChild,a=s.firstChild;return S(a,()=>e.heading),S(s,h(te,{get when(){return e.message},get children(){var l=Od();return S(l,()=>e.message),l}}),null),S(s,h(te,{get when(){return e.detail},get children(){var l=Nd();return S(l,()=>e.detail),l}}),null),i})(),(()=>{var i=Dd(),s=i.firstChild,a=s.firstChild,l=a.nextSibling;return We(s,"click",e.onDismiss,!0),S(l,()=>e.dismissLabel??"Back"),S(i,h(we,{get each(){return t()},children:u=>(()=>{var d=jd(),c=d.firstChild;return We(d,"click",u.onClick,!0),S(d,h(te,{get when(){return u.icon},children:m=>m()}),c),S(c,()=>u.label),d})()}),null),i})()]}})}})};$e(["click"]);var qd=M('<div class="grid gap-3">'),Bd=M('<div class="mt-1 truncate text-xs text-white/70">'),Gd=M('<span class="rounded-full border border-white/30 px-2 py-0.5 text-[10px] uppercase tracking-wider text-white/70"> more'),Ud=M('<button><div class="flex items-center gap-4"><div></div><div class="min-w-0 flex-1"><div class="text-sm font-medium tracking-wide text-white">'),Wd=M('<div class="truncate tracking-wide opacity-90 text-left">'),Kd=M("<div><div>"),Xd=M("<div style=position:relative;width:100%>"),Yd=M('<div class="my-1 h-px w-full bg-white/60">'),Jd=M('<div class="min-w-0 flex-1 flex flex-col items-start"><div class="truncate tracking-wide opacity-90 text-left"></div><div class="truncate opacity-85 text-left">');const ho=e=>{if(e.isMobile){const d=[];ie(ot(()=>e.selectedIndex,()=>{const m=d[e.selectedIndex];m&&queueMicrotask(()=>m.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"}))}));const c=e.IconComponent??Gn;return(()=>{var m=qd();return S(m,h(we,{get each(){return e.items},children:(w,b)=>{const f=()=>b()===e.selectedIndex,y=w.icon??c;return(()=>{var k=Ud(),v=k.firstChild,_=v.firstChild,E=_.nextSibling,L=E.firstChild;return k.$$click=()=>e.onSelect(b()),Re(P=>{P&&(d[b()]=P)},k),S(_,h(y,{class:"size-7 text-white",get strokeWidth(){return f()?2.5:2.05},get strokeOpacity(){return f()?1:.6}})),S(L,()=>w.label),S(E,h(te,{get when(){return w.sub},get children(){var P=Bd();return S(P,()=>w.sub),P}}),null),S(v,h(te,{get when(){return Le(()=>!!w.children)()&&w.children.length>0},get children(){var P=Gd(),I=P.firstChild;return S(P,()=>w.children.length,I),P}}),null),Y(P=>{var I=`w-full rounded-2xl border px-4 py-3 text-left transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70 ${f()?"border-white/40 bg-white/20 shadow-lg":"border-white/10 bg-white/10 hover:border-white/20 hover:bg-white/15"}`,T=f(),O=`flex size-12 flex-shrink-0 items-center justify-center rounded-2xl ${f()?"drop-shadow-[0_0_12px_rgba(255,255,255,0.35)]":""}`;return I!==P.e&&fe(k,P.e=I),T!==P.t&&Se(k,"aria-selected",P.t=T),O!==P.a&&fe(_,P.a=O),P},{e:void 0,t:void 0,a:void 0}),k})()}})),m})()}const t=()=>e.rows.length,n=()=>Math.floor(t()/2),r=d=>d>=1?d:d-1,o=d=>d>0?n()+1+d:n()+d+1,i=()=>e.ICON+e.LABEL_H,s=()=>Math.max(12,Math.round(e.ICON*.6)),a=()=>Math.max(8,Math.round(s()/3)),l=()=>e.mode==="submenu"?24:Math.max(0,Math.round(e.iconCenterX-e.ICON/2)),u=()=>e.mode==="submenu"?360:void 0;return h(we,{get each(){return e.items},children:(d,c)=>{const m=()=>c()-e.selectedIndex+1,w=()=>r(m()),b=()=>o(w()),f=()=>w()===1,y=e.IconComponent??Gn,k=d.icon??y,v=()=>f()?"var(--ig-menu-icon-focused, rgba(255,255,255,1))":"var(--ig-menu-icon-muted, rgba(180, 195, 224, 0.9))",_=()=>f()?2.5:2.05,E=()=>f()?1:.45;return(()=>{var L=Xd();return S(L,h(Fe.button,{onClick:()=>e.onSelect(c()),initial:{opacity:1},get animate(){return{scale:f()?1.03:1,opacity:f()?1:.55}},transition:{type:"spring",stiffness:480,damping:38,mass:.6},class:"absolute outline-none",get style(){return{left:`${l()}px`,width:u()?`${u()}px`:"100vw","min-width":`${e.ICON}px`,height:`${i()}px`,"transform-origin":"left center","will-change":"transform"}},get"aria-selected"(){return f()},get children(){var P=Kd(),I=P.firstChild;return S(I,h(k,{class:"transition-colors",get style(){return`height: ${s()}px; width: ${s()}px; color: ${v()};`},get strokeWidth(){return _()},get strokeOpacity(){return E()}})),S(P,h(te,{get when(){return!d.sub},get fallback(){return(()=>{var T=Jd(),O=T.firstChild,F=O.nextSibling;return S(O,()=>d.label),S(T,h(te,{get when(){return f()},get children(){return Yd()}}),F),S(F,()=>d.sub),Y(C=>{var W=`${a()}px`,ne=`${Math.round(a()*1.1)}px`,D=`${a()}px`,Q=`${Math.round(a()*1.1)}px`;return W!==C.e&&ae(O,"font-size",C.e=W),ne!==C.t&&ae(O,"line-height",C.t=ne),D!==C.a&&ae(F,"font-size",C.a=D),Q!==C.o&&ae(F,"line-height",C.o=Q),C},{e:void 0,t:void 0,a:void 0,o:void 0}),T})()},get children(){var T=Wd();return S(T,()=>d.label),Y(O=>{var F=`${a()}px`,C=`${Math.round(a()*1.1)}px`;return F!==O.e&&ae(T,"font-size",O.e=F),C!==O.t&&ae(T,"line-height",O.t=C),O},{e:void 0,t:void 0}),T}}),null),Y(T=>{var O=`flex h-full w-full flex-row items-center justify-start gap-3 ${f()?"text-white":"text-white/60"}`,F=`rounded-2xl box-border flex items-center justify-center ${f()?"drop-shadow-[0_0_10px_rgba(255,255,255,0.55)]":""}`,C=`${e.ICON}px`,W=`${e.ICON}px`;return O!==T.e&&fe(P,T.e=O),F!==T.t&&fe(I,T.t=F),C!==T.a&&ae(I,"height",T.a=C),W!==T.o&&ae(I,"width",T.o=W),T},{e:void 0,t:void 0,a:void 0,o:void 0}),P}})),Y(P=>{var I=`${b()}`,T=`${i()}px`;return I!==P.e&&ae(L,"grid-row",P.e=I),T!==P.t&&ae(L,"height",P.t=T),P},{e:void 0,t:void 0}),L})()}})};$e(["click"]);var Qd=M('<div class="relative z-50 flex h-full w-full flex-col overflow-hidden"><div class="pointer-events-auto flex h-full flex-col gap-6 overflow-y-auto px-4 pb-32 pt-16"><div class="flex items-center justify-between"><div class="text-xs uppercase tracking-[0.4em] text-white/60"></div><div class="rounded-full border border-white/20 px-3 py-1 text-[11px] uppercase tracking-wide text-white/80">Main Menu</div></div><div class="flex snap-x gap-3 overflow-x-auto pb-2">'),Zd=M('<button><div class="flex size-14 items-center justify-center rounded-2xl bg-white/10"></div><div>'),eu=M('<div class="relative z-50 grid h-full w-full select-none place-items-center"style=transform:translateY(-25vh)><div class="relative w-full max-w-5xl min-h-[70vh]"style=display:grid;row-gap:16px;align-items:center><div><div class="flex items-center justify-center gap-10 px-6 py-2"style="transition:transform 260ms cubic-bezier(.2,.7,.2,1)">'),tu=M('<div class="ribbon-tile box-border flex items-center justify-center">'),nu=M("<div>"),ru=M("<button>");const ou=e=>{const t=()=>e.ICON+e.LABEL_H;return e.isMobile?(()=>{var n=Qd(),r=n.firstChild,o=r.firstChild,i=o.firstChild,s=o.nextSibling;return S(i,()=>e.current.label),S(s,h(we,{get each(){return e.categories},children:(a,l)=>(()=>{var u=Zd(),d=u.firstChild,c=d.nextSibling;return u.$$click=()=>e.onCategoryClick(l()),Re(m=>e.iconRefs(m,l()),u),S(d,h(a.icon,{class:"size-8 text-white",get strokeWidth(){return l()===e.catIndex?2.5:2.05}})),S(c,()=>a.label),Y(m=>{var w=`group relative flex min-w-[88px] snap-start flex-col items-center gap-2 rounded-2xl border px-4 py-3 transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70 ${l()===e.catIndex?"border-white/50 bg-white/15 shadow-lg":"border-white/10 bg-white/5 hover:border-white/30 hover:bg-white/10"}`,b=a.label,f=`text-[11px] font-medium uppercase tracking-wide ${l()===e.catIndex?"text-white":"text-white/70"}`;return w!==m.e&&fe(u,m.e=w),b!==m.t&&Se(u,"aria-label",m.t=b),f!==m.a&&fe(c,m.a=f),m},{e:void 0,t:void 0,a:void 0}),u})()})),S(r,h(ho,{get items(){return e.current.menu},get selectedIndex(){return e.currentMenuIndex},get onSelect(){return e.onMenuClick},get iconCenterX(){return e.iconCenterX},get IconComponent(){return e.current.icon},get ICON(){return e.ICON},get LABEL_H(){return e.LABEL_H},get rows(){return e.rows},get mode(){return e.mode},isMobile:!0}),null),n})():(()=>{var n=eu(),r=n.firstChild,o=r.firstChild,i=o.firstChild,s=e.grid
2Ref;return typeof s=="function"?Re(s,r):e.gridRef=r,S(i,h(we,{get each(){return e.categories},children:(a,l)=>(()=>{var u=ru();return u.$$click=()=>e.onCategoryClick(l()),Re(d=>e.iconRefs(d,l()),u),S(u,h(Fe.div,{initial:{opacity:.65,y:0,scale:1},get animate(){return l()===e.catIndex?{opacity:1,y:-6,scale:1.05}:{opacity:.65,y:0,scale:1}},transition:{type:"spring",stiffness:400,damping:28},class:"flex flex-col items-center",get children(){return[(()=>{var d=tu();return S(d,h(a.icon,{class:"h-10 w-10",strokeWidth:2.5})),Y(c=>{var m=`${e.ICON}px`,w=`${e.ICON}px`;return m!==c.e&&ae(d,"height",c.e=m),w!==c.t&&ae(d,"width",c.t=w),c},{e:void 0,t:void 0}),d})(),(()=>{var d=nu();return S(d,()=>a.label),Y(()=>fe(d,`mt-1 h-[14px] leading-[14px] text-[11px] tracking-wide ${l()===e.catIndex?"opacity-100":"opacity-70"}`)),d})()]}})),Y(d=>{var c=`group relative rounded-2xl p-2 outline-none focus-visible:ring-2 focus-visible:ring-white/70 ${e.mode==="submenu"&&l()!==e.catIndex?"opacity-0 pointer-events-none":""}`,m=a.label;return c!==d.e&&fe(u,d.e=c),m!==d.t&&Se(u,"aria-label",d.t=m),d},{e:void 0,t:void 0}),u})()})),S(r,h(ho,{get items(){return e.current.menu},get selectedIndex(){return e.currentMenuIndex},get onSelect(){return e.onMenuClick},get iconCenterX(){return e.iconCenterX},get IconComponent(){return e.current.icon},get ICON(){return e.ICON},get LABEL_H(){return e.LABEL_H},get rows(){return e.rows},get mode(){return e.mode}}),null),Y(a=>{var l=e.rowsTemplate,u=`${e.midRow+1}`,d=`${t()}px`,c=`${t()}px`,m=e.mode==="submenu"?`translateX(${24-(e.iconCenterX-e.ICON/2)}px)`:void 0;return l!==a.e&&ae(r,"grid-template-rows",a.e=l),u!==a.t&&ae(o,"grid-row",a.t=u),d!==a.a&&ae(o,"height",a.a=d),c!==a.o&&ae(i,"height",a.o=c),m!==a.i&&ae(i,"transform",a.i=m),a},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),n})()};$e(["click"]);var iu=M('<div class="space-y-3 text-white/80"><p>This page is coming soon.</p><button class="rounded-md bg-white/15 px-3 py-2 text-sm text-white hover:bg-white/20">Notify me');const su=()=>iu();var au=M("<div class=text-white/80>No panel content configured for: ");const lu=e=>(()=>{var t=au();return t.firstChild,S(t,()=>e.panel.content,null),t})();var cu=M('<div><p class="text-sm text-white/80">Pick a theme. Changes save instantly.</p><ul class="mt-3 space-y-2">'),du=M("<li><label><input type=radio name=theme class=accent-white><span>");const uu=e=>(()=>{var t=cu(),n=t.firstChild,r=n.nextSibling;return S(r,h(we,{each:Bt,children:o=>(()=>{var i=du(),s=i.firstChild,a=s.firstChild,l=a.nextSibling;return a.addEventListener("change",()=>{e.setPreviewKey(o.key),o.key!==e.themeKey&&e.setThemeKey(o.key)}),S(l,()=>o.label),Y(()=>fe(s,`flex items-center gap-3 rounded-md px-3 py-2 transition ${e.themeKey===o.key?"bg-white/15 ring-1 ring-white/20":"hover:bg-white/10"}`)),Y(()=>a.checked=e.previewKey===o.key),i})()})),t})();var fu=M('<div class=space-y-2><div class="flex items-center justify-between text-xs uppercase tracking-wider text-white/70"><span>Volume</span><span>%</span></div><input type=range min=0 max=100 step=1 class="w-full accent-white"><p class="text-xs text-white/60">Use the slider to preview the confirmation tone.'),hu=M('<div class="space-y-4 text-white/80"><p class=text-sm>Configure portal sounds. Changes are saved automatically when you close this panel.</p><div class="space-y-3 rounded-lg bg-white/10 p-4 ring-1 ring-white/10"><label class="flex items-center justify-between gap-6 text-white"><span class="text-sm font-medium tracking-wide">UI sounds</span><input type=checkbox class="size-4 accent-white">');const mu=e=>(()=>{var t=hu(),n=t.firstChild,r=n.nextSibling,o=r.firstChild,i=o.firstChild,s=i.nextSibling;return s.addEventListener("change",a=>{e.setSoundEnabled(a.currentTarget.checked),e.playSound(a.currentTarget.checked?"systemOk":"cancel")}),S(r,h(te,{get when(){return e.soundEnabled},get children(){var a=fu(),l=a.firstChild,u=l.firstChild,d=u.nextSibling,c=d.firstChild,m=l.nextSibling;return S(d,()=>
2Math.round(e.soundVolume*100),c),m.$$input=w=>{const b=Number.isFinite(w.currentTarget.valueAsNumber)?w.currentTarget.valueAsNumber:parseFloat(w.currentTarget.value||"0");e.setSoundVolume(Math.min(100,Math.max(0,b))/100),e.playSound("systemOk")},Y(()=>m.value=Math.round(e.soundVolume*100)),a}}),null),Y(()=>s.checked=e.soundEnabled),t})();$e(["input"]);var gu=M('<div class="space-y-2 text-white/80"><p>Wallpapers sync to your console when online.</p><div class="grid grid-cols-2 gap-3 sm:grid-cols-3">'),pu=M('<div class="aspect-video rounded-lg bg-white/10 ring-1 ring-white/20"aria-hidden>');const yu=()=>(()=>{var e=gu(),t=e.firstChild,n=t.nextSibling;return S(n,h(we,{get each(){return Array.from({length:6})},children:(r,o)=>(()=>{var i=pu();return S(i,()=>o()+1),i})()})),e})(),wu={default:lu,comingSoon:su,settingsThemeColors:uu,settingsThemeWallpaper:yu,settingsThemeSounds:mu},vu=(e,t)=>e.id===t&&e.sidebar?e.sidebar:e.children?e.children.find(r=>r.id===t)?.sidebar:void 0,bu=(e,t)=>{const n=t.endsWith(":page")?t.replace(/:page$/,""):t;for(const r of e)for(const o of r.menu){const i=vu(o,n);if(i)return i}if(t.endsWith(":page"))return"comingSoon"},xu=e=>{const[t,n]=tn(e,["panel","categories"]),r=()=>t.panel,o=N(()=>{const i=r();if(i)return bu(t.categories,i.content)});return r()?h(Yn,H({get component(){return wu[o()??"default"]},get panel(){return r()}},n)):null};var ku=M("<div class=text-white/80>No sub items."),_u=M('<div class=text-white><h3 class="mb-4 flex items-center gap-2 font-semibold drop-shadow"><button class="ml-auto rounded px-2 py-1 text-xs text-white/80 hover:bg-white/10">Back'),Su=M('<div class="relative min-h-0 overflow-hidden">'),$u=M('<img alt loading=lazy class="h-12 w-16 flex-shrink-0 rounded object-cover ring-1 ring-white/30">',!0,!1,!1),Eu=M('<div class="mt-0.5 truncate text-xs text-white/65">'),Cu=M('<div class=min-w-0><div class="text-sm leading-5">');const Au=8,mo=2,go=(e,t,n)=>Math.min(n,Math.max(t,e)),Tu=e=>{const t=e.IconComponent,n=()=>Math.min(Au,Math.max(1,e.children.length)),r=()=>e.isMobile?58:64,o=()=>n()*r(),i=()=>e.isMobile?"calc(80vh - 112px)":"calc(100vh - 112px)",s=()=>go(e.selectedIndex,0,Math.max(0,e.children.length-1)),a=()=>go(s()-Math.floor(n()/2),0,Math.max(0,e.children.length-n())),l=()=>a()+n(),u=()=>a()>0,d=()=>l()<e.children.length,c=f=>f-a(),m=f=>{const y=c(f);return y>=0&&y<n()},w=f=>{if(f===s())return 1;const y=c(f);let k=1;u()&&y<mo&&(k=Math.min(k,y===0?.32:.58));const v=n()-1-y;return d()&&v<mo&&(k=Math.min(k,v===0?.32:.58)),k},b=f=>m(f)?(f===s()?1:.62)*w(f):0;return(()=>{var f=_u(),y=f.firstChild,k=y.firstChild;return S(y,t&&h(t,{class:"h-5 w-5"}),k),S(y,()=>e.parent.label,k),We(k,"click",e.onBack,!0),S(f,h(te,{get when(){return e.children.length===0},get fallback(){return(()=>{var v=Su();return S(v,h(we,{get each(){return e.children},children:(_,E)=>{const L=_.icon??t,P=()=>m(E());return h(Fe.button,{initial:!1,get animate(){return{opacity:b(E()),scale:E()===s()?1.03:1,y:c(E())*r()}},transition:{type:"spring",stiffness:460,damping:38,mass:.6},get style(){return{height:`${r()-8}
2px`,"pointer-events":P()?"auto":"none"}},get"aria-selected"(){return E()===s()},get class(){return`absolute left-0 right-0 flex items-center gap-3 rounded-md px-3 text-left outline-none transition-colors focus-visible:ring-2 focus-visible:ring-white/70 ${E()===s()?"bg-white/20 ring-1 ring-white/30":"hover:bg-white/10"}`},onFocus:()=>e.onHighlight(E()),onClick:()=>e.onActivate(_,E()),get children(){return[h(te,{get when(){return _.thumbnail||_.image||_.preview},get fallback(){return L?h(L,{class:"h-5 w-5 flex-shrink-0"}):null},get children(){var I=$u();return Y(()=>Se(I,"src",_.thumbnail||_.image||_.preview)),I}}),(()=>{var I=Cu(),T=I.firstChild;return S(T,()=>_.label),S(I,h(te,{get when(){return _.desc},get children(){var O=Eu();return S(O,()=>_.desc),O}}),null),I})()]}})}})),Y(_=>ae(v,"height",`min(${o()}px, ${i()})`)),v})()},get children(){return ku()}}),null),Y(v=>{var _={"flex h-full w-full flex-col p-6":!e.isMobile,"flex h-full flex-col gap-4 overflow-hidden":e.isMobile},E=!e.isMobile,L=!!e.isMobile;return v.e=tt(f,_,v.e),E!==v.t&&y.classList.toggle("text-xl",v.t=E),L!==v.a&&y.classList.toggle("text-lg",v.a=L),v},{e:void 0,t:void 0,a:void 0}),f})()};$e(["click"]);var Mu=M('<canvas class="pointer-events-none fixed inset-0 z-0 h-screen w-screen"aria-hidden=true>');const Pu=e=>{let t,n=0,r=e.phaseOffset??0,o=0,i=null,s="";const a=()=>e.hue??205,l=()=>e.lightness??55,u=()=>e.saturation??85,d=()=>e.speed??.6,c=()=>e.intensity??.7,m=()=>e.nLayers??4,w=()=>e.foregroundRgb??"255,255,255",b=()=>w()==="0,0,0"?"source-over":"lighter";return ie(()=>{r=e.phaseOffset??0}),it(()=>{const f=t,y=f.getContext("2d");if(!y)return;let k=f.width=f.offsetWidth*devicePixelRatio,v=f.height=f.offsetHeight*devicePixelRatio;const _=()=>{const I=a(),T=u(),O=l(),F=`${k}|${v}|${I}|${T}|${O}`;if(i&&s===F)return i;const C=y.createLinearGradient(0,0,0,v);return C.addColorStop(0,`hsl(${I}, ${T}%, ${O+10}%)`),C.addColorStop(1,`hsl(${I+10}, ${T-10}%, ${O-10}%)`),i=C,s=F,i},E=()=>{k=f.width=f.offsetWidth*devicePixelRatio,v=f.height=f.offsetHeight*devicePixelRatio,i=null},L=new ResizeObserver(E);L.observe(f);const P=I=>{n+=(r-n)*.08,y.fillStyle=e.solidColor??_()??"#0b1f2d",y.fillRect(0,0,k,v);for(let T=0;T<m();T++){const O=[.23,.27,.73,.77],F=v*(O[T%O.length]??.5),C=(v*.035+T*6)*c()*3.2,W=.0018+T*6e-4,ne=d()*(.6+T*.25),D=(I*8e-5*(ne*.6)+n*.1)*Math.PI*2;y.beginPath(),y.moveTo(0,F);for(let Z=0;Z<=k;Z+=12){const pe=F+Math.sin(Z*W+D)*C*.9+Math.sin(Z*W*.5-D*1.2)*C*.25;y.lineTo(Z,pe)}y.lineTo(k,v),y.lineTo(0,v),y.closePath();const Q=Math.max(0,u()-T*6),ue=Math.min(100,Math.max(0,l()+10+T*2));y.fillStyle=`hsla(${a()+T*8}, ${Q}%, ${ue}%, ${.26-T*.04})`,y.fill();const me=new Path2D;for(let Z=0;Z<=k;Z+=12){const pe=F+Math.sin(Z*W+D)*C*.9+Math.sin(Z*W*.5-D*1.2)*C*.25;Z===0?me.moveTo(Z,pe):me.lineTo(Z,pe)}y.save(),y.globalCompositeOperation=b(),y.lineCap="round",y.strokeStyle=`rgba(${w()},0.06)`,y.lineWidth=Math.max(1,1.5*(devicePixelRatio||1)),y.stroke(me),y.restore();const xe=new Path2D;xe.moveTo(0,F);for(let Z=0;Z<=k;Z+=12){const pe=F+Math.sin(Z*W+D)*C*.9+Math.sin(Z*W*.5-D*1.2)*C*.25;xe.lineTo(Z,pe)}xe.lineTo(k,v),xe.lineTo(0,v),xe.closePath(),y.save(),y.globalCompositeOperation=b(),y.clip(xe);const Ee=devicePixelRatio||1,Ce=[{w:6,a:.05},{w:12,a:.03},{w:20,a:.015}];for(const Z of Ce)y.strokeStyle=`rgba(${w()},${Z.a})`,y.lineWidth=Z.w*Ee,y.stroke(me);y.restore()}o=requestAnimationFrame(P)};o=requestAnimationFrame(P),de(()=>{cancelAnimationFrame(o),L.disconnect()})}),(()=>{var f=Mu(),y=t;return typeof y=="function"?Re(y,f):t=f,f})()};var Iu=M('<div aria-hidden><div id=particle-hero-launch class="h-full w-full"></div><div class="pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_top,_rgba(56,189,248,0.3),_transparent_55%)]"></div><div class="pointer-events-none absolute inset-0 bg-[linear-gradient(120deg,_rgba(124,58,237,0.25),_transparent_65%)] mix-blend-screen">');const po="/widget/particle-morphing-loader.js",Lu=(()=>{let e;const t=()=>window.ParticleMorphingWidget?.createParticleMorphingController??null;return()=>e||(e=new Promise((n,r)=>{const o=t();if(o){n(o);return}const i=document.querySelector('script[data-particle-morphing-loader="true"]')??document.createElement("script");i.parentNode||(i.type="module",i.src=po,i.async=!0,i.dataset.particleMorphingLoader="true",document.head.appendChild(i));const s=()=>{i.removeEventListener("load",a),i.removeEventListener("error",l)},a=()=>{s();const u=t();if(!u){e=void 0,r(new Error("Particle morphing widget loaded without exposing a factory."));return}n(u)},l=()=>{s(),e=void 0,r(new Error(`Failed to load particle morphing widget script from "${po}".`))};i.addEventListener("load",a),i.addEventListener("error",l)}),e)})(),Ou={markJsEnabled:!0,settings:{morphDuration:5,particlesNumber:300,color:!1,imageOrder:"sequential",initialImageIndex:0}},Nu=e=>{let t,n;const r=()=>{n?.destroy?.(),n=void 0},o=()=>{r()};return it(async()=>
2{if(t){window.addEventListener("beforeunload",o);try{const i=await Lu();if(typeof i!="function")throw new Error("Particle morphing widget factory is unavailable.");if(n=i("#particle-hero-launch",Ou)??void 0,!n)throw new Error("Particle morphing widget did not return a controller instance.")}catch(i){console.error("Failed to initialize particle morphing widget.",i)}}}),de(()=>{window.removeEventListener("beforeunload",o),r()}),(()=>{var i=Iu(),s=i.firstChild,a=t;return typeof a=="function"?Re(a,s):t=s,Y(()=>fe(i,`relative overflow-hidden ${e.class??""}`)),i})()};var Ru=M('<section class="grid gap-10 lg:grid-cols-[minmax(0,1.1fr)_minmax(260px,0.9fr)] lg:items-center"><div class=space-y-7><div class=space-y-3><p class="text-xs uppercase tracking-[0.45em] text-white/60">Security Professional</p><h3 class="text-3xl font-semibold leading-tight text-white drop-shadow md:text-4xl"> — Security Professional</h3><p class="max-w-xl text-base text-white/80 md:text-lg">Building reliable, performant software from frontend to infrastructure</p></div><ul class="grid gap-3 text-sm text-white/70"></ul><div class="flex flex-wrap items-center gap-3"><a class="rounded-full bg-gradient-to-r from-sky-500 via-indigo-500 to-purple-500 px-5 py-2 text-sm font-semibold uppercase tracking-[0.3em] text-white shadow-lg shadow-sky-500/40 transition hover:scale-[1.02]"href=https://x.com/edward_igarashi>Follow X</a><a class="rounded-full border border-white/30 px-5 py-2 text-sm font-semibold uppercase tracking-[0.3em] text-white/80 transition hover:border-white/60 hover:text-white"href=https://github.com/edwardigarashi target=_blank rel=noreferrer>View GitHub</a></div><div class="grid grid-cols-2 gap-4 sm:grid-cols-4">'),Du=M('<li class="flex items-start gap-3 rounded-2xl bg-white/5 p-4 backdrop-blur"><span class="mt-1 inline-flex h-2 w-2 flex-shrink-0 rounded-full bg-sky-400"></span><span>'),Vu=M('<div class="rounded-3xl border border-white/10 bg-white/5 p-4 text-center shadow-[0_0_40px_rgba(8,145,178,0.25)] backdrop-blur"><div class="text-2xl font-semibold text-sky-200 md:text-3xl"></div><div class="mt-1 text-xs uppercase tracking-[0.25em] text-white/60">');const ju=[{value:"12+",label:"Years shipping delightful products"},{value:"35",label:"Product launches guided into production"},{value:"7x",label:"Avg. boost in engagement across redesigns"},{value:"120+",label:"Open-source contributions and talks"}],Fu=["Web & Application Development","Full-Stack Engineering","Cloud & Infrastructure","IT, Linux & Network Architecture"],zu=e=>{const t=e.profile;if(!t)throw new Error("Profile template requires profile bindings.");return{isMobile:e.isMobile,profile:t}},Hu=e=>({id:"vision",label:"Vision",content:()=>(()=>{var t=Ru(),n=t.firstChild,r=n.firstChild,o=r.firstChild,i=o.nextSibling,s=i.firstChild,a=r.nextSibling,l=a.nextSibling,u=l.nextSibling;return S(i,()=>e.profile.name(),s),S(a,h(we,{each:Fu,children:d=>(()=>{var c=Du(),m=c.firstChild,w=m.nextSibling;return S(w,d),c})()})),S(u,h(we,{each:ju,children:d=>(()=>{var c=Vu(),m=c.firstChild,w=m.nextSibling;return S(m,()=>d.value),S(w,()=>d.label),c})()})),S(t,h(Nu,{class:"mx-auto aspect-square w-full max-w-xs rounded-[36px] border border-white/10 bg-gradient-to-br from-slate-900/20 via-slate-900/40 to-indigo-900/20 p-6 shadow-2xl shadow-sky-500/20 md:max-w-sm lg:max-w-md"}),null),t})()}),qu=e=>[Hu(e)],Bu=e=>{const t=zu(e);return{title:`${t.profile.name()} — Principal Frontend Engineer`,sections:qu(t),initialSectionId:"vision"}},Gu={profile:Bu},Uu=(e,t,n,r)=>{const o=n&&Gu[n]||void 0;let i=o?o(t):{title:e};if(i={...i,title:i.title??e},r){const{title:a,...l}=r;i={...i,...l,title:a??i.title}}const s=i.sections??[];return s.length>0&&(i.initialSectionId&&s.some(l=>l.id===i.initialSectionId)||(i={...i,initialSectionId:s[0]?.id})),i},Wu="/articles/article-manifest.json";let Pn;const jt=e=>e?.toLowerCase()??"",Ku=async e=>((!Pn||e?.force)&&(Pn=fetch(Wu,{cache:e?.force?"reload":"default"}).then(async t=>{if(!t.ok)throw new Error(`Unable to load local article manifest (${t.status})`);return await t.json()})),Pn),Xu=(e,t="long")=>{if(!e)return"";const n=new Date(e);return Number.isNaN(n.getTime())?"":new Intl.DateTimeFormat(void 0,{month:t==="short"?"short":"long",day:"numeric",year:"numeric"}).format(n)},oi=e=>[...e].sort((t,n)=>{const r=t.publishedAt?new Date(t.publishedAt).getTime():0,o=n.publishedAt?new Date(n.publishedAt).getTime():0;return r===o?t.title.localeCompare(n.title):o-r}),qh=(e,t)=>
2{const n=t.trim().toLowerCase().split(/\s+/).filter(Boolean);return n.length?e.articles.map((r,o)=>{const i=jt(r.title),s=[r.title,r.subtitle,r.excerpt,r.category.label,...r.tags].map(jt).join(" ");let a=0;for(const l of n){if(!s.includes(l))return{article:r,score:0};i.startsWith(l)?a+=10:i.includes(l)&&(a+=7),r.tags.some(u=>jt(u).includes(l))&&(a+=5),jt(r.category.label).includes(l)&&(a+=3),a+=1}return{article:r,score:a-o*.01}}).filter(r=>r.score>0).sort((r,o)=>o.score-r.score).map(r=>r.article):oi(e.articles)},Bh=(e,t,n=8)=>{const r=new Set(t.tags.map(o=>o.toLowerCase()));return e.articles.filter(o=>o.slug!==t.slug).map(o=>{const i=o.tags.reduce((l,u)=>l+(r.has(u.toLowerCase())?2:0),0),s=o.category.id===t.category.id?3:0,a=o.publishedAt?new Date(o.publishedAt).getTime():0;return{article:o,score:i+s,dateTime:a}}).sort((o,i)=>o.score!==i.score?i.score-o.score:i.dateTime-o.dateTime).slice(0,n).map(o=>o.article)},Yu=e=>`${e} ${e===1?"article":"articles"}`,Ju=e=>{const t=Xu(e.publishedAt,"short");return e.subtitle&&t?`${e.subtitle} · ${t}`:e.subtitle?e.subtitle:e.excerpt&&t?`${e.excerpt} · ${t}`:e.excerpt??t},Qu=e=>({id:`article-${e.slug}`,label:e.title,desc:Ju(e),thumbnail:e.thumbnailImage??e.featureImage,image:e.featureImage,action:{type:"link",href:`/articles/${e.slug}`}}),Zu=(e,t)=>{const n=oi(e.articleSlugs.map(r=>t.get(r)).filter(r=>!!r));if(n.length)return{id:`article-category-${e.slug}`,label:e.label,sub:Yu(n.length),children:n.map(Qu)}},ef=e=>{const t=new Map(e.articles.map(r=>[r.slug,r])),n=e.categories.map(r=>Zu(r,t)).filter(r=>!!r);return n.length?n:[{id:"articles-empty",label:"No local articles found",sub:"Add Markdown files under Articles"}]};var tf=M('<div class="absolute inset-x-0 z-[8] text-white drop-shadow-lg"><div>'),nf=M('<div class="pointer-events-none fixed inset-0 z-[5] bg-gradient-to-t from-sky-950/30 via-sky-900/10 to-sky-900/20">'),rf=M('<div class="pointer-events-none fixed z-[9000] font-mono text-white/90 drop-shadow">'),of=M('<div class="fixed inset-0 z-[10000] pointer-events-none"aria-live=polite><div class="absolute pointer-events-auto">'),sf=M('<div class="flex flex-wrap items-center gap-6 rounded-2xl bg-black/55 px-5 py-3 text-sm text-white/90 ring-1 ring-white/15 backdrop-blur">'),af=M('<div class="pointer-events-none fixed inset-x-0 bottom-0 h-40 bg-gradient-to-t from-sky-950/50 to-transparent">'),lf=M('<div class="relative h-screen w-screen overflow-x-hidden text-white">'),cf=M('<div class="fixed inset-0 z-0 h-screen w-screen bg-cover bg-center">'),df=M('<div class="flex items-center justify-between"><div><div class="text-sm uppercase tracking-widest text-white/70"></div><h3 class="text-xl font-semibold drop-shadow"></h3></div><div class="flex items-center gap-2"><button class="panel-close-button rounded-md bg-black/45 px-3 py-1.5 text-sm text-white/90 ring-1 ring-white/20 backdrop-blur transition hover:bg-black/60">Close'),uf=M('<div class="mt-4 space-y-3">'),ff=M('<div class="flex items-center gap-3 whitespace-nowrap"><div class="flex items-center gap-1 text-xs uppercase tracking-widest text-white/70"></div><span>'),hf=M('<kbd class="min-w-[2.25rem] rounded border border-white/30 bg-white/10 px-2 py-1 text-center font-semibold text-white/90">'),mf=M('<span class="px-0.5 text-white/40">/');const yo=e=>{const t=n=>n.toString().padStart(2,"0");return`${e.getFullYear()}/${t(e.getMonth()+1)}/${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}`},gf=()=>{const e=pd(),t=yd(),[n]=Is(),[r,o]=z(ud()),[i,s]=z(r()),[a,l]=z(t.enabled),[u,d]=z(t.volume),c=g=>e.play(g);ie(()=>{e.setEnabled(a())}),ie(()=>{e.setVolume(u())});const m=()=>{wd({enabled:a(),volume:u()})};ie(ot([a,u],()=>{m()},{defer:!0}));const w=N(()=>fd(i())),b=N(()=>w().foregroundColor??"#ffffff"),f=N(()=>w().foregroundRgb??"255,255,255"),y=N(()=>i()==="light"),[k,v]=z(fo),[_,E]=z(2),L=g=>Object.fromEntries(g.map(p=>[p.id,0])),[P,I]=z(L(k())),[T,O]=z(null),[F,C]=z(!1),[W,ne]=z("hi"),[D,Q]=z("[email protected]"),[ue,me]=z(null),[xe,Ee]=z(yo(new Date)),Ce=()=>{T()&&(T().content==="colors"&&s(r()),O(null),c("cancel"))};ie(()=>{const g=T();!g||g.content!=="sounds"||de(()=>{m()})});const Z=(g="cancel")=>{me(null),c(g)},pe=()=>F()&&!T()&&!ue(),ct=48,ci=42,rr=180;let Mt=null,or=0,ir=0,dt=!1,Pt=0,ut=0,sr=0,ft;const rn=g=>{if(!g)return!1;const p=ve(_()+g,0,un()-1);return p===_()?(c("systemNg"),!1):(Sr(p),!0)},ar=g=>{if(!g)return!1;const p=Te(),$=ve(p+g,0,re().menu.length-1);return $===p?(c("systemNg"),!1):(I(x=>({...x,[re().id]:$})),c("navigate"),!0)},lr=g=>{if(!g)return!1;const p=It()||re().menu[Te()]||re().menu[0],$=p?.id,x=p?.children??[];if(!$||!x.length)return c("systemNg"),!1;const q=Ne()[$]??0,V=ve(q+g,0,Math.max(0,x.length-1));return V===q?(c("systemNg"),!1):(ze(oe=>({...oe,[$]:V})),c("navigate"),!0)},cr=g=>
2{if(!g)return!1;const p=Math.max(0,Bt.findIndex(q=>q.key===i())),$=ve(p+g,0,Bt.length-1);if($===p)return c("systemNg"),!1;const x=Bt[$].key;return s(x),x!==r()&&o(x),c("navigate"),!0},di=g=>{!pe()||g.pointerType!=="touch"||(Mt=g.pointerId,or=g.clientX,ir=g.clientY,dt=!1)},ui=g=>{if(!pe()||g.pointerId!==Mt||dt)return;const p=g.clientX-or,$=g.clientY-ir,x=Math.abs(p),q=Math.abs($);if(x<ct&&q<ct)return;if(g.preventDefault(),x>=q){dt=!0,Ae()==="submenu"?p>0?an():c("systemNg"):p>0?rn(-1):rn(1);return}dt=!0;const V=$>0?1:-1;Ae()==="submenu"?lr(V):ar(V)},dr=g=>{g.pointerId===Mt&&(Mt=null,dt=!1)},ur=()=>{Pt=0,ut=0},fi=g=>{if(Ae()==="submenu"){g<0?an():c("systemNg");return}rn(g)},hi=g=>{if(T()||ue()||Math.abs(g.deltaX)<1&&Math.abs(g.deltaY)<1)return;g.preventDefault(),Nt();const p=window.performance.now();if(p<sr)return;ft&&window.clearTimeout(ft),ft=window.setTimeout(ur,rr),Pt+=g.deltaX+(g.shiftKey?g.deltaY:0),g.shiftKey||(ut+=g.deltaY);const $=Math.abs(Pt),x=Math.abs(ut);Math.max($,x)<ci||($>x?fi(Pt>0?1:-1):Ae()==="submenu"?lr(ut>0?1:-1):ar(ut>0?1:-1),ur(),sr=p+rr)},mi={isMobile:F,profile:{name:W,setName:ne,email:D,setEmail:Q}},[Ae,ht]=z("home"),[Ne,ze]=z({}),[It,mt]=z(null);ie(()=>{const g=k();if(I(p=>{const $={...p};for(const x of g)$[x.id]===void 0&&($[x.id]=0);return $}),g.length){const p=g.length-1;_()>p&&E(p)}});const[gi,on]=z(0),[Lt,He]=z(null);let Ot;const gt=()=>{Ot&&(window.clearTimeout(Ot),Ot=void 0)},[fr,hr]=z(!1),[mr,gr]=z(!1),pr=g=>{v(p=>p.map($=>$.id==="articles"?{...$,menu:g}:$))},sn=async(g=!1)=>{if(!fr()&&!(mr()&&!g)){hr(!0);try{const p=await Ku({force:g}),$=ef(p);pr($),gr(!0)}catch(p){console.error("Failed to load local articles",p),gr(!1),pr([{id:"articles-error",label:"Unable to load articles",sub:"Press Enter to retry"}])}finally{hr(!1)}}};ie(()=>{re().id==="articles"&&sn()});const an=()=>{ht("home"),mt(null),He(null),gt(),c("cancel")},pi=(g,p)=>{!g||(Ne()[g]??0)===p||(ze(x=>({...x,[g]:p})),c("navigate"))},ln=(g,p,$)=>{if(g){if(p.action?.type==="link"&&p.action.href){c("decide"),window.location.href=p.action.href;return}ze(x=>({...x,[g.id]:$})),O({title:`${g.label} › ${p.label}`,content:p.id}),p.id==="colors"&&s(r()),c("decide")}},[yr,wr]=z(!1);let pt;const Nt=()=>{pt&&window.clearTimeout(pt),yr()&&wr(!1),pt=window.setTimeout(()=>wr(!0),1e3)};let cn;const dn=[],[yi,wi]=z(0),[vr,vi]=z(64),[br,bi]=z(0),[xi,ki]=z(0),xr=18,re=N(()=>{const g=k();return g.length?g[ve(_(),0,g.length-1)]:fo[0]}),un=N(()=>Math.max(1,k().length)),Te=N(()=>P()[re().id]??0),_i=N(()=>Math.max(4,re().menu.length)),kr=N(()=>vr()+xr),Ye=N(()=>Array.from({length:2*_i()+1},()=>kr())),Si=N(()=>Ye().map(g=>`${g}px`).join(" ")),$i=N(()=>Math.floor(Ye().length/2)),_r=()=>typeof window>"u"?!1:window.matchMedia("(max-width: 768px)").matches;let Je=null;const Ei=(g,p)=>{let $=g.offsetLeft,x=g.offsetParent;for(;x&&x!==p;)$+=x.offsetLeft,x=x.offsetParent;return x===p?$+g.offsetWidth/2:void 0},yt=()=>{typeof window>"u"||Je===null&&(Je=window.requestAnimationFrame(()=>{Je=null;const g=dn[_()],p=cn;if(!g||!p)return;const $=p.getBoundingClientRect(),x=g.querySelector(".ribbon-tile"),q=x??g,V=q.getBoundingClientRect(),oe=x?.offsetHeight||g.offsetHeight||64,se=Ei(q,p)??V.left+V.width/2-$.left;Ge(()=>{bi($.width),ki($.left),wi(se),vi(Math.max(48,Math.round(oe)))})}))};it(()=>{const g=()=>{C(_r())},p=()=>Nt(),$=["pointermove","pointerdown","touchstart"];queueMicrotask(()=>{yt(),C(_r())}),window.addEventListener("resize",g),$.forEach(x=>window.addEventListener(x,p,{passive:!0})),window.addEventListener("keydown",p),Nt(),de(()=>{window.removeEventListener("resize",g),$.forEach(x=>window.removeEventListener(x,p)),window.removeEventListener("keydown",p),Je!==null&&(window.cancelAnimationFrame(Je),Je=null),pt&&window.clearTimeout(pt),ft&&window.clearTimeout(ft)})}),it(()=>{const g=()=>Ee(yo(new Date));g();const p=window.setInterval(g,3e4);de(()=>window.clearInterval(p))}),ie(()=>{const g=cn;if(!g)return;if(typeof ResizeObserver>"u"){yt();return}const p=new ResizeObserver(()=>{yt()});p.observe(g),de(()=>p.disconnect())}),ie(ot(()=>_(),()=>{queueMicrotask(()=>yt())},{defer:!0})),ie(()=>{if(!F())return;const g=dn[_()];g&&queueMicrotask(()=>{g.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})})}),ie(()=>{const g=p=>
2{if(Nt(),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter","Escape"].includes(p.key)&&p.preventDefault(),ue())return;const $=T();if($){if(p.key==="Escape"||p.key==="ArrowLeft"){Ce();return}if($.content==="colors"){if(p.key==="ArrowUp"){cr(-1);return}if(p.key==="ArrowDown"){cr(1);return}}return}if(Ae()==="submenu"){const x=It()||re().menu[Te()]||re().menu[0],q=x?.children??[],V=x?.id;switch(p.key){case"ArrowUp":{if(!V){c("systemNg");break}const oe=Ne()[V]??0,se=ve(oe-1,0,Math.max(0,q.length-1));se===oe?c("systemNg"):(ze(ce=>({...ce,[V]:se})),c("navigate"));break}case"ArrowDown":{if(!V){c("systemNg");break}const oe=Ne()[V]??0,se=ve(oe+1,0,Math.max(0,q.length-1));se===oe?c("systemNg"):(ze(ce=>({...ce,[V]:se})),c("navigate"));break}case"Enter":{if(!V||!q.length){c("systemNg");break}const oe=q[Ne()[V]??0];oe?ln(x,oe,Ne()[V]??0):c("systemNg");break}case"ArrowLeft":case"Escape":ht("home"),mt(null),He(null),c("cancel");break}return}switch(p.key){case"ArrowLeft":{const x=_(),q=ve(x-1,0,un()-1);q===x?c("systemNg"):(E(q),on(V=>V-1),c("navigate"));break}case"ArrowRight":{const x=_(),q=ve(x+1,0,un()-1);q===x?c("systemNg"):(E(q),on(V=>V+1),c("navigate"));break}case"ArrowUp":{const x=Te(),q=ve(x-1,0,re().menu.length-1);q===x?c("systemNg"):(I(V=>({...V,[re().id]:q})),c("navigate"));break}case"ArrowDown":{const x=Te(),q=ve(x+1,0,re().menu.length-1);q===x?c("systemNg"):(I(V=>({...V,[re().id]:q})),c("navigate"));break}case"Enter":fn(re().menu[Te()]);break}};window.addEventListener("keydown",g),de(()=>window.removeEventListener("keydown",g))}),ie(()=>{if(Ae()!=="submenu"){gt(),He(null);return}const g=re().submenu,p=It()||re().menu[Te()],$=p?.children||[],x=p?.id,q=x?Ne()[x]??0:0,V=$[q];if(g?.component==="mediaPreview"&&V&&(V.preview||V.image)){gt();const oe=g.previewDelayMs??3e3;Ot=window.setTimeout(()=>{He({src:V.preview||V.image,desc:V.desc||V.label})},oe)}else gt(),He(null);de(()=>{gt()})}),ie(()=>{try{localStorage.setItem("ig.themeKey",r())}catch{}}),ie(()=>{Ye().length%2===1&&Ye()[Math.floor(Ye().length/2)]===kr()||console.warn("Row grid symmetry check failed")});const fn=g=>{if(!g){c("systemNg");return}if(re().id==="articles"&&(!mr()||fr())&&(!g.children||g.children.length===0)&&!g.action){sn(!0),c("systemNg");return}const p=g.action;if(g.children&&g.children.length){const $=re().menu.findIndex(x=>x.id===g.id);I(x=>({...x,[re().id]:Math.max(0,$)})),ze(x=>({...x,[g.id]:x[g.id]??0})),mt(g),ht("submenu"),He(null),c("option");return}if(!p){re().id==="articles"&&sn(!0),c("systemNg");return}c("decide"),p.type==="panel"?O({title:`${re().label} › ${g.label}`,content:g.id}):p.type==="page"?O({title:`${g.label}`,content:`${g.id}:page`}):p.type==="fullpage"?me({kind:"view",config:Uu(`${re().label} › ${g.label}`,mi,p.page,p.view)}):p.type==="fullscreenMessage"?me({kind:"message",heading:p.heading,message:p.message,detail:p.detail,dismissLabel:p.dismissLabel,timestamp:p.timestamp,timestampLabel:p.timestampLabel,indicators:p.indicators}):p.type==="fullscreenConfirm"?me({kind:"confirm",title:p.title??`${re().label} › ${g.label}`,message:p.message,confirmLabel:p.confirmLabel,cancelLabel:p.cancelLabel,timestamp:p.timestamp,timestampLabel:p.timestampLabel,indicators:p.indicators,onConfirm:()=>Z("decide"),onCancel:()=>Z("cancel")}):p.type==="link"&&p.href&&(window.location.href=p.href)},Ci=(g,p,$)=>{const x=k(),q=x.findIndex(ce=>ce.id===g);if(q<0)return!1;const V=x[q];if(Ge(()=>{E(q),ht("home"),mt(null),O(null),me(null),He(null)}),!p)return!0;const oe=V.menu.findIndex(ce=>ce.id===p);oe>=0&&I(ce=>({...ce,[V.id]:oe}));const se=V.menu.find(ce=>ce.id===p);if(!se)return!0;if(se.children&&se.children.length){ht("submenu"),mt(se);const ce=se.children,Me=$?ce.findIndex(Pe=>Pe.id===$):0;if(Me>=0&&(ze(Pe=>({...Pe,[se.id]:Me})),$)){const Pe=ce[Me];Pe&&queueMicrotask(()=>ln(se,Pe,Me))}return!0}return queueMicrotask(()=>fn(se)),!0},hn=g=>Array.isArray(g)?g[0]:g;ie(()=>{const g=hn(n.portalCategory);if(!g)return;const p=hn(n.portalMenu),$=hn(n.portalChild);Ci(g,p,$)});const Sr=g=>{const p=_(),$=!!T();$&&Ce(),g!==p?(on(x=>x+(g-p)),E(g),c("navigate")):$||c("systemNg")},Ai=g=>{I(p=>({...p,[re().id]:g})),fn(re().menu[g])},$r=N(()=>{const g=ue();if(g){if(g.kind==="message"){const p=g.dismissLabel??"Close screen";return[{keys:["Enter"],label:p},{keys:["Esc","←"],label:p}]}return g.kind==="confirm"?[{keys:["Enter"],label:g.confirmLabel??"Confirm"},{keys:["Esc","←"],label:g.cancelLabel??"Cancel"}]:[{keys:["Esc","←"],label:"Close screen"},{keys:["↑","↓"],label:"Navigate sections"}]}return T()?[{keys:["Esc","←"],label:"Close panel"}]:Ae()==="submenu"?[{keys:["↑","↓"],label:"Move through options"},{keys:["Enter"],label:"Open selection"},{keys:["Esc","←"],label:"Back to categories"}]:[{keys:["←","→"],label:"Switch categories"},{keys:["↑","↓"],label:"Highlight menu item"},{keys:["Enter"],label:"Open selection"}]});return(()=>{var g=lf();return g.addEventListener("pointercancel",dr),g.$$pointerup=dr,g.$$pointermove=ui,g.$$pointerdown=di,g.addEventListener("wheel",hi),S(g,h(te,{get when(){return!Lt()},get fallback(){return(()=>{var p=cf();return Y($=>ae(p,"background-image",`url(${Lt().src})`)),p})()},get children(){return h(Pu,{get hue(){return w().hue},get saturation(){return w().saturation},get lightness(){return w().lightness},get solidColor(){return w().solidColor},get foregroundRgb(){return f()},get phaseOffset(){return gi()}})}}),null),S(g,h(te,{get when(){return Lt()?.desc},get children(){var p=tf(),$=p.firstChild;return S($,()=>Lt().desc),Y(x=>{var q={"bottom-20 px-10":!F(),"bottom-6 px-4":F()},V=`max-w-4xl opacity-95 ${F()?"text-sm leading-5":"text-base leading-6"}`;return x.e=tt(p,q,x.e),V!==x.t&&fe($,x.t=V),x},{e:void 0,t:void 0}),p}}),null),S(g,h(te,{get when(){return!w().solidColor},get children(){return nf()}}),null),S(g,h(te,{get when(){return!ue()},get children(){var p=rf();return S(p,xe),Y($=>tt(p,{"right-6 top-6 text-base tracking-widest":!F(),"right-4 top-4 text-sm tracking-[0.3em]":F()},$)),p}}),null),S(g,h(ou,{gridRef:p=>{cn=p,yt()},iconRefs:(p,$)=>{p&&(dn[$]=p)},get rowsTemplate(){return Si()},get rows(){return Ye()},get midRow(){return $i()},get ICON(){return vr()},LABEL_H:xr,get iconCenterX(){return yi()},get gridWidth(){return br()},get categories(){return k()},get current(){return re()},get catIndex(){return _()},onCategoryClick:Sr,get currentMenuIndex(){return Te()},onMenuClick:Ai,get mode(){return Ae()},get isMobile(){return F()}}),null),S(g,h(te,{get when(){return Ae()==="submenu"},get children(){var p=of(),$=p.firstChild;return S($,()=>{const x=It()||re().menu[Te()]||re().menu[0];if(!x)return null;const q=x.children??[],V=x.id,oe=x.icon??re().icon??Gn,se=Ne()[V]??0;return h(Tu,{parent:x,children:q,selectedIndex:se,onHighlight:ce=>pi(V,ce),onActivate:(ce,Me)=>ln(x,ce,Me),onBack:an,IconComponent:oe,get isMobile(){return F()}})}),Y(x=>{var q={"bg-black/40 backdrop-blur-sm":F()},V={"px-6 py-4":!F(),"inset-x-0 bottom-0 top-auto flex h-[80vh] max-h-[80vh] flex-col overflow-hidden rounded-t-3xl bg-slate-950/85 px-4 pb-6 pt-5 shadow-2xl ring-1 ring-white/20":F()},oe=F()?void 0:{left:`${Math.max(0,xi()+360)}px`,top:"0px",bottom:"0px",width:`${Math.max(320,br()-360)}px`};return x.e=tt(p,q,x.e),x.t=tt($,V,x.t),x.a=Oo($,oe,x.a),x},{e:void 0,t:void 0,a:void 0}),p}}),null),S(g,h(_n,{get children(){return h(te,{get when(){return T()},children:p=>h(Fe.aside,{initial:{x:420,opacity:0}
2,animate:{x:0,opacity:1},exit:{x:420,opacity:0},transition:{type:"spring",stiffness:240,damping:30},get class(){return`fixed z-[20000] text-white ring-1 ring-white/20 backdrop-blur-xl ${F()?"inset-x-0 bottom-0 top-auto h-[85vh] w-full rounded-t-3xl bg-white/20 px-4 pb-6 pt-5 shadow-2xl":"right-0 top-0 h-full w-[420px] bg-white/12 p-4"}`},role:"dialog","aria-modal":"true",get children(){return[(()=>{var $=df(),x=$.firstChild,q=x.firstChild,V=q.nextSibling,oe=x.nextSibling,se=oe.firstChild;return S(q,()=>re().label),S(V,()=>p().title),se.$$click=()=>{Ce()},$})(),(()=>{var $=uf();return S($,h(xu,{get panel(){return p()},get categories(){return k()},get previewKey(){return i()},setPreviewKey:x=>s(x),get themeKey(){return r()},setThemeKey:x=>o(x),get soundEnabled(){return a()},setSoundEnabled:x=>l(x),get soundVolume(){return u()},setSoundVolume:x=>d(x),playSound:x=>c(x)})),$})()]}})})}}),null),S(g,h(_n,{get children(){return h(te,{get when(){return ue()},children:p=>{const $=p();return $.kind==="message"?h(Hd,{get heading(){return $.heading},get message(){return $.message},get detail(){return $.detail},get dismissLabel(){return $.dismissLabel},get timestamp(){return $.timestamp},get timestampLabel(){return $.timestampLabel},get indicators(){return $.indicators},onDismiss:()=>Z("cancel")}):$.kind==="confirm"?h(Id,{get title(){return $.title},get message(){return $.message},get confirmLabel(){return $.confirmLabel},get cancelLabel(){return $.cancelLabel},get timestamp(){return $.timestamp},get timestampLabel(){return $.timestampLabel},get indicators(){return $.indicators},get onConfirm(){return $.onConfirm},get onCancel(){return $.onCancel}}):h(Cd,H(()=>$.config,{get isMobile(){return F()},onClose:()=>Z("cancel")}))}})}}),null),S(g,h(_n,{get children(){return h(te,{get when(){return Le(()=>!!yr())()&&$r().length},get children(){return h(Fe.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},transition:{duration:.25},class:"pointer-events-none inset-x-0 bottom-6 z-[40000] flex justify-center px-6",get classList(){return{absolute:!F(),fixed:F()}},get children(){var p=sf();return S(p,h(we,{get each(){return $r()},children:$=>(()=>{var x=ff(),q=x.firstChild,V=q.nextSibling;return S(q,h(we,{get each(){return $.keys},children:(oe,se)=>[(()=>{var ce=hf();return S(ce,oe),ce})(),h(te,{get when(){return se()<$.keys.length-1},get children(){return mf()}})]})),S(V,()=>$.label),x})()})),p}})}})}}),null),S(g,h(te,{get when(){return!w().solidColor},get children(){return af()}}),null),Y(p=>{var $=!F(),x=!!F(),q=!!y(),V=w().solidColor??`hsl(${w().hue}, ${w().saturation}%, ${Math.max(10,Math.min(95,w().lightness-20))}%)`,oe=b(),se=f(),ce=y()?"rgba(0,0,0,1)":"rgba(255,255,255,1)",Me=y()?"rgba(0,0,0,0.72)":"rgba(180, 195, 224, 0.9)",Pe=pe()?"none":void 0;return $!==p.e&&g.classList.toggle("overflow-hidden",p.e=$),x!==p.t&&g.classList.toggle("overflow-y-auto",p.t=x),q!==p.a&&g.classList.toggle("ig-theme-light",p.a=q),V!==p.o&&ae(g,"background-color",p.o=V),oe!==p.i&&ae(g,"color",p.i=oe),se!==p.n&&ae(g,"--ig-foreground-rgb",p.n=se),ce!==p.s&&ae(g,"--ig-menu-icon-focused",p.s=ce),Me!==p.h&&ae(g,"--ig-menu-icon-muted",p.h=Me),Pe!==p.r&&ae(g,"touch-action",p.r=Pe),p},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),g})()};$e(["pointerdown","pointermove","pointerup","click"]);var pf=[["path",{d:"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5",key:"laymnq"}],["path",{d:"M8.5 8.5v.01",key:"ue8clq"}],["path",{d:"M16 15.5v.01",key:"14dtrp"}],["path",{d:"M12 12v.01",key:"u5ubse"}],["path",{d:"M11 17v.01",key:"1hyl5a"}],["path",{d:"M7 14v.01",key:"uct60s"}]],yf=e=>h(J,H(e,{iconNode:pf,name:"cookie"})),wo=yf;const ii="ig.cookieConsent.v1",vo="ig:open-cookie-preferences",Wn="ig:cookie-consent-updated",Kn="G-93ZYE57MX0";let In=!1,Xn=!1;const si=()=>{if(!(typeof window>"u"))try{const e=window.localStorage,t="__ig_cookie_consent_test__";return e.setItem(t,"1"),e.removeItem(t),e}catch{return}},Gt=()=>{const e=si();if(!e)return null;try{const t=e.getItem(ii);if(!t)return null;const n=JSON.parse(t);return n.version!==1||typeof n.analytics!="boolean"||typeof n.updatedAt!="string"?null:{version:1,analytics:n.analytics,updatedAt:n.updatedAt}}catch{return null}},wf=()=>{typeof window>"u"||(window.dataLayer=window.dataLayer??[],window.gtag=window.gtag??((...e)=>{window.dataLayer?.push(e)}))},vf=e=>{if(typeof document>"u")return;const t=window.location.hostname,n=new Set([t,`.${t}`]),r=t.split(".");r.length>2&&n.add(`.${r.slice(-2).join(".")}`),document.cookie=`${e}=; Max-Age=0; path=/; SameSite=Lax`;for(const o of n)document.cookie=`${e}=; Max-Age=0; path=/; domain=${o}; SameSite=Lax`},bf=()=>{typeof document>"u"||document.cookie.split(";").map(e=>e.trim().split("=")[0]).filter(e=>
2e==="_gid"||e==="_gat"||e.startsWith("_ga")).forEach(vf)},xf=()=>{if(typeof document>"u"||In)return;if(document.getElementById("ig-google-analytics")){In=!0;return}const e=document.createElement("script");e.id="ig-google-analytics",e.async=!0,e.src=`https://www.googletagmanager.com/gtag/js?id=${encodeURIComponent(Kn)}`,document.head.appendChild(e),In=!0},kf=e=>{wf(),window.gtag?.("consent",Xn?"update":"default",{analytics_storage:e?"granted":"denied",ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"})},ai=e=>{if(typeof window>"u")return;const t=e?.analytics===!0;if(window[`ga-disable-${Kn}`]=!t,kf(t),!t){bf();return}xf(),Xn||(window.gtag?.("js",new Date),window.gtag?.("config",Kn,{send_page_view:!1}),Xn=!0)},_f=e=>{const t={version:1,analytics:e,updatedAt:new Date().toISOString()},n=si();try{n?.setItem(ii,JSON.stringify(t))}catch{}return ai(t),window.dispatchEvent(new CustomEvent(Wn,{detail:t})),t},Ln=()=>{typeof window>"u"||typeof document>"u"||!Gt()?.analytics||typeof window.gtag!="function"||window.gtag("event","page_view",{page_title:document.title,page_location:window.location.href,page_path:`${window.location.pathname}${window.location.search}`})};var Sf=M('<button type=button class="fixed bottom-4 left-4 z-[65000] flex items-center gap-2 rounded-md border border-white/15 bg-black/55 px-3 py-2 text-xs font-medium text-white/80 shadow-lg backdrop-blur transition hover:border-white/35 hover:bg-black/75 hover:text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70"aria-label="Cookie settings"title="Cookie settings"><span class="hidden sm:inline">Cookie settings'),$f=M('<div class="mt-4 border-t border-white/10 pt-4"><div class="grid gap-3 md:grid-cols-2"><div class="rounded-md border border-white/10 p-3"><div class="text-sm font-semibold text-white">Essential storage</div><p class="mt-1 text-sm leading-5 text-white/65">Required for remembering this choice, theme, sound, and local tool preferences.</p><div class="mt-3 text-xs font-semibold uppercase tracking-[0.2em] text-white/45">Always active</div></div><label class="flex cursor-pointer gap-3 rounded-md border border-white/10 p-3 transition hover:border-white/25"><input type=checkbox class="mt-1 h-4 w-4 accent-sky-300"><span><span class="block text-sm font-semibold text-white">Analytics cookies</span><span class="mt-1 block text-sm leading-5 text-white/65">Allows Google Analytics to help understand aggregate usage and improve the site.</span></span></label></div><div class="mt-4 flex flex-wrap justify-end gap-2"><button type=button class="rounded-md border border-white/15 px-3 py-2 text-sm font-medium text-white/80 transition hover:border-white/30 hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70">Cancel</button><button type=button class="rounded-md bg-sky-200 px-3 py-2 text-sm font-semibold text-slate-950 transition hover:bg-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70">Save preferences'),Ef=M('<div class="fixed inset-x-0 bottom-0 z-[70000] px-3 pb-3 sm:px-6 sm:pb-6"><section role=dialog aria-labelledby=cookie-consent-title class="mx-auto max-w-4xl rounded-lg border border-white/15 bg-slate-950/95 p-4 text-white shadow-2xl shadow-black/45 backdrop-blur-xl sm:p-5"><div class="flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between"><div class=space-y-2><div class="flex items-center gap-2"><h2 id=cookie-consent-title class="text-base font-semibold text-white">Privacy and cookies</h2></div><p class="max-w-2xl text-sm leading-6 text-white/75">IGARASHI uses essential browser storage for preferences and local tools. With your consent, Google Analytics uses cookies to measure visits. You can reject analytics and change this later.</p><a href=/privacy class="text-sm font-medium text-sky-200 underline decoration-sky-200/40 underline-offset-4 hover:text-sky-100">Read the privacy policy</a></div><div class="flex shrink-0 flex-wrap gap-2"><button type=button class="rounded-md border border-white/15 px-3 py-2 text-sm font-medium text-white/85 transition hover:border-white/30 hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70">Reject analytics</button><button type=button class="rounded-md border border-white/15 px-3 py-2 text-sm font-medium text-white/85 transition hover:border-white/30 hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70">Customize</button><button type=button class="rounded-md bg-white px-3 py-2 text-sm font-semibold text-slate-950 transition hover:bg-sky-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/70">Accept analytics');const Cf=()=>{const[e,t]=z(null),[n,r]=z(!1),[o,i]=z(!1),[s,a]=z(!1),l=()=>{const c=Gt();t(c),a(c?.analytics??!1),i(!0),r(!0)},u=()=>{r(!1),i(!1)},d=c=>{const m=_f(c);t(m),a(m.analytics),u(),queueMicrotask(Ln)};return it(()=>{const c=Gt();t(c),a(c?.analytics??!1),r(!c),ai(c),queueMicrotask(Ln);const m=()=>l(),w=b=>{const f=b.detail??Gt();t(f),a(f?.analytics??!1)};window.addEventListener(vo,m),window.addEventListener(Wn,w),de(()=>{window.removeEventListener(vo,m),window.removeEventListener(Wn,w)})}),ie(()=>{e()?.analytics&&Ln()}),[h(te,{get when(){return Le(()=>!n())()&&e()},get children(){var c=Sf(),m=c.firstChild;return c.$$click=l,S(c,h(wo,{class:"h-4 w-4"}),m),c}}),h(te,{get when(){return n()},get children(){var c=Ef(),m=c.firstChild,w=m.firstChild,b=w.firstChild,f=b.firstChild,y=f.firstChild,k=b.nextSibling,v=k.firstChild,_=v.nextSibling,E=_.nextSibling;return S(f,h(wo,{class:"h-5 w-5 text-sky-200"}),y),v.$$click=()=>d(!1),_.$$click=()=>i(L=>!L),E.$$click=()=>d(!0),S(m,h(te,{get when(){return o()},get children(){var L=$f(),P=L.firstChild,I=P.firstChild,T=I.nextSibling,O=T.firstChild,F=P.nextSibling,C=F.firstChild,W=C.nextSibling;return O.addEventListener("change",ne=>a(ne.currentTarget.checked)),C.$$click=u,W.$$click=()=>d(s()),Y(()=>O.checked=s()),L}}),null),Y(()=>Se(m,"aria-modal",o()?"true":"false")),c}})]};$e(["click"]);const Af={},Tf="https://igarashi.net",tr=()=>{const e=Af?.VITE_SITE_URL;return typeof e=="string"&&e.trim().length>0?e.replace(/\/$/,""):typeof window<"u"&&window.location?.origin?window.location.origin.replace(/\/$/,""):Tf},Gh=e=>`${tr()}/articles/${e}`,Mf="/icon/santoh-hidari-tomoe-wh.png",nr="IGARASHI",Pf="Edward Igarashi",If=e=>/^https?:\/\//i.test(e)?e:`${tr()}${e.startsWith("/")?e:`/${e}`}`,Lf=e=>{if(e.canonicalUrl)return e.canonicalUrl;const t=e.path??"/";return`${tr()}${t==="/"?"":t}`},Of=e=>e.appendSiteName===!1||/igarashi/i.test(e.title)?e.title:`${e.title} | ${nr}`,Nf=(e,t)=>
2{const n=[...e??[],nr,t,"browser tools","web utilities"];return Array.from(new Set(n.filter(r=>!!r).map(r=>r.trim())))},ye=(e,t)=>{if(typeof document>"u")return;let n=document.head.querySelector(e);n||(n=document.createElement("meta"),document.head.appendChild(n));for(const[r,o]of Object.entries(t))n.setAttribute(r,o)},Rf=e=>{typeof document>"u"||document.head.querySelector(e)?.remove()},Df=e=>{if(typeof document>"u")return;let t=document.head.querySelector('link[rel="canonical"]');t||(t=document.createElement("link"),t.rel="canonical",document.head.appendChild(t)),t.href=e},li=e=>{const t=N(()=>Of(e.config)),n=N(()=>Lf(e.config)),r=N(()=>If(e.config.image??Mf)),o=N(()=>e.config.author===null?void 0:e.config.author??Pf),i=N(()=>Nf(e.config.keywords,o())),s=N(()=>e.config.robots??"index, follow");return ie(()=>{if(typeof document>"u")return;document.title=t(),Df(n()),ye('meta[name="description"]',{name:"description",content:e.config.description}),ye('meta[name="keywords"]',{name:"keywords",content:i().join(", ")});const a=o();a?ye('meta[name="author"]',{name:"author",content:a}):Rf('meta[name="author"]'),ye('meta[name="robots"]',{name:"robots",content:s()}),ye('meta[property="og:type"]',{property:"og:type",content:e.config.type??"website"}),ye('meta[property="og:site_name"]',{property:"og:site_name",content:nr}),ye('meta[property="og:title"]',{property:"og:title",content:t()}),ye('meta[property="og:description"]',{property:"og:description",content:e.config.description}),ye('meta[property="og:url"]',{property:"og:url",content:n()}),ye('meta[property="og:image"]',{property:"og:image",content:r()}),ye('meta[property="og:locale"]',{property:"og:locale",content:"en_US"}),ye('meta[name="twitter:card"]',{name:"twitter:card",content:"summary_large_image"}),ye('meta[name="twitter:title"]',{name:"twitter:title",content:t()}),ye('meta[name="twitter:description"]',{name:"twitter:description",content:e.config.description}),ye('meta[name="twitter:image"]',{name:"twitter:image",content:r()})}),null},X=["online tool","browser tool","local-first tool","web utility"],bo={"/":{title:"IGARASHI | Online Tools, Articles, Games & Software Projects",description:"IGARASHI is Edward Igarashi’s portal for local-first browser tools, Markdown articles, web games, software projects, and developer utilities.",path:"/",keywords:["IGARASHI","Edward Igarashi","online tools","developer tools","articles","browser games"],appendSiteName:!1},"/privacy":{title:"Privacy Policy",description:"Privacy policy for IGARASHI, including browser storage, optional analytics consent, local-first tools, and cookie preferences.",path:"/privacy",keywords:["privacy policy","cookie preferences","browser storage","analytics consent"]},"/crane-game":{title:"Crane Game DX",description:"Play Crane Game DX, a browser-based arcade claw machine built with SolidJS and Three.js.",path:"/crane-game",keywords:["crane game","claw machine","browser game","Three.js game"]},"/tetris":{title:"Tetris",description:"Play a stage-based browser Tetris game with deterministic gameplay, achievements, replays, and local progression.",path:"/tetris",keywords:["Tetris","browser Tetris","puzzle game","local progression"]},"/typing-game":{title:"Neon Typist",description:"Play Neon Typist, a multi-stage typing arcade game with boss battles, code challenges, daily runs, achievements, and local progression.",path:"/typing-game",keywords:["typing game","keyboard game","code typing","browser game"]},"/tools/search":{title:"Search Hub",description:"Search across IGARASHI tools, games, settings, projects, and article entry points from one browser interface.",path:"/tools/search",keywords:["portal search","tool search",...X]},"/tools/article-search":{title:"Article Search",description:"Search the local Markdown article library by title, category, tag, author, and summary.",path:"/tools/article-search",keywords:["article search","Markdown articles","local article library",...X]},"/tools/icon-converter":{title:"Icon & Favicon Generator",description:"Convert images into favicon.ico and modern PNG icon packages directly in the browser.",path:"/tools/icon-converter",keywords:["favicon generator","icon converter","favicon.ico",...X]},"/tools/file-metadata-editor":{title:"File Date & Metadata Editor",description:"Inspect and edit supported file metadata locally in the browser, then export modified copies.",path:"/tools/file-metadata-editor",ke
2ywords:["file metadata editor","EXIF editor","PDF metadata",...X]},"/tools/image-format-converter":{title:"Image Format Converter",description:"Convert PNG, JPEG, WebP, SVG, GIF, BMP, and PDF previews locally with browser-based image processing.",path:"/tools/image-format-converter",keywords:["image converter","PNG converter","WebP converter","JPEG converter",...X]},"/tools/professional-image-editor":{title:"Image Editor",description:"Edit images locally with layers, adjustments, metadata inspection, export controls, and browser-only processing.",path:"/tools/professional-image-editor",keywords:["image editor","browser image editor","photo editor",...X]},"/tools/string-generator":{title:"String Generator",description:"Generate patterned strings, counters, arrays, and randomized text with a WebAssembly-powered browser utility.",path:"/tools/string-generator",keywords:["string generator","random string generator","pattern generator",...X]},"/tools/password-generator":{title:"Password Generator",description:"Generate secure passwords locally with customizable length, character sets, ambiguity controls, and strength guidance.",path:"/tools/password-generator",keywords:["password generator","secure passwords","random password",...X]},"/tools/terminal":{title:"Command Terminal",description:"Launch portal utilities and discover shortcuts through a TermX-powered command interface.",path:"/tools/terminal",keywords:["command terminal","tool launcher","browser terminal",...X]},"/tools/mermaid":{title:"Mermaid Diagram Studio",description:"Compose Mermaid diagrams with a split editor, instant preview, and SVG or PNG export utilities.",path:"/tools/mermaid",keywords:["Mermaid editor","diagram generator","flowchart editor",...X]},"/tools/timezone-converter":{title:"Time Zone Converter",description:"Compare world clocks and convert times across IANA time zones directly in the browser.",path:"/tools/timezone-converter",keywords:["time zone converter","world clock","timezone calculator",...X]},"/tools/timezone-calculator":{title:"Time Zone Calculator",description:"Convert and compare times across global time zones with a browser-based time utility.",path:"/tools/timezone-calculator",keywords:["time zone calculator","timezone converter","world time",...X]},"/tools/datetime-calculator":{title:"Date/Time Calculator",description:"Add or subtract precise durations, account for DST transitions, and view results in any timezone.",path:"/tools/datetime-calculator",keywords:["date calculator","time calculator","duration calculator",...X]},"/tools/professional-calculator-suite":{title:"Calculator Suite",description:"Use basic, scientific, graphing, and financial calculators in one browser-based calculator suite.",path:"/tools/professional-calculator-suite",keywords:["calculator suite","scientific calculator","financial calculator","graphing calculator",...X]},"/tools/markdown":{title:"Markdown Architect",description:"Write, preview, format, and export Markdown with a browser-based editor and live rendering workspace.",path:"/tools/markdown",keywords:["Markdown editor","Markdown preview","Markdown formatter",...X]},"/tools/ebook-reader":{title:"Local eBook Reader Studio",description:"Read EPUB, PDF, FB2, CBZ, Markdown, HTML, and text files locally with search, notes, bookmarks, appearance controls, and browser speech.",path:"/tools/ebook-reader",keywords:["local ebook reader","EPUB reader","PDF reader","browser ebook reader",...X]},"/tools/multimedia-player":{title:"Multimedia Player Studio",description:"Play local audio and video, view images, build queues, tune a 10-band equalizer, and enjoy live Web Audio visualizations without uploading media.",path:"/tools/multimedia-player",keywords:["local media player","audio visualizer","browser video player","Web Audio equalizer",...X]},"/tools/diff-merge":{title:"Diff & Merge Studio",description:"Compare, review, and merge source files locally with 2-way diff, JSON-aware comparison, and 3-way merge support.",path:"/tools/diff-merge",keywords:["diff tool","merge tool","file comparison",...X]},"/tools/data-toolkit":{title:"JSON / CSV Toolkit",description:"Inspect, filter, transform, and export JSON, CSV, and structured data entirely in the browser.",path:"/tools/data-toolkit",keywords:["JSON tool","CSV tool","data wrangler",...X]},"/tools/local-spreadsheet-studio":{title:"Local Spreadsheet Studio",description:"Open, clean, edit, chart, and export local spreadsheets in a browser-based workbook workspace.",path:"/tools/local-spreadsheet-studio",keywords:["spreadsheet editor","XLSX editor","CSV spreadsheet",...X]},"/tools/sqlite-browser-studio":{title:"SQLite Browser Studio",description:"Open SQLite databases locally in the browser, inspect tables, run queries, edit rows, and export data.",path:"/tools/sqlite-browser-studio",keywords:["SQLite browser","SQLite editor","database viewer",...X]},"/tools/browser-ide-studio":{title:"Browser IDE Studio",description:"Edit multi-file code projects with Monaco, browser language services, local persistence, project search, previews, and ZIP import or export.",path:"/tools/browser-ide-studio",keywords:["browser IDE","Monaco editor","local code editor","TypeScript playground",...X]}
2,"/tools/api-client-studio":{title:"API Client Studio",description:"Build, send, inspect, test, save, import, and export HTTP API requests in a professional local-first browser workspace.",path:"/tools/api-client-studio",keywords:["API client","HTTP client","REST API tester","Postman alternative","CORS tester",...X]},"/tools/structured-data-converter":{title:"Structured Data Converter",description:"Convert JSON, YAML, TOML, XML, CSV, and TOON data formats locally in the browser.",path:"/tools/structured-data-converter",keywords:["data converter","JSON YAML converter","TOML XML CSV converter",...X]},"/tools/regex-visualizer":{title:"Regex Visualizer & Tester",description:"Test JavaScript regular expressions, inspect captures, preview replacements, and understand patterns visually.",path:"/tools/regex-visualizer",keywords:["regex tester","regular expression visualizer","JavaScript regex",...X]},"/tools/speedtest":{title:"Network Speed Test",description:"Measure download throughput, HTTP latency, and jitter with a browser-based multi-stream speed test.",path:"/tools/speedtest",keywords:["speed test","download speed","HTTP latency","jitter",...X]},"/tools/device-inspector":{title:"Device Info Inspector",description:"Inspect browser capabilities, runtime details, viewport data, and user-agent strings locally for QA and diagnostics.",path:"/tools/device-inspector",keywords:["device inspector","browser diagnostics","user agent parser",...X]},"/tools/html-viewer":{title:"HTML Viewer Sandbox",description:"Inspect, format, render, and preview HTML safely in a local browser sandbox.",path:"/tools/html-viewer",keywords:["HTML viewer","HTML formatter","HTML sandbox",...X]},"/tools/charset-explorer":{title:"Charset & Encoding Explorer",description:"Inspect text, bytes, Unicode, and legacy encodings to diagnose mojibake and character conversion issues.",path:"/tools/charset-explorer",keywords:["charset explorer","encoding converter","Unicode inspector",...X]},"/tools/base64-converter":{title:"Base64 Converter",description:"Encode and decode Base64 text, files, and data URLs locally without uploading content.",path:"/tools/base64-converter",keywords:["Base64 converter","Base64 decoder","data URL encoder",...X]},"/tools/hash-generator":{title:"File & Text Hash Generator",description:"Generate hashes, checksums, HMACs, and password-derived keys for local text and files in the browser.",path:"/tools/hash-generator",keywords:["hash generator","checksum tool","HMAC generator","SHA hash",...X]},"/tools/keycode-inspector":{title:"JavaScript Keycode Inspector",description:"Inspect keyboard events, physical codes, layout-aware keys, modifiers, and legacy keyCode values live.",path:"/tools/keycode-inspector",keywords:["keycode inspector","keyboard event tester","JavaScript key codes",...X]},"/tools/emoji-inspector":{title:"Emoji Picker & Unicode Inspector",description:"Search emojis, copy glyphs, and inspect Unicode, UTF-16, and HTML representations in the browser.",path:"/tools/emoji-inspector",keywords:["emoji picker","emoji inspector","Unicode emoji",...X]},"/tools/color-lab":{title:"Color Palette & Contrast Lab",description:"Build palettes, inspect WCAG contrast, preview accessibility, and export CSS color tokens.",path:"/tools/color-lab",keywords:["color palette","contrast checker","WCAG contrast",...X]},"/tools/totp":{title:"TOTP Generator & Validator",description:"Generate and validate TOTP codes locally, inspect counters, diagnose drift, and provision MFA secrets safely.",path:"/tools/totp",keywords:["TOTP generator","MFA validator","authenticator code",...X]},"/tools/ipv4-calculator":{title:"IPv4 Address Calculator",description:"Calculate IPv4 subnets, address ranges, CIDR masks, binary breakdowns, and network planning details.",path:"/tools/ipv4-calculator",keywords:["IPv4 calculator","subnet calculator","CIDR calculator",...X]},"/tools/dns-whois":{title:"DNS Records & WHOIS Lookup",description:"Inspect DNS records, CNAME chains, TXT security records, subdomains, RDAP, and WHOIS registration data.",path:"/tools/dns-whois",keywords:["DNS lookup","WHOIS lookup","RDAP lookup","subdomain lookup",...X]},"/tools/email-environment":{title:"Email Environment Analyzer",description:"Analyze MX, SPF, DKIM, DMARC, MTA-STS, TLS reporting, email headers, mail flow, deliverability, and DMARC aggregate reports in a privacy-first browser workspace.",path:"/tools/email-environment",keywords:["email analyzer","SPF checker","DMARC analyzer","DKIM checker","email header analyzer","MX lookup",...X]},"/tools/wifi-qr":{title:"Wi-Fi QR Code Generator",description:"Create standards-compl
2iant Wi-Fi QR codes locally for guest networks and secure credential sharing.",path:"/tools/wifi-qr",keywords:["Wi-Fi QR code","QR generator","guest Wi-Fi",...X]},"/tools/string-file-qr":{title:"String/File QR Generator",description:"Generate QR codes from text or files locally in the browser without uploading payloads.",path:"/tools/string-file-qr",keywords:["QR code generator","file QR code","text QR code",...X]},"/tools/directdrop-qr":{title:"DirectDrop — 6-Digit WebRTC File Transfer",description:"Pair browsers with a one-time six-digit code, relay temporary SDP/ICE metadata for up to 10 minutes, and transfer file bytes browser-to-browser over encrypted WebRTC without accounts or cloud file storage.",path:"/tools/directdrop-qr",keywords:["WebRTC file transfer","6-digit pairing code","PIN file transfer","peer-to-peer file transfer","browser file transfer",...X]},"/tools/mac-generator":{title:"MAC Address Generator",description:"Generate vendor-aligned MAC address batches locally with OUI controls, LAA/unicast bits, and export options.",path:"/tools/mac-generator",keywords:["MAC address generator","OUI generator","network tool",...X]},"/tools/mac-lookup":{title:"MAC Address Lookup",description:"Decode OUIs, normalize MAC addresses, inspect vendors, and export MAC lookup results locally.",path:"/tools/mac-lookup",keywords:["MAC address lookup","OUI lookup","vendor lookup",...X]}},Vf={title:"Page Not Found",description:"The requested IGARASHI page could not be found.",path:"/",robots:"noindex, follow",keywords:["404","page not found"]};var jf=M('<div class="p-8 text-center">Loading <!>...'),Ff=M("<div class=opacity-70>Page not found.");const zf=document.getElementById("root"),Hf=U(()=>G(()=>import("./App-BkulTDww.js"),__vite__mapDeps([0,1,2])).then(e=>({default:e.CraneGame??e.default}))),qf=U(()=>G(()=>import("./TetrisGameShell-axiHOC5C.js"),__vite__mapDeps([3,1,4])).then(e=>({default:e.TetrisGameShell??e.default}))),Bf=U(()=>G(()=>import("./index-CtfNE1K9.js").then(e=>e.i),__vite__mapDeps([5,6,7,8,1,9])).then(e=>({default:e.TypingGamePage}))),Gf=U(()=>G(()=>import("./Tool-LoASihEY.js"),__vite__mapDeps([10,11,12,13]))),Uf=U(()=>G(()=>import("./Tool-COVVBonP.js"),__vite__mapDeps([14,15,16,17,18,19,20,21,22,23,24,25,26,27,13,28,11,12,29]))),Wf=U(()=>G(()=>import("./Tool-BE_JoAq1.js"),__vite__mapDeps([30,13,31]))),Kf=U(()=>G(()=>import("./Tool-Cr1PHVKO.js"),__vite__mapDeps([32,11,12,15,17,33,34,35,36,24,37,38,39,40,23,41,26,42,20,19,22,43,44,8,21,45,46,47,16,13,48,49]))),Xf=U(()=>G(()=>import("./Tool-C3ujcksj.js"),__vite__mapDeps([50,13]))),Yf=U(()=>G(()=>import("./Tool-CLn7M9JO.js"),__vite__mapDeps([51,52,53,8,21,13,54,55,56]))),Jf=U(()=>G(()=>import("./Tool-n051mltH.js"),__vite__mapDeps([57,13,58,59,60,54,55,61,62,63,56]))),Qf=U(()=>G(()=>import("./Tool-BALEaxb6.js").then(e=>e.bo),__vite__mapDeps([64,12,48,13]))),xo=U(()=>G(()=>import("./Tool-B9izOY80.js"),__vite__mapDeps([65,66,13]))),Zf=U(()=>G(()=>import("./Tool-CsbyEMxu.js"),__vite__mapDeps([67,66,68,13]))),eh=U(()=>G(()=>import("./Tool-Bst8HoOo.js"),__vite__mapDeps([69,17,13,28,53,62,18,37,38,43,40,35,20]))),th=U(()=>G(()=>import("./Tool-DM6gdROX.js"),__vite__mapDeps([70,71,72,12,48,11,29,73,37,74,75,17,76,77,41,26,78,44,13,79]))),nh=U(()=>G(()=>import("./Tool-wLSBiLcS.js"),__vite__mapDeps([80,23,17,18,16,74,81,82,39,83,13]))),rh=U(()=>G(()=>import("./Tool-FPlPVeoG.js"),__vite__mapDeps([84,15,53,17,85,18,7,43,22,81,82,40,20,16,13]))),oh=U(()=>G(()=>import("./Tool-DeHenQE5.js"),__vite__mapDeps([86,17,23,82,81,40,33,22,87,88,89,12,90,91,15,92,18,77,85,21,52,37,38,43,93,94]))),ih=U(()=>G(()=>import("./Tool-BbrsmcMy.js"),__vite__mapDeps([95,96,88,23,37,85,7,43,8,18,20,45,97,40,90,22,13,12,98]))),sh=U(()=>G(()=>import("./Tool-CML6kID_.js").then(e=>e.T),__vite__mapDeps([99,72,48,100,87,52,76,101,102,103,78,23,17,104,105,16,36,106,91,107,83,108,7,8,109,20,110,40,15,22,111,11,12,112]))),ah=U(()=>G(()=>import("./Tool-B6qy7GWk.js"),__vite__mapDeps([113,100,96,52,76,101,114,78,74,23,17,104,16,91,107,24,115,7,43,20,34,97,40,15,22,111,37,38,116,110,21,117,103,118,119,93,12,120]))),lh=U(()=>G(()=>import("./Tool-BvhTKxIY.js"),__vite__mapDeps([121,15,53,17,8,96,27,47,81,13,119,12,122,89]))),ch=U(()=>G(()=>import("./Tool-DQsaEf7k.js"),__vite__mapDeps([123,96,88,53,23,17,16,27,124,47,125,126,7,109,40,21,35,28,13]))),dh=U(()=>G(()=>import("./Tool-BMkO9X-m.js"),__vite__mapDeps([127,13]))),uh=U(()=>G(()=>import("./Tool-Bu0c-ydV.js"),__vite__mapDeps([128,129,100,8,53,130,97,96,13]))),fh=U(()=>G(()=>import("./Tool-DAityUi_.js"),__vite__mapDeps([131,68,71,15,17,40,8,37,38,125,129,130,53,75,87,101,76,22,13]))),hh=U(()=>G(()=>import("./Tool-DREpJU_g.js"),__vite__mapDeps([132,23,96,13,12,122]))),mh=U(()=>G(()=>import("./Tool-DlbdJyjk.js"),__vite__mapDeps([133,15,17,53,8,96,73,37,38,27,81,75,13,58]))),gh=U(()=>G(()=>import("./Tool-BsjRhtON.js"),__vite__mapDeps([134,96,88,53,37,38,105,106,135,73,8,40,136,28,13,54,55]))),ph=U(()=>G(()=>import("./Tool-DKjuOBn2.js"),__vite__mapDeps([137,100,53,138,73,40,52,87,13,28]))),yh=U(()=>G(()=>import("./Tool-Cu8MFzXG.js"),__vite__mapDeps([139,22,52,23,13,28]))),wh=U(()=>G(()=>import("./PortalSearchTool-BjzRXca9.js"),__vite__mapDeps([140,141,13]))),vh=U(()=>G(()=>import("./ArticleSearchTool-BQ3TKoAI.js"),__vite__mapDeps([142,135,141,13]))),bh=U(()=>G(()=>import("./Tool-BVO_gVX9.js"),__vite__mapDeps([143,68,117,13,59]))),xh=U(()=>G(()=>import("./Tool-D9ReaJZm.js"),__vite__mapDeps([144,145,12,13,63]))),kh=U(()=>G(()=>import("./Tool-BSAun79p.js"),__vite__mapDeps([146,53,52,96,13,60]))),_h=U(()=>G(()=>import("./Tool-CdR8v9pB.js"),__vite__mapDeps([147,96,52,53,17,16,27,85,135,148,40,13]))),Sh=U(()=>G(()=>import("./Tool-DXimTLvv.js"),__vite__mapDeps([149,100,96,150,88,53,23,17,27,114,135,148,126,7,43,8,19,40,15,21,136,13,11,12,151]))),$h=U(()=>G(()=>import("./Tool-BQtDMxUd.js"),__vite__mapDeps([152,145,12,13]))),Eh=U(()=>G(()=>import("./Tool-BH8ui5EP.js"),__vite__mapDeps([153,96,88,53,17,27,15,13,28,145,12]))),Ch=U(()=>G(()=>import("./Tool-CsRpxYz6.js"),__vite__mapDeps([154,96,150,52,88,101,17,116,106,91,155,130,126,6,7,43,8,18,110,40,22,13,55,53,28,103,23,92,135,156]))),Ah=U(()=>G(()=>import("./Tool-BzxQiFlH.js"),__vite__mapDeps([157,87,52,76,101,74,17,27,91,124,125,108,44,104,115,6,7,43,110,158,34,40,15,22,93,12,48,11,72,31,159]))),Th=U(()=>G(()=>import("./Tool-Cy0uFtxB.js"),__vite__mapDeps([160,68,100,96,52,76,101,
217,25,91,155,42,46,26,124,125,108,6,7,43,118,8,18,110,158,45,40,15,22,161]))),Mh=U(()=>G(()=>import("./Tool-ChcwIkEs.js"),__vite__mapDeps([162,23,17,96,73,52,13,61]))),Ph=U(()=>G(()=>import("./Tool-Xk1N2Fi6.js"),__vite__mapDeps([163,23,52,96,15,17,85,13,28]))),Ih=U(()=>G(()=>import("./LocalArticlePage-DIIyIJIq.js"),__vite__mapDeps([164,92,47,72,48]))),Lh=U(()=>G(()=>import("./PrivacyPolicy-LajR0Qs3.js"),__vite__mapDeps([165,13,166]))),ko=U(()=>G(()=>import("./Page-okBbWx_Q.js").then(e=>e.l),__vite__mapDeps([167,13,111,102,138,37,42,93,12,166,141,168]))),B=(e,t,n)=>()=>[h(li,{get config(){return bo[t]}}),h(Ji,{get fallback(){return(()=>{var o=jf(),i=o.firstChild,s=i.nextSibling;return s.nextSibling,S(o,()=>n??bo[t].title,s),o})()},get children(){return h(e,{})}})],Oh=()=>[h(li,{config:Vf}),Ff()];ls(()=>h(Js,{get children(){return h(Ks,{root:e=>[Le(()=>e.children),h(Cf,{})],get children(){return[h(j,{path:"/",get component(){return B(gf,"/")}}),h(j,{path:"/crane-game",get component(){return B(Hf,"/crane-game","Crane Game")}}),h(j,{path:"/tetris",get component(){return B(qf,"/tetris","Tetris")}}),h(j,{path:"/typing-game",get component(){return B(Bf,"/typing-game","Typing Game")}}),h(j,{path:"/tools/icon-converter",get component(){return B(Gf,"/tools/icon-converter")}}),h(j,{path:"/tools/file-metadata-editor",get component(){return B(Uf,"/tools/file-metadata-editor")}}),h(j,{path:"/tools/image-format-converter",get component(){return B(Wf,"/tools/image-format-converter")}}),h(j,{path:"/tools/professional-image-editor",get component(){return B(Kf,"/tools/professional-image-editor")}}),h(j,{path:"/tools/string-generator",get component(){return B(Xf,"/tools/string-generator")}}),h(j,{path:"/tools/password-generator",get component(){return B(Yf,"/tools/password-generator")}}),h(j,{path:"/tools/terminal",get component(){return B(Jf,"/tools/terminal")}}),h(j,{path:"/tools/mermaid",get component(){return B(Qf,"/tools/mermaid")}}),h(j,{path:"/tools/timezone-converter",get component(){return B(xo,"/tools/timezone-converter")}}),h(j,{path:"/tools/datetime-calculator",get component(){return B(Zf,"/tools/datetime-calculator")}}),h(j,{path:"/tools/professional-calculator-suite",get component(){return B(eh,"/tools/professional-calculator-suite")}}),h(j,{path:"/tools/markdown",get component(){return B(th,"/tools/markdown")}}),h(j,{path:"/tools/diff-merge",get component(){return B(nh,"/tools/diff-merge")}}),h(j,{path:"/tools/data-toolkit",get component(){return B(rh,"/tools/data-toolkit")}}),h(j,{path:"/tools/local-spreadsheet-studio",get component(){return B(oh,"/tools/local-spreadsheet-studio")}}),h(j,{path:"/tools/sqlite-browser-studio",get component(){return B(ih,"/tools/sqlite-browser-studio")}}),h(j,{path:"/tools/browser-ide-studio",get component(){return B(sh,"/tools/browser-ide-studio")}}),h(j,{path:"/tools/api-client-studio",get component(){return B(ah,"/tools/api-client-studio")}}),h(j,{path:"/tools/structured-data-converter",get component(){return B(lh,"/tools/structured-data-converter")}}),h(j,{path:"/tools/regex-visualizer",get component(){return B(ch,"/tools/regex-visualizer")}}),h(j,{path:"/tools/speedtest",get component(){return B(dh,"/tools/speedtest")}}),h(j,{path:"/tools/device-inspector",get component(){return B(uh,"/tools/device-inspector")}}),h(j,{path:"/tools/html-viewer",get component(){return B(fh,"/tools/html-viewer")}}),h(j,{path:"/tools/charset-explorer",get component(){return B(hh,"/tools/charset-explorer")}}),h(j,{path:"/tools/base64-converter",get component(){return B(mh,"/tools/base64-converter")}}),h(j,{path:"/tools/hash-generator",get component(){return B(gh,"/tools/hash-generator")}}),h(j,{path:"/tools/keycode-inspector",get component(){return B(ph,"/tools/keycode-inspector")}}),h(j,{path:"/tools/emoji-inspector",get component(){return B(yh,"/tools/emoji-inspector")}}),h(j,{path:"/tools/color-lab",get component(){return B(bh,"/tools/color-lab")}}),h(j,{path:"/tools/totp",get component(){return B(xh,"/tools/totp")}}),h(j,{path:"/tools/ipv4-calculator",get component(){return B(kh,"/tools/ipv4-calculator")}}),h(j,{path:"/tools/dns-whois",get component(){return B(_h,"/tools/dns-whois")}}),h(j,{path:"/tools/email-environment",get component(){return B(Sh,"/tools/email-environment")}}),h(j,{path:"/tools/wifi-qr",get component(){return B($h,"/tools/wifi-qr")}}),h(j,{path:"/tools/string-file-qr",get component(){return B(Eh,"/tools/string-file-qr")}}),h(j,{path:"/tools/directdrop-qr",get component(){return B(Ch,"/tools/directdrop-qr")}}),h(j,{path:"/tools/ebook-reader",get component(){return B(Ah,"/tools/ebook-reader")}}),h(j,{path:"/tools/multimedia-player",get component(){return B(Th,"/tools/multimedia-player")}}),h(j,{path:"/tools/mac-generator",get component(){return B(Mh,"/tools/mac-generator")}}),h(j,{path:"/tools/mac-lookup",get component(){return B(Ph,"/tools/mac-lookup")}}),h(j,{path:"/tools/search",get component(){return B(wh,"/tools/search")}}),h(j,{path:"/tools/article-search",get component(){return B(vh,"/tools/article-search")}}),h(j,{path:"/tools/timezone-calculator",get component(){return B(xo,"/tools/timezone-calculator")}}),h(j,{path:"/privacy",get component(){return B(Lh,"/privacy")}}),h(j,{path:"/articles/:slug",component:Ih}),h(j,{path:"/human-benchmark",component:ko}),h(j,{path:"/human-benchmark/:page",component:ko}),h(j,{path:"*",component:Oh})]}})}}),zf);export{Ut as $,Vt as A,Re as B,Ms as C,fd as D,ud as E,we as F,Cd as G,Ii as H,J as I,Nh as J,Ni as K,Ku as L,Dh as M,qh as N,Wc as O,Xu as P,ot as Q,vo as R,te as S,tn as T,jh as U,Fh as V,Pu as W,P
2s as X,xt as Y,Yt as Z,G as _,z as a,fo as a0,Oo as a1,hc as a2,Dt as a3,co as a4,Sl as a5,Ki as a6,Vc as a7,uo as a8,Yn as a9,Nc as aa,Gh as ab,li as ac,Hh as ad,zh as ae,Bh as af,Mn as ag,Is as ah,tt as ai,ic as aj,Zc as ak,Sc as al,Sn as am,ro as an,Cl as ao,xc as ap,ao as aq,U as ar,Ji as as,Vh as at,ml as au,nd as av,Tn as aw,id as ax,Yc as ay,oo as az,de as b,h as c,Y as d,$e as e,N as f,ie as g,fe as h,S as i,We as j,H as k,Kl as l,Le as m,so as n,it as o,ql as p,lo as q,Rh as r,Se as s,M as t,ae as u,An as v,Ge as w,wc as x,dc as y,Rl as z};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.