wiki-viewer 2.16.0 → 2.16.1
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +4 -4
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/pdf/save/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/browse/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/branch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/scratch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +4 -5
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/signin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ltsov-._.js +1 -1
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_system_workspaces_[id]_open_route_actions_1087xu7.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0.u4_next_0kf.7hj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0.u4_next_dist_0xugq-k._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-5ZQYHXKU_mjs_0z1.978._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-KSCS5N6A_mjs_0v4oeem._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_01eqklo._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0858xdh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0k6g8yo._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/_0sr4wj.._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_06613~i._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0o~d81.._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0szp2v0._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/0.5ywu7_j899v.js +12 -0
- package/.next/standalone/.next/static/chunks/{0tjcc1wg-57l1.js → 065s1_n.1k11t.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0y~5s_skz1l9a.js → 0ccw-uc_3ao.w.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ii.akeq7k4pf.js → 0f8kfd9d6kq0b.js} +1 -1
- package/.next/standalone/.next/static/chunks/0lsw6lsaj7lby.js +1 -0
- package/.next/standalone/.next/static/chunks/0rpxacw15~o7k.js +12 -0
- package/.next/standalone/.next/static/chunks/{0r7d-1tq61fa1.js → 0s2h7kvkrtq~p.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0enm-3xy21jcx.js → 0tzi1~wpigp2y.js} +2 -2
- package/.next/standalone/.next/static/chunks/117dkzyg4c~us.js +1 -0
- package/.next/standalone/.next/static/chunks/{0j7kp7w2oum68.js → 11pa_9ucyrzh9.js} +1 -1
- package/.next/standalone/.scratch/tweak-running-app/craft-checklist.md +52 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/01-isolated-origin.md +108 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/01-runtime-containment.md +18 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/02-injection-transform.md +18 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/02-tracer-bullet.md +48 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/03-accept-carbonize-mutator.md +19 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/03-run-robustness.md +37 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/04-multifile-safety.md +37 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/04-static-tracer-bullet.md +27 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/05-batch-parity.md +43 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/05-dynamic-node-app.md +22 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/06-remote-transport-bridge.md +20 -0
- package/.next/standalone/.scratch/tweak-running-app/issues/07-retire-bespoke-web-tweak.md +17 -0
- package/.next/standalone/.scratch/tweak-running-app/keep-ticket.md +74 -0
- package/.next/standalone/.scratch/tweak-running-app/mockups.html +305 -0
- package/.next/standalone/.scratch/tweak-running-app/ops1-updated.md +215 -0
- package/.next/standalone/.scratch/tweak-running-app/ops12-continuation.md +44 -0
- package/.next/standalone/.scratch/tweak-running-app/ops22-context.md +84 -0
- package/.next/standalone/.scratch/tweak-running-app/pivot-note.md +25 -0
- package/.next/standalone/.scratch/tweak-running-app/qa-live-engine.ts +104 -0
- package/.next/standalone/.scratch/tweak-running-app/spike.md +256 -0
- package/.next/standalone/.scratch/tweak-running-app/suggest-current-assessment.md +39 -0
- package/.next/standalone/.scratch/tweak-running-app/suggest-inline-interaction-spec.md +320 -0
- package/.next/standalone/.scratch/tweak-running-app/tweak-interaction-spec.md +161 -0
- package/.next/standalone/.scratch/tweak-running-app/two-actions-interaction-spec.md +234 -0
- package/.next/standalone/.scratch/tweak-running-app/unified-live-spec.md +261 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/package.json +1 -1
- package/.next/standalone/.next/static/chunks/04jvwlttwa_sw.js +0 -12
- package/.next/standalone/.next/static/chunks/161kgz.8h.3iq.js +0 -1
- package/.next/standalone/.next/static/chunks/16kzqur8~yg6b.js +0 -12
- /package/.next/standalone/.next/static/{7EbGXTo8ObPhr7UobKARQ → zwUX5EOT_44n1RoB_W9Bo}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{7EbGXTo8ObPhr7UobKARQ → zwUX5EOT_44n1RoB_W9Bo}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{7EbGXTo8ObPhr7UobKARQ → zwUX5EOT_44n1RoB_W9Bo}/_ssgManifest.js +0 -0
|
@@ -105,6 +105,6 @@ TTD mermaid definition render errror: ${a.message}`,"color: yellow"),dw("ai","me
|
|
|
105
105
|
|
|
106
106
|
`),b)}}addTextFromPaste(a,b=!1){let{x:c,y:d}=(0,F.lb)({clientX:this.lastViewportPosition.x,clientY:this.lastViewportPosition.y},this.state),e={x:c,y:d,strokeColor:this.state.currentItemStrokeColor,backgroundColor:this.state.currentItemBackgroundColor,fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roundness:null,roughness:this.state.currentItemRoughness,opacity:this.state.currentItemOpacity,text:a,fontSize:this.state.currentItemFontSize,fontFamily:this.state.currentItemFontFamily,textAlign:F.K,verticalAlign:F.L,locked:!1},f=(0,F.cb)({fontSize:e.fontSize,fontFamily:e.fontFamily}),g=(0,F.Rf)(e.fontFamily),[h,,i]=(0,F.dj)(this.state),j=Math.max(Math.min((i-h)*.5,800),200),k=d,l=b?[a]:a.split(`
|
|
107
107
|
`),m=l.reduce((a,b,d)=>{let h=(0,F.zc)(b).trim();if(h.length){let b=this.getTopLayerFrameAtSceneCoords({x:c,y:k}),d=(0,F.vc)(h,f,g),i=d.width>j,l=i?(0,F.Ec)(h,f,j):h,m=c-(d=i?(0,F.vc)(l,f,g):d).width/2,n=k-d.height/2,o=(0,F.Xf)({...e,x:m,y:n,text:l,originalText:h,lineHeight:g,autoResize:!i,frameId:b?b.id:null});a.push(o),k+=o.height+10}else l[d-1]?.trim()&&(k+=(0,F.Ac)(e.fontSize,g)+10);return a},[]);0!==m.length&&(this.scene.insertElements(m),this.setState({selectedElementIds:(0,F.xk)(Object.fromEntries(m.map(a=>[a.id,!0])),this.state)}),b||!(m.length>1)||!1!==ks||this.device.editor.isMobile||(this.setToast({message:c8("toast.pasteAsSingleElement",{shortcut:(0,F.kb)("CtrlOrCmd+Shift+V")}),duration:5e3}),ks=!0),this.store.shouldCaptureIncrement())}handleTextWysiwyg(a,{isExistingElement:b=!1}){let c=this.scene.getElementsMapIncludingDeleted(),d=(b,d)=>{this.scene.replaceAllElements([...this.scene.getElementsIncludingDeleted().map(e=>e.id===a.id&&(0,F._b)(e)?(0,F.Qj)(e,{originalText:b,isDeleted:d??e.isDeleted,...(0,F.Yf)(e,(0,F.Aj)(e,c),c,b)}):e)])};(({id:a,onChange:b,onSubmit:c,getViewportCoords:d,element:e,canvas:f,excalidrawContainer:g,app:h,autoSelect:i=!0})=>{let j=()=>{let b=h.state,c=F.Oj.getScene(e)?.getElement(a);if(!c)return;let{textAlign:f,verticalAlign:g}=c,i=h.scene.getNonDeletedElementsMap();if(c&&(0,F._b)(c)){let a=c.x,e=c.y,j=(0,F.Aj)(c,h.scene.getNonDeletedElementsMap()),l=c.width,m=c.height,n=c.width,o=c.height;if(j&&c.containerId){let b;if((0,F.dc)(j)){let b=F.pj.getBoundTextElementPosition(j,c,i);a=b.x,e=b.y}if(((a,b)=>{if(!b.style.fontFamily||!b.style.fontSize)return!1;let c=b.style.fontFamily.replace(/"/g,"");return(0,F.bb)({fontFamily:a.fontFamily})!==c||`${a.fontSize}px`!==b.style.fontSize})(c,k)?b=(0,F.rj)(j.id,j.height):(b=F.qj[j.id])||(b=(0,F.rj)(j.id,j.height)),n=(0,F.Hj)(j,c),o=(0,F.Ij)(j,c),!(0,F.dc)(j)&&m>o){let a=(0,F.Gj)(m,j.type);(0,F.Pj)(j,{height:a});return}if(!(0,F.dc)(j)&&j.height>b.height&&m<o){let a=(0,F.Gj)(m,j.type);(0,F.Pj)(j,{height:a})}else{let{y:a}=(0,F.xj)(j,c,i);e=a}}let[p,q]=d(a,e),r=k.selectionStart,s=k.selectionEnd,t=k.value.length;if(r===s&&s!==t){let a=t-s;k.selectionStart=k.value.length-a,k.selectionEnd=k.value.length-a}j?l+=.5:l=Math.min(l,n=(b.width-8-p)/b.zoom.value),m*=1.05;let u=(0,F.cb)(c),v=(b.height-q)/b.zoom.value;Object.assign(k.style,{font:u,lineHeight:c.lineHeight,width:`${l}px`,height:`${m}px`,left:`${p}px`,top:`${q}px`,transform:((a,b,c,d,e,f)=>{let{zoom:g}=d,h=180*c/Math.PI,i=a*(g.value-1)/2,j=b*(g.value-1)/2;return a>e&&1!==g.value&&(i=e*(g.value-1)/2),b>f&&1!==g.value&&(j=f*(g.value-1)/2),`translate(${i}px, ${j}px) scale(${g.value}) rotate(${h}deg)`})(l,m,(0,F.Cj)(c,j),b,n,v),textAlign:f,verticalAlign:g,color:c.strokeColor,opacity:c.opacity/100,filter:"var(--theme-filter)",maxHeight:`${v}px`}),k.scrollTop=0,(0,F.Ab)()&&(k.style.fontFamily=(0,F.bb)(c)),(0,F.Pj)(c,{x:a,y:e})}},k=document.createElement("textarea");k.dir="auto",k.tabIndex=0,k.dataset.type="wysiwyg",k.wrap="off",k.classList.add("excalidraw-wysiwyg");let l="pre",m="normal";((0,F.nc)(e)||!e.autoResize)&&(l="pre-wrap",m="break-word"),Object.assign(k.style,{position:"absolute",display:"inline-block",minHeight:"1em",backfaceVisibility:"hidden",margin:0,padding:0,border:0,outline:0,resize:"none",background:"transparent",overflow:"hidden",zIndex:"var(--zIndex-wysiwyg)",wordBreak:m,whiteSpace:l,overflowWrap:"break-word",boxSizing:"content-box"}),k.value=e.originalText,j(),b&&(k.onpaste=async a=>{let b=await (0,F.mi)(a,!0);if(!b.text)return;let c=(0,F.zc)(b.text);if(!c)return;let d=(0,F.Aj)(e,h.scene.getNonDeletedElementsMap()),f=(0,F.cb)({fontSize:h.state.currentItemFontSize,fontFamily:h.state.currentItemFontFamily});if(d){let a=(0,F.zj)(d,h.scene.getNonDeletedElementsMap()),b=(0,F.Ec)(`${k.value}${c}`,f,(0,F.Hj)(d,a)),e=(0,F.Dc)(b,f);k.style.width=`${e}px`}},k.oninput=()=>{let a=(0,F.zc)(k.value);if(k.value!==a){let b=k.selectionStart;k.value=a,k.selectionStart=b,k.selectionEnd=b}b(k.value)}),k.onkeydown=a=>{if(!a.shiftKey&&ew.keyTest(a))a.preventDefault(),h.actionManager.executeAction(ew),j();else if(!a.shiftKey&&ex.keyTest(a))a.preventDefault(),h.actionManager.executeAction(ex),j();else if(!a.shiftKey&&ey.keyTest(a))a.preventDefault(),h.actionManager.executeAction(ey),j();else if(eo.keyTest(a))h.actionManager.executeAction(eo);else if(ep.keyTest(a))h.actionManager.executeAction(ep);else if(a.key===F.hg.ESCAPE)a.preventDefault(),t=!0,u();else if(a.key===F.hg.ENTER&&a[F.hg.CTRL_OR_CMD]){if(a.preventDefault(),a.isComposing||229===a.keyCode)return;t=!0,u()}else if(a.key===F.hg.TAB||a[F.hg.CTRL_OR_CMD]&&(a.code===F.gg.BRACKET_LEFT||a.code===F.gg.BRACKET_RIGHT)){if(a.preventDefault(),a.isComposing)return;a.shiftKey||a.code===F.gg.BRACKET_LEFT?q():p(),k.dispatchEvent(new Event("input"))}};let n=" ".repeat(4),o=RegExp("^ {1,4}"),p=()=>{let{selectionStart:a,selectionEnd:b}=k,c=r(),d=k.value;c.forEach(a=>{let b=d.slice(0,a),c=d.slice(a);d=`${b}${n}${c}`}),k.value=d,k.selectionStart=a+4,k.selectionEnd=b+4*c.length},q=()=>{let{selectionStart:a,selectionEnd:b}=k,c=r(),d=[],e=k.value;c.forEach(a=>{let b=e.slice(a,a+4).match(o);if(b){let c=e.slice(0,a),f=e.slice(a+b[0].length);e=`${c}${f}`,d.push(a)}}),k.value=e,d.length&&(a>d[d.length-1]?k.selectionStart=Math.max(a-4,d[d.length-1]):k.selectionStart=a,k.selectionEnd=Math.max(k.selectionStart,b-4*d.length))},r=()=>{let{selectionStart:a,selectionEnd:b,value:c}=k,d=c.slice(0,a).match(/[^\n]*$/)[0].length;return a-=d,c.slice(a,b).split(`
|
|
108
|
-
`).reduce((b,c,d,e)=>b.concat(d?b[d-1]+e[d-1].length+1:a),[]).reverse()},s=a=>{a.target instanceof HTMLCanvasElement&&(a.preventDefault(),a.stopPropagation())},t=!1,u=()=>{if(B)return;B=!0,v();let a=F.Oj.getScene(e)?.getElement(e.id);if(!a)return;let b=(0,F.Aj)(a,h.scene.getNonDeletedElementsMap());if(b){if(k.value.trim()){let a=(0,F.yj)(b);a&&a===e.id?(0,F.dc)(b)&&(0,F.Rj)(b):(0,F.Pj)(b,{boundElements:(b.boundElements||[]).concat({type:"text",id:e.id})})}else(0,F.Pj)(b,{boundElements:b.boundElements?.filter(a=>!(0,F._b)(a))});(0,F.uj)(a,b,h.scene.getNonDeletedElementsMap())}c({viaKeyboard:t,nextOriginalText:k.value})},v=()=>{k.onblur=null,k.oninput=null,k.onkeydown=null,C&&C.disconnect(),window.removeEventListener("resize",j),window.removeEventListener("wheel",s,!0),window.removeEventListener("pointerdown",y),window.removeEventListener("pointerup",w),window.removeEventListener("blur",u),window.removeEventListener("beforeunload",u),z(),A(),k.remove()},w=a=>{window.removeEventListener("pointerup",w);let b=a?.target,c=b instanceof HTMLElement&&b.classList.contains("properties-trigger");setTimeout(()=>{k.onblur=u,c||k.focus()})},x=()=>{k.onblur=null,window.addEventListener("pointerup",w),window.addEventListener("blur",u)},y=a=>{let b=a?.target;if(a.button===F.A.WHEEL){b instanceof HTMLTextAreaElement&&(a.preventDefault(),h.handleCanvasPanUsingWheelOrSpaceDrag(a)),x();return}let c=b instanceof HTMLElement&&b.classList.contains("properties-trigger");(a.target instanceof HTMLElement||a.target instanceof SVGElement)&&a.target.closest(`.${F.E.SHAPE_ACTIONS_MENU}, .${F.E.ZOOM_ACTIONS}`)&&!(0,F.ab)(a.target)||c?x():a.target instanceof HTMLCanvasElement&&!(0,F.Ab)()&&requestAnimationFrame(()=>{u()})},z=h.scene.onUpdate(()=>{j(),document.activeElement?.closest(".properties-content")||k.focus()}),A=h.onScrollChangeEmitter.on(()=>{j()}),B=!1;i&&k.select(),w();let C=null;f&&"ResizeObserver"in window?(C=new window.ResizeObserver(()=>{j()})).observe(f):window.addEventListener("resize",j),k.onpointerdown=a=>a.stopPropagation(),requestAnimationFrame(()=>{window.addEventListener("pointerdown",y,{capture:!0})}),window.addEventListener("beforeunload",u),g?.querySelector(".excalidraw-textEditorContainer").appendChild(k)})({id:a.id,canvas:this.canvas,getViewportCoords:(a,b)=>{let{x:c,y:d}=(0,F.mb)({sceneX:a,sceneY:b},this.state);return[c-this.state.offsetLeft,d-this.state.offsetTop]},onChange:ju(b=>{d(b,!1),(0,F.qk)(a)&&(0,F.Pg)(a,this.scene.getNonDeletedElementsMap())}),onSubmit:ju(({viaKeyboard:c,nextOriginalText:e})=>{let f=!e.trim();if(d(e,f),!f&&c){let b=a.containerId?a.containerId:a.id;(0,aw.flushSync)(()=>{this.setState(a=>({selectedElementIds:(0,F.xk)({...a.selectedElementIds,[b]:!0},a)}))})}f&&(0,F.Tg)(this.scene.getNonDeletedElements(),[a]),(!f||b)&&this.store.shouldCaptureIncrement(),(0,aw.flushSync)(()=>{this.setState({newElement:null,editingTextElement:null})}),this.state.activeTool.locked&&(0,F.dd)(this.interactiveCanvas,this.state),this.focusContainer()}),element:a,excalidrawContainer:this.excalidrawContainerRef.current,app:this,autoSelect:!this.device.isTouchScreen}),this.deselectElements(),d(a.originalText,!1)}deselectElements(){this.setState({selectedElementIds:(0,F.xk)({},this.state),selectedGroupIds:{},editingGroupId:null,activeEmbeddable:null})}getTextElementAtPosition(a,b){let c=this.getElementAtPosition(a,b,{includeBoundTextElement:!0});return c&&(0,F._b)(c)&&!c.isDeleted?c:null}getElementAtPosition(a,b,c){let d=this.getElementsAtPosition(a,b,c?.includeBoundTextElement,c?.includeLockedElements);if(d.length>1){if(c?.preferSelected){for(let a=d.length-1;a>-1;a--)if(this.state.selectedElementIds[d[a].id])return d[a]}let e=d[d.length-1];return(0,F.ng)({x:a,y:b,element:e,shape:(0,F.tg)(e,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold()/2,frameNameBound:(0,F.bc)(e)?this.frameNameBoundsCache.get(e):null})?e:d[d.length-2]}return 1===d.length?d[0]:null}getElementsAtPosition(a,b,c=!1,d=!1){let e=[],f=this.scene.getNonDeletedElementsMap();return(c&&d?this.scene.getNonDeletedElements():this.scene.getNonDeletedElements().filter(a=>(d||!a.locked)&&(c||!((0,F._b)(a)&&a.containerId)))).filter(c=>this.hitElement(a,b,c)).filter(c=>{let d=(0,F.Gi)(c,f);return!d||!this.state.frameRendering.enabled||!this.state.frameRendering.clip||(0,F.zi)({x:a,y:b},d,f)}).filter(a=>!(0,F.Yb)(a)||(e.push(a),!1)).concat(e)}getElementHitThreshold(){return F.N/this.state.zoom.value}hitElement(a,b,c,d=!0){if(d&&this.state.selectedElementIds[c.id]&&(0,F._j)([c],this.state)){let d=(0,F.eg)(c,this.scene.getNonDeletedElementsMap(),(0,F.Wb)(c)?0:this.getElementHitThreshold());if((0,F.fg)((0,F.Ua)(a,b),d))return!0}return!!(0,F.qg)(a,b,(0,F.ug)(c,this.scene.getNonDeletedElementsMap()))||(0,F.ng)({x:a,y:b,element:c,shape:(0,F.tg)(c,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold(),frameNameBound:(0,F.bc)(c)?this.frameNameBoundsCache.get(c):null})}getTextBindableContainerAtPosition(a,b){let c=this.scene.getNonDeletedElements(),d=this.scene.getSelectedElements(this.state);if(1===d.length)return(0,F.jc)(d[0],!1)?d[0]:null;let e=null;for(let d=c.length-1;d>=0;--d){if(c[d].isDeleted)continue;let[f,g,h,i]=(0,F.aj)(c[d],this.scene.getNonDeletedElementsMap());if((0,F.dc)(c[d])&&(0,F.ng)({x:a,y:b,element:c[d],shape:(0,F.tg)(c[d],this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold()})||f<a&&a<h&&g<b&&b<i){e=c[d];break}}return(0,F.jc)(e,!1)?e:null}handleHoverSelectedLinearElement(a,b,c){let d=this.scene.getNonDeletedElementsMap(),e=F.pj.getElement(a.elementId,d);if(e)if(this.state.selectedLinearElement){let f=-1,g=null;(0,F.ng)({x:b,y:c,element:e,shape:(0,F.tg)(e,this.scene.getNonDeletedElementsMap())})?(f=F.pj.getPointIndexUnderCursor(e,d,this.state.zoom,b,c),g=F.pj.getSegmentMidpointHitCoords(a,{x:b,y:c},this.state,this.scene.getNonDeletedElementsMap()),((0,F.ec)(e)?0===f||f===e.points.length-1:f>=0)||g?(0,F.bd)(this.interactiveCanvas,F.z.POINTER):this.hitElement(b,c,e)&&(0,F.bd)(this.interactiveCanvas,F.z.MOVE)):!this.hitElement(b,c,e)||(0,F.ec)(e)&&(e.startBinding||e.endBinding)||(0,F.bd)(this.interactiveCanvas,F.z.MOVE),this.state.selectedLinearElement.hoverPointIndex!==f&&this.setState({selectedLinearElement:{...this.state.selectedLinearElement,hoverPointIndex:f}}),F.pj.arePointsEqual(this.state.selectedLinearElement.segmentMidPointHoveredCoords,g)||this.setState({selectedLinearElement:{...this.state.selectedLinearElement,segmentMidPointHoveredCoords:g}})}else(0,F.bd)(this.interactiveCanvas,F.z.AUTO)}updateGestureOnPointerDown(a){ku.pointers.set(a.pointerId,{x:a.clientX,y:a.clientY}),2===ku.pointers.size&&(ku.lastCenter=g_(ku.pointers),ku.initialScale=this.state.zoom.value,ku.initialDistance=g0(Array.from(ku.pointers.values())))}initialPointerDownState(a){let b=(0,F.lb)(a,this.state),c=this.scene.getSelectedElements(this.state),[d,e,f,g]=(0,F.bj)(c),h=0===c.findIndex(F.ec);return{origin:b,withCmdOrCtrl:a[F.hg.CTRL_OR_CMD],originInGrid:(0,F.ob)((0,F.oj)(b.x,b.y,a[F.hg.CTRL_OR_CMD]||h?null:this.getEffectiveGridSize())),scrollbars:ho(km,a.clientX-this.state.offsetLeft,a.clientY-this.state.offsetTop),lastCoords:{...b},originalElements:this.scene.getNonDeletedElements().reduce((a,b)=>(a.set(b.id,(0,F.bg)(b)),a),new Map),resize:{handleType:!1,isResizing:!1,offset:{x:0,y:0},arrowDirection:"origin",center:{x:(f+d)/2,y:(g+e)/2}},hit:{element:null,allHitElements:[],wasAddedToSelection:!1,hasBeenDuplicated:!1,hasHitCommonBoundingBoxOfSelectedElements:this.isHittingCommonBoundingBoxOfSelectedElements(b,c)},drag:{hasOccurred:!1,offset:null},eventListeners:{onMove:null,onUp:null,onKeyUp:null,onKeyDown:null},boxSelection:{hasOccurred:!1}}}handleDraggingScrollBar(a,b){if(!(b.scrollbars.isOverEither&&!this.state.multiElement))return!1;kl=!0,b.lastCoords.x=a.clientX,b.lastCoords.y=a.clientY;let c=jv(a=>{a.target instanceof HTMLElement&&this.handlePointerMoveOverScrollbars(a,b)}),d=ju(()=>{kt=null,kl=!1,(0,F.dd)(this.interactiveCanvas,this.state),this.setState({cursorButton:"up"}),this.savePointer(a.clientX,a.clientY,"up"),window.removeEventListener("pointermove",c),window.removeEventListener("pointerup",d),c.flush()});return kt=d,window.addEventListener("pointermove",c),window.addEventListener("pointerup",d),!0}isASelectedElement(a){return null!=a&&this.state.selectedElementIds[a.id]}isHittingCommonBoundingBoxOfSelectedElements(a,b){if(b.length<2)return!1;let c=this.getElementHitThreshold(),[d,e,f,g]=(0,F.bj)(b);return a.x>d-c&&a.x<f+c&&a.y>e-c&&a.y<g+c}getCurrentItemRoundness(a){return"round"===this.state.currentItemRoundness?{type:(0,F.oc)(a)?F.ua.ADAPTIVE_RADIUS:F.ua.PROPORTIONAL_RADIUS}:null}maybeCacheReferenceSnapPoints(a,b,c=!1){(0,F.gj)({event:a,app:this,selectedElements:b})&&(c||!F.ej.getReferenceSnapPoints())&&F.ej.setReferenceSnapPoints((0,F.ij)(this.scene.getNonDeletedElements(),b,this.state,this.scene.getNonDeletedElementsMap()))}maybeCacheVisibleGaps(a,b,c=!1){(0,F.gj)({event:a,app:this,selectedElements:b})&&(c||!F.ej.getVisibleGaps())&&F.ej.setVisibleGaps((0,F.hj)(this.scene.getNonDeletedElements(),b,this.state,this.scene.getNonDeletedElementsMap()))}onKeyDownFromPointerDownHandler(a){return ju(b=>{this.maybeHandleResize(a,b)||this.maybeDragNewGenericElement(a,b)})}onKeyUpFromPointerDownHandler(a){return ju(b=>{b.key===F.hg.ALT&&b.preventDefault(),this.maybeHandleResize(a,b)||this.maybeDragNewGenericElement(a,b)})}onPointerMoveFromPointerDownHandler(a){return jv(b=>{if(this.state.openDialog?.name==="elementLinkSelector")return;let c=(0,F.lb)(b,this.state);if(this.state.selectedLinearElement&&this.state.selectedLinearElement.elbowed&&this.state.selectedLinearElement.pointerDownState.segmentMidpoint.index){let[a,d]=(0,F.oj)(c.x,c.y,b[F.hg.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),e=this.state.selectedLinearElement.pointerDownState.segmentMidpoint.index;if(e<0){let b=F.pj.getSegmentMidpointHitCoords({...this.state.selectedLinearElement,segmentMidPointHoveredCoords:null},{x:a,y:d},this.state,this.scene.getNonDeletedElementsMap());e=b?F.pj.getSegmentMidPointIndex(this.state.selectedLinearElement,this.state,b,this.scene.getNonDeletedElementsMap()):-1}let f=F.pj.moveFixedSegment(this.state.selectedLinearElement,e,a,d,this.scene.getNonDeletedElementsMap());(0,aw.flushSync)(()=>{this.state.selectedLinearElement&&this.setState({selectedLinearElement:{...this.state.selectedLinearElement,segmentMidPointHoveredCoords:f.segmentMidPointHoveredCoords,pointerDownState:f.pointerDownState}})});return}let d=this.lastPointerMoveCoords??a.origin;if(this.lastPointerMoveCoords=c,null===a.drag.offset&&(a.drag.offset=(0,F.ob)((0,F.jk)(this.scene.getSelectedElements(this.state),a.origin.x,a.origin.y))),!(b.target instanceof HTMLElement)||this.handlePointerMoveOverScrollbars(b,a))return;if((0,F.Gc)(this.state))return void this.handleEraser(b,a,c);"laser"===this.state.activeTool.type&&this.laserTrails.addPointToPath(c.x,c.y);let[e,f]=(0,F.oj)(c.x,c.y,b[F.hg.CTRL_OR_CMD]?null:this.getEffectiveGridSize());if(!a.drag.hasOccurred&&("arrow"===this.state.activeTool.type||"line"===this.state.activeTool.type)&&(0,F.Wa)((0,F.Ua)(c.x,c.y),(0,F.Ua)(a.origin.x,a.origin.y))<F.t)return;if(a.resize.isResizing&&(a.lastCoords.x=c.x,a.lastCoords.y=c.y,this.maybeHandleCrop(a,b)||this.maybeHandleResize(a,b)))return!0;let g=this.scene.getNonDeletedElementsMap();if(this.state.selectedLinearElement){let d=this.state.editingLinearElement||this.state.selectedLinearElement;if(F.pj.shouldAddMidpoint(this.state.selectedLinearElement,c,this.state,g)){let a=F.pj.addMidpoint(this.state.selectedLinearElement,c,this,!b[F.hg.CTRL_OR_CMD],g);if(!a)return;(0,aw.flushSync)(()=>{this.state.selectedLinearElement&&this.setState({selectedLinearElement:{...this.state.selectedLinearElement,pointerDownState:a.pointerDownState,selectedPointsIndices:a.selectedPointsIndices}}),this.state.editingLinearElement&&this.setState({editingLinearElement:{...this.state.editingLinearElement,pointerDownState:a.pointerDownState,selectedPointsIndices:a.selectedPointsIndices}})});return}if(null!==d.pointerDownState.segmentMidpoint.value&&!d.pointerDownState.segmentMidpoint.added)return;if(F.pj.handlePointDragging(b,this,c.x,c.y,(a,b)=>{this.maybeSuggestBindingsForLinearElementAtCoords(a,b)},d,this.scene)){a.lastCoords.x=c.x,a.lastCoords.y=c.y,a.drag.hasOccurred=!0,this.state.editingLinearElement&&!this.state.editingLinearElement.isDragging&&this.setState({editingLinearElement:{...this.state.editingLinearElement,isDragging:!0}}),this.state.selectedLinearElement.isDragging||this.setState({selectedLinearElement:{...this.state.selectedLinearElement,isDragging:!0}});return}}let h=a.hit.allHitElements.some(a=>this.isASelectedElement(a)),i=this.state.editingLinearElement&&b.shiftKey&&this.state.editingLinearElement.elementId===a.hit.element?.id;if((h||a.hit.hasHitCommonBoundingBoxOfSelectedElements)&&!i){let e=this.scene.getSelectedElements(this.state);if(e.every(a=>a.locked))return;let f=e.find(a=>(0,F.bc)(a)),h=this.getTopLayerFrameAtSceneCoords(c),i=h&&!f?h:null;if(this.state.frameToHighlight!==i&&(0,aw.flushSync)(()=>{this.setState({frameToHighlight:i})}),a.drag.hasOccurred=!0,e.length>0&&!a.withCmdOrCtrl&&!this.state.editingTextElement&&this.state.activeEmbeddable?.state!=="active"){let f={x:c.x-a.origin.x,y:c.y-a.origin.y},h=[...a.originalElements.values()],i=b.shiftKey;if(i){let a=Math.abs(f.x),b=Math.abs(f.y);i&&a<b&&(f.x=0),i&&a>b&&(f.y=0)}if(this.state.croppingElementId){let b=this.scene.getNonDeletedElementsMap().get(this.state.croppingElementId);if(b&&(0,F.Wb)(b)&&null!==b.crop&&a.hit.element===b){let a=b.crop,e=(0,F.Vb)(b)&&this.imageCache.get(b.fileId)?.image;if(e&&!(e instanceof Promise)){let f=(0,F.Sa)((0,F.Oa)(c.x-d.x,c.y-d.y),Math.max(this.state.zoom.value,2)),[h,i,j,k,l,m]=(0,F.aj)(b,g),n=(0,F.Pa)((0,F.Va)((0,F.Ua)(h,i),(0,F.Ua)(l,m),b.angle)),o=(0,F.Pa)((0,F.Va)((0,F.Ua)(j,i),(0,F.Ua)(l,m),b.angle)),p=(0,F.Pa)((0,F.Va)((0,F.Ua)(h,k),(0,F.Ua)(l,m),b.angle)),q=(0,F.Ta)((0,F.Ra)(o,n)),r=(0,F.Ta)((0,F.Ra)(p,n)),s=(0,F.Oa)((0,F.Qa)(f,q),(0,F.Qa)(f,r)),t={...a,x:(0,F.Ia)(a.x-s[0]*Math.sign(b.scale[0]),0,e.naturalWidth-a.width),y:(0,F.Ia)(a.y-s[1]*Math.sign(b.scale[1]),0,e.naturalHeight-a.height)};(0,F.Pj)(b,{crop:t});return}}}this.maybeCacheVisibleGaps(b,e),this.maybeCacheReferenceSnapPoints(b,e);let{snapOffset:j,snapLines:k}=(0,F.jj)(h,f,this,b,this.scene.getNonDeletedElementsMap());if(this.setState({snapLines:k}),this.state.editingFrame||(0,F.ik)(a,e,f,this.scene,j,b[F.hg.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),this.setState({selectedElementsAreBeingDragged:!0,selectionElement:null}),1===e.length&&(0,F.ec)(e[0])||this.setState({suggestedBindings:(0,F.Kg)(e,this.scene.getNonDeletedElementsMap(),this.state.zoom)}),b.altKey&&!a.hit.hasBeenDuplicated){a.hit.hasBeenDuplicated=!0;let c=[],d=[],f=new Map,g=new Map,h=a.hit.element,i=new Set(this.scene.getSelectedElements({selectedElementIds:this.state.selectedElementIds,includeBoundTextElement:!0,includeElementsInFrames:!0}).map(a=>a.id)),j=this.scene.getElementsIncludingDeleted();for(let b of j){let e=i.has(b.id)||b.id===h?.id&&a.hit.wasAddedToSelection;if(Math.abs(b.x)>1e7||Math.abs(b.x)>1e7||Math.abs(b.width)>1e7||Math.abs(b.height)>1e7)return void console.error("Alt+dragging element in scene with invalid dimensions",b.x,b.y,b.width,b.height,e);if(e){let e=(0,F.cg)(this.state.editingGroupId,f,b);if(Math.abs(e.x)>1e7||Math.abs(e.x)>1e7||Math.abs(e.width)>1e7||Math.abs(e.height)>1e7)return void console.error("Alt+dragging duplicated element with invalid dimensions",e.x,e.y,e.width,e.height);let h=a.originalElements.get(b.id);if(Math.abs(h.x)>1e7||Math.abs(h.x)>1e7||Math.abs(h.width)>1e7||Math.abs(h.height)>1e7)return void console.error("Alt+dragging duplicated element with invalid dimensions",h.x,h.y,h.width,h.height);(0,F.Pj)(e,{x:h.x,y:h.y}),a.originalElements.set(e.id,e),c.push(e),d.push(b),g.set(b.id,e.id)}else c.push(b)}let k=[...c,...d];k=this.props.onDuplicate?.(k,j)||k,(0,F.Mj)(k,(0,F.xb)(d)),(0,F.vj)(c,d,g),(0,F.Sg)(k,d,g,"duplicatesServeAsOld"),(0,F.wi)(k,d,g),this.scene.replaceAllElements(k),this.maybeCacheVisibleGaps(b,e,!0),this.maybeCacheReferenceSnapPoints(b,e,!0)}return}}if(this.state.selectionElement)a.lastCoords.x=c.x,a.lastCoords.y=c.y,this.maybeDragNewGenericElement(a,b);else{let d=this.state.newElement;if(!d)return;if("freedraw"===d.type){let a=d.points,e=c.x-d.x,f=c.y-d.y,g=a.length>0&&a[a.length-1];if(!(g&&g[0]===e&&g[1]===f)){let c=d.simulatePressure?d.pressures:[...d.pressures,b.pressure];(0,F.Pj)(d,{points:[...a,(0,F.Ua)(e,f)],pressures:c},!1),this.setState({newElement:d})}}else if((0,F.cc)(d)){a.drag.hasOccurred=!0;let g=d.points,h=e-d.x,i=f-d.y;(0,F.mg)(b)&&2===g.length&&({width:h,height:i}=(0,F.Vj)(d.x,d.y,c.x,c.y)),1===g.length?(0,F.Pj)(d,{points:[...g,(0,F.Ua)(h,i)]},!1):(2===g.length||g.length>1&&(0,F.ec)(d))&&(0,F.Pj)(d,{points:[...g.slice(0,-1),(0,F.Ua)(h,i)]},!1,{isDragging:!0}),this.setState({newElement:d}),(0,F.gc)(d,!1)&&this.maybeSuggestBindingsForLinearElementAtCoords(d,[c],this.state.startBoundElement)}else a.lastCoords.x=c.x,a.lastCoords.y=c.y,this.maybeDragNewGenericElement(a,b,!1)}if("selection"===this.state.activeTool.type){a.boxSelection.hasOccurred=!0;let c=this.scene.getNonDeletedElements();if(this.state.editingLinearElement)F.pj.handleBoxSelection(b,this.state,this.setState.bind(this),this.scene.getNonDeletedElementsMap());else{let d=!0;!b.shiftKey&&(0,F.tk)(c,this.state)&&(a.withCmdOrCtrl&&a.hit.element?this.setState(b=>(0,F.Jc)({...b,selectedElementIds:{[a.hit.element.id]:!0}},this.scene.getNonDeletedElements(),b,this)):d=!1);let e=this.state.selectionElement?(0,F.sk)(c,this.state.selectionElement,this.scene.getNonDeletedElementsMap(),!1):[];this.setState(b=>{let c={...d&&b.selectedElementIds,...e.reduce((a,b)=>(a[b.id]=!0,a),{})};return a.hit.element&&(e.length?delete c[a.hit.element.id]:c[a.hit.element.id]=!0),b=d?b:{...b,selectedGroupIds:{},editingGroupId:null},{...(0,F.Jc)({editingGroupId:b.editingGroupId,selectedElementIds:c},this.scene.getNonDeletedElements(),b,this),selectedLinearElement:1===e.length&&(0,F.cc)(e[0])?new F.pj(e[0]):null,showHyperlinkPopup:!!(1===e.length&&(e[0].link||(0,F.Xb)(e[0])))&&"info"}})}}})}handlePointerMoveOverScrollbars(a,b){if(b.scrollbars.isOverHorizontal){let c=a.clientX,d=c-b.lastCoords.x;return this.translateCanvas({scrollX:this.state.scrollX-d/this.state.zoom.value}),b.lastCoords.x=c,!0}if(b.scrollbars.isOverVertical){let c=a.clientY,d=c-b.lastCoords.y;return this.translateCanvas({scrollY:this.state.scrollY-d/this.state.zoom.value}),b.lastCoords.y=c,!0}return!1}onPointerUpFromPointerDownHandler(a){return ju(b=>{this.removePointer(b),a.eventListeners.onMove&&a.eventListeners.onMove.flush();let{newElement:c,resizingElement:d,croppingElementId:e,multiElement:f,activeTool:g,isResizing:h,isRotating:i,isCropping:j}=this.state;this.setState(a=>({isResizing:!1,isRotating:!1,isCropping:!1,resizingElement:null,selectionElement:null,frameToHighlight:null,elementsToHighlight:null,cursorButton:"up",snapLines:(0,F.Ob)(a.snapLines,[]),originSnapOffset:null})),this.lastPointerMoveCoords=null,F.ej.setReferenceSnapPoints(null),F.ej.setVisibleGaps(null),this.savePointer(b.clientX,b.clientY,"up"),this.setState({selectedElementsAreBeingDragged:!1});let k=this.scene.getNonDeletedElementsMap();if(a.drag.hasOccurred&&a.hit?.element?.id){let b=k.get(a.hit.element.id);(0,F.ic)(b)&&b.boundElements?.filter(a=>"arrow"===a.type).map(a=>k.get(a.id)).filter(a=>(0,F.ec)(a)).forEach(a=>{a&&(0,F.Pj)(a,{},!0)})}if(this.state.editingLinearElement)if(a.boxSelection.hasOccurred||a.hit?.element?.id===this.state.editingLinearElement.elementId){let a=F.pj.handlePointerUp(b,this.state.editingLinearElement,this.state,this.scene);a!==this.state.editingLinearElement&&this.setState({editingLinearElement:a,suggestedBindings:[]})}else this.actionManager.executeAction(eC);else if(this.state.selectedLinearElement){if(this.state.selectedLinearElement.elbowed){let a=F.pj.getElement(this.state.selectedLinearElement.elementId,this.scene.getNonDeletedElementsMap());a&&(0,F.Pj)(a,{},!0)}if(a.hit?.element?.id!==this.state.selectedLinearElement.elementId)this.scene.getSelectedElements(this.state).length>1&&this.setState({selectedLinearElement:null});else{let a=F.pj.handlePointerUp(b,this.state.selectedLinearElement,this.state,this.scene),{startBindingElement:c,endBindingElement:d}=a,e=this.scene.getElement(a.elementId);(0,F.gc)(e)&&(0,F.Ig)(e,c,d,k,this.scene),a!==this.state.selectedLinearElement&&this.setState({selectedLinearElement:{...a,selectedPointsIndices:null},suggestedBindings:[]})}}if(this.missingPointerEventCleanupEmitter.clear(),window.removeEventListener("pointermove",a.eventListeners.onMove),window.removeEventListener("pointerup",a.eventListeners.onUp),window.removeEventListener("keydown",a.eventListeners.onKeyDown),window.removeEventListener("keyup",a.eventListeners.onKeyUp),this.state.pendingImageElementId&&this.setState({pendingImageElementId:null}),this.props?.onPointerUp?.(g,a),this.onPointerUpEmitter.trigger(this.state.activeTool,a,b),c?.type==="freedraw"){let a=(0,F.lb)(b,this.state),d=c.points,e=a.x-c.x,f=a.y-c.y;e===d[0][0]&&f===d[0][1]&&(f+=1e-4,e+=1e-4);let g=c.simulatePressure?[]:[...c.pressures,b.pressure];(0,F.Pj)(c,{points:[...d,(0,F.Ua)(e,f)],pressures:g,lastCommittedPoint:(0,F.Ua)(e,f)}),this.actionManager.executeAction(eC);return}if((0,F.Wb)(c)){try{this.initializeImageDimensions(c),this.setState({selectedElementIds:(0,F.xk)({[c.id]:!0},this.state)},()=>{this.actionManager.executeAction(eC)})}catch(a){console.error(a),this.scene.replaceAllElements(this.scene.getElementsIncludingDeleted().filter(a=>a.id!==c.id)),this.actionManager.executeAction(eC)}return}if((0,F.cc)(c)){c.points.length>1&&this.store.shouldCaptureIncrement();let d=(0,F.lb)(b,this.state);a.drag.hasOccurred||!c||f?a.drag.hasOccurred&&!f&&((0,F.Fg)(this.state)&&(0,F.gc)(c,!1)&&(0,F.Lg)(c,this.state,d,this.scene.getNonDeletedElementsMap(),this.scene.getNonDeletedElements()),this.setState({suggestedBindings:[],startBoundElement:null}),g.locked?this.setState(a=>({newElement:null})):((0,F.ad)(this.interactiveCanvas),this.setState(a=>({newElement:null,activeTool:(0,F.jb)(this.state,{type:"selection"}),selectedElementIds:(0,F.xk)({...a.selectedElementIds,[c.id]:!0},a),selectedLinearElement:new F.pj(c)}))),this.scene.triggerUpdate()):((0,F.Pj)(c,{points:[...c.points,(0,F.Ua)(d.x-c.x,d.y-c.y)]}),this.setState({multiElement:c,newElement:c}));return}if((0,F._b)(c)){let a=(0,F.xc)((0,F.cb)({fontSize:c.fontSize,fontFamily:c.fontFamily}),c.lineHeight);c.width<a&&(0,F.Pj)(c,{autoResize:!0}),this.resetCursor(),this.handleTextWysiwyg(c,{isExistingElement:!0})}if("selection"!==g.type&&c&&(0,F.Sj)(c))return void this.updateScene({elements:this.scene.getElementsIncludingDeleted().filter(a=>a.id!==c.id),appState:{newElement:null},captureUpdate:F.Wg.NEVER});if((0,F.bc)(c)){let a=(0,F.Fi)(this.scene.getElementsIncludingDeleted(),c,this.scene.getNonDeletedElementsMap());this.scene.replaceAllElements((0,F.Ii)(this.scene.getElementsMapIncludingDeleted(),a,c,this.state))}if(c&&((0,F.Pj)(c,(0,F.Wj)(c)),this.scene.triggerUpdate()),a.drag.hasOccurred){let a=(0,F.lb)(b,this.state);if(this.state.selectedLinearElement&&this.state.selectedLinearElement.isDragging){let a=this.scene.getElement(this.state.selectedLinearElement.elementId);if(a?.frameId){let b=(0,F.Gi)(a,k);b&&a&&((0,F.yi)(a,b,this.scene.getNonDeletedElementsMap())||((0,F.Pj)(a,{groupIds:[]}),(0,F.Ji)([a],this.scene.getNonDeletedElementsMap()),this.scene.triggerUpdate()))}}else{let b=this.getTopLayerFrameAtSceneCoords(a),c=this.scene.getSelectedElements(this.state),d=this.scene.getElementsMapIncludingDeleted(),e=a=>{if(a.length>0){for(let b of a){let a=b.groupIds.indexOf(this.state.editingGroupId);(0,F.Pj)(b,{groupIds:b.groupIds.slice(0,a)},!1)}d.forEach(a=>{a.groupIds.length&&(0,F.Qc)(d,a.groupIds[a.groupIds.length-1]).length<2&&(0,F.Pj)(a,{groupIds:[]},!1)}),this.setState({editingGroupId:null})}};if(b&&!this.state.selectedElementIds[b.id]){let a=c.filter(a=>a.frameId!==b.id&&(0,F.Ni)(a,d,this.state));this.state.editingGroupId&&e(a),d=(0,F.Ii)(d,a,b,this.state)}else!b&&this.state.editingGroupId&&e(c.filter(a=>a.frameId&&!(0,F.Ni)(a,d,this.state)));d=(0,F.Mi)(d,this.state,this),this.scene.replaceAllElements(d)}}if(d&&this.store.shouldCaptureIncrement(),d&&(0,F.Sj)(d)&&this.updateScene({elements:this.scene.getElementsIncludingDeleted().filter(a=>a.id!==d.id),captureUpdate:F.Wg.NEVER}),a.resize.isResizing){let a=(0,F.Mi)(this.scene.getElementsIncludingDeleted(),this.state,this);for(let b of this.scene.getSelectedElements(this.state).filter(a=>(0,F.bc)(a)))a=(0,F.Li)(a,(0,F.Ei)(this.scene.getElementsIncludingDeleted(),b,this.state,k),b,this);this.scene.replaceAllElements(a)}let l=a.hit.element;this.state.selectedLinearElement?.elementId!==l?.id&&(0,F.cc)(l)&&1===this.scene.getSelectedElements(this.state).length&&this.setState({selectedLinearElement:new F.pj(l)}),e&&(!e||(l||j)&&(!l||l.id===e))||this.finishImageCropping();let m=this.lastPointerDownEvent,n=this.lastPointerUpEvent||this.lastPointerMoveEvent;if((0,F.Gc)(this.state)&&m&&n){if(this.eraserTrail.endPath(),0===(0,F.Wa)((0,F.Ua)(m.clientX,m.clientY),(0,F.Ua)(n.clientX,n.clientY))){let a=(0,F.lb)({clientX:n.clientX,clientY:n.clientY},this.state);this.getElementsAtPosition(a.x,a.y).forEach(a=>this.elementsPendingErasure.add(a.id))}this.eraseElements();return}if(this.elementsPendingErasure.size&&this.restoreReadyToEraseElements(),!l||a.drag.hasOccurred||a.hit.wasAddedToSelection||this.state.editingLinearElement&&a.boxSelection.hasOccurred||(b.shiftKey&&!this.state.editingLinearElement?this.state.selectedElementIds[l.id]?(0,F.Kc)(this.state,l)?this.setState(a=>{let b={...a.selectedElementIds};for(let a of l.groupIds.flatMap(a=>(0,F.Qc)(this.scene.getNonDeletedElements(),a)))delete b[a.id];return{selectedGroupIds:{...a.selectedElementIds,...l.groupIds.map(a=>({[a]:!1})).reduce((a,b)=>({...a,...b}),{})},selectedElementIds:(0,F.xk)(b,a)}}):this.state.selectedLinearElement?.isDragging||this.setState(a=>{let b={...a.selectedElementIds};delete b[l.id];let c=(0,F.vk)(this.scene.getNonDeletedElements(),{selectedElementIds:b});return{...(0,F.Jc)({editingGroupId:a.editingGroupId,selectedElementIds:b},this.scene.getNonDeletedElements(),a,this),selectedLinearElement:1===c.length&&(0,F.cc)(c[0])?new F.pj(c[0]):a.selectedLinearElement}}):l.frameId&&this.state.selectedElementIds[l.frameId]?this.setState(a=>{let b={...a.selectedElementIds,[l.id]:!0};return delete b[l.frameId],(this.scene.getElement(l.frameId)?.groupIds??[]).flatMap(a=>(0,F.Qc)(this.scene.getNonDeletedElements(),a)).forEach(a=>{delete b[a.id]}),{...(0,F.Jc)({editingGroupId:a.editingGroupId,selectedElementIds:b},this.scene.getNonDeletedElements(),a,this),showHyperlinkPopup:!!(l.link||(0,F.Xb)(l))&&"info"}}):this.setState(a=>({selectedElementIds:(0,F.xk)({...a.selectedElementIds,[l.id]:!0},a)})):this.setState(a=>({...(0,F.Jc)({editingGroupId:a.editingGroupId,selectedElementIds:{[l.id]:!0}},this.scene.getNonDeletedElements(),a,this),selectedLinearElement:(0,F.cc)(l)&&a.selectedLinearElement?.elementId!==l.id?new F.pj(l):a.selectedLinearElement}))),!(l&&(0,F.ec)(l))&&!a.drag.hasOccurred&&!this.state.isResizing&&(l&&(0,F.pg)({x:a.origin.x,y:a.origin.y,element:l,shape:(0,F.tg)(l,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold(),frameNameBound:(0,F.bc)(l)?this.frameNameBoundsCache.get(l):null},k)||!l&&a.hit.hasHitCommonBoundingBoxOfSelectedElements)){this.state.editingLinearElement?this.setState({editingLinearElement:null}):this.setState({selectedElementIds:(0,F.xk)({},this.state),selectedGroupIds:{},editingGroupId:null,activeEmbeddable:null}),(0,F.bd)(this.interactiveCanvas,F.z.AUTO);return}if(!g.locked&&"freedraw"!==g.type&&c&&this.setState(a=>({selectedElementIds:(0,F.xk)({...a.selectedElementIds,[c.id]:!0},a),showHyperlinkPopup:(0,F.Xb)(c)&&!c.link?"editor":a.showHyperlinkPopup})),("selection"!==g.type||(0,F.tk)(this.scene.getNonDeletedElements(),this.state)||!(0,F.Hb)(this.state.previousSelectedElementIds,this.state.selectedElementIds))&&this.store.shouldCaptureIncrement(),a.drag.hasOccurred||h||i||j){let a=this.scene.getSelectedElements(this.state).filter(F.cc);(0,F.Jg)(a,this.scene.getNonDeletedElementsMap(),this.scene.getNonDeletedElements(),this.scene,(0,F.Fg)(this.state),this.state.selectedLinearElement?.selectedPointsIndices??[],this.state.zoom)}"laser"===g.type?this.laserTrails.endPath():(g.locked||"freedraw"===g.type?this.setState({newElement:null,suggestedBindings:[]}):((0,F.ad)(this.interactiveCanvas),this.setState({newElement:null,suggestedBindings:[],activeTool:(0,F.jb)(this.state,{type:"selection"})})),l&&this.lastPointerUpEvent&&this.lastPointerDownEvent&&this.lastPointerUpEvent.timeStamp-this.lastPointerDownEvent.timeStamp<300&&ku.pointers.size<=1&&(0,F.Zb)(l)&&this.isIframeLikeElementCenter(l,this.lastPointerUpEvent,a.origin.x,a.origin.y)&&this.handleEmbeddableCenterClick(l))})}clearSelection(a){this.setState(b=>({selectedElementIds:(0,F.xk)({},b),activeEmbeddable:null,selectedGroupIds:{},editingGroupId:b.editingGroupId&&null!=a&&(0,F.Pc)(a,b.editingGroupId)?b.editingGroupId:null})),this.setState({selectedElementIds:(0,F.xk)({},this.state),activeEmbeddable:null,previousSelectedElementIds:this.state.selectedElementIds})}getTextWysiwygSnappedToCenterPosition(a,b,c,d){if(d){let e=d.x+d.width/2,f=d.y+d.height/2,g=(0,F.Bj)(d,c,this.scene.getNonDeletedElementsMap());if(g&&(e=g.x,f=g.y),Math.hypot(a-e,b-f)<F.x){let{x:a,y:b}=(0,F.mb)({sceneX:e,sceneY:f},c);return{viewportX:a,viewportY:b,elementCenterX:e,elementCenterY:f}}}}getCanvasOffsets(){if(this.excalidrawContainerRef?.current){let{left:a,top:b}=this.excalidrawContainerRef.current.getBoundingClientRect();return{offsetLeft:a,offsetTop:b}}return{offsetLeft:0,offsetTop:0}}async updateLanguage(){let a=c2.find(a=>a.code===this.props.langCode)||c1;await c6(a),this.setAppState({})}};(H.a.MODE===F.D.TEST||H.a.DEV)&&(window.h=window.h||{},Object.defineProperties(window.h,{elements:{configurable:!0,get(){return this.app?.scene.getElementsIncludingDeleted()},set(a){return this.app?.scene.replaceAllElements((0,F.Nj)(a))}},scene:{configurable:!0,get(){return this.app?.scene}}}));var kw=()=>(0,e.jsx)("svg",{viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"ExcalidrawLogo-icon",children:(0,e.jsx)("path",{d:"M39.9 32.889a.326.326 0 0 0-.279-.056c-2.094-3.083-4.774-6-7.343-8.833l-.419-.472a.212.212 0 0 0-.056-.139.586.586 0 0 0-.167-.111l-.084-.083-.056-.056c-.084-.167-.28-.278-.475-.167-.782.39-1.507.973-2.206 1.528-.92.722-1.842 1.445-2.708 2.25a8.405 8.405 0 0 0-.977 1.028c-.14.194-.028.361.14.444-.615.611-1.23 1.223-1.843 1.861a.315.315 0 0 0-.084.223c0 .083.056.166.111.194l1.09.833v.028c1.535 1.528 4.244 3.611 7.12 5.861.418.334.865.667 1.284 1 .195.223.39.473.558.695.084.11.28.139.391.055.056.056.14.111.196.167a.398.398 0 0 0 .167.056.255.255 0 0 0 .224-.111.394.394 0 0 0 .055-.167c.029 0 .028.028.056.028a.318.318 0 0 0 .224-.084l5.082-5.528a.309.309 0 0 0 0-.444Zm-14.63-1.917a.485.485 0 0 0 .111.14c.586.5 1.2 1 1.843 1.555l-2.569-1.945-.251-.166c-.056-.028-.112-.084-.168-.111l-.195-.167.056-.056.055-.055.112-.111c.866-.861 2.346-2.306 3.1-3.028-.81.805-2.43 3.167-2.095 3.944Zm8.767 6.89-2.122-1.612a44.713 44.713 0 0 0-2.625-2.5c1.145.861 2.122 1.611 2.262 1.75 1.117.972 1.06.806 1.815 1.445l.921.666a1.06 1.06 0 0 1-.251.25Zm.558.416-.056-.028c.084-.055.168-.111.252-.194l-.196.222ZM1.089 5.75c.055.361.14.722.195 1.056.335 1.833.67 3.5 1.284 4.75l.252.944c.084.361.223.806.363.917 1.424 1.25 3.602 3.11 5.947 4.889a.295.295 0 0 0 .363 0s0 .027.028.027a.254.254 0 0 0 .196.084.318.318 0 0 0 .223-.084c2.988-3.305 5.221-6.027 6.813-8.305.112-.111.14-.278.14-.417.111-.111.195-.25.307-.333.111-.111.111-.306 0-.39l-.028-.027c0-.055-.028-.139-.084-.167-.698-.666-1.2-1.138-1.731-1.638-.922-.862-1.871-1.75-3.881-3.75l-.028-.028c-.028-.028-.056-.056-.112-.056-.558-.194-1.703-.389-3.127-.639C6.087 2.223 3.21 1.723.614.944c0 0-.168 0-.196.028l-.083.084c-.028.027-.056.055-.224.11h.056-.056c.028.167.028.278.084.473 0 .055.112.5.112.555l.782 3.556Zm15.496 3.278-.335-.334c.084.112.196.195.335.334Zm-3.546 4.666-.056.056c0-.028.028-.056.056-.056Zm-2.038-10c.168.167.866.834 1.033.973-.726-.334-2.54-1.167-3.379-1.445.838.167 1.983.334 2.346.472ZM1.424 2.306c.419.722.754 3.222 1.089 5.666-.196-.778-.335-1.555-.503-2.278-.251-1.277-.503-2.416-.838-3.416.056 0 .14 0 .252.028Zm-.168-.584c-.112 0-.223-.028-.307-.028 0-.027 0-.055-.028-.055.14 0 .223.028.335.083Zm-1.089.222c0-.027 0-.027 0 0ZM39.453 1.333c.028-.11-.558-.61-.363-.639.42-.027.42-.666 0-.666-.558.028-1.144.166-1.675.25-.977.194-1.982.389-2.96.61-2.205.473-4.383.973-6.561 1.557-.67.194-1.424.333-2.066.666-.224.111-.196.333-.084.472-.056.028-.084.028-.14.056-.195.028-.363.056-.558.083-.168.028-.252.167-.224.334 0 .027.028.083.028.11-1.173 1.556-2.485 3.195-3.909 4.945-1.396 1.611-2.876 3.306-4.356 5.056-4.719 5.5-10.052 11.75-15.943 17.25a.268.268 0 0 0 0 .389c.028.027.056.055.084.055-.084.084-.168.14-.252.222-.056.056-.084.111-.084.167a.605.605 0 0 0-.111.139c-.112.111-.112.305.028.389.111.11.307.11.39-.028.029-.028.029-.056.056-.056a.44.44 0 0 1 .615 0c.335.362.67.723.977 1.028l-.698-.583c-.112-.111-.307-.083-.39.028-.113.11-.085.305.027.389l7.427 6.194c.056.056.112.056.196.056s.14-.028.195-.084l.168-.166c.028.027.083.027.111.027.084 0 .14-.027.196-.083 10.052-10.055 18.15-17.639 27.42-24.417.083-.055.111-.166.111-.25.112 0 .196-.083.251-.194 1.704-5.194 2.039-9.806 2.15-12.083v-.028c0-.028.028-.056.028-.083.028-.056.028-.084.028-.084a1.626 1.626 0 0 0-.111-1.028ZM21.472 9.5c.446-.5.893-1.028 1.34-1.5-2.876 3.778-7.65 9.583-14.408 16.5 4.607-5.083 9.242-10.333 13.068-15ZM5.193 35.778h.084-.084Zm3.462 3.194c-.027-.028-.027-.028 0-.028v.028Zm4.16-3.583c.224-.25.448-.472.699-.722 0 0 0 .027.028.027-.252.223-.475.445-.726.695Zm1.146-1.111c.14-.14.279-.334.446-.5l.028-.028c1.648-1.694 3.351-3.389 5.082-5.111l.028-.028c.419-.333.921-.694 1.368-1.028a379.003 379.003 0 0 0-6.952 6.695ZM24.794 6.472c-.921 1.195-1.954 2.778-2.82 4.028-2.736 3.944-11.532 13.583-11.727 13.75a1976.983 1976.983 0 0 1-8.042 7.639l-.167.167c-.14-.167-.14-.417.028-.556C14.49 19.861 22.03 10.167 25.074 5.917c-.084.194-.14.36-.28.555Zm4.83 5.695c-1.116-.64-1.646-1.64-1.34-2.611l.084-.334c.028-.083.084-.194.14-.277.307-.5.754-.917 1.257-1.167.027 0 .055 0 .083-.028-.028-.056-.028-.139-.028-.222.028-.167.14-.278.335-.278.335 0 1.369.306 1.76.639.111.083.223.194.335.305.14.167.363.445.474.667.056.028.112.306.196.445.056.222.111.472.084.694-.028.028 0 .194-.028.194a2.668 2.668 0 0 1-.363 1.028c-.028.028-.028.056-.056.084l-.028.027c-.14.223-.335.417-.53.556-.643.444-1.369.583-2.095.389 0 0-.195-.084-.28-.111Zm8.154-.834a39.098 39.098 0 0 1-.893 3.167c0 .028-.028.083 0 .111-.056 0-.084.028-.14.056-2.206 1.61-4.356 3.305-6.506 5.028 1.843-1.64 3.686-3.306 5.613-4.945.558-.5.949-1.139 1.06-1.861l.28-1.667v-.055c.14-.334.67-.195.586.166Z",fill:"currentColor"})}),kx=()=>(0,e.jsxs)("svg",{viewBox:"0 0 450 55",xmlns:"http://www.w3.org/2000/svg",fill:"none",className:"ExcalidrawLogo-text",children:[(0,e.jsx)("path",{d:"M429.27 96.74c2.47-1.39 4.78-3.02 6.83-4.95 1.43-1.35 2.73-2.86 3.81-4.51-.66.9-1.4 1.77-2.23 2.59-2.91 2.84-5.72 5.09-8.42 6.87h.01ZM343.6 69.36c.33 3.13.58 6.27.79 9.4.09 1.37.18 2.75.25 4.12-.12-4.46-.27-8.93-.5-13.39-.11-2.08-.24-4.16-.4-6.24-.06 1.79-.11 3.85-.13 6.11h-.01ZM378.47 98.34c.01-.37.07-1.13.01-6.51-.11 1.9-.22 3.81-.31 5.71-.07 1.42-.22 2.91-.16 4.35.39.03.78.07 1.17.1-.92-.85-.76-2.01-.72-3.66l.01.01ZM344.09 86.12c-.09-2.41-.22-4.83-.39-7.24v12.21c.15-.05.32-.09.47-.14.05-1.61-.03-3.23-.09-4.83h.01ZM440.69 66.79c-.22-.34-.45-.67-.69-.99-3.71-4.87-9.91-7.14-15.65-8.55-1.05-.26-2.12-.49-3.18-.71 2.29.59 4.48 1.26 6.64 2.02 7.19 2.54 10.57 5.41 12.88 8.23ZM305.09 72.46l1.2 3.6c.84 2.53 1.67 5.06 2.46 7.61.24.78.5 1.57.73 2.36.22-.04.44-.08.67-.12a776.9 776.9 0 0 1-5.01-13.57c-.02.04-.03.09-.05.13v-.01ZM345.49 90.25v.31c1.48-.42 3.05-.83 4.66-1.2-1.56.25-3.12.52-4.66.89ZM371.02 90.22c0-.57-.04-1.14-.11-1.71-.06-.02-.12-.04-.19-.05-.21-.05-.43-.08-.65-.11.42.16.74.88.95 1.87ZM398.93 54.23c-.13 0-.27-.01-.4-.02l.03.4c.11-.15.23-.27.37-.38ZM401.57 62.28v-.15c-1.22-.24-2.86-.61-3.23-1.25-.09-.15-.18-.51-.27-.98-.09.37-.2.73-.33 1.09 1.24.56 2.52.98 3.83 1.29ZM421.73 88.68c-2.97 1.65-6.28 3.12-9.69 3.68v.18c4.72-.14 11.63-3.85 16.33-8.38-2.04 1.75-4.33 3.24-6.63 4.53l-.01-.01ZM411.28 80.92c-.05-1.2-.09-2.4-.15-3.6-.21 5.66-.46 11.38-.47 14.51.24-.02.48-.04.71-.07.15-3.61.05-7.23-.09-10.83v-.01Z",transform:"translate(-144.023 -51.76)"}),(0,e.jsx)("path",{d:"M425.38 67.41c-3.5-1.45-7.19-2.57-14.06-3.62.09 1.97.06 4.88-.03 8.12.03.04.06.09.06.15.19 1.36.28 2.73.37 4.1.25 3.77.39 7.55.41 11.33 0 1.38-.01 2.76-.07 4.13 1.4-.25 2.78-.65 4.12-1.15 4.07-1.5 7.94-3.78 11.28-6.54 2.33-1.92 5.13-4.49 5.88-7.58.63-3.53-2.45-6.68-7.97-8.96l.01.02ZM411.35 92.53v-.06l-.34.03c.11.01.22.03.34.03ZM314.26 64.06c-.23-.59-.47-1.17-.7-1.75.57 1.62 1.11 3.25 1.6 4.9l.15.54 2.35 6.05c.32.82.66 1.64.98 2.46-1.38-4.1-2.83-8.17-4.39-12.2h.01ZM156.82 103.07c-.18.13-.38.23-.58.33 1.32-.03 2.66-.2 3.93-.34.86-.09 1.72-.22 2.58-.33-2.12.1-4.12.17-5.94.34h.01ZM210.14 68.88s.03.04.05.07c.18-.31.39-.64.58-.96-.21.3-.42.6-.64.89h.01ZM201.65 82.8c-.5.77-1.02 1.56-1.49 2.37 1.11-1.55 2.21-3.1 3.2-4.59-.23.23-.49.51-.75.79-.32.47-.65.95-.96 1.43ZM194.03 98.66c-.33-.4-.65-.84-1.05-1.17-.24-.2-.07-.49.17-.56-.23-.26-.42-.5-.63-.75 1.51-2.55 3.93-5.87 6.4-9.28-.17-.08-.29-.28-.2-.49.04-.09.09-.17.13-.26-1.21 1.78-2.42 3.55-3.61 5.33-.87 1.31-1.74 2.64-2.54 4-.29.5-.63 1.04-.87 1.61.81.65 1.63 1.27 2.47 1.88-.09-.11-.18-.21-.27-.32v.01ZM307.79 82.93c-1-3.17-2.05-6.32-3.1-9.48-1.62 4.08-3.69 9.17-6.16 15.19 3.32-1.04 6.77-1.87 10.27-2.5-.32-1.08-.67-2.15-1.01-3.21ZM149.5 80.7c.05-1.71.04-3.43 0-5.14-.1 2.26-.16 4.51-.22 6.77-.02.73-.03 1.46-.04 2.19.14-1.27.2-2.55.24-3.82h.02ZM228.98 98.3c.39 1.25.91 3.03.94 3.91.06-.03.12-.07.17-.1.08-1.29-.55-2.65-1.11-3.81ZM307.72 53.36c.81.5 1.53 1.04 2.07 1.49-.38-.8-.78-1.58-1.21-2.35-.17.03-.34.06-.51.11-.43.12-.86.26-1.29.41.35-.01.53.1.94.34ZM283.69 96.14c3.91-7.25 6.89-13.35 8.88-18.15l1.1-2.66c-1.27 2.64-2.56 5.27-3.83 7.9-1.53 3.15-3.06 6.31-4.58 9.47-.87 1.81-1.76 3.62-2.54 5.47.04.02.07.04.11.07.05.05.1.09.15.14.05-.73.27-1.48.71-2.24ZM289.92 103.23s-.04.01-.05.03c0-.02.04-.03.05-.04.05-.05.11-.1.16-.15l.21-.21c-.55 0-1.5-.27-2.55-.72.4.26.8.51 1.22.74.24.13.48.26.73.37.05.02.1.03.14.05a.27.27 0 0 1 .08-.07h.01ZM269.23 68.49c-.39-.19-.82-.48-1.33-.87-3.06-1.56-6.31-2.78-9.36-2.35-3.5.49-5.7 1.11-7.74 2.44 5.71-2.6 12.82-2.07 18.44.79l-.01-.01ZM177.87 53.69l1.06.03c-.96-.22-2-.25-2.89-.3-4.95-.26-9.99.33-14.86 1.19-2.44.43-4.88.95-7.28 1.59 9.09-1.76 15.69-2.77 23.97-2.51ZM219.85 55.51c-.18.12-.36.27-.56.45-.45.53-.86 1.11-1.26 1.66-1.91 2.61-3.71 5.31-5.57 7.95l-.12.18 8.05-10.11c-.18-.05-.36-.1-.55-.13h.01ZM510.71 54.1c.12-.15.29-.3.53-.45.69-.4 3.72-.63 5.87-.74-.36-.02-.73-.04-1.09-.05-1.84-.03-3.67.09-5.49.35.05.3.12.59.18.88v.01ZM510.76 86.02c1.37-3.07 2.49-6.27 3.57-9.46.55-1.64 1.12-3.3 1.6-4.97-1.59 4.01-3.67 9.14-6.2 15.3.24-.08.5-.14.74-.22.1-.22.19-.44.29-.65ZM566.95 75.76c.11-.02.23.03.31.11-.05-.13-.09-.26-.14-.39-.05.09-.11.18-.17.28ZM511.33 86.41c3.08-.89 6.24-1.62 9.46-2.14-1.51-3.98-2.98-7.96-4.39-11.87-.05.15-.09.31-.14.46-1.02 3.32-2.15 6.61-3.39 9.85-.48 1.25-.98 2.49-1.53 3.7h-.01ZM578.24 74.45c.11-.44.23-.87.35-1.31-.31.7-.64 1.39-.97 2.08.09.21.19.4.28.61.12-.46.23-.92.35-1.38h-.01ZM520.62 53.11c-.09 0-.18-.01-.28-.02.38.34.29 1.08.93 2.53l6.65 17.15c2.2 5.68 4.69 11.36 7.41 16.87l1.06 2.17c-2.95-7.05-5.92-14.08-8.87-21.13-1.58-3.79-3.16-7.59-4.7-11.4-.78-1.92-1.73-3.89-2.25-5.91-.03-.1 0-.19.04-.26h.01ZM578.78 77.87c1.45-5.77 3.07-10.43 3.58-13.36.05-.34.16-.88.31-1.55-.67 1.79-1.37 3.56-2.08 5.33-.12.43-.23.86-.35 1.29-.65 2.43-1.29 4.86-1.9 7.3.14.33.29.65.43 1l.01-.01ZM545.3 94.66c.02-.44.03-.83.05-1.12.02-1.01.05-2.02.11-3.02.03-6.66-.46-14.33-1.46-22.8-.13-.42-.27-1.24-.56-2.89 0-.02 0-.04-.01-.06.62 6.61.95 13.25 1.32 19.87.17 3.08.33 6.16.52 9.23.02.25.03.52.04.78l-.01.01ZM580.77 102.81c.13.2.27.38.37.49.27-.11.53-.22.8-.32-.43.09-.82.05-1.17-.16v-.01ZM530.48 104.07h.33c-.36-.13-.71-.32-1.04-.56.14.24.3.47.45.7.06-.08.14-.13.26-.13v-.01ZM542.63 58.82c.06.23.11.47.15.71.14-.33.36-.62.7-.86-.28.05-.57.11-.85.15ZM583.81 57.87c.15-.7.29-1.41.42-2.11-.14.45-.28.9-.42 1.34-.46 1.44-.89 2.89-1.31 4.34.44-1.19.88-2.37 1.31-3.57ZM523.62 91.48c-4.66 1.17-9.05 2.89-14.02 5.27 4.65-1.84 9.48-3.29 14.28-4.63-.09-.22-.17-.41-.26-.64ZM460.64 78.3c-.04-2.9-.11-5.81-.28-8.71-.1-1.68-.17-3.43-.5-5.09-.07.02-.14.03-.2.05.3 6.54.45 12.17.51 17.12.17-.07.34-.14.51-.2 0-1.06-.01-2.11-.03-3.17h-.01ZM470.63 63.24c-3.38-.26-6.81.32-10.1 1.1.41 2.01.47 4.14.57 6.18.18 3.55.25 7.11.27 10.67 3.31-1.38 6.5-3.12 9.3-5.35 1.96-1.56 3.86-3.41 5.02-5.66.73-1.41 1.19-3.22.26-4.65-1.09-1.7-3.46-2.14-5.32-2.29ZM460.29 63.68c1-.24 2.01-.46 3.04-.65-1.15.16-2.37.38-3.71.69v.13c.07-.02.15-.04.22-.05.11-.13.3-.18.45-.11v-.01ZM457.24 100.96c.43-.03.86-.07 1.29-.11.14-.49.27-.99.38-1.49-.44.7-1 1.23-1.67 1.6ZM482.88 104.98c-.18.23-.36.38-.55.47.14.09.27.19.4.28a70.76 70.76 0 0 0 4.37-4.63c.76-.89 1.52-1.81 2.19-2.77-.3-.27-.61-.53-.92-.79-.07 1.94-4.62 6.32-5.49 7.45v-.01Z",transform:"translate(-144.023 -51.76)"}),(0,e.jsx)("path",{d:"M474.36 63.31c-.4-.16-.84-.27-1.29-.37 1.56.42 3.08 1.22 3.76 2.74.62 1.4.32 2.95-.28 4.32.7-1.22.94-2.34.74-3.47-.24-1.33-1.19-2.54-2.93-3.21v-.01ZM477.34 89.18c-1.2-.81-2.4-1.62-3.6-2.42-.14.1-.26.19-.4.29 1.4.67 2.73 1.39 4 2.13ZM465.88 93.85c.37.25.74.5 1.1.75.46.32.92.65 1.38.97-1.57-1.2-2.01-1.61-2.49-1.72h.01ZM574.92 90.06c-2.28-5.21-4.93-11.13-5.67-12.26-.1-.15-1.57-3.01-1.63-3.08 0 0-.01.02-.02.02.4 1.37 1.09 2.69 1.65 3.99 2.14 4.95 4.36 9.86 6.67 14.73.6 1.26 1.21 2.52 1.83 3.78-.75-2.01-1.64-4.45-2.83-7.18ZM448.73 65.29c.1.2.22.38.34.57.22-.02.43-.06.65-.08v-.08c-.14-.05-.25 0-.99-.41ZM460.16 94.81c-.02.31-.06.59-.1.89-.03 1.71-.33 3.43-.79 5.07.15-.02.3-.03.45-.05.01-.04.02-.08.03-.11.09-.34.15-.69.2-1.03.17-1.07.25-2.16.33-3.24.05-.69.08-1.39.12-2.08-.27.1-.27.26-.24.57v-.02Z",transform:"translate(-144.023 -51.76)"}),(0,e.jsx)("path",{d:"m328.67 98.12-3.22-6.58c-1.29-2.63-2.53-5.29-3.72-7.97-.25-.85-.52-1.69-.79-2.53-.81-2.57-1.67-5.12-2.55-7.67-1.92-5.53-3.9-11.08-6.32-16.41-.72-1.58-1.46-3.44-2.63-4.79-.03-.17-.16-.29-.34-.36a.282.282 0 0 0-.23-.04c-.06-.01-.12 0-.18.01-.74.06-1.5.38-2.19.61-2.22.77-4.4 1.64-6.63 2.38-.03-.08-.06-.16-.09-.25-.15-.42-.82-.24-.67.19.03.09.07.19.1.28l-.18.06c-.36.11-.28.6 0 .68.18 1.18.63 2.36.98 3.49.03.09.06.17.08.26-.08.23-.17.46-.24.64-.37.98-.79 1.94-1.21 2.9-1.27 2.89-2.62 5.75-3.98 8.6-3.18 6.67-6.44 13.31-9.64 19.97-1.08 2.25-2.2 4.5-3.15 6.81-.13.32.24.5.5.37 1.34 1.33 2.84 2.5 4.4 3.57.65.44 1.31.87 2.01 1.24.4.22.86.48 1.33.5.24.01.35-.19.33-.37.11-.1.21-.21.28-.28.41-.41.81-.84 1.2-1.26.85-.92 1.69-1.87 2.5-2.84 6.31-2.34 12.6-4.31 18.71-5.84 2.14 5.3 3.43 8.43 3.97 9.58.55 1.05 1.15 1.88 1.82 2.52 1.32.56 6.96-.03 9.23-1.96.87-1.28 1.19-2.67.93-4.15-.09-.5-.22-.95-.4-1.33l-.01-.03Zm-20.09-45.61c.43.77.83 1.56 1.21 2.35-.54-.45-1.27-.99-2.07-1.49-.42-.24-.6-.35-.94-.34.43-.15.85-.29 1.29-.41.17-.05.34-.08.51-.11Zm-25.86 45.66c.78-1.85 1.67-3.66 2.54-5.47 1.51-3.16 3.05-6.31 4.58-9.47 1.28-2.63 2.56-5.26 3.83-7.9l-1.1 2.66c-1.99 4.79-4.97 10.9-8.88 18.15-.43.76-.66 1.51-.71 2.24-.05-.05-.1-.09-.15-.14a.259.259 0 0 0-.11-.07Zm6.24 4.71c-.42-.23-.82-.48-1.22-.74 1.05.45 2 .72 2.55.72l-.21.21c-.05.05-.11.1-.16.15-.01.01-.04.03-.05.04 0-.02.03-.02.05-.03a.27.27 0 0 0-.08.07c-.05-.02-.1-.03-.14-.05-.25-.1-.49-.24-.73-.37h-.01Zm15.73-29.43c1.05 3.15 2.1 6.31 3.1 9.48.34 1.06.69 2.13 1.01 3.21-3.5.63-6.95 1.46-10.27 2.5 2.48-6.03 4.54-11.11 6.16-15.19Zm4.79 12.57c-.23-.79-.49-1.58-.73-2.36-.79-2.54-1.63-5.08-2.46-7.61l-1.2-3.6c.02-.04.04-.09.05-.13 1.6 4.45 3.28 9 5.01 13.57l-.67.12v.01Zm5.83-18.27-.15-.54c-.49-1.64-1.03-3.28-1.6-4.9.23.58.47 1.17.7 1.75 1.56 4.03 3.01 8.1 4.39 12.2-.33-.82-.67-1.64-.98-2.46l-2.35-6.05h-.01ZM390.43 79.37c-.13-10.43-.22-17.5-.24-19.97-.24-1.6.21-2.88-.65-3.65-.14-.13-.32-.23-.52-.32h.03c.45 0 .45-.69 0-.7-1.75-.03-3.5-.04-5.25-.14-1.38-.08-2.76-.21-4.15-.31-.07 0-.12.01-.17.04-.21-.07-.47.03-.45.31l.03.45c-.11.14-.19.3-.22.5-.21 1.26-.32 13.67-.36 23.59-.32 5.79-.67 11.57-.97 17.36-.09 1.73-.29 3.54-.21 5.3-.39.02-.38.64.04.69v.12c.05.44.74.45.7 0v-.06c1.1.09 2.2.21 3.3.3 1.14.19 2.44.2 3.29.17 1.73-.05 2.92-.05 3.8-.37.45-.05.9-.11 1.35-.17.44-.06.25-.73-.19-.67h-.01c.24-.32.45-.72.62-1.25.66-1.84.41-6.36.34-11.33l-.13-9.9.02.01Zm-12.26 18.17c.09-1.91.2-3.81.31-5.71.06 5.38 0 6.14-.01 6.51-.05 1.65-.21 2.81.72 3.66-.39-.04-.78-.07-1.17-.1-.06-1.44.09-2.93.16-4.35l-.01-.01ZM588.97 53.85c-2.06-.25-3.17-.51-3.76-.6a.3.3 0 0 1 .04-.08c.22-.39-.39-.75-.6-.35-.56 1.02-.9 2.19-1.26 3.29-.61 1.88-1.17 3.78-1.72 5.68-.63 2.19-1.24 4.39-1.83 6.59-.81 2.03-1.67 4.05-2.61 6.03-1.7-3.64-3.11-6.04-4.03-7.57-2.26-3.74-2.85-5.48-3.57-6.08l.31-.09c.43-.12.25-.8-.19-.67-1.06.3-2.12.6-3.17.95-.93.32-1.85.69-2.76 1.07-.13.05-.19.16-.22.27-.04.02-.08.05-.11.07-.04-.06-.07-.12-.11-.18a.354.354 0 0 0-.48-.12c-.16.09-.22.32-.13.48l.33.54c0 .09.02.18.06.28.51 1.16.78 1.38.72 1.47-2.42 3.44-5.41 7.86-6.2 9.1-1.27 1.97-2.01 3.14-2.45 3.84l-.91-6.56-.43-4.1c-.19-1.85-.37-3.23-.53-4.13-.19-1.1-.3-2.15-.45-3.16-.2-1.36-.29-2.06-.47-2.42h.04c.45.02.45-.68 0-.7-3.43-.16-6.81.94-10.17 1.48-.24-.22-.73-.04-.58.32.24.59.33 1.25.43 1.87.17 1.06.29 2.13.4 3.2.32 3.09.53 6.2.74 9.3.44 6.75.77 13.51 1.17 20.26.11 1.95.13 3.96.46 5.89.05.3.37.31.55.14.74 1.71 2.87 1.27 6.13 1.27 1.34 0 2.39.04 2.99-.11.02.32.48.53.63.18 3.61-8.26 7.41-16.46 12.05-24.2.03-.05.04-.1.05-.15.3.73.64 1.45.94 2.16.97 2.26 1.97 4.52 2.98 6.76 2.26 5.03 4.54 10.07 7.09 14.96.47.9.94 1.79 1.47 2.65.2.32.4.67.66.96-.18.25 0 .68.34.54.91-.38 1.82-.75 2.76-1.07 1.04-.35 2.11-.65 3.17-.95.39-.11.28-.66-.07-.68.62-.4.95-.96.87-1.91-.3-3.34.72-7.47.86-8.52l2.14-11.43c1.75-10.74 3.13-17.51 3.23-20.86.02-.49.08-2.84.13-3.24.17-1.25.48-1-4.96-1.65l.03-.02Zm-46.19 5.67c-.04-.24-.09-.48-.15-.71l.85-.15c-.34.24-.56.53-.7.86Zm1.95 25.12c-.36-6.63-.7-13.26-1.32-19.87 0 .02 0 .04.01.06.29 1.65.44 2.47.56 2.89 1 8.46 1.5 16.14 1.46 22.8-.06.99-.1 2-.11 3.02-.01.29-.03.68-.05 1.12-.01-.26-.03-.53-.04-.78-.19-3.08-.35-6.16-.52-9.23l.01-.01Zm36.4 18.66c-.11-.11-.24-.29-.37-.49.35.21.74.26 1.17.16-.27.11-.53.22-.8.32v.01Zm-.89-33.72c.12-.43.23-.86.35-1.29.71-1.77 1.41-3.55 2.08-5.33-.15.68-.26 1.22-.31 1.55-.5 2.94-2.13 7.59-3.58 13.36-.15-.35-.29-.66-.43-1 .61-2.44 1.25-4.87 1.9-7.3l-.01.01Zm3.56-12.48c.14-.44.28-.89.42-1.34-.13.7-.27 1.41-.42 2.11-.43 1.19-.86 2.38-1.31 3.57.42-1.45.85-2.9 1.31-4.34Zm-5.22 16.05c-.11.44-.23.87-.35 1.31-.12.46-.23.92-.35 1.38-.1-.22-.19-.4-.28-.61.34-.69.66-1.38.97-2.08h.01Zm-11.64 2.62c.06-.1.12-.19.17-.28.05.13.09.26.14.39a.398.398 0 0 0-.31-.11Zm2.3 2.98c-.56-1.3-1.25-2.63-1.65-3.99 0 0 .01-.02.02-.02.06.08 1.52 2.93 1.63 3.08.73 1.13 3.38 7.04 5.67 12.26 1.2 2.73 2.08 5.17 2.83 7.18-.62-1.25-1.23-2.51-1.83-3.78-2.31-4.87-4.53-9.78-6.67-14.73ZM275.92 87.03c-1.06-2.18-1.13-3.45-2.44-2.93-1.52.57-2.94 1.3-4.5 2.1-1.4.72-2.68 1.44-3.92 2.12.01-.25-.24-.5-.51-.34-4.8 2.93-12.41 4.7-17.28 1.31-1.98-1.77-3.32-4.15-3.97-5.78-.29-.95-.49-1.94-.63-2.93-.14-3.34 1.58-6.53 3.9-9.12.8-.79 1.68-1.51 2.66-2.12 3.7-2.3 8.22-3.07 12.51-2.51 2.71.35 5.32 1.24 7.71 2.55.39.22.75-.39.35-.6-.18-.1-.37-.18-.55-.27.56.27 1.03.33 1.51.19l-.48.39c-.15.11-.23.3-.13.48.09.15.33.24.48.13 1.3-.97 2.46-2.09 3.45-3.37.37-.29.64-.6.65-.97v-.02c.08-.33-.03-.7-.21-1.08-.31-.87-.98-2.01-2.19-3.26-2.43-2.52-3.79-3.45-5.68-4.26-1.14-.49-3.12-1.06-4.42-1.23-3.28-.42-10.64-1.21-18.18 4.11-7.74 5.46-11.94 12.3-12.23 20.61-.08 2.06.04 3.98.34 5.71.74 4.18 2.57 8 5.44 11.34 4.26 4.99 9.76 7.52 16.34 7.52 4.85 0 9.69-1.77 14.89-4.62.23-.12.45-.23.68-.35 2.19-1.1 4.37-2.23 6.46-3.5.49-.3 1.03-.61 1.5-.98 1.47-.87 1.11-1.12.49-2.95-.39-1.14-.76-2.7-2.06-5.36l.02-.01Zm-17.38-21.76c3.05-.42 6.31.79 9.36 2.35.51.39.94.68 1.33.87-5.61-2.86-12.72-3.39-18.44-.79 2.05-1.33 4.24-1.95 7.74-2.44l.01.01ZM443.67 72.67c-.4-2.2-1.15-4.33-2.37-6.22-1.49-2.32-3.58-4.19-5.91-5.64-6.17-3.81-13.75-5.11-20.83-6.01-3.23-.41-6.47-.69-9.72-.92l-1.39-.12c-.85-.07-1.52-.1-2.05-.1-1.08-.06-2.17-.12-3.25-.17-.08 0-.14.02-.19.05-.1.05-.18.14-.16.3.27 2.55-.01 5.12-.92 7.52-.15.38.4.56.62.28 1.32.59 2.68 1.05 4.08 1.37 0 2.78-.14 7.58-.33 12.91 0 0 0 .02-.01.03-.61 3.66-.79 7.42-1 11.12-.23 4.01-.43 8.03-.44 12.05 0 .64 0 1.28.03 1.93.02.31 0 .68.15.96.06.11.14.16.24.17-.2.17-.21.54.11.59 3.83.67 7.78.71 11.68.25 2.3-.19 4.87-.65 7.65-1.56 1.85-.54 3.67-1.18 5.43-1.91 7.2-3.02 14.31-8.07 17.35-15.53.76-1.86 1.17-3.8 1.31-5.75.3-1.93.28-3.82-.09-5.58l.01-.02Zm-19.32-15.42c5.74 1.41 11.94 3.68 15.65 8.55.25.32.47.65.69.99-2.3-2.82-5.68-5.69-12.88-8.23-2.16-.76-4.35-1.43-6.64-2.02 1.06.21 2.13.45 3.18.71Zm-25.82-3.04c.13 0 .27.01.4.02-.14.1-.26.23-.37.38 0-.13-.02-.26-.03-.4Zm34.82 22.17c-.75 3.09-3.55 5.66-5.88 7.58-3.35 2.76-7.21 5.03-11.28 6.54-1.33.49-2.71.9-4.12 1.15.06-1.38.08-2.76.07-4.13-.02-3.78-.16-7.56-.41-11.33-.09-1.37-.18-2.74-.37-4.1 0-.06-.03-.11-.06-.15.09-3.25.12-6.16.03-8.12 6.86 1.05 10.56 2.17 14.06 3.62 5.52 2.28 8.59 5.44 7.97 8.96l-.01-.02Zm-22 16.15c-.12 0-.23-.02-.34-.03l.34-.03v.06Zm-.69-.7c0-3.13.26-8.84.47-14.51.06 1.2.11 2.41.15 3.6.15 3.6.25 7.23.09 10.83-.24.03-.48.05-.71.07v.01Zm-12.33-30.94c.37.63 2.01 1.01 3.23 1.25v.15c-1.31-.31-2.59-.73-3.83-1.29.12-.36.23-.72.33-1.09.08.48.18.84.27.98Zm13.7 31.65v-.18c3.41-.56 6.71-2.02 9.69-3.68 2.31-1.28 4.59-2.78 6.63-4.53-4.69 4.53-11.61 8.24-16.33 8.38l.01.01Zm24.07-.75c-2.05 1.93-4.37 3.56-6.83 4.95 2.7-1.78 5.52-4.03 8.42-6.87.82-.82 1.56-1.69 2.23-2.59-1.08 1.65-2.38 3.16-3.81 4.51h-.01ZM187.16 92.14c-.79-2.47-2.1-7.12-3.1-6.87-.19-.01-2.09.77-4.08 1.54-3.06 1.18-5.91 2.13-10.09 2.82-2.74.42-5.87 1.01-10.61 1.06.04-3.34.05-6.01.05-7.99 7.97-.65 12.33-2.11 16.37-3.55 1.11-.39 2.69-1.01 2.63-1.8-.08-.35-.55-1.39-1.17-2.61-.47-1.16-.98-2.31-1.61-3.38-.42-.71-1.04-1.69-1.86-2.06-.11-.08-.22-.13-.29-.12-.02 0-.04 0-.07.01-.19-.04-.39-.05-.6-.01-.17.03-.24.15-.25.28-.04.02-.09.04-.14.05-4.33 1.48-8.85 2.33-13.24 3.61a499.1 499.1 0 0 0-.31-8.19c4.51-.99 8.88-1.38 13.11-1.82 3.68-.38 6.28.12 7.47.34.59.11.9.16 1.16.18h.1c-.1.37.44.66.62.28.02-.04.03-.08.05-.13.15.2.53.22.62-.1.17-.58.19-1.21.21-1.81v-.36c.03-.15.05-.3.07-.45.52-2.47.33-5.09-.64-7.44-.11-.27-.44-.28-.6-.14-.08-.21-.15-.42-.24-.62-.19-.41-.79-.05-.6.35.03.07.05.15.09.22-.98-.42-2.15-.54-3.17-.63-2.17-.19-4.37-.14-6.54 0-5.7.35-11.4 1.3-16.91 2.79-2.08.56-4.13 1.22-6.14 2-4.54 1.05-3.79 1.51-2.17 6.07.18.51.46 1.68.54 1.94.82 2.47 1.08 2.13 3.1 2.13s0 .05 0 .08h.52c-.48 2.66-.51 5.45-.62 8.13-.15 3.48-.22 6.96-.28 10.45 0 .41-.01.82-.02 1.23-.16.29-.33.57-.51.85-.05.38-.09.77-.14 1.18-.42 3.52-.59 6.48-.52 8.8v.34c.02.47.05.76.06.87.16 1.57-.26 3.47 1.35 3.79 1.61.32 3.5.55 4.85.55.11 0 .22-.02.33-.02 1.79.24 3.67.05 5.45-.12 2.85-.28 5.69-.7 8.51-1.19 3.03-.53 6.05-1.14 9.04-1.86 2.4-.58 4.82-1.19 7.13-2.06.51-.19 1.73-.57 2.46-1.14 1.81-.68 2.18-1 1.57-2.67-.23-.62-.48-1.49-.91-2.78l-.03-.02Zm-11.12-38.71c.89.05 1.93.08 2.89.3-.33 0-.68-.02-1.06-.03-8.28-.26-14.88.75-23.97 2.51 2.41-.64 4.85-1.16 7.28-1.59 4.87-.86 9.91-1.45 14.86-1.19Zm-26.53 22.13c.03 1.71.04 3.43 0 5.14-.04 1.27-.11 2.55-.24 3.82 0-.73.02-1.46.04-2.19.05-2.26.12-4.51.22-6.77h-.02Zm6.73 27.85c.2-.1.4-.21.58-.33 1.82-.17 3.82-.24 5.94-.34-.86.11-1.72.24-2.58.33-1.27.14-2.61.31-3.93.34h-.01ZM534.48 85.44c-3.52-8.38-7.07-16.75-10.5-25.17-.63-1.54-1.25-3.09-1.86-4.65-.31-.8-.65-1.6-.87-2.43-.04-.17-.17-.24-.31-.25.1-.2 0-.51-.29-.53-1.59-.08-3.18-.22-4.78-.25-1.96-.03-3.91.13-5.84.42-.31.05-.31.38-.13.56-.03.06-.05.14-.04.22.23 1.54.63 3.06 1.16 4.53.13.35.27.7.41 1.06l-2.68 6.18c-.11.03-.2.09-.25.22-.67 1.9-1.52 3.73-2.34 5.56a536.85 536.85 0 0 1-3.9 8.45c-2.64 5.64-5.34 11.25-7.91 16.93-.44.97-.88 1.94-1.29 2.93-.2.48-.47 1-.55 1.52v.05c-.02.12.02.26.16.34 1.19.73 2.41 1.41 3.66 2.05 1.2.62 2.45 1.25 3.76 1.61.43.12.62-.55.19-.67-1.13-.31-2.2-.83-3.24-1.36 1.09.36 2.1.69 2.75.93 2.82 1.01 2.38 1.1 4.3-3.75 2.1-1.09 4.34-1.96 6.53-2.79 4.35-1.64 8.8-3.03 13.27-4.29.82 2.01 1.77 3.97 2.72 5.92.35.83.62 1.45.79 1.82.22.42.45.8.69 1.15.17.33.33.67.5 1 .42.8.84 1.63 1.4 2.35.23.29.6 0 .55-.31 1.53-.02 3.06-.07 4.58-.27.92-.12 1.82-.32 2.71-.54 1.39-.27 3.85-1.11 3.74-1.42-.67-1.96-1.55-3.87-2.34-5.78-1.57-3.78-3.16-7.56-4.75-11.33v-.01Zm-11.65-26.16c1.54 3.81 3.12 7.6 4.7 11.4 2.94 7.05 5.91 14.09 8.87 21.13l-1.06-2.17c-2.71-5.51-5.2-11.19-7.41-16.87l-6.65-17.15c-.65-1.45-.55-2.19-.93-2.53.09 0 .18.01.28.02a.29.29 0 0 0-.04.26c.52 2.02 1.47 3.98 2.25 5.91h-.01Zm-6.58 13.58c.05-.15.09-.31.14-.46 1.41 3.92 2.88 7.9 4.39 11.87-3.22.52-6.38 1.25-9.46 2.14.55-1.22 1.05-2.46 1.53-3.7 1.24-3.24 2.37-6.53 3.39-9.85h.01Zm-.23-20c.36 0 .73.03 1.09.05-2.15.1-5.18.33-5.87.74-.24.15-.41.3-.53.45-.06-.29-.13-.58-.18-.88 1.82-.26 3.65-.39 5.49-.35v-.01Zm-.09 18.72c-.49 1.67-1.05 3.33-1.6 4.97-1.07 3.19-2.19 6.38-3.57 9.46-.09.21-.19.43-.29.65-.25.07-.5.14-.74.22 2.53-6.16 4.61-11.29 6.2-15.3Zm-6.34 25.16c4.97-2.38 9.37-4.1 14.02-5.27l.26.64c-4.8 1.35-9.63 2.8-14.28 4.63Zm20.17 6.76c.33.23.68.42 1.04.56h-.33c-.12 0-.21.06-.26.13-.15-.23-.31-.45-.45-.7v.01ZM226.57 91.75c-3.55-4.74-6.68-9.11-9.31-12.99 9.2-15.25 10.05-17.81 10.35-18.38.17-.34 1.09-2.27.64-2.53-1.13-.65-1.03-.65-2.97-1.71-1.19-.65-3.04-1.61-4.53-2.12-1.71-.59-1.24-.36-3 2.77-.06.1-.11.2-.17.3-.75 1.02-1.48 2.05-2.2 3.09-1.88 2.71-3.73 5.45-5.69 8.1-3.68-4.91-6.88-8.76-9.51-11.43-.15-.15-.3-.29-.46-.42-1.27-1.28-7.24 3.53-7.93 5.58-.09.09-.19.16-.28.25-.27.26.03.64.33.58.19.65.5 1.29.94 1.91 3.85 5.06 7.19 9.76 9.94 14-1.23 2.61-3.06 5-4.67 7.38l-2.28 3.33c-.5.66-.93 1.23-1.29 1.69-.67.93-2.09 2.61-2.3 3.87-.51.85-1.16 1.84-1.29 2.83-.06.44.61.63.67.19.01-.08.04-.15.06-.22 1.36 1.08 2.76 2.11 4.19 3.11 1.3.91 2.62 1.85 4.04 2.56.21.1.4 0 .48-.17.24.07.48.14.72.2.44.1.62-.57.19-.67-2.02-.48-3.77-1.57-5.23-3.02-.47-.46-.9-.96-1.32-1.46 1.74 1.35 4.2 2.89 5.89 4.14 1.39 1.03 2.85-2.27 4.22-4.2 1.86-2.64 3.96-5.86 5.52-8.29l10.39 14.51c.67.81 1.14 1.21 1.57 1.36-.05.24.12.51.41.4 1.53-.58 3.05-1.19 4.54-1.87 1.52-.69 3.06-1.45 4.36-2.5a.28.28 0 0 0 .12-.23c1.66-1.1.81-1.74-1.41-4.91-1.13-1.58-1.71-2.36-3.7-5.01l-.03-.02Zm2.41 6.54c.56 1.15 1.19 2.52 1.11 3.81-.06.04-.12.07-.17.1-.03-.88-.55-2.66-.94-3.91Zm-16.51-32.73c1.86-2.65 3.65-5.35 5.57-7.95.4-.55.81-1.13 1.26-1.66.19-.18.38-.33.56-.45.18.03.36.08.55.13l-8.05 10.11.12-.18h-.01ZM192.7 95.48c.79-1.37 1.66-2.69 2.54-4 1.19-1.79 2.4-3.56 3.61-5.33-.04.09-.09.17-.13.26-.1.22.03.41.2.49-2.47 3.42-4.89 6.73-6.4 9.28.21.24.4.48.63.75-.24.07-.4.36-.17.56.4.33.72.77 1.05 1.17.09.11.18.21.27.32-.84-.61-1.66-1.24-2.47-1.88.24-.57.58-1.11.87-1.61v-.01Zm7.46-10.32c.47-.81.98-1.59 1.49-2.37.31-.48.64-.95.96-1.43.26-.29.52-.56.75-.79-.99 1.48-2.09 3.03-3.2 4.59Zm10.03-16.22s-.03-.05-.05-.07c.22-.29.43-.59.64-.89-.2.32-.4.65-.58.96h-.01ZM371.54 87.96c-.01-.08-.01-.16-.03-.23-.06-.38-.58-.29-.66.03-.3-.05-.6-.08-.81-.11-1.14-.15-2.29-.19-3.44-.2 1.04-.09 2.09-.18 3.14-.23.45-.02.45-.72 0-.7-6.57.35-13.14 1.23-19.65 2.11-1.53.21-3.05.42-4.57.68-.01 0-.02.01-.04.01-.04-3.33-.13-6.66-.24-9.99-.19-5.7-.4-11.41-.88-17.1-.13-1.51-.23-3.07-.49-4.58 0-.25 0-.48-.02-.68-.06-1.19-.04-2.61-.68-2.78-.16-.07-.72-.16-1.5-.24.22-.17.16-.62-.2-.63-1.19-.04-2.39.09-3.57.23-1.2.14-2.41.32-3.59.6-.16-.1-.41-.06-.5.12-.06.02-.13.03-.19.05-.35.1-.29.55-.03.66-.26.6-.19 2.27-.21 3-.02.66-.66 33.73-.9 40.3-.03.65.06 1.12.04 1.45-.16 3.05.87 4.96 6.34 3.93 1.09-.08 2.75-.77 5.36-1.43 4.13-1.04 5.78-1.52 6.2-1.65 6.43-1.69 6.78-1.97 11.72-2.43.55-.05 4.8-.38 6.03-.3.64.04 1.19.07 1.65.1.09 0 .16-.03.24-.05.1.27.56.33.66-.02.39-1.32.61-2.71.78-4.08.2-1.61.29-3.24.15-4.86.24.03.52-.23.38-.53-.09-.2-.27-.33-.49-.43v-.02Zm-.63.56c.07.57.11 1.14.11 1.71-.21-.99-.53-1.71-.95-1.87.22.03.44.06.65.11.06.01.12.04.19.05Zm-25.41 1.73c1.54-.36 3.1-.64 4.66-.89-1.61.37-3.18.77-4.66 1.2v-.31Zm-.86-7.37c-.07-1.37-.16-2.75-.25-4.12-.21-3.13-.45-6.27-.79-9.4.02-2.25.08-4.31.13-6.11.16 2.08.29 4.16.4 6.24.23 4.46.38 8.93.5 13.39h.01Zm-.94-4c.16 2.41.29 4.83.39 7.24.06 1.6.14 3.22.09 4.83-.15.05-.32.09-.47.14V78.88h-.01ZM483.72 92.83c-3.05-2.28-6.22-4.4-9.38-6.51 8.86-6.49 13.49-12.95 13.73-19.23.04-.76 0-1.5-.13-2.2-.67-3.82-3.5-6.68-8.39-8.48.13.04.27.08.4.13 3.92 1.39 7.74 4.23 8.5 8.56.34 1.95-.05 3.96-.98 5.69-.21.4.39.75.6.35 1.86-3.46 1.46-7.55-.97-10.63-3.53-4.47-9.76-5.88-15.16-6.16-2.32-.12-4.64-.04-6.95.19-6 .32-12.71 1.68-17.63 3.21-.37.11-.67.23-.92.35-.2-.17-.62.02-.57.37v.03c-.64.68-.18 1.64.48 3.21.38.91.67 1.89 1.15 2.58.32.76.68 1.51 1.13 2.19.14.21.38.19.53.07.19-.02.38-.05.57-.08v1.57c-.06.06-.1.13-.11.23-.27 4.18-.34 8.38-.48 12.57l-.3 9.03c-.24 3.91-.44 6.77-.46 7.26-.05.88-.11 1.95.07 2.81-.01.22-.02.43-.04.65 0 .11-.02.23-.03.35 0 .05-.03.27-.01.16-.05.4.5.59.64.28.05.04.12.08.2.08 1.75.13 3.5.28 5.25.3 1.69.02 3.38-.12 5.06-.32.08.23.36.39.55.15.06-.08.11-.17.16-.26.18-.09.24-.32.18-.48.05-.2.1-.4.13-.6.16-.86.25-1.74.33-2.62.11-1.17.17-2.34.23-3.51.15-.01.32-.03.52-.04.36-.03 1.73-.15 2.06-.15.39 0 .7-.02.95-.04 1.76 1.11 3.45 2.35 5.14 3.55 2.83 2.01 5.64 4.04 8.47 6.04 1.42 1 2.85 2 4.29 2.97.1.06.19.07.27.04.08 0 .17-.02.25-.1 1.61-1.56 3.15-3.18 4.6-4.88.75-.88 1.49-1.78 2.15-2.73.01.01.03.02.04.03.34.3.83-.2.49-.49-2.16-1.9-4.34-3.76-6.64-5.48l.03-.01Zm-6.38-3.65a55.72 55.72 0 0 0-4-2.13c.14-.1.26-.19.4-.29 1.2.81 2.4 1.61 3.6 2.42Zm-20.1 11.78c.67-.37 1.23-.91 1.67-1.6-.11.5-.24 1-.38 1.49-.43.04-.86.08-1.29.11Zm2.38-37.24c1.34-.31 2.56-.52 3.71-.69-1.03.19-2.04.41-3.04.65-.14-.07-.34-.02-.45.11-.07.02-.15.04-.22.05v-.13.01Zm.04.84c.07-.02.14-.03.2-.05.34 1.66.41 3.41.5 5.09.17 2.9.24 5.81.28 8.71l.03 3.17c-.17.07-.34.14-.51.2-.06-4.96-.21-10.58-.51-17.12h.01Zm16.04 5.62c-1.16 2.25-3.06 4.1-5.02 5.66-2.8 2.23-5.99 3.97-9.3 5.35-.01-3.56-.09-7.12-.27-10.67-.1-2.04-.16-4.16-.57-6.18 3.3-.78 6.72-1.36 10.1-1.1 1.85.14 4.23.59 5.32 2.29.92 1.43.46 3.24-.26 4.65Zm.85-.18c.6-1.37.9-2.92.28-4.32-.67-1.52-2.2-2.32-3.76-2.74.46.1.89.21 1.29.37 1.74.67 2.69 1.88 2.93 3.21.2 1.13-.05 2.25-.74 3.47V70Zm-27.47-4.14c-.12-.19-.23-.38-.34-.57.74.42.85.36.99.41v.08c-.22.03-.43.06-.65.08Zm11.21 30.46c-.08 1.08-.16 2.17-.33 3.24-.05.35-.11.69-.2 1.03 0 .04-.02.07-.03.11-.15.02-.3.04-.45.05.45-1.64.76-3.36.79-5.07.03-.29.08-.57.1-.89-.03-.31-.03-.47.24-.57-.04.69-.07 1.39-.12 2.08v.02Zm5.6-2.47c.48.11.92.52 2.49 1.72-.46-.32-.92-.65-1.38-.97-.37-.25-.73-.5-1.1-.75h-.01Zm21.23 7.24a70.76 70.76 0 0 1-4.37 4.63c-.14-.09-.27-.19-.4-.28.19-.09.37-.24.55-.47.87-1.14 5.43-5.51 5.49-7.45.31.26.62.53.92.79-.67.97-1.42 1.88-2.19 2.77v.01Z",fill:"currentColor",transform:"translate(-144.023 -51.76)"})]}),ky=({style:a,size:b="small",withText:c})=>(0,e.jsxs)("div",{className:`ExcalidrawLogo is-${b}`,style:a,children:[(0,e.jsx)(kw,{}),c&&(0,e.jsx)(kx,{})]}),kz=({icon:a,shortcut:b,children:c})=>{let d=kb();return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"welcome-screen-menu-item__icon",children:a}),(0,e.jsx)("div",{className:"welcome-screen-menu-item__text",children:c}),b&&!d.editor.isMobile&&(0,e.jsx)("div",{className:"welcome-screen-menu-item__shortcut",children:b})]})};kz.displayName="WelcomeScreenMenuItemContent";var kA=({onSelect:a,children:b,icon:c,shortcut:d,className:f="",...g})=>(0,e.jsx)("button",{...g,type:"button",className:`welcome-screen-menu-item ${f}`,onClick:a,children:(0,e.jsx)(kz,{icon:c,shortcut:d,children:b})});kA.displayName="WelcomeScreenMenuItem";var kB=({children:a,href:b,icon:c,shortcut:d,className:f="",...g})=>(0,e.jsx)("a",{...g,className:`welcome-screen-menu-item ${f}`,href:b,target:"_blank",rel:"noreferrer",children:(0,e.jsx)(kz,{icon:c,shortcut:d,children:a})});kB.displayName="WelcomeScreenMenuItemLink";var kC=({children:a})=>{let{WelcomeScreenCenterTunnel:b}=L.default.useContext(gr);return(0,e.jsx)(b.In,{children:(0,e.jsx)("div",{className:"welcome-screen-center",children:a||(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(kD,{}),(0,e.jsx)(kE,{children:c8("welcomeScreen.defaults.center_heading")}),(0,e.jsxs)(kF,{children:[(0,e.jsx)(kH,{}),(0,e.jsx)(kG,{})]})]})})})};kC.displayName="Center";var kD=({children:a})=>(0,e.jsx)("div",{className:"welcome-screen-center__logo excalifont welcome-screen-decor",children:a||(0,e.jsx)(ky,{withText:!0})});kD.displayName="Logo";var kE=({children:a})=>(0,e.jsx)("div",{className:"welcome-screen-center__heading welcome-screen-decor excalifont",children:a});kE.displayName="Heading";var kF=({children:a})=>(0,e.jsx)("div",{className:"welcome-screen-menu",children:a});kF.displayName="Menu";var kG=()=>{let a=kg();return(0,e.jsx)(kA,{onSelect:()=>a.executeAction(eV),shortcut:"?",icon:F.Bd,children:c8("helpDialog.title")})};kG.displayName="MenuItemHelp";var kH=()=>{let a=L.default.useContext(dN),b=kg();return a.viewModeEnabled?null:(0,e.jsx)(kA,{onSelect:()=>b.executeAction(eQ),shortcut:gm("loadScene"),icon:F.Ld,children:c8("buttons.load")})};kH.displayName="MenuItemLoadScene";var kI=({onSelect:a})=>{let{t:b}=da();return(0,e.jsx)(kA,{shortcut:null,onSelect:a,icon:F.fe,children:b("labels.liveCollaboration")})};kI.displayName="MenuItemLiveCollaborationTrigger",kC.Logo=kD,kC.Heading=kE,kC.Menu=kF,kC.MenuItem=kA,kC.MenuItemLink=kB,kC.MenuItemHelp=kG,kC.MenuItemLoadScene=kH,kC.MenuItemLiveCollaborationTrigger=kI;var kJ=({children:a})=>{let{WelcomeScreenMenuHintTunnel:b}=L.default.useContext(gr);return(0,e.jsx)(b.In,{children:(0,e.jsxs)("div",{className:"excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--menu",children:[F.ld,(0,e.jsx)("div",{className:"welcome-screen-decor-hint__label",children:a||c8("welcomeScreen.defaults.menuHint")})]})})};kJ.displayName="MenuHint";var kK=({children:a})=>{let{WelcomeScreenToolbarHintTunnel:b}=L.default.useContext(gr);return(0,e.jsx)(b.In,{children:(0,e.jsxs)("div",{className:"excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--toolbar",children:[(0,e.jsx)("div",{className:"welcome-screen-decor-hint__label",children:a||c8("welcomeScreen.defaults.toolbarHint")}),F.nd]})})};kK.displayName="ToolbarHint";var kL=({children:a})=>{let{WelcomeScreenHelpHintTunnel:b}=L.default.useContext(gr);return(0,e.jsx)(b.In,{children:(0,e.jsxs)("div",{className:"excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--help",children:[(0,e.jsx)("div",{children:a||c8("welcomeScreen.defaults.helpHint")}),F.md]})})};kL.displayName="HelpHint";var kM=a=>(0,e.jsx)(e.Fragment,{children:a.children||(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(kC,{}),(0,e.jsx)(kJ,{}),(0,e.jsx)(kK,{}),(0,e.jsx)(kL,{})]})});kM.displayName="WelcomeScreen",kM.Center=kC,kM.Hints={MenuHint:kJ,ToolbarHint:kK,HelpHint:kL},(0,bO.default)((a,b,c)=>{if(H.a.DEV||H.a.MODE===F.D.TEST||window?.DEBUG_FRACTIONAL_INDICES){let d=(0,F.Nj)(a.map(a=>({...a})));(0,F.Kj)(d,{shouldThrow:H.a.DEV||H.a.MODE===F.D.TEST,includeBoundTextValidation:!0,reconciliationContext:{localElements:b,remoteElements:c}})}},6e4,{leading:!0,trailing:!1}),Array.prototype.at||Object.defineProperty(Array.prototype,"at",{value:function(a){if((a=Math.trunc(a)||0)<0&&(a+=this.length),!(a<0||a>=this.length))return this[a]},writable:!0,enumerable:!1,configurable:!0}),Element.prototype.replaceChildren||(Element.prototype.replaceChildren=function(...a){this.innerHTML="",this.append(...a)}),L.default.memo(b=>{let{onChange:c,initialData:d,excalidrawAPI:f,isCollaborating:g=!1,onPointerUpdate:h,renderTopRightUI:i,langCode:j=c1.code,viewModeEnabled:k,zenModeEnabled:l,gridModeEnabled:m,libraryReturnUrl:n,theme:o,name:p,renderCustomStats:q,onPaste:r,detectScroll:s=!0,handleKeyboardGlobally:t=!1,onLibraryChange:u,autoFocus:v=!1,generateIdForFile:w,onLinkOpen:x,generateLinkForSelection:y,onPointerDown:z,onPointerUp:A,onScrollChange:B,onDuplicate:C,children:D,validateEmbeddable:E,renderEmbeddable:G,aiEnabled:H,showDeprecatedFonts:I}=b,J=b.UIOptions?.canvasActions,K={...b.UIOptions,canvasActions:{...F.ga.canvasActions,...J},tools:{image:b.UIOptions?.tools?.image??!0}};return J?.export&&(K.canvasActions.export.saveFileToDisk=J.export?.saveFileToDisk??F.ga.canvasActions.export.saveFileToDisk),null===K.canvasActions.toggleTheme&&typeof o>"u"&&(K.canvasActions.toggleTheme=!0),(0,L.useEffect)(()=>{(async()=>{await a.A(762213)})();let b=a=>{"number"==typeof a.scale&&1!==a.scale&&a.preventDefault()};return document.addEventListener("touchmove",b,{passive:!1}),()=>{document.removeEventListener("touchmove",b)}},[]),(0,e.jsx)(c$,{store:c_,children:(0,e.jsx)(dd,{langCode:j,theme:o,children:(0,e.jsx)(kv,{onChange:c,initialData:d,excalidrawAPI:f,isCollaborating:g,onPointerUpdate:h,renderTopRightUI:i,langCode:j,viewModeEnabled:k,zenModeEnabled:l,gridModeEnabled:m,libraryReturnUrl:n,theme:o,name:p,renderCustomStats:q,UIOptions:K,onPaste:r,detectScroll:s,handleKeyboardGlobally:t,onLibraryChange:u,autoFocus:v,generateIdForFile:w,onLinkOpen:x,generateLinkForSelection:y,onPointerDown:z,onPointerUp:A,onScrollChange:B,onDuplicate:C,validateEmbeddable:E,renderEmbeddable:G,aiEnabled:!1!==H,showDeprecatedFonts:I,children:D})})})},(a,b)=>{if(a.children!==b.children)return!1;let{initialData:c,UIOptions:d={},...e}=a,{initialData:f,UIOptions:g={},...h}=b,i=Object.keys(d),j=Object.keys(g);return i.length===j.length&&i.every(a=>"canvasActions"===a?Object.keys(d.canvasActions).every(a=>"export"===a&&d?.canvasActions?.export&&g?.canvasActions?.export?d.canvasActions.export.saveFileToDisk===g.canvasActions.export.saveFileToDisk:d?.canvasActions?.[a]===g?.canvasActions?.[a]):d[a]===g[a])&&(0,F.Hb)(e,h)}).displayName="Excalidraw";var kN=a.i(203604),kO=a.i(304692);let kP=(0,D.default)(async()=>{},{loadableGenerated:{modules:[743771]},ssr:!1,loading:()=>(0,e.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"Loading canvas…"})});function kQ(a){if(null===a)throw Error("Canvas file could not be loaded.");if(""===a.trim())return{elements:[]};let b=JSON.parse(a);if(!b||"object"!=typeof b||!Array.isArray(b.elements))throw Error("Canvas JSON must contain an elements array.");return b}function kR(a){let b={...a};return delete b.theme,delete b.scrollX,delete b.scrollY,delete b.zoom,delete b.selectedElementIds,delete b.editingElement,delete b.resizingElement,delete b.newElement,delete b.multiElement,delete b.selectionElement,b}function kS(a){let b=JSON.parse((0,F.Jh)(a.elements,a.appState??{},a.files??{},"database"));return b.appState&&(b.appState=kR(b.appState)),a.files&&Object.keys(a.files).length>0&&(b.files=a.files),JSON.stringify(b,null,2)}function kT({content:a,initialSha:b,path:c,title:d,readOnly:f=!1}){let g="u">typeof document&&document.documentElement.classList.contains("dark")?"dark":"light",h=(0,m.useMemo)(()=>{try{let b=kQ(a);return{value:b,normalized:kS(b),error:null}}catch(a){return{value:null,normalized:"",error:a instanceof Error?a.message:"Invalid canvas JSON."}}},[a]),[i,j]=(0,m.useState)(null),k=(0,m.useRef)(null),[l,n]=(0,m.useState)(h.normalized),p=(0,m.useRef)(h.normalized),[q,r]=(0,m.useState)(b),s=(0,m.useRef)(b),[t,u]=(0,m.useState)(null),[v,w]=(0,m.useState)(null),x=(0,m.useRef)(null),y=(0,m.useRef)(!1),z=(0,m.useRef)(!1),A=(0,m.useRef)(()=>{});(0,m.useEffect)(()=>{n(h.normalized),p.current=h.normalized,r(b),s.current=b},[b,h.normalized]);let B=(0,m.useCallback)(async()=>{let a=k.current;if(a){if(y.current){z.current=!0;return}y.current=!0,u("saving"),w(null);try{let b=(0,F.Jh)(a.getSceneElements(),a.getAppState(),a.getFiles(),"database"),d=JSON.parse(b);d.appState&&(d.appState=kR(d.appState));let e=a.getFiles();Object.keys(e).length>0&&(d.files=e);let f=JSON.stringify(d,null,2);if(f===p.current)return void u("saved");let g=await (0,kO.wsFetch)("/api/wiki/content",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:c,content:f,baseSha:s.current})});if(g.ok){let a=await g.json();p.current=f,n(f),s.current=a.sha??s.current,r(s.current),u("saved");return}let h=await g.json();if(409===g.status&&"STALE_SHA"===h.error){let b=await (0,kO.wsFetch)(`/api/wiki/content?path=${encodeURIComponent(c)}`);if(!b.ok)throw Error("Could not reload canvas after conflict.");let d=await b.json(),e=kQ(d.content),f=kS(e);a.updateScene({elements:e.elements,appState:kR(e.appState??{})}),e.files&&a.addFiles(Object.values(e.files)),p.current=f,n(f),s.current=b.headers.get("X-Wiki-Sha256"),r(s.current),u("reloaded");return}throw Error(h.error??"Save failed")}catch(a){w(a instanceof Error?a.message:"Save failed"),u("error")}finally{y.current=!1,z.current&&(z.current=!1,x.current=setTimeout(()=>{x.current=null,A.current()},800))}}},[c]);A.current=B;let C=(0,m.useCallback)(()=>{x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{x.current=null,B()},800)},[B]);return(0,m.useEffect)(()=>()=>{x.current&&(clearTimeout(x.current),x.current=null,A.current())},[]),(0,e.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,e.jsx)(kN.ViewerToolbar,{path:c,badge:"CANVAS",children:(0,e.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground",children:[(0,e.jsx)(E.PencilRuler,{className:"h-3.5 w-3.5 text-violet-500"}),f?"Read-only":"saving"===t?"Saving…":"saved"===t?"Saved":"reloaded"===t?"Reloaded":"Editable"]})}),h.error?(0,e.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-3 p-8 text-center",children:[(0,e.jsx)(E.PencilRuler,{className:"h-10 w-10 text-destructive"}),(0,e.jsx)("p",{className:"font-medium text-destructive",children:"Could not render canvas"}),(0,e.jsx)("p",{className:"max-w-lg text-sm text-muted-foreground",children:h.error}),(0,e.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>window.location.reload(),children:"Reload"})]}):(0,e.jsxs)("div",{className:"min-h-0 flex-1 bg-background",children:[(0,e.jsx)(kP,{initialData:h.value,excalidrawAPI:a=>{k.current=a,j(a)},onChange:()=>{!f&&i&&C()},viewModeEnabled:f,theme:g,name:d,autoFocus:!1}),v&&(0,e.jsx)("p",{className:"px-3 py-1 text-xs text-destructive",children:v})]})]})}var kU=a.i(260246);function kV(a){let b=a.lastIndexOf(".");return b<0?"":a.slice(b+1).toLowerCase()}function kW(a){let b=kV(a);return["md","markdown"].includes(b)?"markdown":"excalidraw"===b?"canvas":["csv","tsv"].includes(b)?"csv":["pdf"].includes(b)?"pdf":["html","htm"].includes(b)?"html":["png","jpg","jpeg","gif","webp","svg","avif","ico","bmp"].includes(b)?"image":["mp4","webm","mov","m4v","mp3","wav","ogg","m4a","aac"].includes(b)?"media":["txt","log","ini","env","conf"].includes(b)?"text":["py","js","ts","tsx","jsx","go","rs","java","c","cpp","h","sh","bash","zsh","rb","php","swift","kt","lua","sql","yaml","yml","toml","json","xml","css","scss","mmd","mermaid"].includes(b)?"source":"binary"}function kX({content:a,filename:b,filePath:c,token:d}){switch(kW(b)){case"markdown":return(0,e.jsx)(kY,{content:a});case"canvas":return(0,e.jsx)(kT,{content:a,initialSha:null,path:c,title:b,readOnly:!0});case"image":return(0,e.jsx)(kZ,{filename:b,token:d});case"pdf":return(0,e.jsx)(k$,{filename:b,token:d});case"media":return(0,e.jsx)(k_,{filename:b,token:d});case"html":return(0,e.jsx)(k0,{content:a,filename:b});case"csv":return(0,e.jsx)(k2,{content:a});case"source":case"text":return(0,e.jsx)(k1,{content:a,filename:b});case"binary":return(0,e.jsx)(k3,{filename:b,token:d})}}function kY({content:a}){let[b,c]=(0,m.useState)("");return(0,m.useEffect)(()=>{let b=!1;return(0,kU.markdownToHtml)(a,{sanitize:!0}).then(a=>{b||c(a)}),()=>{b=!0}},[a]),(0,e.jsx)("div",{className:"flex-1 overflow-auto",children:(0,e.jsx)("div",{className:"mx-auto max-w-4xl px-4 py-8 prose prose-neutral dark:prose-invert",children:(0,e.jsx)("div",{dangerouslySetInnerHTML:{__html:b}})})})}function kZ({filename:a,token:b}){let c=(0,n.apiUrl)(`/api/share/${b}/asset`);return(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center p-8 bg-[repeating-conic-gradient(hsl(var(--muted))_0%_25%,transparent_0%_50%)] bg-[length:20px_20px]",children:(0,e.jsx)("img",{src:c,alt:a,className:"max-w-full max-h-[80vh] object-contain rounded-sm"})})}function k$({filename:a,token:b}){let c=(0,n.apiUrl)(`/api/share/${b}/asset`);return(0,e.jsx)("div",{className:"flex-1 flex flex-col min-h-0",children:(0,e.jsx)("iframe",{src:c,title:a,className:"flex-1 w-full border-0",style:{minHeight:"80vh"}})})}function k_({filename:a,token:b}){let c=(0,n.apiUrl)(`/api/share/${b}/asset`),d=["mp4","webm","mov","m4v"].includes(kV(a));return(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center p-8",children:d?(0,e.jsx)("video",{controls:!0,className:"max-w-full max-h-[80vh] rounded-sm",src:c}):(0,e.jsxs)("div",{className:"w-full max-w-md",children:[(0,e.jsx)("audio",{controls:!0,className:"w-full",src:c}),(0,e.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-3",children:a})]})})}function k0({content:a,filename:b}){let[c,d]=(0,m.useState)(!1);return(0,e.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[(0,e.jsx)("div",{className:"flex items-center justify-end gap-2 px-4 py-2 border-b bg-muted/30",children:(0,e.jsx)(o.Button,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>d(a=>!a),children:c?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(C.Ban,{className:"h-3.5 w-3.5"}),"Disable scripts"]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(B.Play,{className:"h-3.5 w-3.5"}),"Enable scripts"]})})}),(0,e.jsx)("iframe",{srcDoc:a,title:b,className:"flex-1 w-full border-0 bg-white",style:{minHeight:"80vh"},sandbox:c?"allow-scripts allow-forms allow-popups allow-top-navigation-by-user-activation":"allow-forms allow-popups allow-top-navigation-by-user-activation"})]})}function k1({content:a,filename:b}){let c=a.split("\n"),d=c.length,[f,g]=(0,m.useState)(d<=500),h=f?c:c.slice(0,500);return(0,e.jsx)("div",{className:"flex-1 overflow-auto",children:(0,e.jsxs)("div",{className:"mx-auto max-w-4xl",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b bg-muted/30",children:[(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:b}),(0,e.jsxs)("span",{className:"text-xs text-muted-foreground",children:[d.toLocaleString()," lines"]})]}),(0,e.jsx)("pre",{className:"text-[13px] font-mono leading-relaxed",children:(0,e.jsx)("table",{className:"w-full border-collapse",children:(0,e.jsx)("tbody",{children:h.map((a,b)=>(0,e.jsxs)("tr",{className:"hover:bg-muted/50",children:[(0,e.jsx)("td",{className:"select-none text-right pr-4 pl-4 py-0 text-muted-foreground/50 text-xs w-[1%] whitespace-nowrap align-top",children:b+1}),(0,e.jsx)("td",{className:"pr-4 py-0 whitespace-pre-wrap break-all",children:a||" "})]},b))})})}),!f&&d>500&&(0,e.jsx)("div",{className:"flex justify-center py-4 border-t",children:(0,e.jsxs)(o.Button,{size:"sm",variant:"ghost",onClick:()=>g(!0),children:["Show all ",d.toLocaleString()," lines"]})})]})})}function k2({content:a}){let b=(0,m.useMemo)(()=>a.split("\n").filter(Boolean).map(a=>{let b=[],c="",d=!1;for(let e=0;e<a.length;e++){let f=a[e];'"'===f?d=!d:","!==f&&" "!==f||d?c+=f:(b.push(c.trim()),c="")}return b.push(c.trim()),b}),[a]);if(0===b.length)return null;let c=b[0],d=b.slice(1);return(0,e.jsx)("div",{className:"flex-1 overflow-auto",children:(0,e.jsx)("div",{className:"mx-auto max-w-6xl p-4",children:(0,e.jsxs)("table",{className:"w-full text-sm border-collapse",children:[(0,e.jsx)("thead",{children:(0,e.jsx)("tr",{children:c.map((a,b)=>(0,e.jsx)("th",{className:"text-left px-3 py-2 border-b-2 border-border font-medium bg-muted/50 whitespace-nowrap",children:a},b))})}),(0,e.jsx)("tbody",{children:d.map((a,b)=>(0,e.jsx)("tr",{className:"hover:bg-muted/30",children:a.map((a,b)=>(0,e.jsx)("td",{className:"px-3 py-1.5 border-b border-border/50 whitespace-nowrap",children:a},b))},b))})]})})})}function k3({filename:a,token:b}){let c=(0,n.apiUrl)(`/api/share/${b}/asset`);return(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 p-8",children:[(0,e.jsx)(j.FileText,{className:"h-12 w-12 text-muted-foreground"}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:a}),(0,e.jsx)("a",{href:c,download:a,children:(0,e.jsxs)(o.Button,{size:"sm",variant:"outline",className:"gap-1.5",children:[(0,e.jsx)(A.Download,{className:"h-3.5 w-3.5"}),"Download file"]})})]})}a.s(["default",0,function({params:a}){let[b,c]=(0,m.useState)(null),[d,s]=(0,m.useState)({kind:"loading"}),[t,u]=(0,m.useState)(""),[w,x]=(0,m.useState)(!1),[y,A]=(0,m.useState)(!1),[B,C]=(0,m.useState)(null),D="content"===d.kind?kW(d.filename):"markdown",E=["markdown","source","text","csv","html"].includes(D),F=a=>{C(a),setTimeout(()=>C(null),2e3)},G=async()=>{if("content"===d.kind)try{await navigator.clipboard.writeText(d.content),F("raw")}catch{}},H=(0,m.useCallback)(async()=>{if(b){s({kind:"loading"});try{let a=await fetch((0,n.apiUrl)(`/api/share/${b}`)),c=await a.json();a.ok&&"string"==typeof c.content?s({kind:"content",content:c.content,filename:String(c.filename??"document"),filePath:String(c.filePath??c.filename??"document"),viewCount:"number"==typeof c.viewCount?c.viewCount:0}):401===a.status&&c.protected?s({kind:"password",message:String(c.message??"")}):410===a.status?s({kind:"error",title:"Link unavailable",message:String(c.message??"This share link is no longer available.")}):404===a.status?s({kind:"error",title:"Not found",message:"This share link does not exist."}):s({kind:"error",title:"Error",message:String(c.message??"Something went wrong. Try again later.")})}catch{s({kind:"error",title:"Connection error",message:"Could not reach the server. Check your connection."})}}},[b]);(0,m.useEffect)(()=>{a.then(a=>c(a.token))},[a]),(0,m.useEffect)(()=>{b&&H()},[b,H]);let I=async a=>{if(a.preventDefault(),t.trim()&&b){x(!0),A(!1);try{let a=await fetch((0,n.apiUrl)(`/api/share/${b}`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:t.trim()})}),c=await a.json();a.ok&&"string"==typeof c.content?s({kind:"content",content:c.content,filename:String(c.filename??"document"),filePath:String(c.filePath??c.filename??"document"),viewCount:"number"==typeof c.viewCount?c.viewCount:0}):403===a.status?(A(!0),s({kind:"password",message:"Incorrect password"})):429===a.status?s({kind:"password",message:"Too many attempts. Try again later."}):s({kind:"error",title:"Error",message:String(c.message??"Something went wrong.")})}catch{s({kind:"error",title:"Connection error",message:"Could not reach the server."})}x(!1)}};return(0,e.jsx)(r.ThemeProvider,{children:(0,e.jsxs)("div",{className:"min-h-screen flex flex-col bg-background text-foreground",children:[(0,e.jsx)("header",{className:"border-b border-border bg-muted/50",children:(0,e.jsx)("div",{className:"mx-auto flex max-w-4xl items-center gap-2 px-4 py-2",children:"content"===d.kind?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,e.jsx)("span",{className:"h-2 w-2 rounded-full bg-success shrink-0"}),(0,e.jsx)("span",{className:"text-sm truncate",title:d.filename,children:d.filename})]}),(0,e.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,e.jsxs)(o.Button,{size:"sm",variant:"ghost",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>{b&&(navigator.clipboard.writeText(`${window.location.origin}/s/${b}`),F("link"))},title:"Copy share link",children:["link"===B?(0,e.jsx)(l.Check,{className:"h-3.5 w-3.5 text-success"}):(0,e.jsx)(k.Copy,{className:"h-3.5 w-3.5"}),"Link"]}),E&&(0,e.jsxs)(o.Button,{size:"sm",variant:"ghost",className:"h-7 gap-1.5 px-2 text-xs",onClick:G,title:"Copy raw content",children:["raw"===B?(0,e.jsx)(l.Check,{className:"h-3.5 w-3.5 text-success"}):(0,e.jsx)(j.FileText,{className:"h-3.5 w-3.5"}),"Raw"]}),"markdown"===D&&(0,e.jsx)(v,{}),(0,e.jsx)(z,{}),(0,e.jsxs)("span",{className:"text-xs text-muted-foreground ml-2",children:[d.viewCount," view",1!==d.viewCount?"s":""]})]})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(g.Eye,{className:"h-4 w-4 text-muted-foreground"}),(0,e.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Shared document"})]})})}),"loading"===d.kind&&(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,e.jsx)(i.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}),"password"===d.kind&&(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center px-4",children:(0,e.jsx)(q.Card,{className:"max-w-sm w-full p-6",children:(0,e.jsxs)("div",{className:"flex flex-col items-center gap-4 text-center",children:[(0,e.jsx)("div",{className:"rounded-full bg-muted p-3",children:(0,e.jsx)(h.Lock,{className:"h-6 w-6 text-muted-foreground"})}),(0,e.jsxs)("div",{className:"space-y-1",children:[(0,e.jsx)("h1",{className:"text-base font-medium",children:"Password required"}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:d.message||"This document is password-protected."})]}),(0,e.jsxs)("form",{onSubmit:I,className:"w-full space-y-3",children:[(0,e.jsx)(p.Input,{type:"password",placeholder:"Enter password",value:t,onChange:a=>{u(a.target.value),A(!1)},autoFocus:!0}),y&&(0,e.jsxs)("p",{className:"text-xs text-destructive flex items-center gap-1",children:[(0,e.jsx)(f.AlertCircle,{className:"h-3 w-3"}),"Wrong password. Try again."]}),(0,e.jsx)(o.Button,{type:"submit",className:"w-full",disabled:w||!t.trim(),children:w?(0,e.jsx)(i.Loader2,{className:"h-4 w-4 animate-spin"}):"View document"})]})]})})}),"error"===d.kind&&(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 px-4 text-center",children:[(0,e.jsx)("div",{className:"rounded-full bg-muted p-3",children:(0,e.jsx)(f.AlertCircle,{className:"h-6 w-6 text-muted-foreground"})}),(0,e.jsxs)("div",{className:"space-y-1",children:[(0,e.jsx)("h1",{className:"text-base font-medium",children:d.title}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:d.message})]})]}),"content"===d.kind&&(0,e.jsx)(kX,{content:d.content,filename:d.filename,filePath:d.filePath,token:b}),"content"===d.kind&&(0,e.jsx)("footer",{className:"border-t border-border bg-muted/30",children:(0,e.jsxs)("div",{className:"mx-auto flex max-w-4xl items-center gap-2 px-4 py-2",children:[(0,e.jsx)(j.FileText,{className:"h-3 w-3 text-muted-foreground"}),(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:d.filename})]})})]})})}],973220)}];
|
|
108
|
+
`).reduce((b,c,d,e)=>b.concat(d?b[d-1]+e[d-1].length+1:a),[]).reverse()},s=a=>{a.target instanceof HTMLCanvasElement&&(a.preventDefault(),a.stopPropagation())},t=!1,u=()=>{if(B)return;B=!0,v();let a=F.Oj.getScene(e)?.getElement(e.id);if(!a)return;let b=(0,F.Aj)(a,h.scene.getNonDeletedElementsMap());if(b){if(k.value.trim()){let a=(0,F.yj)(b);a&&a===e.id?(0,F.dc)(b)&&(0,F.Rj)(b):(0,F.Pj)(b,{boundElements:(b.boundElements||[]).concat({type:"text",id:e.id})})}else(0,F.Pj)(b,{boundElements:b.boundElements?.filter(a=>!(0,F._b)(a))});(0,F.uj)(a,b,h.scene.getNonDeletedElementsMap())}c({viaKeyboard:t,nextOriginalText:k.value})},v=()=>{k.onblur=null,k.oninput=null,k.onkeydown=null,C&&C.disconnect(),window.removeEventListener("resize",j),window.removeEventListener("wheel",s,!0),window.removeEventListener("pointerdown",y),window.removeEventListener("pointerup",w),window.removeEventListener("blur",u),window.removeEventListener("beforeunload",u),z(),A(),k.remove()},w=a=>{window.removeEventListener("pointerup",w);let b=a?.target,c=b instanceof HTMLElement&&b.classList.contains("properties-trigger");setTimeout(()=>{k.onblur=u,c||k.focus()})},x=()=>{k.onblur=null,window.addEventListener("pointerup",w),window.addEventListener("blur",u)},y=a=>{let b=a?.target;if(a.button===F.A.WHEEL){b instanceof HTMLTextAreaElement&&(a.preventDefault(),h.handleCanvasPanUsingWheelOrSpaceDrag(a)),x();return}let c=b instanceof HTMLElement&&b.classList.contains("properties-trigger");(a.target instanceof HTMLElement||a.target instanceof SVGElement)&&a.target.closest(`.${F.E.SHAPE_ACTIONS_MENU}, .${F.E.ZOOM_ACTIONS}`)&&!(0,F.ab)(a.target)||c?x():a.target instanceof HTMLCanvasElement&&!(0,F.Ab)()&&requestAnimationFrame(()=>{u()})},z=h.scene.onUpdate(()=>{j(),document.activeElement?.closest(".properties-content")||k.focus()}),A=h.onScrollChangeEmitter.on(()=>{j()}),B=!1;i&&k.select(),w();let C=null;f&&"ResizeObserver"in window?(C=new window.ResizeObserver(()=>{j()})).observe(f):window.addEventListener("resize",j),k.onpointerdown=a=>a.stopPropagation(),requestAnimationFrame(()=>{window.addEventListener("pointerdown",y,{capture:!0})}),window.addEventListener("beforeunload",u),g?.querySelector(".excalidraw-textEditorContainer").appendChild(k)})({id:a.id,canvas:this.canvas,getViewportCoords:(a,b)=>{let{x:c,y:d}=(0,F.mb)({sceneX:a,sceneY:b},this.state);return[c-this.state.offsetLeft,d-this.state.offsetTop]},onChange:ju(b=>{d(b,!1),(0,F.qk)(a)&&(0,F.Pg)(a,this.scene.getNonDeletedElementsMap())}),onSubmit:ju(({viaKeyboard:c,nextOriginalText:e})=>{let f=!e.trim();if(d(e,f),!f&&c){let b=a.containerId?a.containerId:a.id;(0,aw.flushSync)(()=>{this.setState(a=>({selectedElementIds:(0,F.xk)({...a.selectedElementIds,[b]:!0},a)}))})}f&&(0,F.Tg)(this.scene.getNonDeletedElements(),[a]),(!f||b)&&this.store.shouldCaptureIncrement(),(0,aw.flushSync)(()=>{this.setState({newElement:null,editingTextElement:null})}),this.state.activeTool.locked&&(0,F.dd)(this.interactiveCanvas,this.state),this.focusContainer()}),element:a,excalidrawContainer:this.excalidrawContainerRef.current,app:this,autoSelect:!this.device.isTouchScreen}),this.deselectElements(),d(a.originalText,!1)}deselectElements(){this.setState({selectedElementIds:(0,F.xk)({},this.state),selectedGroupIds:{},editingGroupId:null,activeEmbeddable:null})}getTextElementAtPosition(a,b){let c=this.getElementAtPosition(a,b,{includeBoundTextElement:!0});return c&&(0,F._b)(c)&&!c.isDeleted?c:null}getElementAtPosition(a,b,c){let d=this.getElementsAtPosition(a,b,c?.includeBoundTextElement,c?.includeLockedElements);if(d.length>1){if(c?.preferSelected){for(let a=d.length-1;a>-1;a--)if(this.state.selectedElementIds[d[a].id])return d[a]}let e=d[d.length-1];return(0,F.ng)({x:a,y:b,element:e,shape:(0,F.tg)(e,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold()/2,frameNameBound:(0,F.bc)(e)?this.frameNameBoundsCache.get(e):null})?e:d[d.length-2]}return 1===d.length?d[0]:null}getElementsAtPosition(a,b,c=!1,d=!1){let e=[],f=this.scene.getNonDeletedElementsMap();return(c&&d?this.scene.getNonDeletedElements():this.scene.getNonDeletedElements().filter(a=>(d||!a.locked)&&(c||!((0,F._b)(a)&&a.containerId)))).filter(c=>this.hitElement(a,b,c)).filter(c=>{let d=(0,F.Gi)(c,f);return!d||!this.state.frameRendering.enabled||!this.state.frameRendering.clip||(0,F.zi)({x:a,y:b},d,f)}).filter(a=>!(0,F.Yb)(a)||(e.push(a),!1)).concat(e)}getElementHitThreshold(){return F.N/this.state.zoom.value}hitElement(a,b,c,d=!0){if(d&&this.state.selectedElementIds[c.id]&&(0,F._j)([c],this.state)){let d=(0,F.eg)(c,this.scene.getNonDeletedElementsMap(),(0,F.Wb)(c)?0:this.getElementHitThreshold());if((0,F.fg)((0,F.Ua)(a,b),d))return!0}return!!(0,F.qg)(a,b,(0,F.ug)(c,this.scene.getNonDeletedElementsMap()))||(0,F.ng)({x:a,y:b,element:c,shape:(0,F.tg)(c,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold(),frameNameBound:(0,F.bc)(c)?this.frameNameBoundsCache.get(c):null})}getTextBindableContainerAtPosition(a,b){let c=this.scene.getNonDeletedElements(),d=this.scene.getSelectedElements(this.state);if(1===d.length)return(0,F.jc)(d[0],!1)?d[0]:null;let e=null;for(let d=c.length-1;d>=0;--d){if(c[d].isDeleted)continue;let[f,g,h,i]=(0,F.aj)(c[d],this.scene.getNonDeletedElementsMap());if((0,F.dc)(c[d])&&(0,F.ng)({x:a,y:b,element:c[d],shape:(0,F.tg)(c[d],this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold()})||f<a&&a<h&&g<b&&b<i){e=c[d];break}}return(0,F.jc)(e,!1)?e:null}handleHoverSelectedLinearElement(a,b,c){let d=this.scene.getNonDeletedElementsMap(),e=F.pj.getElement(a.elementId,d);if(e)if(this.state.selectedLinearElement){let f=-1,g=null;(0,F.ng)({x:b,y:c,element:e,shape:(0,F.tg)(e,this.scene.getNonDeletedElementsMap())})?(f=F.pj.getPointIndexUnderCursor(e,d,this.state.zoom,b,c),g=F.pj.getSegmentMidpointHitCoords(a,{x:b,y:c},this.state,this.scene.getNonDeletedElementsMap()),((0,F.ec)(e)?0===f||f===e.points.length-1:f>=0)||g?(0,F.bd)(this.interactiveCanvas,F.z.POINTER):this.hitElement(b,c,e)&&(0,F.bd)(this.interactiveCanvas,F.z.MOVE)):!this.hitElement(b,c,e)||(0,F.ec)(e)&&(e.startBinding||e.endBinding)||(0,F.bd)(this.interactiveCanvas,F.z.MOVE),this.state.selectedLinearElement.hoverPointIndex!==f&&this.setState({selectedLinearElement:{...this.state.selectedLinearElement,hoverPointIndex:f}}),F.pj.arePointsEqual(this.state.selectedLinearElement.segmentMidPointHoveredCoords,g)||this.setState({selectedLinearElement:{...this.state.selectedLinearElement,segmentMidPointHoveredCoords:g}})}else(0,F.bd)(this.interactiveCanvas,F.z.AUTO)}updateGestureOnPointerDown(a){ku.pointers.set(a.pointerId,{x:a.clientX,y:a.clientY}),2===ku.pointers.size&&(ku.lastCenter=g_(ku.pointers),ku.initialScale=this.state.zoom.value,ku.initialDistance=g0(Array.from(ku.pointers.values())))}initialPointerDownState(a){let b=(0,F.lb)(a,this.state),c=this.scene.getSelectedElements(this.state),[d,e,f,g]=(0,F.bj)(c),h=0===c.findIndex(F.ec);return{origin:b,withCmdOrCtrl:a[F.hg.CTRL_OR_CMD],originInGrid:(0,F.ob)((0,F.oj)(b.x,b.y,a[F.hg.CTRL_OR_CMD]||h?null:this.getEffectiveGridSize())),scrollbars:ho(km,a.clientX-this.state.offsetLeft,a.clientY-this.state.offsetTop),lastCoords:{...b},originalElements:this.scene.getNonDeletedElements().reduce((a,b)=>(a.set(b.id,(0,F.bg)(b)),a),new Map),resize:{handleType:!1,isResizing:!1,offset:{x:0,y:0},arrowDirection:"origin",center:{x:(f+d)/2,y:(g+e)/2}},hit:{element:null,allHitElements:[],wasAddedToSelection:!1,hasBeenDuplicated:!1,hasHitCommonBoundingBoxOfSelectedElements:this.isHittingCommonBoundingBoxOfSelectedElements(b,c)},drag:{hasOccurred:!1,offset:null},eventListeners:{onMove:null,onUp:null,onKeyUp:null,onKeyDown:null},boxSelection:{hasOccurred:!1}}}handleDraggingScrollBar(a,b){if(!(b.scrollbars.isOverEither&&!this.state.multiElement))return!1;kl=!0,b.lastCoords.x=a.clientX,b.lastCoords.y=a.clientY;let c=jv(a=>{a.target instanceof HTMLElement&&this.handlePointerMoveOverScrollbars(a,b)}),d=ju(()=>{kt=null,kl=!1,(0,F.dd)(this.interactiveCanvas,this.state),this.setState({cursorButton:"up"}),this.savePointer(a.clientX,a.clientY,"up"),window.removeEventListener("pointermove",c),window.removeEventListener("pointerup",d),c.flush()});return kt=d,window.addEventListener("pointermove",c),window.addEventListener("pointerup",d),!0}isASelectedElement(a){return null!=a&&this.state.selectedElementIds[a.id]}isHittingCommonBoundingBoxOfSelectedElements(a,b){if(b.length<2)return!1;let c=this.getElementHitThreshold(),[d,e,f,g]=(0,F.bj)(b);return a.x>d-c&&a.x<f+c&&a.y>e-c&&a.y<g+c}getCurrentItemRoundness(a){return"round"===this.state.currentItemRoundness?{type:(0,F.oc)(a)?F.ua.ADAPTIVE_RADIUS:F.ua.PROPORTIONAL_RADIUS}:null}maybeCacheReferenceSnapPoints(a,b,c=!1){(0,F.gj)({event:a,app:this,selectedElements:b})&&(c||!F.ej.getReferenceSnapPoints())&&F.ej.setReferenceSnapPoints((0,F.ij)(this.scene.getNonDeletedElements(),b,this.state,this.scene.getNonDeletedElementsMap()))}maybeCacheVisibleGaps(a,b,c=!1){(0,F.gj)({event:a,app:this,selectedElements:b})&&(c||!F.ej.getVisibleGaps())&&F.ej.setVisibleGaps((0,F.hj)(this.scene.getNonDeletedElements(),b,this.state,this.scene.getNonDeletedElementsMap()))}onKeyDownFromPointerDownHandler(a){return ju(b=>{this.maybeHandleResize(a,b)||this.maybeDragNewGenericElement(a,b)})}onKeyUpFromPointerDownHandler(a){return ju(b=>{b.key===F.hg.ALT&&b.preventDefault(),this.maybeHandleResize(a,b)||this.maybeDragNewGenericElement(a,b)})}onPointerMoveFromPointerDownHandler(a){return jv(b=>{if(this.state.openDialog?.name==="elementLinkSelector")return;let c=(0,F.lb)(b,this.state);if(this.state.selectedLinearElement&&this.state.selectedLinearElement.elbowed&&this.state.selectedLinearElement.pointerDownState.segmentMidpoint.index){let[a,d]=(0,F.oj)(c.x,c.y,b[F.hg.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),e=this.state.selectedLinearElement.pointerDownState.segmentMidpoint.index;if(e<0){let b=F.pj.getSegmentMidpointHitCoords({...this.state.selectedLinearElement,segmentMidPointHoveredCoords:null},{x:a,y:d},this.state,this.scene.getNonDeletedElementsMap());e=b?F.pj.getSegmentMidPointIndex(this.state.selectedLinearElement,this.state,b,this.scene.getNonDeletedElementsMap()):-1}let f=F.pj.moveFixedSegment(this.state.selectedLinearElement,e,a,d,this.scene.getNonDeletedElementsMap());(0,aw.flushSync)(()=>{this.state.selectedLinearElement&&this.setState({selectedLinearElement:{...this.state.selectedLinearElement,segmentMidPointHoveredCoords:f.segmentMidPointHoveredCoords,pointerDownState:f.pointerDownState}})});return}let d=this.lastPointerMoveCoords??a.origin;if(this.lastPointerMoveCoords=c,null===a.drag.offset&&(a.drag.offset=(0,F.ob)((0,F.jk)(this.scene.getSelectedElements(this.state),a.origin.x,a.origin.y))),!(b.target instanceof HTMLElement)||this.handlePointerMoveOverScrollbars(b,a))return;if((0,F.Gc)(this.state))return void this.handleEraser(b,a,c);"laser"===this.state.activeTool.type&&this.laserTrails.addPointToPath(c.x,c.y);let[e,f]=(0,F.oj)(c.x,c.y,b[F.hg.CTRL_OR_CMD]?null:this.getEffectiveGridSize());if(!a.drag.hasOccurred&&("arrow"===this.state.activeTool.type||"line"===this.state.activeTool.type)&&(0,F.Wa)((0,F.Ua)(c.x,c.y),(0,F.Ua)(a.origin.x,a.origin.y))<F.t)return;if(a.resize.isResizing&&(a.lastCoords.x=c.x,a.lastCoords.y=c.y,this.maybeHandleCrop(a,b)||this.maybeHandleResize(a,b)))return!0;let g=this.scene.getNonDeletedElementsMap();if(this.state.selectedLinearElement){let d=this.state.editingLinearElement||this.state.selectedLinearElement;if(F.pj.shouldAddMidpoint(this.state.selectedLinearElement,c,this.state,g)){let a=F.pj.addMidpoint(this.state.selectedLinearElement,c,this,!b[F.hg.CTRL_OR_CMD],g);if(!a)return;(0,aw.flushSync)(()=>{this.state.selectedLinearElement&&this.setState({selectedLinearElement:{...this.state.selectedLinearElement,pointerDownState:a.pointerDownState,selectedPointsIndices:a.selectedPointsIndices}}),this.state.editingLinearElement&&this.setState({editingLinearElement:{...this.state.editingLinearElement,pointerDownState:a.pointerDownState,selectedPointsIndices:a.selectedPointsIndices}})});return}if(null!==d.pointerDownState.segmentMidpoint.value&&!d.pointerDownState.segmentMidpoint.added)return;if(F.pj.handlePointDragging(b,this,c.x,c.y,(a,b)=>{this.maybeSuggestBindingsForLinearElementAtCoords(a,b)},d,this.scene)){a.lastCoords.x=c.x,a.lastCoords.y=c.y,a.drag.hasOccurred=!0,this.state.editingLinearElement&&!this.state.editingLinearElement.isDragging&&this.setState({editingLinearElement:{...this.state.editingLinearElement,isDragging:!0}}),this.state.selectedLinearElement.isDragging||this.setState({selectedLinearElement:{...this.state.selectedLinearElement,isDragging:!0}});return}}let h=a.hit.allHitElements.some(a=>this.isASelectedElement(a)),i=this.state.editingLinearElement&&b.shiftKey&&this.state.editingLinearElement.elementId===a.hit.element?.id;if((h||a.hit.hasHitCommonBoundingBoxOfSelectedElements)&&!i){let e=this.scene.getSelectedElements(this.state);if(e.every(a=>a.locked))return;let f=e.find(a=>(0,F.bc)(a)),h=this.getTopLayerFrameAtSceneCoords(c),i=h&&!f?h:null;if(this.state.frameToHighlight!==i&&(0,aw.flushSync)(()=>{this.setState({frameToHighlight:i})}),a.drag.hasOccurred=!0,e.length>0&&!a.withCmdOrCtrl&&!this.state.editingTextElement&&this.state.activeEmbeddable?.state!=="active"){let f={x:c.x-a.origin.x,y:c.y-a.origin.y},h=[...a.originalElements.values()],i=b.shiftKey;if(i){let a=Math.abs(f.x),b=Math.abs(f.y);i&&a<b&&(f.x=0),i&&a>b&&(f.y=0)}if(this.state.croppingElementId){let b=this.scene.getNonDeletedElementsMap().get(this.state.croppingElementId);if(b&&(0,F.Wb)(b)&&null!==b.crop&&a.hit.element===b){let a=b.crop,e=(0,F.Vb)(b)&&this.imageCache.get(b.fileId)?.image;if(e&&!(e instanceof Promise)){let f=(0,F.Sa)((0,F.Oa)(c.x-d.x,c.y-d.y),Math.max(this.state.zoom.value,2)),[h,i,j,k,l,m]=(0,F.aj)(b,g),n=(0,F.Pa)((0,F.Va)((0,F.Ua)(h,i),(0,F.Ua)(l,m),b.angle)),o=(0,F.Pa)((0,F.Va)((0,F.Ua)(j,i),(0,F.Ua)(l,m),b.angle)),p=(0,F.Pa)((0,F.Va)((0,F.Ua)(h,k),(0,F.Ua)(l,m),b.angle)),q=(0,F.Ta)((0,F.Ra)(o,n)),r=(0,F.Ta)((0,F.Ra)(p,n)),s=(0,F.Oa)((0,F.Qa)(f,q),(0,F.Qa)(f,r)),t={...a,x:(0,F.Ia)(a.x-s[0]*Math.sign(b.scale[0]),0,e.naturalWidth-a.width),y:(0,F.Ia)(a.y-s[1]*Math.sign(b.scale[1]),0,e.naturalHeight-a.height)};(0,F.Pj)(b,{crop:t});return}}}this.maybeCacheVisibleGaps(b,e),this.maybeCacheReferenceSnapPoints(b,e);let{snapOffset:j,snapLines:k}=(0,F.jj)(h,f,this,b,this.scene.getNonDeletedElementsMap());if(this.setState({snapLines:k}),this.state.editingFrame||(0,F.ik)(a,e,f,this.scene,j,b[F.hg.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),this.setState({selectedElementsAreBeingDragged:!0,selectionElement:null}),1===e.length&&(0,F.ec)(e[0])||this.setState({suggestedBindings:(0,F.Kg)(e,this.scene.getNonDeletedElementsMap(),this.state.zoom)}),b.altKey&&!a.hit.hasBeenDuplicated){a.hit.hasBeenDuplicated=!0;let c=[],d=[],f=new Map,g=new Map,h=a.hit.element,i=new Set(this.scene.getSelectedElements({selectedElementIds:this.state.selectedElementIds,includeBoundTextElement:!0,includeElementsInFrames:!0}).map(a=>a.id)),j=this.scene.getElementsIncludingDeleted();for(let b of j){let e=i.has(b.id)||b.id===h?.id&&a.hit.wasAddedToSelection;if(Math.abs(b.x)>1e7||Math.abs(b.x)>1e7||Math.abs(b.width)>1e7||Math.abs(b.height)>1e7)return void console.error("Alt+dragging element in scene with invalid dimensions",b.x,b.y,b.width,b.height,e);if(e){let e=(0,F.cg)(this.state.editingGroupId,f,b);if(Math.abs(e.x)>1e7||Math.abs(e.x)>1e7||Math.abs(e.width)>1e7||Math.abs(e.height)>1e7)return void console.error("Alt+dragging duplicated element with invalid dimensions",e.x,e.y,e.width,e.height);let h=a.originalElements.get(b.id);if(Math.abs(h.x)>1e7||Math.abs(h.x)>1e7||Math.abs(h.width)>1e7||Math.abs(h.height)>1e7)return void console.error("Alt+dragging duplicated element with invalid dimensions",h.x,h.y,h.width,h.height);(0,F.Pj)(e,{x:h.x,y:h.y}),a.originalElements.set(e.id,e),c.push(e),d.push(b),g.set(b.id,e.id)}else c.push(b)}let k=[...c,...d];k=this.props.onDuplicate?.(k,j)||k,(0,F.Mj)(k,(0,F.xb)(d)),(0,F.vj)(c,d,g),(0,F.Sg)(k,d,g,"duplicatesServeAsOld"),(0,F.wi)(k,d,g),this.scene.replaceAllElements(k),this.maybeCacheVisibleGaps(b,e,!0),this.maybeCacheReferenceSnapPoints(b,e,!0)}return}}if(this.state.selectionElement)a.lastCoords.x=c.x,a.lastCoords.y=c.y,this.maybeDragNewGenericElement(a,b);else{let d=this.state.newElement;if(!d)return;if("freedraw"===d.type){let a=d.points,e=c.x-d.x,f=c.y-d.y,g=a.length>0&&a[a.length-1];if(!(g&&g[0]===e&&g[1]===f)){let c=d.simulatePressure?d.pressures:[...d.pressures,b.pressure];(0,F.Pj)(d,{points:[...a,(0,F.Ua)(e,f)],pressures:c},!1),this.setState({newElement:d})}}else if((0,F.cc)(d)){a.drag.hasOccurred=!0;let g=d.points,h=e-d.x,i=f-d.y;(0,F.mg)(b)&&2===g.length&&({width:h,height:i}=(0,F.Vj)(d.x,d.y,c.x,c.y)),1===g.length?(0,F.Pj)(d,{points:[...g,(0,F.Ua)(h,i)]},!1):(2===g.length||g.length>1&&(0,F.ec)(d))&&(0,F.Pj)(d,{points:[...g.slice(0,-1),(0,F.Ua)(h,i)]},!1,{isDragging:!0}),this.setState({newElement:d}),(0,F.gc)(d,!1)&&this.maybeSuggestBindingsForLinearElementAtCoords(d,[c],this.state.startBoundElement)}else a.lastCoords.x=c.x,a.lastCoords.y=c.y,this.maybeDragNewGenericElement(a,b,!1)}if("selection"===this.state.activeTool.type){a.boxSelection.hasOccurred=!0;let c=this.scene.getNonDeletedElements();if(this.state.editingLinearElement)F.pj.handleBoxSelection(b,this.state,this.setState.bind(this),this.scene.getNonDeletedElementsMap());else{let d=!0;!b.shiftKey&&(0,F.tk)(c,this.state)&&(a.withCmdOrCtrl&&a.hit.element?this.setState(b=>(0,F.Jc)({...b,selectedElementIds:{[a.hit.element.id]:!0}},this.scene.getNonDeletedElements(),b,this)):d=!1);let e=this.state.selectionElement?(0,F.sk)(c,this.state.selectionElement,this.scene.getNonDeletedElementsMap(),!1):[];this.setState(b=>{let c={...d&&b.selectedElementIds,...e.reduce((a,b)=>(a[b.id]=!0,a),{})};return a.hit.element&&(e.length?delete c[a.hit.element.id]:c[a.hit.element.id]=!0),b=d?b:{...b,selectedGroupIds:{},editingGroupId:null},{...(0,F.Jc)({editingGroupId:b.editingGroupId,selectedElementIds:c},this.scene.getNonDeletedElements(),b,this),selectedLinearElement:1===e.length&&(0,F.cc)(e[0])?new F.pj(e[0]):null,showHyperlinkPopup:!!(1===e.length&&(e[0].link||(0,F.Xb)(e[0])))&&"info"}})}}})}handlePointerMoveOverScrollbars(a,b){if(b.scrollbars.isOverHorizontal){let c=a.clientX,d=c-b.lastCoords.x;return this.translateCanvas({scrollX:this.state.scrollX-d/this.state.zoom.value}),b.lastCoords.x=c,!0}if(b.scrollbars.isOverVertical){let c=a.clientY,d=c-b.lastCoords.y;return this.translateCanvas({scrollY:this.state.scrollY-d/this.state.zoom.value}),b.lastCoords.y=c,!0}return!1}onPointerUpFromPointerDownHandler(a){return ju(b=>{this.removePointer(b),a.eventListeners.onMove&&a.eventListeners.onMove.flush();let{newElement:c,resizingElement:d,croppingElementId:e,multiElement:f,activeTool:g,isResizing:h,isRotating:i,isCropping:j}=this.state;this.setState(a=>({isResizing:!1,isRotating:!1,isCropping:!1,resizingElement:null,selectionElement:null,frameToHighlight:null,elementsToHighlight:null,cursorButton:"up",snapLines:(0,F.Ob)(a.snapLines,[]),originSnapOffset:null})),this.lastPointerMoveCoords=null,F.ej.setReferenceSnapPoints(null),F.ej.setVisibleGaps(null),this.savePointer(b.clientX,b.clientY,"up"),this.setState({selectedElementsAreBeingDragged:!1});let k=this.scene.getNonDeletedElementsMap();if(a.drag.hasOccurred&&a.hit?.element?.id){let b=k.get(a.hit.element.id);(0,F.ic)(b)&&b.boundElements?.filter(a=>"arrow"===a.type).map(a=>k.get(a.id)).filter(a=>(0,F.ec)(a)).forEach(a=>{a&&(0,F.Pj)(a,{},!0)})}if(this.state.editingLinearElement)if(a.boxSelection.hasOccurred||a.hit?.element?.id===this.state.editingLinearElement.elementId){let a=F.pj.handlePointerUp(b,this.state.editingLinearElement,this.state,this.scene);a!==this.state.editingLinearElement&&this.setState({editingLinearElement:a,suggestedBindings:[]})}else this.actionManager.executeAction(eC);else if(this.state.selectedLinearElement){if(this.state.selectedLinearElement.elbowed){let a=F.pj.getElement(this.state.selectedLinearElement.elementId,this.scene.getNonDeletedElementsMap());a&&(0,F.Pj)(a,{},!0)}if(a.hit?.element?.id!==this.state.selectedLinearElement.elementId)this.scene.getSelectedElements(this.state).length>1&&this.setState({selectedLinearElement:null});else{let a=F.pj.handlePointerUp(b,this.state.selectedLinearElement,this.state,this.scene),{startBindingElement:c,endBindingElement:d}=a,e=this.scene.getElement(a.elementId);(0,F.gc)(e)&&(0,F.Ig)(e,c,d,k,this.scene),a!==this.state.selectedLinearElement&&this.setState({selectedLinearElement:{...a,selectedPointsIndices:null},suggestedBindings:[]})}}if(this.missingPointerEventCleanupEmitter.clear(),window.removeEventListener("pointermove",a.eventListeners.onMove),window.removeEventListener("pointerup",a.eventListeners.onUp),window.removeEventListener("keydown",a.eventListeners.onKeyDown),window.removeEventListener("keyup",a.eventListeners.onKeyUp),this.state.pendingImageElementId&&this.setState({pendingImageElementId:null}),this.props?.onPointerUp?.(g,a),this.onPointerUpEmitter.trigger(this.state.activeTool,a,b),c?.type==="freedraw"){let a=(0,F.lb)(b,this.state),d=c.points,e=a.x-c.x,f=a.y-c.y;e===d[0][0]&&f===d[0][1]&&(f+=1e-4,e+=1e-4);let g=c.simulatePressure?[]:[...c.pressures,b.pressure];(0,F.Pj)(c,{points:[...d,(0,F.Ua)(e,f)],pressures:g,lastCommittedPoint:(0,F.Ua)(e,f)}),this.actionManager.executeAction(eC);return}if((0,F.Wb)(c)){try{this.initializeImageDimensions(c),this.setState({selectedElementIds:(0,F.xk)({[c.id]:!0},this.state)},()=>{this.actionManager.executeAction(eC)})}catch(a){console.error(a),this.scene.replaceAllElements(this.scene.getElementsIncludingDeleted().filter(a=>a.id!==c.id)),this.actionManager.executeAction(eC)}return}if((0,F.cc)(c)){c.points.length>1&&this.store.shouldCaptureIncrement();let d=(0,F.lb)(b,this.state);a.drag.hasOccurred||!c||f?a.drag.hasOccurred&&!f&&((0,F.Fg)(this.state)&&(0,F.gc)(c,!1)&&(0,F.Lg)(c,this.state,d,this.scene.getNonDeletedElementsMap(),this.scene.getNonDeletedElements()),this.setState({suggestedBindings:[],startBoundElement:null}),g.locked?this.setState(a=>({newElement:null})):((0,F.ad)(this.interactiveCanvas),this.setState(a=>({newElement:null,activeTool:(0,F.jb)(this.state,{type:"selection"}),selectedElementIds:(0,F.xk)({...a.selectedElementIds,[c.id]:!0},a),selectedLinearElement:new F.pj(c)}))),this.scene.triggerUpdate()):((0,F.Pj)(c,{points:[...c.points,(0,F.Ua)(d.x-c.x,d.y-c.y)]}),this.setState({multiElement:c,newElement:c}));return}if((0,F._b)(c)){let a=(0,F.xc)((0,F.cb)({fontSize:c.fontSize,fontFamily:c.fontFamily}),c.lineHeight);c.width<a&&(0,F.Pj)(c,{autoResize:!0}),this.resetCursor(),this.handleTextWysiwyg(c,{isExistingElement:!0})}if("selection"!==g.type&&c&&(0,F.Sj)(c))return void this.updateScene({elements:this.scene.getElementsIncludingDeleted().filter(a=>a.id!==c.id),appState:{newElement:null},captureUpdate:F.Wg.NEVER});if((0,F.bc)(c)){let a=(0,F.Fi)(this.scene.getElementsIncludingDeleted(),c,this.scene.getNonDeletedElementsMap());this.scene.replaceAllElements((0,F.Ii)(this.scene.getElementsMapIncludingDeleted(),a,c,this.state))}if(c&&((0,F.Pj)(c,(0,F.Wj)(c)),this.scene.triggerUpdate()),a.drag.hasOccurred){let a=(0,F.lb)(b,this.state);if(this.state.selectedLinearElement&&this.state.selectedLinearElement.isDragging){let a=this.scene.getElement(this.state.selectedLinearElement.elementId);if(a?.frameId){let b=(0,F.Gi)(a,k);b&&a&&((0,F.yi)(a,b,this.scene.getNonDeletedElementsMap())||((0,F.Pj)(a,{groupIds:[]}),(0,F.Ji)([a],this.scene.getNonDeletedElementsMap()),this.scene.triggerUpdate()))}}else{let b=this.getTopLayerFrameAtSceneCoords(a),c=this.scene.getSelectedElements(this.state),d=this.scene.getElementsMapIncludingDeleted(),e=a=>{if(a.length>0){for(let b of a){let a=b.groupIds.indexOf(this.state.editingGroupId);(0,F.Pj)(b,{groupIds:b.groupIds.slice(0,a)},!1)}d.forEach(a=>{a.groupIds.length&&(0,F.Qc)(d,a.groupIds[a.groupIds.length-1]).length<2&&(0,F.Pj)(a,{groupIds:[]},!1)}),this.setState({editingGroupId:null})}};if(b&&!this.state.selectedElementIds[b.id]){let a=c.filter(a=>a.frameId!==b.id&&(0,F.Ni)(a,d,this.state));this.state.editingGroupId&&e(a),d=(0,F.Ii)(d,a,b,this.state)}else!b&&this.state.editingGroupId&&e(c.filter(a=>a.frameId&&!(0,F.Ni)(a,d,this.state)));d=(0,F.Mi)(d,this.state,this),this.scene.replaceAllElements(d)}}if(d&&this.store.shouldCaptureIncrement(),d&&(0,F.Sj)(d)&&this.updateScene({elements:this.scene.getElementsIncludingDeleted().filter(a=>a.id!==d.id),captureUpdate:F.Wg.NEVER}),a.resize.isResizing){let a=(0,F.Mi)(this.scene.getElementsIncludingDeleted(),this.state,this);for(let b of this.scene.getSelectedElements(this.state).filter(a=>(0,F.bc)(a)))a=(0,F.Li)(a,(0,F.Ei)(this.scene.getElementsIncludingDeleted(),b,this.state,k),b,this);this.scene.replaceAllElements(a)}let l=a.hit.element;this.state.selectedLinearElement?.elementId!==l?.id&&(0,F.cc)(l)&&1===this.scene.getSelectedElements(this.state).length&&this.setState({selectedLinearElement:new F.pj(l)}),e&&(!e||(l||j)&&(!l||l.id===e))||this.finishImageCropping();let m=this.lastPointerDownEvent,n=this.lastPointerUpEvent||this.lastPointerMoveEvent;if((0,F.Gc)(this.state)&&m&&n){if(this.eraserTrail.endPath(),0===(0,F.Wa)((0,F.Ua)(m.clientX,m.clientY),(0,F.Ua)(n.clientX,n.clientY))){let a=(0,F.lb)({clientX:n.clientX,clientY:n.clientY},this.state);this.getElementsAtPosition(a.x,a.y).forEach(a=>this.elementsPendingErasure.add(a.id))}this.eraseElements();return}if(this.elementsPendingErasure.size&&this.restoreReadyToEraseElements(),!l||a.drag.hasOccurred||a.hit.wasAddedToSelection||this.state.editingLinearElement&&a.boxSelection.hasOccurred||(b.shiftKey&&!this.state.editingLinearElement?this.state.selectedElementIds[l.id]?(0,F.Kc)(this.state,l)?this.setState(a=>{let b={...a.selectedElementIds};for(let a of l.groupIds.flatMap(a=>(0,F.Qc)(this.scene.getNonDeletedElements(),a)))delete b[a.id];return{selectedGroupIds:{...a.selectedElementIds,...l.groupIds.map(a=>({[a]:!1})).reduce((a,b)=>({...a,...b}),{})},selectedElementIds:(0,F.xk)(b,a)}}):this.state.selectedLinearElement?.isDragging||this.setState(a=>{let b={...a.selectedElementIds};delete b[l.id];let c=(0,F.vk)(this.scene.getNonDeletedElements(),{selectedElementIds:b});return{...(0,F.Jc)({editingGroupId:a.editingGroupId,selectedElementIds:b},this.scene.getNonDeletedElements(),a,this),selectedLinearElement:1===c.length&&(0,F.cc)(c[0])?new F.pj(c[0]):a.selectedLinearElement}}):l.frameId&&this.state.selectedElementIds[l.frameId]?this.setState(a=>{let b={...a.selectedElementIds,[l.id]:!0};return delete b[l.frameId],(this.scene.getElement(l.frameId)?.groupIds??[]).flatMap(a=>(0,F.Qc)(this.scene.getNonDeletedElements(),a)).forEach(a=>{delete b[a.id]}),{...(0,F.Jc)({editingGroupId:a.editingGroupId,selectedElementIds:b},this.scene.getNonDeletedElements(),a,this),showHyperlinkPopup:!!(l.link||(0,F.Xb)(l))&&"info"}}):this.setState(a=>({selectedElementIds:(0,F.xk)({...a.selectedElementIds,[l.id]:!0},a)})):this.setState(a=>({...(0,F.Jc)({editingGroupId:a.editingGroupId,selectedElementIds:{[l.id]:!0}},this.scene.getNonDeletedElements(),a,this),selectedLinearElement:(0,F.cc)(l)&&a.selectedLinearElement?.elementId!==l.id?new F.pj(l):a.selectedLinearElement}))),!(l&&(0,F.ec)(l))&&!a.drag.hasOccurred&&!this.state.isResizing&&(l&&(0,F.pg)({x:a.origin.x,y:a.origin.y,element:l,shape:(0,F.tg)(l,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold(),frameNameBound:(0,F.bc)(l)?this.frameNameBoundsCache.get(l):null},k)||!l&&a.hit.hasHitCommonBoundingBoxOfSelectedElements)){this.state.editingLinearElement?this.setState({editingLinearElement:null}):this.setState({selectedElementIds:(0,F.xk)({},this.state),selectedGroupIds:{},editingGroupId:null,activeEmbeddable:null}),(0,F.bd)(this.interactiveCanvas,F.z.AUTO);return}if(!g.locked&&"freedraw"!==g.type&&c&&this.setState(a=>({selectedElementIds:(0,F.xk)({...a.selectedElementIds,[c.id]:!0},a),showHyperlinkPopup:(0,F.Xb)(c)&&!c.link?"editor":a.showHyperlinkPopup})),("selection"!==g.type||(0,F.tk)(this.scene.getNonDeletedElements(),this.state)||!(0,F.Hb)(this.state.previousSelectedElementIds,this.state.selectedElementIds))&&this.store.shouldCaptureIncrement(),a.drag.hasOccurred||h||i||j){let a=this.scene.getSelectedElements(this.state).filter(F.cc);(0,F.Jg)(a,this.scene.getNonDeletedElementsMap(),this.scene.getNonDeletedElements(),this.scene,(0,F.Fg)(this.state),this.state.selectedLinearElement?.selectedPointsIndices??[],this.state.zoom)}"laser"===g.type?this.laserTrails.endPath():(g.locked||"freedraw"===g.type?this.setState({newElement:null,suggestedBindings:[]}):((0,F.ad)(this.interactiveCanvas),this.setState({newElement:null,suggestedBindings:[],activeTool:(0,F.jb)(this.state,{type:"selection"})})),l&&this.lastPointerUpEvent&&this.lastPointerDownEvent&&this.lastPointerUpEvent.timeStamp-this.lastPointerDownEvent.timeStamp<300&&ku.pointers.size<=1&&(0,F.Zb)(l)&&this.isIframeLikeElementCenter(l,this.lastPointerUpEvent,a.origin.x,a.origin.y)&&this.handleEmbeddableCenterClick(l))})}clearSelection(a){this.setState(b=>({selectedElementIds:(0,F.xk)({},b),activeEmbeddable:null,selectedGroupIds:{},editingGroupId:b.editingGroupId&&null!=a&&(0,F.Pc)(a,b.editingGroupId)?b.editingGroupId:null})),this.setState({selectedElementIds:(0,F.xk)({},this.state),activeEmbeddable:null,previousSelectedElementIds:this.state.selectedElementIds})}getTextWysiwygSnappedToCenterPosition(a,b,c,d){if(d){let e=d.x+d.width/2,f=d.y+d.height/2,g=(0,F.Bj)(d,c,this.scene.getNonDeletedElementsMap());if(g&&(e=g.x,f=g.y),Math.hypot(a-e,b-f)<F.x){let{x:a,y:b}=(0,F.mb)({sceneX:e,sceneY:f},c);return{viewportX:a,viewportY:b,elementCenterX:e,elementCenterY:f}}}}getCanvasOffsets(){if(this.excalidrawContainerRef?.current){let{left:a,top:b}=this.excalidrawContainerRef.current.getBoundingClientRect();return{offsetLeft:a,offsetTop:b}}return{offsetLeft:0,offsetTop:0}}async updateLanguage(){let a=c2.find(a=>a.code===this.props.langCode)||c1;await c6(a),this.setAppState({})}};(H.a.MODE===F.D.TEST||H.a.DEV)&&(window.h=window.h||{},Object.defineProperties(window.h,{elements:{configurable:!0,get(){return this.app?.scene.getElementsIncludingDeleted()},set(a){return this.app?.scene.replaceAllElements((0,F.Nj)(a))}},scene:{configurable:!0,get(){return this.app?.scene}}}));var kw=()=>(0,e.jsx)("svg",{viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"ExcalidrawLogo-icon",children:(0,e.jsx)("path",{d:"M39.9 32.889a.326.326 0 0 0-.279-.056c-2.094-3.083-4.774-6-7.343-8.833l-.419-.472a.212.212 0 0 0-.056-.139.586.586 0 0 0-.167-.111l-.084-.083-.056-.056c-.084-.167-.28-.278-.475-.167-.782.39-1.507.973-2.206 1.528-.92.722-1.842 1.445-2.708 2.25a8.405 8.405 0 0 0-.977 1.028c-.14.194-.028.361.14.444-.615.611-1.23 1.223-1.843 1.861a.315.315 0 0 0-.084.223c0 .083.056.166.111.194l1.09.833v.028c1.535 1.528 4.244 3.611 7.12 5.861.418.334.865.667 1.284 1 .195.223.39.473.558.695.084.11.28.139.391.055.056.056.14.111.196.167a.398.398 0 0 0 .167.056.255.255 0 0 0 .224-.111.394.394 0 0 0 .055-.167c.029 0 .028.028.056.028a.318.318 0 0 0 .224-.084l5.082-5.528a.309.309 0 0 0 0-.444Zm-14.63-1.917a.485.485 0 0 0 .111.14c.586.5 1.2 1 1.843 1.555l-2.569-1.945-.251-.166c-.056-.028-.112-.084-.168-.111l-.195-.167.056-.056.055-.055.112-.111c.866-.861 2.346-2.306 3.1-3.028-.81.805-2.43 3.167-2.095 3.944Zm8.767 6.89-2.122-1.612a44.713 44.713 0 0 0-2.625-2.5c1.145.861 2.122 1.611 2.262 1.75 1.117.972 1.06.806 1.815 1.445l.921.666a1.06 1.06 0 0 1-.251.25Zm.558.416-.056-.028c.084-.055.168-.111.252-.194l-.196.222ZM1.089 5.75c.055.361.14.722.195 1.056.335 1.833.67 3.5 1.284 4.75l.252.944c.084.361.223.806.363.917 1.424 1.25 3.602 3.11 5.947 4.889a.295.295 0 0 0 .363 0s0 .027.028.027a.254.254 0 0 0 .196.084.318.318 0 0 0 .223-.084c2.988-3.305 5.221-6.027 6.813-8.305.112-.111.14-.278.14-.417.111-.111.195-.25.307-.333.111-.111.111-.306 0-.39l-.028-.027c0-.055-.028-.139-.084-.167-.698-.666-1.2-1.138-1.731-1.638-.922-.862-1.871-1.75-3.881-3.75l-.028-.028c-.028-.028-.056-.056-.112-.056-.558-.194-1.703-.389-3.127-.639C6.087 2.223 3.21 1.723.614.944c0 0-.168 0-.196.028l-.083.084c-.028.027-.056.055-.224.11h.056-.056c.028.167.028.278.084.473 0 .055.112.5.112.555l.782 3.556Zm15.496 3.278-.335-.334c.084.112.196.195.335.334Zm-3.546 4.666-.056.056c0-.028.028-.056.056-.056Zm-2.038-10c.168.167.866.834 1.033.973-.726-.334-2.54-1.167-3.379-1.445.838.167 1.983.334 2.346.472ZM1.424 2.306c.419.722.754 3.222 1.089 5.666-.196-.778-.335-1.555-.503-2.278-.251-1.277-.503-2.416-.838-3.416.056 0 .14 0 .252.028Zm-.168-.584c-.112 0-.223-.028-.307-.028 0-.027 0-.055-.028-.055.14 0 .223.028.335.083Zm-1.089.222c0-.027 0-.027 0 0ZM39.453 1.333c.028-.11-.558-.61-.363-.639.42-.027.42-.666 0-.666-.558.028-1.144.166-1.675.25-.977.194-1.982.389-2.96.61-2.205.473-4.383.973-6.561 1.557-.67.194-1.424.333-2.066.666-.224.111-.196.333-.084.472-.056.028-.084.028-.14.056-.195.028-.363.056-.558.083-.168.028-.252.167-.224.334 0 .027.028.083.028.11-1.173 1.556-2.485 3.195-3.909 4.945-1.396 1.611-2.876 3.306-4.356 5.056-4.719 5.5-10.052 11.75-15.943 17.25a.268.268 0 0 0 0 .389c.028.027.056.055.084.055-.084.084-.168.14-.252.222-.056.056-.084.111-.084.167a.605.605 0 0 0-.111.139c-.112.111-.112.305.028.389.111.11.307.11.39-.028.029-.028.029-.056.056-.056a.44.44 0 0 1 .615 0c.335.362.67.723.977 1.028l-.698-.583c-.112-.111-.307-.083-.39.028-.113.11-.085.305.027.389l7.427 6.194c.056.056.112.056.196.056s.14-.028.195-.084l.168-.166c.028.027.083.027.111.027.084 0 .14-.027.196-.083 10.052-10.055 18.15-17.639 27.42-24.417.083-.055.111-.166.111-.25.112 0 .196-.083.251-.194 1.704-5.194 2.039-9.806 2.15-12.083v-.028c0-.028.028-.056.028-.083.028-.056.028-.084.028-.084a1.626 1.626 0 0 0-.111-1.028ZM21.472 9.5c.446-.5.893-1.028 1.34-1.5-2.876 3.778-7.65 9.583-14.408 16.5 4.607-5.083 9.242-10.333 13.068-15ZM5.193 35.778h.084-.084Zm3.462 3.194c-.027-.028-.027-.028 0-.028v.028Zm4.16-3.583c.224-.25.448-.472.699-.722 0 0 0 .027.028.027-.252.223-.475.445-.726.695Zm1.146-1.111c.14-.14.279-.334.446-.5l.028-.028c1.648-1.694 3.351-3.389 5.082-5.111l.028-.028c.419-.333.921-.694 1.368-1.028a379.003 379.003 0 0 0-6.952 6.695ZM24.794 6.472c-.921 1.195-1.954 2.778-2.82 4.028-2.736 3.944-11.532 13.583-11.727 13.75a1976.983 1976.983 0 0 1-8.042 7.639l-.167.167c-.14-.167-.14-.417.028-.556C14.49 19.861 22.03 10.167 25.074 5.917c-.084.194-.14.36-.28.555Zm4.83 5.695c-1.116-.64-1.646-1.64-1.34-2.611l.084-.334c.028-.083.084-.194.14-.277.307-.5.754-.917 1.257-1.167.027 0 .055 0 .083-.028-.028-.056-.028-.139-.028-.222.028-.167.14-.278.335-.278.335 0 1.369.306 1.76.639.111.083.223.194.335.305.14.167.363.445.474.667.056.028.112.306.196.445.056.222.111.472.084.694-.028.028 0 .194-.028.194a2.668 2.668 0 0 1-.363 1.028c-.028.028-.028.056-.056.084l-.028.027c-.14.223-.335.417-.53.556-.643.444-1.369.583-2.095.389 0 0-.195-.084-.28-.111Zm8.154-.834a39.098 39.098 0 0 1-.893 3.167c0 .028-.028.083 0 .111-.056 0-.084.028-.14.056-2.206 1.61-4.356 3.305-6.506 5.028 1.843-1.64 3.686-3.306 5.613-4.945.558-.5.949-1.139 1.06-1.861l.28-1.667v-.055c.14-.334.67-.195.586.166Z",fill:"currentColor"})}),kx=()=>(0,e.jsxs)("svg",{viewBox:"0 0 450 55",xmlns:"http://www.w3.org/2000/svg",fill:"none",className:"ExcalidrawLogo-text",children:[(0,e.jsx)("path",{d:"M429.27 96.74c2.47-1.39 4.78-3.02 6.83-4.95 1.43-1.35 2.73-2.86 3.81-4.51-.66.9-1.4 1.77-2.23 2.59-2.91 2.84-5.72 5.09-8.42 6.87h.01ZM343.6 69.36c.33 3.13.58 6.27.79 9.4.09 1.37.18 2.75.25 4.12-.12-4.46-.27-8.93-.5-13.39-.11-2.08-.24-4.16-.4-6.24-.06 1.79-.11 3.85-.13 6.11h-.01ZM378.47 98.34c.01-.37.07-1.13.01-6.51-.11 1.9-.22 3.81-.31 5.71-.07 1.42-.22 2.91-.16 4.35.39.03.78.07 1.17.1-.92-.85-.76-2.01-.72-3.66l.01.01ZM344.09 86.12c-.09-2.41-.22-4.83-.39-7.24v12.21c.15-.05.32-.09.47-.14.05-1.61-.03-3.23-.09-4.83h.01ZM440.69 66.79c-.22-.34-.45-.67-.69-.99-3.71-4.87-9.91-7.14-15.65-8.55-1.05-.26-2.12-.49-3.18-.71 2.29.59 4.48 1.26 6.64 2.02 7.19 2.54 10.57 5.41 12.88 8.23ZM305.09 72.46l1.2 3.6c.84 2.53 1.67 5.06 2.46 7.61.24.78.5 1.57.73 2.36.22-.04.44-.08.67-.12a776.9 776.9 0 0 1-5.01-13.57c-.02.04-.03.09-.05.13v-.01ZM345.49 90.25v.31c1.48-.42 3.05-.83 4.66-1.2-1.56.25-3.12.52-4.66.89ZM371.02 90.22c0-.57-.04-1.14-.11-1.71-.06-.02-.12-.04-.19-.05-.21-.05-.43-.08-.65-.11.42.16.74.88.95 1.87ZM398.93 54.23c-.13 0-.27-.01-.4-.02l.03.4c.11-.15.23-.27.37-.38ZM401.57 62.28v-.15c-1.22-.24-2.86-.61-3.23-1.25-.09-.15-.18-.51-.27-.98-.09.37-.2.73-.33 1.09 1.24.56 2.52.98 3.83 1.29ZM421.73 88.68c-2.97 1.65-6.28 3.12-9.69 3.68v.18c4.72-.14 11.63-3.85 16.33-8.38-2.04 1.75-4.33 3.24-6.63 4.53l-.01-.01ZM411.28 80.92c-.05-1.2-.09-2.4-.15-3.6-.21 5.66-.46 11.38-.47 14.51.24-.02.48-.04.71-.07.15-3.61.05-7.23-.09-10.83v-.01Z",transform:"translate(-144.023 -51.76)"}),(0,e.jsx)("path",{d:"M425.38 67.41c-3.5-1.45-7.19-2.57-14.06-3.62.09 1.97.06 4.88-.03 8.12.03.04.06.09.06.15.19 1.36.28 2.73.37 4.1.25 3.77.39 7.55.41 11.33 0 1.38-.01 2.76-.07 4.13 1.4-.25 2.78-.65 4.12-1.15 4.07-1.5 7.94-3.78 11.28-6.54 2.33-1.92 5.13-4.49 5.88-7.58.63-3.53-2.45-6.68-7.97-8.96l.01.02ZM411.35 92.53v-.06l-.34.03c.11.01.22.03.34.03ZM314.26 64.06c-.23-.59-.47-1.17-.7-1.75.57 1.62 1.11 3.25 1.6 4.9l.15.54 2.35 6.05c.32.82.66 1.64.98 2.46-1.38-4.1-2.83-8.17-4.39-12.2h.01ZM156.82 103.07c-.18.13-.38.23-.58.33 1.32-.03 2.66-.2 3.93-.34.86-.09 1.72-.22 2.58-.33-2.12.1-4.12.17-5.94.34h.01ZM210.14 68.88s.03.04.05.07c.18-.31.39-.64.58-.96-.21.3-.42.6-.64.89h.01ZM201.65 82.8c-.5.77-1.02 1.56-1.49 2.37 1.11-1.55 2.21-3.1 3.2-4.59-.23.23-.49.51-.75.79-.32.47-.65.95-.96 1.43ZM194.03 98.66c-.33-.4-.65-.84-1.05-1.17-.24-.2-.07-.49.17-.56-.23-.26-.42-.5-.63-.75 1.51-2.55 3.93-5.87 6.4-9.28-.17-.08-.29-.28-.2-.49.04-.09.09-.17.13-.26-1.21 1.78-2.42 3.55-3.61 5.33-.87 1.31-1.74 2.64-2.54 4-.29.5-.63 1.04-.87 1.61.81.65 1.63 1.27 2.47 1.88-.09-.11-.18-.21-.27-.32v.01ZM307.79 82.93c-1-3.17-2.05-6.32-3.1-9.48-1.62 4.08-3.69 9.17-6.16 15.19 3.32-1.04 6.77-1.87 10.27-2.5-.32-1.08-.67-2.15-1.01-3.21ZM149.5 80.7c.05-1.71.04-3.43 0-5.14-.1 2.26-.16 4.51-.22 6.77-.02.73-.03 1.46-.04 2.19.14-1.27.2-2.55.24-3.82h.02ZM228.98 98.3c.39 1.25.91 3.03.94 3.91.06-.03.12-.07.17-.1.08-1.29-.55-2.65-1.11-3.81ZM307.72 53.36c.81.5 1.53 1.04 2.07 1.49-.38-.8-.78-1.58-1.21-2.35-.17.03-.34.06-.51.11-.43.12-.86.26-1.29.41.35-.01.53.1.94.34ZM283.69 96.14c3.91-7.25 6.89-13.35 8.88-18.15l1.1-2.66c-1.27 2.64-2.56 5.27-3.83 7.9-1.53 3.15-3.06 6.31-4.58 9.47-.87 1.81-1.76 3.62-2.54 5.47.04.02.07.04.11.07.05.05.1.09.15.14.05-.73.27-1.48.71-2.24ZM289.92 103.23s-.04.01-.05.03c0-.02.04-.03.05-.04.05-.05.11-.1.16-.15l.21-.21c-.55 0-1.5-.27-2.55-.72.4.26.8.51 1.22.74.24.13.48.26.73.37.05.02.1.03.14.05a.27.27 0 0 1 .08-.07h.01ZM269.23 68.49c-.39-.19-.82-.48-1.33-.87-3.06-1.56-6.31-2.78-9.36-2.35-3.5.49-5.7 1.11-7.74 2.44 5.71-2.6 12.82-2.07 18.44.79l-.01-.01ZM177.87 53.69l1.06.03c-.96-.22-2-.25-2.89-.3-4.95-.26-9.99.33-14.86 1.19-2.44.43-4.88.95-7.28 1.59 9.09-1.76 15.69-2.77 23.97-2.51ZM219.85 55.51c-.18.12-.36.27-.56.45-.45.53-.86 1.11-1.26 1.66-1.91 2.61-3.71 5.31-5.57 7.95l-.12.18 8.05-10.11c-.18-.05-.36-.1-.55-.13h.01ZM510.71 54.1c.12-.15.29-.3.53-.45.69-.4 3.72-.63 5.87-.74-.36-.02-.73-.04-1.09-.05-1.84-.03-3.67.09-5.49.35.05.3.12.59.18.88v.01ZM510.76 86.02c1.37-3.07 2.49-6.27 3.57-9.46.55-1.64 1.12-3.3 1.6-4.97-1.59 4.01-3.67 9.14-6.2 15.3.24-.08.5-.14.74-.22.1-.22.19-.44.29-.65ZM566.95 75.76c.11-.02.23.03.31.11-.05-.13-.09-.26-.14-.39-.05.09-.11.18-.17.28ZM511.33 86.41c3.08-.89 6.24-1.62 9.46-2.14-1.51-3.98-2.98-7.96-4.39-11.87-.05.15-.09.31-.14.46-1.02 3.32-2.15 6.61-3.39 9.85-.48 1.25-.98 2.49-1.53 3.7h-.01ZM578.24 74.45c.11-.44.23-.87.35-1.31-.31.7-.64 1.39-.97 2.08.09.21.19.4.28.61.12-.46.23-.92.35-1.38h-.01ZM520.62 53.11c-.09 0-.18-.01-.28-.02.38.34.29 1.08.93 2.53l6.65 17.15c2.2 5.68 4.69 11.36 7.41 16.87l1.06 2.17c-2.95-7.05-5.92-14.08-8.87-21.13-1.58-3.79-3.16-7.59-4.7-11.4-.78-1.92-1.73-3.89-2.25-5.91-.03-.1 0-.19.04-.26h.01ZM578.78 77.87c1.45-5.77 3.07-10.43 3.58-13.36.05-.34.16-.88.31-1.55-.67 1.79-1.37 3.56-2.08 5.33-.12.43-.23.86-.35 1.29-.65 2.43-1.29 4.86-1.9 7.3.14.33.29.65.43 1l.01-.01ZM545.3 94.66c.02-.44.03-.83.05-1.12.02-1.01.05-2.02.11-3.02.03-6.66-.46-14.33-1.46-22.8-.13-.42-.27-1.24-.56-2.89 0-.02 0-.04-.01-.06.62 6.61.95 13.25 1.32 19.87.17 3.08.33 6.16.52 9.23.02.25.03.52.04.78l-.01.01ZM580.77 102.81c.13.2.27.38.37.49.27-.11.53-.22.8-.32-.43.09-.82.05-1.17-.16v-.01ZM530.48 104.07h.33c-.36-.13-.71-.32-1.04-.56.14.24.3.47.45.7.06-.08.14-.13.26-.13v-.01ZM542.63 58.82c.06.23.11.47.15.71.14-.33.36-.62.7-.86-.28.05-.57.11-.85.15ZM583.81 57.87c.15-.7.29-1.41.42-2.11-.14.45-.28.9-.42 1.34-.46 1.44-.89 2.89-1.31 4.34.44-1.19.88-2.37 1.31-3.57ZM523.62 91.48c-4.66 1.17-9.05 2.89-14.02 5.27 4.65-1.84 9.48-3.29 14.28-4.63-.09-.22-.17-.41-.26-.64ZM460.64 78.3c-.04-2.9-.11-5.81-.28-8.71-.1-1.68-.17-3.43-.5-5.09-.07.02-.14.03-.2.05.3 6.54.45 12.17.51 17.12.17-.07.34-.14.51-.2 0-1.06-.01-2.11-.03-3.17h-.01ZM470.63 63.24c-3.38-.26-6.81.32-10.1 1.1.41 2.01.47 4.14.57 6.18.18 3.55.25 7.11.27 10.67 3.31-1.38 6.5-3.12 9.3-5.35 1.96-1.56 3.86-3.41 5.02-5.66.73-1.41 1.19-3.22.26-4.65-1.09-1.7-3.46-2.14-5.32-2.29ZM460.29 63.68c1-.24 2.01-.46 3.04-.65-1.15.16-2.37.38-3.71.69v.13c.07-.02.15-.04.22-.05.11-.13.3-.18.45-.11v-.01ZM457.24 100.96c.43-.03.86-.07 1.29-.11.14-.49.27-.99.38-1.49-.44.7-1 1.23-1.67 1.6ZM482.88 104.98c-.18.23-.36.38-.55.47.14.09.27.19.4.28a70.76 70.76 0 0 0 4.37-4.63c.76-.89 1.52-1.81 2.19-2.77-.3-.27-.61-.53-.92-.79-.07 1.94-4.62 6.32-5.49 7.45v-.01Z",transform:"translate(-144.023 -51.76)"}),(0,e.jsx)("path",{d:"M474.36 63.31c-.4-.16-.84-.27-1.29-.37 1.56.42 3.08 1.22 3.76 2.74.62 1.4.32 2.95-.28 4.32.7-1.22.94-2.34.74-3.47-.24-1.33-1.19-2.54-2.93-3.21v-.01ZM477.34 89.18c-1.2-.81-2.4-1.62-3.6-2.42-.14.1-.26.19-.4.29 1.4.67 2.73 1.39 4 2.13ZM465.88 93.85c.37.25.74.5 1.1.75.46.32.92.65 1.38.97-1.57-1.2-2.01-1.61-2.49-1.72h.01ZM574.92 90.06c-2.28-5.21-4.93-11.13-5.67-12.26-.1-.15-1.57-3.01-1.63-3.08 0 0-.01.02-.02.02.4 1.37 1.09 2.69 1.65 3.99 2.14 4.95 4.36 9.86 6.67 14.73.6 1.26 1.21 2.52 1.83 3.78-.75-2.01-1.64-4.45-2.83-7.18ZM448.73 65.29c.1.2.22.38.34.57.22-.02.43-.06.65-.08v-.08c-.14-.05-.25 0-.99-.41ZM460.16 94.81c-.02.31-.06.59-.1.89-.03 1.71-.33 3.43-.79 5.07.15-.02.3-.03.45-.05.01-.04.02-.08.03-.11.09-.34.15-.69.2-1.03.17-1.07.25-2.16.33-3.24.05-.69.08-1.39.12-2.08-.27.1-.27.26-.24.57v-.02Z",transform:"translate(-144.023 -51.76)"}),(0,e.jsx)("path",{d:"m328.67 98.12-3.22-6.58c-1.29-2.63-2.53-5.29-3.72-7.97-.25-.85-.52-1.69-.79-2.53-.81-2.57-1.67-5.12-2.55-7.67-1.92-5.53-3.9-11.08-6.32-16.41-.72-1.58-1.46-3.44-2.63-4.79-.03-.17-.16-.29-.34-.36a.282.282 0 0 0-.23-.04c-.06-.01-.12 0-.18.01-.74.06-1.5.38-2.19.61-2.22.77-4.4 1.64-6.63 2.38-.03-.08-.06-.16-.09-.25-.15-.42-.82-.24-.67.19.03.09.07.19.1.28l-.18.06c-.36.11-.28.6 0 .68.18 1.18.63 2.36.98 3.49.03.09.06.17.08.26-.08.23-.17.46-.24.64-.37.98-.79 1.94-1.21 2.9-1.27 2.89-2.62 5.75-3.98 8.6-3.18 6.67-6.44 13.31-9.64 19.97-1.08 2.25-2.2 4.5-3.15 6.81-.13.32.24.5.5.37 1.34 1.33 2.84 2.5 4.4 3.57.65.44 1.31.87 2.01 1.24.4.22.86.48 1.33.5.24.01.35-.19.33-.37.11-.1.21-.21.28-.28.41-.41.81-.84 1.2-1.26.85-.92 1.69-1.87 2.5-2.84 6.31-2.34 12.6-4.31 18.71-5.84 2.14 5.3 3.43 8.43 3.97 9.58.55 1.05 1.15 1.88 1.82 2.52 1.32.56 6.96-.03 9.23-1.96.87-1.28 1.19-2.67.93-4.15-.09-.5-.22-.95-.4-1.33l-.01-.03Zm-20.09-45.61c.43.77.83 1.56 1.21 2.35-.54-.45-1.27-.99-2.07-1.49-.42-.24-.6-.35-.94-.34.43-.15.85-.29 1.29-.41.17-.05.34-.08.51-.11Zm-25.86 45.66c.78-1.85 1.67-3.66 2.54-5.47 1.51-3.16 3.05-6.31 4.58-9.47 1.28-2.63 2.56-5.26 3.83-7.9l-1.1 2.66c-1.99 4.79-4.97 10.9-8.88 18.15-.43.76-.66 1.51-.71 2.24-.05-.05-.1-.09-.15-.14a.259.259 0 0 0-.11-.07Zm6.24 4.71c-.42-.23-.82-.48-1.22-.74 1.05.45 2 .72 2.55.72l-.21.21c-.05.05-.11.1-.16.15-.01.01-.04.03-.05.04 0-.02.03-.02.05-.03a.27.27 0 0 0-.08.07c-.05-.02-.1-.03-.14-.05-.25-.1-.49-.24-.73-.37h-.01Zm15.73-29.43c1.05 3.15 2.1 6.31 3.1 9.48.34 1.06.69 2.13 1.01 3.21-3.5.63-6.95 1.46-10.27 2.5 2.48-6.03 4.54-11.11 6.16-15.19Zm4.79 12.57c-.23-.79-.49-1.58-.73-2.36-.79-2.54-1.63-5.08-2.46-7.61l-1.2-3.6c.02-.04.04-.09.05-.13 1.6 4.45 3.28 9 5.01 13.57l-.67.12v.01Zm5.83-18.27-.15-.54c-.49-1.64-1.03-3.28-1.6-4.9.23.58.47 1.17.7 1.75 1.56 4.03 3.01 8.1 4.39 12.2-.33-.82-.67-1.64-.98-2.46l-2.35-6.05h-.01ZM390.43 79.37c-.13-10.43-.22-17.5-.24-19.97-.24-1.6.21-2.88-.65-3.65-.14-.13-.32-.23-.52-.32h.03c.45 0 .45-.69 0-.7-1.75-.03-3.5-.04-5.25-.14-1.38-.08-2.76-.21-4.15-.31-.07 0-.12.01-.17.04-.21-.07-.47.03-.45.31l.03.45c-.11.14-.19.3-.22.5-.21 1.26-.32 13.67-.36 23.59-.32 5.79-.67 11.57-.97 17.36-.09 1.73-.29 3.54-.21 5.3-.39.02-.38.64.04.69v.12c.05.44.74.45.7 0v-.06c1.1.09 2.2.21 3.3.3 1.14.19 2.44.2 3.29.17 1.73-.05 2.92-.05 3.8-.37.45-.05.9-.11 1.35-.17.44-.06.25-.73-.19-.67h-.01c.24-.32.45-.72.62-1.25.66-1.84.41-6.36.34-11.33l-.13-9.9.02.01Zm-12.26 18.17c.09-1.91.2-3.81.31-5.71.06 5.38 0 6.14-.01 6.51-.05 1.65-.21 2.81.72 3.66-.39-.04-.78-.07-1.17-.1-.06-1.44.09-2.93.16-4.35l-.01-.01ZM588.97 53.85c-2.06-.25-3.17-.51-3.76-.6a.3.3 0 0 1 .04-.08c.22-.39-.39-.75-.6-.35-.56 1.02-.9 2.19-1.26 3.29-.61 1.88-1.17 3.78-1.72 5.68-.63 2.19-1.24 4.39-1.83 6.59-.81 2.03-1.67 4.05-2.61 6.03-1.7-3.64-3.11-6.04-4.03-7.57-2.26-3.74-2.85-5.48-3.57-6.08l.31-.09c.43-.12.25-.8-.19-.67-1.06.3-2.12.6-3.17.95-.93.32-1.85.69-2.76 1.07-.13.05-.19.16-.22.27-.04.02-.08.05-.11.07-.04-.06-.07-.12-.11-.18a.354.354 0 0 0-.48-.12c-.16.09-.22.32-.13.48l.33.54c0 .09.02.18.06.28.51 1.16.78 1.38.72 1.47-2.42 3.44-5.41 7.86-6.2 9.1-1.27 1.97-2.01 3.14-2.45 3.84l-.91-6.56-.43-4.1c-.19-1.85-.37-3.23-.53-4.13-.19-1.1-.3-2.15-.45-3.16-.2-1.36-.29-2.06-.47-2.42h.04c.45.02.45-.68 0-.7-3.43-.16-6.81.94-10.17 1.48-.24-.22-.73-.04-.58.32.24.59.33 1.25.43 1.87.17 1.06.29 2.13.4 3.2.32 3.09.53 6.2.74 9.3.44 6.75.77 13.51 1.17 20.26.11 1.95.13 3.96.46 5.89.05.3.37.31.55.14.74 1.71 2.87 1.27 6.13 1.27 1.34 0 2.39.04 2.99-.11.02.32.48.53.63.18 3.61-8.26 7.41-16.46 12.05-24.2.03-.05.04-.1.05-.15.3.73.64 1.45.94 2.16.97 2.26 1.97 4.52 2.98 6.76 2.26 5.03 4.54 10.07 7.09 14.96.47.9.94 1.79 1.47 2.65.2.32.4.67.66.96-.18.25 0 .68.34.54.91-.38 1.82-.75 2.76-1.07 1.04-.35 2.11-.65 3.17-.95.39-.11.28-.66-.07-.68.62-.4.95-.96.87-1.91-.3-3.34.72-7.47.86-8.52l2.14-11.43c1.75-10.74 3.13-17.51 3.23-20.86.02-.49.08-2.84.13-3.24.17-1.25.48-1-4.96-1.65l.03-.02Zm-46.19 5.67c-.04-.24-.09-.48-.15-.71l.85-.15c-.34.24-.56.53-.7.86Zm1.95 25.12c-.36-6.63-.7-13.26-1.32-19.87 0 .02 0 .04.01.06.29 1.65.44 2.47.56 2.89 1 8.46 1.5 16.14 1.46 22.8-.06.99-.1 2-.11 3.02-.01.29-.03.68-.05 1.12-.01-.26-.03-.53-.04-.78-.19-3.08-.35-6.16-.52-9.23l.01-.01Zm36.4 18.66c-.11-.11-.24-.29-.37-.49.35.21.74.26 1.17.16-.27.11-.53.22-.8.32v.01Zm-.89-33.72c.12-.43.23-.86.35-1.29.71-1.77 1.41-3.55 2.08-5.33-.15.68-.26 1.22-.31 1.55-.5 2.94-2.13 7.59-3.58 13.36-.15-.35-.29-.66-.43-1 .61-2.44 1.25-4.87 1.9-7.3l-.01.01Zm3.56-12.48c.14-.44.28-.89.42-1.34-.13.7-.27 1.41-.42 2.11-.43 1.19-.86 2.38-1.31 3.57.42-1.45.85-2.9 1.31-4.34Zm-5.22 16.05c-.11.44-.23.87-.35 1.31-.12.46-.23.92-.35 1.38-.1-.22-.19-.4-.28-.61.34-.69.66-1.38.97-2.08h.01Zm-11.64 2.62c.06-.1.12-.19.17-.28.05.13.09.26.14.39a.398.398 0 0 0-.31-.11Zm2.3 2.98c-.56-1.3-1.25-2.63-1.65-3.99 0 0 .01-.02.02-.02.06.08 1.52 2.93 1.63 3.08.73 1.13 3.38 7.04 5.67 12.26 1.2 2.73 2.08 5.17 2.83 7.18-.62-1.25-1.23-2.51-1.83-3.78-2.31-4.87-4.53-9.78-6.67-14.73ZM275.92 87.03c-1.06-2.18-1.13-3.45-2.44-2.93-1.52.57-2.94 1.3-4.5 2.1-1.4.72-2.68 1.44-3.92 2.12.01-.25-.24-.5-.51-.34-4.8 2.93-12.41 4.7-17.28 1.31-1.98-1.77-3.32-4.15-3.97-5.78-.29-.95-.49-1.94-.63-2.93-.14-3.34 1.58-6.53 3.9-9.12.8-.79 1.68-1.51 2.66-2.12 3.7-2.3 8.22-3.07 12.51-2.51 2.71.35 5.32 1.24 7.71 2.55.39.22.75-.39.35-.6-.18-.1-.37-.18-.55-.27.56.27 1.03.33 1.51.19l-.48.39c-.15.11-.23.3-.13.48.09.15.33.24.48.13 1.3-.97 2.46-2.09 3.45-3.37.37-.29.64-.6.65-.97v-.02c.08-.33-.03-.7-.21-1.08-.31-.87-.98-2.01-2.19-3.26-2.43-2.52-3.79-3.45-5.68-4.26-1.14-.49-3.12-1.06-4.42-1.23-3.28-.42-10.64-1.21-18.18 4.11-7.74 5.46-11.94 12.3-12.23 20.61-.08 2.06.04 3.98.34 5.71.74 4.18 2.57 8 5.44 11.34 4.26 4.99 9.76 7.52 16.34 7.52 4.85 0 9.69-1.77 14.89-4.62.23-.12.45-.23.68-.35 2.19-1.1 4.37-2.23 6.46-3.5.49-.3 1.03-.61 1.5-.98 1.47-.87 1.11-1.12.49-2.95-.39-1.14-.76-2.7-2.06-5.36l.02-.01Zm-17.38-21.76c3.05-.42 6.31.79 9.36 2.35.51.39.94.68 1.33.87-5.61-2.86-12.72-3.39-18.44-.79 2.05-1.33 4.24-1.95 7.74-2.44l.01.01ZM443.67 72.67c-.4-2.2-1.15-4.33-2.37-6.22-1.49-2.32-3.58-4.19-5.91-5.64-6.17-3.81-13.75-5.11-20.83-6.01-3.23-.41-6.47-.69-9.72-.92l-1.39-.12c-.85-.07-1.52-.1-2.05-.1-1.08-.06-2.17-.12-3.25-.17-.08 0-.14.02-.19.05-.1.05-.18.14-.16.3.27 2.55-.01 5.12-.92 7.52-.15.38.4.56.62.28 1.32.59 2.68 1.05 4.08 1.37 0 2.78-.14 7.58-.33 12.91 0 0 0 .02-.01.03-.61 3.66-.79 7.42-1 11.12-.23 4.01-.43 8.03-.44 12.05 0 .64 0 1.28.03 1.93.02.31 0 .68.15.96.06.11.14.16.24.17-.2.17-.21.54.11.59 3.83.67 7.78.71 11.68.25 2.3-.19 4.87-.65 7.65-1.56 1.85-.54 3.67-1.18 5.43-1.91 7.2-3.02 14.31-8.07 17.35-15.53.76-1.86 1.17-3.8 1.31-5.75.3-1.93.28-3.82-.09-5.58l.01-.02Zm-19.32-15.42c5.74 1.41 11.94 3.68 15.65 8.55.25.32.47.65.69.99-2.3-2.82-5.68-5.69-12.88-8.23-2.16-.76-4.35-1.43-6.64-2.02 1.06.21 2.13.45 3.18.71Zm-25.82-3.04c.13 0 .27.01.4.02-.14.1-.26.23-.37.38 0-.13-.02-.26-.03-.4Zm34.82 22.17c-.75 3.09-3.55 5.66-5.88 7.58-3.35 2.76-7.21 5.03-11.28 6.54-1.33.49-2.71.9-4.12 1.15.06-1.38.08-2.76.07-4.13-.02-3.78-.16-7.56-.41-11.33-.09-1.37-.18-2.74-.37-4.1 0-.06-.03-.11-.06-.15.09-3.25.12-6.16.03-8.12 6.86 1.05 10.56 2.17 14.06 3.62 5.52 2.28 8.59 5.44 7.97 8.96l-.01-.02Zm-22 16.15c-.12 0-.23-.02-.34-.03l.34-.03v.06Zm-.69-.7c0-3.13.26-8.84.47-14.51.06 1.2.11 2.41.15 3.6.15 3.6.25 7.23.09 10.83-.24.03-.48.05-.71.07v.01Zm-12.33-30.94c.37.63 2.01 1.01 3.23 1.25v.15c-1.31-.31-2.59-.73-3.83-1.29.12-.36.23-.72.33-1.09.08.48.18.84.27.98Zm13.7 31.65v-.18c3.41-.56 6.71-2.02 9.69-3.68 2.31-1.28 4.59-2.78 6.63-4.53-4.69 4.53-11.61 8.24-16.33 8.38l.01.01Zm24.07-.75c-2.05 1.93-4.37 3.56-6.83 4.95 2.7-1.78 5.52-4.03 8.42-6.87.82-.82 1.56-1.69 2.23-2.59-1.08 1.65-2.38 3.16-3.81 4.51h-.01ZM187.16 92.14c-.79-2.47-2.1-7.12-3.1-6.87-.19-.01-2.09.77-4.08 1.54-3.06 1.18-5.91 2.13-10.09 2.82-2.74.42-5.87 1.01-10.61 1.06.04-3.34.05-6.01.05-7.99 7.97-.65 12.33-2.11 16.37-3.55 1.11-.39 2.69-1.01 2.63-1.8-.08-.35-.55-1.39-1.17-2.61-.47-1.16-.98-2.31-1.61-3.38-.42-.71-1.04-1.69-1.86-2.06-.11-.08-.22-.13-.29-.12-.02 0-.04 0-.07.01-.19-.04-.39-.05-.6-.01-.17.03-.24.15-.25.28-.04.02-.09.04-.14.05-4.33 1.48-8.85 2.33-13.24 3.61a499.1 499.1 0 0 0-.31-8.19c4.51-.99 8.88-1.38 13.11-1.82 3.68-.38 6.28.12 7.47.34.59.11.9.16 1.16.18h.1c-.1.37.44.66.62.28.02-.04.03-.08.05-.13.15.2.53.22.62-.1.17-.58.19-1.21.21-1.81v-.36c.03-.15.05-.3.07-.45.52-2.47.33-5.09-.64-7.44-.11-.27-.44-.28-.6-.14-.08-.21-.15-.42-.24-.62-.19-.41-.79-.05-.6.35.03.07.05.15.09.22-.98-.42-2.15-.54-3.17-.63-2.17-.19-4.37-.14-6.54 0-5.7.35-11.4 1.3-16.91 2.79-2.08.56-4.13 1.22-6.14 2-4.54 1.05-3.79 1.51-2.17 6.07.18.51.46 1.68.54 1.94.82 2.47 1.08 2.13 3.1 2.13s0 .05 0 .08h.52c-.48 2.66-.51 5.45-.62 8.13-.15 3.48-.22 6.96-.28 10.45 0 .41-.01.82-.02 1.23-.16.29-.33.57-.51.85-.05.38-.09.77-.14 1.18-.42 3.52-.59 6.48-.52 8.8v.34c.02.47.05.76.06.87.16 1.57-.26 3.47 1.35 3.79 1.61.32 3.5.55 4.85.55.11 0 .22-.02.33-.02 1.79.24 3.67.05 5.45-.12 2.85-.28 5.69-.7 8.51-1.19 3.03-.53 6.05-1.14 9.04-1.86 2.4-.58 4.82-1.19 7.13-2.06.51-.19 1.73-.57 2.46-1.14 1.81-.68 2.18-1 1.57-2.67-.23-.62-.48-1.49-.91-2.78l-.03-.02Zm-11.12-38.71c.89.05 1.93.08 2.89.3-.33 0-.68-.02-1.06-.03-8.28-.26-14.88.75-23.97 2.51 2.41-.64 4.85-1.16 7.28-1.59 4.87-.86 9.91-1.45 14.86-1.19Zm-26.53 22.13c.03 1.71.04 3.43 0 5.14-.04 1.27-.11 2.55-.24 3.82 0-.73.02-1.46.04-2.19.05-2.26.12-4.51.22-6.77h-.02Zm6.73 27.85c.2-.1.4-.21.58-.33 1.82-.17 3.82-.24 5.94-.34-.86.11-1.72.24-2.58.33-1.27.14-2.61.31-3.93.34h-.01ZM534.48 85.44c-3.52-8.38-7.07-16.75-10.5-25.17-.63-1.54-1.25-3.09-1.86-4.65-.31-.8-.65-1.6-.87-2.43-.04-.17-.17-.24-.31-.25.1-.2 0-.51-.29-.53-1.59-.08-3.18-.22-4.78-.25-1.96-.03-3.91.13-5.84.42-.31.05-.31.38-.13.56-.03.06-.05.14-.04.22.23 1.54.63 3.06 1.16 4.53.13.35.27.7.41 1.06l-2.68 6.18c-.11.03-.2.09-.25.22-.67 1.9-1.52 3.73-2.34 5.56a536.85 536.85 0 0 1-3.9 8.45c-2.64 5.64-5.34 11.25-7.91 16.93-.44.97-.88 1.94-1.29 2.93-.2.48-.47 1-.55 1.52v.05c-.02.12.02.26.16.34 1.19.73 2.41 1.41 3.66 2.05 1.2.62 2.45 1.25 3.76 1.61.43.12.62-.55.19-.67-1.13-.31-2.2-.83-3.24-1.36 1.09.36 2.1.69 2.75.93 2.82 1.01 2.38 1.1 4.3-3.75 2.1-1.09 4.34-1.96 6.53-2.79 4.35-1.64 8.8-3.03 13.27-4.29.82 2.01 1.77 3.97 2.72 5.92.35.83.62 1.45.79 1.82.22.42.45.8.69 1.15.17.33.33.67.5 1 .42.8.84 1.63 1.4 2.35.23.29.6 0 .55-.31 1.53-.02 3.06-.07 4.58-.27.92-.12 1.82-.32 2.71-.54 1.39-.27 3.85-1.11 3.74-1.42-.67-1.96-1.55-3.87-2.34-5.78-1.57-3.78-3.16-7.56-4.75-11.33v-.01Zm-11.65-26.16c1.54 3.81 3.12 7.6 4.7 11.4 2.94 7.05 5.91 14.09 8.87 21.13l-1.06-2.17c-2.71-5.51-5.2-11.19-7.41-16.87l-6.65-17.15c-.65-1.45-.55-2.19-.93-2.53.09 0 .18.01.28.02a.29.29 0 0 0-.04.26c.52 2.02 1.47 3.98 2.25 5.91h-.01Zm-6.58 13.58c.05-.15.09-.31.14-.46 1.41 3.92 2.88 7.9 4.39 11.87-3.22.52-6.38 1.25-9.46 2.14.55-1.22 1.05-2.46 1.53-3.7 1.24-3.24 2.37-6.53 3.39-9.85h.01Zm-.23-20c.36 0 .73.03 1.09.05-2.15.1-5.18.33-5.87.74-.24.15-.41.3-.53.45-.06-.29-.13-.58-.18-.88 1.82-.26 3.65-.39 5.49-.35v-.01Zm-.09 18.72c-.49 1.67-1.05 3.33-1.6 4.97-1.07 3.19-2.19 6.38-3.57 9.46-.09.21-.19.43-.29.65-.25.07-.5.14-.74.22 2.53-6.16 4.61-11.29 6.2-15.3Zm-6.34 25.16c4.97-2.38 9.37-4.1 14.02-5.27l.26.64c-4.8 1.35-9.63 2.8-14.28 4.63Zm20.17 6.76c.33.23.68.42 1.04.56h-.33c-.12 0-.21.06-.26.13-.15-.23-.31-.45-.45-.7v.01ZM226.57 91.75c-3.55-4.74-6.68-9.11-9.31-12.99 9.2-15.25 10.05-17.81 10.35-18.38.17-.34 1.09-2.27.64-2.53-1.13-.65-1.03-.65-2.97-1.71-1.19-.65-3.04-1.61-4.53-2.12-1.71-.59-1.24-.36-3 2.77-.06.1-.11.2-.17.3-.75 1.02-1.48 2.05-2.2 3.09-1.88 2.71-3.73 5.45-5.69 8.1-3.68-4.91-6.88-8.76-9.51-11.43-.15-.15-.3-.29-.46-.42-1.27-1.28-7.24 3.53-7.93 5.58-.09.09-.19.16-.28.25-.27.26.03.64.33.58.19.65.5 1.29.94 1.91 3.85 5.06 7.19 9.76 9.94 14-1.23 2.61-3.06 5-4.67 7.38l-2.28 3.33c-.5.66-.93 1.23-1.29 1.69-.67.93-2.09 2.61-2.3 3.87-.51.85-1.16 1.84-1.29 2.83-.06.44.61.63.67.19.01-.08.04-.15.06-.22 1.36 1.08 2.76 2.11 4.19 3.11 1.3.91 2.62 1.85 4.04 2.56.21.1.4 0 .48-.17.24.07.48.14.72.2.44.1.62-.57.19-.67-2.02-.48-3.77-1.57-5.23-3.02-.47-.46-.9-.96-1.32-1.46 1.74 1.35 4.2 2.89 5.89 4.14 1.39 1.03 2.85-2.27 4.22-4.2 1.86-2.64 3.96-5.86 5.52-8.29l10.39 14.51c.67.81 1.14 1.21 1.57 1.36-.05.24.12.51.41.4 1.53-.58 3.05-1.19 4.54-1.87 1.52-.69 3.06-1.45 4.36-2.5a.28.28 0 0 0 .12-.23c1.66-1.1.81-1.74-1.41-4.91-1.13-1.58-1.71-2.36-3.7-5.01l-.03-.02Zm2.41 6.54c.56 1.15 1.19 2.52 1.11 3.81-.06.04-.12.07-.17.1-.03-.88-.55-2.66-.94-3.91Zm-16.51-32.73c1.86-2.65 3.65-5.35 5.57-7.95.4-.55.81-1.13 1.26-1.66.19-.18.38-.33.56-.45.18.03.36.08.55.13l-8.05 10.11.12-.18h-.01ZM192.7 95.48c.79-1.37 1.66-2.69 2.54-4 1.19-1.79 2.4-3.56 3.61-5.33-.04.09-.09.17-.13.26-.1.22.03.41.2.49-2.47 3.42-4.89 6.73-6.4 9.28.21.24.4.48.63.75-.24.07-.4.36-.17.56.4.33.72.77 1.05 1.17.09.11.18.21.27.32-.84-.61-1.66-1.24-2.47-1.88.24-.57.58-1.11.87-1.61v-.01Zm7.46-10.32c.47-.81.98-1.59 1.49-2.37.31-.48.64-.95.96-1.43.26-.29.52-.56.75-.79-.99 1.48-2.09 3.03-3.2 4.59Zm10.03-16.22s-.03-.05-.05-.07c.22-.29.43-.59.64-.89-.2.32-.4.65-.58.96h-.01ZM371.54 87.96c-.01-.08-.01-.16-.03-.23-.06-.38-.58-.29-.66.03-.3-.05-.6-.08-.81-.11-1.14-.15-2.29-.19-3.44-.2 1.04-.09 2.09-.18 3.14-.23.45-.02.45-.72 0-.7-6.57.35-13.14 1.23-19.65 2.11-1.53.21-3.05.42-4.57.68-.01 0-.02.01-.04.01-.04-3.33-.13-6.66-.24-9.99-.19-5.7-.4-11.41-.88-17.1-.13-1.51-.23-3.07-.49-4.58 0-.25 0-.48-.02-.68-.06-1.19-.04-2.61-.68-2.78-.16-.07-.72-.16-1.5-.24.22-.17.16-.62-.2-.63-1.19-.04-2.39.09-3.57.23-1.2.14-2.41.32-3.59.6-.16-.1-.41-.06-.5.12-.06.02-.13.03-.19.05-.35.1-.29.55-.03.66-.26.6-.19 2.27-.21 3-.02.66-.66 33.73-.9 40.3-.03.65.06 1.12.04 1.45-.16 3.05.87 4.96 6.34 3.93 1.09-.08 2.75-.77 5.36-1.43 4.13-1.04 5.78-1.52 6.2-1.65 6.43-1.69 6.78-1.97 11.72-2.43.55-.05 4.8-.38 6.03-.3.64.04 1.19.07 1.65.1.09 0 .16-.03.24-.05.1.27.56.33.66-.02.39-1.32.61-2.71.78-4.08.2-1.61.29-3.24.15-4.86.24.03.52-.23.38-.53-.09-.2-.27-.33-.49-.43v-.02Zm-.63.56c.07.57.11 1.14.11 1.71-.21-.99-.53-1.71-.95-1.87.22.03.44.06.65.11.06.01.12.04.19.05Zm-25.41 1.73c1.54-.36 3.1-.64 4.66-.89-1.61.37-3.18.77-4.66 1.2v-.31Zm-.86-7.37c-.07-1.37-.16-2.75-.25-4.12-.21-3.13-.45-6.27-.79-9.4.02-2.25.08-4.31.13-6.11.16 2.08.29 4.16.4 6.24.23 4.46.38 8.93.5 13.39h.01Zm-.94-4c.16 2.41.29 4.83.39 7.24.06 1.6.14 3.22.09 4.83-.15.05-.32.09-.47.14V78.88h-.01ZM483.72 92.83c-3.05-2.28-6.22-4.4-9.38-6.51 8.86-6.49 13.49-12.95 13.73-19.23.04-.76 0-1.5-.13-2.2-.67-3.82-3.5-6.68-8.39-8.48.13.04.27.08.4.13 3.92 1.39 7.74 4.23 8.5 8.56.34 1.95-.05 3.96-.98 5.69-.21.4.39.75.6.35 1.86-3.46 1.46-7.55-.97-10.63-3.53-4.47-9.76-5.88-15.16-6.16-2.32-.12-4.64-.04-6.95.19-6 .32-12.71 1.68-17.63 3.21-.37.11-.67.23-.92.35-.2-.17-.62.02-.57.37v.03c-.64.68-.18 1.64.48 3.21.38.91.67 1.89 1.15 2.58.32.76.68 1.51 1.13 2.19.14.21.38.19.53.07.19-.02.38-.05.57-.08v1.57c-.06.06-.1.13-.11.23-.27 4.18-.34 8.38-.48 12.57l-.3 9.03c-.24 3.91-.44 6.77-.46 7.26-.05.88-.11 1.95.07 2.81-.01.22-.02.43-.04.65 0 .11-.02.23-.03.35 0 .05-.03.27-.01.16-.05.4.5.59.64.28.05.04.12.08.2.08 1.75.13 3.5.28 5.25.3 1.69.02 3.38-.12 5.06-.32.08.23.36.39.55.15.06-.08.11-.17.16-.26.18-.09.24-.32.18-.48.05-.2.1-.4.13-.6.16-.86.25-1.74.33-2.62.11-1.17.17-2.34.23-3.51.15-.01.32-.03.52-.04.36-.03 1.73-.15 2.06-.15.39 0 .7-.02.95-.04 1.76 1.11 3.45 2.35 5.14 3.55 2.83 2.01 5.64 4.04 8.47 6.04 1.42 1 2.85 2 4.29 2.97.1.06.19.07.27.04.08 0 .17-.02.25-.1 1.61-1.56 3.15-3.18 4.6-4.88.75-.88 1.49-1.78 2.15-2.73.01.01.03.02.04.03.34.3.83-.2.49-.49-2.16-1.9-4.34-3.76-6.64-5.48l.03-.01Zm-6.38-3.65a55.72 55.72 0 0 0-4-2.13c.14-.1.26-.19.4-.29 1.2.81 2.4 1.61 3.6 2.42Zm-20.1 11.78c.67-.37 1.23-.91 1.67-1.6-.11.5-.24 1-.38 1.49-.43.04-.86.08-1.29.11Zm2.38-37.24c1.34-.31 2.56-.52 3.71-.69-1.03.19-2.04.41-3.04.65-.14-.07-.34-.02-.45.11-.07.02-.15.04-.22.05v-.13.01Zm.04.84c.07-.02.14-.03.2-.05.34 1.66.41 3.41.5 5.09.17 2.9.24 5.81.28 8.71l.03 3.17c-.17.07-.34.14-.51.2-.06-4.96-.21-10.58-.51-17.12h.01Zm16.04 5.62c-1.16 2.25-3.06 4.1-5.02 5.66-2.8 2.23-5.99 3.97-9.3 5.35-.01-3.56-.09-7.12-.27-10.67-.1-2.04-.16-4.16-.57-6.18 3.3-.78 6.72-1.36 10.1-1.1 1.85.14 4.23.59 5.32 2.29.92 1.43.46 3.24-.26 4.65Zm.85-.18c.6-1.37.9-2.92.28-4.32-.67-1.52-2.2-2.32-3.76-2.74.46.1.89.21 1.29.37 1.74.67 2.69 1.88 2.93 3.21.2 1.13-.05 2.25-.74 3.47V70Zm-27.47-4.14c-.12-.19-.23-.38-.34-.57.74.42.85.36.99.41v.08c-.22.03-.43.06-.65.08Zm11.21 30.46c-.08 1.08-.16 2.17-.33 3.24-.05.35-.11.69-.2 1.03 0 .04-.02.07-.03.11-.15.02-.3.04-.45.05.45-1.64.76-3.36.79-5.07.03-.29.08-.57.1-.89-.03-.31-.03-.47.24-.57-.04.69-.07 1.39-.12 2.08v.02Zm5.6-2.47c.48.11.92.52 2.49 1.72-.46-.32-.92-.65-1.38-.97-.37-.25-.73-.5-1.1-.75h-.01Zm21.23 7.24a70.76 70.76 0 0 1-4.37 4.63c-.14-.09-.27-.19-.4-.28.19-.09.37-.24.55-.47.87-1.14 5.43-5.51 5.49-7.45.31.26.62.53.92.79-.67.97-1.42 1.88-2.19 2.77v.01Z",fill:"currentColor",transform:"translate(-144.023 -51.76)"})]}),ky=({style:a,size:b="small",withText:c})=>(0,e.jsxs)("div",{className:`ExcalidrawLogo is-${b}`,style:a,children:[(0,e.jsx)(kw,{}),c&&(0,e.jsx)(kx,{})]}),kz=({icon:a,shortcut:b,children:c})=>{let d=kb();return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"welcome-screen-menu-item__icon",children:a}),(0,e.jsx)("div",{className:"welcome-screen-menu-item__text",children:c}),b&&!d.editor.isMobile&&(0,e.jsx)("div",{className:"welcome-screen-menu-item__shortcut",children:b})]})};kz.displayName="WelcomeScreenMenuItemContent";var kA=({onSelect:a,children:b,icon:c,shortcut:d,className:f="",...g})=>(0,e.jsx)("button",{...g,type:"button",className:`welcome-screen-menu-item ${f}`,onClick:a,children:(0,e.jsx)(kz,{icon:c,shortcut:d,children:b})});kA.displayName="WelcomeScreenMenuItem";var kB=({children:a,href:b,icon:c,shortcut:d,className:f="",...g})=>(0,e.jsx)("a",{...g,className:`welcome-screen-menu-item ${f}`,href:b,target:"_blank",rel:"noreferrer",children:(0,e.jsx)(kz,{icon:c,shortcut:d,children:a})});kB.displayName="WelcomeScreenMenuItemLink";var kC=({children:a})=>{let{WelcomeScreenCenterTunnel:b}=L.default.useContext(gr);return(0,e.jsx)(b.In,{children:(0,e.jsx)("div",{className:"welcome-screen-center",children:a||(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(kD,{}),(0,e.jsx)(kE,{children:c8("welcomeScreen.defaults.center_heading")}),(0,e.jsxs)(kF,{children:[(0,e.jsx)(kH,{}),(0,e.jsx)(kG,{})]})]})})})};kC.displayName="Center";var kD=({children:a})=>(0,e.jsx)("div",{className:"welcome-screen-center__logo excalifont welcome-screen-decor",children:a||(0,e.jsx)(ky,{withText:!0})});kD.displayName="Logo";var kE=({children:a})=>(0,e.jsx)("div",{className:"welcome-screen-center__heading welcome-screen-decor excalifont",children:a});kE.displayName="Heading";var kF=({children:a})=>(0,e.jsx)("div",{className:"welcome-screen-menu",children:a});kF.displayName="Menu";var kG=()=>{let a=kg();return(0,e.jsx)(kA,{onSelect:()=>a.executeAction(eV),shortcut:"?",icon:F.Bd,children:c8("helpDialog.title")})};kG.displayName="MenuItemHelp";var kH=()=>{let a=L.default.useContext(dN),b=kg();return a.viewModeEnabled?null:(0,e.jsx)(kA,{onSelect:()=>b.executeAction(eQ),shortcut:gm("loadScene"),icon:F.Ld,children:c8("buttons.load")})};kH.displayName="MenuItemLoadScene";var kI=({onSelect:a})=>{let{t:b}=da();return(0,e.jsx)(kA,{shortcut:null,onSelect:a,icon:F.fe,children:b("labels.liveCollaboration")})};kI.displayName="MenuItemLiveCollaborationTrigger",kC.Logo=kD,kC.Heading=kE,kC.Menu=kF,kC.MenuItem=kA,kC.MenuItemLink=kB,kC.MenuItemHelp=kG,kC.MenuItemLoadScene=kH,kC.MenuItemLiveCollaborationTrigger=kI;var kJ=({children:a})=>{let{WelcomeScreenMenuHintTunnel:b}=L.default.useContext(gr);return(0,e.jsx)(b.In,{children:(0,e.jsxs)("div",{className:"excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--menu",children:[F.ld,(0,e.jsx)("div",{className:"welcome-screen-decor-hint__label",children:a||c8("welcomeScreen.defaults.menuHint")})]})})};kJ.displayName="MenuHint";var kK=({children:a})=>{let{WelcomeScreenToolbarHintTunnel:b}=L.default.useContext(gr);return(0,e.jsx)(b.In,{children:(0,e.jsxs)("div",{className:"excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--toolbar",children:[(0,e.jsx)("div",{className:"welcome-screen-decor-hint__label",children:a||c8("welcomeScreen.defaults.toolbarHint")}),F.nd]})})};kK.displayName="ToolbarHint";var kL=({children:a})=>{let{WelcomeScreenHelpHintTunnel:b}=L.default.useContext(gr);return(0,e.jsx)(b.In,{children:(0,e.jsxs)("div",{className:"excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--help",children:[(0,e.jsx)("div",{children:a||c8("welcomeScreen.defaults.helpHint")}),F.md]})})};kL.displayName="HelpHint";var kM=a=>(0,e.jsx)(e.Fragment,{children:a.children||(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(kC,{}),(0,e.jsx)(kJ,{}),(0,e.jsx)(kK,{}),(0,e.jsx)(kL,{})]})});kM.displayName="WelcomeScreen",kM.Center=kC,kM.Hints={MenuHint:kJ,ToolbarHint:kK,HelpHint:kL},(0,bO.default)((a,b,c)=>{if(H.a.DEV||H.a.MODE===F.D.TEST||window?.DEBUG_FRACTIONAL_INDICES){let d=(0,F.Nj)(a.map(a=>({...a})));(0,F.Kj)(d,{shouldThrow:H.a.DEV||H.a.MODE===F.D.TEST,includeBoundTextValidation:!0,reconciliationContext:{localElements:b,remoteElements:c}})}},6e4,{leading:!0,trailing:!1}),Array.prototype.at||Object.defineProperty(Array.prototype,"at",{value:function(a){if((a=Math.trunc(a)||0)<0&&(a+=this.length),!(a<0||a>=this.length))return this[a]},writable:!0,enumerable:!1,configurable:!0}),Element.prototype.replaceChildren||(Element.prototype.replaceChildren=function(...a){this.innerHTML="",this.append(...a)}),L.default.memo(b=>{let{onChange:c,initialData:d,excalidrawAPI:f,isCollaborating:g=!1,onPointerUpdate:h,renderTopRightUI:i,langCode:j=c1.code,viewModeEnabled:k,zenModeEnabled:l,gridModeEnabled:m,libraryReturnUrl:n,theme:o,name:p,renderCustomStats:q,onPaste:r,detectScroll:s=!0,handleKeyboardGlobally:t=!1,onLibraryChange:u,autoFocus:v=!1,generateIdForFile:w,onLinkOpen:x,generateLinkForSelection:y,onPointerDown:z,onPointerUp:A,onScrollChange:B,onDuplicate:C,children:D,validateEmbeddable:E,renderEmbeddable:G,aiEnabled:H,showDeprecatedFonts:I}=b,J=b.UIOptions?.canvasActions,K={...b.UIOptions,canvasActions:{...F.ga.canvasActions,...J},tools:{image:b.UIOptions?.tools?.image??!0}};return J?.export&&(K.canvasActions.export.saveFileToDisk=J.export?.saveFileToDisk??F.ga.canvasActions.export.saveFileToDisk),null===K.canvasActions.toggleTheme&&typeof o>"u"&&(K.canvasActions.toggleTheme=!0),(0,L.useEffect)(()=>{(async()=>{await a.A(762213)})();let b=a=>{"number"==typeof a.scale&&1!==a.scale&&a.preventDefault()};return document.addEventListener("touchmove",b,{passive:!1}),()=>{document.removeEventListener("touchmove",b)}},[]),(0,e.jsx)(c$,{store:c_,children:(0,e.jsx)(dd,{langCode:j,theme:o,children:(0,e.jsx)(kv,{onChange:c,initialData:d,excalidrawAPI:f,isCollaborating:g,onPointerUpdate:h,renderTopRightUI:i,langCode:j,viewModeEnabled:k,zenModeEnabled:l,gridModeEnabled:m,libraryReturnUrl:n,theme:o,name:p,renderCustomStats:q,UIOptions:K,onPaste:r,detectScroll:s,handleKeyboardGlobally:t,onLibraryChange:u,autoFocus:v,generateIdForFile:w,onLinkOpen:x,generateLinkForSelection:y,onPointerDown:z,onPointerUp:A,onScrollChange:B,onDuplicate:C,validateEmbeddable:E,renderEmbeddable:G,aiEnabled:!1!==H,showDeprecatedFonts:I,children:D})})})},(a,b)=>{if(a.children!==b.children)return!1;let{initialData:c,UIOptions:d={},...e}=a,{initialData:f,UIOptions:g={},...h}=b,i=Object.keys(d),j=Object.keys(g);return i.length===j.length&&i.every(a=>"canvasActions"===a?Object.keys(d.canvasActions).every(a=>"export"===a&&d?.canvasActions?.export&&g?.canvasActions?.export?d.canvasActions.export.saveFileToDisk===g.canvasActions.export.saveFileToDisk:d?.canvasActions?.[a]===g?.canvasActions?.[a]):d[a]===g[a])&&(0,F.Hb)(e,h)}).displayName="Excalidraw";var kN=a.i(203604),kO=a.i(304692);let kP=(0,D.default)(async()=>{},{loadableGenerated:{modules:[743771]},ssr:!1,loading:()=>(0,e.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"Loading canvas…"})});function kQ(a){if(null===a)throw Error("Canvas file could not be loaded.");if(""===a.trim())return{elements:[]};let b=JSON.parse(a);if(!b||"object"!=typeof b||!Array.isArray(b.elements))throw Error("Canvas JSON must contain an elements array.");return b}function kR(a){let b={...a};return delete b.theme,delete b.scrollX,delete b.scrollY,delete b.zoom,delete b.selectedElementIds,delete b.editingElement,delete b.resizingElement,delete b.newElement,delete b.multiElement,delete b.selectionElement,b}function kS(a){let b=JSON.parse((0,F.Jh)(a.elements,a.appState??{},a.files??{},"database"));return b.appState&&(b.appState=kR(b.appState)),a.files&&Object.keys(a.files).length>0&&(b.files=a.files),JSON.stringify(b,null,2)}function kT({content:a,initialSha:b,path:c,title:d,readOnly:f=!1}){let g="u">typeof document&&document.documentElement.classList.contains("dark")?"dark":"light",h=(0,m.useMemo)(()=>{try{let b=kQ(a);return{value:b,normalized:kS(b),error:null}}catch(a){return{value:null,normalized:"",error:a instanceof Error?a.message:"Invalid canvas JSON."}}},[a]),[i,j]=(0,m.useState)(null),k=(0,m.useRef)(null),[l,n]=(0,m.useState)(h.normalized),p=(0,m.useRef)(h.normalized),[q,r]=(0,m.useState)(b),s=(0,m.useRef)(b),[t,u]=(0,m.useState)(null),[v,w]=(0,m.useState)(null),x=(0,m.useRef)(null),y=(0,m.useRef)(!1),z=(0,m.useRef)(!1),A=(0,m.useRef)(()=>{});(0,m.useEffect)(()=>{n(h.normalized),p.current=h.normalized,r(b),s.current=b},[b,h.normalized]);let B=(0,m.useCallback)(async()=>{let a=k.current;if(a){if(y.current){z.current=!0;return}y.current=!0,u("saving"),w(null);try{let b=(0,F.Jh)(a.getSceneElements(),a.getAppState(),a.getFiles(),"database"),d=JSON.parse(b);d.appState&&(d.appState=kR(d.appState));let e=a.getFiles();Object.keys(e).length>0&&(d.files=e);let f=JSON.stringify(d,null,2);if(f===p.current)return void u("saved");let g=await (0,kO.wsFetch)("/api/wiki/content",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:c,content:f,baseSha:s.current})});if(g.ok){let a=await g.json();p.current=f,n(f),s.current=a.sha??s.current,r(s.current),u("saved");return}let h=await g.json();if(409===g.status&&"STALE_SHA"===h.error){let b=await (0,kO.wsFetch)(`/api/wiki/content?path=${encodeURIComponent(c)}`);if(!b.ok)throw Error("Could not reload canvas after conflict.");let d=await b.json(),e=kQ(d.content),f=kS(e);a.updateScene({elements:e.elements,appState:kR(e.appState??{})}),e.files&&a.addFiles(Object.values(e.files)),p.current=f,n(f),s.current=b.headers.get("X-Wiki-Sha256"),r(s.current),u("reloaded");return}throw Error(h.error??"Save failed")}catch(a){w(a instanceof Error?a.message:"Save failed"),u("error")}finally{y.current=!1,z.current&&(z.current=!1,x.current=setTimeout(()=>{x.current=null,A.current()},800))}}},[c]);A.current=B;let C=(0,m.useCallback)(()=>{x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{x.current=null,B()},800)},[B]);return(0,m.useEffect)(()=>()=>{x.current&&(clearTimeout(x.current),x.current=null,A.current())},[]),(0,e.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,e.jsx)(kN.ViewerToolbar,{path:c,badge:"CANVAS",children:(0,e.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground",children:[(0,e.jsx)(E.PencilRuler,{className:"h-3.5 w-3.5 text-violet-500"}),f?"Read-only":"saving"===t?"Saving…":"saved"===t?"Saved":"reloaded"===t?"Reloaded":"Editable"]})}),h.error?(0,e.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-3 p-8 text-center",children:[(0,e.jsx)(E.PencilRuler,{className:"h-10 w-10 text-destructive"}),(0,e.jsx)("p",{className:"font-medium text-destructive",children:"Could not render canvas"}),(0,e.jsx)("p",{className:"max-w-lg text-sm text-muted-foreground",children:h.error}),(0,e.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>window.location.reload(),children:"Reload"})]}):(0,e.jsxs)("div",{className:"min-h-0 flex-1 bg-background",children:[(0,e.jsx)(kP,{initialData:h.value,excalidrawAPI:a=>{k.current=a,j(a)},onChange:()=>{!f&&i&&C()},viewModeEnabled:f,theme:g,name:d,autoFocus:!1}),v&&(0,e.jsx)("p",{className:"px-3 py-1 text-xs text-destructive",children:v})]})]})}var kU=a.i(260246);function kV(a){let b=a.lastIndexOf(".");return b<0?"":a.slice(b+1).toLowerCase()}function kW(a){let b=kV(a);return["md","markdown"].includes(b)?"markdown":"excalidraw"===b?"canvas":["csv","tsv"].includes(b)?"csv":["pdf"].includes(b)?"pdf":["html","htm"].includes(b)?"html":["png","jpg","jpeg","gif","webp","svg","avif","ico","bmp"].includes(b)?"image":["mp4","webm","mov","m4v","mp3","wav","ogg","m4a","aac"].includes(b)?"media":["txt","log","ini","env","conf"].includes(b)?"text":["py","js","ts","tsx","jsx","go","rs","java","c","cpp","h","sh","bash","zsh","rb","php","swift","kt","lua","sql","yaml","yml","toml","json","xml","css","scss","mmd","mermaid"].includes(b)?"source":"binary"}function kX({content:a,filename:b,filePath:c,token:d}){switch(kW(b)){case"markdown":return(0,e.jsx)(kY,{content:a});case"canvas":return(0,e.jsx)(kT,{content:a,initialSha:null,path:c,title:b,readOnly:!0});case"image":return(0,e.jsx)(kZ,{filename:b,token:d});case"pdf":return(0,e.jsx)(k$,{filename:b,token:d});case"media":return(0,e.jsx)(k_,{filename:b,token:d});case"html":return(0,e.jsx)(k0,{content:a,filename:b});case"csv":return(0,e.jsx)(k2,{content:a});case"source":case"text":return(0,e.jsx)(k1,{content:a,filename:b});case"binary":return(0,e.jsx)(k3,{filename:b,token:d})}}function kY({content:a}){let[b,c]=(0,m.useState)("");return(0,m.useEffect)(()=>{let b=!1;return(0,kU.markdownToHtml)(a,{sanitize:!0}).then(a=>{b||c(a)}),()=>{b=!0}},[a]),(0,e.jsx)("div",{className:"flex-1 overflow-auto",children:(0,e.jsx)("div",{className:"mx-auto max-w-4xl px-4 py-8 prose prose-neutral dark:prose-invert",children:(0,e.jsx)("div",{dangerouslySetInnerHTML:{__html:b}})})})}function kZ({filename:a,token:b}){let c=(0,n.apiUrl)(`/api/share/${b}/asset`);return(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center p-8 bg-[repeating-conic-gradient(hsl(var(--muted))_0%_25%,transparent_0%_50%)] bg-[length:20px_20px]",children:(0,e.jsx)("img",{src:c,alt:a,className:"max-w-full max-h-[80vh] object-contain rounded-sm"})})}function k$({filename:a,token:b}){let c=(0,n.apiUrl)(`/api/share/${b}/asset`);return(0,e.jsx)("div",{className:"flex-1 flex flex-col min-h-0",children:(0,e.jsx)("iframe",{src:c,title:a,className:"flex-1 w-full border-0",style:{minHeight:"80vh"}})})}function k_({filename:a,token:b}){let c=(0,n.apiUrl)(`/api/share/${b}/asset`),d=["mp4","webm","mov","m4v"].includes(kV(a));return(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center p-8",children:d?(0,e.jsx)("video",{controls:!0,className:"max-w-full max-h-[80vh] rounded-sm",src:c}):(0,e.jsxs)("div",{className:"w-full max-w-md",children:[(0,e.jsx)("audio",{controls:!0,className:"w-full",src:c}),(0,e.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-3",children:a})]})})}function k0({content:a,filename:b}){let[c,d]=(0,m.useState)(!1);return(0,e.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[(0,e.jsx)("div",{className:"flex items-center justify-end gap-2 px-4 py-2 border-b bg-muted/30",children:(0,e.jsx)(o.Button,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>d(a=>!a),children:c?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(C.Ban,{className:"h-3.5 w-3.5"}),"Disable scripts"]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(B.Play,{className:"h-3.5 w-3.5"}),"Enable scripts"]})})}),(0,e.jsx)("iframe",{srcDoc:a,title:b,className:"flex-1 w-full border-0 bg-white",style:{minHeight:"80vh"},sandbox:c?"allow-scripts allow-forms allow-popups allow-top-navigation-by-user-activation":"allow-forms allow-popups allow-top-navigation-by-user-activation"},c?"scripts-on":"scripts-off")]})}function k1({content:a,filename:b}){let c=a.split("\n"),d=c.length,[f,g]=(0,m.useState)(d<=500),h=f?c:c.slice(0,500);return(0,e.jsx)("div",{className:"flex-1 overflow-auto",children:(0,e.jsxs)("div",{className:"mx-auto max-w-4xl",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b bg-muted/30",children:[(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:b}),(0,e.jsxs)("span",{className:"text-xs text-muted-foreground",children:[d.toLocaleString()," lines"]})]}),(0,e.jsx)("pre",{className:"text-[13px] font-mono leading-relaxed",children:(0,e.jsx)("table",{className:"w-full border-collapse",children:(0,e.jsx)("tbody",{children:h.map((a,b)=>(0,e.jsxs)("tr",{className:"hover:bg-muted/50",children:[(0,e.jsx)("td",{className:"select-none text-right pr-4 pl-4 py-0 text-muted-foreground/50 text-xs w-[1%] whitespace-nowrap align-top",children:b+1}),(0,e.jsx)("td",{className:"pr-4 py-0 whitespace-pre-wrap break-all",children:a||" "})]},b))})})}),!f&&d>500&&(0,e.jsx)("div",{className:"flex justify-center py-4 border-t",children:(0,e.jsxs)(o.Button,{size:"sm",variant:"ghost",onClick:()=>g(!0),children:["Show all ",d.toLocaleString()," lines"]})})]})})}function k2({content:a}){let b=(0,m.useMemo)(()=>a.split("\n").filter(Boolean).map(a=>{let b=[],c="",d=!1;for(let e=0;e<a.length;e++){let f=a[e];'"'===f?d=!d:","!==f&&" "!==f||d?c+=f:(b.push(c.trim()),c="")}return b.push(c.trim()),b}),[a]);if(0===b.length)return null;let c=b[0],d=b.slice(1);return(0,e.jsx)("div",{className:"flex-1 overflow-auto",children:(0,e.jsx)("div",{className:"mx-auto max-w-6xl p-4",children:(0,e.jsxs)("table",{className:"w-full text-sm border-collapse",children:[(0,e.jsx)("thead",{children:(0,e.jsx)("tr",{children:c.map((a,b)=>(0,e.jsx)("th",{className:"text-left px-3 py-2 border-b-2 border-border font-medium bg-muted/50 whitespace-nowrap",children:a},b))})}),(0,e.jsx)("tbody",{children:d.map((a,b)=>(0,e.jsx)("tr",{className:"hover:bg-muted/30",children:a.map((a,b)=>(0,e.jsx)("td",{className:"px-3 py-1.5 border-b border-border/50 whitespace-nowrap",children:a},b))},b))})]})})})}function k3({filename:a,token:b}){let c=(0,n.apiUrl)(`/api/share/${b}/asset`);return(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 p-8",children:[(0,e.jsx)(j.FileText,{className:"h-12 w-12 text-muted-foreground"}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:a}),(0,e.jsx)("a",{href:c,download:a,children:(0,e.jsxs)(o.Button,{size:"sm",variant:"outline",className:"gap-1.5",children:[(0,e.jsx)(A.Download,{className:"h-3.5 w-3.5"}),"Download file"]})})]})}a.s(["default",0,function({params:a}){let[b,c]=(0,m.useState)(null),[d,s]=(0,m.useState)({kind:"loading"}),[t,u]=(0,m.useState)(""),[w,x]=(0,m.useState)(!1),[y,A]=(0,m.useState)(!1),[B,C]=(0,m.useState)(null),D="content"===d.kind?kW(d.filename):"markdown",E=["markdown","source","text","csv","html"].includes(D),F=a=>{C(a),setTimeout(()=>C(null),2e3)},G=async()=>{if("content"===d.kind)try{await navigator.clipboard.writeText(d.content),F("raw")}catch{}},H=(0,m.useCallback)(async()=>{if(b){s({kind:"loading"});try{let a=await fetch((0,n.apiUrl)(`/api/share/${b}`)),c=await a.json();a.ok&&"string"==typeof c.content?s({kind:"content",content:c.content,filename:String(c.filename??"document"),filePath:String(c.filePath??c.filename??"document"),viewCount:"number"==typeof c.viewCount?c.viewCount:0}):401===a.status&&c.protected?s({kind:"password",message:String(c.message??"")}):410===a.status?s({kind:"error",title:"Link unavailable",message:String(c.message??"This share link is no longer available.")}):404===a.status?s({kind:"error",title:"Not found",message:"This share link does not exist."}):s({kind:"error",title:"Error",message:String(c.message??"Something went wrong. Try again later.")})}catch{s({kind:"error",title:"Connection error",message:"Could not reach the server. Check your connection."})}}},[b]);(0,m.useEffect)(()=>{a.then(a=>c(a.token))},[a]),(0,m.useEffect)(()=>{b&&H()},[b,H]);let I=async a=>{if(a.preventDefault(),t.trim()&&b){x(!0),A(!1);try{let a=await fetch((0,n.apiUrl)(`/api/share/${b}`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:t.trim()})}),c=await a.json();a.ok&&"string"==typeof c.content?s({kind:"content",content:c.content,filename:String(c.filename??"document"),filePath:String(c.filePath??c.filename??"document"),viewCount:"number"==typeof c.viewCount?c.viewCount:0}):403===a.status?(A(!0),s({kind:"password",message:"Incorrect password"})):429===a.status?s({kind:"password",message:"Too many attempts. Try again later."}):s({kind:"error",title:"Error",message:String(c.message??"Something went wrong.")})}catch{s({kind:"error",title:"Connection error",message:"Could not reach the server."})}x(!1)}};return(0,e.jsx)(r.ThemeProvider,{children:(0,e.jsxs)("div",{className:"min-h-screen flex flex-col bg-background text-foreground",children:[(0,e.jsx)("header",{className:"border-b border-border bg-muted/50",children:(0,e.jsx)("div",{className:"mx-auto flex max-w-4xl items-center gap-2 px-4 py-2",children:"content"===d.kind?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,e.jsx)("span",{className:"h-2 w-2 rounded-full bg-success shrink-0"}),(0,e.jsx)("span",{className:"text-sm truncate",title:d.filename,children:d.filename})]}),(0,e.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,e.jsxs)(o.Button,{size:"sm",variant:"ghost",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>{b&&(navigator.clipboard.writeText(`${window.location.origin}/s/${b}`),F("link"))},title:"Copy share link",children:["link"===B?(0,e.jsx)(l.Check,{className:"h-3.5 w-3.5 text-success"}):(0,e.jsx)(k.Copy,{className:"h-3.5 w-3.5"}),"Link"]}),E&&(0,e.jsxs)(o.Button,{size:"sm",variant:"ghost",className:"h-7 gap-1.5 px-2 text-xs",onClick:G,title:"Copy raw content",children:["raw"===B?(0,e.jsx)(l.Check,{className:"h-3.5 w-3.5 text-success"}):(0,e.jsx)(j.FileText,{className:"h-3.5 w-3.5"}),"Raw"]}),"markdown"===D&&(0,e.jsx)(v,{}),(0,e.jsx)(z,{}),(0,e.jsxs)("span",{className:"text-xs text-muted-foreground ml-2",children:[d.viewCount," view",1!==d.viewCount?"s":""]})]})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(g.Eye,{className:"h-4 w-4 text-muted-foreground"}),(0,e.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Shared document"})]})})}),"loading"===d.kind&&(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,e.jsx)(i.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}),"password"===d.kind&&(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center px-4",children:(0,e.jsx)(q.Card,{className:"max-w-sm w-full p-6",children:(0,e.jsxs)("div",{className:"flex flex-col items-center gap-4 text-center",children:[(0,e.jsx)("div",{className:"rounded-full bg-muted p-3",children:(0,e.jsx)(h.Lock,{className:"h-6 w-6 text-muted-foreground"})}),(0,e.jsxs)("div",{className:"space-y-1",children:[(0,e.jsx)("h1",{className:"text-base font-medium",children:"Password required"}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:d.message||"This document is password-protected."})]}),(0,e.jsxs)("form",{onSubmit:I,className:"w-full space-y-3",children:[(0,e.jsx)(p.Input,{type:"password",placeholder:"Enter password",value:t,onChange:a=>{u(a.target.value),A(!1)},autoFocus:!0}),y&&(0,e.jsxs)("p",{className:"text-xs text-destructive flex items-center gap-1",children:[(0,e.jsx)(f.AlertCircle,{className:"h-3 w-3"}),"Wrong password. Try again."]}),(0,e.jsx)(o.Button,{type:"submit",className:"w-full",disabled:w||!t.trim(),children:w?(0,e.jsx)(i.Loader2,{className:"h-4 w-4 animate-spin"}):"View document"})]})]})})}),"error"===d.kind&&(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 px-4 text-center",children:[(0,e.jsx)("div",{className:"rounded-full bg-muted p-3",children:(0,e.jsx)(f.AlertCircle,{className:"h-6 w-6 text-muted-foreground"})}),(0,e.jsxs)("div",{className:"space-y-1",children:[(0,e.jsx)("h1",{className:"text-base font-medium",children:d.title}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:d.message})]})]}),"content"===d.kind&&(0,e.jsx)(kX,{content:d.content,filename:d.filename,filePath:d.filePath,token:b}),"content"===d.kind&&(0,e.jsx)("footer",{className:"border-t border-border bg-muted/30",children:(0,e.jsxs)("div",{className:"mx-auto flex max-w-4xl items-center gap-2 px-4 py-2",children:[(0,e.jsx)(j.FileText,{className:"h-3 w-3 text-muted-foreground"}),(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:d.filename})]})})]})})}],973220)}];
|
|
109
109
|
|
|
110
110
|
//# sourceMappingURL=_0sr4wj.._.js.map
|