PageSourceSearch

https://kenji-fukushima-lab.github.io/assets/js/botanical-background.js?4f8a8b2dcee35b03553bd038e9bacd0a

js kenji-fukushima-lab.github.io collected 2026-10-03 09:27:20 UTC 17,308 bytes, 1 lines download raw bytes

1(()=>{"use strict";function e(e){clearTimeout(e.timer),e.timer=0,clearTimeout(e.capturedTimer),e.capturedTimer=0,e.insect&&(null===e.originalInsectTransform?e.insect.removeAttribute("transform"):e.insect.setAttribute("transform",e.originalInsectTransform),e.insect.removeAttribute("data-captured"),e.insect.removeAttribute("data-captured-by")),e.captured=!1,e.capturedBy=null,e.capturedDew=null,e.capturedAnchor=null,e.capturedAnchors=null,e.capturedTrap=null,e.capturedScreenPoint=null,e.element.dataset.state="ready"}function t(){W.forEach(e=>clearTimeout(e.timer)),O.forEach(e),D.querySelectorAll("[data-botanical-copy]").forEach(e=>e.remove()),k.forEach(e=>e.removeAttribute("style"));const t=document.querySelector('[role="main"]'),r=Math.max(0,(t?t.getBoundingClientRect().left:(innerWidth-950)/2)-12);if(N=r,D.style.setProperty("--botanical-gutter",`${r}px`),D.style.setProperty("--botanical-fade-left",`${Math.max(0,r-60)}px`),D.style.setProperty("--botanical-edge-left",`${r}px`),D.style.setProperty("--botanical-edge-right",innerWidth-r+"px"),D.style.setProperty("--botanical-fade-right",innerWidth-Math.max(0,r-60)+"px"),innerWidth>=768){const e=Math.max(1,Math.ceil(r/240)),t=Math.max(3,Math.ceil(innerHeight/340)+1),n=Math.max(150,r/e);for(let r=0;r<t*e*2;r+=1){let t=k[r];t||(t=k[r%k.length].cloneNode(!0),t.dataset.botanicalCopy="",D.append(t));const a=r%2,s=Math.floor(r/2)%e,i=Math.floor(r/(2*e));Object.assign(t.style,{width:"320px",left:a?"auto":s*n-70+"px",right:a?s*n-70+"px":"auto",top:340*i-70-s%2*100+"px",transform:`rotate(${(i+s)%2?-14:12}deg) scaleX(${a?-1:1})`})}}L=[...D.querySelectorAll("[data-botanical-tendril]")].map(e=>({element:e,tx:Number(e.dataset.tangentX),ty:Number(e.dataset.tangentY),x:Number(e.dataset.x),y:Number(e.dataset.y),progress:0,dx:0,dy:0})),W=[...D.querySelectorAll("[data-botanical-flytrap]")].map(e=>(e.dataset.state="open",{element:e,inside:!1,touches:0,lastTouch:-1/0,timer:0,capturedInsect:null})),O=[...D.querySelectorAll("[data-botanical-pitcher]")].map(e=>{e.dataset.state="ready";const t=e.querySelector("[data-botanical-insect-target]"),n=t?.querySelector(".botanical-background__insect");return{element:e,target:t,insect:n,originalInsectTransform:n?.getAttribute("transform")??null,captured:!1,capturedBy:null,capturedDew:null,capturedAnchor:null,capturedAnchors:null,capturedTrap:null,capturedScreenPoint:null,timer:0,capturedTimer:0}}),X=[...D.querySelectorAll("[data-botanical-sundew]")].map(e=>({element:e,leaf:e.querySelector("[data-sundew-leaf]"),stalk:e.querySelector("[data-sundew-stalk]"),threads:[...e.querySelectorAll("[data-sundew-thread]")],drops:[...e.querySelectorAll("[data-sundew-drop]")].map(e=>({x:Number(e.getAttribute("cx")),y:Number(e.getAttribute("cy"))}))})),C=[],D.querySelectorAll("[data-botanical-stem]").forEach(e=>{C.push({element:e,origin:"150 0",degrees:7,angle:0,impulse:0,cos:1,sin:0})}),D.querySelectorAll("[data-botanical-leaf]").forEach(e=>{C.push({element:e,origin:"0 0",degrees:R.leafDegrees,angle:0,impulse:0,cos:1,sin:0})}),L.forEach(e=>{e.stem=C.find(t=>t.element===e.element.parentNode)}),n()}function n(){_=new WeakMap;const e=new Map(C.map(e=>[e.element,e])),t=new Map;[...W.map(e=>e.element),...O.map(e=>e.target),...X.map(e=>e.element)].forEach(n=>{if(!n.getClientRects().length)return;const r=n.closest("[data-botanical-stem]");let a=t.get(r);a||(a={inverse:r.getScreenCTM().inverse(),part:e.get(r)},t.set(r,a));const s=a.inverse.multiply(n.getScreenCTM()),i=n.closest("[data-botanical-leaf]"),c=i?a.inverse.multiply(i.getScreenCTM()):null;_.set(n,{root:a,inverse:s.inverse(),leaf:e.get(i),leafX:c?c.e:0,leafY:c?c.f:0})})}function r(){J=C.map(({element:e})=>{const t=e.getBoundingClientRect();return{x:t.x+t.width/2,y:t.y+t.height/2}}),L.forEach(e=>{e.matrix=e.element.getScreenCTM(),e.inverse=e.matrix.inverse()})}function a(e,t){if(e.transform===t)return;e.transform=t;const n=null===t?0:Number(e.angle.toFixed(4))*Math.PI/180;e.cos=Math.cos(n),e.sin=Math.sin(n),null===t?e.element.removeAttribute("transform"):e.element.setAttribute("transform",t)}function s(e){e.drawn&&(e.element.removeAttribute("d"),e.drawn=!1)}function i(){d(),O.forEach(e),cancelAnimationFrame(j),j=0,G=null,H=-1/0,L.forEac
1h(e=>{e.dx=e.dy=e.progress=0,s(e)}),C.forEach(e=>{e.angle=0,e.impulse=0,a(e,null)})}function c(e){const t=Math.min(e-z,50);z=e;const n=e-H;let r=!1;const i=1-Math.exp(-t/R.decayMs),d=1-Math.exp(-t/2400);C.forEach((e,t)=>{if(n>=R.settleMs)return e.angle=e.impulse=0,void a(e,null);const s=G?Math.hypot(J[t].x-G.x,J[t].y-G.y):1/0,c=Math.max(0,1-s/R.radius),o=G&&G.x<J[t].x?1:-1,d=n<550?o*c*c:0;e.impulse+=(d-e.impulse)*i;const u=1+.22*Math.sin(n/650+.7*t);e.angle=e.impulse*e.degrees*u,Math.abs(e.angle)>.003&&(r=!0),a(e,`rotate(${e.angle.toFixed(4)} ${e.origin})`)}),h();const u=G&&(G.x<N||G.x>innerWidth-N);let l=null,p=null;u&&L.forEach(e=>{const t=Number(e.stem.angle.toFixed(4))*Math.PI/180;e.cos=Math.cos(t),e.sin=Math.sin(t);const n=150+(e.x-150)*e.cos-e.y*e.sin,r=(e.x-150)*e.sin+e.y*e.cos,a=e.matrix;e.distance=Math.hypot(a.a*n+a.c*r+a.e-G.x,a.b*n+a.d*r+a.f-G.y),e.distance<=8||e.distance>=R.radius||(!l||e.distance<l.distance?(p=l,l=e):(!p||e.distance<p.distance)&&(p=e))});let m=!1;L.forEach(e=>{if(e===l||e===p){const n=e.inverse,r=n.a*G.x+n.c*G.y+n.e-150,a=n.b*G.x+n.d*G.y+n.f,s=150+r*e.cos+a*e.sin-e.x,i=-r*e.sin+a*e.cos-e.y;0===e.progress&&(e.turn=e.tx*i-e.ty*s>=0?1:-1);const c=0===e.progress?1:d;e.dx+=(s-e.dx)*c,e.dy+=(i-e.dy)*c,e.progress=Math.min(1,e.progress+t/6500),(e.progress<1||Math.hypot(s-e.dx,i-e.dy)>.1)&&(m=!0)}else e.progress=Math.max(0,e.progress-t/1600),e.progress>0&&(m=!0);0!==e.progress?(e.element.setAttribute("d",o(e)),e.drawn=!0):s(e)}),m||n<R.settleMs&&(r||n<550)?j=requestAnimationFrame(c):(j=0,C.forEach(e=>{e.angle=e.impulse=0,a(e,null)}))}function o(e){const t=Math.hypot(e.dx,e.dy),n={x:e.x+e.dx,y:e.y+e.dy},r=Math.min(32,.35*t),a=e.turn,s=Math.atan2(-e.dy,-e.dx)+.6*a,i=e=>{const t=r*Math.exp(-.32*e),i=s+a*e;return{x:n.x+t*Math.cos(i),y:n.y+t*Math.sin(i),vx:t*(-.32*Math.cos(i)-a*Math.sin(i)),vy:t*(-.32*Math.sin(i)+a*Math.cos(i))}},c=i(0),o=.55*t,d=Math.hypot(e.tx,e.ty),u=Math.hypot(c.vx,c.vy),l={x:e.x,y:e.y},p={x:e.x+e.tx/d*o,y:e.y+e.ty/d*o},m={x:c.x-c.vx/u*o,y:c.y-c.vy/u*o},y=(e,t,n)=>({x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}),h=Math.min(1,e.progress/.35),f=y(l,p,h),x=y(p,m,h),g=y(m,c,h),M=y(f,x,h),w=y(x,g,h),v=y(M,w,h);let b=`M${l.x} ${l.y} C${f.x} ${f.y} ${M.x} ${M.y} ${v.x} ${v.y}`;const A=Math.max(0,(e.progress-.35)/.65)*Math.PI*3;let T=c;for(let e=0;e<A;e+=Math.PI/6){const t=Math.min(A,e+Math.PI/6),n=i(t),r=(t-e)/3;b+=` C${T.x+T.vx*r} ${T.y+T.vy*r} ${n.x-n.vx*r} ${n.y-n.vy*r} ${n.x} ${n.y}`,T=n}return b}function d(){cancelAnimationFrame(Q),Q=0,Y&&(Y.dew.leaf.removeAttribute("transform"),Y.dew.stalk.setAttribute("d","M40 46 Q8 43 0 24"),Y.dew.threads.forEach(e=>e.removeAttribute("d")),Y.dew.element.removeAttribute("data-stuck"),Y=null)}function u(e,t,n){const r=_.get(e);if(!r)return null;const{root:a,inverse:s,leaf:i,leafX:c,leafY:o}=r,d=a.inverse,u=a.part,l=d.a*t+d.c*n+d.e-150,p=d.b*t+d.d*n+d.f;let m=150+l*u.cos+p*u.sin,y=-l*u.sin+p*u.cos;if(i){const e=m-c,t=y-o;m=c+e*i.cos+t*i.sin,y=o-e*i.sin+t*i.cos}return{x:s.a*m+s.c*y+s.e,y:s.b*m+s.d*y+s.f}}function l(e){const t=innerWidth<768?.23*innerWidth:N;return e<t||e>innerWidth-t}function p(e,t=0,n=0){const r=e?.getScreenCTM();return r?new DOMPoint(t,n).matrixTransform(r):null}function m(e,t){const n=e?.parentElement?.getScreenCTM();if(!n)return!1;const r=new DOMPoint(t.x,t.y).matrixTransform(n.inverse());return e.setAttribute("transform",`translate(${r.x} ${r.y})`),!0}function y(e,t){const n=e.capturedScreenPoint;return!!(n&&Math.hypot(n.x-t.x,n.y-t.y)<.05)||!!m(e.insect,t)&&(e.capturedScreenPoint={x:t.x,y:t.y},!0)}function h(){O.forEach(e=>{if(!e.insect||Y?.pitcher===e)return;let t=null;"sundew"===e.capturedBy&&e.capturedDew&&e.capturedAnchor?t=p(e.capturedDew.leaf,e.capturedAnchor.x,e.capturedAnchor.y):"flytrap"===e.capturedBy&&e.capturedTrap&&(t=p(e.capturedTrap.element)),t&&y(e,t)})}function f(e,t,n){if("sundew"!==e.capturedBy||!e.insect)return!1;const r=e.insect.getBoundingClientRect();if(!r.width||!r.height)return!1;const a=r.left+r.width/2,s=r.top+r.height/2;return(t-a)**2/Math.max(12,.85*r.width)**2+(n-s)**2/Math.max(12,.85*r.height)**2<=1}function x(t){Y?.pitcher===t&&d(),e(t)}function g(e){clearTimeout(e.capturedTimer),e.capturedTimer=setTimeout(()=>x(e),R.capturedInsectMs)}function M(e){clearTimeout(e.capturedTimer),e.capturedTimer=0}function w(e){e&&(clearTimeout(e.capturedTimer),e.capturedTimer=0,e.captured=!1,e.capturedBy=null,e.capturedDew=null,e.capturedAnchor=null,e.capturedAnchors=null,e.insect?.removeAttribute("data-captured"),e.insect?.removeAttribute("data-captured-by"),e.element.dataset.state="ready")}function v(e,t,n){if(!e.capturedDew||!e.capturedAnchor||!e.insect)return!1;const r=p(e.insect);if(!r)return!1;M(e);const a=performance.now();return Y={mode:"dragged-insect",dew:e.capturedDew,anchor:e.capturedAnchor,anchors:e.capturedAnchors,x:t,y:n,grabOffset:{x:r.x-t,y:r.y-n},insectPosition:{x:r.x,y:r.y},dx:0,dy:0,lastMove:a,time:a,releasing:!1,pitcher:e,insect:e.insect},e.insect.dataset.captured="moving",e.insect.dataset.capturedBy="sundew",e.capturedDew.element.dataset.stuck="true",Q=requestAnimationFrame(P),!0}function b(e){if(!Y||!e.insect||e.captured)return!1;const t=p(e.insect),n=p(Y.dew.leaf,Y.anchor.x,Y.anchor.y);return!(!t||!n)&&(e.captured=!0,e.capturedBy="sundew",e.capturedDew=Y.dew,e.capturedAnchor=Y.anchor,e.capturedAnchors=Y.anchors,e.element.dataset.state="ready",e.insect.dataset.captured="moving",e.insect.dataset.capturedBy="sundew",Y.mode="insect",Y.pitcher=e,Y.insect=e.insect,Y.insectFrom={x:t.x,y:t.y},Y.insectProgress=0,Y.insectDuration=Math.max(700,Math.min(1400,4*Math.hypot(n.x-t.x,n.y-t.y))),Y.lastMove=performance.now(),!0)}function A(e,t,n){if(!Y||"dragged-insect"!==Y.mode||!Y.pitcher?.insect)return!1;const r={x:t+Y.grabOffset.x,y:n+Y.grabOffset.y},a=u(Y.dew.element,r.x,r.y);if(!a||Math.hypot(a.x-Y.anchor.x,a.y-Y.anchor.y)>320)return!1;const s=p(Y.pitcher.insect),i=p(e.element);if(!s||!i)return!1;const c=Y.pitcher;return c.capturedBy="flytrap",c.capturedTrap=e,e.capturedInsect=c,c.insect.dataset.captured="flytrap",c.insect.dataset.capturedBy="flytrap",Y.mode="flytrap",Y.trap=e,Y.insectFrom={x:s.x,y:s.y},Y.insectTo={x:i.x,y:i.y},Y.insectProgress=0,Y.insectDuration=Math.max(450,Math.min(900,3*Math.hypot(i.x-s.x,i.y-s.y)
1)),Y.lastMove=performance.now(),Y.releasing=!1,!0}function T(){if(!Y||"dragged-insect"!==Y.mode||Y.returningInsect)return!0;const e=p(Y.insect)||Y.insectPosition,t=p(Y.dew.leaf,Y.anchor.x,Y.anchor.y);return!(!e||!t)&&(Y.returningInsect=!0,Y.insectReturnFrom={x:e.x,y:e.y},Y.insectReturnProgress=0,Y.insectReturnDuration=Math.max(450,Math.min(900,2.5*Math.hypot(t.x-e.x,t.y-e.y))),!0)}function P(t){if(!Y)return;const n=Math.min(50,t-Y.time);Y.time=t;let r=!1,a=!1,s={x:Y.x,y:Y.y};if("insect"===Y.mode){const t=p(Y.dew.leaf,Y.anchor.x,Y.anchor.y);if(!t||!m(Y.insect,Y.insectFrom))return e(Y.pitcher),void d();Y.insectProgress=Math.min(1,Y.insectProgress+n/Y.insectDuration);const a=1-(1-Y.insectProgress)**3,i={x:Y.insectFrom.x+(t.x-Y.insectFrom.x)*a,y:Y.insectFrom.y+(t.y-Y.insectFrom.y)*a};m(Y.insect,i),Y.x=i.x,Y.y=i.y,s=i,r=Y.insectProgress>=1}else if("dragged-insect"===Y.mode){const e={x:Y.x+Y.grabOffset.x,y:Y.y+Y.grabOffset.y},r=u(Y.dew.element,e.x,e.y),a=r&&Math.hypot(r.x-Y.anchor.x,r.y-Y.anchor.y)<=320;if(a&&t-Y.lastMove<=8e3&&!Y.releasing){if(!m(Y.insect,e))return w(Y.pitcher),void d();Y.insectPosition=e,s=e}else{if((!a||t-Y.lastMove>8e3||Y.releasing)&&!T())return w(Y.pitcher),void d();Y.releasing=!0,s=Y.insectPosition}if(Y.returningInsect){const e=p(Y.dew.leaf,Y.anchor.x,Y.anchor.y);if(!e||!Y.insectReturnFrom)return w(Y.pitcher),void d();Y.insectReturnProgress=Math.min(1,Y.insectReturnProgress+n/Y.insectReturnDuration);const t=1-(1-Y.insectReturnProgress)**3,r={x:Y.insectReturnFrom.x+(e.x-Y.insectReturnFrom.x)*t,y:Y.insectReturnFrom.y+(e.y-Y.insectReturnFrom.y)*t};if(!m(Y.insect,r))return w(Y.pitcher),void d();Y.insectPosition=r,s=r}}else if("flytrap"===Y.mode){const e=Y.insectFrom,t=Y.insectTo;if(!e||!t||!m(Y.insect,e))return void d();Y.insectProgress=Math.min(1,Y.insectProgress+n/Y.insectDuration);const r=1-(1-Y.insectProgress)**3;s={x:e.x+(t.x-e.x)*r,y:e.y+(t.y-e.y)*r},m(Y.insect,s),Y.x=s.x,Y.y=s.y,a=Y.insectProgress>=1}const{dew:i,anchor:c}=Y,o=u(i.element,s.x,s.y);if(!o)return"insect"===Y.mode&&e(Y.pitcher),"dragged-insect"===Y.mode&&w(Y.pitcher),void d();const l=o.x-c.x,h=o.y-c.y,f=Math.hypot(l,h);"cursor"!==Y.mode&&"dragged-insect"!==Y.mode||!(f>320||t-Y.lastMove>8e3)||(Y.releasing=!0);const x=Y.releasing?0:Math.min(1,260/Math.max(1,f)),M=1-Math.exp(-n/(Y.releasing?130:65));Y.dx+=(l*x-Y.dx)*M,Y.dy+=(h*x-Y.dy)*M;const v=Math.hypot(Y.dx,Y.dy);i.leaf.hasAttribute("transform")&&i.leaf.removeAttribute("transform"),"M40 46 Q8 43 0 24"!==i.stalk.getAttribute("d")&&i.stalk.setAttribute("d","M40 46 Q8 43 0 24");const b=Math.min(1,v/20);if(i.threads.forEach((e,t)=>{const n=Y.anchors[t],r=n.x,a=n.y,s=r+(c.x+Y.dx-r)*b,i=a+(c.y+Y.dy-a)*b,o=Math.min(12,.08*v)*(.7+.3*t);e.setAttribute("d",`M${r} ${a} Q${(r+s)/2} ${(a+i)/2+o} ${s} ${i}`)}),r){const e=Y.pitcher,t=p(Y.dew.leaf,Y.anchor.x,Y.anchor.y);return t&&y(e,t),Y.insect.dataset.captured="true",Y.insect.dataset.capturedBy="sundew",g(e),void d()}if(a){const e=Y.pitcher;return y(e,Y.insectTo),Y.insect.dataset.captured="flytrap",Y.insect.dataset.capturedBy="flytrap",g(e),void d()}const A=Math.hypot(Y.dx,Y.dy)<.2,E=!Y.returningInsect||Y.insectReturnProgress>=1;if(("cursor"===Y.mode||"dragged-insect"===Y.mode)&&Y.releasing&&A&&E){if("dragged-insect"===Y.mode)if(Y.returningInsect){const e=Y.pitcher,t=p(Y.dew.leaf,Y.anchor.x,Y.anchor.y);e.captured=!0,e.capturedBy="sundew",e.capturedDew=Y.dew,e.capturedAnchor=Y.anchor,e.capturedAnchors=Y.anchors,e.element.dataset.state="ready",t&&y(e,t),Y.insect.dataset.captured="true",Y.insect.dataset.capturedBy="sundew",g(e)}else w(Y.pitcher);d()}else Q=requestAnimationFrame(P)}function E(e){if(document.hidden)return;const t="pointerdown"===e.type;if(!t&&("touch"===e.pointerType||"pen"===e.pointerType))return;const n=e.clientX,r=e.clientY;if("cursor"!==Y?.mode&&"dragged-insect"!==Y?.mode||(Y.x=n,Y.y=r,Y.lastMove=performance.now()),!l(n))return;if(!Y){const e=O.find(e=>f(e,n,r));if(e&&v(e,n,r))return}const a=O.find(e=>{if(e.captured||"ready"!==e.element.dataset.state)return!1;const t=u(e.target,n,r);return t&&t.x**2/289+t.y**2/144<=1});if(a){if(Y)return void("cursor"===Y.mode&&b(a));a.element.dataset.state="fallen",a.timer=setTimeout(()=>{a.element.dataset.state="ready"},6500)}if(K&&!t&&!Y&&"touch"!==e.pointerType&&"pen"!==e.pointerType)for(const e of X){const t=u(e.element,n,r);if(!t)continue;const a=e.drops.find(e=>Math.hypot(t.x-e.x,t.y-e.y)<7);if(!a)continue;const s=performance.now(),i=[...e.drops].sort((e,t)=>
1Math.hypot(e.x-a.x,e.y-a.y)-Math.hypot(t.x-a.x,t.y-a.y)).slice(0,3);Y={mode:"cursor",dew:e,anchor:a,anchors:i,x:n,y:r,dx:0,dy:0,lastMove:s,time:s,releasing:!1},e.element.dataset.stuck="true",Q=requestAnimationFrame(P);break}}function $(e){if(document.hidden)return;const t="pointerdown"===e.type;if(!t&&("touch"===e.pointerType||"pen"===e.pointerType))return;if(t&&"mouse"===e.pointerType)return;const n=e.clientX,r=e.clientY;l(n)?W.forEach(e=>{const a=u(e.element,n,r);if(!a)return;const s=a.x**2/1156+a.y**2/1024<=1;if(s&&(t||!e.inside)&&"closed"!==e.element.dataset.state){const t=performance.now();e.touches=t-e.lastTouch>3e4?1:e.touches+1,e.lastTouch=t,2===e.touches&&(e.element.dataset.state="closed",e.touches=0,A(e,n,r),e.timer=setTimeout(()=>{e.element.dataset.state="open"},8e3))}e.inside=s}):W.forEach(e=>{e.inside=!1})}function S(e){if(K&&!document.hidden&&"touch"!==e.pointerType&&(G={x:e.clientX,y:e.clientY},H=performance.now(),!j)){J.length||r();const e=L.some(e=>{const t=e.matrix;return Math.hypot(t.a*e.x+t.c*e.y+t.e-G.x,t.b*e.x+t.d*e.y+t.f-G.y)<R.radius});if(!L.some(e=>e.progress>0)&&!e&&!J.some(e=>Math.hypot(e.x-G.x,e.y-G.y)<R.radius))return;z=H,j=requestAnimationFrame(c)}}function F(){Y&&(Y.releasing=!0),W.forEach(e=>{e.inside=!1}),G=null,!j&&L.some(e=>e.progress>0)&&(z=performance.now(),j=requestAnimationFrame(c))}function q(){i(),K=!B.matches&&I.matches,J=[],t(),D.style.visibility="visible"}const D=document.querySelector("[data-botanical-background]");if(!D)return;const B=window.matchMedia("(prefers-reduced-motion: reduce)"),I=window.matchMedia("(hover: hover) and (pointer: fine) and (min-width: 768px)"),R={radius:190,leafDegrees:11,decayMs:900,settleMs:7500,capturedInsectMs:3e4},k=[...D.querySelectorAll(".botanical-background__plant")];let C=[],L=[],N=0,W=[],O=[],X=[],Y=null,Q=0,_=new WeakMap,j=0,z=0,H=-1/0,G=null,J=[],K=!1;window.addEventListener("pointermove",E,{passive:!0}),window.addEventListener("pointerdown",E,{passive:!0}),window.addEventListener("pointermove",$,{passive:!0}),window.addEventListener("pointerdown",$,{passive:!0}),window.addEventListener("pointermove",S,{passive:!0}),document.documentElement.addEventListener("pointerleave",F),window.addEventListener("blur",i),window.addEventListener("resize",q,{passive:!0}),document.addEventListener("visibilitychange",i),B.addEventListener("change",q),I.addEventListener("change",q),q()})();

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