@isomoes/iread 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A concise, local, single-user RSS/Atom reader inspired by newsboat. Keyboard-first three-pane UI, TypeScript end to end. You add feeds by URL, refresh them on demand, and read server-sanitized article bodies in a calm, terminal-quiet reading surface with light, dark, and system themes.
4
4
 
5
- There is no auth, no multi-user, no cloud sync, and no background scheduler. Refresh is always user-initiated. All data lives in a single local SQLite file — by default `~/.config/iread/iread.db` — which is the trust boundary.
5
+ Optional token authentication supports private access over a public network. There is no multi-user, no cloud sync, and no background scheduler. Refresh is always user-initiated. All data lives in a single local SQLite file — by default `~/.config/iread/iread.db`.
6
6
 
7
7
  ![iread UI](https://github.com/user-attachments/assets/ca9489c9-630f-4a67-9cd5-60c18ce3544e)
8
8
 
@@ -21,6 +21,7 @@ Usage: iread [options]
21
21
 
22
22
  Options:
23
23
  -p, --port <port> Port to listen on (default: $PORT or 8787)
24
+ --auth-token <token> Require a bearer token (default: $AUTH_TOKEN; unset disables auth)
24
25
  --db <path> SQLite database file
25
26
  (default: $DB_PATH or ~/.config/iread/iread.db)
26
27
  --opml <path> OPML file auto-saved on every subscription change
@@ -50,6 +51,20 @@ Build the image from the checkout instead of pulling it with `docker compose up
50
51
 
51
52
  `PORT` (default 8787), `HOST` (default all interfaces), `DB_PATH` (default `/data/iread.db`), and `OPML_PATH` (default `/data/feeds.opml`) are configurable via `-e`/`environment:`. With host networking, set `HOST=127.0.0.1` to restrict access to localhost; with bridge networking, leave `HOST` unset and restrict the published port instead. To store data in a host directory instead of a named volume, bind-mount it and make it writable by the image's unprivileged `node` user (uid 1000), e.g. `mkdir iread-data && sudo chown 1000:1000 iread-data` then `-v "$PWD/iread-data:/data"`.
52
53
 
54
+ ## Public network access
55
+
56
+ Authentication is **disabled by default**. Set `AUTH_TOKEN` to a long, random secret to protect every API endpoint:
57
+
58
+ ```sh
59
+ AUTH_TOKEN='your-long-random-secret' npx @isomoes/iread
60
+ ```
61
+
62
+ You can also use `--auth-token <token>`. Environment variables are preferable to putting secrets in command-line arguments. For Compose, set `AUTH_TOKEN` in your environment or Compose `.env` file before `docker compose up -d`. For `docker run`, pass `-e AUTH_TOKEN='your-long-random-secret'`.
63
+
64
+ The web UI prompts for the token and remembers it for the current browser tab using sessionStorage. API clients must send `Authorization: Bearer <token>`, including for OPML export. The static UI remains public but no feed or article data is accessible without the token. Changing the server token requires restarting the server; clients with the old token must sign in again.
65
+
66
+ Use HTTPS through a reverse proxy for public access, and configure proxy-side rate limiting against token guessing. Never expose an instance without a token unless access is restricted by another trusted layer. `AUTH_TOKEN` unset or empty preserves the existing unauthenticated behavior. `config/.env.example` documents the settings; the server reads environment variables, not that file automatically.
67
+
53
68
  ## Features
54
69
 
55
70
  - Add a feed by URL (title resolved from feed metadata), delete a feed.
@@ -151,3 +166,5 @@ Open http://localhost:8787
151
166
  `PORT` (default 8787), `HOST` (default all interfaces; set `127.0.0.1` for localhost only), `DB_PATH` (default `~/.config/iread/iread.db`), and `OPML_PATH` (default `feeds.opml` next to the database; set empty to disable the auto-saved mirror) are read from the environment. See `config/.env.example`.
152
167
 
153
168
  Feeds are fetched directly by default. To go through an outbound HTTP proxy, set `HTTPS_PROXY` / `HTTP_PROXY` (an `http://host:port` URL, optionally with `user:pass@`) and optionally `NO_PROXY` (comma-separated hosts/domains to bypass). HTTPS feeds are tunnelled with `CONNECT`. Note that the SSRF guard still validates the feed host's DNS answer locally, but with a proxy the proxy does the final connect, so DNS-rebinding pinning cannot apply.
169
+
170
+ Each fetch attempt has a 30-second timeout. Transient network failures and HTTP 408/429/500/502/503/504 are retried once, normally after one second. A valid `Retry-After` is honored up to five seconds; longer delays are not retried automatically. Permanent HTTP errors, unsafe URLs, and oversized feeds are not retried. Run fetch regression tests with `pnpm test`.
@@ -0,0 +1,18 @@
1
+ import { createHash, timingSafeEqual } from 'node:crypto';
2
+ import { createMiddleware } from 'hono/factory';
3
+ export function tokenAuth(token) {
4
+ const expected = token ? createHash('sha256').update(token).digest() : undefined;
5
+ return createMiddleware(async (c, next) => {
6
+ c.header('Cache-Control', 'no-store');
7
+ if (expected) {
8
+ const authorization = c.req.header('Authorization') ?? '';
9
+ const match = /^Bearer ([^\s]+)$/i.exec(authorization);
10
+ const supplied = createHash('sha256').update(match?.[1] ?? '').digest();
11
+ if (!match || !timingSafeEqual(expected, supplied)) {
12
+ c.header('WWW-Authenticate', 'Bearer realm="iread"');
13
+ return c.json({ error: { message: 'Authentication required', code: 'UNAUTHORIZED' } }, 401);
14
+ }
15
+ }
16
+ await next();
17
+ });
18
+ }
@@ -28,6 +28,7 @@ Usage: iread [options]
28
28
 
29
29
  Options:
30
30
  -p, --port <port> Port to listen on (default: $PORT or 8787)
31
+ --auth-token <token> Require a bearer token (default: $AUTH_TOKEN; unset disables auth)
31
32
  --db <path> SQLite database file
32
33
  (default: $DB_PATH or ~/.config/iread/iread.db)
33
34
  --opml <path> OPML file auto-saved on every subscription change
@@ -70,6 +71,13 @@ for (let i = 0; i < args.length; i++) {
70
71
  process.env.PORT = value;
71
72
  break;
72
73
  }
74
+ case '--auth-token': {
75
+ const value = args[++i];
76
+ if (!value || /\s/.test(value))
77
+ fail('--auth-token requires a non-empty token without whitespace');
78
+ process.env.AUTH_TOKEN = value;
79
+ break;
80
+ }
73
81
  case '--db': {
74
82
  const value = args[++i];
75
83
  if (!value)
@@ -3,9 +3,36 @@
3
3
  // The body is read incrementally and the request is aborted the moment cumulative
4
4
  // bytes exceed MAX_BYTES; the whole response is never buffered before the check.
5
5
  import { fetchWithGuardedRedirects } from './ssrf.js';
6
+ import { setTimeout as delay } from 'node:timers/promises';
6
7
  const USER_AGENT = 'iread/1.0 (+local RSS reader)';
7
- const FETCH_TIMEOUT_MS = 15_000;
8
+ const FETCH_TIMEOUT_MS = 30_000;
8
9
  const MAX_BYTES = 10 * 1024 * 1024; // 10 MB
10
+ const RETRY_CODES = new Set([
11
+ 'ECONNRESET',
12
+ 'ECONNREFUSED',
13
+ 'ETIMEDOUT',
14
+ 'EAI_AGAIN',
15
+ 'ENETUNREACH',
16
+ 'EHOSTUNREACH',
17
+ 'EPIPE',
18
+ 'ERR_STREAM_PREMATURE_CLOSE',
19
+ ]);
20
+ class RetryableFetchError extends Error {
21
+ retryDelay;
22
+ constructor(message, retryDelay = 1000) {
23
+ super(message);
24
+ this.retryDelay = retryDelay;
25
+ }
26
+ }
27
+ function isTransient(err) {
28
+ if (err instanceof RetryableFetchError)
29
+ return true;
30
+ if (err instanceof AggregateError)
31
+ return err.errors.length > 0 && err.errors.every(isTransient);
32
+ if (!(err instanceof Error))
33
+ return false;
34
+ return RETRY_CODES.has(err.code ?? '') || isTransient(err.cause);
35
+ }
9
36
  function concat(chunks, total) {
10
37
  const out = new Uint8Array(total);
11
38
  let offset = 0;
@@ -16,6 +43,18 @@ function concat(chunks, total) {
16
43
  return out;
17
44
  }
18
45
  export async function fetchFeed(input) {
46
+ for (let attempt = 0;; attempt++) {
47
+ try {
48
+ return await fetchAttempt(input);
49
+ }
50
+ catch (err) {
51
+ if (attempt >= 1 || !isTransient(err))
52
+ throw err;
53
+ await delay(err instanceof RetryableFetchError ? err.retryDelay : 1000);
54
+ }
55
+ }
56
+ }
57
+ async function fetchAttempt(input) {
19
58
  const ctrl = new AbortController();
20
59
  const timer = setTimeout(() => ctrl.abort(), FETCH_TIMEOUT_MS);
21
60
  try {
@@ -39,7 +78,18 @@ export async function fetchFeed(input) {
39
78
  }
40
79
  if (!res.ok) {
41
80
  await res.body?.cancel().catch(() => { });
42
- throw new Error(`HTTP ${res.status} ${res.statusText}`);
81
+ const message = `HTTP ${res.status} ${res.statusText}`;
82
+ const retryAfter = res.headers.get('retry-after');
83
+ const retryDelay = retryAfter === null
84
+ ? 1000
85
+ : /^\d+$/.test(retryAfter)
86
+ ? Number(retryAfter) * 1000
87
+ : Math.max(0, Date.parse(retryAfter) - Date.now());
88
+ if ([408, 429, 500, 502, 503, 504].includes(res.status) &&
89
+ Number.isFinite(retryDelay) && retryDelay <= 5000) {
90
+ throw new RetryableFetchError(message, retryDelay);
91
+ }
92
+ throw new Error(message);
43
93
  }
44
94
  // Fast reject on advertised Content-Length (untrusted but cheap).
45
95
  const cl = Number(res.headers.get('content-length'));
@@ -76,6 +126,12 @@ export async function fetchFeed(input) {
76
126
  lastModified: res.headers.get('last-modified'),
77
127
  };
78
128
  }
129
+ catch (err) {
130
+ if (ctrl.signal.aborted && err instanceof Error && err.name === 'AbortError') {
131
+ throw new RetryableFetchError(`Feed request timed out after ${FETCH_TIMEOUT_MS / 1000}s`);
132
+ }
133
+ throw err;
134
+ }
79
135
  finally {
80
136
  clearTimeout(timer);
81
137
  }
@@ -12,6 +12,7 @@ import { serveStatic } from '@hono/node-server/serve-static';
12
12
  import { feeds } from './routes/feeds.js';
13
13
  import { items } from './routes/items.js';
14
14
  import { opml } from './routes/opml.js';
15
+ import { tokenAuth } from './auth.js';
15
16
  const PORT = Number(process.env.PORT ?? 8787);
16
17
  const HOST = process.env.HOST || undefined;
17
18
  const IS_PROD = process.env.NODE_ENV === 'production';
@@ -21,6 +22,9 @@ import './db.js';
21
22
  import { syncOpmlMirror } from './feed-service.js';
22
23
  syncOpmlMirror();
23
24
  const app = new Hono();
25
+ app.use('/api/*', tokenAuth(process.env.AUTH_TOKEN));
26
+ app.use('/api', tokenAuth(process.env.AUTH_TOKEN));
27
+ app.get('/api/auth', (c) => c.body(null, 204));
24
28
  // --- API routes (registered FIRST) -----------------------------------------
25
29
  const api = new Hono();
26
30
  api.route('/feeds', feeds);
@@ -76,7 +76,18 @@ export function tunnelTls(proxy, target, signal) {
76
76
  path: authority,
77
77
  headers: { Host: authority, ...proxyAuthHeader(proxy) },
78
78
  });
79
- const abort = () => req.destroy(new DOMException('Aborted', 'AbortError'));
79
+ let tunnel;
80
+ const cleanup = () => signal?.removeEventListener('abort', abort);
81
+ const fail = (err) => {
82
+ cleanup();
83
+ reject(err);
84
+ };
85
+ const abort = () => {
86
+ const err = new DOMException('Aborted', 'AbortError');
87
+ tunnel?.destroy(err);
88
+ req.destroy(err);
89
+ fail(err);
90
+ };
80
91
  if (signal) {
81
92
  if (signal.aborted)
82
93
  abort();
@@ -84,17 +95,20 @@ export function tunnelTls(proxy, target, signal) {
84
95
  signal.addEventListener('abort', abort, { once: true });
85
96
  }
86
97
  req.once('connect', (res, socket) => {
87
- signal?.removeEventListener('abort', abort);
88
98
  if (res.statusCode !== 200) {
89
99
  socket.destroy();
90
- reject(new Error(`proxy CONNECT failed: HTTP ${res.statusCode ?? 0}`));
100
+ fail(new Error(`proxy CONNECT failed: HTTP ${res.statusCode ?? 0}`));
91
101
  return;
92
102
  }
93
103
  const tls = tlsConnect({ socket, servername: hostname });
94
- tls.once('secureConnect', () => resolve(tls));
95
- tls.once('error', reject);
104
+ tunnel = tls;
105
+ tls.once('secureConnect', () => {
106
+ cleanup();
107
+ resolve(tls);
108
+ });
109
+ tls.once('error', fail);
96
110
  });
97
- req.once('error', reject);
111
+ req.once('error', fail);
98
112
  req.end();
99
113
  });
100
114
  }
@@ -13,4 +13,4 @@ Error generating stack: `+e.message+`
13
13
  ${_}px !important;
14
14
  ${v}px !important;
15
15
  }
16
- `),()=>{s.current?.removeAttribute(`data-motion-pop-id`),b.contains(y)&&b.removeChild(y)}},[t]),(0,M.jsx)(Vl,{isPresent:t,childRef:s,sizeRef:c,pop:a,children:a===!1?e:j.cloneElement(e,{ref:u})})}var Ul=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:a,mode:o,anchorX:s,anchorY:c,root:l})=>{let u=vt(Wl),d=(0,j.useId)(),f=!0,p=(0,j.useMemo)(()=>(f=!1,{id:d,initial:t,isPresent:n,custom:i,onExitComplete:e=>{u.set(e,!0);for(let e of u.values())if(!e)return;r&&r()},register:e=>(u.set(e,!1),()=>u.delete(e))}),[n,u,r]);return a&&f&&(p={...p}),(0,j.useMemo)(()=>{u.forEach((e,t)=>u.set(t,!1))},[n]),j.useEffect(()=>{!n&&!u.size&&r&&r()},[n]),e=(0,M.jsx)(Hl,{pop:o===`popLayout`,isPresent:n,anchorX:s,anchorY:c,root:l,children:e}),(0,M.jsx)(bt.Provider,{value:p,children:e})};function Wl(){return new Map}function Gl(e=!0){let t=(0,j.useContext)(bt);if(t===null)return[!0,null];let{isPresent:n,onExitComplete:r,register:i}=t,a=(0,j.useId)();(0,j.useEffect)(()=>{if(e)return i(a)},[e]);let o=(0,j.useCallback)(()=>e&&r&&r(a),[a,r,e]);return!n&&r?[!1,o]:[!0]}var Kl=e=>e.key||``;function ql(e){let t=[];return j.Children.forEach(e,e=>{(0,j.isValidElement)(e)&&t.push(e)}),t}var Jl=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:a=`sync`,propagate:o=!1,anchorX:s=`left`,anchorY:c=`top`,root:l})=>{let[u,d]=Gl(o),f=(0,j.useMemo)(()=>ql(e),[e]),p=o&&!u?[]:f.map(Kl),m=(0,j.useRef)(!0),h=(0,j.useRef)(f),g=vt(()=>new Map),_=(0,j.useRef)(new Set),[v,y]=(0,j.useState)(f),[b,x]=(0,j.useState)(f);yt(()=>{m.current=!1,h.current=f;for(let e=0;e<b.length;e++){let t=Kl(b[e]);p.includes(t)?(g.delete(t),_.current.delete(t)):g.get(t)!==!0&&g.set(t,!1)}},[b,p.length,p.join(`-`)]);let S=[];if(f!==v){let e=[...f];for(let t=0;t<b.length;t++){let n=b[t],r=Kl(n);p.includes(r)||(e.splice(t,0,n),S.push(n))}return a===`wait`&&S.length&&(e=S),x(ql(e)),y(f),null}let{forceRender:C}=(0,j.useContext)(_t);return(0,M.jsx)(M.Fragment,{children:b.map(e=>{let v=Kl(e),y=o&&!u?!1:f===b||p.includes(v);return(0,M.jsx)(Ul,{isPresent:y,initial:!m.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:a,root:l,onExitComplete:y?void 0:()=>{if(_.current.has(v))return;if(g.has(v))_.current.add(v),g.set(v,!0);else return;let e=!0;g.forEach(t=>{t||(e=!1)}),e&&(C?.(),x(h.current),o&&d?.(),r&&r())},anchorX:s,anchorY:c,children:e},v)})})},Yl=(0,j.createContext)({strict:!1}),Xl={animation:[`animate`,`variants`,`whileHover`,`whileTap`,`exit`,`whileInView`,`whileFocus`,`whileDrag`],exit:[`exit`],drag:[`drag`,`dragControls`],focus:[`whileFocus`],hover:[`whileHover`,`onHoverStart`,`onHoverEnd`],tap:[`whileTap`,`onTap`,`onTapStart`,`onTapCancel`],pan:[`onPan`,`onPanStart`,`onPanSessionStart`,`onPanEnd`],inView:[`whileInView`,`onViewportEnter`,`onViewportLeave`],layout:[`layout`,`layoutId`]},Zl=!1;function Ql(){if(Zl)return;let e={};for(let t in Xl)e[t]={isEnabled:e=>Xl[t].some(t=>!!e[t])};ss(e),Zl=!0}function $l(){return Ql(),cs()}function eu(e){let t=$l();for(let n in e)t[n]={...t[n],...e[n]};ss(t)}var tu=new Set(`animate.exit.variants.initial.style.values.variants.transition.transformTemplate.custom.inherit.onBeforeLayoutMeasure.onAnimationStart.onAnimationComplete.onUpdate.onDragStart.onDrag.onDragEnd.onMeasureDragConstraints.onDirectionLock.onDragTransitionEnd._dragX._dragY.onHoverStart.onHoverEnd.onViewportEnter.onViewportLeave.globalTapTarget.propagate.ignoreStrict.viewport`.split(`.`));function nu(e){return e.startsWith(`while`)||e.startsWith(`drag`)&&e!==`draggable`||e.startsWith(`layout`)||e.startsWith(`onTap`)||e.startsWith(`onPan`)||e.startsWith(`onLayout`)||tu.has(e)}var ru=c({default:()=>iu}),iu,au=o((()=>{throw iu={},Error(`Could not resolve "@emotion/is-prop-valid" imported by "framer-motion". Is it installed?`)})),ou=e=>!nu(e);function su(e){typeof e==`function`&&(ou=t=>t.startsWith(`on`)?!nu(t):e(t))}try{su((au(),d(ru)).default)}catch{}function cu(e,t,n){let r={};for(let i in e)i===`values`&&typeof e.values==`object`||Da(e[i])||(ou(i)||n===!0&&nu(i)||!t&&!nu(i)||e.draggable&&i.startsWith(`onDrag`))&&(r[i]=e[i]);return r}var lu=(0,j.createContext)({});function uu(e,t){if(Qo(e)){let{initial:t,animate:n}=e;return{initial:t===!1||Yo(t)?t:void 0,animate:Yo(n)?n:void 0}}return e.inherit===!1?{}:t}function du(e){let{initial:t,animate:n}=uu(e,(0,j.useContext)(lu));return(0,j.useMemo)(()=>({initial:t,animate:n}),[fu(t),fu(n)])}function fu(e){return Array.isArray(e)?e.join(` `):e}var pu=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function mu(e,t,n){for(let r in t)!Da(t[r])&&!Hs(r,n)&&(e[r]=t[r])}function hu({transformTemplate:e},t){return(0,j.useMemo)(()=>{let n=pu();return Is(n,t,e),Object.assign({},n.vars,n.style)},[t])}function gu(e,t){let n=e.style||{},r={};return mu(r,n,e),Object.assign(r,hu(e,t)),r}function _u(e,t){let n={},r=gu(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=`none`,r.touchAction=e.drag===!0?`none`:`pan-${e.drag===`x`?`y`:`x`}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}var vu=()=>({...pu(),attrs:{}});function yu(e,t,n,r){let i=(0,j.useMemo)(()=>{let n=vu();return Xs(n,t,Qs(r),e.transformTemplate,e.style),{...n.attrs,style:{...n.style}}},[t]);if(e.style){let t={};mu(t,e.style,e),i.style={...t,...i.style}}return i}var bu=[`animate`,`circle`,`defs`,`desc`,`ellipse`,`g`,`image`,`line`,`filter`,`marker`,`mask`,`metadata`,`path`,`pattern`,`polygon`,`polyline`,`rect`,`stop`,`switch`,`symbol`,`svg`,`text`,`tspan`,`use`,`view`];function xu(e){return typeof e!=`string`||e.includes(`-`)?!1:!!(bu.indexOf(e)>-1||/[A-Z]/u.test(e))}function Su(e,t,n,{latestValues:r},i,a=!1,o){let s=(o??xu(e)?yu:_u)(t,r,i,e),c=cu(t,typeof e==`string`,a),l=e===j.Fragment?{}:{...c,...s,ref:n},{children:u}=t,d=(0,j.useMemo)(()=>Da(u)?u.get():u,[u]);return(0,j.createElement)(e,{...l,children:d})}function Cu({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:wu(n,r,i,e),renderState:t()}}function wu(e,t,n,r){let i={},a=r(e,{});for(let e in a)i[e]=$c(a[e]);let{initial:o,animate:s}=e,c=Qo(e),l=$o(e);t&&l&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),s===void 0&&(s=t.animate));let u=n?n.initial===!1:!1;u||=o===!1;let d=u?s:o;if(d&&typeof d!=`boolean`&&!Jo(d)){let t=Array.isArray(d)?d:[d];for(let n=0;n<t.length;n++){let r=xa(e,t[n]);if(r){let{transitionEnd:e,transition:t,...n}=r;for(let e in n){let t=n[e];if(Array.isArray(t)){let e=u?t.length-1:0;t=t[e]}t!==null&&(i[e]=t)}for(let t in e)i[t]=e[t]}}}return i}var Tu=e=>(t,n)=>{let r=(0,j.useContext)(lu),i=(0,j.useContext)(bt),a=()=>Cu(e,t,r,i);return n?a():vt(a)},Eu=Tu({scrapeMotionValuesFromProps:Us,createRenderState:pu}),Du=Tu({scrapeMotionValuesFromProps:ec,createRenderState:vu}),Ou=Symbol.for(`motionComponentSymbol`);function ku(e,t,n){let r=(0,j.useRef)(n);(0,j.useInsertionEffect)(()=>{r.current=n});let i=(0,j.useRef)(null);return(0,j.useCallback)(n=>{n&&e.onMount?.(n),t&&(n?t.mount(n):t.unmount());let a=r.current;if(typeof a==`function`)if(n){let e=a(n);typeof e==`function`&&(i.current=e)}else i.current?(i.current(),i.current=null):a(n);else a&&(a.current=n)},[t])}var Au=(0,j.createContext)({});function ju(e){return e&&typeof e==`object`&&Object.prototype.hasOwnProperty.call(e,`current`)}function Mu(e,t,n,r,i,a){let{visualElement:o}=(0,j.useContext)(lu),s=(0,j.useContext)(Yl),c=(0,j.useContext)(bt),l=(0,j.useContext)(Rl),u=l.reducedMotion,d=l.skipAnimations,f=(0,j.useRef)(null),p=(0,j.useRef)(!1);r||=s.renderer,!f.current&&r&&(f.current=r(e,{visualState:t,parent:o,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:u,skipAnimations:d,isSVG:a}),p.current&&f.current&&(f.current.manuallyAnimateOnMount=!0));let m=f.current,h=(0,j.useContext)(Au);m&&!m.projection&&i&&(m.type===`html`||m.type===`svg`)&&Nu(f.current,n,i,h);let g=(0,j.useRef)(!1);(0,j.useInsertionEffect)(()=>{m&&g.current&&m.update(n,c)});let _=n[ja],v=(0,j.useRef)(!!_&&typeof window<`u`&&!window.MotionHandoffIsComplete?.(_)&&window.MotionHasOptimisedAnimation?.(_));return yt(()=>{p.current=!0,m&&(g.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),v.current&&m.animationState&&m.animationState.animateChanges())}),(0,j.useEffect)(()=>{m&&(!v.current&&m.animationState&&m.animationState.animateChanges(),v.current&&=(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(_)}),!1),m.enteringChildren=void 0)}),m}function Nu(e,t,n,r){let{layoutId:i,layout:a,drag:o,dragConstraints:s,layoutScroll:c,layoutRoot:l,layoutAnchor:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t[`data-framer-portal-id`]?void 0:Pu(e.parent)),e.projection.setOptions({layoutId:i,layout:a,alwaysMeasureLayout:!!o||s&&ju(s),visualElement:e,animationType:typeof a==`string`?a:`both`,initialPromotionConfig:r,crossfade:d,layoutScroll:c,layoutRoot:l,layoutAnchor:u})}function Pu(e){if(e)return e.options.allowProjection===!1?Pu(e.parent):e.projection}function Fu(e,{forwardMotionProps:t=!1,type:n}={},r,i){r&&eu(r);let a=n?n===`svg`:xu(e),o=a?Du:Eu;function s(n,s){let c,l={...(0,j.useContext)(Rl),...n,layoutId:Iu(n)},{isStatic:u}=l,d=du(n),f=o(n,u);if(!u&&typeof window<`u`){Lu(l,r);let t=Ru(l);c=t.MeasureLayout,d.visualElement=Mu(e,f,l,i,t.ProjectionNode,a)}return(0,M.jsxs)(lu.Provider,{value:d,children:[c&&d.visualElement?(0,M.jsx)(c,{visualElement:d.visualElement,...l}):null,Su(e,n,ku(f,d.visualElement,s),f,u,t,a)]})}s.displayName=`motion.${typeof e==`string`?e:`create(${e.displayName??e.name??``})`}`;let c=(0,j.forwardRef)(s);return c[Ou]=e,c}function Iu({layoutId:e}){let t=(0,j.useContext)(_t).id;return t&&e!==void 0?t+`-`+e:e}function Lu(e,t){(0,j.useContext)(Yl).strict}function Ru(e){let{drag:t,layout:n}=$l();if(!t&&!n)return{};let r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function zu(e,t){if(typeof Proxy>`u`)return Fu;let n=new Map,r=(n,r)=>Fu(n,r,e,t);return new Proxy((e,t)=>r(e,t),{get:(i,a)=>a===`create`?r:(n.has(a)||n.set(a,Fu(a,void 0,e,t)),n.get(a))})}var Bu=(e,t)=>t.isSVG??xu(e)?new tc(t):new Gs(t,{allowProjection:e!==j.Fragment}),Vu=class extends ds{constructor(e){super(e),e.animationState||=cc(e)}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();Jo(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}},Hu=0,Uu={animation:{Feature:Vu},exit:{Feature:class extends ds{constructor(){super(...arguments),this.id=Hu++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;if(e&&n===!1){if(this.isExitComplete){let{initial:e,custom:t}=this.node.getProps();if(typeof e==`string`||typeof e==`object`&&e&&!Array.isArray(e)){let n=Sa(this.node,e,t);if(n){let{transition:e,transitionEnd:t,...r}=n;for(let e in r)this.node.getValue(e)?.jump(r[e])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive(`exit`,!1);this.isExitComplete=!1;return}let r=this.node.animationState.setActive(`exit`,!e);t&&!e&&r.then(()=>{this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};t&&t(this.id),e&&(this.unmount=e(this.id))}unmount(){}}}};function Wu(e){return{point:{x:e.pageX,y:e.pageY}}}var Gu=e=>t=>go(t)&&e(t,Wu(t));function Ku(e,t,n,r){return Yc(e,t,Gu(n),r)}var qu=({current:e})=>e?e.ownerDocument.defaultView:null,Ju=(e,t)=>Math.abs(e-t);function Yu(e,t){let n=Ju(e.x,t.x),r=Ju(e.y,t.y);return Math.sqrt(n**2+r**2)}var Xu=new Set([`auto`,`scroll`]),Zu=class{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Qu(this.lastRawMoveEventInfo,this.transformPagePoint));let e=ed(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=Yu(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=cn;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=Qu(t,this.transformPagePoint),I.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=ed(e.type===`pointercancel`?this.lastMoveEventInfo:Qu(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!go(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=Qu(Wu(e),this.transformPagePoint),{point:c}=s,{timestamp:l}=cn;this.history=[{...c,timestamp:l}];let{onSessionStart:u}=t;u&&u(e,ed(s,this.history)),this.removeListeners=kt(Ku(this.contextWindow,`pointermove`,this.handlePointerMove),Ku(this.contextWindow,`pointerup`,this.handlePointerUp),Ku(this.contextWindow,`pointercancel`,this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(Xu.has(e.overflowX)||Xu.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},i={x:r.x-t.x,y:r.y-t.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(e,r),I.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),sn(this.updatePoint)}};function Qu(e,t){return t?{point:t(e.point)}:e}function $u(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ed({point:e},t){return{point:e,delta:$u(e,nd(t)),offset:$u(e,td(t)),velocity:rd(t,.1)}}function td(e){return e[0]}function nd(e){return e[e.length-1]}function rd(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=nd(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>P(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>P(t)*2&&(r=e[1]);let a=Mt(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function id(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?R(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?R(n,e,r.max):Math.min(e,n)),e}function ad(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function od(e,{top:t,left:n,bottom:r,right:i}){return{x:ad(e.x,n,i),y:ad(e.y,t,r)}}function sd(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function cd(e,t){return{x:sd(e.x,t.x),y:sd(e.y,t.y)}}function ld(e,t){let n=.5,r=_c(e),i=_c(t);return i>r?n=At(t.min,t.max-r,e.min):r>i&&(n=At(e.min,e.max-i,t.min)),N(0,1,n)}function ud(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var dd=.35;function fd(e=dd){return e===!1?e=0:e===!0&&(e=dd),{x:pd(e,`left`,`right`),y:pd(e,`top`,`bottom`)}}function pd(e,t,n){return{min:md(e,t),max:md(e,n)}}function md(e,t){return typeof e==`number`?e:e[t]||0}var hd=new WeakMap,gd=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Ko(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let i=e=>{t&&this.snapToCursor(Wu(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=uo(n),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),zc(e=>{let t=this.getAxisMotionValue(e).get()||0;if(In.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=_c(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&I.update(()=>i(e,t),!1,!0),ka(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;if(r&&this.currentDirection===null){this.currentDirection=bd(o),this.currentDirection!==null&&i&&i(this.currentDirection);return}this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&I.update(()=>a(e,t),!1,!0)},s=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:l}=this.getProps();this.panSession=new Zu(e,{onSessionStart:i,onStart:a,onMove:o,onSessionEnd:s,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:l,distanceThreshold:n,contextWindow:qu(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&I.postRender(()=>o(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!yd(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=id(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&ju(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=od(n.layoutBox,e):this.constraints=!1,this.elastic=fd(t),r!==this.constraints&&!ju(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&zc(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=ud(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!ju(e))return!1;let n=e.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;r.root&&(r.root.scroll=void 0,r.root.updateScroll());let i=Ms(n,r.root,this.visualElement.getTransformPagePoint()),a=cd(r.layout.layoutBox,i);if(t){let e=t(ps(a));this.hasMutatedConstraints=!!e,e&&(a=fs(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=zc(o=>{if(!yd(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return ka(this.visualElement,e),n.start(ga(e,n,0,t,this.visualElement,!1))}stopAnimation(){zc(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`;return this.visualElement.getProps()[t]||this.visualElement.getValue(e,this.visualElement.latestValues[e]??0)}snapToCursor(e){zc(t=>{let{drag:n}=this.getProps();if(!yd(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-R(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!ju(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};zc(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=ld({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),zc(t=>{if(!yd(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(R(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;hd.set(this.visualElement,this);let e=this.visualElement.current,t=Ku(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&bo(i);n&&r&&!a&&this.start(t)}),n,r=()=>{let{dragConstraints:t}=this.getProps();ju(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),n||=vd(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:i}=this.visualElement,a=i.addEventListener(`measure`,r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),I.read(r);let o=Yc(window,`resize`,()=>this.scalePositionWithinConstraints()),s=i.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(zc(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{o(),t(),a(),s&&s(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=dd,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function _d(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function vd(e,t,n){let r=Ro(e,_d(n)),i=Ro(t,_d(n));return()=>{r(),i()}}function yd(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function bd(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var xd=class extends ds{constructor(e){super(e),this.removeGroupControls=Ot,this.removeListeners=Ot,this.controls=new gd(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Ot}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Sd=e=>(t,n)=>{e&&I.update(()=>e(t,n),!1,!0)},Cd=class extends ds{constructor(){super(...arguments),this.removePointerDownListener=Ot}onPointerDown(e){this.session=new Zu(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:qu(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:Sd(e),onStart:Sd(t),onMove:Sd(n),onEnd:(e,t)=>{delete this.session,r&&I.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=Ku(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},wd=!1,Td=class extends j.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),wd&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),tl.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,{projection:a}=n;return a?(a.isPresent=i,e.layoutDependency!==t&&a.setOptions({...a.options,layoutDependency:t}),wd=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==i?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||I.postRender(()=>{let e=a.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),oo.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;wd=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function Ed(e){let[t,n]=Gl(),r=(0,j.useContext)(_t);return(0,M.jsx)(Td,{...e,layoutGroup:r,switchLayoutGroup:(0,j.useContext)(Au),isPresent:t,safeToRemove:n})}var Dd={pan:{Feature:Cd},drag:{Feature:xd,ProjectionNode:Ll,MeasureLayout:Ed}};function Od(e,t,n){let{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive(`whileHover`,n===`Start`);let i=r[`onHover`+n];i&&I.postRender(()=>i(t,Wu(t)))}var kd=class extends ds{mount(){let{current:e}=this.node;e&&(this.unmount=mo(e,(e,t)=>(Od(this.node,t,`Start`),e=>Od(this.node,e,`End`))))}unmount(){}},Ad=class extends ds{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(`:focus-visible`)}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!1),this.isActive=!1)}mount(){this.unmount=kt(Yc(this.node.current,`focus`,()=>this.onFocus()),Yc(this.node.current,`blur`,()=>this.onBlur()))}unmount(){}};function jd(e,t,n){let{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive(`whileTap`,n===`Start`);let i=r[`onTap`+(n===`End`?``:n)];i&&I.postRender(()=>i(t,Wu(t)))}var Md=class extends ds{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:n}=this.node.props;this.unmount=Eo(e,(e,t)=>(jd(this.node,t,`Start`),(e,{success:t})=>jd(this.node,e,t?`End`:`Cancel`)),{useGlobalTarget:t,stopPropagation:n?.tap===!1})}unmount(){}},Nd=new WeakMap,Pd=new WeakMap,Fd=e=>{let t=Nd.get(e.target);t&&t(e)},Id=e=>{e.forEach(Fd)};function Ld({root:e,...t}){let n=e||document;Pd.has(n)||Pd.set(n,{});let r=Pd.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(Id,{root:e,...t})),r[i]}function Rd(e,t,n){let r=Ld(t);return Nd.set(e,n),r.observe(e),()=>{Nd.delete(e),r.unobserve(e)}}var zd={some:0,all:1},Bd=class extends ds{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=`some`,once:i}=e,a={root:t?t.current:void 0,rootMargin:n,threshold:typeof r==`number`?r:zd[r]},o=e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,i&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(`whileInView`,t);let{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),a=t?n:r;a&&a(e)};this.stopObserver=Rd(this.node.current,a,o)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>`u`)return;let{props:e,prevProps:t}=this.node;[`amount`,`margin`,`root`].some(Vd(e,t))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}};function Vd({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}var Hd={inView:{Feature:Bd},tap:{Feature:Md},focus:{Feature:Ad},hover:{Feature:kd}},Ud={layout:{ProjectionNode:Ll,MeasureLayout:Ed}},Wd=zu({...Uu,...Hd,...Dd,...Ud},Bu);function Gd(e){return typeof window>`u`?!1:e?ji():Ai()}var Kd=50,qd=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),Jd=()=>({time:0,x:qd(),y:qd()}),Yd={x:{length:`Width`,position:`Left`},y:{length:`Height`,position:`Top`}};function Xd(e,t,n,r){let i=n[t],{length:a,position:o}=Yd[t],s=i.current,c=n.time;i.current=Math.abs(e[`scroll${o}`]),i.scrollLength=e[`scroll${a}`]-e[`client${a}`],i.offset.length=0,i.offset[0]=0,i.offset[1]=i.scrollLength,i.progress=At(0,i.scrollLength,i.current);let l=r-c;i.velocity=l>Kd?0:Nt(i.current-s,l)}function Zd(e,t,n){Xd(e,`x`,t,n),Xd(e,`y`,t,n),t.time=n}function Qd(e,t){let n={x:0,y:0},r=e;for(;r&&r!==t;)if(ao(r))n.x+=r.offsetLeft,n.y+=r.offsetTop,r=r.offsetParent;else if(r.tagName===`svg`){let e=r.getBoundingClientRect();r=r.parentElement;let t=r.getBoundingClientRect();n.x+=e.left-t.left,n.y+=e.top-t.top}else if(r instanceof SVGGraphicsElement){let{x:e,y:t}=r.getBBox();n.x+=e,n.y+=t;let i=null,a=r.parentNode;for(;!i;)a.tagName===`svg`&&(i=a),a=r.parentNode;r=i}else break;return n}var $d={start:0,center:.5,end:1};function ef(e,t,n=0){let r=0;if(e in $d&&(e=$d[e]),typeof e==`string`){let t=parseFloat(e);e.endsWith(`px`)?r=t:e.endsWith(`%`)?e=t/100:e.endsWith(`vw`)?r=t/100*document.documentElement.clientWidth:e.endsWith(`vh`)?r=t/100*document.documentElement.clientHeight:e=t}return typeof e==`number`&&(r=t*e),n+r}var tf=[0,0];function nf(e,t,n,r){let i=Array.isArray(e)?e:tf,a=0,o=0;return typeof e==`number`?i=[e,e]:typeof e==`string`&&(e=e.trim(),i=e.includes(` `)?e.split(` `):[e,$d[e]?e:`0`]),a=ef(i[0],n,r),o=ef(i[1],t),a-o}var rf={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},af={x:0,y:0};function of(e){return`getBBox`in e&&e.tagName!==`svg`?e.getBBox():{width:e.clientWidth,height:e.clientHeight}}function sf(e,t,n){let{offset:r=rf.All}=n,{target:i=e,axis:a=`y`}=n,o=a===`y`?`height`:`width`,s=i===e?af:Qd(i,e),c=i===e?{width:e.scrollWidth,height:e.scrollHeight}:of(i),l={width:e.clientWidth,height:e.clientHeight};t[a].offset.length=0;let u=!t[a].interpolate,d=r.length;for(let e=0;e<d;e++){let n=nf(r[e],l[o],c[o],s[a]);!u&&n!==t[a].interpolatorOffsets[e]&&(u=!0),t[a].offset[e]=n}u&&(t[a].interpolate=Br(t[a].offset,Hr(r),{clamp:!1}),t[a].interpolatorOffsets=[...t[a].offset]),t[a].progress=N(0,1,t[a].interpolate(t[a].current))}function cf(e,t=e,n){if(n.x.targetOffset=0,n.y.targetOffset=0,t!==e){let r=t;for(;r&&r!==e;)n.x.targetOffset+=r.offsetLeft,n.y.targetOffset+=r.offsetTop,r=r.offsetParent}n.x.targetLength=t===e?t.scrollWidth:t.clientWidth,n.y.targetLength=t===e?t.scrollHeight:t.clientHeight,n.x.containerLength=e.clientWidth,n.y.containerLength=e.clientHeight}function lf(e,t,n,r={}){return{measure:t=>{cf(e,r.target,n),Zd(e,n,t),(r.offset||r.target)&&sf(e,n,r)},notify:()=>t(n)}}var uf=new WeakMap,df=new WeakMap,ff=new WeakMap,pf=new WeakMap,mf=new WeakMap,hf=e=>e===document.scrollingElement?window:e;function gf(e,{container:t=document.scrollingElement,trackContentSize:n=!1,...r}={}){if(!t)return Ot;let i=ff.get(t);i||(i=new Set,ff.set(t,i));let a=lf(t,e,Jd(),r);if(i.add(a),!uf.has(t)){let e=()=>{for(let e of i)e.measure(cn.timestamp);I.preUpdate(n)},n=()=>{for(let e of i)e.notify()},r=()=>I.read(e);uf.set(t,r);let a=hf(t);window.addEventListener(`resize`,r),t!==document.documentElement&&df.set(t,Ro(t,r)),a.addEventListener(`scroll`,r),r()}if(n&&!mf.has(t)){let e=uf.get(t),n={width:t.scrollWidth,height:t.scrollHeight};pf.set(t,n);let r=I.read(()=>{let r=t.scrollWidth,i=t.scrollHeight;(n.width!==r||n.height!==i)&&(e(),n.width=r,n.height=i)},!0);mf.set(t,r)}let o=uf.get(t);return I.read(o,!1,!0),()=>{sn(o);let e=ff.get(t);if(!e||(e.delete(a),e.size))return;let n=uf.get(t);uf.delete(t),n&&(hf(t).removeEventListener(`scroll`,n),df.get(t)?.(),window.removeEventListener(`resize`,n));let r=mf.get(t);r&&(sn(r),mf.delete(t)),pf.delete(t)}}var _f=[[rf.Enter,`entry`],[rf.Exit,`exit`],[rf.Any,`cover`],[rf.All,`contain`]],vf={start:0,end:1};function yf(e){let t=e.trim().split(/\s+/);if(t.length!==2)return;let n=vf[t[0]],r=vf[t[1]];if(!(n===void 0||r===void 0))return[n,r]}function bf(e){if(e.length!==2)return;let t=[];for(let n of e)if(Array.isArray(n))t.push(n);else if(typeof n==`string`){let e=yf(n);if(!e)return;t.push(e)}else return;return t}function xf(e,t){let n=bf(e);if(!n)return!1;for(let e=0;e<2;e++){let r=n[e],i=t[e];if(r[0]!==i[0]||r[1]!==i[1])return!1}return!0}function Sf(e){if(!e)return{rangeStart:`contain 0%`,rangeEnd:`contain 100%`};for(let[t,n]of _f)if(xf(e,t))return{rangeStart:`${n} 0%`,rangeEnd:`${n} 100%`}}var Cf=new Map;function wf(e){let t={value:0};return{currentTime:t,cancel:gf(n=>{t.value=n[e.axis].progress*100},e)}}function Tf({source:e,container:t,...n}){let{axis:r}=n;e&&(t=e);let i=Cf.get(t);i||(i=new Map,Cf.set(t,i));let a=n.target??`self`,o=i.get(a);o||(o={},i.set(a,o));let s=r+(n.offset??[]).join(`,`);return o[s]||(n.target&&Gd(n.target)?Sf(n.offset)?o[s]=new ViewTimeline({subject:n.target,axis:r}):o[s]=wf({container:t,...n}):Gd()?o[s]=new ScrollTimeline({source:t,axis:r}):o[s]=wf({container:t,...n})),o[s]}function Ef(e,t){let n=Tf(t),r=t.target?Sf(t.offset):void 0,i=t.target?Gd(t.target)&&!!r:Gd();return e.attachTimeline({timeline:i?n:void 0,...r&&i&&{rangeStart:r.rangeStart,rangeEnd:r.rangeEnd},observe:e=>(e.pause(),zo(t=>{e.time=e.iterationDuration*t},n))})}function Df(e){return e&&(e.target||e.offset)}function Of(e){return e.length===2}function kf(e,t){return Of(e)||Df(t)?gf(n=>{e(n[t.axis].progress,n)},t):zo(e,Tf(t))}function Af(e,{axis:t=`y`,container:n=document.scrollingElement,...r}={}){if(!n)return Ot;let i={axis:t,container:n,...r};return typeof e==`function`?kf(e,i):Ef(e,i)}function jf(e){let t=vt(()=>oa(e)),{isStatic:n}=(0,j.useContext)(Rl);if(n){let[,n]=(0,j.useState)(e);(0,j.useEffect)(()=>t.on(`change`,n),[])}return t}function Mf(){!ns.current&&is();let[e]=(0,j.useState)(ts.current);return e}var Nf=v(),Pf=(0,j.createContext)({color:`currentColor`,size:`1em`,weight:`regular`,mirrored:!1}),Ff=j.forwardRef((e,t)=>{let{alt:n,color:r,size:i,weight:a,mirrored:o,children:s,weights:c,...l}=e,{color:u=`currentColor`,size:d,weight:f=`regular`,mirrored:p=!1,...m}=j.useContext(Pf);return j.createElement(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,width:i??d,height:i??d,fill:r??u,viewBox:`0 0 256 256`,transform:o||p?`scale(-1, 1)`:void 0,...m,...l},!!n&&j.createElement(`title`,null,n),s,c.get(a??f))});Ff.displayName=`IconBase`;var If=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M112,56V200L40,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M216,120H120V56a8,8,0,0,0-13.66-5.66l-72,72a8,8,0,0,0,0,11.32l72,72A8,8,0,0,0,120,200V136h96a8,8,0,0,0,0-16ZM104,180.69,51.31,128,104,75.31Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H120v64a8,8,0,0,1-13.66,5.66l-72-72a8,8,0,0,1,0-11.32l72-72A8,8,0,0,1,120,56v64h96A8,8,0,0,1,224,128Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H54.49l61.75,61.76a6,6,0,1,1-8.48,8.48l-72-72a6,6,0,0,1,0-8.48l72-72a6,6,0,0,1,8.48,8.48L54.49,122H216A6,6,0,0,1,222,128Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H49.66l65.17,65.17a4,4,0,0,1-5.66,5.66l-72-72a4,4,0,0,1,0-5.66l72-72a4,4,0,0,1,5.66,5.66L49.66,124H216A4,4,0,0,1,220,128Z`}))]]),Lf=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:If}));Lf.displayName=`ArrowLeftIcon`;var Rf=Lf,zf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z`}))]]),Bf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,48V96a12,12,0,0,1-12,12H168a12,12,0,0,1,0-24h19l-7.8-7.8a75.55,75.55,0,0,0-53.32-22.26h-.43A75.49,75.49,0,0,0,72.39,75.57,12,12,0,1,1,55.61,58.41a99.38,99.38,0,0,1,69.87-28.47H126A99.42,99.42,0,0,1,196.2,59.23L204,67V48a12,12,0,0,1,24,0ZM183.61,180.43a75.49,75.49,0,0,1-53.09,21.63h-.43A75.55,75.55,0,0,1,76.77,179.8L69,172H88a12,12,0,0,0,0-24H40a12,12,0,0,0-12,12v48a12,12,0,0,0,24,0V189l7.8,7.8A99.42,99.42,0,0,0,130,226.06h.56a99.38,99.38,0,0,0,69.87-28.47,12,12,0,0,0-16.78-17.16Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M224,48V96a8,8,0,0,1-8,8H168a8,8,0,0,1,0-16h28.69L182.06,73.37a79.56,79.56,0,0,0-56.13-23.43h-.45A79.52,79.52,0,0,0,69.59,72.71,8,8,0,0,1,58.41,61.27a96,96,0,0,1,135,.79L208,76.69V48a8,8,0,0,1,16,0ZM186.41,183.29a80,80,0,0,1-112.47-.66L59.31,168H88a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8v48a8,8,0,0,0,16,0V179.31l14.63,14.63A95.43,95.43,0,0,0,130,222.06h.53a95.36,95.36,0,0,0,67.07-27.33,8,8,0,0,0-11.18-11.44Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,48V96a8,8,0,0,1-8,8H168a8,8,0,0,1-5.66-13.66L180.65,72a79.48,79.48,0,0,0-54.72-22.09h-.45A79.52,79.52,0,0,0,69.59,72.71,8,8,0,0,1,58.41,61.27,96,96,0,0,1,192,60.7l18.36-18.36A8,8,0,0,1,224,48ZM186.41,183.29A80,80,0,0,1,75.35,184l18.31-18.31A8,8,0,0,0,88,152H40a8,8,0,0,0-8,8v48a8,8,0,0,0,13.66,5.66L64,195.3a95.42,95.42,0,0,0,66,26.76h.53a95.36,95.36,0,0,0,67.07-27.33,8,8,0,0,0-11.18-11.44Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,48V96a6,6,0,0,1-6,6H168a6,6,0,0,1,0-12h33.52L183.47,72a81.51,81.51,0,0,0-57.53-24h-.46A81.5,81.5,0,0,0,68.19,71.28a6,6,0,1,1-8.38-8.58,93.38,93.38,0,0,1,65.67-26.76H126a93.45,93.45,0,0,1,66,27.53l18,18V48a6,6,0,0,1,12,0ZM187.81,184.72a81.5,81.5,0,0,1-57.29,23.34h-.46a81.51,81.51,0,0,1-57.53-24L54.48,166H88a6,6,0,0,0,0-12H40a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V174.48l18,18.05a93.45,93.45,0,0,0,66,27.53h.52a93.38,93.38,0,0,0,65.67-26.76,6,6,0,1,0-8.38-8.58Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,48V96a8,8,0,0,1-8,8H168a8,8,0,0,1,0-16h28.69L182.06,73.37a79.56,79.56,0,0,0-56.13-23.43h-.45A79.52,79.52,0,0,0,69.59,72.71,8,8,0,0,1,58.41,61.27a96,96,0,0,1,135,.79L208,76.69V48a8,8,0,0,1,16,0ZM186.41,183.29a80,80,0,0,1-112.47-.66L59.31,168H88a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8v48a8,8,0,0,0,16,0V179.31l14.63,14.63A95.43,95.43,0,0,0,130,222.06h.53a95.36,95.36,0,0,0,67.07-27.33,8,8,0,0,0-11.18-11.44Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,48V96a4,4,0,0,1-4,4H168a4,4,0,0,1,0-8h38.34L184.89,70.54A84,84,0,0,0,66.8,69.85a4,4,0,1,1-5.6-5.72,92,92,0,0,1,129.34.76L212,86.34V48a4,4,0,0,1,8,0ZM189.2,186.15a83.44,83.44,0,0,1-58.68,23.91h-.47a83.52,83.52,0,0,1-58.94-24.6L49.66,164H88a4,4,0,0,0,0-8H40a4,4,0,0,0-4,4v48a4,4,0,0,0,8,0V169.66l21.46,21.45A91.43,91.43,0,0,0,130,218.06h.51a91.45,91.45,0,0,0,64.28-26.19,4,4,0,1,0-5.6-5.72Z`}))]]),Vf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M176.49,95.51a12,12,0,0,1,0,17l-56,56a12,12,0,0,1-17,0l-24-24a12,12,0,1,1,17-17L112,143l47.51-47.52A12,12,0,0,1,176.49,95.51ZM236,128A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm45.66,85.66-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35a8,8,0,0,1,11.32,11.32Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M172.24,99.76a6,6,0,0,1,0,8.48l-56,56a6,6,0,0,1-8.48,0l-24-24a6,6,0,0,1,8.48-8.48L112,151.51l51.76-51.75A6,6,0,0,1,172.24,99.76ZM230,128A102,102,0,1,1,128,26,102.12,102.12,0,0,1,230,128Zm-12,0a90,90,0,1,0-90,90A90.1,90.1,0,0,0,218,128Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M170.83,101.17a4,4,0,0,1,0,5.66l-56,56a4,4,0,0,1-5.66,0l-24-24a4,4,0,0,1,5.66-5.66L112,154.34l53.17-53.17A4,4,0,0,1,170.83,101.17ZM228,128A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z`}))]]),Hf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M232,128A104,104,0,1,1,128,24,104.13,104.13,0,0,1,232,128Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Z`}))]]),Uf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,36H48A28,28,0,0,0,20,64V172a28,28,0,0,0,28,28h68v12H96a12,12,0,0,0,0,24h64a12,12,0,0,0,0-24H140V200h68a28,28,0,0,0,28-28V64A28,28,0,0,0,208,36ZM48,60H208a4,4,0,0,1,4,4v72H44V64A4,4,0,0,1,48,60ZM208,176H48a4,4,0,0,1-4-4V160H212v12A4,4,0,0,1,208,176Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,64v88H32V64A16,16,0,0,1,48,48H208A16,16,0,0,1,224,64Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24h72v16H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16H136V200h72a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40ZM48,56H208a8,8,0,0,1,8,8v80H40V64A8,8,0,0,1,48,56ZM208,184H48a8,8,0,0,1-8-8V160H216v16A8,8,0,0,1,208,184Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24h72v16H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16H136V200h72a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm0,144H48a8,8,0,0,1-8-8V160H216v16A8,8,0,0,1,208,184Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,42H48A22,22,0,0,0,26,64V176a22,22,0,0,0,22,22h74v20H96a6,6,0,0,0,0,12h64a6,6,0,0,0,0-12H134V198h74a22,22,0,0,0,22-22V64A22,22,0,0,0,208,42ZM48,54H208a10,10,0,0,1,10,10v82H38V64A10,10,0,0,1,48,54ZM208,186H48a10,10,0,0,1-10-10V158H218v18A10,10,0,0,1,208,186Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24h72v16H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16H136V200h72a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40ZM48,56H208a8,8,0,0,1,8,8v80H40V64A8,8,0,0,1,48,56ZM208,184H48a8,8,0,0,1-8-8V160H216v16A8,8,0,0,1,208,184Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,44H48A20,20,0,0,0,28,64V176a20,20,0,0,0,20,20h76v24H96a4,4,0,0,0,0,8h64a4,4,0,0,0,0-8H132V196h76a20,20,0,0,0,20-20V64A20,20,0,0,0,208,44ZM48,52H208a12,12,0,0,1,12,12v84H36V64A12,12,0,0,1,48,52ZM208,188H48a12,12,0,0,1-12-12V156H220v20A12,12,0,0,1,208,188Z`}))]]),Wf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M28,64A12,12,0,0,1,40,52H216a12,12,0,0,1,0,24H40A12,12,0,0,1,28,64Zm12,76h64a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24Zm80,40H40a12,12,0,0,0,0,24h80a12,12,0,0,0,0-24Zm120.49,20.49a12,12,0,0,1-17,0l-18.08-18.08a44,44,0,1,1,17-17l18.08,18.07A12,12,0,0,1,240.49,200.49ZM184,164a20,20,0,1,0-20-20A20,20,0,0,0,184,164Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,144a32,32,0,1,1-32-32A32,32,0,0,1,216,144Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,72h72a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm88,48H40a8,8,0,0,0,0,16h88a8,8,0,0,0,0-16Zm109.66,13.66a8,8,0,0,1-11.32,0L206,177.36A40,40,0,1,1,217.36,166l20.3,20.3A8,8,0,0,1,237.66,197.66ZM184,168a24,24,0,1,0-24-24A24,24,0,0,0,184,168Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,72h72a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm88,48H40a8,8,0,0,0,0,16h88a8,8,0,0,0,0-16Zm109.66,2.34L217.36,166A40,40,0,1,0,206,177.36l20.3,20.3a8,8,0,0,0,11.32-11.32Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M34,64a6,6,0,0,1,6-6H216a6,6,0,0,1,0,12H40A6,6,0,0,1,34,64Zm6,70h72a6,6,0,0,0,0-12H40a6,6,0,0,0,0,12Zm88,52H40a6,6,0,0,0,0,12h88a6,6,0,0,0,0-12Zm108.24,10.24a6,6,0,0,1-8.48,0l-21.49-21.48a38.06,38.06,0,1,1,8.49-8.49l21.48,21.49A6,6,0,0,1,236.24,196.24ZM184,170a26,26,0,1,0-26-26A26,26,0,0,0,184,170Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,72h72a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm88,48H40a8,8,0,0,0,0,16h88a8,8,0,0,0,0-16Zm109.66,13.66a8,8,0,0,1-11.32,0L206,177.36A40,40,0,1,1,217.36,166l20.3,20.3A8,8,0,0,1,237.66,197.66ZM184,168a24,24,0,1,0-24-24A24,24,0,0,0,184,168Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M36,64a4,4,0,0,1,4-4H216a4,4,0,0,1,0,8H40A4,4,0,0,1,36,64Zm4,68h72a4,4,0,0,0,0-8H40a4,4,0,0,0,0,8Zm88,56H40a4,4,0,0,0,0,8h88a4,4,0,0,0,0-8Zm106.83,6.83a4,4,0,0,1-5.66,0l-22.72-22.72a36.06,36.06,0,1,1,5.66-5.66l22.72,22.72A4,4,0,0,1,234.83,194.83ZM184,172a28,28,0,1,0-28-28A28,28,0,0,0,184,172Z`}))]]),Gf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M168,112a56,56,0,1,1-56-56A56,56,0,0,1,168,112Zm61.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88,88,0,1,1,11.32-11.31l50.06,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228.24,219.76l-51.38-51.38a86.15,86.15,0,1,0-8.48,8.48l51.38,51.38a6,6,0,0,0,8.48-8.48ZM38,112a74,74,0,1,1,74,74A74.09,74.09,0,0,1,38,112Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M226.83,221.17l-52.7-52.7a84.1,84.1,0,1,0-5.66,5.66l52.7,52.7a4,4,0,0,0,5.66-5.66ZM36,112a76,76,0,1,1,76,76A76.08,76.08,0,0,1,36,112Z`}))]]),Kf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M244,96a12,12,0,0,1-12,12H220v12a12,12,0,0,1-24,0V108H184a12,12,0,0,1,0-24h12V72a12,12,0,0,1,24,0V84h12A12,12,0,0,1,244,96ZM144,60h4v4a12,12,0,0,0,24,0V60h4a12,12,0,0,0,0-24h-4V32a12,12,0,0,0-24,0v4h-4a12,12,0,0,0,0,24Zm75.81,90.38A12,12,0,0,1,222,162.3,100,100,0,1,1,93.7,34a12,12,0,0,1,15.89,13.6A85.12,85.12,0,0,0,108,64a84.09,84.09,0,0,0,84,84,85.22,85.22,0,0,0,16.37-1.59A12,12,0,0,1,219.81,150.38ZM190,172A108.13,108.13,0,0,1,84,66,76,76,0,1,0,190,172Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M210.69,158.18A88,88,0,1,1,97.82,45.31,96.08,96.08,0,0,0,192,160,96.78,96.78,0,0,0,210.69,158.18Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M240,96a8,8,0,0,1-8,8H216v16a8,8,0,0,1-16,0V104H184a8,8,0,0,1,0-16h16V72a8,8,0,0,1,16,0V88h16A8,8,0,0,1,240,96ZM144,56h8v8a8,8,0,0,0,16,0V56h8a8,8,0,0,0,0-16h-8V32a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16Zm72.77,97a8,8,0,0,1,1.43,8A96,96,0,1,1,95.07,37.8a8,8,0,0,1,10.6,9.06A88.07,88.07,0,0,0,209.14,150.33,8,8,0,0,1,216.77,153Zm-19.39,14.88c-1.79.09-3.59.14-5.38.14A104.11,104.11,0,0,1,88,64c0-1.79,0-3.59.14-5.38A80,80,0,1,0,197.38,167.86Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M240,96a8,8,0,0,1-8,8H216v16a8,8,0,0,1-16,0V104H184a8,8,0,0,1,0-16h16V72a8,8,0,0,1,16,0V88h16A8,8,0,0,1,240,96ZM144,56h8v8a8,8,0,0,0,16,0V56h8a8,8,0,0,0,0-16h-8V32a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16Zm65.14,94.33A88.07,88.07,0,0,1,105.67,46.86a8,8,0,0,0-10.6-9.06A96,96,0,1,0,218.2,160.93a8,8,0,0,0-9.06-10.6Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M238,96a6,6,0,0,1-6,6H214v18a6,6,0,0,1-12,0V102H184a6,6,0,0,1,0-12h18V72a6,6,0,0,1,12,0V90h18A6,6,0,0,1,238,96ZM144,54h10V64a6,6,0,0,0,12,0V54h10a6,6,0,0,0,0-12H166V32a6,6,0,0,0-12,0V42H144a6,6,0,0,0,0,12Zm71.25,100.28a6,6,0,0,1,1.07,6A94,94,0,1,1,95.76,39.68a6,6,0,0,1,7.94,6.79A90.11,90.11,0,0,0,192,154a90.9,90.9,0,0,0,17.53-1.7A6,6,0,0,1,215.25,154.28Zm-14.37,11.34q-4.42.38-8.88.38A102.12,102.12,0,0,1,90,64q0-4.45.38-8.88a82,82,0,1,0,110.5,110.5Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M240,96a8,8,0,0,1-8,8H216v16a8,8,0,0,1-16,0V104H184a8,8,0,0,1,0-16h16V72a8,8,0,0,1,16,0V88h16A8,8,0,0,1,240,96ZM144,56h8v8a8,8,0,0,0,16,0V56h8a8,8,0,0,0,0-16h-8V32a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16Zm72.77,97a8,8,0,0,1,1.43,8A96,96,0,1,1,95.07,37.8a8,8,0,0,1,10.6,9.06A88.07,88.07,0,0,0,209.14,150.33,8,8,0,0,1,216.77,153Zm-19.39,14.88c-1.79.09-3.59.14-5.38.14A104.11,104.11,0,0,1,88,64c0-1.79,0-3.59.14-5.38A80,80,0,1,0,197.38,167.86Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M236,96a4,4,0,0,1-4,4H212v20a4,4,0,0,1-8,0V100H184a4,4,0,0,1,0-8h20V72a4,4,0,0,1,8,0V92h20A4,4,0,0,1,236,96ZM144,52h12V64a4,4,0,0,0,8,0V52h12a4,4,0,0,0,0-8H164V32a4,4,0,0,0-8,0V44H144a4,4,0,0,0,0,8Zm69.73,103.58a4,4,0,0,1,.71,4,92,92,0,1,1-118-118,4,4,0,0,1,5.29,4.54A93.18,93.18,0,0,0,100,64a92.1,92.1,0,0,0,92,92,93.18,93.18,0,0,0,17.91-1.74A4,4,0,0,1,213.73,155.58Zm-9.46,7.67A100,100,0,0,1,92.75,51.73,84,84,0,1,0,204.27,163.25Z`}))]]),qf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M92,108a12,12,0,0,1,12-12h72a12,12,0,0,1,0,24H104A12,12,0,0,1,92,108Zm12,52h72a12,12,0,0,0,0-24H104a12,12,0,0,0,0,24ZM236,64V184a28,28,0,0,1-28,28H36A32,32,0,0,1,4,180V88a12,12,0,0,1,24,0v92a8,8,0,0,0,16,0V64A20,20,0,0,1,64,44H216A20,20,0,0,1,236,64Zm-24,4H68V180a32,32,0,0,1-1,8H208a4,4,0,0,0,4-4Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,64V184a16,16,0,0,1-16,16H32a16,16,0,0,0,16-16V64a8,8,0,0,1,8-8H216A8,8,0,0,1,224,64Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M88,112a8,8,0,0,1,8-8h80a8,8,0,0,1,0,16H96A8,8,0,0,1,88,112Zm8,40h80a8,8,0,0,0,0-16H96a8,8,0,0,0,0,16ZM232,64V184a24,24,0,0,1-24,24H32A24,24,0,0,1,8,184.11V88a8,8,0,0,1,16,0v96a8,8,0,0,0,16,0V64A16,16,0,0,1,56,48H216A16,16,0,0,1,232,64Zm-16,0H56V184a23.84,23.84,0,0,1-1.37,8H208a8,8,0,0,0,8-8Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48H56A16,16,0,0,0,40,64V184a8,8,0,0,1-16,0V88A8,8,0,0,0,8,88v96.11A24,24,0,0,0,32,208H208a24,24,0,0,0,24-24V64A16,16,0,0,0,216,48ZM176,152H96a8,8,0,0,1,0-16h80a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h80a8,8,0,0,1,0,16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M182,112a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h80A6,6,0,0,1,182,112Zm-6,26H96a6,6,0,0,0,0,12h80a6,6,0,0,0,0-12Zm54-74V184a22,22,0,0,1-22,22H32a22,22,0,0,1-22-21.91V88a6,6,0,0,1,12,0v96a10,10,0,0,0,20,0V64A14,14,0,0,1,56,50H216A14,14,0,0,1,230,64Zm-12,0a2,2,0,0,0-2-2H56a2,2,0,0,0-2,2V184a21.84,21.84,0,0,1-2.41,10H208a10,10,0,0,0,10-10Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M88,112a8,8,0,0,1,8-8h80a8,8,0,0,1,0,16H96A8,8,0,0,1,88,112Zm8,40h80a8,8,0,0,0,0-16H96a8,8,0,0,0,0,16ZM232,64V184a24,24,0,0,1-24,24H32A24,24,0,0,1,8,184.11V88a8,8,0,0,1,16,0v96a8,8,0,0,0,16,0V64A16,16,0,0,1,56,48H216A16,16,0,0,1,232,64Zm-16,0H56V184a23.84,23.84,0,0,1-1.37,8H208a8,8,0,0,0,8-8Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M180,112a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h80A4,4,0,0,1,180,112Zm-4,28H96a4,4,0,0,0,0,8h80a4,4,0,0,0,0-8Zm52-76V184a20,20,0,0,1-20,20H32a20,20,0,0,1-20-19.92V88a4,4,0,0,1,8,0v96a12,12,0,0,0,24,0V64A12,12,0,0,1,56,52H216A12,12,0,0,1,228,64Zm-8,0a4,4,0,0,0-4-4H56a4,4,0,0,0-4,4V184a19.86,19.86,0,0,1-4,12H208a12,12,0,0,0,12-12Z`}))]]),Jf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H134v82a6,6,0,0,1-12,0V134H40a6,6,0,0,1,0-12h82V40a6,6,0,0,1,12,0v82h82A6,6,0,0,1,222,128Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H132v84a4,4,0,0,1-8,0V132H40a4,4,0,0,1,0-8h84V40a4,4,0,0,1,8,0v84h84A4,4,0,0,1,220,128Z`}))]]),Yf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M109.74,146.26A75.53,75.53,0,0,1,132,200a12,12,0,0,1-24,0,52,52,0,0,0-52-52,12,12,0,0,1,0-24A75.51,75.51,0,0,1,109.74,146.26ZM56,76a12,12,0,0,0,0,24A100,100,0,0,1,156,200a12,12,0,0,0,24,0A124,124,0,0,0,56,76Zm121.62,2.38A170.85,170.85,0,0,0,56,28a12,12,0,0,0,0,24A147,147,0,0,1,160.65,95.35,147,147,0,0,1,204,200a12,12,0,0,0,24,0A170.85,170.85,0,0,0,177.62,78.38ZM60,180a16,16,0,1,0,16,16A16,16,0,0,0,60,180Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,200H56V40A160,160,0,0,1,216,200Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M106.91,149.09A71.53,71.53,0,0,1,128,200a8,8,0,0,1-16,0,56,56,0,0,0-56-56,8,8,0,0,1,0-16A71.53,71.53,0,0,1,106.91,149.09ZM56,80a8,8,0,0,0,0,16A104,104,0,0,1,160,200a8,8,0,0,0,16,0A120,120,0,0,0,56,80Zm118.79,1.21A166.89,166.89,0,0,0,56,32a8,8,0,0,0,0,16A151,151,0,0,1,163.48,92.52,151,151,0,0,1,208,200a8,8,0,0,0,16,0A166.9,166.9,0,0,0,174.79,81.21ZM60,184a12,12,0,1,0,12,12A12,12,0,0,0,60,184Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM76,192a12,12,0,1,1,12-12A12,12,0,0,1,76,192Zm44,0a8,8,0,0,1-8-8,40,40,0,0,0-40-40,8,8,0,0,1,0-16,56.06,56.06,0,0,1,56,56A8,8,0,0,1,120,192Zm32,0a8,8,0,0,1-8-8,72.08,72.08,0,0,0-72-72,8,8,0,0,1,0-16,88.1,88.1,0,0,1,88,88A8,8,0,0,1,152,192Zm32,0a8,8,0,0,1-8-8A104.11,104.11,0,0,0,72,80a8,8,0,0,1,0-16A120.13,120.13,0,0,1,192,184,8,8,0,0,1,184,192Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M105.5,150.5A69.54,69.54,0,0,1,126,200a6,6,0,0,1-12,0,58,58,0,0,0-58-58,6,6,0,0,1,0-12A69.54,69.54,0,0,1,105.5,150.5ZM56,82a6,6,0,0,0,0,12A106,106,0,0,1,162,200a6,6,0,0,0,12,0A118,118,0,0,0,56,82Zm117.38.62A164.92,164.92,0,0,0,56,34a6,6,0,0,0,0,12A153,153,0,0,1,164.89,91.11,153,153,0,0,1,210,200a6,6,0,0,0,12,0A164.92,164.92,0,0,0,173.38,82.62ZM60,186a10,10,0,1,0,10,10A10,10,0,0,0,60,186Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M106.91,149.09A71.53,71.53,0,0,1,128,200a8,8,0,0,1-16,0,56,56,0,0,0-56-56,8,8,0,0,1,0-16A71.53,71.53,0,0,1,106.91,149.09ZM56,80a8,8,0,0,0,0,16A104,104,0,0,1,160,200a8,8,0,0,0,16,0A120,120,0,0,0,56,80Zm118.79,1.21A166.9,166.9,0,0,0,56,32a8,8,0,0,0,0,16A151,151,0,0,1,163.48,92.52,151,151,0,0,1,208,200a8,8,0,0,0,16,0A166.9,166.9,0,0,0,174.79,81.21ZM60,184a12,12,0,1,0,12,12A12,12,0,0,0,60,184Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M104.08,151.92A67.52,67.52,0,0,1,124,200a4,4,0,0,1-8,0,60,60,0,0,0-60-60,4,4,0,0,1,0-8A67.52,67.52,0,0,1,104.08,151.92ZM56,84a4,4,0,0,0,0,8A108,108,0,0,1,164,200a4,4,0,0,0,8,0A116,116,0,0,0,56,84Zm116,0A162.92,162.92,0,0,0,56,36a4,4,0,0,0,0,8A155,155,0,0,1,166.31,89.69,155,155,0,0,1,212,200a4,4,0,0,0,8,0A162.92,162.92,0,0,0,172,84ZM60,188a8,8,0,1,0,8,8A8,8,0,0,0,60,188Z`}))]]),Xf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M243,96a20.33,20.33,0,0,0-17.74-14l-56.59-4.57L146.83,24.62a20.36,20.36,0,0,0-37.66,0L87.35,77.44,30.76,82A20.45,20.45,0,0,0,19.1,117.88l43.18,37.24-13.2,55.7A20.37,20.37,0,0,0,79.57,233L128,203.19,176.43,233a20.39,20.39,0,0,0,30.49-22.15l-13.2-55.7,43.18-37.24A20.43,20.43,0,0,0,243,96ZM172.53,141.7a12,12,0,0,0-3.84,11.86L181.58,208l-47.29-29.08a12,12,0,0,0-12.58,0L74.42,208l12.89-54.4a12,12,0,0,0-3.84-11.86L41.2,105.24l55.4-4.47a12,12,0,0,0,10.13-7.38L128,41.89l21.27,51.5a12,12,0,0,0,10.13,7.38l55.4,4.47Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M229.06,108.79l-48.7,42,14.88,62.79a8.4,8.4,0,0,1-12.52,9.17L128,189.09,73.28,222.74a8.4,8.4,0,0,1-12.52-9.17l14.88-62.79-48.7-42A8.46,8.46,0,0,1,31.73,94L95.64,88.8l24.62-59.6a8.36,8.36,0,0,1,15.48,0l24.62,59.6L224.27,94A8.46,8.46,0,0,1,229.06,108.79Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M234.29,114.85l-45,38.83L203,211.75a16.4,16.4,0,0,1-24.5,17.82L128,198.49,77.47,229.57A16.4,16.4,0,0,1,53,211.75l13.76-58.07-45-38.83A16.46,16.46,0,0,1,31.08,86l59-4.76,22.76-55.08a16.36,16.36,0,0,1,30.27,0l22.75,55.08,59,4.76a16.46,16.46,0,0,1,9.37,28.86Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M237.28,97.87A14.18,14.18,0,0,0,224.76,88l-60.25-4.87-23.22-56.2a14.37,14.37,0,0,0-26.58,0L91.49,83.11,31.24,88a14.18,14.18,0,0,0-12.52,9.89A14.43,14.43,0,0,0,23,113.32L69,152.93l-14,59.25a14.4,14.4,0,0,0,5.59,15,14.1,14.1,0,0,0,15.91.6L128,196.12l51.58,31.71a14.1,14.1,0,0,0,15.91-.6,14.4,14.4,0,0,0,5.59-15l-14-59.25L233,113.32A14.43,14.43,0,0,0,237.28,97.87Zm-12.14,6.37-48.69,42a6,6,0,0,0-1.92,5.92l14.88,62.79a2.35,2.35,0,0,1-.95,2.57,2.24,2.24,0,0,1-2.6.1L131.14,184a6,6,0,0,0-6.28,0L70.14,217.61a2.24,2.24,0,0,1-2.6-.1,2.35,2.35,0,0,1-1-2.57l14.88-62.79a6,6,0,0,0-1.92-5.92l-48.69-42a2.37,2.37,0,0,1-.73-2.65,2.28,2.28,0,0,1,2.07-1.65l63.92-5.16a6,6,0,0,0,5.06-3.69l24.63-59.6a2.35,2.35,0,0,1,4.38,0l24.63,59.6a6,6,0,0,0,5.06,3.69l63.92,5.16a2.28,2.28,0,0,1,2.07,1.65A2.37,2.37,0,0,1,225.14,104.24Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M235.36,98.49A12.21,12.21,0,0,0,224.59,90l-61.47-5L139.44,27.67a12.37,12.37,0,0,0-22.88,0L92.88,85,31.41,90a12.45,12.45,0,0,0-7.07,21.84l46.85,40.41L56.87,212.64a12.35,12.35,0,0,0,18.51,13.49L128,193.77l52.62,32.36a12.12,12.12,0,0,0,13.69-.51,12.28,12.28,0,0,0,4.82-13l-14.32-60.42,46.85-40.41A12.29,12.29,0,0,0,235.36,98.49Zm-8.93,7.26-48.68,42a4,4,0,0,0-1.28,3.95l14.87,62.79a4.37,4.37,0,0,1-1.72,4.65,4.24,4.24,0,0,1-4.81.18L130.1,185.67a4,4,0,0,0-4.2,0L71.19,219.32a4.24,4.24,0,0,1-4.81-.18,4.37,4.37,0,0,1-1.72-4.65L79.53,151.7a4,4,0,0,0-1.28-3.95l-48.68-42A4.37,4.37,0,0,1,28.25,101a4.31,4.31,0,0,1,3.81-3L96,92.79a4,4,0,0,0,3.38-2.46L124,30.73a4.35,4.35,0,0,1,8.08,0l24.62,59.6A4,4,0,0,0,160,92.79l63.9,5.15a4.31,4.31,0,0,1,3.81,3A4.37,4.37,0,0,1,226.43,105.75Z`}))]]),Zf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M116,36V32a12,12,0,0,1,24,0v4a12,12,0,0,1-24,0Zm80,92a68,68,0,1,1-68-68A68.07,68.07,0,0,1,196,128Zm-24,0a44,44,0,1,0-44,44A44.05,44.05,0,0,0,172,128ZM51.51,68.49a12,12,0,1,0,17-17l-4-4a12,12,0,0,0-17,17Zm0,119-4,4a12,12,0,0,0,17,17l4-4a12,12,0,1,0-17-17ZM196,72a12,12,0,0,0,8.49-3.51l4-4a12,12,0,0,0-17-17l-4,4A12,12,0,0,0,196,72Zm8.49,115.51a12,12,0,0,0-17,17l4,4a12,12,0,0,0,17-17ZM48,128a12,12,0,0,0-12-12H32a12,12,0,0,0,0,24h4A12,12,0,0,0,48,128Zm80,80a12,12,0,0,0-12,12v4a12,12,0,0,0,24,0v-4A12,12,0,0,0,128,208Zm96-92h-4a12,12,0,0,0,0,24h4a12,12,0,0,0,0-24Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M184,128a56,56,0,1,1-56-56A56,56,0,0,1,184,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M120,40V32a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-8-8A8,8,0,0,0,50.34,61.66Zm0,116.68-8,8a8,8,0,0,0,11.32,11.32l8-8a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l8-8a8,8,0,0,0-11.32-11.32l-8,8A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l8,8a8,8,0,0,0,11.32-11.32ZM40,120H32a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Zm88,88a8,8,0,0,0-8,8v8a8,8,0,0,0,16,0v-8A8,8,0,0,0,128,208Zm96-88h-8a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M120,40V32a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0Zm8,24a64,64,0,1,0,64,64A64.07,64.07,0,0,0,128,64ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-8-8A8,8,0,0,0,50.34,61.66Zm0,116.68-8,8a8,8,0,0,0,11.32,11.32l8-8a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l8-8a8,8,0,0,0-11.32-11.32l-8,8A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l8,8a8,8,0,0,0,11.32-11.32ZM40,120H32a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Zm88,88a8,8,0,0,0-8,8v8a8,8,0,0,0,16,0v-8A8,8,0,0,0,128,208Zm96-88h-8a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M122,40V32a6,6,0,0,1,12,0v8a6,6,0,0,1-12,0Zm68,88a62,62,0,1,1-62-62A62.07,62.07,0,0,1,190,128Zm-12,0a50,50,0,1,0-50,50A50.06,50.06,0,0,0,178,128ZM59.76,68.24a6,6,0,1,0,8.48-8.48l-8-8a6,6,0,0,0-8.48,8.48Zm0,119.52-8,8a6,6,0,1,0,8.48,8.48l8-8a6,6,0,1,0-8.48-8.48Zm136-136-8,8a6,6,0,1,0,8.48,8.48l8-8a6,6,0,0,0-8.48-8.48Zm.48,136a6,6,0,0,0-8.48,8.48l8,8a6,6,0,0,0,8.48-8.48ZM40,122H32a6,6,0,0,0,0,12h8a6,6,0,0,0,0-12Zm88,88a6,6,0,0,0-6,6v8a6,6,0,0,0,12,0v-8A6,6,0,0,0,128,210Zm96-88h-8a6,6,0,0,0,0,12h8a6,6,0,0,0,0-12Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M120,40V32a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-8-8A8,8,0,0,0,50.34,61.66Zm0,116.68-8,8a8,8,0,0,0,11.32,11.32l8-8a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l8-8a8,8,0,0,0-11.32-11.32l-8,8A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l8,8a8,8,0,0,0,11.32-11.32ZM40,120H32a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Zm88,88a8,8,0,0,0-8,8v8a8,8,0,0,0,16,0v-8A8,8,0,0,0,128,208Zm96-88h-8a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M124,40V32a4,4,0,0,1,8,0v8a4,4,0,0,1-8,0Zm64,88a60,60,0,1,1-60-60A60.07,60.07,0,0,1,188,128Zm-8,0a52,52,0,1,0-52,52A52.06,52.06,0,0,0,180,128ZM61.17,66.83a4,4,0,0,0,5.66-5.66l-8-8a4,4,0,0,0-5.66,5.66Zm0,122.34-8,8a4,4,0,0,0,5.66,5.66l8-8a4,4,0,0,0-5.66-5.66Zm136-136-8,8a4,4,0,0,0,5.66,5.66l8-8a4,4,0,1,0-5.66-5.66Zm-2.34,136a4,4,0,0,0-5.66,5.66l8,8a4,4,0,0,0,5.66-5.66ZM40,124H32a4,4,0,0,0,0,8h8a4,4,0,0,0,0-8Zm88,88a4,4,0,0,0-4,4v8a4,4,0,0,0,8,0v-8A4,4,0,0,0,128,212Zm96-88h-8a4,4,0,0,0,0,8h8a4,4,0,0,0,0-8Z`}))]]),Qf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z`}))]]),$f=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,24v92H179.31a19.86,19.86,0,0,0-14.14,5.86L147,168H109L90.83,149.86A19.86,19.86,0,0,0,76.69,144H52V52ZM52,204V168H75l18.14,18.14A19.86,19.86,0,0,0,107.31,192h41.38a19.86,19.86,0,0,0,14.14-5.86L181,168h23v36Zm35.51-87.51a12,12,0,0,1,17-17L116,111V76a12,12,0,0,1,24,0v35l11.51-11.52a12,12,0,0,1,17,17l-32,32a12,12,0,0,1-17,0Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48V160H179.31a8,8,0,0,0-5.66,2.34l-19.31,19.32a8,8,0,0,1-5.66,2.34H107.31a8,8,0,0,1-5.66-2.34L82.34,162.34A8,8,0,0,0,76.68,160H40V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.68A15.89,15.89,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.32A15.89,15.89,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40ZM90.34,125.66a8,8,0,0,1,11.32-11.32L120,132.69V72a8,8,0,0,1,16,0v60.69l18.34-18.35a8,8,0,0,1,11.32,11.32l-32,32a8,8,0,0,1-11.32,0Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM90.34,114.34a8,8,0,0,1,11.32,0L120,132.69V72a8,8,0,0,1,16,0v60.69l18.34-18.35a8,8,0,0,1,11.32,11.32l-32,32a8,8,0,0,1-11.32,0l-32-32A8,8,0,0,1,90.34,114.34ZM208,208H48V168H76.69L96,187.32A15.89,15.89,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,34H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34ZM48,46H208a2,2,0,0,1,2,2V154H179.31a13.94,13.94,0,0,0-9.9,4.1L150.1,177.41a2,2,0,0,1-1.41.59H107.31a2,2,0,0,1-1.41-.58L86.59,158.1a13.94,13.94,0,0,0-9.9-4.1H46V48A2,2,0,0,1,48,46ZM208,210H48a2,2,0,0,1-2-2V166H76.69a2,2,0,0,1,1.41.58L97.41,185.9a13.94,13.94,0,0,0,9.9,4.1h41.38a13.94,13.94,0,0,0,9.9-4.1l19.31-19.31a2,2,0,0,1,1.41-.59H210v42A2,2,0,0,1,208,210ZM91.76,124.24a6,6,0,0,1,8.48-8.48L122,137.51V72a6,6,0,0,1,12,0v65.51l21.76-21.75a6,6,0,0,1,8.48,8.48l-32,32a6,6,0,0,1-8.48,0Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.69A15.86,15.86,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40ZM90.34,125.66a8,8,0,0,1,11.32-11.32L120,132.69V72a8,8,0,0,1,16,0v60.69l18.34-18.35a8,8,0,0,1,11.32,11.32l-32,32a8,8,0,0,1-11.32,0Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36ZM48,44H208a4,4,0,0,1,4,4V156H179.31a12,12,0,0,0-8.48,3.51l-19.32,19.32a4,4,0,0,1-2.82,1.17H107.31a4,4,0,0,1-2.82-1.17L85.17,159.51A12,12,0,0,0,76.69,156H44V48A4,4,0,0,1,48,44ZM208,212H48a4,4,0,0,1-4-4V164H76.69a4,4,0,0,1,2.82,1.17l19.32,19.32a12,12,0,0,0,8.48,3.51h41.38a12,12,0,0,0,8.48-3.51l19.32-19.32a4,4,0,0,1,2.82-1.17H212v44A4,4,0,0,1,208,212ZM93.17,122.83a4,4,0,0,1,5.66-5.66L124,142.34V72a4,4,0,0,1,8,0v70.34l25.17-25.17a4,4,0,1,1,5.66,5.66l-32,32a4,4,0,0,1-5.66,0Z`}))]]),ep=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,24v92H179.31a19.86,19.86,0,0,0-14.14,5.86L147,168H109L90.83,149.86A19.86,19.86,0,0,0,76.69,144H52V52ZM52,204V168H75l18.14,18.14A19.86,19.86,0,0,0,107.31,192h41.38a19.86,19.86,0,0,0,14.14-5.86L181,168h23v36Zm35.51-87.51a12,12,0,0,1,0-17l32-32a12,12,0,0,1,17,0l32,32a12,12,0,0,1-17,17L140,105v35a12,12,0,0,1-24,0V105l-11.51,11.52A12,12,0,0,1,87.51,116.49Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48V160H179.31a8,8,0,0,0-5.66,2.34l-19.31,19.32a8,8,0,0,1-5.66,2.34H107.31a8,8,0,0,1-5.66-2.34L82.34,162.34A8,8,0,0,0,76.68,160H40V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.69A15.86,15.86,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40ZM90.34,109.66a8,8,0,0,1,0-11.32l32-32a8,8,0,0,1,11.32,0l32,32a8,8,0,0,1-11.32,11.32L136,91.31V152a8,8,0,0,1-16,0V91.31l-18.34,18.35A8,8,0,0,1,90.34,109.66Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM90.34,98.34l32-32a8,8,0,0,1,11.32,0l32,32a8,8,0,0,1-11.32,11.32L136,91.31V152a8,8,0,0,1-16,0V91.31l-18.34,18.35A8,8,0,0,1,90.34,98.34ZM208,208H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,34H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34ZM48,46H208a2,2,0,0,1,2,2V154H179.31a13.9,13.9,0,0,0-9.89,4.1L150.1,177.41a2,2,0,0,1-1.41.59H107.31a2,2,0,0,1-1.41-.59L86.59,158.1a13.94,13.94,0,0,0-9.9-4.1H46V48A2,2,0,0,1,48,46ZM208,210H48a2,2,0,0,1-2-2V166H76.69a2,2,0,0,1,1.41.59L97.41,185.9a13.94,13.94,0,0,0,9.9,4.1h41.38a13.9,13.9,0,0,0,9.89-4.1l19.32-19.31a2,2,0,0,1,1.41-.59H210v42A2,2,0,0,1,208,210ZM91.76,108.24a6,6,0,0,1,0-8.48l32-32a6,6,0,0,1,8.48,0l32,32a6,6,0,1,1-8.48,8.48L134,86.49V152a6,6,0,0,1-12,0V86.49l-21.76,21.75A6,6,0,0,1,91.76,108.24Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.69A15.86,15.86,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40ZM90.34,109.66a8,8,0,0,1,0-11.32l32-32a8,8,0,0,1,11.32,0l32,32a8,8,0,0,1-11.32,11.32L136,91.31V152a8,8,0,0,1-16,0V91.31l-18.34,18.35A8,8,0,0,1,90.34,109.66Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36ZM48,44H208a4,4,0,0,1,4,4V156H179.31a11.93,11.93,0,0,0-8.48,3.51l-19.32,19.32a4,4,0,0,1-2.82,1.17H107.31a4,4,0,0,1-2.82-1.17L85.17,159.52A11.9,11.9,0,0,0,76.69,156H44V48A4,4,0,0,1,48,44ZM208,212H48a4,4,0,0,1-4-4V164H76.69a4,4,0,0,1,2.82,1.17l19.32,19.31a11.9,11.9,0,0,0,8.48,3.52h41.38a11.93,11.93,0,0,0,8.48-3.51l19.32-19.32a4,4,0,0,1,2.82-1.17H212v44A4,4,0,0,1,208,212ZM93.17,106.83a4,4,0,0,1,0-5.66l32-32a4,4,0,0,1,5.66,0l32,32a4,4,0,0,1-5.66,5.66L132,81.66V152a4,4,0,0,1-8,0V81.66L98.83,106.83A4,4,0,0,1,93.17,106.83Z`}))]]),tp=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,24v92H179.31a19.86,19.86,0,0,0-14.14,5.86L147,168H109L90.83,149.86A19.86,19.86,0,0,0,76.69,144H52V52ZM52,204V168H75l18.14,18.14A19.86,19.86,0,0,0,107.31,192h41.38a19.86,19.86,0,0,0,14.14-5.86L181,168h23v36Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48V160H179.31a8,8,0,0,0-5.66,2.34l-19.31,19.32a8,8,0,0,1-5.66,2.34H107.31a8,8,0,0,1-5.66-2.34L82.34,162.34A8,8,0,0,0,76.68,160H40V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.68A15.89,15.89,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.32A15.89,15.89,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H48V168H76.69L96,187.32A15.89,15.89,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,34H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34ZM48,46H208a2,2,0,0,1,2,2V154H179.31a13.94,13.94,0,0,0-9.9,4.1L150.1,177.41a2,2,0,0,1-1.41.59H107.31a2,2,0,0,1-1.41-.58L86.59,158.1a13.94,13.94,0,0,0-9.9-4.1H46V48A2,2,0,0,1,48,46ZM208,210H48a2,2,0,0,1-2-2V166H76.69a2,2,0,0,1,1.41.58L97.41,185.9a13.94,13.94,0,0,0,9.9,4.1h41.38a13.94,13.94,0,0,0,9.9-4.1l19.31-19.31a2,2,0,0,1,1.41-.59H210v42A2,2,0,0,1,208,210Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.69A15.86,15.86,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36ZM48,44H208a4,4,0,0,1,4,4V156H179.31a12,12,0,0,0-8.48,3.51l-19.32,19.32a4,4,0,0,1-2.82,1.17H107.31a4,4,0,0,1-2.82-1.17L85.17,159.51A12,12,0,0,0,76.69,156H44V48A4,4,0,0,1,48,44ZM208,212H48a4,4,0,0,1-4-4V164H76.69a4,4,0,0,1,2.82,1.17l19.32,19.32a12,12,0,0,0,8.48,3.51h41.38a12,12,0,0,0,8.48-3.51l19.32-19.32a4,4,0,0,1,2.82-1.17H212v44A4,4,0,0,1,208,212Z`}))]]),np=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M240.26,186.1,152.81,34.23h0a28.74,28.74,0,0,0-49.62,0L15.74,186.1a27.45,27.45,0,0,0,0,27.71A28.31,28.31,0,0,0,40.55,228h174.9a28.31,28.31,0,0,0,24.79-14.19A27.45,27.45,0,0,0,240.26,186.1Zm-20.8,15.7a4.46,4.46,0,0,1-4,2.2H40.55a4.46,4.46,0,0,1-4-2.2,3.56,3.56,0,0,1,0-3.73L124,46.2a4.77,4.77,0,0,1,8,0l87.44,151.87A3.56,3.56,0,0,1,219.46,201.8ZM116,136V104a12,12,0,0,1,24,0v32a12,12,0,0,1-24,0Zm28,40a16,16,0,1,1-16-16A16,16,0,0,1,144,176Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M215.46,216H40.54C27.92,216,20,202.79,26.13,192.09L113.59,40.22c6.3-11,22.52-11,28.82,0l87.46,151.87C236,202.79,228.08,216,215.46,216Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM120,104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm8,88a12,12,0,1,1,12-12A12,12,0,0,1,128,192Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M235.07,189.09,147.61,37.22h0a22.75,22.75,0,0,0-39.22,0L20.93,189.09a21.53,21.53,0,0,0,0,21.72A22.35,22.35,0,0,0,40.55,222h174.9a22.35,22.35,0,0,0,19.6-11.19A21.53,21.53,0,0,0,235.07,189.09ZM224.66,204.8a10.46,10.46,0,0,1-9.21,5.2H40.55a10.46,10.46,0,0,1-9.21-5.2,9.51,9.51,0,0,1,0-9.72L118.79,43.21a10.75,10.75,0,0,1,18.42,0l87.46,151.87A9.51,9.51,0,0,1,224.66,204.8ZM122,144V104a6,6,0,0,1,12,0v40a6,6,0,0,1-12,0Zm16,36a10,10,0,1,1-10-10A10,10,0,0,1,138,180Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M233.34,190.09,145.88,38.22h0a20.75,20.75,0,0,0-35.76,0L22.66,190.09a19.52,19.52,0,0,0,0,19.71A20.36,20.36,0,0,0,40.54,220H215.46a20.36,20.36,0,0,0,17.86-10.2A19.52,19.52,0,0,0,233.34,190.09ZM226.4,205.8a12.47,12.47,0,0,1-10.94,6.2H40.54a12.47,12.47,0,0,1-10.94-6.2,11.45,11.45,0,0,1,0-11.72L117.05,42.21a12.76,12.76,0,0,1,21.9,0L226.4,194.08A11.45,11.45,0,0,1,226.4,205.8ZM124,144V104a4,4,0,0,1,8,0v40a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,180Z`}))]]),rp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:zf}));rp.displayName=`ArrowSquareOutIcon`;var ip=rp,ap=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Bf}));ap.displayName=`ArrowsClockwiseIcon`;var op=ap,sp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Vf}));sp.displayName=`CheckCircleIcon`;var cp=sp,lp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Hf}));lp.displayName=`CircleIcon`;var up=lp,dp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Uf}));dp.displayName=`DesktopIcon`;var fp=dp,pp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Wf}));pp.displayName=`ListMagnifyingGlassIcon`;var mp=pp,hp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Gf}));hp.displayName=`MagnifyingGlassIcon`;var gp=hp,_p=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Kf}));_p.displayName=`MoonStarsIcon`;var vp=_p,yp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:qf}));yp.displayName=`NewspaperIcon`;var bp=yp,xp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Jf}));xp.displayName=`PlusIcon`;var Sp=xp,Cp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Yf}));Cp.displayName=`RssIcon`;var wp=Cp,Tp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Xf}));Tp.displayName=`StarIcon`;var Ep=Tp,Dp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Zf}));Dp.displayName=`SunDimIcon`;var Op=Dp,kp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Qf}));kp.displayName=`TrashIcon`;var Ap=kp,jp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:$f}));jp.displayName=`TrayArrowDownIcon`;var Mp=jp,Np=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:ep}));Np.displayName=`TrayArrowUpIcon`;var Pp=Np,Fp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:tp}));Fp.displayName=`TrayIcon`;var Ip=Fp,Lp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:np}));Lp.displayName=`WarningIcon`;var Rp=Lp,zp=[{key:`unread`,label:`Unread`},{key:`all`,label:`All`},{key:`starred`,label:`Starred`}];function Bp({totals:e,active:t,onChange:n}){return(0,M.jsx)(`ul`,{className:`flex flex-col gap-0.5`,children:zp.map(({key:r,label:i})=>{let a=e[r],o=t===r;return(0,M.jsx)(`li`,{children:(0,M.jsxs)(`button`,{type:`button`,"aria-pressed":o,"aria-label":`${i}, ${a} articles`,onClick:()=>n(r),className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm transition-colors ${o?`bg-accent text-accent-foreground`:`text-text-primary hover:bg-surface-elevated`}`,children:[(0,M.jsx)(`span`,{className:`flex-1 truncate`,children:i}),(0,M.jsx)(`span`,{"aria-hidden":`true`,className:`num text-xs ${o?`text-accent-foreground`:`text-text-muted`}`,children:a})]})},r)})})}var Vp={accent:`bg-accent text-accent-foreground`,danger:`bg-danger text-accent-foreground`,muted:`bg-surface-elevated text-text-muted`};function Hp({tone:e,children:t}){return(0,M.jsx)(`span`,{className:`num inline-flex min-w-5 items-center justify-center rounded-sm px-1.5 py-0.5 text-xs leading-none ${Vp[e]}`,children:t})}function Up({feed:e,selected:t,onSelect:n,onDelete:r}){let i=Mf(),a=e.fetchError!=null,o=a?`${e.title}, ${e.unreadCount} unread, failed to refresh`:`${e.title}, ${e.unreadCount} unread`;return(0,M.jsxs)(Wd.div,{whileTap:i?void 0:{scale:.98},className:`group flex items-center gap-2 rounded-sm px-2 py-1.5 transition-colors ${t?`bg-accent/15`:`hover:bg-surface-elevated`}`,children:[(0,M.jsxs)(`button`,{type:`button`,"aria-label":o,"aria-current":t?`true`:void 0,onClick:n,className:`flex min-w-0 flex-1 items-center gap-2 text-left text-sm`,children:[a?(0,M.jsx)(Rp,{size:14,weight:`regular`,className:`shrink-0 text-danger`}):null,(0,M.jsx)(`span`,{className:`min-w-0 flex-1 truncate ${t?`font-medium text-text-primary`:`text-text-primary`}`,children:e.title||e.feedUrl}),a?(0,M.jsx)(`span`,{className:`shrink-0`,children:(0,M.jsx)(Hp,{tone:`danger`,children:`!`})}):e.unreadCount>0?(0,M.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0`,children:(0,M.jsx)(Hp,{tone:t?`accent`:`muted`,children:e.unreadCount})}):null]}),(0,M.jsx)(`button`,{type:`button`,"aria-label":`Delete feed ${e.title}`,title:`Delete feed`,onClick:r,className:`shrink-0 rounded-xs p-1 text-text-muted opacity-0 transition-opacity hover:text-danger focus-visible:opacity-100 group-hover:opacity-100`,children:(0,M.jsx)(Ap,{size:14,weight:`regular`})})]})}function Wp({onSubmit:e,pending:t,error:n}){let[r,i]=(0,j.useState)(``),[a,o]=(0,j.useState)(null),s=a??n??null;function c(t){t.preventDefault();let n=r.trim();if(!n){o(`Enter a feed URL.`);return}if(!/^https?:\/\/.+/i.test(n)){o(`Enter a valid http or https URL.`);return}o(null),e(n)}return(0,M.jsxs)(`form`,{onSubmit:c,className:`flex flex-col gap-1.5`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,M.jsx)(`input`,{type:`url`,inputMode:`url`,value:r,onChange:e=>{i(e.target.value),a&&o(null)},placeholder:`Add feed by URL`,"aria-label":`Add feed by URL`,"aria-invalid":s?!0:void 0,disabled:t,className:`min-w-0 flex-1 rounded-sm border border-border bg-surface px-2.5 py-1.5 text-sm text-text-primary placeholder:text-text-muted focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-1 disabled:opacity-60`}),(0,M.jsx)(`button`,{type:`submit`,"aria-label":`Add feed`,title:`Add feed`,disabled:t,className:`inline-flex size-8 shrink-0 items-center justify-center rounded-md bg-accent text-accent-foreground transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60`,children:(0,M.jsx)(Sp,{size:18,weight:`regular`})})]}),s?(0,M.jsx)(`p`,{role:`alert`,className:`text-xs text-danger`,children:s}):null]})}var Gp=(0,j.forwardRef)(function({onImport:e,onExport:t,pending:n},r){let i=(0,j.useRef)(null);return(0,j.useImperativeHandle)(r,()=>({openPicker:()=>i.current?.click()})),(0,M.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,M.jsx)(`input`,{ref:i,type:`file`,accept:`.opml,.xml,application/xml,text/x-opml`,className:`sr-only`,onChange:t=>{let n=t.target.files?.[0];n&&e(n),t.target.value=``}}),(0,M.jsx)(`button`,{type:`button`,"aria-label":`Import OPML`,title:`Import OPML`,disabled:n,onClick:()=>i.current?.click(),className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-60`,children:(0,M.jsx)(Pp,{size:18,weight:`regular`})}),t?(0,M.jsx)(`button`,{type:`button`,"aria-label":`Export OPML`,title:`Export OPML`,onClick:t,className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary`,children:(0,M.jsx)(Mp,{size:18,weight:`regular`})}):(0,M.jsx)(`a`,{href:`/api/opml`,download:`iread.opml`,"aria-label":`Export OPML`,title:`Export OPML`,className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary`,children:(0,M.jsx)(Mp,{size:18,weight:`regular`})})]})}),Kp={light:`dark`,dark:`system`,system:`light`},qp={light:`Theme: light. Switch to dark.`,dark:`Theme: dark. Switch to system.`,system:`Theme: system. Switch to light.`};function Jp({theme:e,onChange:t}){return(0,M.jsx)(`button`,{type:`button`,"aria-label":qp[e],title:qp[e],onClick:()=>t(Kp[e]),className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary`,children:e===`light`?(0,M.jsx)(Op,{size:18,weight:`regular`}):e===`dark`?(0,M.jsx)(vp,{size:18,weight:`regular`}):(0,M.jsx)(fp,{size:18,weight:`regular`})})}function Yp({className:e}){return(0,M.jsx)(`div`,{className:`rounded-sm bg-surface-elevated ${e}`})}function Xp({rows:e,variant:t}){return(0,M.jsx)(`div`,{"aria-hidden":`true`,className:`animate-pulse`,children:Array.from({length:e},(e,n)=>t===`feed`?(0,M.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[(0,M.jsx)(Yp,{className:`h-3.5 w-1/2`}),(0,M.jsx)(Yp,{className:`ml-auto h-3.5 w-6`})]},n):(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-3 py-2`,children:[(0,M.jsx)(Yp,{className:`h-3.5 w-4/5`}),(0,M.jsx)(Yp,{className:`h-3 w-2/5`})]},n))})}function Zp({icon:e,title:t,body:n,action:r}){return(0,M.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 py-12 text-center`,children:[(0,M.jsx)(e,{size:32,weight:`regular`,className:`text-text-muted`}),(0,M.jsxs)(`div`,{className:`space-y-1`,children:[(0,M.jsx)(`p`,{className:`text-sm font-medium text-text-primary`,children:t}),(0,M.jsx)(`p`,{className:`max-w-xs text-sm text-text-secondary`,children:n})]}),r?(0,M.jsx)(`button`,{type:`button`,onClick:r.onClick,className:`mt-1 rounded-md bg-accent px-3 py-1.5 text-sm font-medium text-accent-foreground transition-opacity hover:opacity-90`,children:r.label}):null]})}function Qp({message:e,onRetry:t}){return(0,M.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 py-12 text-center`,children:[(0,M.jsx)(Rp,{size:32,weight:`regular`,className:`text-danger`}),(0,M.jsx)(`p`,{className:`max-w-xs text-sm text-text-secondary`,children:e}),(0,M.jsx)(`button`,{type:`button`,onClick:t,className:`mt-1 rounded-md border border-border bg-surface-elevated px-3 py-1.5 text-sm font-medium text-text-primary transition-opacity hover:opacity-90`,children:`Retry`})]})}function $p({feeds:e,totals:t,selection:n,state:r,isRefreshingAll:i,onSelectView:a,onSelectFeed:o,onDeleteFeed:s,onAddFeed:c,addPending:l,addError:u,onImportOpml:d,onExportOpml:f,opmlPending:p,theme:m,onChangeTheme:h}){let g=(0,j.useRef)(null),_=n.kind===`feed`?`all`:n.kind,v=n.kind===`feed`?n.feedId:null;return(0,M.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-surface`,"aria-busy":i?!0:void 0,children:[(0,M.jsx)(`div`,{className:`flex flex-col gap-2 border-b border-border px-3 py-3`,children:(0,M.jsx)(Wp,{onSubmit:c,pending:l,error:u})}),(0,M.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-2 py-2`,children:[(0,M.jsx)(`div`,{className:`px-1 pb-2`,children:(0,M.jsx)(Bp,{totals:t,active:_,onChange:a})}),(0,M.jsx)(`p`,{className:`px-1 pb-1 pt-2 text-xs font-medium uppercase tracking-wide text-text-muted`,children:`Feeds`}),r.status===`loading`?(0,M.jsx)(Xp,{rows:5,variant:`feed`}):r.status===`error`?(0,M.jsx)(Qp,{message:r.errorMessage??`Could not load your feeds.`,onRetry:r.onRetry??(()=>{})}):r.status===`empty`||e.length===0?(0,M.jsx)(Zp,{icon:Pp,title:`No feeds yet`,body:`Add a feed by URL above, or import an OPML file to get started.`,action:{label:`Import OPML`,onClick:()=>g.current?.openPicker()}}):(0,M.jsx)(`ul`,{className:`flex flex-col gap-0.5`,children:e.map(e=>(0,M.jsx)(`li`,{children:(0,M.jsx)(Up,{feed:e,selected:v===e.id,onSelect:()=>o(e.id),onDelete:()=>s(e.id)})},e.id))})]}),(0,M.jsxs)(`div`,{className:`flex items-center gap-1 border-t border-border px-2 py-2`,children:[(0,M.jsx)(Gp,{ref:g,onImport:d,onExport:f,pending:p}),(0,M.jsx)(`div`,{className:`ml-auto`,children:(0,M.jsx)(Jp,{theme:m,onChange:h})})]})]})}function em({active:e}){return(0,M.jsx)(`span`,{"aria-hidden":`true`,className:e?`inline-block size-2 shrink-0 rounded-xs bg-unread`:`inline-block size-2 shrink-0 rounded-xs bg-transparent`})}function tm(e){let t=new Date(e);return`${String(t.getFullYear()%100).padStart(2,`0`)}${String(t.getMonth()+1).padStart(2,`0`)}${String(t.getDate()).padStart(2,`0`)}`}function nm({value:e}){let t=new Date(e);return(0,M.jsx)(`time`,{dateTime:t.toISOString(),title:t.toLocaleString(),children:tm(e)})}var rm=(0,j.forwardRef)(function({item:e,selected:t,onSelect:n,onOpen:r,onToggleStar:i,tabIndex:a=-1},o){let s=Mf(),c=e.isRead?`read`:`unread`,l=e.isStarred?`, starred`:``,u=`${e.title}, ${e.feedTitle}, ${c}${l}`;return(0,M.jsxs)(Wd.div,{ref:o,role:`option`,"aria-selected":t,"aria-label":u,tabIndex:a,onClick:r,onFocus:n,whileTap:s?void 0:{scale:.98},className:`group relative flex cursor-pointer items-start gap-2 border-b border-border px-3 py-2 transition-colors ${t?`bg-accent/10`:`hover:bg-surface-elevated`}`,children:[t?(0,M.jsx)(Wd.span,{layoutId:`rowSelect`,"aria-hidden":`true`,className:`absolute inset-y-0 left-0 w-0.5 bg-accent`,transition:s?{duration:0}:{type:`spring`,stiffness:500,damping:40}}):null,(0,M.jsx)(`span`,{className:`mt-1.5 shrink-0`,children:(0,M.jsx)(em,{active:!e.isRead})}),(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,M.jsx)(`span`,{className:`truncate text-sm ${e.isRead?`text-text-secondary`:`font-medium text-text-primary`}`,children:e.title}),(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-muted`,children:[(0,M.jsx)(`span`,{className:`truncate`,children:e.feedTitle}),(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`-`}),(0,M.jsx)(`span`,{className:`num shrink-0`,children:(0,M.jsx)(nm,{value:e.publishedAt})})]})]}),(0,M.jsx)(`button`,{type:`button`,"aria-label":e.isStarred?`Unstar ${e.title}`:`Star ${e.title}`,"aria-pressed":e.isStarred,onClick:e=>{e.stopPropagation(),i()},className:`shrink-0 rounded-xs p-1 transition-opacity ${e.isStarred?`text-accent opacity-100`:`text-text-muted opacity-0 focus-visible:opacity-100 group-hover:opacity-100`}`,children:(0,M.jsx)(Ep,{size:16,weight:`regular`})})]})}),im=18,am=12;function om({items:e,total:t,selectedId:n,onSelect:r,onOpen:i,onToggleStar:a,state:o}){let s=Mf(),c=n??e[0]?.id??null,l=(0,j.useRef)(new Map),u=(0,j.useRef)(null),d=(0,j.useCallback)(e=>t=>{t?l.current.set(e,t):l.current.delete(e)},[]);(0,j.useEffect)(()=>{if(n==null)return;let e=l.current.get(n);if(!e)return;e.scrollIntoView({block:`nearest`});let t=document.activeElement;(!t||t===document.body||u.current?.contains(t))&&e.focus({preventScroll:!0})},[n,e]);let f;return f=o.status===`loading`?(0,M.jsx)(Xp,{rows:8,variant:`article`}):o.status===`error`?(0,M.jsx)(Qp,{message:o.errorMessage??`This feed failed to refresh.`,onRetry:o.onRetry??(()=>{})}):o.status===`empty`||e.length===0?cm(o.emptyKind):(0,M.jsx)(`ul`,{className:`flex flex-col`,children:e.map((e,t)=>(0,M.jsx)(`li`,{children:(0,M.jsx)(sm,{delay:s?0:im/1e3*Math.min(t,am),reduce:!!s,children:(0,M.jsx)(rm,{ref:d(e.id),item:e,selected:n===e.id,onSelect:()=>r(e.id),onOpen:()=>i(e.id),onToggleStar:()=>a(e.id),tabIndex:c===e.id?0:-1})})},e.id))}),(0,M.jsx)(`div`,{ref:u,id:`articles`,role:`listbox`,"aria-label":`Articles`,tabIndex:-1,"aria-busy":o.status===`loading`?!0:void 0,className:`h-full overflow-y-auto bg-surface outline-none`,children:f})}function sm({children:e,delay:t,reduce:n}){return(0,M.jsx)(Wd.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:n?{duration:0}:{duration:.16,ease:`easeOut`,delay:t},children:e})}function cm(e){switch(e){case`feed-empty`:return(0,M.jsx)(Zp,{icon:Ip,title:`Nothing here yet`,body:`This feed has no articles. Try refreshing with r.`});case`unread-clear`:return(0,M.jsx)(Zp,{icon:cp,title:`You are all caught up`,body:`No unread articles in this view.`});case`starred-empty`:return(0,M.jsx)(Zp,{icon:Ep,title:`No starred articles`,body:`Press s on an article to star it.`});case`search-no-match`:return(0,M.jsx)(Zp,{icon:mp,title:`No matches`,body:`No articles match your search in this view. Press Esc to clear.`});default:return(0,M.jsx)(Zp,{icon:wp,title:`Pick a feed`,body:`Select a feed on the left to see its articles.`})}}function lm({className:e}){return(0,M.jsx)(`div`,{className:`rounded-sm bg-surface-elevated ${e}`})}function um(){return(0,M.jsxs)(`div`,{"aria-hidden":`true`,className:`animate-pulse space-y-6 px-6 py-6`,children:[(0,M.jsxs)(`div`,{className:`space-y-3`,children:[(0,M.jsx)(lm,{className:`h-6 w-3/4`}),(0,M.jsx)(lm,{className:`h-3.5 w-2/5`})]}),(0,M.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:6},(e,t)=>(0,M.jsx)(lm,{className:t%3==2?`h-3.5 w-2/3`:`h-3.5 w-full`},t))})]})}function dm({item:e,onToggleRead:t,onToggleStar:n,onOpenOriginal:r}){return(0,M.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,M.jsx)(`button`,{type:`button`,"aria-label":e.isRead?`Mark as unread`:`Mark as read`,"aria-pressed":e.isRead,title:e.isRead?`Mark as unread`:`Mark as read`,onClick:t,className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary`,children:e.isRead?(0,M.jsx)(cp,{size:18,weight:`regular`}):(0,M.jsx)(up,{size:18,weight:`regular`})}),(0,M.jsx)(`button`,{type:`button`,"aria-label":e.isStarred?`Unstar article`:`Star article`,"aria-pressed":e.isStarred,title:e.isStarred?`Unstar article`:`Star article`,onClick:n,className:`inline-flex size-8 items-center justify-center rounded-md transition-colors hover:bg-surface-elevated ${e.isStarred?`text-accent`:`text-text-secondary hover:text-text-primary`}`,children:(0,M.jsx)(Ep,{size:18,weight:`regular`})}),(0,M.jsx)(`button`,{type:`button`,"aria-label":`Open original article in a new tab`,title:`Open original`,onClick:r,disabled:!e.link,className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-50`,children:(0,M.jsx)(ip,{size:18,weight:`regular`})})]})}var fm=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],pm=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function mm(e){let t=new Date(e),n=fm[t.getDay()],r=String(t.getDate()).padStart(2,`0`),i=pm[t.getMonth()],a=t.getFullYear(),o=String(t.getHours()).padStart(2,`0`),s=String(t.getMinutes()).padStart(2,`0`),c=String(t.getSeconds()).padStart(2,`0`),l=-t.getTimezoneOffset(),u=l>=0?`+`:`-`,d=Math.abs(l);return`${n}, ${r} ${i} ${a} ${o}:${s}:${c} ${u}${String(Math.floor(d/60)).padStart(2,`0`)}${String(d%60).padStart(2,`0`)}`}function hm({item:e,onToggleRead:t,onToggleStar:n,onOpenOriginal:r,state:i,scrollRef:a,contentHtml:o}){let s=Mf(),c=(0,j.useRef)(null),l=(0,j.useCallback)(e=>{c.current=e,typeof a==`function`?a(e):a&&(a.current=e)},[a]),u=jf(0),d=jf(0);(0,j.useEffect)(()=>{let e=c.current;if(e)return Af((e,t)=>{u.set(e),d.set(+(t.y.scrollLength>0))},{container:e,axis:`y`,trackContentSize:!0})},[u,d]);let f,p=!1;return i.status===`loading`?f=(0,M.jsx)(um,{}):i.status===`error`?f=(0,M.jsx)(Qp,{message:i.errorMessage??`Could not open this article.`,onRetry:i.onRetry??(()=>{})}):e?e.contentHtml.trim()===``?f=(0,M.jsx)(Zp,{icon:bp,title:`This article has no readable body.`,body:`The feed did not include any content for this article.`,action:e.link?{label:`Open original`,onClick:r}:void 0}):(p=!0,f=(0,M.jsxs)(`article`,{"aria-label":e.title,className:`px-6 py-6`,children:[(0,M.jsxs)(`header`,{className:`mb-5 flex flex-col gap-2 border-b border-border pb-4`,children:[(0,M.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,M.jsx)(`h1`,{className:`text-xl font-semibold leading-tight text-text-primary`,children:e.title}),(0,M.jsx)(`div`,{className:`shrink-0`,children:(0,M.jsx)(dm,{item:e,onToggleRead:t,onToggleStar:n,onOpenOriginal:r})})]}),(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 text-xs text-text-muted`,children:[(0,M.jsx)(`span`,{className:`text-text-secondary`,children:e.feedTitle}),e.author?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`-`}),(0,M.jsx)(`span`,{children:e.author})]}):null,(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`-`}),(0,M.jsx)(`time`,{className:`num`,dateTime:new Date(e.publishedAt).toISOString(),children:mm(e.publishedAt)})]})]}),(0,M.jsx)(Wd.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:s?{duration:0}:{duration:.2,ease:`easeOut`},className:`reader-prose text-text-primary`,dangerouslySetInnerHTML:{__html:o||e.contentHtml}},e.id)]})):f=(0,M.jsx)(Zp,{icon:bp,title:`Select an article`,body:`Choose an article from the list to read it here.`}),(0,M.jsxs)(`section`,{ref:l,"aria-label":`Reader`,"aria-busy":i.status===`loading`?!0:void 0,tabIndex:-1,className:`h-full overflow-y-auto bg-bg outline-none`,children:[p?(0,M.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none sticky top-0 z-20 h-0`,children:(0,M.jsx)(Wd.div,{className:`h-0.5 w-full origin-left bg-accent`,style:{scaleX:u,opacity:d}})}):null,f]})}var gm=`(max-width: 767px)`;function _m(){let[e,t]=(0,j.useState)(()=>{try{return matchMedia(gm).matches}catch{return!1}});return(0,j.useEffect)(()=>{let e;try{e=matchMedia(gm)}catch{return}let n=e=>t(e.matches);return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}function vm({activePane:e,onBack:t,backLabel:n,topbar:r,sidebarProps:i,listProps:a,readerProps:o}){let s=_m(),c=Mf(),l=(0,M.jsx)(`aside`,{"aria-label":`Feeds`,className:`flex min-h-0 flex-col overflow-y-auto border-border bg-surface md:border-r`,style:{gridArea:`sidebar`},children:(0,M.jsx)(`nav`,{"aria-label":`Feeds`,className:`flex min-h-0 flex-1 flex-col`,children:(0,M.jsx)($p,{...i})})}),u=(0,M.jsx)(`main`,{"aria-label":`Articles`,className:`flex min-h-0 flex-col overflow-y-auto border-border bg-surface md:border-r`,style:{gridArea:`list`},children:(0,M.jsx)(om,{...a})}),d=(0,M.jsx)(`section`,{"aria-label":`Reader`,className:`flex min-h-0 flex-col overflow-y-auto bg-bg`,style:{gridArea:`reader`},children:(0,M.jsx)(hm,{...o})});return(0,M.jsxs)(`div`,{className:`app-shell`,children:[(0,M.jsx)(`a`,{href:`#articles`,className:`sr-only focus:not-sr-only focus:absolute focus:left-3 focus:top-3 focus:z-50 focus:rounded-md focus:bg-accent focus:px-3 focus:py-2 focus:text-accent-foreground`,children:`Skip to articles`}),(0,M.jsxs)(`header`,{role:`banner`,className:`flex items-center gap-2 border-b border-border bg-surface-elevated px-3`,style:{gridArea:`topbar`,minHeight:`48px`},children:[s&&e!==`sidebar`?(0,M.jsxs)(`button`,{type:`button`,onClick:t,"aria-label":`Back`,className:`flex items-center gap-1 rounded-md px-2 py-1 text-text-secondary hover:bg-surface`,children:[(0,M.jsx)(Rf,{weight:`regular`,"aria-hidden":!0}),(0,M.jsx)(`span`,{className:`num text-xs`,children:n})]}):(0,M.jsxs)(`div`,{className:`flex shrink-0 items-baseline gap-1.5 px-1`,"aria-label":`iread`,children:[(0,M.jsx)(`span`,{className:`text-sm font-semibold tracking-tight text-text-primary`,children:`iread`}),(0,M.jsxs)(`span`,{className:`num text-[10px] text-text-muted`,children:[`v`,`0.2.5`]})]}),(0,M.jsx)(`div`,{className:`flex flex-1 items-center justify-end gap-2`,children:r})]}),s?(0,M.jsx)(`div`,{className:`relative min-h-0 overflow-hidden`,style:{gridArea:`active-pane`},children:(0,M.jsx)(Jl,{mode:`popLayout`,initial:!1,children:(0,M.jsxs)(Wd.div,{className:`absolute inset-0 flex min-h-0 flex-col`,initial:c?!1:{x:24,opacity:0},animate:{x:0,opacity:1},exit:c?{opacity:0}:{x:-16,opacity:0},transition:c?{duration:0}:{type:`spring`,stiffness:320,damping:32},children:[e===`sidebar`&&l,e===`list`&&u,e===`reader`&&d]},e)})}):(0,M.jsxs)(M.Fragment,{children:[l,u,d]})]})}function ym({keys:e}){return(0,M.jsx)(`span`,{className:`inline-flex items-center gap-1`,children:e.map((e,t)=>(0,M.jsx)(`kbd`,{className:`inline-flex min-w-5 items-center justify-center rounded-xs border border-border bg-surface-elevated px-1.5 py-0.5 text-xs leading-none text-text-secondary`,children:e},`${e}-${t}`))})}var bm=[{keys:[`j`,`k`],action:`Down / up: article, feed, or scroll`},{keys:[`f`,`b`],action:`Scroll reader forward / back a page`},{keys:[`n`],action:`Next unread`},{keys:[`g`,`G`],action:`Top / bottom: list, feed, or reader`},{keys:[`Enter`],action:`Open / focus reader`},{keys:[`h`,`l`],action:`Focus pane left / right`},{keys:[`m`],action:`Toggle read / unread`},{keys:[`s`],action:`Toggle star`},{keys:[`A`],action:`Mark current feed or view read`},{keys:[`r`,`R`],action:`Refresh feed / all feeds`},{keys:[`v`],action:`Open original in a new tab`},{keys:[`#`,`N`],action:`Open in-article link number N`},{keys:[`/`],action:`Focus search`},{keys:[`Esc`],action:`Dismiss (help, search, reader focus)`},{keys:[`?`],action:`Toggle this help`},{keys:[`t`],action:`Toggle theme`}],xm=`button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])`;function Sm({open:e,onClose:t}){let n=Mf(),r=(0,j.useRef)(null),i=(0,j.useRef)(null),a=(0,j.useRef)(null);return(0,j.useEffect)(()=>{if(!e)return;a.current=document.activeElement,i.current?.focus();function n(e){if(e.key===`Escape`||e.key===`?`){e.preventDefault(),t();return}if(e.key!==`Tab`)return;let n=r.current;if(!n)return;let i=Array.from(n.querySelectorAll(xm)).filter(e=>!e.hasAttribute(`disabled`));if(i.length===0)return;let a=i[0],o=i[i.length-1],s=document.activeElement;e.shiftKey&&s===a?(e.preventDefault(),o.focus()):!e.shiftKey&&s===o&&(e.preventDefault(),a.focus())}return document.addEventListener(`keydown`,n),()=>{document.removeEventListener(`keydown`,n),a.current?.focus()}},[e,t]),(0,M.jsx)(Jl,{children:e?(0,M.jsxs)(Wd.div,{className:`fixed inset-0 z-50 flex items-center justify-center p-4`,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:n?{duration:0}:{duration:.16,ease:`easeOut`},children:[(0,M.jsx)(`div`,{className:`absolute inset-0 bg-[color-mix(in_oklch,oklch(0.17_0.004_264)_45%,transparent)]`,onClick:t,"aria-hidden":`true`}),(0,M.jsxs)(Wd.div,{ref:r,role:`dialog`,"aria-modal":`true`,"aria-label":`Keyboard shortcuts`,initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:n?{duration:0}:{duration:.16,ease:`easeOut`},className:`relative z-10 max-h-[80vh] w-full max-w-md overflow-y-auto rounded-lg border border-border bg-surface-elevated p-5 shadow-xl`,children:[(0,M.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,M.jsx)(`h2`,{className:`text-sm font-semibold text-text-primary`,children:`Keyboard shortcuts`}),(0,M.jsx)(`button`,{ref:i,type:`button`,"aria-label":`Close keyboard shortcuts`,onClick:t,className:`rounded-sm px-2 py-1 text-sm text-text-muted transition-opacity hover:opacity-80`,children:`Close`})]}),(0,M.jsx)(`dl`,{className:`flex flex-col gap-1.5`,children:bm.map(({keys:e,action:t})=>(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-4 py-0.5`,children:[(0,M.jsx)(`dt`,{className:`text-sm text-text-secondary`,children:t}),(0,M.jsx)(`dd`,{className:`shrink-0`,children:(0,M.jsx)(ym,{keys:e})})]},t))})]})]}):null})}function Cm({active:e,buffer:t,count:n}){let r=Mf();return(0,M.jsx)(Jl,{children:e?(0,M.jsxs)(Wd.div,{"aria-hidden":`true`,initial:r?{opacity:0}:{opacity:0,y:8},animate:{opacity:1,y:0},exit:r?{opacity:0}:{opacity:0,y:8},transition:r?{duration:0}:{duration:.14,ease:`easeOut`},className:`fixed bottom-4 left-1/2 z-50 -translate-x-1/2 rounded-md border border-border bg-surface-elevated px-3 py-1.5 text-sm shadow-lg`,children:[(0,M.jsx)(`span`,{className:`text-text-secondary`,children:`Open link`}),` `,(0,M.jsxs)(`span`,{className:`num text-text-primary`,children:[`#`,t||`…`]}),` `,(0,M.jsxs)(`span`,{className:`num text-xs text-text-muted`,children:[`of `,n]}),(0,M.jsxs)(`span`,{className:`ml-3 text-xs text-text-muted`,children:[(0,M.jsx)(`span`,{className:`num`,children:`Enter`}),` open · `,(0,M.jsx)(`span`,{className:`num`,children:`Esc`}),` cancel`]})]}):null})}function wm(e){let t=e.target;if(!t)return!1;let n=t.tagName;return n===`INPUT`||n===`TEXTAREA`||n===`SELECT`||t.isContentEditable}function Tm(e,t,n){let[r,i]=(0,j.useState)(!1),[a,o]=(0,j.useState)(``),s=(0,j.useRef)(e);s.current=e;let c=(0,j.useRef)(t);c.current=t;let l=(0,j.useRef)(n);l.current=n;let u=(0,j.useRef)(!1),d=(0,j.useRef)(``);return(0,j.useEffect)(()=>{u.current=!1,d.current=``,i(!1),o(``)},[e]),(0,j.useEffect)(()=>{function e(e){u.current=e,i(e)}function t(e){d.current=e,o(e)}function n(){e(!1),t(``)}function r(e){let t=s.current[e-1];n(),t&&c.current(t)}function a(i){if(l.current)return;let a=s.current.length;if(!u.current){i.key===`#`&&!wm(i)&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!i.isComposing&&a>0&&(i.preventDefault(),i.stopPropagation(),e(!0),t(``));return}if(i.key===`Escape`||i.key===`#`){i.preventDefault(),i.stopPropagation(),n();return}if(i.key===`Enter`){i.preventDefault(),i.stopPropagation();let e=Number(d.current);e>=1&&e<=a?r(e):n();return}if(i.key===`Backspace`){i.preventDefault(),i.stopPropagation(),t(d.current.slice(0,-1));return}if(/^[0-9]$/.test(i.key)){i.preventDefault(),i.stopPropagation();let e=Number(d.current+i.key);if(e<1||e>a)return;t(String(e)),e*10>a&&r(e);return}n()}return window.addEventListener(`keydown`,a,!0),()=>window.removeEventListener(`keydown`,a,!0)},[]),{active:r,buffer:a}}var Em={error:`text-danger`,success:`text-text-primary`,info:`text-text-primary`};function Dm({kind:e,message:t,action:n,onDismiss:r,durationMs:i=5e3}){let a=Mf();return(0,j.useEffect)(()=>{if(i<=0)return;let e=window.setTimeout(r,i);return()=>window.clearTimeout(e)},[r,i]),(0,M.jsxs)(Wd.div,{role:`status`,"aria-live":e===`error`?`assertive`:`polite`,initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:8},transition:a?{duration:0}:{duration:.18,ease:`easeOut`},className:`pointer-events-auto flex items-center gap-3 rounded-lg border border-border bg-surface-elevated px-3 py-2 shadow-lg`,children:[(0,M.jsx)(`span`,{className:`text-sm ${Em[e]}`,children:t}),n?(0,M.jsx)(`button`,{type:`button`,onClick:n.onClick,className:`ml-auto rounded-sm px-2 py-1 text-sm font-medium text-accent transition-opacity hover:opacity-80`,children:n.label}):null,(0,M.jsx)(`button`,{type:`button`,"aria-label":`Dismiss notification`,onClick:r,className:`${n?``:`ml-auto`} rounded-sm px-1.5 py-1 text-sm text-text-muted transition-opacity hover:opacity-80`,children:`Close`})]})}function Om({children:e}){return(0,M.jsx)(`div`,{className:`pointer-events-none fixed bottom-4 right-4 z-50 flex w-full max-w-sm flex-col gap-2`,children:(0,M.jsx)(Jl,{initial:!1,children:e})})}var km=(0,j.forwardRef)(function({value:e,onChange:t,onClear:n},r){return(0,M.jsxs)(`div`,{role:`search`,className:`relative flex items-center`,children:[(0,M.jsx)(gp,{size:16,weight:`regular`,className:`pointer-events-none absolute left-2.5 text-text-muted`}),(0,M.jsx)(`input`,{ref:r,type:`search`,value:e,onChange:e=>t(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),n())},placeholder:`Search articles`,"aria-label":`Search articles in the current view`,className:`w-full rounded-sm border border-border bg-surface py-1.5 pl-8 pr-8 text-sm text-text-primary placeholder:text-text-muted focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-1`}),e?(0,M.jsx)(`button`,{type:`button`,"aria-label":`Clear search`,onClick:n,className:`absolute right-2 rounded-xs px-1 text-sm text-text-muted transition-opacity hover:opacity-80`,children:`Clear`}):null]})});function Am({pending:e,onClick:t}){let n=Mf(),r=e&&!n;return(0,M.jsx)(`button`,{type:`button`,"aria-label":`Refresh all feeds`,title:`Refresh all feeds`,onClick:t,disabled:e,className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary disabled:cursor-not-allowed`,children:(0,M.jsx)(Wd.span,{className:`inline-flex`,animate:r?{rotate:360}:{rotate:0},transition:r?{repeat:1/0,ease:`linear`,duration:.8}:{duration:0},children:(0,M.jsx)(op,{size:18,weight:`regular`})})})}var jm=`iread-theme`,Mm=`iread-auto-refresh`,Nm=3e5;function Pm(){try{let e=localStorage.getItem(jm);if(e===`light`||e===`dark`||e===`system`)return e}catch{}return`system`}function Fm(){try{let e=localStorage.getItem(Mm);if(e){let t=JSON.parse(e),n=typeof t.intervalMs==`number`&&t.intervalMs>0?t.intervalMs:Nm;return{enabled:typeof t.enabled==`boolean`?t.enabled:!0,intervalMs:n}}}catch{}return{enabled:!0,intervalMs:Nm}}var Im={selection:{kind:`unread`},selectedItemId:null,searchText:``,theme:Pm(),autoRefresh:Fm(),helpOpen:!1},Lm=new Set;function Rm(){for(let e of Lm)e()}function zm(e){return Lm.add(e),()=>{Lm.delete(e)}}function Bm(){return Im}function Vm(e){Im={...Im,...e},Rm()}var Hm={getState(){return Im},setSelection(e){Vm({selection:e,selectedItemId:null})},setSelectedItemId(e){Vm({selectedItemId:e})},setSearchText(e){Vm({searchText:e})},clearSearch(){Im.searchText!==``&&Vm({searchText:``})},setTheme(e){Vm({theme:e});try{localStorage.setItem(jm,e)}catch{}},setAutoRefresh(e){let t={...Im.autoRefresh,...e};Vm({autoRefresh:t});try{localStorage.setItem(Mm,JSON.stringify(t))}catch{}},setHelpOpen(e){Vm({helpOpen:e})},toggleHelp(){Vm({helpOpen:!Im.helpOpen})}};function Um(){return(0,j.useSyncExternalStore)(zm,Bm,Bm)}function Wm(e){let t=(0,j.useCallback)(()=>e(Im),[e]);return(0,j.useSyncExternalStore)(zm,t,t)}var Gm=[],Km=1,qm=new Set;function Jm(){for(let e of qm)e()}function Ym(e){return qm.add(e),()=>{qm.delete(e)}}function Xm(){return Gm}function Zm(e){let t=Km++,n=e.durationMs??(e.action?8e3:4e3),r={id:t,kind:e.kind,message:e.message,action:e.action,durationMs:n};return Gm=[...Gm,r],Jm(),t}function Qm(e){let t=Gm.filter(t=>t.id!==e);t.length!==Gm.length&&(Gm=t,Jm())}function $m(){return(0,j.useSyncExternalStore)(Ym,Xm,Xm)}function eh(e){return e.kind===`feed`?`feed:${e.feedId}`:e.kind}var th=`(prefers-color-scheme: dark)`;function nh(){try{return matchMedia(th).matches}catch{return!1}}function rh(e){return e===`system`?nh()?`dark`:`light`:e}function ih(e){let t=document.documentElement,n=rh(e);t.classList.toggle(`dark`,n===`dark`),t.classList.toggle(`theme-light`,e===`light`)}function ah(){let e=Wm(e=>e.theme);(0,j.useEffect)(()=>{ih(e)},[e]),(0,j.useEffect)(()=>{if(e!==`system`)return;let t;try{t=matchMedia(th)}catch{return}let n=()=>ih(`system`);return t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)},[e]);let t=(0,j.useCallback)(e=>{Hm.setTheme(e)},[]),n=(0,j.useCallback)(()=>{let e=[`light`,`dark`,`system`],t=e[(e.indexOf(Hm.getState().theme)+1)%e.length]??`system`;Hm.setTheme(t)},[]);return{theme:e,resolved:rh(e),setTheme:t,cycleTheme:n}}var oh=`/api`,sh=class extends Error{status;code;constructor(e,t,n){super(e),this.name=`ApiError`,this.status=t,this.code=n}};async function ch(e,t={}){let n={},r;t.json===void 0?t.body!==void 0&&(t.contentType&&(n[`Content-Type`]=t.contentType),r=t.body):(n[`Content-Type`]=`application/json`,r=JSON.stringify(t.json));let i;try{i=await fetch(`${oh}${e}`,{method:t.method??`GET`,headers:n,body:r,signal:t.signal})}catch(e){throw new sh(e instanceof Error?e.message:`Network request failed`,0)}if(i.status===204)return;let a,o=await i.text();if(o)try{a=JSON.parse(o)}catch{a=void 0}if(!i.ok){let e=a?.error;throw new sh(e?.message??`Request failed with status ${i.status}`,i.status,e?.code)}return a}function lh(e){let t=new URLSearchParams;e.feedId!==void 0&&t.set(`feedId`,String(e.feedId)),e.view!==void 0&&t.set(`view`,e.view),e.q!==void 0&&e.q!==``&&t.set(`q`,e.q),e.limit!==void 0&&t.set(`limit`,String(e.limit)),e.offset!==void 0&&t.set(`offset`,String(e.offset));let n=t.toString();return n?`?${n}`:``}var uh={listFeeds(e){return ch(`/feeds`,{signal:e})},addFeed(e){return ch(`/feeds`,{method:`POST`,json:{url:e}})},deleteFeed(e){return ch(`/feeds/${e}`,{method:`DELETE`})},refreshFeed(e){return ch(`/feeds/${e}/refresh`,{method:`POST`})},refreshAll(){return ch(`/feeds/refresh`,{method:`POST`})},listItems(e,t){return ch(`/items${lh(e)}`,{signal:t})},getItem(e,t){return ch(`/items/${e}`,{signal:t})},patchItem(e,t){return ch(`/items/${e}`,{method:`PATCH`,json:t})},markAllRead(e){return ch(`/items/mark-all-read`,{method:`POST`,json:e})},importOpml(e){return ch(`/opml`,{method:`POST`,body:e,contentType:`application/xml`})},opmlExportUrl(){return`${oh}/opml`}},$=[`feeds`];function dh(){let e=Wm(e=>e.autoRefresh);return ht({queryKey:$,queryFn:({signal:e})=>uh.listFeeds(e),staleTime:3e4,gcTime:5*6e4,refetchOnWindowFocus:!0,refetchInterval:e.enabled?e.intervalMs:!1,refetchIntervalInBackground:!1})}function fh(){let e=et();return gt({mutationFn:e=>uh.addFeed(e),onSuccess:t=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]}),Zm({kind:`success`,message:`Added ${t.feed.title||t.feed.feedUrl}`})}})}function ph(){let e=et();return gt({mutationFn:e=>uh.deleteFeed(e),onMutate:async t=>{await e.cancelQueries({queryKey:$});let n=e.getQueryData($);if(n){let r=n.feeds.find(e=>e.id===t),i={feeds:n.feeds.filter(e=>e.id!==t),totals:r?{all:Math.max(0,n.totals.all-r.totalCount),unread:Math.max(0,n.totals.unread-r.unreadCount),starred:n.totals.starred}:n.totals};e.setQueryData($,i)}let r=Hm.getState().selection;return r.kind===`feed`&&r.feedId===t&&Hm.setSelection({kind:`unread`}),{prev:n}},onError:(t,n,r)=>{r?.prev&&e.setQueryData($,r.prev),Zm({kind:`error`,message:`Could not delete the feed. Reverted.`})},onSettled:()=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]})}})}function mh(){let e=et();return gt({mutationFn:e=>uh.refreshFeed(e),onSuccess:e=>{e.feed.fetchError?Zm({kind:`error`,message:`This feed failed to refresh.`}):e.newItems>0?Zm({kind:`success`,message:`Refreshed ${e.feed.title||`feed`}, ${e.newItems} new`}):Zm({kind:`info`,message:`Refreshed, nothing new.`})},onError:()=>{Zm({kind:`error`,message:`Could not refresh the feed.`})},onSettled:()=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]})}})}function hh(){let e=et();return gt({mutationFn:()=>uh.refreshAll(),onSuccess:e=>{e.failed>0?Zm({kind:e.refreshed>0?`info`:`error`,message:`Refreshed ${e.refreshed} feeds, ${e.failed} failed`}):Zm({kind:`success`,message:e.newItems>0?`Refreshed ${e.refreshed} feeds, ${e.newItems} new`:`Refreshed ${e.refreshed} feeds`})},onError:()=>{Zm({kind:`error`,message:`Could not refresh feeds.`})},onSettled:()=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]})}})}var gh=200;function _h(e,t){return[`items`,{view:e,q:t}]}function vh(e){let t=e[1];if(t&&typeof t==`object`&&`view`in t)return t}function yh(e){return e.startsWith(`feed:`)?{feedId:Number(e.slice(5))}:{view:e}}function bh(e=250){let t=Wm(e=>e.searchText),[n,r]=(0,j.useState)(()=>t.trim());return(0,j.useEffect)(()=>{let n=setTimeout(()=>r(t.trim()),e);return()=>clearTimeout(n)},[t,e]),n}function xh(e,t){let n=Wm(e=>e.autoRefresh),r=yh(e);return ht({queryKey:_h(e,t),queryFn:({signal:e})=>uh.listItems({...r,q:t,limit:gh,offset:0},e),staleTime:3e4,gcTime:5*6e4,refetchOnWindowFocus:!0,refetchInterval:n.enabled?n.intervalMs:!1,refetchIntervalInBackground:!1})}function Sh(e){return ht({queryKey:[`item`,e],queryFn:({signal:t})=>uh.getItem(e,t),enabled:e!=null,staleTime:5*6e4,gcTime:10*6e4,refetchOnWindowFocus:!1})}function Ch(e,t){for(let[,n]of t){let t=n?.items.find(t=>t.id===e);if(t)return t.feedId}}function wh(e,t){let n=e.findIndex(e=>e.id===t);if(n===-1)return Hm.getState().selectedItemId;let r=e[n+1]??e[n-1];return r?r.id:null}function Th(){let e=et();return gt({mutationFn:({id:e,isRead:t})=>uh.patchItem(e,{isRead:t}),onMutate:async({id:t,isRead:n})=>{await e.cancelQueries({queryKey:[`items`]}),await e.cancelQueries({queryKey:$});let r=e.getQueriesData({queryKey:[`items`]}),i=e.getQueryData($),a=Ch(t,r);return kh(e,t,n),Mh(e,a,n?-1:1),{prevItems:r,prevFeeds:i,prevItem:Ph(e,t,{isRead:n})}},onError:(t,n,r)=>{Fh(e,r),Zm({kind:`error`,message:`Could not update. Reverted.`})},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:[`items`],refetchType:r.isRead?`none`:`active`}),e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`item`,r.id]})}})}function Eh(e){let t=et();return gt({mutationFn:({id:e,isStarred:t})=>uh.patchItem(e,{isStarred:t}),onMutate:async({id:n,isStarred:r})=>{await t.cancelQueries({queryKey:[`items`]}),await t.cancelQueries({queryKey:$});let i=t.getQueriesData({queryKey:[`items`]}),a=t.getQueryData($);if(!r&&e===`starred`&&Hm.getState().selectedItemId===n){let r=t.getQueryData(_h(e,Rh()));r&&Hm.setSelectedItemId(wh(r.items,n))}return Ah(t,n,r),Nh(t,r?1:-1),{prevItems:i,prevFeeds:a,prevItem:Ph(t,n,{isStarred:r})}},onError:(e,n,r)=>{Fh(t,r),Zm({kind:`error`,message:`Could not update. Reverted.`})},onSettled:(e,n,r)=>{t.invalidateQueries({queryKey:[`items`]}),t.invalidateQueries({queryKey:$}),t.invalidateQueries({queryKey:[`item`,r.id]})}})}function Dh(){let e=et();return gt({mutationFn:e=>{let t={};return e.feedId!==void 0&&(t.feedId=e.feedId),e.view!==void 0&&(t.view=e.view),uh.markAllRead(t)},onMutate:async t=>{await e.cancelQueries({queryKey:[`items`]}),await e.cancelQueries({queryKey:$});let n=e.getQueriesData({queryKey:[`items`]}),r=e.getQueryData($),i=e=>!(t.feedId!==void 0&&e.feedId!==t.feedId||t.view===`starred`&&!e.isStarred);return Oh(e,(e,t)=>{if(t===`unread`){let t=e.items.filter(e=>!(i(e)&&!e.isRead)),n=e.items.length-t.length;return{...e,items:t,total:Math.max(0,e.total-n)}}return{...e,items:e.items.map(e=>i(e)?{...e,isRead:!0}:e)}}),jh(e,n,t),{prevItems:n,prevFeeds:r}},onError:(t,n,r)=>{Fh(e,r),Zm({kind:`error`,message:`Could not mark read. Reverted.`})},onSettled:()=>{e.invalidateQueries({queryKey:[`items`]}),e.invalidateQueries({queryKey:$})}})}function Oh(e,t){let n=e.getQueriesData({queryKey:[`items`]});for(let[r,i]of n){if(!i)continue;let n=vh(r)?.view;e.setQueryData(r,t(i,n))}}function kh(e,t,n){Oh(e,e=>({...e,items:e.items.map(e=>e.id===t?{...e,isRead:n}:e)}))}function Ah(e,t,n){Oh(e,(e,r)=>{if(r===`starred`&&!n){let n=e.items.filter(e=>e.id!==t),r=e.items.length-n.length;return{...e,items:n,total:Math.max(0,e.total-r)}}return{...e,items:e.items.map(e=>e.id===t?{...e,isStarred:n}:e)}})}function jh(e,t,n){let r=e=>n.feedId===void 0||e===n.feedId;if(n.view!==`starred`){e.setQueryData($,e=>{if(!e)return e;let t=e.feeds.map(e=>r(e.id)?{...e,unreadCount:0}:e),n=t.reduce((e,t)=>e+t.unreadCount,0);return{...e,feeds:t,totals:{...e.totals,unread:n}}});return}let i=new Map,a=new Set;for(let[,e]of t)if(e)for(let t of e.items)a.has(t.id)||(a.add(t.id),t.isStarred&&!t.isRead&&r(t.feedId)&&i.set(t.feedId,(i.get(t.feedId)??0)+1));e.setQueryData($,e=>{if(!e)return e;let t=e.feeds.map(e=>{let t=i.get(e.id)??0;return t?{...e,unreadCount:Math.max(0,e.unreadCount-t)}:e}),n=t.reduce((e,t)=>e+t.unreadCount,0);return{...e,feeds:t,totals:{...e.totals,unread:n}}})}function Mh(e,t,n){e.setQueryData($,e=>e&&{...e,feeds:e.feeds.map(e=>e.id===t?{...e,unreadCount:Math.max(0,e.unreadCount+n)}:e),totals:{...e.totals,unread:Math.max(0,e.totals.unread+n)}})}function Nh(e,t){e.setQueryData($,e=>e&&{...e,totals:{...e.totals,starred:Math.max(0,e.totals.starred+t)}})}function Ph(e,t,n){let r=[`item`,t],i=e.getQueryData(r);return i?(e.setQueryData(r,{...i,item:{...i.item,...n}}),{key:r,data:i}):{key:r,data:void 0}}function Fh(e,t){t?.prevItems.forEach(([t,n])=>e.setQueryData(t,n)),t?.prevFeeds&&e.setQueryData($,t.prevFeeds),t?.prevItem&&e.setQueryData(t.prevItem.key,t.prevItem.data)}var Ih=``;function Lh(e){Ih=e}function Rh(){return Ih}function zh(e,t,n){let{data:r}=xh(e,t),i=(0,j.useMemo)(()=>r?.items??[],[r]),a=Wm(e=>e.selectedItemId),o=(0,j.useRef)(!0),s=(0,j.useRef)(e);s.current!==e&&(s.current=e,o.current=!0);let c=(0,j.useRef)(n);return c.current=n,(0,j.useEffect)(()=>{if(r===void 0)return;let e=o.current;if(o.current=!1,a!=null&&i.some(e=>e.id===a))return;let t=i[0];Hm.setSelectedItemId(t?t.id:null),c.current?.(t,e)},[r,i,a,e]),a}function Bh(){let e=Th();return t=>{t&&!t.isRead&&e.mutate({id:t.id,isRead:!0})}}function Vh(){let e=et();return gt({mutationFn:async e=>{let t=await e.text();return uh.importOpml(t)},onSuccess:t=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]});let n=[`Imported ${t.added} feeds`];t.skipped>0&&n.push(`${t.skipped} skipped`),t.failed>0&&n.push(`${t.failed} failed`),Zm({kind:t.failed>0&&t.added===0?`error`:`success`,message:n.join(`, `)})},onError:e=>{Zm({kind:`error`,message:e.message||`Could not import OPML.`})}})}function Hh(){let e=document.createElement(`a`);e.href=uh.opmlExportUrl(),e.download=`iread.opml`,document.body.appendChild(e),e.click(),e.remove()}function Uh(){let e=Vh();return{importOpml:e.mutate,importPending:e.isPending,exportOpml:Hh}}function Wh(e){let t=e.target;if(!t)return!1;let n=t.tagName;return n===`INPUT`||n===`TEXTAREA`||n===`SELECT`||t.isContentEditable}function Gh(e){return!(Wh(e)||e.ctrlKey||e.metaKey||e.altKey||e.isComposing)}function Kh(e){let t=(0,j.useRef)(e);t.current=e,(0,j.useEffect)(()=>{function e(e,t){return t==null?-1:e.findIndex(e=>e.id===t)}function n(n){let r=t.current;if(n.key===`Escape`){r.onEscape();return}if(!Gh(n))return;if(r.disabled){n.key===`?`&&(n.preventDefault(),r.onToggleHelp());return}let{items:i,selectedItemId:a}=r,o=e(i,a),s=e=>{if(i.length===0)return;let t=i[o<0?0:Math.max(0,Math.min(i.length-1,o+e))];t&&r.onSelectItem(t.id)},c=e=>{let t=r.sidebarTargets;if(t.length===0)return;let n=r.currentSidebarIndex,i=t[n<0?0:Math.max(0,Math.min(t.length-1,n+e))];i&&(r.onSelectSidebar(i),r.onSidebarFocusFollow())},l=e=>{let t=r.sidebarTargets[e];t&&(r.onSelectSidebar(t),r.onSidebarFocusFollow())};switch(n.key){case`j`:case`ArrowDown`:{n.preventDefault();let e=r.getFocusedPane();e===`sidebar`?c(1):e===`reader`?r.onScrollReader(1,`line`):s(1);break}case`k`:case`ArrowUp`:{n.preventDefault();let e=r.getFocusedPane();e===`sidebar`?c(-1):e===`reader`?r.onScrollReader(-1,`line`):s(-1);break}case`n`:{n.preventDefault();let e=i.slice(o+1).find(e=>!e.isRead)??i.find(e=>!e.isRead);e?r.onSelectItem(e.id):r.announce(`No unread items`);break}case`g`:{n.preventDefault();let e=r.getFocusedPane();if(e===`reader`){r.onScrollReader(-1,`edge`);break}if(e===`sidebar`){l(0);break}let t=i[0];t&&r.onSelectItem(t.id);break}case`G`:{n.preventDefault();let e=r.getFocusedPane();if(e===`reader`){r.onScrollReader(1,`edge`);break}if(e===`sidebar`){l(r.sidebarTargets.length-1);break}let t=i[i.length-1];t&&r.onSelectItem(t.id);break}case`Enter`:case`o`:n.preventDefault(),a!=null&&r.onOpenReader(a);break;case`h`:case`ArrowLeft`:n.preventDefault(),r.onMovePaneFocus(-1);break;case`l`:case`ArrowRight`:n.preventDefault(),r.onMovePaneFocus(1);break;case`f`:n.preventDefault(),r.onScrollReader(1,`page`);break;case`b`:n.preventDefault(),r.onScrollReader(-1,`page`);break;case`m`:n.preventDefault(),a!=null&&r.onToggleRead(a);break;case`s`:n.preventDefault(),a!=null&&r.onToggleStar(a);break;case`A`:n.preventDefault(),r.onMarkAllRead();break;case`v`:{n.preventDefault();let e=i.find(e=>e.id===a);e&&r.onOpenOriginal(e);break}case`r`:n.preventDefault(),r.onRefreshCurrent();break;case`R`:n.preventDefault(),r.onRefreshAll();break;case`/`:n.preventDefault(),r.onFocusSearch();break;case`?`:n.preventDefault(),r.onToggleHelp();break;case`t`:n.preventDefault(),r.onCycleTheme();break;default:break}}return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[])}var qh=[{kind:`unread`},{kind:`all`},{kind:`starred`}],Jh=[`sidebar`,`list`,`reader`];function Yh(){let{selection:e,selectedItemId:t,searchText:n,helpOpen:r}=Um(),{theme:i,resolved:a,setTheme:o,cycleTheme:s}=ah(),c=Mf(),l=_m(),u=bh();(0,j.useEffect)(()=>{Lh(u)},[u]);let d=eh(e),f=dh(),p=xh(d,u),m=Sh(t),h=(0,j.useMemo)(()=>p.data?.items??[],[p.data]),g=(0,j.useMemo)(()=>{let e=m.data?.item,t=e?.contentHtml;if(!t)return{html:``,hrefs:[]};let n=e.link??void 0,r=new DOMParser().parseFromString(t,`text/html`),i=[];for(let e of r.querySelectorAll(`a[href]`)){let t=e.getAttribute(`href`)?.trim();if(!t)continue;let a;try{a=new URL(t,n)}catch{continue}if(a.protocol!==`http:`&&a.protocol!==`https:`&&a.protocol!==`mailto:`)continue;i.push(a.href);let o=i.length;e.setAttribute(`href`,a.href),e.setAttribute(`data-linknum`,String(o));let s=r.createElement(`sup`);s.className=`linknum`,s.setAttribute(`aria-hidden`,`true`),s.textContent=`[${o}]`,e.after(s)}return{html:r.body.innerHTML,hrefs:i}},[m.data]),_=fh(),v=ph(),y=mh(),b=hh(),x=Th(),S=Eh(d),C=Dh(),ee=Bh(),w=Uh(),T=(0,j.useRef)(null),te=(0,j.useCallback)(()=>{let e=T.current;T.current=null,e&&ee(e)},[ee]),ne=(0,j.useCallback)(e=>{T.current=e&&!e.isRead?e:null},[]);zh(d,u,(0,j.useCallback)((e,t)=>{l||(t&&te(),ne(e))},[l,te,ne]));let re=$m(),[ie,ae]=(0,j.useState)(``),E=(0,j.useCallback)(e=>{ae(``),requestAnimationFrame(()=>ae(e))},[]),[oe,D]=(0,j.useState)(`list`),O=(0,j.useCallback)(e=>D(e),[]),se=(0,j.useCallback)(()=>{D(e=>e===`reader`?`list`:`sidebar`)},[]),ce=(0,j.useRef)(null),le=(0,j.useRef)(null),k=(0,j.useCallback)(()=>{if(l)return;let e=document.activeElement,t=document.querySelector(`aside[aria-label="Feeds"]`);!e||!t?.contains(e)||document.getElementById(`articles`)?.focus({preventScroll:!0})},[l]),ue=(0,j.useCallback)(e=>{Hm.setSelection({kind:e}),O(`list`)},[O]),de=(0,j.useCallback)(e=>{Hm.setSelection({kind:`feed`,feedId:e}),O(`list`)},[O]),fe=(0,j.useCallback)(e=>{ue(e),k()},[ue,k]),pe=(0,j.useCallback)(e=>{de(e),k()},[de,k]),me=(0,j.useCallback)(e=>{Hm.setSelectedItemId(e)},[]),he=(0,j.useCallback)(e=>{Hm.setSelectedItemId(e),!l&&T.current?.id!==e&&(te(),ne(h.find(t=>t.id===e)))},[l,h,te,ne]),ge=(0,j.useCallback)(e=>{Hm.setSelectedItemId(e),T.current?.id===e?T.current=null:te(),ee(h.find(t=>t.id===e)),O(`reader`)},[h,ee,te,O]),_e=(0,j.useMemo)(()=>{let e=f.data?.feeds??[];return[...qh,...e.map(e=>({kind:`feed`,feedId:e.id}))]},[f.data]),ve=(0,j.useMemo)(()=>_e.findIndex(t=>t.kind===`feed`?e.kind===`feed`&&e.feedId===t.feedId:e.kind===t.kind),[_e,e]),ye=(0,j.useCallback)(e=>{e.kind===`feed`?de(e.feedId):ue(e.kind)},[de,ue]),be=(0,j.useCallback)(e=>{T.current?.id===e&&(T.current=null);let t=!(h.find(t=>t.id===e)?.isRead??!1);x.mutate({id:e,isRead:t}),E(t?`Marked read`:`Marked unread`)},[h,x,E]),xe=(0,j.useCallback)(e=>{let t=!(h.find(t=>t.id===e)?.isStarred??!1);S.mutate({id:e,isStarred:t}),E(t?`Starred`:`Unstarred`)},[h,S,E]),Se=(0,j.useCallback)(()=>{T.current=null;let t=h.filter(e=>!e.isRead).map(e=>e.id),n=e.kind===`feed`?{feedId:e.feedId}:{view:e.kind};C.mutate(n),E(`Marked read, ${t.length} items`),t.length>0&&Zm({kind:`success`,message:`Marked read, ${t.length} items`,action:{label:`Undo`,onClick:()=>{for(let e of t)x.mutate({id:e,isRead:!1})}}})},[h,e,C,x,E]),Ce=(0,j.useCallback)(()=>{if(e.kind===`feed`){y.mutate(e.feedId);return}let n=h.find(e=>e.id===t);n?y.mutate(n.feedId):b.mutate()},[e,h,t,y,b]),A=(0,j.useCallback)(()=>{b.mutate(),E(`Refreshing all feeds`)},[b,E]),we=(0,j.useCallback)(e=>{e.link&&window.open(e.link,`_blank`,`noopener,noreferrer`)},[]),Te=(0,j.useCallback)(e=>{window.open(e,`_blank`,`noopener,noreferrer`)},[]),Ee=Tm(g.hrefs,Te,r);(0,j.useEffect)(()=>{let e=le.current?.querySelector(`.reader-prose`);if(e&&(e.classList.toggle(`link-jump-active`,Ee.active),e.querySelectorAll(`a.iread-link-target`).forEach(e=>e.classList.remove(`iread-link-target`)),Ee.active&&Ee.buffer)){let t=e.querySelector(`a[data-linknum="${Ee.buffer}"]`);if(t){t.classList.add(`iread-link-target`);let e=Pe.current;e.raf&&=(cancelAnimationFrame(e.raf),0),t.scrollIntoView({block:`center`,behavior:c?`auto`:`smooth`})}}},[Ee.active,Ee.buffer,g.html,c]),(0,j.useEffect)(()=>{Ee.active&&E(`Link jump: type a link number, Enter to open, Escape to cancel`)},[Ee.active,E]);let De=(0,j.useCallback)(e=>{T.current?.feedId===e&&(T.current=null),v.mutate(e)},[v]),Oe=(0,j.useCallback)(e=>{Hm.setSearchText(e)},[]),ke=(0,j.useCallback)(()=>{Hm.clearSearch()},[]),Ae=(0,j.useCallback)(()=>{let e=ce.current;e&&(e.focus(),e.select())},[]),je=(0,j.useCallback)(()=>{Hm.toggleHelp()},[]),Me=(0,j.useCallback)(()=>{document.querySelector(`[role="option"][aria-selected="true"]`)?.focus()},[]),Ne=(0,j.useCallback)(e=>{if(e===`sidebar`){let e=document.querySelector(`aside[aria-label="Feeds"]`);(e?.querySelector(`[aria-current="true"]`)??e?.querySelector(`[aria-pressed="true"]`)??e?.querySelector(`button`))?.focus()}else e===`list`?document.querySelector(`#articles [tabindex="0"]`)?.focus():le.current?.focus()},[]),Pe=(0,j.useRef)({target:0,raf:0}),Fe=(0,j.useCallback)((e,t=`line`)=>{let n=le.current;if(!n)return;let r=n.scrollHeight-n.clientHeight;if(r<=0)return;let i=t===`page`?.9:.16,a=Math.max(48,Math.round(n.clientHeight*i)),o=e<0?0:r;if(c){n.scrollTop=t===`edge`?o:Math.max(0,Math.min(r,n.scrollTop+e*a));return}let s=Pe.current;s.raf||(s.target=n.scrollTop),s.target=t===`edge`?o:Math.max(0,Math.min(r,s.target+e*a));let l=()=>{let e=le.current;if(!e){s.raf=0;return}let t=s.target-e.scrollTop;if(Math.abs(t)<=1){e.scrollTop=s.target,s.raf=0;return}let n=t*.22;e.scrollTop+=Math.abs(n)<1?Math.sign(t):n,s.raf=requestAnimationFrame(l)};s.raf||=requestAnimationFrame(l)},[c]),Ie=(0,j.useCallback)(()=>{requestAnimationFrame(()=>Ne(`sidebar`))},[Ne]),Le=(0,j.useCallback)(()=>{let e=document.activeElement;if(e&&e!==document.body){if(le.current?.contains(e))return`reader`;if(document.querySelector(`aside[aria-label="Feeds"]`)?.contains(e))return`sidebar`;if(document.getElementById(`articles`)?.contains(e))return`list`}return oe},[oe]);Kh({items:h,selectedItemId:t,onSelectItem:he,onOpenReader:ge,sidebarTargets:_e,currentSidebarIndex:ve,onSelectSidebar:ye,onMovePaneFocus:(0,j.useCallback)(e=>{let t=Le(),n=Jh.indexOf(t),r=Jh[Math.max(0,Math.min(Jh.length-1,n+e))];r!==t&&(O(r),requestAnimationFrame(()=>Ne(r)))},[Le,O,Ne]),getFocusedPane:Le,onScrollReader:Fe,onSidebarFocusFollow:Ie,onToggleRead:be,onToggleStar:xe,onMarkAllRead:Se,onRefreshCurrent:Ce,onRefreshAll:A,onOpenOriginal:we,onFocusSearch:Ae,onEscape:(0,j.useCallback)(()=>{if(Hm.getState().helpOpen){Hm.setHelpOpen(!1);return}let e=document.activeElement,t=ce.current;if(t&&e===t){Hm.clearSearch(),t.blur(),Me();return}let n=document.querySelector(`[aria-label="Reader"]`);if(e&&n&&n.contains(e)){Me();return}},[Me]),onToggleHelp:je,onCycleTheme:s,announce:E,disabled:r});let Re=(0,j.useMemo)(()=>{if(p.isLoading)return{status:`loading`};if(p.isError)return{status:`error`,errorMessage:p.error?.message??`Could not load articles.`,onRetry:()=>p.refetch()};if(h.length===0){let t;return t=u?`search-no-match`:e.kind===`unread`?`unread-clear`:e.kind===`starred`?`starred-empty`:(e.kind,`feed-empty`),{status:`empty`,emptyKind:t}}return{status:`ready`}},[p,h,u,e]),ze=(0,j.useMemo)(()=>t==null?{status:`empty`,emptyKind:`no-feed`}:m.isLoading?{status:`loading`}:m.isError?{status:`error`,errorMessage:m.error?.message??`Could not open this article.`,onRetry:()=>m.refetch()}:{status:`ready`},[t,m]),Be=(0,j.useMemo)(()=>f.isLoading?{status:`loading`}:f.isError?{status:`error`,errorMessage:f.error?.message??`Could not load your feeds.`,onRetry:()=>f.refetch()}:(f.data?.feeds.length??0)===0?{status:`empty`}:{status:`ready`},[f]);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(vm,{theme:a,activePane:oe,onBack:se,backLabel:oe===`reader`?`List`:`Feeds`,topbar:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(km,{ref:ce,value:n,onChange:Oe,onClear:ke}),(0,M.jsx)(Am,{pending:b.isPending,onClick:A}),(0,M.jsx)(`button`,{type:`button`,onClick:je,"aria-label":`Keyboard shortcuts`,className:`rounded-md px-2 py-1 text-text-secondary hover:bg-surface`,children:(0,M.jsx)(`kbd`,{className:`text-xs`,children:`?`})})]}),sidebarProps:{feeds:f.data?.feeds??[],totals:f.data?.totals??{all:0,unread:0,starred:0},selection:e,state:Be,isRefreshingAll:b.isPending,onSelectView:fe,onSelectFeed:pe,onDeleteFeed:De,onAddFeed:e=>_.mutate(e),addPending:_.isPending,addError:_.error?.message??null,onImportOpml:e=>w.importOpml(e),onExportOpml:w.exportOpml,opmlPending:w.importPending,theme:i,onChangeTheme:o},listProps:{items:h,total:p.data?.total??0,selectedId:t,onSelect:me,onOpen:ge,onToggleStar:xe,state:Re},readerProps:{item:m.data?.item,onToggleRead:()=>{t!=null&&be(t)},onToggleStar:()=>{t!=null&&xe(t)},onOpenOriginal:()=>{let e=m.data?.item;e?.link&&window.open(e.link,`_blank`,`noopener,noreferrer`)},state:ze,scrollRef:le,onBack:se,contentHtml:g.html}}),(0,M.jsx)(Sm,{open:r,onClose:()=>Hm.setHelpOpen(!1)}),(0,M.jsx)(Cm,{active:Ee.active,buffer:Ee.buffer,count:g.hrefs.length}),(0,M.jsx)(Om,{children:re.map(e=>(0,M.jsx)(Dm,{kind:e.kind===`error`?`error`:`success`,message:e.message,action:e.action,durationMs:e.durationMs,onDismiss:()=>Qm(e.id)},e.id))}),(0,M.jsx)(`div`,{"aria-live":`polite`,"aria-atomic":`true`,className:`sr-only`,children:ie})]})}(function(){let e=Hm.getState().theme,t=document.documentElement;t.classList.toggle(`dark`,rh(e)===`dark`),t.classList.toggle(`theme-light`,e===`light`)})();var Xh=new Xe({defaultOptions:{queries:{retry:1,refetchOnReconnect:!0},mutations:{retry:0}}}),Zh=document.getElementById(`root`);if(!Zh)throw Error(`Root element #root not found`);(0,Nf.createRoot)(Zh).render((0,M.jsx)(j.StrictMode,{children:(0,M.jsx)(tt,{client:Xh,children:(0,M.jsx)(Yh,{})})}));
16
+ `),()=>{s.current?.removeAttribute(`data-motion-pop-id`),b.contains(y)&&b.removeChild(y)}},[t]),(0,M.jsx)(Vl,{isPresent:t,childRef:s,sizeRef:c,pop:a,children:a===!1?e:j.cloneElement(e,{ref:u})})}var Ul=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:a,mode:o,anchorX:s,anchorY:c,root:l})=>{let u=vt(Wl),d=(0,j.useId)(),f=!0,p=(0,j.useMemo)(()=>(f=!1,{id:d,initial:t,isPresent:n,custom:i,onExitComplete:e=>{u.set(e,!0);for(let e of u.values())if(!e)return;r&&r()},register:e=>(u.set(e,!1),()=>u.delete(e))}),[n,u,r]);return a&&f&&(p={...p}),(0,j.useMemo)(()=>{u.forEach((e,t)=>u.set(t,!1))},[n]),j.useEffect(()=>{!n&&!u.size&&r&&r()},[n]),e=(0,M.jsx)(Hl,{pop:o===`popLayout`,isPresent:n,anchorX:s,anchorY:c,root:l,children:e}),(0,M.jsx)(bt.Provider,{value:p,children:e})};function Wl(){return new Map}function Gl(e=!0){let t=(0,j.useContext)(bt);if(t===null)return[!0,null];let{isPresent:n,onExitComplete:r,register:i}=t,a=(0,j.useId)();(0,j.useEffect)(()=>{if(e)return i(a)},[e]);let o=(0,j.useCallback)(()=>e&&r&&r(a),[a,r,e]);return!n&&r?[!1,o]:[!0]}var Kl=e=>e.key||``;function ql(e){let t=[];return j.Children.forEach(e,e=>{(0,j.isValidElement)(e)&&t.push(e)}),t}var Jl=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:a=`sync`,propagate:o=!1,anchorX:s=`left`,anchorY:c=`top`,root:l})=>{let[u,d]=Gl(o),f=(0,j.useMemo)(()=>ql(e),[e]),p=o&&!u?[]:f.map(Kl),m=(0,j.useRef)(!0),h=(0,j.useRef)(f),g=vt(()=>new Map),_=(0,j.useRef)(new Set),[v,y]=(0,j.useState)(f),[b,x]=(0,j.useState)(f);yt(()=>{m.current=!1,h.current=f;for(let e=0;e<b.length;e++){let t=Kl(b[e]);p.includes(t)?(g.delete(t),_.current.delete(t)):g.get(t)!==!0&&g.set(t,!1)}},[b,p.length,p.join(`-`)]);let S=[];if(f!==v){let e=[...f];for(let t=0;t<b.length;t++){let n=b[t],r=Kl(n);p.includes(r)||(e.splice(t,0,n),S.push(n))}return a===`wait`&&S.length&&(e=S),x(ql(e)),y(f),null}let{forceRender:C}=(0,j.useContext)(_t);return(0,M.jsx)(M.Fragment,{children:b.map(e=>{let v=Kl(e),y=o&&!u?!1:f===b||p.includes(v);return(0,M.jsx)(Ul,{isPresent:y,initial:!m.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:a,root:l,onExitComplete:y?void 0:()=>{if(_.current.has(v))return;if(g.has(v))_.current.add(v),g.set(v,!0);else return;let e=!0;g.forEach(t=>{t||(e=!1)}),e&&(C?.(),x(h.current),o&&d?.(),r&&r())},anchorX:s,anchorY:c,children:e},v)})})},Yl=(0,j.createContext)({strict:!1}),Xl={animation:[`animate`,`variants`,`whileHover`,`whileTap`,`exit`,`whileInView`,`whileFocus`,`whileDrag`],exit:[`exit`],drag:[`drag`,`dragControls`],focus:[`whileFocus`],hover:[`whileHover`,`onHoverStart`,`onHoverEnd`],tap:[`whileTap`,`onTap`,`onTapStart`,`onTapCancel`],pan:[`onPan`,`onPanStart`,`onPanSessionStart`,`onPanEnd`],inView:[`whileInView`,`onViewportEnter`,`onViewportLeave`],layout:[`layout`,`layoutId`]},Zl=!1;function Ql(){if(Zl)return;let e={};for(let t in Xl)e[t]={isEnabled:e=>Xl[t].some(t=>!!e[t])};ss(e),Zl=!0}function $l(){return Ql(),cs()}function eu(e){let t=$l();for(let n in e)t[n]={...t[n],...e[n]};ss(t)}var tu=new Set(`animate.exit.variants.initial.style.values.variants.transition.transformTemplate.custom.inherit.onBeforeLayoutMeasure.onAnimationStart.onAnimationComplete.onUpdate.onDragStart.onDrag.onDragEnd.onMeasureDragConstraints.onDirectionLock.onDragTransitionEnd._dragX._dragY.onHoverStart.onHoverEnd.onViewportEnter.onViewportLeave.globalTapTarget.propagate.ignoreStrict.viewport`.split(`.`));function nu(e){return e.startsWith(`while`)||e.startsWith(`drag`)&&e!==`draggable`||e.startsWith(`layout`)||e.startsWith(`onTap`)||e.startsWith(`onPan`)||e.startsWith(`onLayout`)||tu.has(e)}var ru=c({default:()=>iu}),iu,au=o((()=>{throw iu={},Error(`Could not resolve "@emotion/is-prop-valid" imported by "framer-motion". Is it installed?`)})),ou=e=>!nu(e);function su(e){typeof e==`function`&&(ou=t=>t.startsWith(`on`)?!nu(t):e(t))}try{su((au(),d(ru)).default)}catch{}function cu(e,t,n){let r={};for(let i in e)i===`values`&&typeof e.values==`object`||Da(e[i])||(ou(i)||n===!0&&nu(i)||!t&&!nu(i)||e.draggable&&i.startsWith(`onDrag`))&&(r[i]=e[i]);return r}var lu=(0,j.createContext)({});function uu(e,t){if(Qo(e)){let{initial:t,animate:n}=e;return{initial:t===!1||Yo(t)?t:void 0,animate:Yo(n)?n:void 0}}return e.inherit===!1?{}:t}function du(e){let{initial:t,animate:n}=uu(e,(0,j.useContext)(lu));return(0,j.useMemo)(()=>({initial:t,animate:n}),[fu(t),fu(n)])}function fu(e){return Array.isArray(e)?e.join(` `):e}var pu=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function mu(e,t,n){for(let r in t)!Da(t[r])&&!Hs(r,n)&&(e[r]=t[r])}function hu({transformTemplate:e},t){return(0,j.useMemo)(()=>{let n=pu();return Is(n,t,e),Object.assign({},n.vars,n.style)},[t])}function gu(e,t){let n=e.style||{},r={};return mu(r,n,e),Object.assign(r,hu(e,t)),r}function _u(e,t){let n={},r=gu(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=`none`,r.touchAction=e.drag===!0?`none`:`pan-${e.drag===`x`?`y`:`x`}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}var vu=()=>({...pu(),attrs:{}});function yu(e,t,n,r){let i=(0,j.useMemo)(()=>{let n=vu();return Xs(n,t,Qs(r),e.transformTemplate,e.style),{...n.attrs,style:{...n.style}}},[t]);if(e.style){let t={};mu(t,e.style,e),i.style={...t,...i.style}}return i}var bu=[`animate`,`circle`,`defs`,`desc`,`ellipse`,`g`,`image`,`line`,`filter`,`marker`,`mask`,`metadata`,`path`,`pattern`,`polygon`,`polyline`,`rect`,`stop`,`switch`,`symbol`,`svg`,`text`,`tspan`,`use`,`view`];function xu(e){return typeof e!=`string`||e.includes(`-`)?!1:!!(bu.indexOf(e)>-1||/[A-Z]/u.test(e))}function Su(e,t,n,{latestValues:r},i,a=!1,o){let s=(o??xu(e)?yu:_u)(t,r,i,e),c=cu(t,typeof e==`string`,a),l=e===j.Fragment?{}:{...c,...s,ref:n},{children:u}=t,d=(0,j.useMemo)(()=>Da(u)?u.get():u,[u]);return(0,j.createElement)(e,{...l,children:d})}function Cu({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:wu(n,r,i,e),renderState:t()}}function wu(e,t,n,r){let i={},a=r(e,{});for(let e in a)i[e]=$c(a[e]);let{initial:o,animate:s}=e,c=Qo(e),l=$o(e);t&&l&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),s===void 0&&(s=t.animate));let u=n?n.initial===!1:!1;u||=o===!1;let d=u?s:o;if(d&&typeof d!=`boolean`&&!Jo(d)){let t=Array.isArray(d)?d:[d];for(let n=0;n<t.length;n++){let r=xa(e,t[n]);if(r){let{transitionEnd:e,transition:t,...n}=r;for(let e in n){let t=n[e];if(Array.isArray(t)){let e=u?t.length-1:0;t=t[e]}t!==null&&(i[e]=t)}for(let t in e)i[t]=e[t]}}}return i}var Tu=e=>(t,n)=>{let r=(0,j.useContext)(lu),i=(0,j.useContext)(bt),a=()=>Cu(e,t,r,i);return n?a():vt(a)},Eu=Tu({scrapeMotionValuesFromProps:Us,createRenderState:pu}),Du=Tu({scrapeMotionValuesFromProps:ec,createRenderState:vu}),Ou=Symbol.for(`motionComponentSymbol`);function ku(e,t,n){let r=(0,j.useRef)(n);(0,j.useInsertionEffect)(()=>{r.current=n});let i=(0,j.useRef)(null);return(0,j.useCallback)(n=>{n&&e.onMount?.(n),t&&(n?t.mount(n):t.unmount());let a=r.current;if(typeof a==`function`)if(n){let e=a(n);typeof e==`function`&&(i.current=e)}else i.current?(i.current(),i.current=null):a(n);else a&&(a.current=n)},[t])}var Au=(0,j.createContext)({});function ju(e){return e&&typeof e==`object`&&Object.prototype.hasOwnProperty.call(e,`current`)}function Mu(e,t,n,r,i,a){let{visualElement:o}=(0,j.useContext)(lu),s=(0,j.useContext)(Yl),c=(0,j.useContext)(bt),l=(0,j.useContext)(Rl),u=l.reducedMotion,d=l.skipAnimations,f=(0,j.useRef)(null),p=(0,j.useRef)(!1);r||=s.renderer,!f.current&&r&&(f.current=r(e,{visualState:t,parent:o,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:u,skipAnimations:d,isSVG:a}),p.current&&f.current&&(f.current.manuallyAnimateOnMount=!0));let m=f.current,h=(0,j.useContext)(Au);m&&!m.projection&&i&&(m.type===`html`||m.type===`svg`)&&Nu(f.current,n,i,h);let g=(0,j.useRef)(!1);(0,j.useInsertionEffect)(()=>{m&&g.current&&m.update(n,c)});let _=n[ja],v=(0,j.useRef)(!!_&&typeof window<`u`&&!window.MotionHandoffIsComplete?.(_)&&window.MotionHasOptimisedAnimation?.(_));return yt(()=>{p.current=!0,m&&(g.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),v.current&&m.animationState&&m.animationState.animateChanges())}),(0,j.useEffect)(()=>{m&&(!v.current&&m.animationState&&m.animationState.animateChanges(),v.current&&=(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(_)}),!1),m.enteringChildren=void 0)}),m}function Nu(e,t,n,r){let{layoutId:i,layout:a,drag:o,dragConstraints:s,layoutScroll:c,layoutRoot:l,layoutAnchor:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t[`data-framer-portal-id`]?void 0:Pu(e.parent)),e.projection.setOptions({layoutId:i,layout:a,alwaysMeasureLayout:!!o||s&&ju(s),visualElement:e,animationType:typeof a==`string`?a:`both`,initialPromotionConfig:r,crossfade:d,layoutScroll:c,layoutRoot:l,layoutAnchor:u})}function Pu(e){if(e)return e.options.allowProjection===!1?Pu(e.parent):e.projection}function Fu(e,{forwardMotionProps:t=!1,type:n}={},r,i){r&&eu(r);let a=n?n===`svg`:xu(e),o=a?Du:Eu;function s(n,s){let c,l={...(0,j.useContext)(Rl),...n,layoutId:Iu(n)},{isStatic:u}=l,d=du(n),f=o(n,u);if(!u&&typeof window<`u`){Lu(l,r);let t=Ru(l);c=t.MeasureLayout,d.visualElement=Mu(e,f,l,i,t.ProjectionNode,a)}return(0,M.jsxs)(lu.Provider,{value:d,children:[c&&d.visualElement?(0,M.jsx)(c,{visualElement:d.visualElement,...l}):null,Su(e,n,ku(f,d.visualElement,s),f,u,t,a)]})}s.displayName=`motion.${typeof e==`string`?e:`create(${e.displayName??e.name??``})`}`;let c=(0,j.forwardRef)(s);return c[Ou]=e,c}function Iu({layoutId:e}){let t=(0,j.useContext)(_t).id;return t&&e!==void 0?t+`-`+e:e}function Lu(e,t){(0,j.useContext)(Yl).strict}function Ru(e){let{drag:t,layout:n}=$l();if(!t&&!n)return{};let r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function zu(e,t){if(typeof Proxy>`u`)return Fu;let n=new Map,r=(n,r)=>Fu(n,r,e,t);return new Proxy((e,t)=>r(e,t),{get:(i,a)=>a===`create`?r:(n.has(a)||n.set(a,Fu(a,void 0,e,t)),n.get(a))})}var Bu=(e,t)=>t.isSVG??xu(e)?new tc(t):new Gs(t,{allowProjection:e!==j.Fragment}),Vu=class extends ds{constructor(e){super(e),e.animationState||=cc(e)}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();Jo(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}},Hu=0,Uu={animation:{Feature:Vu},exit:{Feature:class extends ds{constructor(){super(...arguments),this.id=Hu++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;if(e&&n===!1){if(this.isExitComplete){let{initial:e,custom:t}=this.node.getProps();if(typeof e==`string`||typeof e==`object`&&e&&!Array.isArray(e)){let n=Sa(this.node,e,t);if(n){let{transition:e,transitionEnd:t,...r}=n;for(let e in r)this.node.getValue(e)?.jump(r[e])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive(`exit`,!1);this.isExitComplete=!1;return}let r=this.node.animationState.setActive(`exit`,!e);t&&!e&&r.then(()=>{this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};t&&t(this.id),e&&(this.unmount=e(this.id))}unmount(){}}}};function Wu(e){return{point:{x:e.pageX,y:e.pageY}}}var Gu=e=>t=>go(t)&&e(t,Wu(t));function Ku(e,t,n,r){return Yc(e,t,Gu(n),r)}var qu=({current:e})=>e?e.ownerDocument.defaultView:null,Ju=(e,t)=>Math.abs(e-t);function Yu(e,t){let n=Ju(e.x,t.x),r=Ju(e.y,t.y);return Math.sqrt(n**2+r**2)}var Xu=new Set([`auto`,`scroll`]),Zu=class{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Qu(this.lastRawMoveEventInfo,this.transformPagePoint));let e=ed(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=Yu(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=cn;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=Qu(t,this.transformPagePoint),I.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=ed(e.type===`pointercancel`?this.lastMoveEventInfo:Qu(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!go(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=Qu(Wu(e),this.transformPagePoint),{point:c}=s,{timestamp:l}=cn;this.history=[{...c,timestamp:l}];let{onSessionStart:u}=t;u&&u(e,ed(s,this.history)),this.removeListeners=kt(Ku(this.contextWindow,`pointermove`,this.handlePointerMove),Ku(this.contextWindow,`pointerup`,this.handlePointerUp),Ku(this.contextWindow,`pointercancel`,this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(Xu.has(e.overflowX)||Xu.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},i={x:r.x-t.x,y:r.y-t.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(e,r),I.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),sn(this.updatePoint)}};function Qu(e,t){return t?{point:t(e.point)}:e}function $u(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ed({point:e},t){return{point:e,delta:$u(e,nd(t)),offset:$u(e,td(t)),velocity:rd(t,.1)}}function td(e){return e[0]}function nd(e){return e[e.length-1]}function rd(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=nd(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>P(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>P(t)*2&&(r=e[1]);let a=Mt(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function id(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?R(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?R(n,e,r.max):Math.min(e,n)),e}function ad(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function od(e,{top:t,left:n,bottom:r,right:i}){return{x:ad(e.x,n,i),y:ad(e.y,t,r)}}function sd(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function cd(e,t){return{x:sd(e.x,t.x),y:sd(e.y,t.y)}}function ld(e,t){let n=.5,r=_c(e),i=_c(t);return i>r?n=At(t.min,t.max-r,e.min):r>i&&(n=At(e.min,e.max-i,t.min)),N(0,1,n)}function ud(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var dd=.35;function fd(e=dd){return e===!1?e=0:e===!0&&(e=dd),{x:pd(e,`left`,`right`),y:pd(e,`top`,`bottom`)}}function pd(e,t,n){return{min:md(e,t),max:md(e,n)}}function md(e,t){return typeof e==`number`?e:e[t]||0}var hd=new WeakMap,gd=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Ko(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let i=e=>{t&&this.snapToCursor(Wu(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=uo(n),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),zc(e=>{let t=this.getAxisMotionValue(e).get()||0;if(In.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=_c(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&I.update(()=>i(e,t),!1,!0),ka(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;if(r&&this.currentDirection===null){this.currentDirection=bd(o),this.currentDirection!==null&&i&&i(this.currentDirection);return}this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&I.update(()=>a(e,t),!1,!0)},s=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:l}=this.getProps();this.panSession=new Zu(e,{onSessionStart:i,onStart:a,onMove:o,onSessionEnd:s,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:l,distanceThreshold:n,contextWindow:qu(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&I.postRender(()=>o(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!yd(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=id(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&ju(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=od(n.layoutBox,e):this.constraints=!1,this.elastic=fd(t),r!==this.constraints&&!ju(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&zc(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=ud(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!ju(e))return!1;let n=e.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;r.root&&(r.root.scroll=void 0,r.root.updateScroll());let i=Ms(n,r.root,this.visualElement.getTransformPagePoint()),a=cd(r.layout.layoutBox,i);if(t){let e=t(ps(a));this.hasMutatedConstraints=!!e,e&&(a=fs(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=zc(o=>{if(!yd(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return ka(this.visualElement,e),n.start(ga(e,n,0,t,this.visualElement,!1))}stopAnimation(){zc(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`;return this.visualElement.getProps()[t]||this.visualElement.getValue(e,this.visualElement.latestValues[e]??0)}snapToCursor(e){zc(t=>{let{drag:n}=this.getProps();if(!yd(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-R(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!ju(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};zc(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=ld({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),zc(t=>{if(!yd(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(R(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;hd.set(this.visualElement,this);let e=this.visualElement.current,t=Ku(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&bo(i);n&&r&&!a&&this.start(t)}),n,r=()=>{let{dragConstraints:t}=this.getProps();ju(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),n||=vd(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:i}=this.visualElement,a=i.addEventListener(`measure`,r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),I.read(r);let o=Yc(window,`resize`,()=>this.scalePositionWithinConstraints()),s=i.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(zc(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{o(),t(),a(),s&&s(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=dd,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function _d(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function vd(e,t,n){let r=Ro(e,_d(n)),i=Ro(t,_d(n));return()=>{r(),i()}}function yd(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function bd(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var xd=class extends ds{constructor(e){super(e),this.removeGroupControls=Ot,this.removeListeners=Ot,this.controls=new gd(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Ot}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Sd=e=>(t,n)=>{e&&I.update(()=>e(t,n),!1,!0)},Cd=class extends ds{constructor(){super(...arguments),this.removePointerDownListener=Ot}onPointerDown(e){this.session=new Zu(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:qu(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:Sd(e),onStart:Sd(t),onMove:Sd(n),onEnd:(e,t)=>{delete this.session,r&&I.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=Ku(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},wd=!1,Td=class extends j.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),wd&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),tl.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,{projection:a}=n;return a?(a.isPresent=i,e.layoutDependency!==t&&a.setOptions({...a.options,layoutDependency:t}),wd=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==i?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||I.postRender(()=>{let e=a.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),oo.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;wd=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function Ed(e){let[t,n]=Gl(),r=(0,j.useContext)(_t);return(0,M.jsx)(Td,{...e,layoutGroup:r,switchLayoutGroup:(0,j.useContext)(Au),isPresent:t,safeToRemove:n})}var Dd={pan:{Feature:Cd},drag:{Feature:xd,ProjectionNode:Ll,MeasureLayout:Ed}};function Od(e,t,n){let{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive(`whileHover`,n===`Start`);let i=r[`onHover`+n];i&&I.postRender(()=>i(t,Wu(t)))}var kd=class extends ds{mount(){let{current:e}=this.node;e&&(this.unmount=mo(e,(e,t)=>(Od(this.node,t,`Start`),e=>Od(this.node,e,`End`))))}unmount(){}},Ad=class extends ds{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(`:focus-visible`)}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!1),this.isActive=!1)}mount(){this.unmount=kt(Yc(this.node.current,`focus`,()=>this.onFocus()),Yc(this.node.current,`blur`,()=>this.onBlur()))}unmount(){}};function jd(e,t,n){let{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive(`whileTap`,n===`Start`);let i=r[`onTap`+(n===`End`?``:n)];i&&I.postRender(()=>i(t,Wu(t)))}var Md=class extends ds{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:n}=this.node.props;this.unmount=Eo(e,(e,t)=>(jd(this.node,t,`Start`),(e,{success:t})=>jd(this.node,e,t?`End`:`Cancel`)),{useGlobalTarget:t,stopPropagation:n?.tap===!1})}unmount(){}},Nd=new WeakMap,Pd=new WeakMap,Fd=e=>{let t=Nd.get(e.target);t&&t(e)},Id=e=>{e.forEach(Fd)};function Ld({root:e,...t}){let n=e||document;Pd.has(n)||Pd.set(n,{});let r=Pd.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(Id,{root:e,...t})),r[i]}function Rd(e,t,n){let r=Ld(t);return Nd.set(e,n),r.observe(e),()=>{Nd.delete(e),r.unobserve(e)}}var zd={some:0,all:1},Bd=class extends ds{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=`some`,once:i}=e,a={root:t?t.current:void 0,rootMargin:n,threshold:typeof r==`number`?r:zd[r]},o=e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,i&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(`whileInView`,t);let{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),a=t?n:r;a&&a(e)};this.stopObserver=Rd(this.node.current,a,o)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>`u`)return;let{props:e,prevProps:t}=this.node;[`amount`,`margin`,`root`].some(Vd(e,t))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}};function Vd({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}var Hd={inView:{Feature:Bd},tap:{Feature:Md},focus:{Feature:Ad},hover:{Feature:kd}},Ud={layout:{ProjectionNode:Ll,MeasureLayout:Ed}},Wd=zu({...Uu,...Hd,...Dd,...Ud},Bu);function Gd(e){return typeof window>`u`?!1:e?ji():Ai()}var Kd=50,qd=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),Jd=()=>({time:0,x:qd(),y:qd()}),Yd={x:{length:`Width`,position:`Left`},y:{length:`Height`,position:`Top`}};function Xd(e,t,n,r){let i=n[t],{length:a,position:o}=Yd[t],s=i.current,c=n.time;i.current=Math.abs(e[`scroll${o}`]),i.scrollLength=e[`scroll${a}`]-e[`client${a}`],i.offset.length=0,i.offset[0]=0,i.offset[1]=i.scrollLength,i.progress=At(0,i.scrollLength,i.current);let l=r-c;i.velocity=l>Kd?0:Nt(i.current-s,l)}function Zd(e,t,n){Xd(e,`x`,t,n),Xd(e,`y`,t,n),t.time=n}function Qd(e,t){let n={x:0,y:0},r=e;for(;r&&r!==t;)if(ao(r))n.x+=r.offsetLeft,n.y+=r.offsetTop,r=r.offsetParent;else if(r.tagName===`svg`){let e=r.getBoundingClientRect();r=r.parentElement;let t=r.getBoundingClientRect();n.x+=e.left-t.left,n.y+=e.top-t.top}else if(r instanceof SVGGraphicsElement){let{x:e,y:t}=r.getBBox();n.x+=e,n.y+=t;let i=null,a=r.parentNode;for(;!i;)a.tagName===`svg`&&(i=a),a=r.parentNode;r=i}else break;return n}var $d={start:0,center:.5,end:1};function ef(e,t,n=0){let r=0;if(e in $d&&(e=$d[e]),typeof e==`string`){let t=parseFloat(e);e.endsWith(`px`)?r=t:e.endsWith(`%`)?e=t/100:e.endsWith(`vw`)?r=t/100*document.documentElement.clientWidth:e.endsWith(`vh`)?r=t/100*document.documentElement.clientHeight:e=t}return typeof e==`number`&&(r=t*e),n+r}var tf=[0,0];function nf(e,t,n,r){let i=Array.isArray(e)?e:tf,a=0,o=0;return typeof e==`number`?i=[e,e]:typeof e==`string`&&(e=e.trim(),i=e.includes(` `)?e.split(` `):[e,$d[e]?e:`0`]),a=ef(i[0],n,r),o=ef(i[1],t),a-o}var rf={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},af={x:0,y:0};function of(e){return`getBBox`in e&&e.tagName!==`svg`?e.getBBox():{width:e.clientWidth,height:e.clientHeight}}function sf(e,t,n){let{offset:r=rf.All}=n,{target:i=e,axis:a=`y`}=n,o=a===`y`?`height`:`width`,s=i===e?af:Qd(i,e),c=i===e?{width:e.scrollWidth,height:e.scrollHeight}:of(i),l={width:e.clientWidth,height:e.clientHeight};t[a].offset.length=0;let u=!t[a].interpolate,d=r.length;for(let e=0;e<d;e++){let n=nf(r[e],l[o],c[o],s[a]);!u&&n!==t[a].interpolatorOffsets[e]&&(u=!0),t[a].offset[e]=n}u&&(t[a].interpolate=Br(t[a].offset,Hr(r),{clamp:!1}),t[a].interpolatorOffsets=[...t[a].offset]),t[a].progress=N(0,1,t[a].interpolate(t[a].current))}function cf(e,t=e,n){if(n.x.targetOffset=0,n.y.targetOffset=0,t!==e){let r=t;for(;r&&r!==e;)n.x.targetOffset+=r.offsetLeft,n.y.targetOffset+=r.offsetTop,r=r.offsetParent}n.x.targetLength=t===e?t.scrollWidth:t.clientWidth,n.y.targetLength=t===e?t.scrollHeight:t.clientHeight,n.x.containerLength=e.clientWidth,n.y.containerLength=e.clientHeight}function lf(e,t,n,r={}){return{measure:t=>{cf(e,r.target,n),Zd(e,n,t),(r.offset||r.target)&&sf(e,n,r)},notify:()=>t(n)}}var uf=new WeakMap,df=new WeakMap,ff=new WeakMap,pf=new WeakMap,mf=new WeakMap,hf=e=>e===document.scrollingElement?window:e;function gf(e,{container:t=document.scrollingElement,trackContentSize:n=!1,...r}={}){if(!t)return Ot;let i=ff.get(t);i||(i=new Set,ff.set(t,i));let a=lf(t,e,Jd(),r);if(i.add(a),!uf.has(t)){let e=()=>{for(let e of i)e.measure(cn.timestamp);I.preUpdate(n)},n=()=>{for(let e of i)e.notify()},r=()=>I.read(e);uf.set(t,r);let a=hf(t);window.addEventListener(`resize`,r),t!==document.documentElement&&df.set(t,Ro(t,r)),a.addEventListener(`scroll`,r),r()}if(n&&!mf.has(t)){let e=uf.get(t),n={width:t.scrollWidth,height:t.scrollHeight};pf.set(t,n);let r=I.read(()=>{let r=t.scrollWidth,i=t.scrollHeight;(n.width!==r||n.height!==i)&&(e(),n.width=r,n.height=i)},!0);mf.set(t,r)}let o=uf.get(t);return I.read(o,!1,!0),()=>{sn(o);let e=ff.get(t);if(!e||(e.delete(a),e.size))return;let n=uf.get(t);uf.delete(t),n&&(hf(t).removeEventListener(`scroll`,n),df.get(t)?.(),window.removeEventListener(`resize`,n));let r=mf.get(t);r&&(sn(r),mf.delete(t)),pf.delete(t)}}var _f=[[rf.Enter,`entry`],[rf.Exit,`exit`],[rf.Any,`cover`],[rf.All,`contain`]],vf={start:0,end:1};function yf(e){let t=e.trim().split(/\s+/);if(t.length!==2)return;let n=vf[t[0]],r=vf[t[1]];if(!(n===void 0||r===void 0))return[n,r]}function bf(e){if(e.length!==2)return;let t=[];for(let n of e)if(Array.isArray(n))t.push(n);else if(typeof n==`string`){let e=yf(n);if(!e)return;t.push(e)}else return;return t}function xf(e,t){let n=bf(e);if(!n)return!1;for(let e=0;e<2;e++){let r=n[e],i=t[e];if(r[0]!==i[0]||r[1]!==i[1])return!1}return!0}function Sf(e){if(!e)return{rangeStart:`contain 0%`,rangeEnd:`contain 100%`};for(let[t,n]of _f)if(xf(e,t))return{rangeStart:`${n} 0%`,rangeEnd:`${n} 100%`}}var Cf=new Map;function wf(e){let t={value:0};return{currentTime:t,cancel:gf(n=>{t.value=n[e.axis].progress*100},e)}}function Tf({source:e,container:t,...n}){let{axis:r}=n;e&&(t=e);let i=Cf.get(t);i||(i=new Map,Cf.set(t,i));let a=n.target??`self`,o=i.get(a);o||(o={},i.set(a,o));let s=r+(n.offset??[]).join(`,`);return o[s]||(n.target&&Gd(n.target)?Sf(n.offset)?o[s]=new ViewTimeline({subject:n.target,axis:r}):o[s]=wf({container:t,...n}):Gd()?o[s]=new ScrollTimeline({source:t,axis:r}):o[s]=wf({container:t,...n})),o[s]}function Ef(e,t){let n=Tf(t),r=t.target?Sf(t.offset):void 0,i=t.target?Gd(t.target)&&!!r:Gd();return e.attachTimeline({timeline:i?n:void 0,...r&&i&&{rangeStart:r.rangeStart,rangeEnd:r.rangeEnd},observe:e=>(e.pause(),zo(t=>{e.time=e.iterationDuration*t},n))})}function Df(e){return e&&(e.target||e.offset)}function Of(e){return e.length===2}function kf(e,t){return Of(e)||Df(t)?gf(n=>{e(n[t.axis].progress,n)},t):zo(e,Tf(t))}function Af(e,{axis:t=`y`,container:n=document.scrollingElement,...r}={}){if(!n)return Ot;let i={axis:t,container:n,...r};return typeof e==`function`?kf(e,i):Ef(e,i)}function jf(e){let t=vt(()=>oa(e)),{isStatic:n}=(0,j.useContext)(Rl);if(n){let[,n]=(0,j.useState)(e);(0,j.useEffect)(()=>t.on(`change`,n),[])}return t}function Mf(){!ns.current&&is();let[e]=(0,j.useState)(ts.current);return e}var Nf=v(),Pf=(0,j.createContext)({color:`currentColor`,size:`1em`,weight:`regular`,mirrored:!1}),Ff=j.forwardRef((e,t)=>{let{alt:n,color:r,size:i,weight:a,mirrored:o,children:s,weights:c,...l}=e,{color:u=`currentColor`,size:d,weight:f=`regular`,mirrored:p=!1,...m}=j.useContext(Pf);return j.createElement(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,width:i??d,height:i??d,fill:r??u,viewBox:`0 0 256 256`,transform:o||p?`scale(-1, 1)`:void 0,...m,...l},!!n&&j.createElement(`title`,null,n),s,c.get(a??f))});Ff.displayName=`IconBase`;var If=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M112,56V200L40,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M216,120H120V56a8,8,0,0,0-13.66-5.66l-72,72a8,8,0,0,0,0,11.32l72,72A8,8,0,0,0,120,200V136h96a8,8,0,0,0,0-16ZM104,180.69,51.31,128,104,75.31Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H120v64a8,8,0,0,1-13.66,5.66l-72-72a8,8,0,0,1,0-11.32l72-72A8,8,0,0,1,120,56v64h96A8,8,0,0,1,224,128Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H54.49l61.75,61.76a6,6,0,1,1-8.48,8.48l-72-72a6,6,0,0,1,0-8.48l72-72a6,6,0,0,1,8.48,8.48L54.49,122H216A6,6,0,0,1,222,128Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H49.66l65.17,65.17a4,4,0,0,1-5.66,5.66l-72-72a4,4,0,0,1,0-5.66l72-72a4,4,0,0,1,5.66,5.66L49.66,124H216A4,4,0,0,1,220,128Z`}))]]),Lf=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:If}));Lf.displayName=`ArrowLeftIcon`;var Rf=Lf,zf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z`}))]]),Bf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,48V96a12,12,0,0,1-12,12H168a12,12,0,0,1,0-24h19l-7.8-7.8a75.55,75.55,0,0,0-53.32-22.26h-.43A75.49,75.49,0,0,0,72.39,75.57,12,12,0,1,1,55.61,58.41a99.38,99.38,0,0,1,69.87-28.47H126A99.42,99.42,0,0,1,196.2,59.23L204,67V48a12,12,0,0,1,24,0ZM183.61,180.43a75.49,75.49,0,0,1-53.09,21.63h-.43A75.55,75.55,0,0,1,76.77,179.8L69,172H88a12,12,0,0,0,0-24H40a12,12,0,0,0-12,12v48a12,12,0,0,0,24,0V189l7.8,7.8A99.42,99.42,0,0,0,130,226.06h.56a99.38,99.38,0,0,0,69.87-28.47,12,12,0,0,0-16.78-17.16Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M224,48V96a8,8,0,0,1-8,8H168a8,8,0,0,1,0-16h28.69L182.06,73.37a79.56,79.56,0,0,0-56.13-23.43h-.45A79.52,79.52,0,0,0,69.59,72.71,8,8,0,0,1,58.41,61.27a96,96,0,0,1,135,.79L208,76.69V48a8,8,0,0,1,16,0ZM186.41,183.29a80,80,0,0,1-112.47-.66L59.31,168H88a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8v48a8,8,0,0,0,16,0V179.31l14.63,14.63A95.43,95.43,0,0,0,130,222.06h.53a95.36,95.36,0,0,0,67.07-27.33,8,8,0,0,0-11.18-11.44Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,48V96a8,8,0,0,1-8,8H168a8,8,0,0,1-5.66-13.66L180.65,72a79.48,79.48,0,0,0-54.72-22.09h-.45A79.52,79.52,0,0,0,69.59,72.71,8,8,0,0,1,58.41,61.27,96,96,0,0,1,192,60.7l18.36-18.36A8,8,0,0,1,224,48ZM186.41,183.29A80,80,0,0,1,75.35,184l18.31-18.31A8,8,0,0,0,88,152H40a8,8,0,0,0-8,8v48a8,8,0,0,0,13.66,5.66L64,195.3a95.42,95.42,0,0,0,66,26.76h.53a95.36,95.36,0,0,0,67.07-27.33,8,8,0,0,0-11.18-11.44Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,48V96a6,6,0,0,1-6,6H168a6,6,0,0,1,0-12h33.52L183.47,72a81.51,81.51,0,0,0-57.53-24h-.46A81.5,81.5,0,0,0,68.19,71.28a6,6,0,1,1-8.38-8.58,93.38,93.38,0,0,1,65.67-26.76H126a93.45,93.45,0,0,1,66,27.53l18,18V48a6,6,0,0,1,12,0ZM187.81,184.72a81.5,81.5,0,0,1-57.29,23.34h-.46a81.51,81.51,0,0,1-57.53-24L54.48,166H88a6,6,0,0,0,0-12H40a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V174.48l18,18.05a93.45,93.45,0,0,0,66,27.53h.52a93.38,93.38,0,0,0,65.67-26.76,6,6,0,1,0-8.38-8.58Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,48V96a8,8,0,0,1-8,8H168a8,8,0,0,1,0-16h28.69L182.06,73.37a79.56,79.56,0,0,0-56.13-23.43h-.45A79.52,79.52,0,0,0,69.59,72.71,8,8,0,0,1,58.41,61.27a96,96,0,0,1,135,.79L208,76.69V48a8,8,0,0,1,16,0ZM186.41,183.29a80,80,0,0,1-112.47-.66L59.31,168H88a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8v48a8,8,0,0,0,16,0V179.31l14.63,14.63A95.43,95.43,0,0,0,130,222.06h.53a95.36,95.36,0,0,0,67.07-27.33,8,8,0,0,0-11.18-11.44Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,48V96a4,4,0,0,1-4,4H168a4,4,0,0,1,0-8h38.34L184.89,70.54A84,84,0,0,0,66.8,69.85a4,4,0,1,1-5.6-5.72,92,92,0,0,1,129.34.76L212,86.34V48a4,4,0,0,1,8,0ZM189.2,186.15a83.44,83.44,0,0,1-58.68,23.91h-.47a83.52,83.52,0,0,1-58.94-24.6L49.66,164H88a4,4,0,0,0,0-8H40a4,4,0,0,0-4,4v48a4,4,0,0,0,8,0V169.66l21.46,21.45A91.43,91.43,0,0,0,130,218.06h.51a91.45,91.45,0,0,0,64.28-26.19,4,4,0,1,0-5.6-5.72Z`}))]]),Vf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M176.49,95.51a12,12,0,0,1,0,17l-56,56a12,12,0,0,1-17,0l-24-24a12,12,0,1,1,17-17L112,143l47.51-47.52A12,12,0,0,1,176.49,95.51ZM236,128A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm45.66,85.66-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35a8,8,0,0,1,11.32,11.32Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M172.24,99.76a6,6,0,0,1,0,8.48l-56,56a6,6,0,0,1-8.48,0l-24-24a6,6,0,0,1,8.48-8.48L112,151.51l51.76-51.75A6,6,0,0,1,172.24,99.76ZM230,128A102,102,0,1,1,128,26,102.12,102.12,0,0,1,230,128Zm-12,0a90,90,0,1,0-90,90A90.1,90.1,0,0,0,218,128Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M170.83,101.17a4,4,0,0,1,0,5.66l-56,56a4,4,0,0,1-5.66,0l-24-24a4,4,0,0,1,5.66-5.66L112,154.34l53.17-53.17A4,4,0,0,1,170.83,101.17ZM228,128A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z`}))]]),Hf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M232,128A104,104,0,1,1,128,24,104.13,104.13,0,0,1,232,128Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Z`}))]]),Uf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,36H48A28,28,0,0,0,20,64V172a28,28,0,0,0,28,28h68v12H96a12,12,0,0,0,0,24h64a12,12,0,0,0,0-24H140V200h68a28,28,0,0,0,28-28V64A28,28,0,0,0,208,36ZM48,60H208a4,4,0,0,1,4,4v72H44V64A4,4,0,0,1,48,60ZM208,176H48a4,4,0,0,1-4-4V160H212v12A4,4,0,0,1,208,176Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,64v88H32V64A16,16,0,0,1,48,48H208A16,16,0,0,1,224,64Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24h72v16H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16H136V200h72a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40ZM48,56H208a8,8,0,0,1,8,8v80H40V64A8,8,0,0,1,48,56ZM208,184H48a8,8,0,0,1-8-8V160H216v16A8,8,0,0,1,208,184Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24h72v16H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16H136V200h72a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm0,144H48a8,8,0,0,1-8-8V160H216v16A8,8,0,0,1,208,184Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,42H48A22,22,0,0,0,26,64V176a22,22,0,0,0,22,22h74v20H96a6,6,0,0,0,0,12h64a6,6,0,0,0,0-12H134V198h74a22,22,0,0,0,22-22V64A22,22,0,0,0,208,42ZM48,54H208a10,10,0,0,1,10,10v82H38V64A10,10,0,0,1,48,54ZM208,186H48a10,10,0,0,1-10-10V158H218v18A10,10,0,0,1,208,186Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24h72v16H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16H136V200h72a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40ZM48,56H208a8,8,0,0,1,8,8v80H40V64A8,8,0,0,1,48,56ZM208,184H48a8,8,0,0,1-8-8V160H216v16A8,8,0,0,1,208,184Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,44H48A20,20,0,0,0,28,64V176a20,20,0,0,0,20,20h76v24H96a4,4,0,0,0,0,8h64a4,4,0,0,0,0-8H132V196h76a20,20,0,0,0,20-20V64A20,20,0,0,0,208,44ZM48,52H208a12,12,0,0,1,12,12v84H36V64A12,12,0,0,1,48,52ZM208,188H48a12,12,0,0,1-12-12V156H220v20A12,12,0,0,1,208,188Z`}))]]),Wf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M28,64A12,12,0,0,1,40,52H216a12,12,0,0,1,0,24H40A12,12,0,0,1,28,64Zm12,76h64a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24Zm80,40H40a12,12,0,0,0,0,24h80a12,12,0,0,0,0-24Zm120.49,20.49a12,12,0,0,1-17,0l-18.08-18.08a44,44,0,1,1,17-17l18.08,18.07A12,12,0,0,1,240.49,200.49ZM184,164a20,20,0,1,0-20-20A20,20,0,0,0,184,164Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,144a32,32,0,1,1-32-32A32,32,0,0,1,216,144Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,72h72a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm88,48H40a8,8,0,0,0,0,16h88a8,8,0,0,0,0-16Zm109.66,13.66a8,8,0,0,1-11.32,0L206,177.36A40,40,0,1,1,217.36,166l20.3,20.3A8,8,0,0,1,237.66,197.66ZM184,168a24,24,0,1,0-24-24A24,24,0,0,0,184,168Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,72h72a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm88,48H40a8,8,0,0,0,0,16h88a8,8,0,0,0,0-16Zm109.66,2.34L217.36,166A40,40,0,1,0,206,177.36l20.3,20.3a8,8,0,0,0,11.32-11.32Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M34,64a6,6,0,0,1,6-6H216a6,6,0,0,1,0,12H40A6,6,0,0,1,34,64Zm6,70h72a6,6,0,0,0,0-12H40a6,6,0,0,0,0,12Zm88,52H40a6,6,0,0,0,0,12h88a6,6,0,0,0,0-12Zm108.24,10.24a6,6,0,0,1-8.48,0l-21.49-21.48a38.06,38.06,0,1,1,8.49-8.49l21.48,21.49A6,6,0,0,1,236.24,196.24ZM184,170a26,26,0,1,0-26-26A26,26,0,0,0,184,170Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,72h72a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm88,48H40a8,8,0,0,0,0,16h88a8,8,0,0,0,0-16Zm109.66,13.66a8,8,0,0,1-11.32,0L206,177.36A40,40,0,1,1,217.36,166l20.3,20.3A8,8,0,0,1,237.66,197.66ZM184,168a24,24,0,1,0-24-24A24,24,0,0,0,184,168Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M36,64a4,4,0,0,1,4-4H216a4,4,0,0,1,0,8H40A4,4,0,0,1,36,64Zm4,68h72a4,4,0,0,0,0-8H40a4,4,0,0,0,0,8Zm88,56H40a4,4,0,0,0,0,8h88a4,4,0,0,0,0-8Zm106.83,6.83a4,4,0,0,1-5.66,0l-22.72-22.72a36.06,36.06,0,1,1,5.66-5.66l22.72,22.72A4,4,0,0,1,234.83,194.83ZM184,172a28,28,0,1,0-28-28A28,28,0,0,0,184,172Z`}))]]),Gf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M168,112a56,56,0,1,1-56-56A56,56,0,0,1,168,112Zm61.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88,88,0,1,1,11.32-11.31l50.06,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228.24,219.76l-51.38-51.38a86.15,86.15,0,1,0-8.48,8.48l51.38,51.38a6,6,0,0,0,8.48-8.48ZM38,112a74,74,0,1,1,74,74A74.09,74.09,0,0,1,38,112Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M226.83,221.17l-52.7-52.7a84.1,84.1,0,1,0-5.66,5.66l52.7,52.7a4,4,0,0,0,5.66-5.66ZM36,112a76,76,0,1,1,76,76A76.08,76.08,0,0,1,36,112Z`}))]]),Kf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M244,96a12,12,0,0,1-12,12H220v12a12,12,0,0,1-24,0V108H184a12,12,0,0,1,0-24h12V72a12,12,0,0,1,24,0V84h12A12,12,0,0,1,244,96ZM144,60h4v4a12,12,0,0,0,24,0V60h4a12,12,0,0,0,0-24h-4V32a12,12,0,0,0-24,0v4h-4a12,12,0,0,0,0,24Zm75.81,90.38A12,12,0,0,1,222,162.3,100,100,0,1,1,93.7,34a12,12,0,0,1,15.89,13.6A85.12,85.12,0,0,0,108,64a84.09,84.09,0,0,0,84,84,85.22,85.22,0,0,0,16.37-1.59A12,12,0,0,1,219.81,150.38ZM190,172A108.13,108.13,0,0,1,84,66,76,76,0,1,0,190,172Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M210.69,158.18A88,88,0,1,1,97.82,45.31,96.08,96.08,0,0,0,192,160,96.78,96.78,0,0,0,210.69,158.18Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M240,96a8,8,0,0,1-8,8H216v16a8,8,0,0,1-16,0V104H184a8,8,0,0,1,0-16h16V72a8,8,0,0,1,16,0V88h16A8,8,0,0,1,240,96ZM144,56h8v8a8,8,0,0,0,16,0V56h8a8,8,0,0,0,0-16h-8V32a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16Zm72.77,97a8,8,0,0,1,1.43,8A96,96,0,1,1,95.07,37.8a8,8,0,0,1,10.6,9.06A88.07,88.07,0,0,0,209.14,150.33,8,8,0,0,1,216.77,153Zm-19.39,14.88c-1.79.09-3.59.14-5.38.14A104.11,104.11,0,0,1,88,64c0-1.79,0-3.59.14-5.38A80,80,0,1,0,197.38,167.86Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M240,96a8,8,0,0,1-8,8H216v16a8,8,0,0,1-16,0V104H184a8,8,0,0,1,0-16h16V72a8,8,0,0,1,16,0V88h16A8,8,0,0,1,240,96ZM144,56h8v8a8,8,0,0,0,16,0V56h8a8,8,0,0,0,0-16h-8V32a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16Zm65.14,94.33A88.07,88.07,0,0,1,105.67,46.86a8,8,0,0,0-10.6-9.06A96,96,0,1,0,218.2,160.93a8,8,0,0,0-9.06-10.6Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M238,96a6,6,0,0,1-6,6H214v18a6,6,0,0,1-12,0V102H184a6,6,0,0,1,0-12h18V72a6,6,0,0,1,12,0V90h18A6,6,0,0,1,238,96ZM144,54h10V64a6,6,0,0,0,12,0V54h10a6,6,0,0,0,0-12H166V32a6,6,0,0,0-12,0V42H144a6,6,0,0,0,0,12Zm71.25,100.28a6,6,0,0,1,1.07,6A94,94,0,1,1,95.76,39.68a6,6,0,0,1,7.94,6.79A90.11,90.11,0,0,0,192,154a90.9,90.9,0,0,0,17.53-1.7A6,6,0,0,1,215.25,154.28Zm-14.37,11.34q-4.42.38-8.88.38A102.12,102.12,0,0,1,90,64q0-4.45.38-8.88a82,82,0,1,0,110.5,110.5Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M240,96a8,8,0,0,1-8,8H216v16a8,8,0,0,1-16,0V104H184a8,8,0,0,1,0-16h16V72a8,8,0,0,1,16,0V88h16A8,8,0,0,1,240,96ZM144,56h8v8a8,8,0,0,0,16,0V56h8a8,8,0,0,0,0-16h-8V32a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16Zm72.77,97a8,8,0,0,1,1.43,8A96,96,0,1,1,95.07,37.8a8,8,0,0,1,10.6,9.06A88.07,88.07,0,0,0,209.14,150.33,8,8,0,0,1,216.77,153Zm-19.39,14.88c-1.79.09-3.59.14-5.38.14A104.11,104.11,0,0,1,88,64c0-1.79,0-3.59.14-5.38A80,80,0,1,0,197.38,167.86Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M236,96a4,4,0,0,1-4,4H212v20a4,4,0,0,1-8,0V100H184a4,4,0,0,1,0-8h20V72a4,4,0,0,1,8,0V92h20A4,4,0,0,1,236,96ZM144,52h12V64a4,4,0,0,0,8,0V52h12a4,4,0,0,0,0-8H164V32a4,4,0,0,0-8,0V44H144a4,4,0,0,0,0,8Zm69.73,103.58a4,4,0,0,1,.71,4,92,92,0,1,1-118-118,4,4,0,0,1,5.29,4.54A93.18,93.18,0,0,0,100,64a92.1,92.1,0,0,0,92,92,93.18,93.18,0,0,0,17.91-1.74A4,4,0,0,1,213.73,155.58Zm-9.46,7.67A100,100,0,0,1,92.75,51.73,84,84,0,1,0,204.27,163.25Z`}))]]),qf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M92,108a12,12,0,0,1,12-12h72a12,12,0,0,1,0,24H104A12,12,0,0,1,92,108Zm12,52h72a12,12,0,0,0,0-24H104a12,12,0,0,0,0,24ZM236,64V184a28,28,0,0,1-28,28H36A32,32,0,0,1,4,180V88a12,12,0,0,1,24,0v92a8,8,0,0,0,16,0V64A20,20,0,0,1,64,44H216A20,20,0,0,1,236,64Zm-24,4H68V180a32,32,0,0,1-1,8H208a4,4,0,0,0,4-4Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,64V184a16,16,0,0,1-16,16H32a16,16,0,0,0,16-16V64a8,8,0,0,1,8-8H216A8,8,0,0,1,224,64Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M88,112a8,8,0,0,1,8-8h80a8,8,0,0,1,0,16H96A8,8,0,0,1,88,112Zm8,40h80a8,8,0,0,0,0-16H96a8,8,0,0,0,0,16ZM232,64V184a24,24,0,0,1-24,24H32A24,24,0,0,1,8,184.11V88a8,8,0,0,1,16,0v96a8,8,0,0,0,16,0V64A16,16,0,0,1,56,48H216A16,16,0,0,1,232,64Zm-16,0H56V184a23.84,23.84,0,0,1-1.37,8H208a8,8,0,0,0,8-8Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48H56A16,16,0,0,0,40,64V184a8,8,0,0,1-16,0V88A8,8,0,0,0,8,88v96.11A24,24,0,0,0,32,208H208a24,24,0,0,0,24-24V64A16,16,0,0,0,216,48ZM176,152H96a8,8,0,0,1,0-16h80a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h80a8,8,0,0,1,0,16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M182,112a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h80A6,6,0,0,1,182,112Zm-6,26H96a6,6,0,0,0,0,12h80a6,6,0,0,0,0-12Zm54-74V184a22,22,0,0,1-22,22H32a22,22,0,0,1-22-21.91V88a6,6,0,0,1,12,0v96a10,10,0,0,0,20,0V64A14,14,0,0,1,56,50H216A14,14,0,0,1,230,64Zm-12,0a2,2,0,0,0-2-2H56a2,2,0,0,0-2,2V184a21.84,21.84,0,0,1-2.41,10H208a10,10,0,0,0,10-10Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M88,112a8,8,0,0,1,8-8h80a8,8,0,0,1,0,16H96A8,8,0,0,1,88,112Zm8,40h80a8,8,0,0,0,0-16H96a8,8,0,0,0,0,16ZM232,64V184a24,24,0,0,1-24,24H32A24,24,0,0,1,8,184.11V88a8,8,0,0,1,16,0v96a8,8,0,0,0,16,0V64A16,16,0,0,1,56,48H216A16,16,0,0,1,232,64Zm-16,0H56V184a23.84,23.84,0,0,1-1.37,8H208a8,8,0,0,0,8-8Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M180,112a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h80A4,4,0,0,1,180,112Zm-4,28H96a4,4,0,0,0,0,8h80a4,4,0,0,0,0-8Zm52-76V184a20,20,0,0,1-20,20H32a20,20,0,0,1-20-19.92V88a4,4,0,0,1,8,0v96a12,12,0,0,0,24,0V64A12,12,0,0,1,56,52H216A12,12,0,0,1,228,64Zm-8,0a4,4,0,0,0-4-4H56a4,4,0,0,0-4,4V184a19.86,19.86,0,0,1-4,12H208a12,12,0,0,0,12-12Z`}))]]),Jf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H134v82a6,6,0,0,1-12,0V134H40a6,6,0,0,1,0-12h82V40a6,6,0,0,1,12,0v82h82A6,6,0,0,1,222,128Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H132v84a4,4,0,0,1-8,0V132H40a4,4,0,0,1,0-8h84V40a4,4,0,0,1,8,0v84h84A4,4,0,0,1,220,128Z`}))]]),Yf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M109.74,146.26A75.53,75.53,0,0,1,132,200a12,12,0,0,1-24,0,52,52,0,0,0-52-52,12,12,0,0,1,0-24A75.51,75.51,0,0,1,109.74,146.26ZM56,76a12,12,0,0,0,0,24A100,100,0,0,1,156,200a12,12,0,0,0,24,0A124,124,0,0,0,56,76Zm121.62,2.38A170.85,170.85,0,0,0,56,28a12,12,0,0,0,0,24A147,147,0,0,1,160.65,95.35,147,147,0,0,1,204,200a12,12,0,0,0,24,0A170.85,170.85,0,0,0,177.62,78.38ZM60,180a16,16,0,1,0,16,16A16,16,0,0,0,60,180Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,200H56V40A160,160,0,0,1,216,200Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M106.91,149.09A71.53,71.53,0,0,1,128,200a8,8,0,0,1-16,0,56,56,0,0,0-56-56,8,8,0,0,1,0-16A71.53,71.53,0,0,1,106.91,149.09ZM56,80a8,8,0,0,0,0,16A104,104,0,0,1,160,200a8,8,0,0,0,16,0A120,120,0,0,0,56,80Zm118.79,1.21A166.89,166.89,0,0,0,56,32a8,8,0,0,0,0,16A151,151,0,0,1,163.48,92.52,151,151,0,0,1,208,200a8,8,0,0,0,16,0A166.9,166.9,0,0,0,174.79,81.21ZM60,184a12,12,0,1,0,12,12A12,12,0,0,0,60,184Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM76,192a12,12,0,1,1,12-12A12,12,0,0,1,76,192Zm44,0a8,8,0,0,1-8-8,40,40,0,0,0-40-40,8,8,0,0,1,0-16,56.06,56.06,0,0,1,56,56A8,8,0,0,1,120,192Zm32,0a8,8,0,0,1-8-8,72.08,72.08,0,0,0-72-72,8,8,0,0,1,0-16,88.1,88.1,0,0,1,88,88A8,8,0,0,1,152,192Zm32,0a8,8,0,0,1-8-8A104.11,104.11,0,0,0,72,80a8,8,0,0,1,0-16A120.13,120.13,0,0,1,192,184,8,8,0,0,1,184,192Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M105.5,150.5A69.54,69.54,0,0,1,126,200a6,6,0,0,1-12,0,58,58,0,0,0-58-58,6,6,0,0,1,0-12A69.54,69.54,0,0,1,105.5,150.5ZM56,82a6,6,0,0,0,0,12A106,106,0,0,1,162,200a6,6,0,0,0,12,0A118,118,0,0,0,56,82Zm117.38.62A164.92,164.92,0,0,0,56,34a6,6,0,0,0,0,12A153,153,0,0,1,164.89,91.11,153,153,0,0,1,210,200a6,6,0,0,0,12,0A164.92,164.92,0,0,0,173.38,82.62ZM60,186a10,10,0,1,0,10,10A10,10,0,0,0,60,186Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M106.91,149.09A71.53,71.53,0,0,1,128,200a8,8,0,0,1-16,0,56,56,0,0,0-56-56,8,8,0,0,1,0-16A71.53,71.53,0,0,1,106.91,149.09ZM56,80a8,8,0,0,0,0,16A104,104,0,0,1,160,200a8,8,0,0,0,16,0A120,120,0,0,0,56,80Zm118.79,1.21A166.9,166.9,0,0,0,56,32a8,8,0,0,0,0,16A151,151,0,0,1,163.48,92.52,151,151,0,0,1,208,200a8,8,0,0,0,16,0A166.9,166.9,0,0,0,174.79,81.21ZM60,184a12,12,0,1,0,12,12A12,12,0,0,0,60,184Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M104.08,151.92A67.52,67.52,0,0,1,124,200a4,4,0,0,1-8,0,60,60,0,0,0-60-60,4,4,0,0,1,0-8A67.52,67.52,0,0,1,104.08,151.92ZM56,84a4,4,0,0,0,0,8A108,108,0,0,1,164,200a4,4,0,0,0,8,0A116,116,0,0,0,56,84Zm116,0A162.92,162.92,0,0,0,56,36a4,4,0,0,0,0,8A155,155,0,0,1,166.31,89.69,155,155,0,0,1,212,200a4,4,0,0,0,8,0A162.92,162.92,0,0,0,172,84ZM60,188a8,8,0,1,0,8,8A8,8,0,0,0,60,188Z`}))]]),Xf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M243,96a20.33,20.33,0,0,0-17.74-14l-56.59-4.57L146.83,24.62a20.36,20.36,0,0,0-37.66,0L87.35,77.44,30.76,82A20.45,20.45,0,0,0,19.1,117.88l43.18,37.24-13.2,55.7A20.37,20.37,0,0,0,79.57,233L128,203.19,176.43,233a20.39,20.39,0,0,0,30.49-22.15l-13.2-55.7,43.18-37.24A20.43,20.43,0,0,0,243,96ZM172.53,141.7a12,12,0,0,0-3.84,11.86L181.58,208l-47.29-29.08a12,12,0,0,0-12.58,0L74.42,208l12.89-54.4a12,12,0,0,0-3.84-11.86L41.2,105.24l55.4-4.47a12,12,0,0,0,10.13-7.38L128,41.89l21.27,51.5a12,12,0,0,0,10.13,7.38l55.4,4.47Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M229.06,108.79l-48.7,42,14.88,62.79a8.4,8.4,0,0,1-12.52,9.17L128,189.09,73.28,222.74a8.4,8.4,0,0,1-12.52-9.17l14.88-62.79-48.7-42A8.46,8.46,0,0,1,31.73,94L95.64,88.8l24.62-59.6a8.36,8.36,0,0,1,15.48,0l24.62,59.6L224.27,94A8.46,8.46,0,0,1,229.06,108.79Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M234.29,114.85l-45,38.83L203,211.75a16.4,16.4,0,0,1-24.5,17.82L128,198.49,77.47,229.57A16.4,16.4,0,0,1,53,211.75l13.76-58.07-45-38.83A16.46,16.46,0,0,1,31.08,86l59-4.76,22.76-55.08a16.36,16.36,0,0,1,30.27,0l22.75,55.08,59,4.76a16.46,16.46,0,0,1,9.37,28.86Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M237.28,97.87A14.18,14.18,0,0,0,224.76,88l-60.25-4.87-23.22-56.2a14.37,14.37,0,0,0-26.58,0L91.49,83.11,31.24,88a14.18,14.18,0,0,0-12.52,9.89A14.43,14.43,0,0,0,23,113.32L69,152.93l-14,59.25a14.4,14.4,0,0,0,5.59,15,14.1,14.1,0,0,0,15.91.6L128,196.12l51.58,31.71a14.1,14.1,0,0,0,15.91-.6,14.4,14.4,0,0,0,5.59-15l-14-59.25L233,113.32A14.43,14.43,0,0,0,237.28,97.87Zm-12.14,6.37-48.69,42a6,6,0,0,0-1.92,5.92l14.88,62.79a2.35,2.35,0,0,1-.95,2.57,2.24,2.24,0,0,1-2.6.1L131.14,184a6,6,0,0,0-6.28,0L70.14,217.61a2.24,2.24,0,0,1-2.6-.1,2.35,2.35,0,0,1-1-2.57l14.88-62.79a6,6,0,0,0-1.92-5.92l-48.69-42a2.37,2.37,0,0,1-.73-2.65,2.28,2.28,0,0,1,2.07-1.65l63.92-5.16a6,6,0,0,0,5.06-3.69l24.63-59.6a2.35,2.35,0,0,1,4.38,0l24.63,59.6a6,6,0,0,0,5.06,3.69l63.92,5.16a2.28,2.28,0,0,1,2.07,1.65A2.37,2.37,0,0,1,225.14,104.24Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M235.36,98.49A12.21,12.21,0,0,0,224.59,90l-61.47-5L139.44,27.67a12.37,12.37,0,0,0-22.88,0L92.88,85,31.41,90a12.45,12.45,0,0,0-7.07,21.84l46.85,40.41L56.87,212.64a12.35,12.35,0,0,0,18.51,13.49L128,193.77l52.62,32.36a12.12,12.12,0,0,0,13.69-.51,12.28,12.28,0,0,0,4.82-13l-14.32-60.42,46.85-40.41A12.29,12.29,0,0,0,235.36,98.49Zm-8.93,7.26-48.68,42a4,4,0,0,0-1.28,3.95l14.87,62.79a4.37,4.37,0,0,1-1.72,4.65,4.24,4.24,0,0,1-4.81.18L130.1,185.67a4,4,0,0,0-4.2,0L71.19,219.32a4.24,4.24,0,0,1-4.81-.18,4.37,4.37,0,0,1-1.72-4.65L79.53,151.7a4,4,0,0,0-1.28-3.95l-48.68-42A4.37,4.37,0,0,1,28.25,101a4.31,4.31,0,0,1,3.81-3L96,92.79a4,4,0,0,0,3.38-2.46L124,30.73a4.35,4.35,0,0,1,8.08,0l24.62,59.6A4,4,0,0,0,160,92.79l63.9,5.15a4.31,4.31,0,0,1,3.81,3A4.37,4.37,0,0,1,226.43,105.75Z`}))]]),Zf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M116,36V32a12,12,0,0,1,24,0v4a12,12,0,0,1-24,0Zm80,92a68,68,0,1,1-68-68A68.07,68.07,0,0,1,196,128Zm-24,0a44,44,0,1,0-44,44A44.05,44.05,0,0,0,172,128ZM51.51,68.49a12,12,0,1,0,17-17l-4-4a12,12,0,0,0-17,17Zm0,119-4,4a12,12,0,0,0,17,17l4-4a12,12,0,1,0-17-17ZM196,72a12,12,0,0,0,8.49-3.51l4-4a12,12,0,0,0-17-17l-4,4A12,12,0,0,0,196,72Zm8.49,115.51a12,12,0,0,0-17,17l4,4a12,12,0,0,0,17-17ZM48,128a12,12,0,0,0-12-12H32a12,12,0,0,0,0,24h4A12,12,0,0,0,48,128Zm80,80a12,12,0,0,0-12,12v4a12,12,0,0,0,24,0v-4A12,12,0,0,0,128,208Zm96-92h-4a12,12,0,0,0,0,24h4a12,12,0,0,0,0-24Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M184,128a56,56,0,1,1-56-56A56,56,0,0,1,184,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M120,40V32a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-8-8A8,8,0,0,0,50.34,61.66Zm0,116.68-8,8a8,8,0,0,0,11.32,11.32l8-8a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l8-8a8,8,0,0,0-11.32-11.32l-8,8A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l8,8a8,8,0,0,0,11.32-11.32ZM40,120H32a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Zm88,88a8,8,0,0,0-8,8v8a8,8,0,0,0,16,0v-8A8,8,0,0,0,128,208Zm96-88h-8a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M120,40V32a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0Zm8,24a64,64,0,1,0,64,64A64.07,64.07,0,0,0,128,64ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-8-8A8,8,0,0,0,50.34,61.66Zm0,116.68-8,8a8,8,0,0,0,11.32,11.32l8-8a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l8-8a8,8,0,0,0-11.32-11.32l-8,8A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l8,8a8,8,0,0,0,11.32-11.32ZM40,120H32a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Zm88,88a8,8,0,0,0-8,8v8a8,8,0,0,0,16,0v-8A8,8,0,0,0,128,208Zm96-88h-8a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M122,40V32a6,6,0,0,1,12,0v8a6,6,0,0,1-12,0Zm68,88a62,62,0,1,1-62-62A62.07,62.07,0,0,1,190,128Zm-12,0a50,50,0,1,0-50,50A50.06,50.06,0,0,0,178,128ZM59.76,68.24a6,6,0,1,0,8.48-8.48l-8-8a6,6,0,0,0-8.48,8.48Zm0,119.52-8,8a6,6,0,1,0,8.48,8.48l8-8a6,6,0,1,0-8.48-8.48Zm136-136-8,8a6,6,0,1,0,8.48,8.48l8-8a6,6,0,0,0-8.48-8.48Zm.48,136a6,6,0,0,0-8.48,8.48l8,8a6,6,0,0,0,8.48-8.48ZM40,122H32a6,6,0,0,0,0,12h8a6,6,0,0,0,0-12Zm88,88a6,6,0,0,0-6,6v8a6,6,0,0,0,12,0v-8A6,6,0,0,0,128,210Zm96-88h-8a6,6,0,0,0,0,12h8a6,6,0,0,0,0-12Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M120,40V32a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-8-8A8,8,0,0,0,50.34,61.66Zm0,116.68-8,8a8,8,0,0,0,11.32,11.32l8-8a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l8-8a8,8,0,0,0-11.32-11.32l-8,8A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l8,8a8,8,0,0,0,11.32-11.32ZM40,120H32a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Zm88,88a8,8,0,0,0-8,8v8a8,8,0,0,0,16,0v-8A8,8,0,0,0,128,208Zm96-88h-8a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M124,40V32a4,4,0,0,1,8,0v8a4,4,0,0,1-8,0Zm64,88a60,60,0,1,1-60-60A60.07,60.07,0,0,1,188,128Zm-8,0a52,52,0,1,0-52,52A52.06,52.06,0,0,0,180,128ZM61.17,66.83a4,4,0,0,0,5.66-5.66l-8-8a4,4,0,0,0-5.66,5.66Zm0,122.34-8,8a4,4,0,0,0,5.66,5.66l8-8a4,4,0,0,0-5.66-5.66Zm136-136-8,8a4,4,0,0,0,5.66,5.66l8-8a4,4,0,1,0-5.66-5.66Zm-2.34,136a4,4,0,0,0-5.66,5.66l8,8a4,4,0,0,0,5.66-5.66ZM40,124H32a4,4,0,0,0,0,8h8a4,4,0,0,0,0-8Zm88,88a4,4,0,0,0-4,4v8a4,4,0,0,0,8,0v-8A4,4,0,0,0,128,212Zm96-88h-8a4,4,0,0,0,0,8h8a4,4,0,0,0,0-8Z`}))]]),Qf=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z`}))]]),$f=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,24v92H179.31a19.86,19.86,0,0,0-14.14,5.86L147,168H109L90.83,149.86A19.86,19.86,0,0,0,76.69,144H52V52ZM52,204V168H75l18.14,18.14A19.86,19.86,0,0,0,107.31,192h41.38a19.86,19.86,0,0,0,14.14-5.86L181,168h23v36Zm35.51-87.51a12,12,0,0,1,17-17L116,111V76a12,12,0,0,1,24,0v35l11.51-11.52a12,12,0,0,1,17,17l-32,32a12,12,0,0,1-17,0Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48V160H179.31a8,8,0,0,0-5.66,2.34l-19.31,19.32a8,8,0,0,1-5.66,2.34H107.31a8,8,0,0,1-5.66-2.34L82.34,162.34A8,8,0,0,0,76.68,160H40V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.68A15.89,15.89,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.32A15.89,15.89,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40ZM90.34,125.66a8,8,0,0,1,11.32-11.32L120,132.69V72a8,8,0,0,1,16,0v60.69l18.34-18.35a8,8,0,0,1,11.32,11.32l-32,32a8,8,0,0,1-11.32,0Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM90.34,114.34a8,8,0,0,1,11.32,0L120,132.69V72a8,8,0,0,1,16,0v60.69l18.34-18.35a8,8,0,0,1,11.32,11.32l-32,32a8,8,0,0,1-11.32,0l-32-32A8,8,0,0,1,90.34,114.34ZM208,208H48V168H76.69L96,187.32A15.89,15.89,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,34H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34ZM48,46H208a2,2,0,0,1,2,2V154H179.31a13.94,13.94,0,0,0-9.9,4.1L150.1,177.41a2,2,0,0,1-1.41.59H107.31a2,2,0,0,1-1.41-.58L86.59,158.1a13.94,13.94,0,0,0-9.9-4.1H46V48A2,2,0,0,1,48,46ZM208,210H48a2,2,0,0,1-2-2V166H76.69a2,2,0,0,1,1.41.58L97.41,185.9a13.94,13.94,0,0,0,9.9,4.1h41.38a13.94,13.94,0,0,0,9.9-4.1l19.31-19.31a2,2,0,0,1,1.41-.59H210v42A2,2,0,0,1,208,210ZM91.76,124.24a6,6,0,0,1,8.48-8.48L122,137.51V72a6,6,0,0,1,12,0v65.51l21.76-21.75a6,6,0,0,1,8.48,8.48l-32,32a6,6,0,0,1-8.48,0Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.69A15.86,15.86,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40ZM90.34,125.66a8,8,0,0,1,11.32-11.32L120,132.69V72a8,8,0,0,1,16,0v60.69l18.34-18.35a8,8,0,0,1,11.32,11.32l-32,32a8,8,0,0,1-11.32,0Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36ZM48,44H208a4,4,0,0,1,4,4V156H179.31a12,12,0,0,0-8.48,3.51l-19.32,19.32a4,4,0,0,1-2.82,1.17H107.31a4,4,0,0,1-2.82-1.17L85.17,159.51A12,12,0,0,0,76.69,156H44V48A4,4,0,0,1,48,44ZM208,212H48a4,4,0,0,1-4-4V164H76.69a4,4,0,0,1,2.82,1.17l19.32,19.32a12,12,0,0,0,8.48,3.51h41.38a12,12,0,0,0,8.48-3.51l19.32-19.32a4,4,0,0,1,2.82-1.17H212v44A4,4,0,0,1,208,212ZM93.17,122.83a4,4,0,0,1,5.66-5.66L124,142.34V72a4,4,0,0,1,8,0v70.34l25.17-25.17a4,4,0,1,1,5.66,5.66l-32,32a4,4,0,0,1-5.66,0Z`}))]]),ep=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,24v92H179.31a19.86,19.86,0,0,0-14.14,5.86L147,168H109L90.83,149.86A19.86,19.86,0,0,0,76.69,144H52V52ZM52,204V168H75l18.14,18.14A19.86,19.86,0,0,0,107.31,192h41.38a19.86,19.86,0,0,0,14.14-5.86L181,168h23v36Zm35.51-87.51a12,12,0,0,1,0-17l32-32a12,12,0,0,1,17,0l32,32a12,12,0,0,1-17,17L140,105v35a12,12,0,0,1-24,0V105l-11.51,11.52A12,12,0,0,1,87.51,116.49Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48V160H179.31a8,8,0,0,0-5.66,2.34l-19.31,19.32a8,8,0,0,1-5.66,2.34H107.31a8,8,0,0,1-5.66-2.34L82.34,162.34A8,8,0,0,0,76.68,160H40V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.69A15.86,15.86,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40ZM90.34,109.66a8,8,0,0,1,0-11.32l32-32a8,8,0,0,1,11.32,0l32,32a8,8,0,0,1-11.32,11.32L136,91.31V152a8,8,0,0,1-16,0V91.31l-18.34,18.35A8,8,0,0,1,90.34,109.66Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM90.34,98.34l32-32a8,8,0,0,1,11.32,0l32,32a8,8,0,0,1-11.32,11.32L136,91.31V152a8,8,0,0,1-16,0V91.31l-18.34,18.35A8,8,0,0,1,90.34,98.34ZM208,208H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,34H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34ZM48,46H208a2,2,0,0,1,2,2V154H179.31a13.9,13.9,0,0,0-9.89,4.1L150.1,177.41a2,2,0,0,1-1.41.59H107.31a2,2,0,0,1-1.41-.59L86.59,158.1a13.94,13.94,0,0,0-9.9-4.1H46V48A2,2,0,0,1,48,46ZM208,210H48a2,2,0,0,1-2-2V166H76.69a2,2,0,0,1,1.41.59L97.41,185.9a13.94,13.94,0,0,0,9.9,4.1h41.38a13.9,13.9,0,0,0,9.89-4.1l19.32-19.31a2,2,0,0,1,1.41-.59H210v42A2,2,0,0,1,208,210ZM91.76,108.24a6,6,0,0,1,0-8.48l32-32a6,6,0,0,1,8.48,0l32,32a6,6,0,1,1-8.48,8.48L134,86.49V152a6,6,0,0,1-12,0V86.49l-21.76,21.75A6,6,0,0,1,91.76,108.24Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.69A15.86,15.86,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40ZM90.34,109.66a8,8,0,0,1,0-11.32l32-32a8,8,0,0,1,11.32,0l32,32a8,8,0,0,1-11.32,11.32L136,91.31V152a8,8,0,0,1-16,0V91.31l-18.34,18.35A8,8,0,0,1,90.34,109.66Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36ZM48,44H208a4,4,0,0,1,4,4V156H179.31a11.93,11.93,0,0,0-8.48,3.51l-19.32,19.32a4,4,0,0,1-2.82,1.17H107.31a4,4,0,0,1-2.82-1.17L85.17,159.52A11.9,11.9,0,0,0,76.69,156H44V48A4,4,0,0,1,48,44ZM208,212H48a4,4,0,0,1-4-4V164H76.69a4,4,0,0,1,2.82,1.17l19.32,19.31a11.9,11.9,0,0,0,8.48,3.52h41.38a11.93,11.93,0,0,0,8.48-3.51l19.32-19.32a4,4,0,0,1,2.82-1.17H212v44A4,4,0,0,1,208,212ZM93.17,106.83a4,4,0,0,1,0-5.66l32-32a4,4,0,0,1,5.66,0l32,32a4,4,0,0,1-5.66,5.66L132,81.66V152a4,4,0,0,1-8,0V81.66L98.83,106.83A4,4,0,0,1,93.17,106.83Z`}))]]),tp=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,24v92H179.31a19.86,19.86,0,0,0-14.14,5.86L147,168H109L90.83,149.86A19.86,19.86,0,0,0,76.69,144H52V52ZM52,204V168H75l18.14,18.14A19.86,19.86,0,0,0,107.31,192h41.38a19.86,19.86,0,0,0,14.14-5.86L181,168h23v36Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,48V160H179.31a8,8,0,0,0-5.66,2.34l-19.31,19.32a8,8,0,0,1-5.66,2.34H107.31a8,8,0,0,1-5.66-2.34L82.34,162.34A8,8,0,0,0,76.68,160H40V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.68A15.89,15.89,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.32A15.89,15.89,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H48V168H76.69L96,187.32A15.89,15.89,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,34H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34ZM48,46H208a2,2,0,0,1,2,2V154H179.31a13.94,13.94,0,0,0-9.9,4.1L150.1,177.41a2,2,0,0,1-1.41.59H107.31a2,2,0,0,1-1.41-.58L86.59,158.1a13.94,13.94,0,0,0-9.9-4.1H46V48A2,2,0,0,1,48,46ZM208,210H48a2,2,0,0,1-2-2V166H76.69a2,2,0,0,1,1.41.58L97.41,185.9a13.94,13.94,0,0,0,9.9,4.1h41.38a13.94,13.94,0,0,0,9.9-4.1l19.31-19.31a2,2,0,0,1,1.41-.59H210v42A2,2,0,0,1,208,210Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,16V152h-28.7A15.86,15.86,0,0,0,168,156.69L148.69,176H107.31L88,156.69A15.86,15.86,0,0,0,76.69,152H48V48Zm0,160H48V168H76.69L96,187.31A15.86,15.86,0,0,0,107.31,192h41.38A15.86,15.86,0,0,0,160,187.31L179.31,168H208v40Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36ZM48,44H208a4,4,0,0,1,4,4V156H179.31a12,12,0,0,0-8.48,3.51l-19.32,19.32a4,4,0,0,1-2.82,1.17H107.31a4,4,0,0,1-2.82-1.17L85.17,159.51A12,12,0,0,0,76.69,156H44V48A4,4,0,0,1,48,44ZM208,212H48a4,4,0,0,1-4-4V164H76.69a4,4,0,0,1,2.82,1.17l19.32,19.32a12,12,0,0,0,8.48,3.51h41.38a12,12,0,0,0,8.48-3.51l19.32-19.32a4,4,0,0,1,2.82-1.17H212v44A4,4,0,0,1,208,212Z`}))]]),np=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M240.26,186.1,152.81,34.23h0a28.74,28.74,0,0,0-49.62,0L15.74,186.1a27.45,27.45,0,0,0,0,27.71A28.31,28.31,0,0,0,40.55,228h174.9a28.31,28.31,0,0,0,24.79-14.19A27.45,27.45,0,0,0,240.26,186.1Zm-20.8,15.7a4.46,4.46,0,0,1-4,2.2H40.55a4.46,4.46,0,0,1-4-2.2,3.56,3.56,0,0,1,0-3.73L124,46.2a4.77,4.77,0,0,1,8,0l87.44,151.87A3.56,3.56,0,0,1,219.46,201.8ZM116,136V104a12,12,0,0,1,24,0v32a12,12,0,0,1-24,0Zm28,40a16,16,0,1,1-16-16A16,16,0,0,1,144,176Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M215.46,216H40.54C27.92,216,20,202.79,26.13,192.09L113.59,40.22c6.3-11,22.52-11,28.82,0l87.46,151.87C236,202.79,228.08,216,215.46,216Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM120,104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm8,88a12,12,0,1,1,12-12A12,12,0,0,1,128,192Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M235.07,189.09,147.61,37.22h0a22.75,22.75,0,0,0-39.22,0L20.93,189.09a21.53,21.53,0,0,0,0,21.72A22.35,22.35,0,0,0,40.55,222h174.9a22.35,22.35,0,0,0,19.6-11.19A21.53,21.53,0,0,0,235.07,189.09ZM224.66,204.8a10.46,10.46,0,0,1-9.21,5.2H40.55a10.46,10.46,0,0,1-9.21-5.2,9.51,9.51,0,0,1,0-9.72L118.79,43.21a10.75,10.75,0,0,1,18.42,0l87.46,151.87A9.51,9.51,0,0,1,224.66,204.8ZM122,144V104a6,6,0,0,1,12,0v40a6,6,0,0,1-12,0Zm16,36a10,10,0,1,1-10-10A10,10,0,0,1,138,180Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M233.34,190.09,145.88,38.22h0a20.75,20.75,0,0,0-35.76,0L22.66,190.09a19.52,19.52,0,0,0,0,19.71A20.36,20.36,0,0,0,40.54,220H215.46a20.36,20.36,0,0,0,17.86-10.2A19.52,19.52,0,0,0,233.34,190.09ZM226.4,205.8a12.47,12.47,0,0,1-10.94,6.2H40.54a12.47,12.47,0,0,1-10.94-6.2,11.45,11.45,0,0,1,0-11.72L117.05,42.21a12.76,12.76,0,0,1,21.9,0L226.4,194.08A11.45,11.45,0,0,1,226.4,205.8ZM124,144V104a4,4,0,0,1,8,0v40a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,180Z`}))]]),rp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:zf}));rp.displayName=`ArrowSquareOutIcon`;var ip=rp,ap=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Bf}));ap.displayName=`ArrowsClockwiseIcon`;var op=ap,sp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Vf}));sp.displayName=`CheckCircleIcon`;var cp=sp,lp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Hf}));lp.displayName=`CircleIcon`;var up=lp,dp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Uf}));dp.displayName=`DesktopIcon`;var fp=dp,pp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Wf}));pp.displayName=`ListMagnifyingGlassIcon`;var mp=pp,hp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Gf}));hp.displayName=`MagnifyingGlassIcon`;var gp=hp,_p=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Kf}));_p.displayName=`MoonStarsIcon`;var vp=_p,yp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:qf}));yp.displayName=`NewspaperIcon`;var bp=yp,xp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Jf}));xp.displayName=`PlusIcon`;var Sp=xp,Cp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Yf}));Cp.displayName=`RssIcon`;var wp=Cp,Tp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Xf}));Tp.displayName=`StarIcon`;var Ep=Tp,Dp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Zf}));Dp.displayName=`SunDimIcon`;var Op=Dp,kp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:Qf}));kp.displayName=`TrashIcon`;var Ap=kp,jp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:$f}));jp.displayName=`TrayArrowDownIcon`;var Mp=jp,Np=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:ep}));Np.displayName=`TrayArrowUpIcon`;var Pp=Np,Fp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:tp}));Fp.displayName=`TrayIcon`;var Ip=Fp,Lp=j.forwardRef((e,t)=>j.createElement(Ff,{ref:t,...e,weights:np}));Lp.displayName=`WarningIcon`;var Rp=Lp,zp=[{key:`unread`,label:`Unread`},{key:`all`,label:`All`},{key:`starred`,label:`Starred`}];function Bp({totals:e,active:t,onChange:n}){return(0,M.jsx)(`ul`,{className:`flex flex-col gap-0.5`,children:zp.map(({key:r,label:i})=>{let a=e[r],o=t===r;return(0,M.jsx)(`li`,{children:(0,M.jsxs)(`button`,{type:`button`,"aria-pressed":o,"aria-label":`${i}, ${a} articles`,onClick:()=>n(r),className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm transition-colors ${o?`bg-accent text-accent-foreground`:`text-text-primary hover:bg-surface-elevated`}`,children:[(0,M.jsx)(`span`,{className:`flex-1 truncate`,children:i}),(0,M.jsx)(`span`,{"aria-hidden":`true`,className:`num text-xs ${o?`text-accent-foreground`:`text-text-muted`}`,children:a})]})},r)})})}var Vp={accent:`bg-accent text-accent-foreground`,danger:`bg-danger text-accent-foreground`,muted:`bg-surface-elevated text-text-muted`};function Hp({tone:e,children:t}){return(0,M.jsx)(`span`,{className:`num inline-flex min-w-5 items-center justify-center rounded-sm px-1.5 py-0.5 text-xs leading-none ${Vp[e]}`,children:t})}function Up({feed:e,selected:t,onSelect:n,onDelete:r}){let i=Mf(),a=e.fetchError!=null,o=a?`${e.title}, ${e.unreadCount} unread, failed to refresh`:`${e.title}, ${e.unreadCount} unread`;return(0,M.jsxs)(Wd.div,{whileTap:i?void 0:{scale:.98},className:`group flex items-center gap-2 rounded-sm px-2 py-1.5 transition-colors ${t?`bg-accent/15`:`hover:bg-surface-elevated`}`,children:[(0,M.jsxs)(`button`,{type:`button`,"aria-label":o,"aria-current":t?`true`:void 0,onClick:n,className:`flex min-w-0 flex-1 items-center gap-2 text-left text-sm`,children:[a?(0,M.jsx)(Rp,{size:14,weight:`regular`,className:`shrink-0 text-danger`}):null,(0,M.jsx)(`span`,{className:`min-w-0 flex-1 truncate ${t?`font-medium text-text-primary`:`text-text-primary`}`,children:e.title||e.feedUrl}),a?(0,M.jsx)(`span`,{className:`shrink-0`,children:(0,M.jsx)(Hp,{tone:`danger`,children:`!`})}):e.unreadCount>0?(0,M.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0`,children:(0,M.jsx)(Hp,{tone:t?`accent`:`muted`,children:e.unreadCount})}):null]}),(0,M.jsx)(`button`,{type:`button`,"aria-label":`Delete feed ${e.title}`,title:`Delete feed`,onClick:r,className:`shrink-0 rounded-xs p-1 text-text-muted opacity-0 transition-opacity hover:text-danger focus-visible:opacity-100 group-hover:opacity-100`,children:(0,M.jsx)(Ap,{size:14,weight:`regular`})})]})}function Wp({onSubmit:e,pending:t,error:n}){let[r,i]=(0,j.useState)(``),[a,o]=(0,j.useState)(null),s=a??n??null;function c(t){t.preventDefault();let n=r.trim();if(!n){o(`Enter a feed URL.`);return}if(!/^https?:\/\/.+/i.test(n)){o(`Enter a valid http or https URL.`);return}o(null),e(n)}return(0,M.jsxs)(`form`,{onSubmit:c,className:`flex flex-col gap-1.5`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,M.jsx)(`input`,{type:`url`,inputMode:`url`,value:r,onChange:e=>{i(e.target.value),a&&o(null)},placeholder:`Add feed by URL`,"aria-label":`Add feed by URL`,"aria-invalid":s?!0:void 0,disabled:t,className:`min-w-0 flex-1 rounded-sm border border-border bg-surface px-2.5 py-1.5 text-sm text-text-primary placeholder:text-text-muted focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-1 disabled:opacity-60`}),(0,M.jsx)(`button`,{type:`submit`,"aria-label":`Add feed`,title:`Add feed`,disabled:t,className:`inline-flex size-8 shrink-0 items-center justify-center rounded-md bg-accent text-accent-foreground transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60`,children:(0,M.jsx)(Sp,{size:18,weight:`regular`})})]}),s?(0,M.jsx)(`p`,{role:`alert`,className:`text-xs text-danger`,children:s}):null]})}var Gp=`iread.authToken`,Kp=`iread:auth-required`;function qp(){return sessionStorage.getItem(Gp)??``}function Jp(e){e?sessionStorage.setItem(Gp,e):sessionStorage.removeItem(Gp)}async function Yp(e,t={}){let n=new Headers(t.headers),r=qp();r&&n.set(`Authorization`,`Bearer ${r}`);let i=await fetch(e,{...t,headers:n,cache:`no-store`});return i.status===401&&r===qp()&&(Jp(``),window.dispatchEvent(new Event(Kp))),i}var Xp=`/api`,Zp=class extends Error{status;code;constructor(e,t,n){super(e),this.name=`ApiError`,this.status=t,this.code=n}};async function Qp(e,t={}){let n={},r;t.json===void 0?t.body!==void 0&&(t.contentType&&(n[`Content-Type`]=t.contentType),r=t.body):(n[`Content-Type`]=`application/json`,r=JSON.stringify(t.json));let i;try{i=await Yp(`${Xp}${e}`,{method:t.method??`GET`,headers:n,body:r,signal:t.signal})}catch(e){throw new Zp(e instanceof Error?e.message:`Network request failed`,0)}if(i.status===204)return;let a,o=await i.text();if(o)try{a=JSON.parse(o)}catch{a=void 0}if(!i.ok){let e=a?.error;throw new Zp(e?.message??`Request failed with status ${i.status}`,i.status,e?.code)}return a}function $p(e){let t=new URLSearchParams;e.feedId!==void 0&&t.set(`feedId`,String(e.feedId)),e.view!==void 0&&t.set(`view`,e.view),e.q!==void 0&&e.q!==``&&t.set(`q`,e.q),e.limit!==void 0&&t.set(`limit`,String(e.limit)),e.offset!==void 0&&t.set(`offset`,String(e.offset));let n=t.toString();return n?`?${n}`:``}var em={checkAuth(){return Qp(`/auth`)},async exportOpml(){let e=await Yp(`${Xp}/opml`);if(!e.ok)throw new Zp(`Could not export OPML.`,e.status);return e.blob()},listFeeds(e){return Qp(`/feeds`,{signal:e})},addFeed(e){return Qp(`/feeds`,{method:`POST`,json:{url:e}})},deleteFeed(e){return Qp(`/feeds/${e}`,{method:`DELETE`})},refreshFeed(e){return Qp(`/feeds/${e}/refresh`,{method:`POST`})},refreshAll(){return Qp(`/feeds/refresh`,{method:`POST`})},listItems(e,t){return Qp(`/items${$p(e)}`,{signal:t})},getItem(e,t){return Qp(`/items/${e}`,{signal:t})},patchItem(e,t){return Qp(`/items/${e}`,{method:`PATCH`,json:t})},markAllRead(e){return Qp(`/items/mark-all-read`,{method:`POST`,json:e})},importOpml(e){return Qp(`/opml`,{method:`POST`,body:e,contentType:`application/xml`})}},tm=`iread-theme`,nm=`iread-auto-refresh`,rm=3e5;function im(){try{let e=localStorage.getItem(tm);if(e===`light`||e===`dark`||e===`system`)return e}catch{}return`system`}function am(){try{let e=localStorage.getItem(nm);if(e){let t=JSON.parse(e),n=typeof t.intervalMs==`number`&&t.intervalMs>0?t.intervalMs:rm;return{enabled:typeof t.enabled==`boolean`?t.enabled:!0,intervalMs:n}}}catch{}return{enabled:!0,intervalMs:rm}}var om={selection:{kind:`unread`},selectedItemId:null,searchText:``,theme:im(),autoRefresh:am(),helpOpen:!1},sm=new Set;function cm(){for(let e of sm)e()}function lm(e){return sm.add(e),()=>{sm.delete(e)}}function um(){return om}function dm(e){om={...om,...e},cm()}var fm={getState(){return om},setSelection(e){dm({selection:e,selectedItemId:null})},setSelectedItemId(e){dm({selectedItemId:e})},setSearchText(e){dm({searchText:e})},clearSearch(){om.searchText!==``&&dm({searchText:``})},setTheme(e){dm({theme:e});try{localStorage.setItem(tm,e)}catch{}},setAutoRefresh(e){let t={...om.autoRefresh,...e};dm({autoRefresh:t});try{localStorage.setItem(nm,JSON.stringify(t))}catch{}},setHelpOpen(e){dm({helpOpen:e})},toggleHelp(){dm({helpOpen:!om.helpOpen})}};function pm(){return(0,j.useSyncExternalStore)(lm,um,um)}function mm(e){let t=(0,j.useCallback)(()=>e(om),[e]);return(0,j.useSyncExternalStore)(lm,t,t)}var hm=[],gm=1,_m=new Set;function vm(){for(let e of _m)e()}function ym(e){return _m.add(e),()=>{_m.delete(e)}}function bm(){return hm}function xm(e){let t=gm++,n=e.durationMs??(e.action?8e3:4e3),r={id:t,kind:e.kind,message:e.message,action:e.action,durationMs:n};return hm=[...hm,r],vm(),t}function Sm(e){let t=hm.filter(t=>t.id!==e);t.length!==hm.length&&(hm=t,vm())}function Cm(){return(0,j.useSyncExternalStore)(ym,bm,bm)}function wm(e){return e.kind===`feed`?`feed:${e.feedId}`:e.kind}var $=[`feeds`];function Tm(){let e=mm(e=>e.autoRefresh);return ht({queryKey:$,queryFn:({signal:e})=>em.listFeeds(e),staleTime:3e4,gcTime:5*6e4,refetchOnWindowFocus:!0,refetchInterval:e.enabled?e.intervalMs:!1,refetchIntervalInBackground:!1})}function Em(){let e=et();return gt({mutationFn:e=>em.addFeed(e),onSuccess:t=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]}),xm({kind:`success`,message:`Added ${t.feed.title||t.feed.feedUrl}`})}})}function Dm(){let e=et();return gt({mutationFn:e=>em.deleteFeed(e),onMutate:async t=>{await e.cancelQueries({queryKey:$});let n=e.getQueryData($);if(n){let r=n.feeds.find(e=>e.id===t),i={feeds:n.feeds.filter(e=>e.id!==t),totals:r?{all:Math.max(0,n.totals.all-r.totalCount),unread:Math.max(0,n.totals.unread-r.unreadCount),starred:n.totals.starred}:n.totals};e.setQueryData($,i)}let r=fm.getState().selection;return r.kind===`feed`&&r.feedId===t&&fm.setSelection({kind:`unread`}),{prev:n}},onError:(t,n,r)=>{r?.prev&&e.setQueryData($,r.prev),xm({kind:`error`,message:`Could not delete the feed. Reverted.`})},onSettled:()=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]})}})}function Om(){let e=et();return gt({mutationFn:e=>em.refreshFeed(e),onSuccess:e=>{e.feed.fetchError?xm({kind:`error`,message:`This feed failed to refresh.`}):e.newItems>0?xm({kind:`success`,message:`Refreshed ${e.feed.title||`feed`}, ${e.newItems} new`}):xm({kind:`info`,message:`Refreshed, nothing new.`})},onError:()=>{xm({kind:`error`,message:`Could not refresh the feed.`})},onSettled:()=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]})}})}function km(){let e=et();return gt({mutationFn:()=>em.refreshAll(),onSuccess:e=>{e.failed>0?xm({kind:e.refreshed>0?`info`:`error`,message:`Refreshed ${e.refreshed} feeds, ${e.failed} failed`}):xm({kind:`success`,message:e.newItems>0?`Refreshed ${e.refreshed} feeds, ${e.newItems} new`:`Refreshed ${e.refreshed} feeds`})},onError:()=>{xm({kind:`error`,message:`Could not refresh feeds.`})},onSettled:()=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]})}})}function Am(){let e=et();return gt({mutationFn:async e=>{let t=await e.text();return em.importOpml(t)},onSuccess:t=>{e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`items`]});let n=[`Imported ${t.added} feeds`];t.skipped>0&&n.push(`${t.skipped} skipped`),t.failed>0&&n.push(`${t.failed} failed`),xm({kind:t.failed>0&&t.added===0?`error`:`success`,message:n.join(`, `)})},onError:e=>{xm({kind:`error`,message:e.message||`Could not import OPML.`})}})}async function jm(){try{let e=await em.exportOpml(),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`iread.opml`,document.body.appendChild(n),n.click(),n.remove(),setTimeout(()=>URL.revokeObjectURL(t),1e3)}catch(e){xm({kind:`error`,message:e instanceof Error?e.message:`Could not export OPML.`})}}function Mm(){let e=Am();return{importOpml:e.mutate,importPending:e.isPending,exportOpml:jm}}var Nm=(0,j.forwardRef)(function({onImport:e,onExport:t=jm,pending:n},r){let i=(0,j.useRef)(null);return(0,j.useImperativeHandle)(r,()=>({openPicker:()=>i.current?.click()})),(0,M.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,M.jsx)(`input`,{ref:i,type:`file`,accept:`.opml,.xml,application/xml,text/x-opml`,className:`sr-only`,onChange:t=>{let n=t.target.files?.[0];n&&e(n),t.target.value=``}}),(0,M.jsx)(`button`,{type:`button`,"aria-label":`Import OPML`,title:`Import OPML`,disabled:n,onClick:()=>i.current?.click(),className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-60`,children:(0,M.jsx)(Pp,{size:18,weight:`regular`})}),(0,M.jsx)(`button`,{type:`button`,"aria-label":`Export OPML`,title:`Export OPML`,onClick:t,className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary`,children:(0,M.jsx)(Mp,{size:18,weight:`regular`})})]})}),Pm={light:`dark`,dark:`system`,system:`light`},Fm={light:`Theme: light. Switch to dark.`,dark:`Theme: dark. Switch to system.`,system:`Theme: system. Switch to light.`};function Im({theme:e,onChange:t}){return(0,M.jsx)(`button`,{type:`button`,"aria-label":Fm[e],title:Fm[e],onClick:()=>t(Pm[e]),className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary`,children:e===`light`?(0,M.jsx)(Op,{size:18,weight:`regular`}):e===`dark`?(0,M.jsx)(vp,{size:18,weight:`regular`}):(0,M.jsx)(fp,{size:18,weight:`regular`})})}function Lm({className:e}){return(0,M.jsx)(`div`,{className:`rounded-sm bg-surface-elevated ${e}`})}function Rm({rows:e,variant:t}){return(0,M.jsx)(`div`,{"aria-hidden":`true`,className:`animate-pulse`,children:Array.from({length:e},(e,n)=>t===`feed`?(0,M.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[(0,M.jsx)(Lm,{className:`h-3.5 w-1/2`}),(0,M.jsx)(Lm,{className:`ml-auto h-3.5 w-6`})]},n):(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-3 py-2`,children:[(0,M.jsx)(Lm,{className:`h-3.5 w-4/5`}),(0,M.jsx)(Lm,{className:`h-3 w-2/5`})]},n))})}function zm({icon:e,title:t,body:n,action:r}){return(0,M.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 py-12 text-center`,children:[(0,M.jsx)(e,{size:32,weight:`regular`,className:`text-text-muted`}),(0,M.jsxs)(`div`,{className:`space-y-1`,children:[(0,M.jsx)(`p`,{className:`text-sm font-medium text-text-primary`,children:t}),(0,M.jsx)(`p`,{className:`max-w-xs text-sm text-text-secondary`,children:n})]}),r?(0,M.jsx)(`button`,{type:`button`,onClick:r.onClick,className:`mt-1 rounded-md bg-accent px-3 py-1.5 text-sm font-medium text-accent-foreground transition-opacity hover:opacity-90`,children:r.label}):null]})}function Bm({message:e,onRetry:t}){return(0,M.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 py-12 text-center`,children:[(0,M.jsx)(Rp,{size:32,weight:`regular`,className:`text-danger`}),(0,M.jsx)(`p`,{className:`max-w-xs text-sm text-text-secondary`,children:e}),(0,M.jsx)(`button`,{type:`button`,onClick:t,className:`mt-1 rounded-md border border-border bg-surface-elevated px-3 py-1.5 text-sm font-medium text-text-primary transition-opacity hover:opacity-90`,children:`Retry`})]})}function Vm({feeds:e,totals:t,selection:n,state:r,isRefreshingAll:i,onSelectView:a,onSelectFeed:o,onDeleteFeed:s,onAddFeed:c,addPending:l,addError:u,onImportOpml:d,onExportOpml:f,opmlPending:p,theme:m,onChangeTheme:h}){let g=(0,j.useRef)(null),_=n.kind===`feed`?`all`:n.kind,v=n.kind===`feed`?n.feedId:null;return(0,M.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-surface`,"aria-busy":i?!0:void 0,children:[(0,M.jsx)(`div`,{className:`flex flex-col gap-2 border-b border-border px-3 py-3`,children:(0,M.jsx)(Wp,{onSubmit:c,pending:l,error:u})}),(0,M.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-2 py-2`,children:[(0,M.jsx)(`div`,{className:`px-1 pb-2`,children:(0,M.jsx)(Bp,{totals:t,active:_,onChange:a})}),(0,M.jsx)(`p`,{className:`px-1 pb-1 pt-2 text-xs font-medium uppercase tracking-wide text-text-muted`,children:`Feeds`}),r.status===`loading`?(0,M.jsx)(Rm,{rows:5,variant:`feed`}):r.status===`error`?(0,M.jsx)(Bm,{message:r.errorMessage??`Could not load your feeds.`,onRetry:r.onRetry??(()=>{})}):r.status===`empty`||e.length===0?(0,M.jsx)(zm,{icon:Pp,title:`No feeds yet`,body:`Add a feed by URL above, or import an OPML file to get started.`,action:{label:`Import OPML`,onClick:()=>g.current?.openPicker()}}):(0,M.jsx)(`ul`,{className:`flex flex-col gap-0.5`,children:e.map(e=>(0,M.jsx)(`li`,{children:(0,M.jsx)(Up,{feed:e,selected:v===e.id,onSelect:()=>o(e.id),onDelete:()=>s(e.id)})},e.id))})]}),(0,M.jsxs)(`div`,{className:`flex items-center gap-1 border-t border-border px-2 py-2`,children:[(0,M.jsx)(Nm,{ref:g,onImport:d,onExport:f,pending:p}),(0,M.jsx)(`div`,{className:`ml-auto`,children:(0,M.jsx)(Im,{theme:m,onChange:h})})]})]})}function Hm({active:e}){return(0,M.jsx)(`span`,{"aria-hidden":`true`,className:e?`inline-block size-2 shrink-0 rounded-xs bg-unread`:`inline-block size-2 shrink-0 rounded-xs bg-transparent`})}function Um(e){let t=new Date(e);return`${String(t.getFullYear()%100).padStart(2,`0`)}${String(t.getMonth()+1).padStart(2,`0`)}${String(t.getDate()).padStart(2,`0`)}`}function Wm({value:e}){let t=new Date(e);return(0,M.jsx)(`time`,{dateTime:t.toISOString(),title:t.toLocaleString(),children:Um(e)})}var Gm=(0,j.forwardRef)(function({item:e,selected:t,onSelect:n,onOpen:r,onToggleStar:i,tabIndex:a=-1},o){let s=Mf(),c=e.isRead?`read`:`unread`,l=e.isStarred?`, starred`:``,u=`${e.title}, ${e.feedTitle}, ${c}${l}`;return(0,M.jsxs)(Wd.div,{ref:o,role:`option`,"aria-selected":t,"aria-label":u,tabIndex:a,onClick:r,onFocus:n,whileTap:s?void 0:{scale:.98},className:`group relative flex cursor-pointer items-start gap-2 border-b border-border px-3 py-2 transition-colors ${t?`bg-accent/10`:`hover:bg-surface-elevated`}`,children:[t?(0,M.jsx)(Wd.span,{layoutId:`rowSelect`,"aria-hidden":`true`,className:`absolute inset-y-0 left-0 w-0.5 bg-accent`,transition:s?{duration:0}:{type:`spring`,stiffness:500,damping:40}}):null,(0,M.jsx)(`span`,{className:`mt-1.5 shrink-0`,children:(0,M.jsx)(Hm,{active:!e.isRead})}),(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,M.jsx)(`span`,{className:`truncate text-sm ${e.isRead?`text-text-secondary`:`font-medium text-text-primary`}`,children:e.title}),(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-muted`,children:[(0,M.jsx)(`span`,{className:`truncate`,children:e.feedTitle}),(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`-`}),(0,M.jsx)(`span`,{className:`num shrink-0`,children:(0,M.jsx)(Wm,{value:e.publishedAt})})]})]}),(0,M.jsx)(`button`,{type:`button`,"aria-label":e.isStarred?`Unstar ${e.title}`:`Star ${e.title}`,"aria-pressed":e.isStarred,onClick:e=>{e.stopPropagation(),i()},className:`shrink-0 rounded-xs p-1 transition-opacity ${e.isStarred?`text-accent opacity-100`:`text-text-muted opacity-0 focus-visible:opacity-100 group-hover:opacity-100`}`,children:(0,M.jsx)(Ep,{size:16,weight:`regular`})})]})}),Km=18,qm=12;function Jm({items:e,total:t,selectedId:n,onSelect:r,onOpen:i,onToggleStar:a,state:o}){let s=Mf(),c=n??e[0]?.id??null,l=(0,j.useRef)(new Map),u=(0,j.useRef)(null),d=(0,j.useCallback)(e=>t=>{t?l.current.set(e,t):l.current.delete(e)},[]);(0,j.useEffect)(()=>{if(n==null)return;let e=l.current.get(n);if(!e)return;e.scrollIntoView({block:`nearest`});let t=document.activeElement;(!t||t===document.body||u.current?.contains(t))&&e.focus({preventScroll:!0})},[n,e]);let f;return f=o.status===`loading`?(0,M.jsx)(Rm,{rows:8,variant:`article`}):o.status===`error`?(0,M.jsx)(Bm,{message:o.errorMessage??`This feed failed to refresh.`,onRetry:o.onRetry??(()=>{})}):o.status===`empty`||e.length===0?Xm(o.emptyKind):(0,M.jsx)(`ul`,{className:`flex flex-col`,children:e.map((e,t)=>(0,M.jsx)(`li`,{children:(0,M.jsx)(Ym,{delay:s?0:Km/1e3*Math.min(t,qm),reduce:!!s,children:(0,M.jsx)(Gm,{ref:d(e.id),item:e,selected:n===e.id,onSelect:()=>r(e.id),onOpen:()=>i(e.id),onToggleStar:()=>a(e.id),tabIndex:c===e.id?0:-1})})},e.id))}),(0,M.jsx)(`div`,{ref:u,id:`articles`,role:`listbox`,"aria-label":`Articles`,tabIndex:-1,"aria-busy":o.status===`loading`?!0:void 0,className:`h-full overflow-y-auto bg-surface outline-none`,children:f})}function Ym({children:e,delay:t,reduce:n}){return(0,M.jsx)(Wd.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:n?{duration:0}:{duration:.16,ease:`easeOut`,delay:t},children:e})}function Xm(e){switch(e){case`feed-empty`:return(0,M.jsx)(zm,{icon:Ip,title:`Nothing here yet`,body:`This feed has no articles. Try refreshing with r.`});case`unread-clear`:return(0,M.jsx)(zm,{icon:cp,title:`You are all caught up`,body:`No unread articles in this view.`});case`starred-empty`:return(0,M.jsx)(zm,{icon:Ep,title:`No starred articles`,body:`Press s on an article to star it.`});case`search-no-match`:return(0,M.jsx)(zm,{icon:mp,title:`No matches`,body:`No articles match your search in this view. Press Esc to clear.`});default:return(0,M.jsx)(zm,{icon:wp,title:`Pick a feed`,body:`Select a feed on the left to see its articles.`})}}function Zm({className:e}){return(0,M.jsx)(`div`,{className:`rounded-sm bg-surface-elevated ${e}`})}function Qm(){return(0,M.jsxs)(`div`,{"aria-hidden":`true`,className:`animate-pulse space-y-6 px-6 py-6`,children:[(0,M.jsxs)(`div`,{className:`space-y-3`,children:[(0,M.jsx)(Zm,{className:`h-6 w-3/4`}),(0,M.jsx)(Zm,{className:`h-3.5 w-2/5`})]}),(0,M.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:6},(e,t)=>(0,M.jsx)(Zm,{className:t%3==2?`h-3.5 w-2/3`:`h-3.5 w-full`},t))})]})}function $m({item:e,onToggleRead:t,onToggleStar:n,onOpenOriginal:r}){return(0,M.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,M.jsx)(`button`,{type:`button`,"aria-label":e.isRead?`Mark as unread`:`Mark as read`,"aria-pressed":e.isRead,title:e.isRead?`Mark as unread`:`Mark as read`,onClick:t,className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary`,children:e.isRead?(0,M.jsx)(cp,{size:18,weight:`regular`}):(0,M.jsx)(up,{size:18,weight:`regular`})}),(0,M.jsx)(`button`,{type:`button`,"aria-label":e.isStarred?`Unstar article`:`Star article`,"aria-pressed":e.isStarred,title:e.isStarred?`Unstar article`:`Star article`,onClick:n,className:`inline-flex size-8 items-center justify-center rounded-md transition-colors hover:bg-surface-elevated ${e.isStarred?`text-accent`:`text-text-secondary hover:text-text-primary`}`,children:(0,M.jsx)(Ep,{size:18,weight:`regular`})}),(0,M.jsx)(`button`,{type:`button`,"aria-label":`Open original article in a new tab`,title:`Open original`,onClick:r,disabled:!e.link,className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-50`,children:(0,M.jsx)(ip,{size:18,weight:`regular`})})]})}var eh=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],th=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function nh(e){let t=new Date(e),n=eh[t.getDay()],r=String(t.getDate()).padStart(2,`0`),i=th[t.getMonth()],a=t.getFullYear(),o=String(t.getHours()).padStart(2,`0`),s=String(t.getMinutes()).padStart(2,`0`),c=String(t.getSeconds()).padStart(2,`0`),l=-t.getTimezoneOffset(),u=l>=0?`+`:`-`,d=Math.abs(l);return`${n}, ${r} ${i} ${a} ${o}:${s}:${c} ${u}${String(Math.floor(d/60)).padStart(2,`0`)}${String(d%60).padStart(2,`0`)}`}function rh({item:e,onToggleRead:t,onToggleStar:n,onOpenOriginal:r,state:i,scrollRef:a,contentHtml:o}){let s=Mf(),c=(0,j.useRef)(null),l=(0,j.useCallback)(e=>{c.current=e,typeof a==`function`?a(e):a&&(a.current=e)},[a]),u=jf(0),d=jf(0);(0,j.useEffect)(()=>{let e=c.current;if(e)return Af((e,t)=>{u.set(e),d.set(+(t.y.scrollLength>0))},{container:e,axis:`y`,trackContentSize:!0})},[u,d]);let f,p=!1;return i.status===`loading`?f=(0,M.jsx)(Qm,{}):i.status===`error`?f=(0,M.jsx)(Bm,{message:i.errorMessage??`Could not open this article.`,onRetry:i.onRetry??(()=>{})}):e?e.contentHtml.trim()===``?f=(0,M.jsx)(zm,{icon:bp,title:`This article has no readable body.`,body:`The feed did not include any content for this article.`,action:e.link?{label:`Open original`,onClick:r}:void 0}):(p=!0,f=(0,M.jsxs)(`article`,{"aria-label":e.title,className:`px-6 py-6`,children:[(0,M.jsxs)(`header`,{className:`mb-5 flex flex-col gap-2 border-b border-border pb-4`,children:[(0,M.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,M.jsx)(`h1`,{className:`text-xl font-semibold leading-tight text-text-primary`,children:e.title}),(0,M.jsx)(`div`,{className:`shrink-0`,children:(0,M.jsx)($m,{item:e,onToggleRead:t,onToggleStar:n,onOpenOriginal:r})})]}),(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 text-xs text-text-muted`,children:[(0,M.jsx)(`span`,{className:`text-text-secondary`,children:e.feedTitle}),e.author?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`-`}),(0,M.jsx)(`span`,{children:e.author})]}):null,(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`-`}),(0,M.jsx)(`time`,{className:`num`,dateTime:new Date(e.publishedAt).toISOString(),children:nh(e.publishedAt)})]})]}),(0,M.jsx)(Wd.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:s?{duration:0}:{duration:.2,ease:`easeOut`},className:`reader-prose text-text-primary`,dangerouslySetInnerHTML:{__html:o||e.contentHtml}},e.id)]})):f=(0,M.jsx)(zm,{icon:bp,title:`Select an article`,body:`Choose an article from the list to read it here.`}),(0,M.jsxs)(`section`,{ref:l,"aria-label":`Reader`,"aria-busy":i.status===`loading`?!0:void 0,tabIndex:-1,className:`h-full overflow-y-auto bg-bg outline-none`,children:[p?(0,M.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none sticky top-0 z-20 h-0`,children:(0,M.jsx)(Wd.div,{className:`h-0.5 w-full origin-left bg-accent`,style:{scaleX:u,opacity:d}})}):null,f]})}var ih=`(max-width: 767px)`;function ah(){let[e,t]=(0,j.useState)(()=>{try{return matchMedia(ih).matches}catch{return!1}});return(0,j.useEffect)(()=>{let e;try{e=matchMedia(ih)}catch{return}let n=e=>t(e.matches);return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}function oh({activePane:e,onBack:t,backLabel:n,topbar:r,sidebarProps:i,listProps:a,readerProps:o}){let s=ah(),c=Mf(),l=(0,M.jsx)(`aside`,{"aria-label":`Feeds`,className:`flex min-h-0 flex-col overflow-y-auto border-border bg-surface md:border-r`,style:{gridArea:`sidebar`},children:(0,M.jsx)(`nav`,{"aria-label":`Feeds`,className:`flex min-h-0 flex-1 flex-col`,children:(0,M.jsx)(Vm,{...i})})}),u=(0,M.jsx)(`main`,{"aria-label":`Articles`,className:`flex min-h-0 flex-col overflow-y-auto border-border bg-surface md:border-r`,style:{gridArea:`list`},children:(0,M.jsx)(Jm,{...a})}),d=(0,M.jsx)(`section`,{"aria-label":`Reader`,className:`flex min-h-0 flex-col overflow-y-auto bg-bg`,style:{gridArea:`reader`},children:(0,M.jsx)(rh,{...o})});return(0,M.jsxs)(`div`,{className:`app-shell`,children:[(0,M.jsx)(`a`,{href:`#articles`,className:`sr-only focus:not-sr-only focus:absolute focus:left-3 focus:top-3 focus:z-50 focus:rounded-md focus:bg-accent focus:px-3 focus:py-2 focus:text-accent-foreground`,children:`Skip to articles`}),(0,M.jsxs)(`header`,{role:`banner`,className:`flex items-center gap-2 border-b border-border bg-surface-elevated px-3`,style:{gridArea:`topbar`,minHeight:`48px`},children:[s&&e!==`sidebar`?(0,M.jsxs)(`button`,{type:`button`,onClick:t,"aria-label":`Back`,className:`flex items-center gap-1 rounded-md px-2 py-1 text-text-secondary hover:bg-surface`,children:[(0,M.jsx)(Rf,{weight:`regular`,"aria-hidden":!0}),(0,M.jsx)(`span`,{className:`num text-xs`,children:n})]}):(0,M.jsxs)(`div`,{className:`flex shrink-0 items-baseline gap-1.5 px-1`,"aria-label":`iread`,children:[(0,M.jsx)(`span`,{className:`text-sm font-semibold tracking-tight text-text-primary`,children:`iread`}),(0,M.jsxs)(`span`,{className:`num text-[10px] text-text-muted`,children:[`v`,`0.2.6`]})]}),(0,M.jsx)(`div`,{className:`flex flex-1 items-center justify-end gap-2`,children:r})]}),s?(0,M.jsx)(`div`,{className:`relative min-h-0 overflow-hidden`,style:{gridArea:`active-pane`},children:(0,M.jsx)(Jl,{mode:`popLayout`,initial:!1,children:(0,M.jsxs)(Wd.div,{className:`absolute inset-0 flex min-h-0 flex-col`,initial:c?!1:{x:24,opacity:0},animate:{x:0,opacity:1},exit:c?{opacity:0}:{x:-16,opacity:0},transition:c?{duration:0}:{type:`spring`,stiffness:320,damping:32},children:[e===`sidebar`&&l,e===`list`&&u,e===`reader`&&d]},e)})}):(0,M.jsxs)(M.Fragment,{children:[l,u,d]})]})}function sh({keys:e}){return(0,M.jsx)(`span`,{className:`inline-flex items-center gap-1`,children:e.map((e,t)=>(0,M.jsx)(`kbd`,{className:`inline-flex min-w-5 items-center justify-center rounded-xs border border-border bg-surface-elevated px-1.5 py-0.5 text-xs leading-none text-text-secondary`,children:e},`${e}-${t}`))})}var ch=[{keys:[`j`,`k`],action:`Down / up: article, feed, or scroll`},{keys:[`f`,`b`],action:`Scroll reader forward / back a page`},{keys:[`n`],action:`Next unread`},{keys:[`g`,`G`],action:`Top / bottom: list, feed, or reader`},{keys:[`Enter`],action:`Open / focus reader`},{keys:[`h`,`l`],action:`Focus pane left / right`},{keys:[`m`],action:`Toggle read / unread`},{keys:[`s`],action:`Toggle star`},{keys:[`A`],action:`Mark current feed or view read`},{keys:[`r`,`R`],action:`Refresh feed / all feeds`},{keys:[`v`],action:`Open original in a new tab`},{keys:[`#`,`N`],action:`Open in-article link number N`},{keys:[`/`],action:`Focus search`},{keys:[`Esc`],action:`Dismiss (help, search, reader focus)`},{keys:[`?`],action:`Toggle this help`},{keys:[`t`],action:`Toggle theme`}],lh=`button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])`;function uh({open:e,onClose:t}){let n=Mf(),r=(0,j.useRef)(null),i=(0,j.useRef)(null),a=(0,j.useRef)(null);return(0,j.useEffect)(()=>{if(!e)return;a.current=document.activeElement,i.current?.focus();function n(e){if(e.key===`Escape`||e.key===`?`){e.preventDefault(),t();return}if(e.key!==`Tab`)return;let n=r.current;if(!n)return;let i=Array.from(n.querySelectorAll(lh)).filter(e=>!e.hasAttribute(`disabled`));if(i.length===0)return;let a=i[0],o=i[i.length-1],s=document.activeElement;e.shiftKey&&s===a?(e.preventDefault(),o.focus()):!e.shiftKey&&s===o&&(e.preventDefault(),a.focus())}return document.addEventListener(`keydown`,n),()=>{document.removeEventListener(`keydown`,n),a.current?.focus()}},[e,t]),(0,M.jsx)(Jl,{children:e?(0,M.jsxs)(Wd.div,{className:`fixed inset-0 z-50 flex items-center justify-center p-4`,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:n?{duration:0}:{duration:.16,ease:`easeOut`},children:[(0,M.jsx)(`div`,{className:`absolute inset-0 bg-[color-mix(in_oklch,oklch(0.17_0.004_264)_45%,transparent)]`,onClick:t,"aria-hidden":`true`}),(0,M.jsxs)(Wd.div,{ref:r,role:`dialog`,"aria-modal":`true`,"aria-label":`Keyboard shortcuts`,initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:n?{duration:0}:{duration:.16,ease:`easeOut`},className:`relative z-10 max-h-[80vh] w-full max-w-md overflow-y-auto rounded-lg border border-border bg-surface-elevated p-5 shadow-xl`,children:[(0,M.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,M.jsx)(`h2`,{className:`text-sm font-semibold text-text-primary`,children:`Keyboard shortcuts`}),(0,M.jsx)(`button`,{ref:i,type:`button`,"aria-label":`Close keyboard shortcuts`,onClick:t,className:`rounded-sm px-2 py-1 text-sm text-text-muted transition-opacity hover:opacity-80`,children:`Close`})]}),(0,M.jsx)(`dl`,{className:`flex flex-col gap-1.5`,children:ch.map(({keys:e,action:t})=>(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-4 py-0.5`,children:[(0,M.jsx)(`dt`,{className:`text-sm text-text-secondary`,children:t}),(0,M.jsx)(`dd`,{className:`shrink-0`,children:(0,M.jsx)(sh,{keys:e})})]},t))})]})]}):null})}function dh({active:e,buffer:t,count:n}){let r=Mf();return(0,M.jsx)(Jl,{children:e?(0,M.jsxs)(Wd.div,{"aria-hidden":`true`,initial:r?{opacity:0}:{opacity:0,y:8},animate:{opacity:1,y:0},exit:r?{opacity:0}:{opacity:0,y:8},transition:r?{duration:0}:{duration:.14,ease:`easeOut`},className:`fixed bottom-4 left-1/2 z-50 -translate-x-1/2 rounded-md border border-border bg-surface-elevated px-3 py-1.5 text-sm shadow-lg`,children:[(0,M.jsx)(`span`,{className:`text-text-secondary`,children:`Open link`}),` `,(0,M.jsxs)(`span`,{className:`num text-text-primary`,children:[`#`,t||`…`]}),` `,(0,M.jsxs)(`span`,{className:`num text-xs text-text-muted`,children:[`of `,n]}),(0,M.jsxs)(`span`,{className:`ml-3 text-xs text-text-muted`,children:[(0,M.jsx)(`span`,{className:`num`,children:`Enter`}),` open · `,(0,M.jsx)(`span`,{className:`num`,children:`Esc`}),` cancel`]})]}):null})}function fh(e){let t=e.target;if(!t)return!1;let n=t.tagName;return n===`INPUT`||n===`TEXTAREA`||n===`SELECT`||t.isContentEditable}function ph(e,t,n){let[r,i]=(0,j.useState)(!1),[a,o]=(0,j.useState)(``),s=(0,j.useRef)(e);s.current=e;let c=(0,j.useRef)(t);c.current=t;let l=(0,j.useRef)(n);l.current=n;let u=(0,j.useRef)(!1),d=(0,j.useRef)(``);return(0,j.useEffect)(()=>{u.current=!1,d.current=``,i(!1),o(``)},[e]),(0,j.useEffect)(()=>{function e(e){u.current=e,i(e)}function t(e){d.current=e,o(e)}function n(){e(!1),t(``)}function r(e){let t=s.current[e-1];n(),t&&c.current(t)}function a(i){if(l.current)return;let a=s.current.length;if(!u.current){i.key===`#`&&!fh(i)&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!i.isComposing&&a>0&&(i.preventDefault(),i.stopPropagation(),e(!0),t(``));return}if(i.key===`Escape`||i.key===`#`){i.preventDefault(),i.stopPropagation(),n();return}if(i.key===`Enter`){i.preventDefault(),i.stopPropagation();let e=Number(d.current);e>=1&&e<=a?r(e):n();return}if(i.key===`Backspace`){i.preventDefault(),i.stopPropagation(),t(d.current.slice(0,-1));return}if(/^[0-9]$/.test(i.key)){i.preventDefault(),i.stopPropagation();let e=Number(d.current+i.key);if(e<1||e>a)return;t(String(e)),e*10>a&&r(e);return}n()}return window.addEventListener(`keydown`,a,!0),()=>window.removeEventListener(`keydown`,a,!0)},[]),{active:r,buffer:a}}var mh={error:`text-danger`,success:`text-text-primary`,info:`text-text-primary`};function hh({kind:e,message:t,action:n,onDismiss:r,durationMs:i=5e3}){let a=Mf();return(0,j.useEffect)(()=>{if(i<=0)return;let e=window.setTimeout(r,i);return()=>window.clearTimeout(e)},[r,i]),(0,M.jsxs)(Wd.div,{role:`status`,"aria-live":e===`error`?`assertive`:`polite`,initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:8},transition:a?{duration:0}:{duration:.18,ease:`easeOut`},className:`pointer-events-auto flex items-center gap-3 rounded-lg border border-border bg-surface-elevated px-3 py-2 shadow-lg`,children:[(0,M.jsx)(`span`,{className:`text-sm ${mh[e]}`,children:t}),n?(0,M.jsx)(`button`,{type:`button`,onClick:n.onClick,className:`ml-auto rounded-sm px-2 py-1 text-sm font-medium text-accent transition-opacity hover:opacity-80`,children:n.label}):null,(0,M.jsx)(`button`,{type:`button`,"aria-label":`Dismiss notification`,onClick:r,className:`${n?``:`ml-auto`} rounded-sm px-1.5 py-1 text-sm text-text-muted transition-opacity hover:opacity-80`,children:`Close`})]})}function gh({children:e}){return(0,M.jsx)(`div`,{className:`pointer-events-none fixed bottom-4 right-4 z-50 flex w-full max-w-sm flex-col gap-2`,children:(0,M.jsx)(Jl,{initial:!1,children:e})})}var _h=(0,j.forwardRef)(function({value:e,onChange:t,onClear:n},r){return(0,M.jsxs)(`div`,{role:`search`,className:`relative flex items-center`,children:[(0,M.jsx)(gp,{size:16,weight:`regular`,className:`pointer-events-none absolute left-2.5 text-text-muted`}),(0,M.jsx)(`input`,{ref:r,type:`search`,value:e,onChange:e=>t(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),n())},placeholder:`Search articles`,"aria-label":`Search articles in the current view`,className:`w-full rounded-sm border border-border bg-surface py-1.5 pl-8 pr-8 text-sm text-text-primary placeholder:text-text-muted focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-1`}),e?(0,M.jsx)(`button`,{type:`button`,"aria-label":`Clear search`,onClick:n,className:`absolute right-2 rounded-xs px-1 text-sm text-text-muted transition-opacity hover:opacity-80`,children:`Clear`}):null]})});function vh({pending:e,onClick:t}){let n=Mf(),r=e&&!n;return(0,M.jsx)(`button`,{type:`button`,"aria-label":`Refresh all feeds`,title:`Refresh all feeds`,onClick:t,disabled:e,className:`inline-flex size-8 items-center justify-center rounded-md text-text-secondary transition-colors hover:bg-surface-elevated hover:text-text-primary disabled:cursor-not-allowed`,children:(0,M.jsx)(Wd.span,{className:`inline-flex`,animate:r?{rotate:360}:{rotate:0},transition:r?{repeat:1/0,ease:`linear`,duration:.8}:{duration:0},children:(0,M.jsx)(op,{size:18,weight:`regular`})})})}var yh=`(prefers-color-scheme: dark)`;function bh(){try{return matchMedia(yh).matches}catch{return!1}}function xh(e){return e===`system`?bh()?`dark`:`light`:e}function Sh(e){let t=document.documentElement,n=xh(e);t.classList.toggle(`dark`,n===`dark`),t.classList.toggle(`theme-light`,e===`light`)}function Ch(){let e=mm(e=>e.theme);(0,j.useEffect)(()=>{Sh(e)},[e]),(0,j.useEffect)(()=>{if(e!==`system`)return;let t;try{t=matchMedia(yh)}catch{return}let n=()=>Sh(`system`);return t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)},[e]);let t=(0,j.useCallback)(e=>{fm.setTheme(e)},[]),n=(0,j.useCallback)(()=>{let e=[`light`,`dark`,`system`],t=e[(e.indexOf(fm.getState().theme)+1)%e.length]??`system`;fm.setTheme(t)},[]);return{theme:e,resolved:xh(e),setTheme:t,cycleTheme:n}}var wh=200;function Th(e,t){return[`items`,{view:e,q:t}]}function Eh(e){let t=e[1];if(t&&typeof t==`object`&&`view`in t)return t}function Dh(e){return e.startsWith(`feed:`)?{feedId:Number(e.slice(5))}:{view:e}}function Oh(e=250){let t=mm(e=>e.searchText),[n,r]=(0,j.useState)(()=>t.trim());return(0,j.useEffect)(()=>{let n=setTimeout(()=>r(t.trim()),e);return()=>clearTimeout(n)},[t,e]),n}function kh(e,t){let n=mm(e=>e.autoRefresh),r=Dh(e);return ht({queryKey:Th(e,t),queryFn:({signal:e})=>em.listItems({...r,q:t,limit:wh,offset:0},e),staleTime:3e4,gcTime:5*6e4,refetchOnWindowFocus:!0,refetchInterval:n.enabled?n.intervalMs:!1,refetchIntervalInBackground:!1})}function Ah(e){return ht({queryKey:[`item`,e],queryFn:({signal:t})=>em.getItem(e,t),enabled:e!=null,staleTime:5*6e4,gcTime:10*6e4,refetchOnWindowFocus:!1})}function jh(e,t){for(let[,n]of t){let t=n?.items.find(t=>t.id===e);if(t)return t.feedId}}function Mh(e,t){let n=e.findIndex(e=>e.id===t);if(n===-1)return fm.getState().selectedItemId;let r=e[n+1]??e[n-1];return r?r.id:null}function Nh(){let e=et();return gt({mutationFn:({id:e,isRead:t})=>em.patchItem(e,{isRead:t}),onMutate:async({id:t,isRead:n})=>{await e.cancelQueries({queryKey:[`items`]}),await e.cancelQueries({queryKey:$});let r=e.getQueriesData({queryKey:[`items`]}),i=e.getQueryData($),a=jh(t,r);return Lh(e,t,n),Bh(e,a,n?-1:1),{prevItems:r,prevFeeds:i,prevItem:Hh(e,t,{isRead:n})}},onError:(t,n,r)=>{Uh(e,r),xm({kind:`error`,message:`Could not update. Reverted.`})},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:[`items`],refetchType:r.isRead?`none`:`active`}),e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:[`item`,r.id]})}})}function Ph(e){let t=et();return gt({mutationFn:({id:e,isStarred:t})=>em.patchItem(e,{isStarred:t}),onMutate:async({id:n,isStarred:r})=>{await t.cancelQueries({queryKey:[`items`]}),await t.cancelQueries({queryKey:$});let i=t.getQueriesData({queryKey:[`items`]}),a=t.getQueryData($);if(!r&&e===`starred`&&fm.getState().selectedItemId===n){let r=t.getQueryData(Th(e,Kh()));r&&fm.setSelectedItemId(Mh(r.items,n))}return Rh(t,n,r),Vh(t,r?1:-1),{prevItems:i,prevFeeds:a,prevItem:Hh(t,n,{isStarred:r})}},onError:(e,n,r)=>{Uh(t,r),xm({kind:`error`,message:`Could not update. Reverted.`})},onSettled:(e,n,r)=>{t.invalidateQueries({queryKey:[`items`]}),t.invalidateQueries({queryKey:$}),t.invalidateQueries({queryKey:[`item`,r.id]})}})}function Fh(){let e=et();return gt({mutationFn:e=>{let t={};return e.feedId!==void 0&&(t.feedId=e.feedId),e.view!==void 0&&(t.view=e.view),em.markAllRead(t)},onMutate:async t=>{await e.cancelQueries({queryKey:[`items`]}),await e.cancelQueries({queryKey:$});let n=e.getQueriesData({queryKey:[`items`]}),r=e.getQueryData($),i=e=>!(t.feedId!==void 0&&e.feedId!==t.feedId||t.view===`starred`&&!e.isStarred);return Ih(e,(e,t)=>{if(t===`unread`){let t=e.items.filter(e=>!(i(e)&&!e.isRead)),n=e.items.length-t.length;return{...e,items:t,total:Math.max(0,e.total-n)}}return{...e,items:e.items.map(e=>i(e)?{...e,isRead:!0}:e)}}),zh(e,n,t),{prevItems:n,prevFeeds:r}},onError:(t,n,r)=>{Uh(e,r),xm({kind:`error`,message:`Could not mark read. Reverted.`})},onSettled:()=>{e.invalidateQueries({queryKey:[`items`]}),e.invalidateQueries({queryKey:$})}})}function Ih(e,t){let n=e.getQueriesData({queryKey:[`items`]});for(let[r,i]of n){if(!i)continue;let n=Eh(r)?.view;e.setQueryData(r,t(i,n))}}function Lh(e,t,n){Ih(e,e=>({...e,items:e.items.map(e=>e.id===t?{...e,isRead:n}:e)}))}function Rh(e,t,n){Ih(e,(e,r)=>{if(r===`starred`&&!n){let n=e.items.filter(e=>e.id!==t),r=e.items.length-n.length;return{...e,items:n,total:Math.max(0,e.total-r)}}return{...e,items:e.items.map(e=>e.id===t?{...e,isStarred:n}:e)}})}function zh(e,t,n){let r=e=>n.feedId===void 0||e===n.feedId;if(n.view!==`starred`){e.setQueryData($,e=>{if(!e)return e;let t=e.feeds.map(e=>r(e.id)?{...e,unreadCount:0}:e),n=t.reduce((e,t)=>e+t.unreadCount,0);return{...e,feeds:t,totals:{...e.totals,unread:n}}});return}let i=new Map,a=new Set;for(let[,e]of t)if(e)for(let t of e.items)a.has(t.id)||(a.add(t.id),t.isStarred&&!t.isRead&&r(t.feedId)&&i.set(t.feedId,(i.get(t.feedId)??0)+1));e.setQueryData($,e=>{if(!e)return e;let t=e.feeds.map(e=>{let t=i.get(e.id)??0;return t?{...e,unreadCount:Math.max(0,e.unreadCount-t)}:e}),n=t.reduce((e,t)=>e+t.unreadCount,0);return{...e,feeds:t,totals:{...e.totals,unread:n}}})}function Bh(e,t,n){e.setQueryData($,e=>e&&{...e,feeds:e.feeds.map(e=>e.id===t?{...e,unreadCount:Math.max(0,e.unreadCount+n)}:e),totals:{...e.totals,unread:Math.max(0,e.totals.unread+n)}})}function Vh(e,t){e.setQueryData($,e=>e&&{...e,totals:{...e.totals,starred:Math.max(0,e.totals.starred+t)}})}function Hh(e,t,n){let r=[`item`,t],i=e.getQueryData(r);return i?(e.setQueryData(r,{...i,item:{...i.item,...n}}),{key:r,data:i}):{key:r,data:void 0}}function Uh(e,t){t?.prevItems.forEach(([t,n])=>e.setQueryData(t,n)),t?.prevFeeds&&e.setQueryData($,t.prevFeeds),t?.prevItem&&e.setQueryData(t.prevItem.key,t.prevItem.data)}var Wh=``;function Gh(e){Wh=e}function Kh(){return Wh}function qh(e,t,n){let{data:r}=kh(e,t),i=(0,j.useMemo)(()=>r?.items??[],[r]),a=mm(e=>e.selectedItemId),o=(0,j.useRef)(!0),s=(0,j.useRef)(e);s.current!==e&&(s.current=e,o.current=!0);let c=(0,j.useRef)(n);return c.current=n,(0,j.useEffect)(()=>{if(r===void 0)return;let e=o.current;if(o.current=!1,a!=null&&i.some(e=>e.id===a))return;let t=i[0];fm.setSelectedItemId(t?t.id:null),c.current?.(t,e)},[r,i,a,e]),a}function Jh(){let e=Nh();return t=>{t&&!t.isRead&&e.mutate({id:t.id,isRead:!0})}}function Yh(e){let t=e.target;if(!t)return!1;let n=t.tagName;return n===`INPUT`||n===`TEXTAREA`||n===`SELECT`||t.isContentEditable}function Xh(e){return!(Yh(e)||e.ctrlKey||e.metaKey||e.altKey||e.isComposing)}function Zh(e){let t=(0,j.useRef)(e);t.current=e,(0,j.useEffect)(()=>{function e(e,t){return t==null?-1:e.findIndex(e=>e.id===t)}function n(n){let r=t.current;if(n.key===`Escape`){r.onEscape();return}if(!Xh(n))return;if(r.disabled){n.key===`?`&&(n.preventDefault(),r.onToggleHelp());return}let{items:i,selectedItemId:a}=r,o=e(i,a),s=e=>{if(i.length===0)return;let t=i[o<0?0:Math.max(0,Math.min(i.length-1,o+e))];t&&r.onSelectItem(t.id)},c=e=>{let t=r.sidebarTargets;if(t.length===0)return;let n=r.currentSidebarIndex,i=t[n<0?0:Math.max(0,Math.min(t.length-1,n+e))];i&&(r.onSelectSidebar(i),r.onSidebarFocusFollow())},l=e=>{let t=r.sidebarTargets[e];t&&(r.onSelectSidebar(t),r.onSidebarFocusFollow())};switch(n.key){case`j`:case`ArrowDown`:{n.preventDefault();let e=r.getFocusedPane();e===`sidebar`?c(1):e===`reader`?r.onScrollReader(1,`line`):s(1);break}case`k`:case`ArrowUp`:{n.preventDefault();let e=r.getFocusedPane();e===`sidebar`?c(-1):e===`reader`?r.onScrollReader(-1,`line`):s(-1);break}case`n`:{n.preventDefault();let e=i.slice(o+1).find(e=>!e.isRead)??i.find(e=>!e.isRead);e?r.onSelectItem(e.id):r.announce(`No unread items`);break}case`g`:{n.preventDefault();let e=r.getFocusedPane();if(e===`reader`){r.onScrollReader(-1,`edge`);break}if(e===`sidebar`){l(0);break}let t=i[0];t&&r.onSelectItem(t.id);break}case`G`:{n.preventDefault();let e=r.getFocusedPane();if(e===`reader`){r.onScrollReader(1,`edge`);break}if(e===`sidebar`){l(r.sidebarTargets.length-1);break}let t=i[i.length-1];t&&r.onSelectItem(t.id);break}case`Enter`:case`o`:n.preventDefault(),a!=null&&r.onOpenReader(a);break;case`h`:case`ArrowLeft`:n.preventDefault(),r.onMovePaneFocus(-1);break;case`l`:case`ArrowRight`:n.preventDefault(),r.onMovePaneFocus(1);break;case`f`:n.preventDefault(),r.onScrollReader(1,`page`);break;case`b`:n.preventDefault(),r.onScrollReader(-1,`page`);break;case`m`:n.preventDefault(),a!=null&&r.onToggleRead(a);break;case`s`:n.preventDefault(),a!=null&&r.onToggleStar(a);break;case`A`:n.preventDefault(),r.onMarkAllRead();break;case`v`:{n.preventDefault();let e=i.find(e=>e.id===a);e&&r.onOpenOriginal(e);break}case`r`:n.preventDefault(),r.onRefreshCurrent();break;case`R`:n.preventDefault(),r.onRefreshAll();break;case`/`:n.preventDefault(),r.onFocusSearch();break;case`?`:n.preventDefault(),r.onToggleHelp();break;case`t`:n.preventDefault(),r.onCycleTheme();break;default:break}}return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[])}var Qh=[{kind:`unread`},{kind:`all`},{kind:`starred`}],$h=[`sidebar`,`list`,`reader`];function eg(){let{selection:e,selectedItemId:t,searchText:n,helpOpen:r}=pm(),{theme:i,resolved:a,setTheme:o,cycleTheme:s}=Ch(),c=Mf(),l=ah(),u=Oh();(0,j.useEffect)(()=>{Gh(u)},[u]);let d=wm(e),f=Tm(),p=kh(d,u),m=Ah(t),h=(0,j.useMemo)(()=>p.data?.items??[],[p.data]),g=(0,j.useMemo)(()=>{let e=m.data?.item,t=e?.contentHtml;if(!t)return{html:``,hrefs:[]};let n=e.link??void 0,r=new DOMParser().parseFromString(t,`text/html`),i=[];for(let e of r.querySelectorAll(`a[href]`)){let t=e.getAttribute(`href`)?.trim();if(!t)continue;let a;try{a=new URL(t,n)}catch{continue}if(a.protocol!==`http:`&&a.protocol!==`https:`&&a.protocol!==`mailto:`)continue;i.push(a.href);let o=i.length;e.setAttribute(`href`,a.href),e.setAttribute(`data-linknum`,String(o));let s=r.createElement(`sup`);s.className=`linknum`,s.setAttribute(`aria-hidden`,`true`),s.textContent=`[${o}]`,e.after(s)}return{html:r.body.innerHTML,hrefs:i}},[m.data]),_=Em(),v=Dm(),y=Om(),b=km(),x=Nh(),S=Ph(d),C=Fh(),ee=Jh(),w=Mm(),T=(0,j.useRef)(null),te=(0,j.useCallback)(()=>{let e=T.current;T.current=null,e&&ee(e)},[ee]),ne=(0,j.useCallback)(e=>{T.current=e&&!e.isRead?e:null},[]);qh(d,u,(0,j.useCallback)((e,t)=>{l||(t&&te(),ne(e))},[l,te,ne]));let re=Cm(),[ie,ae]=(0,j.useState)(``),E=(0,j.useCallback)(e=>{ae(``),requestAnimationFrame(()=>ae(e))},[]),[oe,D]=(0,j.useState)(`list`),O=(0,j.useCallback)(e=>D(e),[]),se=(0,j.useCallback)(()=>{D(e=>e===`reader`?`list`:`sidebar`)},[]),ce=(0,j.useRef)(null),le=(0,j.useRef)(null),k=(0,j.useCallback)(()=>{if(l)return;let e=document.activeElement,t=document.querySelector(`aside[aria-label="Feeds"]`);!e||!t?.contains(e)||document.getElementById(`articles`)?.focus({preventScroll:!0})},[l]),ue=(0,j.useCallback)(e=>{fm.setSelection({kind:e}),O(`list`)},[O]),de=(0,j.useCallback)(e=>{fm.setSelection({kind:`feed`,feedId:e}),O(`list`)},[O]),fe=(0,j.useCallback)(e=>{ue(e),k()},[ue,k]),pe=(0,j.useCallback)(e=>{de(e),k()},[de,k]),me=(0,j.useCallback)(e=>{fm.setSelectedItemId(e)},[]),he=(0,j.useCallback)(e=>{fm.setSelectedItemId(e),!l&&T.current?.id!==e&&(te(),ne(h.find(t=>t.id===e)))},[l,h,te,ne]),ge=(0,j.useCallback)(e=>{fm.setSelectedItemId(e),T.current?.id===e?T.current=null:te(),ee(h.find(t=>t.id===e)),O(`reader`)},[h,ee,te,O]),_e=(0,j.useMemo)(()=>{let e=f.data?.feeds??[];return[...Qh,...e.map(e=>({kind:`feed`,feedId:e.id}))]},[f.data]),ve=(0,j.useMemo)(()=>_e.findIndex(t=>t.kind===`feed`?e.kind===`feed`&&e.feedId===t.feedId:e.kind===t.kind),[_e,e]),ye=(0,j.useCallback)(e=>{e.kind===`feed`?de(e.feedId):ue(e.kind)},[de,ue]),be=(0,j.useCallback)(e=>{T.current?.id===e&&(T.current=null);let t=!(h.find(t=>t.id===e)?.isRead??!1);x.mutate({id:e,isRead:t}),E(t?`Marked read`:`Marked unread`)},[h,x,E]),xe=(0,j.useCallback)(e=>{let t=!(h.find(t=>t.id===e)?.isStarred??!1);S.mutate({id:e,isStarred:t}),E(t?`Starred`:`Unstarred`)},[h,S,E]),Se=(0,j.useCallback)(()=>{T.current=null;let t=h.filter(e=>!e.isRead).map(e=>e.id),n=e.kind===`feed`?{feedId:e.feedId}:{view:e.kind};C.mutate(n),E(`Marked read, ${t.length} items`),t.length>0&&xm({kind:`success`,message:`Marked read, ${t.length} items`,action:{label:`Undo`,onClick:()=>{for(let e of t)x.mutate({id:e,isRead:!1})}}})},[h,e,C,x,E]),Ce=(0,j.useCallback)(()=>{if(e.kind===`feed`){y.mutate(e.feedId);return}let n=h.find(e=>e.id===t);n?y.mutate(n.feedId):b.mutate()},[e,h,t,y,b]),A=(0,j.useCallback)(()=>{b.mutate(),E(`Refreshing all feeds`)},[b,E]),we=(0,j.useCallback)(e=>{e.link&&window.open(e.link,`_blank`,`noopener,noreferrer`)},[]),Te=(0,j.useCallback)(e=>{window.open(e,`_blank`,`noopener,noreferrer`)},[]),Ee=ph(g.hrefs,Te,r);(0,j.useEffect)(()=>{let e=le.current?.querySelector(`.reader-prose`);if(e&&(e.classList.toggle(`link-jump-active`,Ee.active),e.querySelectorAll(`a.iread-link-target`).forEach(e=>e.classList.remove(`iread-link-target`)),Ee.active&&Ee.buffer)){let t=e.querySelector(`a[data-linknum="${Ee.buffer}"]`);if(t){t.classList.add(`iread-link-target`);let e=Pe.current;e.raf&&=(cancelAnimationFrame(e.raf),0),t.scrollIntoView({block:`center`,behavior:c?`auto`:`smooth`})}}},[Ee.active,Ee.buffer,g.html,c]),(0,j.useEffect)(()=>{Ee.active&&E(`Link jump: type a link number, Enter to open, Escape to cancel`)},[Ee.active,E]);let De=(0,j.useCallback)(e=>{T.current?.feedId===e&&(T.current=null),v.mutate(e)},[v]),Oe=(0,j.useCallback)(e=>{fm.setSearchText(e)},[]),ke=(0,j.useCallback)(()=>{fm.clearSearch()},[]),Ae=(0,j.useCallback)(()=>{let e=ce.current;e&&(e.focus(),e.select())},[]),je=(0,j.useCallback)(()=>{fm.toggleHelp()},[]),Me=(0,j.useCallback)(()=>{document.querySelector(`[role="option"][aria-selected="true"]`)?.focus()},[]),Ne=(0,j.useCallback)(e=>{if(e===`sidebar`){let e=document.querySelector(`aside[aria-label="Feeds"]`);(e?.querySelector(`[aria-current="true"]`)??e?.querySelector(`[aria-pressed="true"]`)??e?.querySelector(`button`))?.focus()}else e===`list`?document.querySelector(`#articles [tabindex="0"]`)?.focus():le.current?.focus()},[]),Pe=(0,j.useRef)({target:0,raf:0}),Fe=(0,j.useCallback)((e,t=`line`)=>{let n=le.current;if(!n)return;let r=n.scrollHeight-n.clientHeight;if(r<=0)return;let i=t===`page`?.9:.16,a=Math.max(48,Math.round(n.clientHeight*i)),o=e<0?0:r;if(c){n.scrollTop=t===`edge`?o:Math.max(0,Math.min(r,n.scrollTop+e*a));return}let s=Pe.current;s.raf||(s.target=n.scrollTop),s.target=t===`edge`?o:Math.max(0,Math.min(r,s.target+e*a));let l=()=>{let e=le.current;if(!e){s.raf=0;return}let t=s.target-e.scrollTop;if(Math.abs(t)<=1){e.scrollTop=s.target,s.raf=0;return}let n=t*.22;e.scrollTop+=Math.abs(n)<1?Math.sign(t):n,s.raf=requestAnimationFrame(l)};s.raf||=requestAnimationFrame(l)},[c]),Ie=(0,j.useCallback)(()=>{requestAnimationFrame(()=>Ne(`sidebar`))},[Ne]),Le=(0,j.useCallback)(()=>{let e=document.activeElement;if(e&&e!==document.body){if(le.current?.contains(e))return`reader`;if(document.querySelector(`aside[aria-label="Feeds"]`)?.contains(e))return`sidebar`;if(document.getElementById(`articles`)?.contains(e))return`list`}return oe},[oe]);Zh({items:h,selectedItemId:t,onSelectItem:he,onOpenReader:ge,sidebarTargets:_e,currentSidebarIndex:ve,onSelectSidebar:ye,onMovePaneFocus:(0,j.useCallback)(e=>{let t=Le(),n=$h.indexOf(t),r=$h[Math.max(0,Math.min($h.length-1,n+e))];r!==t&&(O(r),requestAnimationFrame(()=>Ne(r)))},[Le,O,Ne]),getFocusedPane:Le,onScrollReader:Fe,onSidebarFocusFollow:Ie,onToggleRead:be,onToggleStar:xe,onMarkAllRead:Se,onRefreshCurrent:Ce,onRefreshAll:A,onOpenOriginal:we,onFocusSearch:Ae,onEscape:(0,j.useCallback)(()=>{if(fm.getState().helpOpen){fm.setHelpOpen(!1);return}let e=document.activeElement,t=ce.current;if(t&&e===t){fm.clearSearch(),t.blur(),Me();return}let n=document.querySelector(`[aria-label="Reader"]`);if(e&&n&&n.contains(e)){Me();return}},[Me]),onToggleHelp:je,onCycleTheme:s,announce:E,disabled:r});let Re=(0,j.useMemo)(()=>{if(p.isLoading)return{status:`loading`};if(p.isError)return{status:`error`,errorMessage:p.error?.message??`Could not load articles.`,onRetry:()=>p.refetch()};if(h.length===0){let t;return t=u?`search-no-match`:e.kind===`unread`?`unread-clear`:e.kind===`starred`?`starred-empty`:(e.kind,`feed-empty`),{status:`empty`,emptyKind:t}}return{status:`ready`}},[p,h,u,e]),ze=(0,j.useMemo)(()=>t==null?{status:`empty`,emptyKind:`no-feed`}:m.isLoading?{status:`loading`}:m.isError?{status:`error`,errorMessage:m.error?.message??`Could not open this article.`,onRetry:()=>m.refetch()}:{status:`ready`},[t,m]),Be=(0,j.useMemo)(()=>f.isLoading?{status:`loading`}:f.isError?{status:`error`,errorMessage:f.error?.message??`Could not load your feeds.`,onRetry:()=>f.refetch()}:(f.data?.feeds.length??0)===0?{status:`empty`}:{status:`ready`},[f]);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(oh,{theme:a,activePane:oe,onBack:se,backLabel:oe===`reader`?`List`:`Feeds`,topbar:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(_h,{ref:ce,value:n,onChange:Oe,onClear:ke}),(0,M.jsx)(vh,{pending:b.isPending,onClick:A}),(0,M.jsx)(`button`,{type:`button`,onClick:je,"aria-label":`Keyboard shortcuts`,className:`rounded-md px-2 py-1 text-text-secondary hover:bg-surface`,children:(0,M.jsx)(`kbd`,{className:`text-xs`,children:`?`})})]}),sidebarProps:{feeds:f.data?.feeds??[],totals:f.data?.totals??{all:0,unread:0,starred:0},selection:e,state:Be,isRefreshingAll:b.isPending,onSelectView:fe,onSelectFeed:pe,onDeleteFeed:De,onAddFeed:e=>_.mutate(e),addPending:_.isPending,addError:_.error?.message??null,onImportOpml:e=>w.importOpml(e),onExportOpml:w.exportOpml,opmlPending:w.importPending,theme:i,onChangeTheme:o},listProps:{items:h,total:p.data?.total??0,selectedId:t,onSelect:me,onOpen:ge,onToggleStar:xe,state:Re},readerProps:{item:m.data?.item,onToggleRead:()=>{t!=null&&be(t)},onToggleStar:()=>{t!=null&&xe(t)},onOpenOriginal:()=>{let e=m.data?.item;e?.link&&window.open(e.link,`_blank`,`noopener,noreferrer`)},state:ze,scrollRef:le,onBack:se,contentHtml:g.html}}),(0,M.jsx)(uh,{open:r,onClose:()=>fm.setHelpOpen(!1)}),(0,M.jsx)(dh,{active:Ee.active,buffer:Ee.buffer,count:g.hrefs.length}),(0,M.jsx)(gh,{children:re.map(e=>(0,M.jsx)(hh,{kind:e.kind===`error`?`error`:`success`,message:e.message,action:e.action,durationMs:e.durationMs,onDismiss:()=>Sm(e.id)},e.id))}),(0,M.jsx)(`div`,{"aria-live":`polite`,"aria-atomic":`true`,className:`sr-only`,children:ie})]})}function tg({children:e}){let t=et(),[n,r]=(0,j.useState)(`checking`),[i,a]=(0,j.useState)(``),[o,s]=(0,j.useState)(``),[c,l]=(0,j.useState)(!1);(0,j.useEffect)(()=>{let e=!0,n=()=>{r(`required`),t.clear()};return window.addEventListener(Kp,n),em.checkAuth().then(()=>{e&&r(`ready`)}).catch(t=>{e&&(r(t instanceof Zp&&t.status===401?`required`:`error`),s(t instanceof Zp&&t.status===401?``:t instanceof Error?t.message:`Could not connect to iread.`))}),()=>{e=!1,window.removeEventListener(Kp,n)}},[t]);async function u(e){e.preventDefault(),l(!0),s(``),Jp(i);try{await em.checkAuth(),a(``),r(`ready`)}catch(e){Jp(``),s(e instanceof Zp&&e.status===401?`Invalid auth token.`:`Could not connect to iread. Try again.`)}finally{l(!1)}}return n===`ready`?e:(0,M.jsx)(`main`,{className:`flex min-h-dvh items-center justify-center bg-surface px-6 text-text-primary`,children:(0,M.jsxs)(`section`,{className:`w-full max-w-sm rounded-md border border-border p-6`,children:[(0,M.jsx)(`h1`,{className:`mb-4 text-lg font-semibold`,children:`iread`}),n===`checking`?(0,M.jsx)(`p`,{role:`status`,children:`Connecting…`}):n===`error`?(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`p`,{role:`alert`,children:o}),(0,M.jsx)(`button`,{className:`mt-4 text-accent`,onClick:()=>window.location.reload(),children:`Retry`})]}):(0,M.jsxs)(`form`,{onSubmit:u,className:`flex flex-col gap-4`,children:[(0,M.jsx)(`label`,{htmlFor:`auth-token`,children:`Enter your auth token to continue.`}),(0,M.jsx)(`input`,{id:`auth-token`,type:`password`,autoComplete:`current-password`,autoFocus:!0,required:!0,value:i,onChange:e=>a(e.target.value),disabled:c,className:`rounded-sm border border-border bg-surface px-3 py-2`}),o&&(0,M.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:o}),(0,M.jsx)(`button`,{disabled:c,className:`rounded-md bg-accent px-3 py-2 text-accent-foreground disabled:opacity-60`,children:c?`Signing in…`:`Sign in`})]})]})})}(function(){let e=fm.getState().theme,t=document.documentElement;t.classList.toggle(`dark`,xh(e)===`dark`),t.classList.toggle(`theme-light`,e===`light`)})();var ng=new Xe({defaultOptions:{queries:{retry:1,refetchOnReconnect:!0},mutations:{retry:0}}}),rg=document.getElementById(`root`);if(!rg)throw Error(`Root element #root not found`);(0,Nf.createRoot)(rg).render((0,M.jsx)(j.StrictMode,{children:(0,M.jsx)(tt,{client:ng,children:(0,M.jsx)(tg,{children:(0,M.jsx)(eg,{})})})}));
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", monospace;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--bg);--color-surface:var(--surface);--color-surface-elevated:var(--surface-elevated);--color-border:var(--border);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-muted);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-unread:var(--unread);--color-danger:var(--danger)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border)}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:.875rem;line-height:1.5}.num,kbd,time,.count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){::selection{background-color:color-mix(in oklch, var(--color-accent) 28%, transparent)}}.reader-prose{max-width:68ch;font-size:1rem;line-height:1.7}.reader-prose>:first-child{margin-top:0}.reader-prose>:last-child{margin-bottom:0}.reader-prose p{margin-block:.85em}.reader-prose a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:from-font}.reader-prose .linknum{font-family:var(--font-mono);vertical-align:super;letter-spacing:-.03em;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;margin-inline-start:.1em;font-size:.68em;line-height:0}.reader-prose.link-jump-active .linknum{color:var(--color-accent);font-weight:600}.reader-prose a[data-linknum].iread-link-target{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-prose a[data-linknum].iread-link-target{background:color-mix(in oklch, var(--color-accent) 14%, transparent)}}.reader-prose h1,.reader-prose h2,.reader-prose h3,.reader-prose h4,.reader-prose h5,.reader-prose h6{text-wrap:balance;margin-top:1.6em;margin-bottom:.6em;font-weight:600;line-height:1.3}.reader-prose h1{font-size:1.5em}.reader-prose h2{font-size:1.3em}.reader-prose h3{font-size:1.15em}.reader-prose h4{font-size:1em}.reader-prose h5{color:var(--color-text-secondary);font-size:.9em}.reader-prose h6{color:var(--color-text-secondary);font-size:.85em}.reader-prose ul,.reader-prose ol{margin-block:.85em;padding-inline-start:1.6em}.reader-prose ul{list-style:outside}.reader-prose ol{list-style:decimal}.reader-prose ul ul{list-style:circle}.reader-prose ul ul ul{list-style:square}.reader-prose li{margin-block:.3em}.reader-prose li::marker{color:var(--color-text-muted)}.reader-prose :is(ul,ol) :is(ul,ol){margin-block:.3em}.reader-prose dl{margin-block:.85em}.reader-prose dt{margin-top:.6em;font-weight:600}.reader-prose dd{margin-inline-start:1.6em}.reader-prose img,.reader-prose video{border-radius:var(--radius-md);max-width:100%;height:auto}.reader-prose audio{width:100%;max-width:100%}.reader-prose figure{margin-block:1.2em}.reader-prose figcaption{color:var(--color-text-muted);text-align:center;margin-top:.5em;font-size:.85em}.reader-prose code{font-family:var(--font-mono);background:var(--color-surface-elevated);border-radius:var(--radius-xs);padding:.1em .35em;font-size:.875em}.reader-prose pre{font-family:var(--font-mono);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-block:1em;padding:.85rem 1rem;line-height:1.5;overflow-x:auto}.reader-prose pre code{background:0 0;padding:0;font-size:.85em}.reader-prose blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-secondary);margin-block:1em;padding-left:1rem;font-style:italic}.reader-prose hr{border:0;border-top:1px solid var(--color-border);margin-block:1.6em}.reader-prose mark{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-prose mark{background:color-mix(in oklch, var(--color-accent) 25%, transparent)}}.reader-prose mark{color:inherit;border-radius:var(--radius-xs);padding:0 .15em}.reader-prose table{border-collapse:collapse;width:max-content;max-width:100%;margin-block:1.2em;font-size:.9em;display:block;overflow-x:auto}.reader-prose th,.reader-prose td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.4em .7em}.reader-prose th{background:var(--color-surface-elevated);font-weight:600}.reader-prose thead th{border-bottom-width:2px}.reader-prose tbody tr:nth-child(2n){background:var(--color-surface-elevated)}@supports (color:color-mix(in lab, red, red)){.reader-prose tbody tr:nth-child(2n){background:color-mix(in oklch, var(--color-surface-elevated) 55%, transparent)}}.reader-prose caption{caption-side:bottom;color:var(--color-text-muted);text-align:left;margin-top:.5em;font-size:.85em}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-0{height:calc(var(--spacing) * 0)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-6{height:calc(var(--spacing) * 6)}.h-full{height:100%}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-dvh{min-height:100dvh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1\/2{width:50%}.w-2\/3{width:66.6667%}.w-2\/5{width:40%}.w-3\/4{width:75%}.w-4\/5{width:80%}.w-6{width:calc(var(--spacing) * 6)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--color-border)}.bg-\[color-mix\(in_oklch\,oklch\(0\.17_0\.004_264\)_45\%\,transparent\)\]{background-color:oklch(17% .004 264/.45)}.bg-accent,.bg-accent\/10{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-accent\/15{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/15{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.bg-bg{background-color:var(--color-bg)}.bg-danger{background-color:var(--color-danger)}.bg-surface{background-color:var(--color-surface)}.bg-surface-elevated{background-color:var(--color-surface-elevated)}.bg-transparent{background-color:#0000}.bg-unread{background-color:var(--color-unread)}.p-1{padding:calc(var(--spacing) * 1)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-accent{color:var(--color-accent)}.text-accent-foreground{color:var(--color-accent-foreground)}.text-danger{color:var(--color-danger)}.text-text-muted{color:var(--color-text-muted)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-text-muted::placeholder{color:var(--color-text-muted)}@media (hover:hover){.hover\:bg-surface:hover{background-color:var(--color-surface)}.hover\:bg-surface-elevated:hover{background-color:var(--color-surface-elevated)}.hover\:text-danger:hover{color:var(--color-danger)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-3:focus{top:calc(var(--spacing) * 3)}.focus\:left-3:focus{left:calc(var(--spacing) * 3)}.focus\:z-50:focus{z-index:50}.focus\:rounded-md:focus{border-radius:var(--radius-md)}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:px-3:focus{padding-inline:calc(var(--spacing) * 3)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-accent:focus-visible{outline-color:var(--color-accent)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (width>=48rem){.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:oklch(98.5% .002 247);--surface:oklch(99.5% .001 247);--surface-elevated:oklch(99.8% .001 247);--border:oklch(92% .003 247);--text-primary:oklch(21% .004 264);--text-secondary:oklch(44% .006 264);--text-muted:oklch(55% .006 264);--accent:oklch(58% .13 244);--accent-foreground:oklch(99% .002 247);--unread:oklch(58% .13 244);--danger:oklch(55% .18 27);--focus-ring:oklch(58% .13 244);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--bg:oklch(17% .004 264);--surface:oklch(20.5% .004 264);--surface-elevated:oklch(24.5% .005 264);--border:oklch(30% .006 264);--text-primary:oklch(96% .002 247);--text-secondary:oklch(71% .004 264);--text-muted:oklch(60% .005 264);--accent:oklch(70% .13 244);--accent-foreground:oklch(17% .01 264);--unread:oklch(70% .13 244);--danger:oklch(70% .16 27);--focus-ring:oklch(70% .13 244);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not(.theme-light):not(.dark){--bg:oklch(17% .004 264);--surface:oklch(20.5% .004 264);--surface-elevated:oklch(24.5% .005 264);--border:oklch(30% .006 264);--text-primary:oklch(96% .002 247);--text-secondary:oklch(71% .004 264);--text-muted:oklch(60% .005 264);--accent:oklch(70% .13 244);--accent-foreground:oklch(17% .01 264);--unread:oklch(70% .13 244);--danger:oklch(70% .16 27);--focus-ring:oklch(70% .13 244);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.app-shell{grid-template:"topbar topbar topbar""sidebar list reader"1fr/256px 360px minmax(0,1fr);height:100dvh;display:grid}@media (width<=767px){.app-shell{grid-template-columns:1fr;grid-template-areas:"topbar""active-pane"}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes pulse{50%{opacity:.5}}
@@ -16,8 +16,8 @@
16
16
  } catch (e) {}
17
17
  })();
18
18
  </script>
19
- <script type="module" crossorigin src="/assets/index-CwHd_Y2c.js"></script>
20
- <link rel="stylesheet" crossorigin href="/assets/index-CMtWFJ_5.css">
19
+ <script type="module" crossorigin src="/assets/index-CToy3o9l.js"></script>
20
+ <link rel="stylesheet" crossorigin href="/assets/index-Cf03d0jp.css">
21
21
  </head>
22
22
  <body>
23
23
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isomoes/iread",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "Local, single-user RSS/Atom reader with a keyboard-first three-pane web UI, inspired by newsboat.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -41,6 +41,7 @@
41
41
  "build:web": "vite build",
42
42
  "start": "NODE_ENV=production node --disable-warning=ExperimentalWarning dist/server/index.js",
43
43
  "typecheck": "tsc -p tsconfig.server.json --noEmit && tsc -p tsconfig.web.json --noEmit",
44
+ "test": "node --import tsx --test tests/*.test.ts",
44
45
  "preview": "vite preview",
45
46
  "prepack": "pnpm build",
46
47
  "clean": "rm -rf dist"
@@ -1,2 +0,0 @@
1
- /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", monospace;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--bg);--color-surface:var(--surface);--color-surface-elevated:var(--surface-elevated);--color-border:var(--border);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-muted);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-unread:var(--unread);--color-danger:var(--danger)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border)}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:.875rem;line-height:1.5}.num,kbd,time,.count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){::selection{background-color:color-mix(in oklch, var(--color-accent) 28%, transparent)}}.reader-prose{max-width:68ch;font-size:1rem;line-height:1.7}.reader-prose>:first-child{margin-top:0}.reader-prose>:last-child{margin-bottom:0}.reader-prose p{margin-block:.85em}.reader-prose a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:from-font}.reader-prose .linknum{font-family:var(--font-mono);vertical-align:super;letter-spacing:-.03em;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;margin-inline-start:.1em;font-size:.68em;line-height:0}.reader-prose.link-jump-active .linknum{color:var(--color-accent);font-weight:600}.reader-prose a[data-linknum].iread-link-target{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-prose a[data-linknum].iread-link-target{background:color-mix(in oklch, var(--color-accent) 14%, transparent)}}.reader-prose h1,.reader-prose h2,.reader-prose h3,.reader-prose h4,.reader-prose h5,.reader-prose h6{text-wrap:balance;margin-top:1.6em;margin-bottom:.6em;font-weight:600;line-height:1.3}.reader-prose h1{font-size:1.5em}.reader-prose h2{font-size:1.3em}.reader-prose h3{font-size:1.15em}.reader-prose h4{font-size:1em}.reader-prose h5{color:var(--color-text-secondary);font-size:.9em}.reader-prose h6{color:var(--color-text-secondary);font-size:.85em}.reader-prose ul,.reader-prose ol{margin-block:.85em;padding-inline-start:1.6em}.reader-prose ul{list-style:outside}.reader-prose ol{list-style:decimal}.reader-prose ul ul{list-style:circle}.reader-prose ul ul ul{list-style:square}.reader-prose li{margin-block:.3em}.reader-prose li::marker{color:var(--color-text-muted)}.reader-prose :is(ul,ol) :is(ul,ol){margin-block:.3em}.reader-prose dl{margin-block:.85em}.reader-prose dt{margin-top:.6em;font-weight:600}.reader-prose dd{margin-inline-start:1.6em}.reader-prose img,.reader-prose video{border-radius:var(--radius-md);max-width:100%;height:auto}.reader-prose audio{width:100%;max-width:100%}.reader-prose figure{margin-block:1.2em}.reader-prose figcaption{color:var(--color-text-muted);text-align:center;margin-top:.5em;font-size:.85em}.reader-prose code{font-family:var(--font-mono);background:var(--color-surface-elevated);border-radius:var(--radius-xs);padding:.1em .35em;font-size:.875em}.reader-prose pre{font-family:var(--font-mono);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-block:1em;padding:.85rem 1rem;line-height:1.5;overflow-x:auto}.reader-prose pre code{background:0 0;padding:0;font-size:.85em}.reader-prose blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-secondary);margin-block:1em;padding-left:1rem;font-style:italic}.reader-prose hr{border:0;border-top:1px solid var(--color-border);margin-block:1.6em}.reader-prose mark{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-prose mark{background:color-mix(in oklch, var(--color-accent) 25%, transparent)}}.reader-prose mark{color:inherit;border-radius:var(--radius-xs);padding:0 .15em}.reader-prose table{border-collapse:collapse;width:max-content;max-width:100%;margin-block:1.2em;font-size:.9em;display:block;overflow-x:auto}.reader-prose th,.reader-prose td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.4em .7em}.reader-prose th{background:var(--color-surface-elevated);font-weight:600}.reader-prose thead th{border-bottom-width:2px}.reader-prose tbody tr:nth-child(2n){background:var(--color-surface-elevated)}@supports (color:color-mix(in lab, red, red)){.reader-prose tbody tr:nth-child(2n){background:color-mix(in oklch, var(--color-surface-elevated) 55%, transparent)}}.reader-prose caption{caption-side:bottom;color:var(--color-text-muted);text-align:left;margin-top:.5em;font-size:.85em}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-0{height:calc(var(--spacing) * 0)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-6{height:calc(var(--spacing) * 6)}.h-full{height:100%}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1\/2{width:50%}.w-2\/3{width:66.6667%}.w-2\/5{width:40%}.w-3\/4{width:75%}.w-4\/5{width:80%}.w-6{width:calc(var(--spacing) * 6)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--color-border)}.bg-\[color-mix\(in_oklch\,oklch\(0\.17_0\.004_264\)_45\%\,transparent\)\]{background-color:oklch(17% .004 264/.45)}.bg-accent,.bg-accent\/10{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-accent\/15{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/15{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.bg-bg{background-color:var(--color-bg)}.bg-danger{background-color:var(--color-danger)}.bg-surface{background-color:var(--color-surface)}.bg-surface-elevated{background-color:var(--color-surface-elevated)}.bg-transparent{background-color:#0000}.bg-unread{background-color:var(--color-unread)}.p-1{padding:calc(var(--spacing) * 1)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-accent{color:var(--color-accent)}.text-accent-foreground{color:var(--color-accent-foreground)}.text-danger{color:var(--color-danger)}.text-text-muted{color:var(--color-text-muted)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-text-muted::placeholder{color:var(--color-text-muted)}@media (hover:hover){.hover\:bg-surface:hover{background-color:var(--color-surface)}.hover\:bg-surface-elevated:hover{background-color:var(--color-surface-elevated)}.hover\:text-danger:hover{color:var(--color-danger)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-3:focus{top:calc(var(--spacing) * 3)}.focus\:left-3:focus{left:calc(var(--spacing) * 3)}.focus\:z-50:focus{z-index:50}.focus\:rounded-md:focus{border-radius:var(--radius-md)}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:px-3:focus{padding-inline:calc(var(--spacing) * 3)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-accent:focus-visible{outline-color:var(--color-accent)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (width>=48rem){.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:oklch(98.5% .002 247);--surface:oklch(99.5% .001 247);--surface-elevated:oklch(99.8% .001 247);--border:oklch(92% .003 247);--text-primary:oklch(21% .004 264);--text-secondary:oklch(44% .006 264);--text-muted:oklch(55% .006 264);--accent:oklch(58% .13 244);--accent-foreground:oklch(99% .002 247);--unread:oklch(58% .13 244);--danger:oklch(55% .18 27);--focus-ring:oklch(58% .13 244);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--bg:oklch(17% .004 264);--surface:oklch(20.5% .004 264);--surface-elevated:oklch(24.5% .005 264);--border:oklch(30% .006 264);--text-primary:oklch(96% .002 247);--text-secondary:oklch(71% .004 264);--text-muted:oklch(60% .005 264);--accent:oklch(70% .13 244);--accent-foreground:oklch(17% .01 264);--unread:oklch(70% .13 244);--danger:oklch(70% .16 27);--focus-ring:oklch(70% .13 244);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not(.theme-light):not(.dark){--bg:oklch(17% .004 264);--surface:oklch(20.5% .004 264);--surface-elevated:oklch(24.5% .005 264);--border:oklch(30% .006 264);--text-primary:oklch(96% .002 247);--text-secondary:oklch(71% .004 264);--text-muted:oklch(60% .005 264);--accent:oklch(70% .13 244);--accent-foreground:oklch(17% .01 264);--unread:oklch(70% .13 244);--danger:oklch(70% .16 27);--focus-ring:oklch(70% .13 244);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.app-shell{grid-template:"topbar topbar topbar""sidebar list reader"1fr/256px 360px minmax(0,1fr);height:100dvh;display:grid}@media (width<=767px){.app-shell{grid-template-columns:1fr;grid-template-areas:"topbar""active-pane"}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes pulse{50%{opacity:.5}}